A special MIDI FX chain for the MIDI Editor. Quantize, Humanize (and others) are fx that can be added in the chain. These fx work live and change the midi editor view in realtime. So you insert a quantize fx, and the notes do get quantized just like they would now, but you get to see and tweak the quantization parameters any time. And you can stack additional quantize (or other midi fx) in the chain, and always know what fx+settings are taking place. This is a very powerful system for manipulating midi data non-destructively. (concept inspired from 3d studio max's modifier stacking for manipulating geometry... example here: ) In the tracker:
I would like to have the ability to switch on and off presentation of data as affected by chain, but, apart of this, a big + 1, especially for native quantize, arpeggiator, humanize, transpose and time delay effects. EDIT: Evan, did you tried this? - Mario
Yes! I would love to add an arpeggiator to the chain and watch the difference to actual output as you change parameters (i.e., eighths to eighth triplets, etc.). However, I can see a potential conflict? If you, say, chop a chord up into notes via an Arpeggiator MIDI FX, are you able to then drag one of the chopped up notes around, even though it's actually a product of a process in the output of the MIDI FX chain and not a source note in it's own right? (sorry, I don't know how to write that in a less confusing way... ;) )
That is the main problem with this approach. My thinking is that each FX layer also holds its own copy of the midi data (that it received from the previous plugin). If you edit the positions of the arpeggiated notes, the original notes should not be affected. The data changes should only propagate forward in the chain. Editing something in the middle of the fx chain, should 'reset' and 'refresh' the data from that point and on. This may get confusing but only if you attempt to do confusing things. There should be a 'Freeze Edits' that would apply all fx permanently if you wanted to do manual note editing. 'Freeze Edits' should be applicable upwards in the chain. If you 'freeze edits' on the 3rd plugin... all plugins up to the 3rd plugin should get applied, and the result is the new raw data for the rest of the chain. Additionally, there can be a special plugin "Edit note events". That gets inserted in the chain -as sort of an undo point- when you manually edit the notes. This will hold just the changes you made to the previous data. Not too easy to explain through here, but there definitely are solutions to these issues and it's very worth it. EDIT: This whole FR is powerful and may be complex to tackle in one go. As a starting point, manual note editing can be disabled for anything other than the original raw data. So you won't be able to edit the data after the Quantize or Arpeggiate FX, unless you freeze the edits. But you should always be able to edit the original data.
+1000 One of the most awaited features ! Logic has got this type of real time midi FX with visual feedback since very early versions. And it was one of the feature I simply use every single time in every single project. It is one of the best Logic powermoves :). Really worthy of importing into Reaper. I haven't had any problems with it and even never really had to think about any conflicts caused by stacking multiple FX, manual editing, changing parameters of single notes manually, changing and removing the FX, so it is possible to do it in a clever way (maybe someone proficient in screencasts can post a movie demonstrating how it works in a detailed way?). FX in Logic are put (even stacked) on: midi input (live), and whole tracks and also on single items (including folder items consisting of multiple tracks). And this is only the basic processing available directly from the Arrange using the small black "Parameter Box". I guess some part of the (e)magic was the option to apply fx destructively, too.
Thanks for the videos Sebas. Which also brings in another point: these MIDI facilities should be available independent of the MIDI Editor. So that you can call them just by selecting midi items from the main arrangement view. I made this FR for the quantize function: But it should extend to all MIDI processing including the stuff discussed in this thread.