Switch Blocks by MIDI Controller

This forum is for discussing Reason. Questions, answers, ideas, and opinions... all apply.
Post Reply
User avatar
me-yourself-and-them
Posts: 71
Joined: 09 Jan 2022

28 Jul 2022

Been searching a long time. I got a song with multiple blocks. How do I teach my midi controller to switch IN BEAT to block A B C D etc? I know Nektar can do this...

jonnyretina
Posts: 113
Joined: 18 Jun 2022

28 Jul 2022

me-yourself-and-them wrote:
28 Jul 2022
Been searching a long time. I got a song with multiple blocks. How do I teach my midi controller to switch IN BEAT to block A B C D etc? I know Nektar can do this...
Are you talking about something like this?



What MIDI controller do you have?

User avatar
me-yourself-and-them
Posts: 71
Joined: 09 Jan 2022

28 Jul 2022

yep. this was the video. its built in the nectar codec. i want to do this either with a akai midimix knob (move loop locators left/right, start and end) or by buttons on a novation launchpad. endless knob available.

need something like Alt+Shift+Arrow Up through midi controller

jonnyretina
Posts: 113
Joined: 18 Jun 2022

28 Jul 2022

me-yourself-and-them wrote:
28 Jul 2022
yep. this was the video. its built in the nectar codec. i want to do this either with a akai midimix knob (move loop locators left/right, start and end) or by buttons on a novation launchpad. endless knob available.

need something like Alt+Shift+Arrow Up through midi controller
Have you seen this thread here? viewtopic.php?t=7501747

User avatar
me-yourself-and-them
Posts: 71
Joined: 09 Jan 2022

29 Jul 2022

yep seen it. i gues you're thinking about something like this, right? https://midikey2key.de/

jonnyretina
Posts: 113
Joined: 18 Jun 2022

29 Jul 2022

me-yourself-and-them wrote:
29 Jul 2022
yep seen it. i gues you're thinking about something like this, right? https://midikey2key.de/
What would be good is if someone with a Nektar which works like this can use a MIDI monitoring app to see exactly what the MIDI messages are that the device is sending to Reason when those clip buttons are pressed when in 'scene trigger mode'.

Then we can duplicate those exact same MIDI commands in software which would mean any piece of hardware could then theoretically trigger those same MIDI commands, perhaps using something like ControllerMate or Bome to translate if need be. Or perhaps none of this is necessary and it just requires hacking around in .midicodec files to trigger those same commands from any hardware controller?

I didn't know about this before yesterday but I actually think it's the strongest potential I've seen yet for the in-time clip triggering behaviour of Ableton Live to be replicated within a Reason environment and not just for Nektar users but for all Reason users.

Just reading this soundonsound guide here, perhaps of some use: https://www.soundonsound.com/techniques ... les-reason

I'm away from my DAW at the moment but will have a play later and see if with a little hacking this is something that could be easily accessed for all Reason users...

User avatar
me-yourself-and-them
Posts: 71
Joined: 09 Jan 2022

30 Jul 2022

interesting idea, jonnyretina! anybody with a nectar around und could post a dump of what's happening midi-wise when using nectar to switch blocks in scene mode? with the right dump (transport effect / midi data) i feel able to program a demo code for eg. launchpad.

the idea mentioned above (rewireing midi to keyboard shortcuts) seems not to be the best option. why?
you can definitely move loop positions.
you may be able to move the in and out markers, but i couldn't find not kb shortcut.
biggest disadvantage: it doesn't look like you could achieve the above IN BEAT.

djsmex
Posts: 248
Joined: 23 Aug 2016

30 Jul 2022

I'm not a nektar owner myself but believe it has HID driver as well as MIDI ports, so my guess is that it uses the HID driver to send keyboard actions to switch blocks as I don't believe there are any remote items to do this.
To fully understand how the nektar controller works with reason, you will need to monitor both the midi ports and hid port plus see how the lua codec manages the midi.
I have requested many updates to remote, including adding remote items for blocks, browser, sequencer, toolbar and tool window. Perhaps in a future update...

jonnyretina
Posts: 113
Joined: 18 Jun 2022

30 Jul 2022

djsmex wrote:
30 Jul 2022
I'm not a nektar owner myself but believe it has HID driver as well as MIDI ports, so my guess is that it uses the HID driver to send keyboard actions to switch blocks as I don't believe there are any remote items to do this.
To fully understand how the nektar controller works with reason, you will need to monitor both the midi ports and hid port plus see how the lua codec manages the midi.
I have requested many updates to remote, including adding remote items for blocks, browser, sequencer, toolbar and tool window. Perhaps in a future update...
This is the mystery as if they're simple keyboard actions, surely these could be replicated using just any standard keyboard?

