APC40 MIDI input with Max 4 Live
Im currently writing a patch that requires the MIDI input from an APC40.
This is a fairly simple excercise in Max, but once the APC40 is set as a control surface in Ableton, Max cant read MIDI from the APC.
Im using basic midiin or xnotein objects with midiparse to read the notes, velocities, etc. This all works fine (even withing M4L) until the APC is set as the control surface – then it acts as a controller but doesnt appear to send any MIDI data anymore.
Is there a way to
a) pass the MIDI through my patch before it hits Live,
b) take the midi into midiin (or similar) while the APC40 is acting as a controller?
Thanks in advance,
The APC40 doesn’t send midi until it’s actualy bound to something through midi mapping it at which point the control surface functionality for the selected control ceases…
You need to choose one or the other….. I’d be listening to the control surface information and disabling areas on the fly as you can then choose momentary or note on / off behaviour acting as a toggle…
Thanks for the quick response.
Is there a way to listen to the control surface info (for example, dial 1 on the pan) while allowing it to also act in its default way (as a pan)? So to keep it in its default state but eavesdrop on the MIDI it sends :S
The purpose of this patch is to trigger video simultaneously with audio; so far i’ve mapped out the APC using Max, and wired up all the APC grid to jitter vids in poly objects with effects on the 8 dials in the top right of the APC.
Everything was going swimmingly when i was using the APC as a standard MIDI controller, but once its hooked up to live it’s a different beast.
You could send MIDI from the APC to some MIDI routing software (eg. MidiPipe on Mac) generating 2 separate MIDI streams (ports) to be used in Live as control input and track input at the same time.
That sounds like a plan, ill post back when i’ve tried it,
Yes absolutely you can simply observe the dial and record it’s outputs then route it to do something else whilst leaving the original functionality in place….
Thats what i’ve ended up doing – just observing the flow of info rather than messing with it, monitoring the playing_slot_index for each track to monitor the grid.