MIDI Matrix.zip (25.4 KB)
I knocked up this draft of a simple Max For Live utility device last night, and thought it might be worth sharing: it uses send & receive pairs and Max’s maxtrixctrl & router objects to route 8 separate streams of MIDI information between different places in Live, with an 8 x 8 button grid as a matrix, allowing you to send any combination of the 8 inputs to any combination of the 8 outputs.
This means you can route MIDI signals dynamically between monome apps, Live MIDI clips, software synths and external hardware without having to dive into Live’s input/output routing panels. For example: if you have a MIDI sequence running from polygome to a modular synth, you can re-route that sequence to a drum rack, then combine different sequence from two other Live MIDI clips and send them to the modular instead, all with a couple of button presses.
There are 3 max for live MIDI effects in the zip file: an input device, which goes after whatever you’re using to generate MIDI information, whether that’s a MIDI clip, another monome device like polygome, or an incoming sequence from an external sequencer; an output device, which goes before your software instruments or MIDI outputs to external hardware; and a router device, which maps to an 8x8 grid via serialosc (also has autofocus). There’s a grid on the router device so you can use it without a monome grid if you want, too.
I hope that all makes sense! Let me know if you find it useful.
(Quick edit: I stupidly used Max drop-down menus rather than Live ones, so selections didn’t save when re-loading the Live set. Now corrected)