Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Beyond "Confusing" Chained Channel Map Modifiers
#1
Just bought, getting ready to return.  Manual says chaining Channel Map modifiers is "confusing" without much further explanation.  Starting to think it's more than "confusing" and just plain broken (does the dev know how to scope a variable.)

What I'm trying to do: I'm trying to route MPE from a Linnstrument to two separate Haken Audio Eaganmatrix Modules (every single DAW and even free MIDI patchbay software can do this easily.)  MPE requires a MIDI channel PER note, I'm trying to get 16 note polyphony (8 voices per module.)

How it should be setup: I have one MIDI out from the Linnstrument so 16 channels max.  Each module can handle around 8 not polyphony so I'm good.  Linnstrument keys are split, half the pads are playing round robin on channels 1-8, the other half are doing the same on channels 9-16.  The modules reserve MIDI channel 1 for various control messages.

The routing I can achieve on almost everything except the MRCC: Linnstrument Left Split goes to first module exclusively (all Ins Port 1 (Linnstrument), all Outs Port 1 (EaganMatrix#1)): Ch 1 In -> Ch 2 Out, Ch 2 In -> Ch 3 Out, Ch 3 In -> Ch 4 Out, Ch 4 In -> Ch 5 Out, Ch 5 In -> Ch 6 Out, Ch 6 In -> Ch 7 Out, Ch 7 In -> Ch 8 Out, Ch 8 In -> Ch 9 Out ------- Linnstrument Right Split goes to second module exclusively (all Ins Port 1 (Linnstrument), all Outs Port 2 (EaganMatrix#2)): Ch 9 In -> Ch 2 Out, Ch 10 In -> Ch 3 Out, Ch 11 In -> Ch 4 Out, Ch 12 In -> Ch 5 Out, Ch 13 In -> Ch 6 Out, Ch 14 In -> Ch 7 Out, Ch 15 In -> Ch 8 Out, Ch 16 In -> Ch 9 Out

How I've tried to set it up on MRCC:  I've tried setting up 4 Channel Maps (why are they limited to 4 channels each!?) with the mappings exactly as listed above.  They are added in sequence in the Routings tab, 2 Channel Maps per output port (i.e. 1->1, CM1, CM2, 1->2, CM3, CM4)

The results: If I set all Channel maps to exclusive (which is required otherwise all notes go to both modules simultaneously) I get one note that makes it through to the first module (MIDI CH 4) not a single other note makes it to either module (seriously!?)  If I set Channel Maps 1, 3, and 4 to exclusive and Channel Map 2 to non-exclusive MIDI Ch 1-4 make it to the first module and nothing else.  If I set CM1 to Y, CM2 to N, CM3 to N, and CM4 to Y I get 4 MIDI channels passing to each module (MIDI Ch 1-4 to module 1, MIDI Ch 13-16 to module 2.)  If I set either CM1 or CM4 to N I get notes going from both splits to both modules.

I know there is some logic here I'm just not getting but man, it is so counterintuitive when it should be very straightforward.  How is it possible that with a $450 piece of hardware designed specifically to route dozens of MIDI cables to each other I'm not able to simply route 16 channels from one cable to two others!?  I'm sorry if I sound witchy and upset, I just had such high hopes for this thing and to be let down from what appears to be an unscoped variable programmatically is disheartening to say the least.  To argue that there is some other magical advantage to this level of convolution on such a simple routing is deceptive.  It's a long post, prob won't get a reply.  Will have to return within the next week or so.  I really wish it had worked out.
Reply
#2
Trying to simplify this for anyone that may want to help.  Trying to control two separate MPE (1 MIDI Channel per note) synths independently from a keyboard split.  MIDI channel 1 is inaccessible on both synths

Modifiers Used

CM1
In -> Out
1 -> 2
2 -> 3
3 -> 4
4 -> 5

CM2
In -> Out
5 -> 6
6 -> 7
7 -> 8
8 -> 9

CM3
In -> Out
9 -> 2
10 -> 3
11 -> 4
12 -> 5

CM4
In -> Out
13 -> 6
14 -> 7
15 -> 8
16 -> 9

Port 1 In from Keyboard split down the middle, half the keys going to Ch 1-8, the other half going to Ch 9 -16.
Port 1 In is going to Port 1 & 2 Out
Port 1 Out is getting modifiers CM1 -> CM2 (Going to First Synth, MIDI Ch 1 unavailable)
Port 2 Out is getting modifiers CM2 -> CM3 (Going to Second Synth, MIDI Ch 1 unavailable)

If I set the exclusivity of modifiers to CM1 = N, CM2 = Y, CM3 = N, and CM4 = Y, I get 5 out of 8 notes going to the first synth correctly and 4 out of 8 notes going to the second synth correctly.

Even if you can't help please, someone make that make sense.  Truly baffling...
Reply
#3
What you want to do, what you have done, and the results you get; all make sense. Unfortunately, I cannot help you get to where you want to go. We've had one guy here post in the past on his efforts to map greater than four channels, and I thought he was successful. I don't recall the solution, though. I think it was oldgearguy.

Anyway, from what you've written in the second post, you should only be getting five notes in one synth and four in the other. Exclusive mode means reject all channels not mapped. CM4, being exclusive will pass 13-16 to 6-9 and nothing else. CM3 mapping will be ignored. CM2 will also only pass 5-8 to 6-9, AND in addition pass what was originally on CH4 because CM1 moved it to CH5 which then got bumped to CH6. Otherwise, the mapping of CM1 is ignored.

Hope someone has a solution for you.
Reply
#4
Hey, I tried to respond to your email and it got sent back to me, I think there was a typo in your incoming email address. I guessed the correct one and hopefully that one will get through.

So having had a chance to look this over a few times I think I have the big picture. OK, I think I see a couple of areas that we're running into problems.

The Modifiers are all done in serial rather than parallel, so if you map ch4>5 in the first one then 5>6 in the second, then what goes in 4 comes out 6, and second, if you use the exclusive as Kris mentioned, then it will only pass the 4 channels of that instance of the Mod.

I am really pushing to change the way this works, I don't know if it's easily possible as data structures may be too deeply rooted to have their size changed easily, but if not I would like to create a different map option so that all channels can be moved wherever you want. I have set up a time to talk with Steve the dev, tomorrow and hope I can sway him as I would love to see this change and this is the exact type of thing that we should be able to do...

I want to be able to block any channels as well as route all 16 channels, and I don't want routing say, 2 to 4 to prevent me from routing 6 to 4 as well, which we currently don't allow.
Reply


Forum Jump:


Users browsing this thread:
1 Guest(s)