There must be something going on that taps into a feature natively available within Reason; be it undocumented keyboard shortcuts, MIDI remote signal support via a .midicodec file or Lua Codec support via a .luacodec file.

Regardless someone should be able to reverse engineer this so it can be generically triggered. Unfortunately whatever it is, it isn't very well documented anywhere...

User avatar
Aosta
Posts: 1051
Joined: 26 Jun 2017

30 Jul 2022

I have been looking for something like this in Reason for years, every work around I've found is clunky.
We live in hope.
Tend the flame

jonnyretina
Posts: 113
Joined: 18 Jun 2022

31 Jul 2022

Aosta wrote:
30 Jul 2022
I have been looking for something like this in Reason for years, every work around I've found is clunky.
We live in hope.
I've posted a comment in this big Nektar thread viewtopic.php?f=12&t=7491466&p=614191#p614191 hoping someone with a Nektar can lend a hand in helping us work out how to replicate this behaviour universally.

djsmex
Posts: 248
Joined: 23 Aug 2016

31 Jul 2022

My guess is the nektar lua codec updates the nektar of beat changes and the nektar controller uses this info to trigger hid keyboard output. As there are remote items for bars, beats, 16ths and ticks. If the midi data being sent is quite minimal, it can update in less than 30ms, enough to sync beats and bars.

User avatar
me-yourself-and-them
Posts: 71
Joined: 09 Jan 2022

31 Jul 2022

djsmex wrote:
30 Jul 2022
I'm not a nektar owner myself but believe it has HID driver as well as MIDI ports, so my guess is that it uses the HID driver to send keyboard actions to switch blocks as I don't believe there are any remote items to do this.
To fully understand how the nektar controller works with reason, you will need to monitor both the midi ports and hid port plus see how the lua codec manages the midi.
I have requested many updates to remote, including adding remote items for blocks, browser, sequencer, toolbar and tool window. Perhaps in a future update...
what are the keyboard shortcuts to switch blocks? i can't find any.

User avatar
Aosta
Posts: 1051
Joined: 26 Jun 2017

31 Jul 2022

I wonder if this can be achieved using the Nektar P4?
Tend the flame

rmtcvolte
Posts: 205
Joined: 15 Nov 2018

31 Jul 2022

Aosta wrote:
31 Jul 2022
I wonder if this can be achieved using the Nektar P4?
If you had set up everything right: hit Transport button -> lower row right button "Looper".
In looper mode you can change Length of the loop and the Offset for all loops with the knob right to the display. With link activated you can lengthen the loop by hitting a second pad. The position of the loop depends on the length and you can choose it with the pads.

User avatar
Aosta
Posts: 1051
Joined: 26 Jun 2017

31 Jul 2022

rmtcvolte wrote:
31 Jul 2022
If you had set up everything right: hit Transport button -> lower row right button "Looper".
In looper mode you can change Length of the loop and the Offset for all loops with the knob right to the display. With link activated you can lengthen the loop by hitting a second pad. The position of the loop depends on the length and you can choose it with the pads.
Fantastic! I will check this out, thanks :thumbup:
Tend the flame

User avatar
me-yourself-and-them
Posts: 71
Joined: 09 Jan 2022

02 Aug 2022

@aosta: could you send me the midi & lua codecs plus map for the p4? would like to inspect it. it has to be adoptable for any midi controller. and yes, @jonnyretina: this would be the holy grail for live performing...
Last edited by me-yourself-and-them on 03 Aug 2022, edited 1 time in total.

User avatar
me-yourself-and-them
Posts: 71
Joined: 09 Jan 2022

03 Aug 2022

i even asked the nektar guys. they sure won't tell how they achieved the holy grail feature...

jonnyretina
Posts: 113
Joined: 18 Jun 2022

03 Aug 2022

me-yourself-and-them wrote:
03 Aug 2022
i even asked the nektar guys. they sure won't tell how they achieved the holy grail feature...
Of course they won't, they want you to buy their hardware!

I'm convinced it can't be doing anything special that can't be replicated using any standard controller...

User avatar
Arpeg
Competition Winner
Posts: 201
Joined: 31 Oct 2021

03 Aug 2022

