If allowed to, I would like to try solving this issue : #7907 (Add ability to loop MIDI clips), but it would involve significant changes to the code and the ux, so I want to be sure that I'm going in the right direction before I start doing anything.
Let me explain how I imagine the functionality :
I like the idea proposed by AW1534 in the issue description:
Personally, I like the way GarageBand (and presumably Logic Pro) handles this. It has a dual handle design, in which dragging from the top right of the clip initiates a loop, while dragging from the bottom right initiate a resize.
A loop would be a clip of any length, whose start position is the end position of the original. The content of the loop would be the content of the original repeated as many times as needed. Any change made to the original clip would impact its loop.
Midi clips (and maybe sample and automation clips) created in the song editor would be loopable, but not those created in the B+B editor.
- Moving the loop would move the original and vice versa.
- Double click would open the original clip in the piano roll (or automation editor or whatever...).
- Using the knife tool on a loop would create a copy of the original clip on the right side of the cursor, as well as its own loop of the right length.
- Deleting the loop would only remove the loop, deleting the original clip would also remove the loop.
- The loop could be independently resized with its right grip,
- If the original clip is resized, the length of the loop would be updated so the end of the loop stays at the same position.
[LMMS/lmms] #7907, @AW1534: Add ability to loop MIDI clips
[LMMS/lmms] #8221, @szeli1: Grid Abstraction - Vector Graph