Remote: Selecting Previous/Next Single Mixer Channel

This forum is for discussing Reason. Questions, answers, ideas, and opinions... all apply.
Post Reply
Tiefflieger Rüdiger
Posts: 63
Joined: 05 Jun 2024

24 Mar 2025

When remote controlling a single mixer channel (https://docs.reasonstudios.com/reason13 ... xer#533093), is there a way to select the previous/next single mixer channel from the external controller?

I want to build a remote map that controls a single mixer channel's properties (Level, Input, EQ, Dynamics, ...). For this to be useful, it should be possible to quickly switch to another channel without using the mouse. The only ways I found to do this at all are surface locking to the mixer's channel (requires mouse) or by selecting the mixer channel in the sequencer (if available) or in the rack on its grey arrow at the left side (again, requires mouse). So far, I haven't found a way to do this from an external controller.

There's the scope "Reason Master Section" which has "Remote Base Channel Delta", "Next Remote Base Channel" and so on. While that would work, it is a hack as it influences also the base channel of other controllers which I don't want.

electrofux
Posts: 922
Joined: 21 Jan 2015

24 Mar 2025

It is possible but since the Mixer is big with alot of parameter it requires alot of mapping and some coding. Basically you need to write your own codec or heavily adjust an existing one.

Basically you can adress the whole mixer as one device with all its parameters and define eg 64 groups (1 per channel). It is going to be a bit complicated programmingwise because i assume you dont have 64 buttons to select each channel individually but with some knowledge of the Remote API you can program a stepping through the Channels with two buttons or an encoder. it is just not something that you can do within minutes and not solely in the mapping file.

Tiefflieger Rüdiger
Posts: 63
Joined: 05 Jun 2024

24 Mar 2025

electrofux wrote:
24 Mar 2025
It is possible but since the Mixer is big with alot of parameter it requires alot of mapping and some coding. Basically you need to write your own codec or heavily adjust an existing one.
In which way would the codec have to interact with the remotemap? I wasn't aware that was even possible, but the doc I found was for Reason 6, so this might have changed ...
electrofux wrote:
24 Mar 2025
Basically you can adress the whole mixer as one device with all its parameters and define eg 64 groups (1 per channel). It is going to be a bit complicated programmingwise because i assume you dont have 64 buttons to select each channel individually but with some knowledge of the Remote API you can program a stepping through the Channels with two buttons or an encoder. it is just not something that you can do within minutes and not solely in the mapping file.
Interesting idea. I could write a small script that takes care of generating the final result from the first channel.

I wonder if this will work out though. I have a controller with 16 knobs, so I might need 3 to 4 groups to map all controls of a single channel to the device. Would your suggestion require to switch groups three/four times until I'm at the next channel? Or can groups have hierarchies so that the channel groups would be one level up requiring only a single group change?

User avatar
jam-s
Posts: 3371
Joined: 17 Apr 2015
Location: Aachen, Germany
Contact:

24 Mar 2025

I think the Remote SDK has those questions covered. You can find it here: https://developer.reasonstudios.com/dow ... r-products

Tiefflieger Rüdiger
Posts: 63
Joined: 05 Jun 2024

24 Mar 2025

The SDK says that you can have up to ten variations per scope (the SDK seems to call this sometimes Groups and sometimes Variations). So with a 16 knobs controller needing somewhat 3 to 4 pages for all controls per channel, at roughly the third channel I'd run out of available variations for the scope. So I guess this approach won't work?

User avatar
jam-s
Posts: 3371
Joined: 17 Apr 2015
Location: Aachen, Germany
Contact:

24 Mar 2025

Mapping the controls of one complete mix channel and then two additional controls to increase/decrease the mix channel base should work just fine. Maybe stripping down or editing the BCR codec from Mixer Jaëxx could be a good option: https://www.jaexx.com/blog/reason-using ... nel-strip/

Tiefflieger Rüdiger
Posts: 63
Joined: 05 Jun 2024

24 Mar 2025

jam-s wrote:
24 Mar 2025
Mapping the controls of one complete mix channel and then two additional controls to increase/decrease the mix channel base should work just fine.
That's what I currently do. But moving the base channel affects other control surfaces like my D 400F fader bank which is why I wanted to avoid this.

electrofux
Posts: 922
Joined: 21 Jan 2015

28 Mar 2025

I have a codec with 32 Groups so i guess Variations and Groups are treated differently.

Tiefflieger Rüdiger
Posts: 63
Joined: 05 Jun 2024

28 Mar 2025

electrofux wrote:
28 Mar 2025
I have a codec with 32 Groups so i guess Variations and Groups are treated differently.
Then there must be a difference between the two. Thanks for clarifying. I'll try to solve this with groups as we initially discussed. Maybe I'll also understand the difference between variations and groups along the way.

Do you know if it's possible to ensure that with one button I'm switching to the group of the next mixer channel and with another button I'm switching to another mapping (like from EQ to dynamics) of the current channel?

electrofux
Posts: 922
Joined: 21 Jan 2015

29 Mar 2025

i mean in the codec alot is possible. Once you are in remote process midi and have detected your controllers midi from eg the next/previous buttons you can act upon this with all the programming methods available. But for the Mixer this is a huge task because of the sheer number of items to keep track of and assign conditionally.

What controller do you use?

Tiefflieger Rüdiger
Posts: 63
Joined: 05 Jun 2024

04 Apr 2025

electrofux wrote:
29 Mar 2025
i mean in the codec alot is possible. Once you are in remote process midi and have detected your controllers midi from eg the next/previous buttons you can act upon this with all the programming methods available. But for the Mixer this is a huge task because of the sheer number of items to keep track of and assign conditionally.
Right. Is it possible for a remote codec to know what the current device/scope is? Otherwise I'd expect implementing device/scope specific things into it would pretty much bind it to that scope exclusively.
electrofux wrote:
29 Mar 2025
What controller do you use?
An Asparion D400F and a Midi Fighter Twister.

tanni
Posts: 248
Joined: 19 Jul 2015

04 Apr 2025

Tiefflieger Rüdiger wrote:
04 Apr 2025
.... a Midi Fighter Twister.
Are you using the Midi Fighter Twister with Reason ? Do you have a Lua codec for it or how you use it ?

Can you tell me if you noticed any bugs ? For example, here: https://forum.djtechtools.com/showthread.php?t=91251
thanks

Tiefflieger Rüdiger
Posts: 63
Joined: 05 Jun 2024

04 Apr 2025

tanni wrote:
04 Apr 2025
Tiefflieger Rüdiger wrote:
04 Apr 2025
.... a Midi Fighter Twister.
Are you using the Midi Fighter Twister with Reason ? Do you have a Lua codec for it or how you use it ?

Can you tell me if you noticed any bugs ? For example, here: https://forum.djtechtools.com/showthread.php?t=91251
thanks
I'm not going to read an entire thread that starts with venting users from over a decade ago. Anything specific you're interested in?

I think the controller itself is stellar and I haven't noticed any bugs.

The problems I have are nonexistent good Reason Remote codecs for it and design shortcomings in the Reason Remote SDK. For instance, in this post I'm summarising one specific problem and its solution: viewtopic.php?p=678859#p678859

tanni
Posts: 248
Joined: 19 Jul 2015

04 Apr 2025

Tiefflieger Rüdiger wrote:
04 Apr 2025

I'm not going to read an entire thread that starts with venting users from over a decade ago. Anything specific you're interested in?

I think the controller itself is stellar and I haven't noticed any bugs.

The problems I have are nonexistent good Reason Remote codecs for it and design shortcomings in the Reason Remote SDK. For instance, in this post I'm summarising one specific problem and its solution: viewtopic.php?p=678859#p678859
No sorry, that was just an example in which it was also mentioned that the Twister's software hasn't received any updates in a long time and that there are still bugs in it. Hence my general question about it.

Ah, okay, so you don't have a properly functioning codec for Reason and Twister either. I'm not that technically savvy, but I think I understand the problem described. It's a shame that it fails because of such basic things. I'm currently using the Behringer x-touch mini, which works quite well with the codec that's available for it. I thought I could improve with Twister. So I probably won't buy the Twister after all. Maybe another Behringer x-touch mini instead.

Tiefflieger Rüdiger
Posts: 63
Joined: 05 Jun 2024

04 Apr 2025

tanni wrote:
04 Apr 2025
[...] and that there are still bugs in it. Hence my general question about it.
I didn't notice any bug. I'm not sure what can go wrong there, it's a rather simple device: knobs (can be absolute or relative), LED rings (can be MIDI controlled), colour LED (can be MIDI controlled), 16 + six buttons, four configurations.
tanni wrote:
04 Apr 2025
Ah, okay, so you don't have a properly functioning codec for Reason and Twister either. I'm not that technically savvy, but I think I understand the problem described. It's a shame that it fails because of such basic things. I'm currently using the Behringer x-touch mini, which works quite well with the codec that's available for it. I thought I could improve with Twister. So I probably won't buy the Twister after all. Maybe another Behringer x-touch mini instead.
I think the codec I've shared in my post above isn't missing much to be useful. But TBH, we're derailing this thread. If you're interested in how the MF Twister generally works in Reason, why not start a new thread? You can PM me to join the thread after you've created it.

tanni
Posts: 248
Joined: 19 Jul 2015

04 Apr 2025

Tiefflieger Rüdiger wrote:
04 Apr 2025
... But TBH, we're derailing this thread. If you're interested in how the MF Twister generally works in Reason, why not start a new thread? You can PM me to join the thread after you've created it.
OK, thank you very much

User avatar
Carly(Poohbear)
Competition Winner
Posts: 2969
Joined: 25 Jan 2015
Location: UK

04 Apr 2025

Tiefflieger Rüdiger wrote:
28 Mar 2025
electrofux wrote:
28 Mar 2025
I have a codec with 32 Groups so i guess Variations and Groups are treated differently.
Then there must be a difference between the two. Thanks for clarifying. I'll try to solve this with groups as we initially discussed. Maybe I'll also understand the difference between variations and groups along the way.

Do you know if it's possible to ensure that with one button I'm switching to the group of the next mixer channel and with another button I'm switching to another mapping (like from EQ to dynamics) of the current channel?
Variations are global and groups are local, when you change a Variation that change is for all surface controls.

I have a mappings with 84 pages (groups) (it was for ReSpire)

You can stack groups. So yes you could move from Mix1 to Mix2 and have another group say EQ to Dynamics to Sends etc.

I'm making this up on the fly, so it's just a rough outline....
Define Group mixer mix1 mix2
Define Group params Dynamic EQ Send

Map Knob 1 Channel 1 C Ratio Mix1 Dynamic
Map Knob 1 Channel 1 HF Gain Mix1 EQ
Map Knob 1 Channel 1 FX1 Send Level Mix1 Send
Map Knob 1 Channel 2 C Ratio Mix2 Dynamic
Map Knob 1 Channel 2 HF Gain Mix2 EQ
Map Knob 1 Channel 2 FX1 Send Level Mix2 Send

Tiefflieger Rüdiger
Posts: 63
Joined: 05 Jun 2024

05 Apr 2025

Carly(Poohbear) wrote:
04 Apr 2025
You can stack groups. So yes you could move from Mix1 to Mix2 and have another group say EQ to Dynamics to Sends etc.

I'm making this up on the fly, so it's just a rough outline....
Define Group mixer mix1 mix2
Define Group params Dynamic EQ Send

Map Knob 1 Channel 1 C Ratio Mix1 Dynamic
Map Knob 1 Channel 1 HF Gain Mix1 EQ
Map Knob 1 Channel 1 FX1 Send Level Mix1 Send
Map Knob 1 Channel 2 C Ratio Mix2 Dynamic
Map Knob 1 Channel 2 HF Gain Mix2 EQ
Map Knob 1 Channel 2 FX1 Send Level Mix2 Send
Great suggestions, had no idea that groups can be combined. I've set up something that is able to go from channel one to channel two and back by pressing "Right Button 2" and "Left Button 2". But how would I be able to step further than channel two?

Code: Select all


Scope	Propellerheads	Reason Master Section

Define Group	Controls	Level	EQ	Dynamics
Define Group	MixerChannel	Channel1	Channel2 

Map	Left Button 1		Controls=Level
Map	Right Button 1		Controls=EQ
Map	Left Button 3		Controls=Dynamics
Map	Left Button 2		MixerChannel=Channel1
Map	Right Button 2		MixerChannel=Channel2


Map	CC 00		Channel 1 Level			Channel1	Level
Map	Push Encoder 00		Channel 1 LPF On			Channel1	EQ
Map	CC 00		Channel 1 LPF Frequency			Channel1	EQ
Map	Push Encoder 00		Channel 1 Comp On			Channel1	Dynamics
Map	CC 00		Channel 1 C Ratio			Channel1	Dynamics

Map	CC 00		Channel 2 Level			Channel2	Level
Map	Push Encoder 00		Channel 2 LPF On			Channel2	EQ
Map	CC 00		Channel 2 LPF Frequency			Channel2	EQ
Map	Push Encoder 00		Channel 2 Comp On			Channel2	Dynamics
Map	CC 00		Channel 2 C Ratio			Channel2	Dynamics
I could also imagine to be useful to use a knob to step through the channel numbers instead of using buttons for that. Any idea how that could work?

User avatar
Carly(Poohbear)
Competition Winner
Posts: 2969
Joined: 25 Jan 2015
Location: UK

05 Apr 2025

Something like this...

Code: Select all

Map	Left Button 2		MixerChannel=Channel 4			Channel 1
Map	Right Button 2		MixerChannel=Channel 2			Channel 1
Map	Left Button 2		MixerChannel=Channel 1			Channel 2
Map	Right Button 2		MixerChannel=Channel 3			Channel 2
Map	Left Button 2		MixerChannel=Channel 2			Channel 3
Map	Right Button 2		MixerChannel=Channel 4			Channel 3
Map	Left Button 2		MixerChannel=Channel 3			Channel 4
Map	Right Button 2		MixerChannel=Channel 1			Channel 4

Tiefflieger Rüdiger
Posts: 63
Joined: 05 Jun 2024

05 Apr 2025

Carly(Poohbear) wrote:
05 Apr 2025
Something like this...
Fantastic, works really great this way!

Do you know if this can also be mapped to a single knob or are button pressed the only way to navigate through the mixer like this? (Disregarding the base channel parameter since that will affect all controllers like my D400F/MCU)

User avatar
Carly(Poohbear)
Competition Winner
Posts: 2969
Joined: 25 Jan 2015
Location: UK

05 Apr 2025

Yes but you will need to do it in code, again off the top of my head something like

Code: Select all

Map	chan1		MixerChannel=Channel 1			mixer
Map	chan2		MixerChannel=Channel 2			mixer
Map	chan3		MixerChannel=Channel 3			mixer
Map	chan4		MixerChannel=Channel 4			mixer
Map	Knob1		0		chans	mixer
I have a group called mixer (not needed, but you may wish to move from mixer to a device )
a "mode" called chans, so you can track if that knob is active (if you make the knob purely for switching pages then you don't have to worry about the mode) , then you will have to manually track which channel you are on and increment \ decrement it.

Tiefflieger Rüdiger
Posts: 63
Joined: 05 Jun 2024

05 Apr 2025

Carly(Poohbear) wrote:
05 Apr 2025
Yes but you will need to do it in code, again off the top of my head something like

Code: Select all

Map	chan1		MixerChannel=Channel 1			mixer
Map	chan2		MixerChannel=Channel 2			mixer
Map	chan3		MixerChannel=Channel 3			mixer
Map	chan4		MixerChannel=Channel 4			mixer
Map	Knob1		0		chans	mixer
I have a group called mixer (not needed, but you may wish to move from mixer to a device )
a "mode" called chans, so you can track if that knob is active (if you make the knob purely for switching pages then you don't have to worry about the mode) , then you will have to manually track which channel you are on and increment \ decrement it.
Still struggling to wrap my head around this because I'm seeing concepts I haven't found an explanation for in the Remote Codec SDK.

1. It seems "chan1/2/3/4" are purposefully not matching any control declared in the Remote Codec's item variable. What happens when something like this occurs and are you somehow accessing this from the remote codec's lua script?
2. What happens when setting the Remoteable Item to 0 as you do with Knob1?
3. The Remote Codec SDK manual was a bit rough on explaining that "mode" thing. I'm not sure how you'll make use of Knob1 being declared as mode "chans" here. Do you use this to have some code in your lua script checking for the current remoteable item having a specific mode and if that is the case trigger code specific to that mode?

User avatar
Carly(Poohbear)
Competition Winner
Posts: 2969
Joined: 25 Jan 2015
Location: UK

05 Apr 2025

chan1/2/3/4 will have to be defined as items does not matter that you don't have any physical controls for them.
table.insert(items,{name="chan1", input="button", output="value"})
Give them and input and output so you can read and write to them, you can handle this now in code.

Setting remoteable item to 0 is making that item value = 0, in this case Knob 1 = 0 but we are setting the Mode that we can use later. Note Setting it to 0 is a bit like disabling the knob as it's now not assigned..
Modes are handled in Code.
e.g.
table.insert(items,{name="param " ..(i), input="value", output="value",min=0,max=max_value, modes={"NORM","TRIG","skip","group A","group B","group C","group D","2way","3way","4way","5way","6way","7way","8way","9way"}})
If I have a parameter knob on a device which has five different settings, I will give it a mode = 5way, then in code I can use a button to switch that parameter knob between it's five different settings, if I use a knob instead of a button then I just use that as normal and ignore the mode..
Note: I will never bother setting any mappings to "NORM" as that is default(1), in code you reference modes by numbers not by the name you set in items.

User avatar
mcatalao
Competition Winner
Posts: 1950
Joined: 17 Jan 2015

05 Apr 2025

OK, so the way I have this in my set with my bcr20000 up is that I just have 2 buttons that I use to select the next and previous track in the sequencer. IMHO this works quite well because reason will toggle the controls depending on the type of device. A and I just have the bcr2000 as a master controller (not saved to a mixer).

Notice you have to create an automation track for the mixer channel for intrument devices. For audio you don't need additional tracks.

Finally the other mapping processes will limit to an amount of channels and this way you can control.thenwhole mixer and other devices.

Post Reply
  • Information
  • Who is online

    Users browsing this forum: No registered users and 7 guests