Before I purchased the Impact LX49+ with the lovely 'scenes' button, ooh yeah! I was using pc keyboard shortcuts : So set loop or L - R indicators to say 0-16, ALT+arrow up or down to move the set loop left or right across the sequencer quickly, then, with NUM Lock ON, press 1 to hit L indicator immediately or 2 for R indicator. The problem being it is manual with more things to do than just hitting a pad on the Impact LX+, and of course it isn't quantized.
Looping effect options with RE player devices like Drum Sequencer which has reset step and Sequences with Auto Reset are very very useful inside a Combi with a flick of switch or perhaps key my 32 bar loop goes to 4 bar for a nice fill in or just 32 to 8 bar for instance loop feel during part of a track like a so called middle eight etc.
I also purchased Sugar Bytes Turnado, so my loop options are now very good along with the Impact LX+ scenes option, and resetting steps in player devices and not forgetting Octorex :)
I presume you have checked out the PEFF effect devices Directre and/or Buffre, they may be of some use : https://www.reasonstudios.com/shop/brow ... loper=PEFF
You can also download the combinator 1 effect patches that go with the these devices.

Personally mate I would just purchase an Impact LX25+ for Reason integration alone and with the scenes button you can start getting on with your projects very quickly the way you intended without having to come to a halt of some sort and inadvertently kill the flow and creativeness you were aspiring to. At a price of around £75, possibly £50 to £60 second hand, it will be money well spent, a game changer

djsmex
Posts: 248
Joined: 23 Aug 2016

03 Aug 2022

After following this thread, it seems the nektar doesn't switch the reason 32 blocks in block mode but instead set/store/recall multiple loop l/r markers and moves to the left marker.
This can be done with lua codec by using lua variables to store l/r loop presets and the document scope. Therefore, in theory can be replicated for other midi controllers if you are able to write suitable lua codecs for it.

jonnyretina
Posts: 113
Joined: 18 Jun 2022

03 Aug 2022

djsmex wrote:
03 Aug 2022
After following this thread, it seems the nektar doesn't switch the reason 32 blocks in block mode but instead set/store/recall multiple loop l/r markers and moves to the left marker.
This can be done with lua codec by using lua variables to store l/r loop presets and the document scope. Therefore, in theory can be replicated for other midi controllers if you are able to write suitable lua codecs for it.
Ideally we could do with someone who has a Nektar device sharing their Lua codec files so we can borrow the code therein.

rmtcvolte
Posts: 205
Joined: 15 Nov 2018

03 Aug 2022

jonnyretina wrote:
03 Aug 2022
djsmex wrote:
03 Aug 2022
After following this thread, it seems the nektar doesn't switch the reason 32 blocks in block mode but instead set/store/recall multiple loop l/r markers and moves to the left marker.
This can be done with lua codec by using lua variables to store l/r loop presets and the document scope. Therefore, in theory can be replicated for other midi controllers if you are able to write suitable lua codecs for it.
Ideally we could do with someone who has a Nektar device sharing their Lua codec files so we can borrow the code therein.
As djsmex stated, it is doable with an adapted luacodec. But the one for the Nektar Panorama series is about 11000 lines and a search for "loop" in the codec gives more then 300 hits, to "borrow" something isnt verry useful imo.
As all midi controllers are different and have a special codec a general solution is not possible. It depends on numbers of knobs, buttons, faders, pads and what midi functions each of them can deliver. If you have encoders with delta function you can set the loop makers to them and set it up freely in the timeline, rotarys with values from 0 to 127 wont work for this. Pads who cant be reprogrammed from notes to buttons will eventuelly be not useful and so on.
And if i remember correct, everything what is mapped in the document scope (where all loop related items are in) will be overwritten by individuell scopes for instrument, effect scopes. As long as there is no option to switch modes (from control to loop) you will need lots of controls on your midi device.
With this in mind a possible solution would be to have kind of a "save" button and a few "loop preset buttons" to store some left/right maker position to them and recall different loops this way....

djsmex
Posts: 248
Joined: 23 Aug 2016

03 Aug 2022

As rmtcvolte says, the codec needs to match the midi hardware and the remote items in document scope to set the r/l loop position will not work well with a standard 0-127 pot/fader but instead work best with delta endless encoder or in some cases buttons.
However, the code concept is to have the midi control set the l/r loop position and store it in lua variables then use different midi controls to recall these stored values to set the loop position and then jump to the left marker. To have it sync to beats or bars, it will need more code to check the song position and play state before jumping to the left marker, only making the jump on a beat or bar value while 16ths and ticks are equal to .1.0 respectively.
I'll see if I can add loop regions to my speaking retransport web app and look at having it sync to beats when playing. Currently my web app has song markers not synced which works in much the same way but done via js not lua.
https://nostex.co.uk/ReTransport/
(still in development)

Post Reply
  • Information