-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Effect/instrument window positions are not saved #7842
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
Comments
My guess is that since the tracks are being deleted even when reopening projects, the windows will have to be closed and deleted as well (not hidden). The Song Editor and Piano Roll persist because they do not have to be closed between sessions as they are not session specific. For example, ...
displayInitProgress(tr("Preparing piano roll"));
m_pianoRoll = new PianoRollWindow();
connect(m_pianoRoll, SIGNAL(destroyed(QObject*)), this, SLOT(childDestroyed(QObject*))); |
That being said, I don't think this is an issue worth fixing, because then that would mean the windows should not be closed and deleted, and the tracks can't get deleted as well. People would expect reloading the project to close and clear out everything, and then load it in again. |
Oh, I see what the idea is now. You want to save window positioning state as well as the actual state of the tracks.
I don't think this is a good idea because it wouldn't work when opening a project with different computers that have different displays. For example, if one project stored on one computer had a certain resolution, and you opened the project with a different computer on a different resolution, you would have to scale that window position to match the new display, which will involve storing the state of the resolution of the other monitor. Projects should not depend on storing this kind of state as its quite unorthodox and possibly error-prone. |
I was thinking the state of the windows would be stored in a similar way as the piano roll and the other editors, either as attributes to the instrument/effect nodes, or as separate nodes.
That way the windows would all still get reloaded when you load a project.
I guess that might be true... but isn't that how the piano roll, automation editor, projects notes etc. work currently? Since only the position and size of the editor windows are saved, I think if you open a project on a bigger screen they would be in different places (?) |
I wasn't aware we are actually already doing something like this... |
The coordinates could be completely invalid/out of bounds when opening the project on a different monitor. If we don't properly handle this, why are we doing it? |
Maybe if we store relative coordinates instead of absolute screen coordinates, the problem would be solved, but that's possibly going into the territory of a separate issue entirely. They would also have to be stored separate from |
System Information
Arch Linux, GNOME
LMMS Version(s)
master
Most Recent Working Version
No response
Bug Summary
If you open any instrument/effect control windows, move them around, and then save the project, when you reopen the project the effect windows will all be closed. And when you go to reopen them, they do not appear in the same place.
This is in contrast to the default windows, such as the Song Editor or the Piano Roll, which keep their position between sessions.
Expected Behaviour
When saving a project, the position and visibility of all windows should be saved.
Steps To Reproduce
Logs
Screenshots / Minimum Reproducible Project
No response
Please search the issue tracker for existing bug reports before submitting your own.
The text was updated successfully, but these errors were encountered: