Page MenuHome

Datablocks can't be duplicated everywhere, because trick with fake user no longer works
Open, Confirmed, MediumPublic

Description

System Information
Operating system: Windows-10-10.0.17134 64 Bits
Graphics card: Intel(R) HD Graphics 4600 Intel 4.3.0 - Build 20.19.15.4454

Blender Version
Broken: version: 2.80 (sub 72), branch: blender2.7, commit date: 2019-05-28 21:07, hash: rB9bae9b634ec6
Worked: (optional) 2.79b

Short description of error
The MCE or tracker, should allow you to duplicate the clip asset so that you can attach other tracker bundles. In 2.8 it does not allow you to create more instances.

However I was able to make a duplicate of a Movie Clip which is reflected in its datablock. I opened a legacy tracking project from 2.79b. It had some duplicated clips already. Once this function (multiple instances) is activated I am able to duplicate them more by using the counter buton next to the Clip name in the MCE.

Exact steps for others to reproduce the error
[Please describe the exact steps needed to reproduce the issue] Make a project in 2.79 with multiple instances of a Movie Clip then open it in 2.8. The number indicator appears. Otherwise opening a movie clip in 2.8 it does not.
[Based on the default startup or an attached .blend file (as simple as possible)] Find the .blend of a project with extra Movie Clip instances attached{F7091277}

Details

Type
Bug

Event Timeline

I would expect that a Unique copy of a Movie Clip should create a copy of the previous Clip's trackers so that you can delete and create new tracking bundles, without affecting the old ones on the other clip.

Philipp Oeser (lichtwerk) triaged this task as Needs Information from User priority.

Just to make sure I understand correctly:

In 2.79 you would do this:

  • open a clip
  • turn on fake user (2 users appear)
  • click the "2" to make a single user copy
  • now you have two copies

In 2.8:

  • open a clip
  • turn on fake user (the 2 users thingie does not appear)
  • no way to make 2 copies of the clip

Or how did you get to have the multiple copies of the clip in 2.79?
Will set this to "Needs information from User" so it is clear what the workflow was in 2.79...

[note 1: looks like this difference between 2.79 and 2.8 is there for any datablock on which you turn on fake user (you dont get the 2 users button - even though in py it would report as having two users) -- this might even be a good thing since the fake user is not a "real" user -- need to check further...]

[note 2: of course as a workaround in 2.8 you could open another clip and set it to the same path as the first one, but I guess this is not what is expected here...]

Correct. I would expect that at least it would be possible to generate another unique datablock copy of a clip via the fake user. A more direct way to do it would be nice though, not only in clip but everywhere in Blender. Node Group has a similar problem, where there is no not clunky way to create a copy.

Philipp Oeser (lichtwerk) renamed this task from Movie Clip doesn't duplicate clip to Movie Clip doesn't duplicate clip (problem making single user copy from something that has a fake user in 2.8).Jun 7 2019, 10:43 PM
Philipp Oeser (lichtwerk) raised the priority of this task from Needs Information from User to Needs Triage by Developer.

No, I don’t really have an opinion here (don’t think hiding the 'fake user' usage from UI was ever my idea, I tend to dislike hiding too much of the dirty guts of an engine to its final user, in general…).

That said, this seems a very weird abuse of the system to use that 'feature' to copy an ID. Though I do realize we do not have a real proper copy ID feature currently (closest thing to it would be new copy/paste [also with ctrl-C/ctrl-V] of IDs in outliner…).

This is more of an UI topic really, how/where to add such 'copy ID' feature in our ID template, that’s for @William Reynish (billreynish) & UI mafia to sort out first I guess. Technically it’s pretty trivial to implement properly.

In any case, that would be for after 2.80 release now, imho. ;)

Afaik this is not an intentional change. For all normal IDs we still show the Fake User button, as well as the user count. Probably it’s just a bug that makes it not show here.

Later on, we can remove the Fake User button when all IDs are auto-saved, but even then I think we should keep the user count.

@William Reynish (billreynish) number button is hidden when there is only one user, and iirc, UI code was changed to show 'usercount-1' when Fake User is set (i.e. not consider FakeUser in user counter)? That is the issue here.

@Bastien Montagne (mont29) that has always been the case though? As far back as I can remember, IDs with a User count of 1 don’t show it.

It seems like this report is about the fact that the user count doesn’t show, even when users are > 1, which afaik is not an intentional change.

It certainly is an intentional change… had to git blame to find it: rBf2132b023734 (yeah, own commit even, given the date that was most certainly a post-BConf commit after some talk with someone :| ).

It’s dead easy to revert, but do we want to show again two users when FakeUser is enabled?

I think part of the problem is, that there is not really a second user, because the Scene doesn’t really “use” it. The thing is that in this case as well as in the case of Node Groups there is no obvious way to create a second user to begin with. So I would rather not make the user count hidden at all.

I would say Fake User is different than normal user. The UI doesn’t even use the F anymore, so to non-old-farts or developers it would not be obvious why enabling the shield icon (formerly know as F) would add a user. So, clicking the shield icon should not raise number.

Just to make sure I understand correctly:
...
[note 2: of course as a workaround in 2.8 you could open another clip and set it to the same path as the first one, but I guess this is not what is expected here...]

You cannot "open" the same clip as another unique instance, Blender treats it as the same entity and ignores the 'open' function. Ideally you should be able to create a full copy that you can remove the original tracking data from OR restart with a clean version of the media.

Sebastian Parborg (zeddb) triaged this task as Confirmed, Medium priority.
Brecht Van Lommel (brecht) renamed this task from Movie Clip doesn't duplicate clip (problem making single user copy from something that has a fake user in 2.8) to Datablocks can't be duplicated everywhere, because trick with fake user no longer works.

I'm also not a huge fan of hiding the existance of fake users in the UI. While I understand that it confuses new people (trying to avoid the term "new users" here for clarity's sake), it also "forces" them to learn about how Blender handles data in general, and what the concept of user counting is. A fake user IS a second user of a datablock, as long as there is something else referencing the datablock. Not showing that will all the more confuse all the other people who have learned about the user count system.