Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rotopaint error when working with multiple layers (SOLVED thanks Ivanohe73 & devernay) #420

Closed
RafaMartorell opened this issue Aug 8, 2019 · 10 comments

Comments

@RafaMartorell
Copy link

RafaMartorell commented Aug 8, 2019

Natron version 2.3.15
Problem working with the RotoPaint node
I create a project in which I only insert the rotopaint node
I make three independent strokes, so I have three layers
I give a different color to each stroke
I give each stroke a plot animation sequentially, one after the other
So far so good, but if I select the main layer (called default layer1) I lose the color changes and the aforementioned animations adopting the three layers the same animation and color
I enclose a very simple file with three layers, simply without selecting anything to reproduce to see the animation made, then select the main layer (layer1) and observe how the colors are all the same and the animation is mismatched.
To be sure that the cache is not showing us a false result, clean with Ctrl + Shift + K
Thank you
P.S. I hope that Frédéric Devernay is not offended, it is simply that if this tool worked well I could in the masters that I do animation recommend Natron for 2D animation do not cite this to bother anyone, it is that I am not allowed in the university that I work recommend applications that give known errors.
BugRotoPaint.ntp.zip

@Ivanohe73
Copy link

Thanks for the file and bug report. This is very similar than issue #205 but just selecting the layer is sufficient.
What I found is that when selecting the layer, some of the attribute of brush1 get copied all over the other component of the layer. (like if the layer itself gets its attribute from one of the children)

I dig a bit in the code of the Roto. I am not familiar with it but found that the problem seems to occurs when the code goes in :
RotoPanelPrivate::insertSelectionRecursively
that later call
RotoContext::selectInternal
and
thisKnob->cloneAndUpdateGui( it->get() )

This seems to override at some point the other brush under the layer.

@RafaMartorell
Copy link
Author

A real pleasure to try to help in the development and proper functioning of this magnificent application. I am an audiovisual technician specializing in FX but I know very little about programming, so beyond reporting errors I have no knowledge to help more.

@devernay
Copy link
Member

@RafaMartorell which system are you working on? which build exactly (see the about window)?
Does the bug also happen in the previous release?

@devernay
Copy link
Member

@Ivanohe73 if you could help with that bug, that would be great. Do you need some help compiling for debug / debugging or is everything ok?

@RafaMartorell
Copy link
Author

@devernay
What system are you working on? What compilation exactly (see the About window)?
AppImage
Natron-RB-2.3-201908070622-c2f9504-64-no-installer
About window
This software was compiled from the source code branch RB-2.3 at version c2f9504 using GNU C ++ version 9.1.0 with OpenMP 4.5 targeting Intel x86-64 for Linux.

Does the bug also happen in the previous release?
Yes, this bug was already present in versions 2.3.13, and 2.3.14

Sorry to be a newbie in the world of Github and my lack of programming knowledge.

@Ivanohe73
Copy link

@devernay : I also tested old linux portable release of Natron and it was present in v 2.2.3 and possibly 2.1.9 (I am in vacation and didn't have acces to the computer I install the old version, so not 100% sure of the numbering)

I will continue investigating once back. compiling and debuging work good. I am not familiar with Qt and the Roto Node so I will surely have some question if you know a bit about this

@Ivanohe73
Copy link

This is another file that I use to test potential fix : more than one level of layer.
test_layer.ntp.tar.gz

Ivanohe73 pushed a commit to Ivanohe73/Natron that referenced this issue Aug 22, 2019
(issues NatronGitHub#420 and NatronGitHub#205) :
* Prevent slaving knobs when the selection is a layer
* commented out (and add this explanation) an assert that
  popup in debug when creating 2 layers in a row
@Ivanohe73
Copy link

I have a potential fix for this issue and #205 here :

https://github.com/Ivanohe73/Natron/releases/tag/v2.3.15-rc7-roto

Linux build only.
@RafaMartorell : you may try this test release. I test with your file and some others and it seems fine.

@RafaMartorell
Copy link
Author

RafaMartorell commented Aug 22, 2019

I just tried it with the new version,
Natron 2.3.15 RC7 ROTO
Natron-rotopaint-201908221429-95d79c8-64-no-installer.tar.xz
NOW HERE SHOULD HAVE NOISE OF REDOBLAND DRUM
My most sincere congratulations, now it works perfectly. You have fixed it in a great way. Thank you very much, I was excited because this problem in the past gave me a lot of headaches. :-)
SOLVED
(Thanks Ivanohe73 & devernay)

@RafaMartorell RafaMartorell changed the title Rotopaint error when working with multiple layers Rotopaint error when working with multiple layers (SOLVED thanks Ivanohe73 & devernay) Aug 22, 2019
@RafaMartorell
Copy link
Author

@Ivanohe73 @devernay

AnimationMaker is a very interesting project that can be a perfect candidate to be an assistant for animated titles. The only drawback is that it does not support transparent background and export with transparency. Its author has been very attentive and pleasant. The problem is that I can test and report errors, but I don't know how to program. It would be good for someone to lend a hand with the alpha channel to this magnificent project.

Web:

https://artanidos.github.io/AnimationMaker/

Github:

https://github.com/Artanidos/AnimationMaker

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants