Help with Multi-Midi Channel input


#1

Could I ask for some help please?

I'm using a Novation Circuit as a MIDI source. It sends MIDI note output on Channel 1 and 2.
I am receiving these into Axoloti and want to send Ch1 to one external synth and Ch2 to another with the intention of processing the MIDI in Axoloti before being send on.
I've created two sub-patches with different MIDI Channel settings but Channel 2 does not appear to be sending and i'm unsure why.
Could anyone help me out here?

EDIT: I should add I know the two channels are sending from Circuit as notes are passed through correctly using TB's midithru module.

devThru.axp (7.4 KB)


#2

seems like a bug to me...

you can workaround, for each sub-patch setting -> mode = monophonic (more on this later :wink:) , check midi selector then hit update on sub-patch, you now select the midi channel on the subpatch object.

Id recommend that you move the midi/out into the subpatch, because...
if you want this to handle polyphonic notes on a channel you will need to make the patch polyphonic, at which point the outlets will not correctly work like this.

this should hopefully get you to where you want...

Mark

p.s. I will quickly point out making it polyphonic like this is a sub-optimal since you end up with N instance of the sub-patch, which if you start needing more cpu/memory could become more important. this is why, this kind of midi thru is usually done in a script in the parent patch.
(sorry, I meant to add all kind of filtering options to midithru, but haven't got around to it yet)


#3

Thanks for the assist - it's now working.
One issue i've yet to conquer is the correct method for passing MIDI clock.
The current setup is causing the following error:

! /Users/lloydwbarrett/Documents/axoloti/build/xpatch.h.gch
/Users/lloydwbarrett/Documents/axoloti/build/xpatch.cpp: In member function 'void rootc::instanceclock__2::dsp(bool, bool, bool&, int32_t&, int32_t&, int)':
/Users/lloydwbarrett/Documents/axoloti/build/xpatch.cpp:1364:24: warning: integer overflow in expression [-Woverflow]
_posfrac &= (1<<31)-1;

I note that the clock IS being passed to the external synths but only on play - so I clearly need to work out the logic behind this.


#4

NVM i'm using drj/midi/clock_rx and clock_tx successfully.