-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Fix lost connections when restoring automation clip #7002
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested, fix confirmed!
Do projects with a lot of automation still load correctly after this change? It looks like this may resolve IDs too early, so automation clips connected to objects which have not yet been loaded may never be reconnected. |
I've tested the bigger projects like Greippi - Krem Kaakkuja, and EsoXLB - CPU They seem to open correctly. |
resolveAllIDs gets run for every single restored clip so this shouldn't be a problem, but there is a chance it gets called unnecessarily |
This should make resolveAllIDs run only once for 1 automation track loading (not a perfect solution). |
Here is an example project that doesn't load properly with this change. It contains an automation clip that is connected to a knob in a later track. When IDs are resolved after loading the automation track, the target knob doesn't yet exist, so the automation isn't reconnected.
|
I thought about that and to me It looked out of place. In |
5e70015
to
2122138
Compare
I think I managed to move the |
Automation and undo history are some of the uglier bits of LMMS, so where the two intersect, you'll unfortunately have nasty things like this. We want to improve them, but it's a lot of work, there are lots of other things to do, and there's only so much contributor time to go around.
I'm not sure whether it's worth checking at all, but if you do want to check, have a look at |
implemented, tested it with your example project (and others), should I re request a review? |
This PR has conflicts with master. |
I can not see conflicts. I will mark this as resolved (if you agree). |
The PR can't actually be merged as it is though. The merge button is greyed out on my side. |
I will resolve the 0 conflicts. I don't know why git is confused, I eventually deleted all the changes in |
Git is happy now. |
From the comments, looks like it was supposed to be merged last month. |
No. It's awaiting a re-review from Dom. |
this fixes #6829
Now when undeleting an automation clip, it's connections shouldn't be lost.