Arps are cool but I'm too lazy to hold the notes sometimes. Especially for the "TranspSeq" mode, it makes sense to have some kind of latching behavior so the sequence can continue playing without having to hold down notes. I'm thinking the following "Latch modes" which determine a sequencer behavior when not holding notes.
None (don't play). Current behavior: the sequence stops playing when you're not holding notes
None (play sequence). When you are not playing notes, the sequence plays without the arp mapping applied.
Sustain pedal. You can hold the sustain pedal to latch notes. Actually this already works, but the sustain pedal also makes the synth sustain so the only change here is that your pedal no longer gets sent to the synth. Note also that for sidechained arp input, this will use the SC input's pedal, not your pedal. And in that case, the synth WILL continue to get the pedal, otherwise you'd be able to change someone else's performance. Despite the oddities around sidechaining, this is pretty powerful because you'll be able to stop playing entirely by releasing the pedal.
Some kind of smart latch. Pedal is pretty OK, but actually the most intuitive might be a smart latch where you play a chord, and that chord latches even if you let go. There is no way to stop playing though. And it will be maybe difficult to actually decide how to program this; I may leave it for the future.
For 4, the problem is for chords. When you play a C major, you really play C, E, G in sequence. When you release all of them, we expect to remember C E and G. But let's say you only release E and G. Obviously we still remember those too. But then we switch to F major. So now you add F and A.
Now what? Are we playing a big cluster of C E G F A? Or is there some condition that lets us know that we now actually mean C F A?
I guess one "easy" way that doesn't rely on weird timing constants is like this:
When you released E and G, but still holding C, those E and G are considered "latched notes". When you NOTE ON, we unlatch all "latched notes". So we have E G (both latched), and C (held). You note on F. Now we have F and C (both held). Add A, and we have our F major.
I even think you could build in a tricky way to do a "stop" with mode 4: playing a note that's already latched could remove it. So if you play C E G, release the G, now we're playing C E (both held) G (latched) still. Play G again and instead of replacing (latched) with (held), we could remove it.
So it means to stop the sequence, you could just double-hit any key on the keyboard and it will stop the sequence.
so this "auto" latch mode works really well. But one issue with the described behavior is that sometimes it's hard to know what's currently latched. IOW it's not as intuitive as it should be. I think the part that's most difficult is the "if you note on a latched note, it will stop being latched". this means you're holding a note that's not playing. i don't think this should be allowed.
yet i want to keep the "double tap a note to stop everything" behavior. so i think we can just make a special case: if there are no currently-held notes, then OK remove it from latch.
this is the "safe" option. if it's still unintuitive, we can make the special case "if it's the ONLY note on, remove it".
Arps are cool but I'm too lazy to hold the notes sometimes. Especially for the "TranspSeq" mode, it makes sense to have some kind of latching behavior so the sequence can continue playing without having to hold down notes. I'm thinking the following "Latch modes" which determine a sequencer behavior when not holding notes.
For 4, the problem is for chords. When you play a C major, you really play
C
,E
,G
in sequence. When you release all of them, we expect to remember C E and G. But let's say you only release E and G. Obviously we still remember those too. But then we switch to F major. So now you add F and A.Now what? Are we playing a big cluster of C E G F A? Or is there some condition that lets us know that we now actually mean C F A?
I guess one "easy" way that doesn't rely on weird timing constants is like this:
When you released E and G, but still holding C, those E and G are considered "latched notes". When you NOTE ON, we unlatch all "latched notes". So we have E G (both latched), and C (held). You note on F. Now we have F and C (both held). Add A, and we have our F major.
I even think you could build in a tricky way to do a "stop" with mode 4: playing a note that's already latched could remove it. So if you play C E G, release the G, now we're playing C E (both held) G (latched) still. Play G again and instead of replacing (latched) with (held), we could remove it.
So it means to stop the sequence, you could just double-hit any key on the keyboard and it will stop the sequence.
so this "auto" latch mode works really well. But one issue with the described behavior is that sometimes it's hard to know what's currently latched. IOW it's not as intuitive as it should be. I think the part that's most difficult is the "if you note on a latched note, it will stop being latched". this means you're holding a note that's not playing. i don't think this should be allowed.
yet i want to keep the "double tap a note to stop everything" behavior. so i think we can just make a special case: if there are no currently-held notes, then OK remove it from latch.
this is the "safe" option. if it's still unintuitive, we can make the special case "if it's the ONLY note on, remove it".