amoeba
01-26-2009, 04:01 PM
i have a problem i hope someone can help with. i am trying achieve the ability to route "live" keyboard input to various stacks of both internal and external instruments so i can play any instrument realtime if i wanted to.
for hosted AU's, everything works fine. but for external instruments, i am currently trying to build a stack where each preset routes the incoming signals from the keyboard controller to a different destination.
currently i have set up midi bus B as the output of this "input" stack, and all external instrument stacks have their midi input set to the same B bus. each external device does have it's own physical midi port via an MS8x8s, but also it's own midi channel.
to handle "routing", i am using the note filter module to simply change the midi channel on each preset. of course, all data is sent to all ports, but the devices only hear the stuff on their midi channels.
problem is, the only thing getting passed using this note filter method is the note on/off signal. pressure, mod, pitchbend, etc to not get passed to the "new" midi channel - it stays set at whatever default channel my keyboard controller is set at. i added the MIDI filter, but that does not allow for changing the midi channel of signals, just blocking/unblocking everything of a certain type.
being able to route to different ports from "within" the stack (not just at the stack output) would solve this completely, but i don't see a way to do that... i'd rather not mess with filters or whatnot - i just want to direct traffic to specific physical or virtual ports.
does anyone have any suggestions, or a better way to accomplish what i am trying to do? i know i could make a preset on my controller for each specific instrument/channel, but i am trying to duplicate how i handle this in other hosts. for example, in Live i just arm the track i want to play. i was trying to build a stack of presets to "arm" tracks, but it's not working as i had hoped.
any advice? thanks in advance!
for hosted AU's, everything works fine. but for external instruments, i am currently trying to build a stack where each preset routes the incoming signals from the keyboard controller to a different destination.
currently i have set up midi bus B as the output of this "input" stack, and all external instrument stacks have their midi input set to the same B bus. each external device does have it's own physical midi port via an MS8x8s, but also it's own midi channel.
to handle "routing", i am using the note filter module to simply change the midi channel on each preset. of course, all data is sent to all ports, but the devices only hear the stuff on their midi channels.
problem is, the only thing getting passed using this note filter method is the note on/off signal. pressure, mod, pitchbend, etc to not get passed to the "new" midi channel - it stays set at whatever default channel my keyboard controller is set at. i added the MIDI filter, but that does not allow for changing the midi channel of signals, just blocking/unblocking everything of a certain type.
being able to route to different ports from "within" the stack (not just at the stack output) would solve this completely, but i don't see a way to do that... i'd rather not mess with filters or whatnot - i just want to direct traffic to specific physical or virtual ports.
does anyone have any suggestions, or a better way to accomplish what i am trying to do? i know i could make a preset on my controller for each specific instrument/channel, but i am trying to duplicate how i handle this in other hosts. for example, in Live i just arm the track i want to play. i was trying to build a stack of presets to "arm" tracks, but it's not working as i had hoped.
any advice? thanks in advance!