STREAM DECK XL - working on a Reason profile

Want to talk about music hardware or software that doesn't include Reason?
User avatar
LABONERECORDINGS
RE Developer
Posts: 401
Joined: 16 Jan 2015
Location: UK
Contact:

11 Jul 2023

Ez all, just a new thread to let you guys know we're working on a Stream Deck XL profile for Reason. We're on Reason 12, and started setting up ultra fast shortcut keys to create devices in the rack, and we've got a shedload of REs and VSTs, so we're going through a bit of a config phase.

What we can say is holy moly... Stream Decks are fast as. We've set up 2 buttons to create Algoritm and Dr Octorex (respectively) and takes around 8-10ms for each (!) yep you read that right. We've also added in Undo/redo buttons as well for those needs, we'll be working on the base instruments and effects that RE+ users would get, and we'll look into some other ways to add faster workflow buttons (such as adding effects as well, which should be pretty easy now we know how the shortcut macro buttons work).

We went for XL purely down to the number of buttons and well it looks damn swish!

If any one has any questions on the Stream Deck, drop a post here

User avatar
East Island
Posts: 103
Joined: 17 Jan 2015
Location: Almelo

11 Jul 2023

I have one too. Great thing. Really very handy. I mainly use it to launch apps. What exactly do you want to do with it?
A Controle Freak. Loves Logic&Reason&Luna ;) , remote controllers.
https://soundcloud.com/east-island

User avatar
LABONERECORDINGS
RE Developer
Posts: 401
Joined: 16 Jan 2015
Location: UK
Contact:

11 Jul 2023

We've been sorting out faster module creation in the rack. Main to speed up adding specific devices and Vst effects (our menus are huge with what's installed). We've sorted out adding Algoritm from one stream deck key press. And added a Dr octorex with another. The deck becomes a "shortcut" master control instead of trauling through menus, because that's a killer at times. Of course other users setups will vary (Reason+ Vs Reason perpetual, plus vat listings), so we're being fairly bespoke but we tried it earlier and created multiple devices in the time it takes to press one of the keys.

Game changer. We wish we got one sooner. Building the profile is the next step plus adding in page shortcuts so we can jump to specific commands, as well as using the standard keyboard shortcuts

User avatar
selig
RE Developer
Posts: 11747
Joined: 15 Jan 2015
Location: The NorthWoods, CT, USA

11 Jul 2023

This is fantastic news. Even via a key command launching/inserting devices is super fast. But each device eats up another key command so this will be very awesome to see.
PLEASE let me know if there's anything I can do to help test etc., I have an XL.
Selig Audio, LLC

User avatar
wendylou
Posts: 467
Joined: 15 Jan 2015
Location: Area 51
Contact:

11 Jul 2023

Great news LabOne! I have the XL so very much looking forward to your Reason profile!
:puf_smile: http://www.galxygirl.com -- :reason: user since 2002

User avatar
LABONERECORDINGS
RE Developer
Posts: 401
Joined: 16 Jan 2015
Location: UK
Contact:

13 Jul 2023

Great to hear people!

The situation is that you might find you need some 'bespoke' profile because of what you might or might not have as your base Reason install. If you have perpetual and a few perpetual REs that will affect the way the units are selected (from browser or the menu listing). We've found browser is better because your right-click list might have zero 'previously used' instruments / effects.

It may be a case of setting Reason up a very specific way in the browser and then Stream Deck can navigate to your specific favourites (again specific order so the Streamdeck keypresses the right number of times etc).

We might see if we can generate a method / 3rd party instruction to determine what stock type you have (R+ or just R with your own extar perpetuals) - could be possible by folder install 'sniffing' the REs installed and add that to the stock (R+ REs you add in could be 'sniffed' too, add that to the list and then the main profile could be built). We'll look into this, but it does look quite positive in how the StreamDeck can work with bespoke installs

User avatar
LABONERECORDINGS
RE Developer
Posts: 401
Joined: 16 Jan 2015
Location: UK
Contact:

13 Jul 2023

Ok we've just did a quick search to find out how to get the directory listing via a browser, so could be cross platform method, we've got a colleague who uses mac too, so we can look into Mac and PC folder sniffing for RE installing (which is the main bit we need to build custom StreaDeck profiles). Next bit is to see if we can program ours up or re-create the list of REs. There would be some settings needed mind you if you have both VST2 and VST3 plugins installed, but you choose not to have them visible in the browser in Reason - this is another step we need to consider when doing the StreamDeck. We'll take a look into what we can do for that too (how to make VST2 / VST3 / RE visible/hidden via StreamDeck, free plugin addon may be required via StreamDeck store but we can include that in any instructions)

