This is just a workflow thing that I’d like to know a better way to do this.
Often I have melody lines that don’t start exactly on the downbeat. If I need to duplicate the phrase, I just select all the notes and hit command-d, but then I need to shift the notes to start at the correct time. Is there a way to select everything within 4 bars-including the rests at the beginning and duplicate when you are in the piano roll?
Put another way-is there a “range select” in piano roll?
Not directly (that I know). But one workaround I use is to create a 4-bar dummy note (per your example) above or below the real notes. Then if you select it in addition to the real notes everything ends up where you want when you duplicate. I typically mute the dummy note and then when I’m done duplicating I have a key command that executes a logical editor preset to delete all muted notes. But even without that if the dummy note is not close to the real notes it’s easy to select them all when done and delete them.
That reminds me of a similar question with your dummy notes. Is there a way to select all notes in only one row of the piano roll? For example if I’m writing a song in the key of G and I accidentally put in some Fs instead of F#s, I’d like to be able to zoom out and select all Fs and transpose them up one half step. Right now I have to search for the individual notes and move them…
Probably the Logical Editor is the best choice. It would take a bit of time to set it up (not too much) so for just a handful of notes just selecting individual notes might be easier/quicker - but for a bunch it would be better especially if you have to comb through the part to find them.
I’m not at my DAW so I can’t be specific. In general you’d want it to select the specific notes and then you could just move them up using the arrow keys. I think you’d need to specify the notes for each octave with an “or” to link them. Something like:
If Type = note AND
(value 1 = F1 OR
value 1 = F2 OR
value 1 = F3 OR
value 1 = F4 OR
etc…) for whatever range you have notes in.
You could make a preset and then just edit the note values to reflect the specific notes you want to change.
Alternatively you could use the Chord Track to set the key. And then have the Logical editor select all notes not in the current key. You could also set, in the Inspector, your instrument/midi track to follow the chord track which would move the notes too.
That first part will work, but only if the phrase to be duplicated is the only midi data in the midi part. Since the OP referred to selecting midi notes, it implies they are working in the Key Editor and not the Project Window and it was specifically the dragging it out step they are trying to avoid.
Indeed-also, as I mentioned, my main issue is when I have several bars of rest before the first midi note and I want to duplicate the whole bar. Duplicate just puts the first note directly after the last note and ignores the rests in between. What I need ideally is a “range select” like in the project view and then duplicate range.
Of course! Having the range tool in the Key editor would be great. I think there is an FR in that forum to +1 on.
For now, another possible option would be to use the In-Place editor, then you have access to the range tool, and also the “Paste Relative to Cursor” command.
Another, using the Logical Editor and macros would be the following two macros and their accompanying Logical Editor presets:
(These insert a note at beat one of the measures to facilitate using other commands to be able to paste at the beginning of a bar, then delete those added notes. I used MIDI note number 0. The result is a two keystroke solution.)
Assign this macro to a keystroke
Assign this to another
In the attachments to this post contain the Logical Editor presets and the macros in xml format. I include them for those who are familiar with editing the Key Commands xml files.