First, thanks Camille for an awesome tool.
BACKGROUND
I'm developing a touch interface for Native Instruments' Maschine. The Maschine controller is awesome, and has bidirectional communication with its software brain like I've never seen in any previous drum sequencer software. However, Maschine hates to be MIDI mapped with anything else. If you're not familiar with it, your samples are split into 8 groups, and each group has 8 configurable macros. The macros are the only parts of the interface which can be MIDI mapped, and if you load something new into the group (let's say a drum kit on group B), the macro mappings for that group disappear. You can create mappings beyond the group level; for instance, you can map a physical/virtual encoder to the delay time of a grain delay on only one hi-hat sound in a particular group (provided you've configured the macro in advance), but when you load in a new hi-hat sound (or any other sound onto that pad), the macro—and it's corresponding mapping—disappears.
(It's been really frustrating, as I'm sure you could imagine. Next I'm planning on doing some stuff for Live's Drum Rack and Geist, both of which take much more kindly to external MIDI/OSC devices. Geist in particular looks like it will provide some very interesting opportunities—I'm interested to find exactly how detailed I can get with touchscreen sample and envelope manipulation.)
But—a document was released this week that lists all the keyboard commands/shortcuts in Maschine. It's not much, but combined with Osculator at least it gives me something to work with that isn't going to be overwritten every 90 seconds.
CONTENT
I'm wondering if it's possible for a trigger (in TouchOSC at the moment, but my next projects are going to be built in Control due to better Android compatibility and more sophisticated formatting options) that Osculator is routing to a keycode/shortcut to send a noteoff-like Z message when it's released?
Let me describe the specific use case I'm trying to work out right now:
Maschine has keyboard shortcuts to adjust the resolution of it's grid: 1-8=whole note-⅟₁₂₈th shift+1-7=dotted/triplet whole note-⅟₆₄th, 0=grid off. It also has key commands to quantize a pattern to the current grid settings: q=quantize, shift+q=quantize 50%
I play all my stuff with the grid off. I just think it sounds better, and it forces me to constantly improve my playing technique. But I've included every key command Maschine understands in my template because I only have so much to work with. During testing, I've realized that you can achieve some interesting effects by setting a grid and snapping notes to it during playback, and that a quick undo drops the notes into their previous positions.
SO—I'd like to create a trigger that when pressed will send first the grid-on message (let's say shift+4 for dotted 8th notes) immediately followed by quantize (q). More critically, when the trigger is released I'd like it to send undo (standard Cmd/Ctrl+z) so it's not necessary to tap a second trigger to return the notes to their pre-quantized locations.
Is this possible?
Thanks in advance for any assistance.
BACKGROUND
I'm developing a touch interface for Native Instruments' Maschine. The Maschine controller is awesome, and has bidirectional communication with its software brain like I've never seen in any previous drum sequencer software. However, Maschine hates to be MIDI mapped with anything else. If you're not familiar with it, your samples are split into 8 groups, and each group has 8 configurable macros. The macros are the only parts of the interface which can be MIDI mapped, and if you load something new into the group (let's say a drum kit on group B), the macro mappings for that group disappear. You can create mappings beyond the group level; for instance, you can map a physical/virtual encoder to the delay time of a grain delay on only one hi-hat sound in a particular group (provided you've configured the macro in advance), but when you load in a new hi-hat sound (or any other sound onto that pad), the macro—and it's corresponding mapping—disappears.
(It's been really frustrating, as I'm sure you could imagine. Next I'm planning on doing some stuff for Live's Drum Rack and Geist, both of which take much more kindly to external MIDI/OSC devices. Geist in particular looks like it will provide some very interesting opportunities—I'm interested to find exactly how detailed I can get with touchscreen sample and envelope manipulation.)
But—a document was released this week that lists all the keyboard commands/shortcuts in Maschine. It's not much, but combined with Osculator at least it gives me something to work with that isn't going to be overwritten every 90 seconds.
CONTENT
I'm wondering if it's possible for a trigger (in TouchOSC at the moment, but my next projects are going to be built in Control due to better Android compatibility and more sophisticated formatting options) that Osculator is routing to a keycode/shortcut to send a noteoff-like Z message when it's released?
Let me describe the specific use case I'm trying to work out right now:
Maschine has keyboard shortcuts to adjust the resolution of it's grid: 1-8=whole note-⅟₁₂₈th shift+1-7=dotted/triplet whole note-⅟₆₄th, 0=grid off. It also has key commands to quantize a pattern to the current grid settings: q=quantize, shift+q=quantize 50%
I play all my stuff with the grid off. I just think it sounds better, and it forces me to constantly improve my playing technique. But I've included every key command Maschine understands in my template because I only have so much to work with. During testing, I've realized that you can achieve some interesting effects by setting a grid and snapping notes to it during playback, and that a quick undo drops the notes into their previous positions.
SO—I'd like to create a trigger that when pressed will send first the grid-on message (let's say shift+4 for dotted 8th notes) immediately followed by quantize (q). More critically, when the trigger is released I'd like it to send undo (standard Cmd/Ctrl+z) so it's not necessary to tap a second trigger to return the notes to their pre-quantized locations.
Is this possible?
Thanks in advance for any assistance.
Comment