If you have a controller capable of sending MIDI messages on multiple MIDI Channels, like an M-Audio Axiom's 4 Keyboard zones (so 4 MIDI Channels from the same keyboard) plus the Pads on Channel 10 or an Arturia BeatStep PRO that can send 2 sequences on their own MIDI Channel (1 and 2) and its Drum sequencer on MIDI Channel 10 plus the controller on, say, MIDI Channel 16, etc, then you certainly felt the need for a MIDI Channel-aware type of Remote Codec like this one.
Taking the BSP example, here's an example on how to get its 4 sources of MIDI into Reason with this Remote Codec+Map.
Add a Control Surface per MIDI source with these 3 easy steps:
1) Add a Control Surface from the "<Other>" Manufacturer and choose the correct "Generic Controller on MIDI Channel __ /<" Model with the MIDI Channel you'll need
2) Give it a proper name, so you know what's the real controller being used with this generic map (that you can totally customize on your own)
3) Select the proper MIDI In Port for it
You can ignore the Out Port on these generic maps unless you plan to customize the Codec too.
Repeat the above steps for each of the BSP sequencers (since that's the example I'm using here).
So, you'll add 4 Control Surfaces for BSP's Controller Mode, Sequencer 1, Sequencer 2 and Drums, each with its respective MIDI Channel set to what you're planning to use in the BSP and all of them pointing at the same MIDI In Port, since that's the one the BSP will be sending its MIDI data.
Don't worry with Reason's yellow warning. That's expected since you're declaring multiple Control Surfaces with a common MIDI Port. It warns you but won't block you from using them like it used to on much older Reason versions.
So, you'll end up with 4 new entries like these:
...and that's about it. After this, you can lock any of those controllers to specific rack devices and each will only receive the MIDI notes (or CCs in the BSP Controller mode's case) that are being sent on those specific MIDI Channels.
The big difference from using this solution instead of doing the MIDI Channel redirection into rack devices through the Advanced MIDI Device is that with this Codec you're able to record the MIDI data into the Sequencer, something that's not possible nor the main purpose of the Advanced MIDI Device.
So, here's the Zip with the files inside, including the ReadMe.txt with the usual installation instructions:
...oh, and speaking of the Arturia BeatStep PRO, I'm still planning to do a specific Codec+Map for it someday, but I'm waiting for it to stabilize its feature-set so I can see how to take proper advantage of its closer integration with Reason through a specific Map.
Until then, I guess this generic one will suffice and hopefully will help others customize their own Codecs+Maps for their multi-channel controllers :)
Actually, this has been sitting on my Remote projects folder for 2 years now (and far from being alone in there, eh), waiting for me to complete the rest of the Remote Map, because my initial need for it was really just to control Kong, Dr.OctoRex and ReDrum, that's why those are really the ones that got some partial love on the included map.
Early this year, due to the improvements added to the ReDrum remoteables, I ended up making some editing to support the new ReDrum remoteables :)
I'm hoping that anyone wanting to extend it or complete it has enough examples already in the partial map I'm providing to customize it for their own purposes.
There are a few simple tricks both on the Codec and Map side that may help some users wanting to get into feedback-aware MIDI controllers to get up to speed without going too deep in Lua programming.
Probably I'll be sharing a few more simple but useful Codecs+Maps namely a generic one that allows MIDI Channel selection for those that have a multi-channel MIDI source of notes and need to route (lock and/or record) them independently in Reason, like... the new Arturia BeatStep Pro (which I'll end up doing a specific Codec for it, obviously, when/if I find the time to do it properly)... but until then, that generic one is working fine.
Along these "utility" simple Remote Codec+Maps, I also have one for the Arturia MiniBrute with an optional "Local Off" mode, easily decoupling its keyboard from the synth section, allowing it to work as a generic MIDI keyboard while Reason uses it as a keyboardless synth module through EMI.
Before the Kong Drum Designer rack device, which is typically the easiest and preferred device to convert a MIDI Note (i.e. Pad hit) into a CV Gate output (each pad has a CV out gate at the back) the BV512 Vocoder was the only rack device offering a similar behavior.
The BV512 MIDI Implementation made it respond to a range of MIDI keyboard note input to control each of its 32 Vocoder Bands. This allows various cools tricks related with directly controlling specific and multiple bands while in Vocoder mode.
The 1st 16 of those Vocoder bands, when activated (either by audio modulation or MIDI note input) will have their respective value output as CV at the back of the device.
So, as you can see, prior to Kong, this was the perfect way to get at least 16 MIDI Note-to-CV Gate/Velocity output. ReDrum could be used but it only had 10 outs and only allowed Trigger CV out instead of Gate CV out (which is the only way to respect the Note duration).
BV512 did its CV tricks tirelessly, no matter if there was an audio cable connected to the modulator audio input or not. It even worked perfectly while the "Enabled" switch was Bypass or Off.
Well... guess what? Apparently, allowing Vocoder Band control through MIDI input when there's no cable connected to the modulator audio input was... "a bug" (kinda).
This "bug" was fixed in Reason 7 ...so, yeah, you guessed it: Any Song or Combinator patch relying on the good'ol BV512 original behavior changed from a state of "coolness" to "borkedness".
Yeah... there are some patches that worked fine up until Reason 6.5.3 that now stopped working in Reason 7.1.1, Reason 8.0 and Reason 8.1 (and so on...)
Is there a solution? Sure!
Either replace the BV512 acting as the "MIDI Input" device with a Kong, having then to deal with all the CV rewiring needed and Combinator modulation matrix (re)configuration or... simply connect a dummy cable to the modulator input