lmms
lmms copied to clipboard
Bulldozer in Piano roll
New edit mode to quickly scale and move things around. Stems from #6140. Forgive the bad English.
https://user-images.githubusercontent.com/7693838/185953603-090a0912-c46c-435d-8c69-5c351ccd4ed4.mp4
Didn't want to wait for piano roll rewrite any more. Needed this feature.
New stuff
- Scrollable edit mode button in the toolbar
- Edit mode button and note actions button remembers last used
- Bulldozer move:
- Selects all notes to the right if no notes are selected
- Stretches the notes that touches or overlaps the left side
- Bulldozer resize:
- Proportional, like shift-resize
- All notes are proportionally resized between the red lines (the edges of the selection)
- Moved note snaps to grid
- Notes in between are not quantized - proportions kept intact (applies to ordinary shift-resize too)
- Moves posterior notes
- Hold shift to temporarily disable bulldozer and move or resize a single note
Bugs fixed
- Disable quantization when moving notes in grid snap mode by holding alt
- Resize in grid snap mode snaps to closest line correctly
- Length of new note after resizing is taken from the last clicked note, not the rightmost note
- Knife mode always exits to draw mode when right clicking (not a bug)
Needs testing
- Drawing
- Moving / resizing
- Modifiers
- Hitting the top/bottom
- Hitting other notes in bulldozer mode
- Switching between modes (knife mode in particular)
- Messing with drum notes
- Minimum note lengths when resizing
- Grid snapping vs nudge
Beware of bugs
I know there's a ton in the old code. I didn't want to fix them to keep the PR clean, but some of them just had to go. Hope I didn't introduce that many new though.
Made it draft since dragNotes needs some more work with note boundaries etc