Go Back   Cockos Incorporated Forums > REAPER Forums > MIDI Hardware, Control Surfaces, and OSC

Reply
 
Thread Tools Display Modes
Old 10-21-2019, 11:59 AM   #1
Flix
Human being with feelings
 
Flix's Avatar
 
Join Date: Sep 2016
Posts: 36
Default BeatStep Pro as controller - double-pressing buttons

Hi all,

I have set up my BeatStep Pro as a MIDI controller for Reaper (so in Control Mode). I've set up the 16 main buttons to the actions that press toolbar buttons 1-16. However, I'm finding that each press of the BSP button presses the corresponding toolbar button twice - once when I press the BSP button and once when I release it.

I've checked the BSP config and it's set to send 127 on press, and 0 on release ("Gate mode"). I've checked in MIDI-OX and this is exactly what's being sent.

This suggests to me that Reaper's actions are interpreting both the 127 AND the 0 as button presses, which seems odd to me. Has anyone else come across this?

If I turn the BSP buttons to "Toggle mode" then it only sends a single value, on press, which fixes the issue - but it means the BSP lights the buttons when the toggle is "on", so it stays lit up after every other press, so it's not ideal.

Is there a way to configure Reaper so it ignores the 0 values? (It seems odd to me that it interprets a 0 as positive action - surely most MIDI controllers work in the same fashion for momentary actions.)
Flix is offline   Reply With Quote
Old 10-21-2019, 12:41 PM   #2
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Quote:
Originally Posted by Flix View Post
Is there a way to configure Reaper so it ignores the 0 values?
There are many Midi "protocols" the many types of control surfaces speak.

Hence there are many ways to configure Reaper and it's sidekicks (plugins) to convert series of Midi events to Reaper actions.

Very likely some will solve the issue.

Maybe there is a knowledgeable BeatStep user ...

-Michael
mschnell is offline   Reply With Quote
Old 10-21-2019, 02:31 PM   #3
kenm
Human being with feelings
 
Join Date: Dec 2011
Location: San Jose, CA, USA
Posts: 115
Default

You are correct in that Reaper triggers based on CC messages, ignoring the value. Rather than triggering the action with the CC itself, trigger a ReaScript action with the CC and then check the value in the message and execute the action as long as the value isn't 0.

Give me a few minutes and I'll put something together for you.

Ken
kenm is offline   Reply With Quote
Old 10-21-2019, 02:50 PM   #4
kenm
Human being with feelings
 
Join Date: Dec 2011
Location: San Jose, CA, USA
Posts: 115
Default

You'll need to create a script for each of the 16 actions you want to execute. Associate each script to the CC you want to trigger it. The script checks that the value is greater than ZERO before it executes the command.

Code:
--
-- Replace <Action> with Reaper Command #
--
is_new,filename,sectionID,cmdID,mode,resolution,value = reaper.get_action_context()

if is_new and value > 0 then reaper.Main_OnCommand(<Action>, 0)  end
kenm is offline   Reply With Quote
Old 10-22-2019, 02:44 AM   #5
airon
Human being with feelings
 
airon's Avatar
 
Join Date: Aug 2006
Location: Berlin
Posts: 11,817
Default

That could be a nice feature request to expand the action trigger functionality as well. Double-press. This should be added to CSI too, if it hasn't been already.
__________________
Using Latch Preview (Video) - Faderport 16 setup for CSI 1.1 , CSI 3.10
Website
"My ego comes pre-shrunk" - Randy Thom
airon is offline   Reply With Quote
Old 10-23-2019, 09:20 AM   #6
themixtape
Human being with feelings
 
themixtape's Avatar
 
Join Date: Aug 2009
Posts: 1,199
Default

Quote:
Originally Posted by Flix View Post
Hi all,

I have set up my BeatStep Pro as a MIDI controller for Reaper (so in Control Mode). I've set up the 16 main buttons to the actions that press toolbar buttons 1-16. However, I'm finding that each press of the BSP button presses the corresponding toolbar button twice - once when I press the BSP button and once when I release it.

I've checked the BSP config and it's set to send 127 on press, and 0 on release ("Gate mode"). I've checked in MIDI-OX and this is exactly what's being sent.

This suggests to me that Reaper's actions are interpreting both the 127 AND the 0 as button presses, which seems odd to me. Has anyone else come across this?

If I turn the BSP buttons to "Toggle mode" then it only sends a single value, on press, which fixes the issue - but it means the BSP lights the buttons when the toggle is "on", so it stays lit up after every other press, so it's not ideal.

Is there a way to configure Reaper so it ignores the 0 values? (It seems odd to me that it interprets a 0 as positive action - surely most MIDI controllers work in the same fashion for momentary actions.)
This drove me nuts with Arturia's MCC editor. It can only do toggle and momentary. However, if you set the Beatstep Pro's buttons to Program Change instead, and pick any number (0-127) that you're not using for another purpose (I never use Program Change messages unless I need a "Trigger" button function)... that will work. Pick a MIDI channel you rarely use, too... like 15 or 16 or something. I also set the min/max values to 0.... so, for instance I have "Insert Marker" on a Beatstep Pro button... Program Change 3, Ch. 16, values at 0. Works great, in the way you intend... and this way, you don't have to make a script.
__________________
FREE copyright-safe/DMCA-safe music for Twitch/Kick streamers, classrooms, waiting rooms (playlists on all streaming platforms):
https://tinyurl.com/copyrightsafemusic
themixtape is offline   Reply With Quote
Old 10-23-2019, 11:54 AM   #7
kenm
Human being with feelings
 
Join Date: Dec 2011
Location: San Jose, CA, USA
Posts: 115
Default

Quote:
Originally Posted by themixtape View Post
This drove me nuts with Arturia's MCC editor. It can only do toggle and momentary. However, if you set the Beatstep Pro's buttons to Program Change instead, and pick any number (0-127) that you're not using for another purpose (I never use Program Change messages unless I need a "Trigger" button function)... that will work. Pick a MIDI channel you rarely use, too... like 15 or 16 or something. I also set the min/max values to 0.... so, for instance I have "Insert Marker" on a Beatstep Pro button... Program Change 3, Ch. 16, values at 0. Works great, in the way you intend... and this way, you don't have to make a script.
^^^ This is a good suggestion. Definitely better to change to unique messages whenever possible. I kind of got used to scripting the mods I need simply because some of the controllers I've used don't have editors that allow those kinds of changes.

Ken
kenm is offline   Reply With Quote
Old 09-08-2020, 06:57 AM   #8
Flix
Human being with feelings
 
Flix's Avatar
 
Join Date: Sep 2016
Posts: 36
Default

I just realised I never thanked the posters here for their suggestions - apologies, and thank you!

In the end I dedicated the BSP elsewhere in my studio anyway, so I'm using other controllers, but I'll bear in mind the above suggestions for use with those (in particular the Novation Nocturn, which seems to have some slightly odd MIDI message behaviour as well).

I am just about comfortable putting a script together but it's pretty time-consuming atm so I'll try out the Program Change option first. I didn't realise Reaper could accept Program Change messages as generic action triggers!
Flix is offline   Reply With Quote
Old 09-11-2020, 07:15 PM   #9
themixtape
Human being with feelings
 
themixtape's Avatar
 
Join Date: Aug 2009
Posts: 1,199
Default

You're very welcome!
__________________
FREE copyright-safe/DMCA-safe music for Twitch/Kick streamers, classrooms, waiting rooms (playlists on all streaming platforms):
https://tinyurl.com/copyrightsafemusic
themixtape is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 04:12 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.