Add note length editing for sustaining already-entered notes
Hold mode only governs entry, so sustaining existing notes previously meant toggling hold on and re-entering them. That works but deletes and recreates each note, silently resetting velocity to the default. L and Shift+L resize the note under the cursor by whole grid cells, editing it in place so velocity, channel and note identity survive. They are independent of hold mode, so there is no state to set up or unset. Alt+J fuses a whole run of repeated notes at one pitch in a single keystroke. Lengthening absorbs same-pitch notes it runs into, taking their tail if longer, so growing across a repeated run fuses it instead of creating overlaps. Also makes noteEndingAt/noteStartingAt public and fixes their two call sites in toggleCell, which would otherwise have been nil-call errors in hold mode.
This commit is contained in:
+8
-2
@@ -52,7 +52,10 @@ $actions = @(
|
||||
@('RSmidigrid_triad', 32060, 'MIDI Grid: Toggle diatonic triad', 'MidiGrid_ChordTriad.lua'),
|
||||
@('RSmidigrid_seventh',32060, 'MIDI Grid: Toggle diatonic seventh chord', 'MidiGrid_ChordSeventh.lua'),
|
||||
@('RSmidigrid_velup', 32060, 'MIDI Grid: Velocity up', 'MidiGrid_VelUp.lua'),
|
||||
@('RSmidigrid_veldn', 32060, 'MIDI Grid: Velocity down', 'MidiGrid_VelDown.lua')
|
||||
@('RSmidigrid_veldn', 32060, 'MIDI Grid: Velocity down', 'MidiGrid_VelDown.lua'),
|
||||
@('RSmidigrid_longer', 32060, 'MIDI Grid: Lengthen note one cell', 'MidiGrid_Lengthen.lua'),
|
||||
@('RSmidigrid_shorter',32060, 'MIDI Grid: Shorten note one cell', 'MidiGrid_Shorten.lua'),
|
||||
@('RSmidigrid_join', 32060, 'MIDI Grid: Join run of repeated notes', 'MidiGrid_Join.lua')
|
||||
)
|
||||
|
||||
# flags, keycode, section, id
|
||||
@@ -72,7 +75,10 @@ $keys = @(
|
||||
@(17, 51, 32060, 'RSmidigrid_triad'),
|
||||
@(17, 55, 32060, 'RSmidigrid_seventh'),
|
||||
@(21, 32806, 32060, 'RSmidigrid_velup'),
|
||||
@(21, 32808, 32060, 'RSmidigrid_veldn')
|
||||
@(21, 32808, 32060, 'RSmidigrid_veldn'),
|
||||
@(1, 76, 32060, 'RSmidigrid_longer'),
|
||||
@(5, 76, 32060, 'RSmidigrid_shorter'),
|
||||
@(17, 74, 32060, 'RSmidigrid_join')
|
||||
)
|
||||
|
||||
$backup = "$kb.midigrid-backup"
|
||||
|
||||
Reference in New Issue
Block a user