We'll do XL first (since Selig and Wendy also have those, that way we can do checks on different installs and go from there).

Also there will be complete privacy between users and us, we would not be passing on any specific data, only collect RE install details to help with building the bespoke template (for clarity, transparency and of course total disclosure)

We'll come back to you soon once we've worked on this a bit more

User avatar
selig
RE Developer
Posts: 11747
Joined: 15 Jan 2015
Location: The NorthWoods, CT, USA

13 Jul 2023

I gotta say, even after adding some RE shortcuts I hardly ever use them. Almost every other function is used more often than that.
So even if you weren’t able to add this one feature, which seems to be troublesome and the only feature you’ve mentioned so far), this would still be 100% useful.

That is to say, this one feature seems to be a time sink and not something I consider essential to the success of this project for my work. I would not likely use it, as I already have it and don’t use it! And I even added graphics for each button, so it’s a pretty slick function and super fast! A button to call up favorites would save enough time for me, no need to be able to launch every possible device from a button!

Tell us about all the other functions that I hope you’re addressing - can we have bi-directional control such as when using the MIDI tools? Meaning, can we have direct access to transport buttons that light when active without needing to use Mackie Control? Same for functions not covered by Mackie Control such as save/undo (can they light when available to use?). What about functions like Solos/Mutes All Off, all zoom functions, commands like auto route, reset device, disconnect device, sort selected devices, MIDI sync, mute selection, zoom to selection/all, application zoom, quantize, grid snap and size, follow song, click on/off, tool window, moving between views, pre count on/off, set loop, set/play loop, etc?

These are all things I use every day, but I would rather have direct control and visual feedback and especially don’t want to have to add a Mac key command just to use the buttons. Thoughts?
Selig Audio, LLC

User avatar
LABONERECORDINGS
RE Developer
Posts: 401
Joined: 16 Jan 2015
Location: UK
Contact:

13 Jul 2023

Will have to check for the Mackie functionality, and also see if there's a way to 'detect' some controls done on the DAW so the StreamDeck has 'feedback' response to what has changed. Totally get what you mean, so we can look into this too

User avatar
LABONERECORDINGS
RE Developer
Posts: 401
Joined: 16 Jan 2015
Location: UK
Contact:

13 Jul 2023

selig wrote:
13 Jul 2023
Same for functions not covered by Mackie Control such as save/undo (can they light when available to use?)
Save / Undo etc are menu commands, so commonly your key-combo you would use gets assigned to the single Stream Deck button. Having Undo/Redo lit up when available might be quite cool to employ, if possible. We'll take a look and see what other nifty addons can actually do this

User avatar
LABONERECORDINGS
RE Developer
Posts: 401
Joined: 16 Jan 2015
Location: UK
Contact:

13 Jul 2023

Interesting..... StreamDeck MIDI plugin allows to and fro between DAW and Deck, via virtual MIDI - seems that an extra virtual MIDI connection is 'piped' between both, and a 'generic controller' would need adding in to Reason control surfaces. Easy enough. And the plugin is Mac and PC compatible

That covers the Mackie side of things....

https://apps.elgato.com/plugins/se.trevligaspel.midi

EDIT - ok this is for StreamDeck+ but will see what can be done with XL

User avatar
wendylou
Posts: 467
Joined: 15 Jan 2015
Location: Area 51
Contact:

13 Jul 2023

@LABONERECORDINGS I assume the project is using the Stream Deck SDK ?
:puf_smile: http://www.galxygirl.com -- :reason: user since 2002

User avatar
selig
RE Developer
Posts: 11747
Joined: 15 Jan 2015
Location: The NorthWoods, CT, USA

13 Jul 2023

LABONERECORDINGS wrote:
13 Jul 2023
Interesting..... StreamDeck MIDI plugin allows to and fro between DAW and Deck, via virtual MIDI - seems that an extra virtual MIDI connection is 'piped' between both, and a 'generic controller' would need adding in to Reason control surfaces. Easy enough. And the plugin is Mac and PC compatible

That covers the Mackie side of things....

https://apps.elgato.com/plugins/se.trevligaspel.midi

EDIT - ok this is for StreamDeck+ but will see what can be done with XL
That's what I'm using on my XL to get bi-directional button control, but it only works on buttons that are covered in the Mackie Control spec. That's what I had hoped a direct "Reason" plugin would bring to the table.
Selig Audio, LLC

User avatar
Catblack
Posts: 1021
Joined: 15 Apr 2016
Contact:

14 Jul 2023

