Fix drawing of ghost notes when detuning
Description
This pull request makes the detuning ghost notes actually be drawn in their proper position and size in the Automation Editor.
~~Additionally, when opening the Automation Editor for detuning, the default vertical zoom is changed to 200% to focus on smaller changes instead of the whole -60 to 60 semitones. However, since that default vertical zoom persists between Automation Editor sessions, the default vertical zoom for all other automation clips is changed to Auto so that the 200% zoom is reset.~~
Edit: I have removed that portion of this PR as it doesn't feel very neat. I can add it back if anyone wants.
Changes
~~- In AutomationEditor::setCurrentClip(), an if statement is added which sets the default vertical zoom depending on whether it is for detuning or not.~~
- In
AutomationEditor::paintEvent(), if the ghost notes are for detuning, theypixel position of each ghost note is calculated usingyCoordOfLevel()to get the correct position relative to the grid. Additionally, the height of each semitone is calculated viayCoordOfLevel(0) - yCoordOfLevel(1).
Note
I am aware that setting the zoom to default every time an automation clip is opened is not ideal, since some individuals may wish to have their zoom preferences persist between clips. On the other hand, some may find it useful that the zoom resets each time. I would love to hear your opinions.
Closing in favor of #7759
Ok I just realized since #7759 doesn't actually get rid of the detuning editor, this is still technically a bug. Let me know if you want me to reopen this.
If 7759 doesn't fix this, then I would prefer this be fixed. This is still a big misleading bug even if there's a way to avoid seeing it.
Sure! I'll reopen this, but I will likely remove the portion of this PR which edits the default zoom, since although that is useful, it gets complicated because the editor is shared with all the other automation stuff.