Datablocks can't be duplicated everywhere, because trick with fake user no longer works #65589

Open
opened 2019-06-07 07:56:12 +02:00 by david mcsween · 23 comments

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: 9bae9b634e
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}

**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: `9bae9b634e` 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](https://archive.blender.org/developer/F7091277/broken_MCE_clip_users.blend)}
Author

Added subscriber: @davidmcsween

Added subscriber: @davidmcsween

#65997 was marked as duplicate of this issue

#65997 was marked as duplicate of this issue
Author

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.

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.

Added subscriber: @sebastian_k

Added subscriber: @sebastian_k
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

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...]

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.

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.
Member

Added subscriber: @mont29

Added subscriber: @mont29
Member

@mont29: have an opinion?

@mont29: have an opinion?
Philipp Oeser changed title 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) 2019-06-07 22:44:36 +02:00

Added subscriber: @WilliamReynish

Added subscriber: @WilliamReynish

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 @WilliamReynish & 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. ;)

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 @WilliamReynish & 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.

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.

@WilliamReynish 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.

@WilliamReynish 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.

@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.

@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: f2132b0237 (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?

It certainly is an intentional change… had to git blame to find it: f2132b0237 (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 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.

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.
Author

In #65589#697042, @lichtwerk wrote:
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.

> In #65589#697042, @lichtwerk wrote: > 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.
William Reynish was assigned by Sebastian Parborg 2019-06-14 11:49:55 +02:00
Brecht Van Lommel changed title 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 2019-06-21 16:40:46 +02:00

Added subscriber: @OliverVillar

Added subscriber: @OliverVillar

Added subscriber: @RainerTrummer

Added subscriber: @RainerTrummer

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.

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.
William Reynish was unassigned by Dalai Felinto 2019-12-23 16:34:09 +01:00

Think that would fit perfectly in the idea of 'context' menu in ID template widget…

Think that would fit perfectly in the idea of 'context' menu in ID template widget…

@mont29 yes, let’s move all these buttons into a drop down menu so we can keep expanding it with options.

@mont29 yes, let’s move all these buttons into a drop down menu so we can keep expanding it with options.
Philipp Oeser removed the
Interest
User Interface
label 2023-02-10 09:25:45 +01:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
8 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#65589
No description provided.