Very interesting. While I doubt I would ever get one (as I've a huge box filled with controllers and very little desk space,) I am interested in the Remote side of things. I'd say you should be able to do anything in Remote with this thing just from a quick glance at the midi plugin for it.
If you ain't hip to the rare Housequake, shut up already.

Damn.

balloonhead
Posts: 11
Joined: 05 May 2019

14 Jul 2023

Interesting I own a XL version of Reason filled up completely with streaming setup buttons. Never got Reason to work with any buttons because the lag of MIDI-Compatibility in Reason was to big.

I look forward what you will do with that profile. Most of the functions that I need in Reason are controlled by a Native Instruments Komplete Kontrol S61 even it has not the full funcionality (lag of full MIDI-Support in Reason).

And, will your profile not only support Version 12 of Reason but also version 11 or even 10? I dont think I will upgrade my version 11 to 12 because this somehow gets me into a very expensive subscription

User avatar
selig
RE Developer
Posts: 11747
Joined: 15 Jan 2015
Location: The NorthWoods, CT, USA

14 Jul 2023

LABONERECORDINGS wrote:
13 Jul 2023
selig wrote:
13 Jul 2023
Same for functions not covered by Mackie Control such as save/undo (can they light when available to use?)
Save / Undo etc are menu commands, so commonly your key-combo you would use gets assigned to the single Stream Deck button. Having Undo/Redo lit up when available might be quite cool to employ, if possible. We'll take a look and see what other nifty addons can actually do this
I should point out there is a limitation on assigning key commands to hot keys - they have to exist first! For any function with an existing key command, no problem (but it's still not bi-directionally communicating). But for other functions not so much. Inserting instrument/FX etc showed me that limit quickly!

What I'm specifically asking about can be seen on plugins like the one for Keynote, where there are buttons for common commands that are linked directly to the application. They are not using a HotKey (a button that triggers a key command), but rather some kind of direct connection - but I'm totally unaware of what the SDK actually allows so I may be totally talking out my ass here!

What I'm hoping for is all commands to be available, including things with no key command such as DIM, Solos All Off, Mutes All Off, and a few others.
Currently, my workaround to get around not being able to assign a key command to a button that has no matching menu command involves using Remote and a key command. BUT, then you have to save it with the song/template, and if you open a song from someone else all these controls will break.

So basically my StreamDeck is a bit hacked together at present, and in a perfect world I'd love to just run the Reason plugin for every control/button.
However much closer to that you can get me, I'm all in! :)
Selig Audio, LLC

User avatar
wendylou
Posts: 467
Joined: 15 Jan 2015
Location: Area 51
Contact:

15 Jul 2023

I believe the Stream Deck SDK would allow for a more powerful template that exceeds the current array of plugin controls.
:puf_smile: http://www.galxygirl.com -- :reason: user since 2002

User avatar
Catblack
Posts: 1021
Joined: 15 Apr 2016
Contact:

16 Jul 2023

wendylou wrote:
15 Jul 2023
I believe the Stream Deck SDK would allow for a more powerful template that exceeds the current array of plugin controls.
If I had one, I'd consider a codec that works in Remote the way that the Automap codec works. Just from memory, I could be wrong. It uses a loop to just define 128 items. Items in the codec file are how you tie into Remoteables in the Remotemap. These items in the Remotemap are all just sort of bulk dumped in, sort of indexing the remotemap. Then there's a callback function, remote_set_state() that changes as things change in reason, and gives you a list of those items. The Automap codec then takes those items, looks up the Remoteable name using the utility function remote.get_item_name() and sends a sysex message with the text to the Automap program which then sends it to the keyboard's screen.

The Automap codec is also using a trick -- which is where I think I picked it up -- of embedding a variable (or two) for telling what scope you are under. I expanded on this a little when I grepped through a remotemap ages ago, in my case adding a _scope and _var (for variation/group) so I could follow what scope you are under in the remotemap. I was going to use this to implement a Kong device state, you could use this to follow the buttons as you change variation/group in the remotemap. You can see my old grepped through file here:
https://github.com/KittenVillage/Kitten ... .remotemap

I'm making the assumption there's some way of sending sysex strings to those little screens on the XL. I don't know, i don't have one. But it's totally possible in the codec to do the trapeze act of getting the name of remotable out to sysex as it's changed in Reason. Good luck.
If you ain't hip to the rare Housequake, shut up already.

Damn.

User avatar
LABONERECORDINGS
RE Developer
Posts: 401
Joined: 16 Jan 2015
Location: UK
Contact:

19 Jul 2023

We'll look more into the RemoteSDK regarding this, as the StreamDeck SDK seems more geared towards specific StreamDeck plugin coding (which might work but needs looking at). We've seen the Mackie MCU plugin StreamDeck has, and the MIDI plugin as well, so it's not impossible, just needs a bit of looking under the hood

RS RemoteSDK might be another angle to work from though, but will investigate more on this

User avatar
selig
RE Developer
Posts: 11747
Joined: 15 Jan 2015
Location: The NorthWoods, CT, USA

19 Jul 2023

Maybe I’m asking the wrong question.
What exactly will a Reason plugin accomplish?

I can already load any device instantly with a single button (as long as it has a key command associated with it). After setting a few of these up, I’m not sold on this being all that useful in practice since I already have more than 32 items in my favorites list and that would mean more than one page of buttons JUST for devices. Since adding devices is relatively small part of my overall workflow, I would need to put these devices in a folder and then put this folder in a place(s) that are accessible at any point.

About the only device I create regularly is a Combinator, and I already have a key command to “combine” any selection since I rarely need to create an empty Combinator.

That said, I assumed (mistakenly?) there would be more to a Reason plugin than another way to load devices. Since I’ve not looked at the SDK for StreamDeck, can you (or anyone) explain what is possible with the SDK, and is there anything at all that goes beyond features already possible with MIDI/Mackie Control? Or at least as good as those solutions but simpler to setup?
Selig Audio, LLC

User avatar
LABONERECORDINGS
RE Developer
Posts: 401
Joined: 16 Jan 2015
Location: UK
Contact:

25 Jul 2023

selig wrote:
19 Jul 2023
Maybe I’m asking the wrong question.
What exactly will a Reason plugin accomplish?
We're looking at using the StreamDeck for shortcut functions, or maybe special features that you always perform, we know there are keyboard shortcuts as well for jumping around the project etc, and for the profile itself for the StreamDeck might need to be expanded to more than 1 profile

Example... you (Selig) mention you already have 32 shortcuts taken up and multiple pages may be a bind, which yes it can be to remember what page the shortcuts are on. But, we've seen that there are 'goto page#' buttons as well which also can have their own icon, so perhaps once could be 'add instrument' and then the StreamDeck could 'jump' to that category, and also include a 'go home' button to get back to the first page. StreamDeck by design auto adds in the prev/next buttons when you add at least 1 page (first page has a 'next', last page has a 'prev', all other pages have prev+next, so you have 31 configurable buttons on page 1 and last page, 30 on the others).

RemoteSDK allows potentially fast 'linking' to comands via the RemoteCodec listing, just need to find a way (like the Mackie MCU method) to live-time update commands.

User avatar
selig
RE Developer
Posts: 11747
Joined: 15 Jan 2015
Location: The NorthWoods, CT, USA

27 Jul 2023

I’ve configured StreamDeck FAR beyond a bunch of shortcuts that I can’t remember where they are!

I have it setup to launch/go to Reason from the home page From there I have buttons for Mixer/Rack/Sequencer that switch screens on Reason as well as on StreamDeck. This allows me to have a unique set of commands that apply to the current view. From there, if in the sequencer I can hit the “edit” button and have another set of “shortcuts” that apply directly to editing. From the Rack page I have a button that takes me to the instrument/effects direct load buttons. From the mixer page I’m building a link to all the color options in Reason (with color coded buttons to match, of course). But for the instruments and colors I need to FIRST assign a key command in the Mac OS - and there are only so many key commands. Also, my setup won’t transfer to a different system because it won’t have my personal key commands I added. Same for a few buttons that need a remote override (since they have no menu command and therefore cannot have a key assigned), but in this case the song file itself must have the remote assigned for these buttons to work correctly (I assign them to my startup template, but older songs won’t have these ‘bindings’).

All of this would be WAY simpler if there was a Reason overlay that gave us direct access to any Reason menu/button (two way communication would be even better!).

So I almost have a setup that works how I want, it’s just klunky and still has limits, though I must say that I’m amazed at how deep this little box can go!
I’ll cover my StreamDeck template on my live stream today if anyone is interested (I’ll start with StreamDeck at the beginning of the stream).
viewtopic.php?f=5&t=7532177
Selig Audio, LLC

User avatar
LABONERECORDINGS
RE Developer
Posts: 401
Joined: 16 Jan 2015
Location: UK
Contact:

31 Jul 2023

Yep we've found a way for 2 way communication. Using a mix of Mackie Control and some MIDI control, and a slight tweak to the Remote codec for the Universal Control. Pretty easy setup. What happens is some of the toggle buttons become MIDI looped into Reason, so the MIDi command that comes from Reason can reset the StreamDeck and vice versa.

We've just tested with a couple of MUTE buttons on 2 channels, and the All Mutes Off button without needing to override (adhoced the MCU default remotemap). Which means if you use the MCU template as standard you get a HELL of a lot of control even on older projects, without 'broken' remote maps.

We added in 2 lines of text for the All Mutes off and All Solo Off and instantly works, linking each to one of the many buttons on the MCU.

We're using the MIDI plugin for the StreamDeck, so we get Mackie Control as well as MIDI functions, that was the F-buttons on the Mackie come into play, even though they aren't covered in the main Mackie Control config (that's more aimed at the strip controls, like faders, vpots, solos, mutes).

What we're doing in a sense is using the Mackie MCU template, and 'frankensteining' MIDI and MCU controls into the StreamDeck for the Main Mixer control functions. Next bit would be to jump base channels so we have 1 page on StreamDeck that basically a 'buttons only' Mackie MCU.

DIM is already linked to Mackie MCU SNAPSHOT button, so all we need to do is connect the StreamDeck via MIDI to the right command used my the MCU, voila job done.

This is going to be a very handy lil unit.

Regarding colours, we're using the menu command shortcut (Alt/E on Windows for example for EDIT), but this is prone to problems depending on which screen view you are in. Found that if we're colouring the rack the button works fine, but if you're in the mixer, the command 'undoes' the colouring becasue the command listing isn't quite right (track colour vs Channel colour), so StreamDeck sends the command to Alt-E (Edit menu) then since no (t)rack colour list is skips the steps and presses enter as our multikepypress... so enter = 'undo' command. Needs a bit more work, will keep looking into this for these 'specialised' functions

User avatar
selig
RE Developer
Posts: 11747
Joined: 15 Jan 2015
Location: The NorthWoods, CT, USA

01 Aug 2023

LABONERECORDINGS wrote:
31 Jul 2023
Yep we've found a way for 2 way communication. Using a mix of Mackie Control and some MIDI control, and a slight tweak to the Remote codec for the Universal Control. Pretty easy setup. What happens is some of the toggle buttons become MIDI looped into Reason, so the MIDi command that comes from Reason can reset the StreamDeck and vice versa.

We've just tested with a couple of MUTE buttons on 2 channels, and the All Mutes Off button without needing to override (adhoced the MCU default remotemap). Which means if you use the MCU template as standard you get a HELL of a lot of control even on older projects, without 'broken' remote maps.

We added in 2 lines of text for the All Mutes off and All Solo Off and instantly works, linking each to one of the many buttons on the MCU.

We're using the MIDI plugin for the StreamDeck, so we get Mackie Control as well as MIDI functions, that was the F-buttons on the Mackie come into play, even though they aren't covered in the main Mackie Control config (that's more aimed at the strip controls, like faders, vpots, solos, mutes).

What we're doing in a sense is using the Mackie MCU template, and 'frankensteining' MIDI and MCU controls into the StreamDeck for the Main Mixer control functions. Next bit would be to jump base channels so we have 1 page on StreamDeck that basically a 'buttons only' Mackie MCU.

DIM is already linked to Mackie MCU SNAPSHOT button, so all we need to do is connect the StreamDeck via MIDI to the right command used my the MCU, voila job done.

This is going to be a very handy lil unit.

Regarding colours, we're using the menu command shortcut (Alt/E on Windows for example for EDIT), but this is prone to problems depending on which screen view you are in. Found that if we're colouring the rack the button works fine, but if you're in the mixer, the command 'undoes' the colouring becasue the command listing isn't quite right (track colour vs Channel colour), so StreamDeck sends the command to Alt-E (Edit menu) then since no (t)rack colour list is skips the steps and presses enter as our multikepypress... so enter = 'undo' command. Needs a bit more work, will keep looking into this for these 'specialised' functions
I’m already using Mackie Control and MIDI extensively, would love to know how to access the Mute All Off without using Remote as you suggest is possible.
How do I do this (did I miss it in your text)?
Selig Audio, LLC

User avatar
LABONERECORDINGS
RE Developer
Posts: 401
Joined: 16 Jan 2015
Location: UK
Contact:

01 Aug 2023

Ok you need to edit the Mackie Universal Control.remotemap file, find the Master Mixer section, add in something like

F1 button All Mutes Off
F2 button All Solo Off

What this does is bind the two buttons within the Mackie remotemap, meaning you add two MIDI note buttons (note 54 and 55) into your StreamDeck layout. Mackie Control doesn't have MIDI note buttons for all the extra controls, so you need to use both Mackie plugin and MIDI plugin. Also means it will work regardless how old the project file is because it's using a Reason 'default-modded' remotemap.

Post Reply
  • Information
  • Who is online

    Users browsing this forum: No registered users and 66 guests