Open SpomJ opened 2 days ago
I have been thinking of a similar feature, where users can duplicate the current selection of notes/clips. I believe it would essentially be the same as your feature, except that it would only allow integer repetitions. However, I ran into the same issue that lmms does not allow users to select empty space after the notes, so if a gap were wanted in between, it would not be easy to do with the current ui.
I agree a text field would be absolutely not be ideal. I suppose the way selection works in lmms could be modified to allow users to select empty space, though I'm not sure exactly how it should operate.
You probably need to make the notes much shorter than everything else, which is painful but I don't think there would be any better way to do that.
What do you mean by this?
This confuses me. It is possible to make any size of note-pattern in piano-roll, that be melodi, or arpeggio-notes, and then just copy the segment to any bar-size wanted in song-editor- And this method for elongating is pr design, and is one of the most smart things in LMMS, because these copied segments does not need to be identical! We can go into any of the small segments and make subtle interesting changes! If it was a loop that loop would be uniform in pattern, and boring! About the
lmms does not allow users to select empty space after the notes,
A segment is the size of one bar, true -But that does not prevent you from placing notes in other ways over the beats inside that segment. It is perfectly possible to have the first note in segment in 2. beat 3. tick, or the end a segment in 3. beat 2 tick. Again this is the power of segments! They are like LEGO, and be combined in any way you can imagine, this is not possible in loops. A loop like those known from FLs always contain the same notes, and LMMS has the pattern-designer for that, because percussion often is 'loop'ish', witch never should stop you from inserting rolls or rifs one-hits in song-editor to spice-up the otherwise uniform percussion. So imo any loop tools for notes is limiting creativity, so even though it is making it 'easier' it is also resulting in less interesting music.
We can go into any of the small segments and make subtle interesting changes! If it was a loop that loop would be uniform in pattern, and boring!
I agree. However, I think the author's original idea may still allow this. Perhaps if after the user selects the notes and drags them out into a loop, once the notes are unselected, they become normal notes and you can change any of them however you want. That way you can take a 1-bar riff and loop it out to 4-bars, then make a few changes to some of the bars to add some interestingness to it. (I'm not sure if that was their original idea, but I think it could work)
Arpeggios are technically broken up chords, so arpeggio notes, with arpeggiator controls in pianoroll is quite interesting idea. Of course arp notes edited in the same way as normal notes. But then, you can just made arp with regular notes, then copy & paste pattern.
And this method for elongating is pr design, and is one of the most smart things in LMMS, because these copied segments does not need to be identical! We can go into any of the small segments and make subtle interesting changes! If it was a loop that loop would be uniform in pattern, and boring!
But then, you can just made arp with regular notes, then copy & paste pattern.
I think the author's original idea may still allow this. Perhaps if after the user selects the notes and drags them out into a loop, once the notes are unselected
Let me clarify. The way I intend the tool to work is to simply do automatic copy/paste work. It's effectively a more elegant way to do select-copy-paste-paste-paste-... The notes left after that are separate notes that aren't nound to anything and still can be altered.
You probably need to make the notes much shorter than everything else, which is painful but I don't think there would be any better way to do that.
What do you mean by this?
The fact you still place the shortest notes and then just expand it. As opposed to just placing a long note and the chord being played in arpeggiator. However, I don't think there would ever be a more elegant and/or configurable way to do this.
Enhancement Summary
Unlike converting #3880 proposes, this is designed to be born from piano roll, and live in piano roll.
Why
Unlike arpeggiator, these are bound to rhythm, and as such are better suited for piano roll; they are also easier to edit than automation over chords. Particularly useful for repetitive patterns like pads and/or bass
Implementation Details / Mockup
Here's where the fun starts.
Main
The main mockup I can come up with is the "loop" tool. How it works is: select a note pattern, activate the tool (it would better off being a hotkey, but can also be a toggle), and extend the notes. What happens then is the pattern is copied from start to end repeatidly (looping), then cut if it isn't a perfect multiple. It also works backwards just by cropping & deleting the notes.
There are two problems with this:
Alt resizing
There's also a different way. We can automagically shrink the selection like it already can currently, then concat it until it fits current length. it's essentially the same thing but backwards and I don't see any upsides over the previous method.
Alt: arpeggio generation
This is how it works in arpeggiator. We specify a chord, a note duration, and place the notes. There are several issues with this, for example we still need to slice the notes, and thus lose the ability to easily shrink the arpeggios. We also limit people to the pre-generated chords, which isn't a big deal but may break the workflow for some people. We also need more buttons.
Please search the issue tracker for existing feature requests before submitting your own.
I may try to make a PR myself after the mockup gets settled, but I can't guarantee that.