Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Feature Requests

View Poll Results: Would you use this feature?
Yes, I would use it 11 84.62%
No, I would not use it 1 7.69%
Fish (I don't care) 1 7.69%
Voters: 13. You may not vote on this poll

Reply
 
Thread Tools Display Modes
Old 04-06-2016, 04:53 AM   #1
DarkStar
Human being with feelings
 
DarkStar's Avatar
 
Join Date: May 2006
Location: Surrey, UK
Posts: 19,677
Default Assigning MIDI CC to Actions (in 'Toggle' mode)

Short version:
Provide Toggle mode for controller buttons, by adding an option to the Shortcut Assign window to ignore CC messages with data values of zero.



Longer version:
At the moment there is a problem. Many keyboard controllers have buttons that send a MIDI CC message both when pressed and when released.

If that CC message is assigned to an Action, then the Action is performed both times. Often that is not what is wanted. Instead the action is only wanted each time the button is pressed (nothing should happen when it is released).

Now, on some controllers the buttons can be configured to 'Toggle' mode, in which no message is sent when the button is released. That would solve the problem but (a) can be awkward (b) is not available on all controllers (c) may need reconfiguring if the button is reassigned.

A much better solution is for Reaper to ignore such mapped CC messages when the data value is zero. So the sequence would be:
  • press the button, send a CC message (with a value of 127), detected by Reaper, perform the Action
  • release the button, send a CC message (with a value of 0), ignored by Reaper
  • press the button again, send a CC message (with a value of 127), detected by Reaper, perform the Action
  • release the button, send a CC message (with a value of 0), ignored by Reaper
Adding an option to the Shortcut Assign window would enable the user to select it.

PS It looks like if a Note is used as a Shortcut then the Note Off is already ignored.
__________________
DarkStar ... interesting, if true. . . . Inspired by ...
DarkStar is offline   Reply With Quote
Old 04-06-2016, 05:18 AM   #2
Gass n Klang
Human being with feelings
 
Gass n Klang's Avatar
 
Join Date: Nov 2015
Location: Cologne
Posts: 1,636
Default

yes yes yes!
Gass n Klang is offline   Reply With Quote
Old 04-07-2016, 01:05 PM   #3
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 189
Default

This unwanted spurious behaviour can already be addressed by using either
1) OSCII-bot from Cockos and a script that translates from Midi to OSC (see http://www.cockos.com/oscii-bot/ )
or by
2) MidiOX and mapping rules to filter out the Midi CC
so it is never seen by Reaper.

It might be better to deal with all kinds of annoying Midi mapping issues like this outside of Reaper rather than creating special cases that collectively will overload the GUI window for inputs?

Last edited by goldenarpharazon; 04-11-2016 at 12:40 PM.
goldenarpharazon is offline   Reply With Quote
Old 04-09-2016, 10:52 AM   #4
Masi
Human being with feelings
 
Join Date: Sep 2015
Posts: 690
Default

Quote:
Originally Posted by goldenarpharazon View Post
It might be better to deal with all kinds of annoying Midi mapping issues like this outside of Reaper rather than creating special cases that collectively will overload the GUI window for inputs?
Probably a matter of taste. I don't like to have to setup a number of virtual MIDI devices to do fancy filtering for me when "all I want to do" is to hook up my controller with Reaper.

Perhaps this extra UI is not the right solution, but I'd rather have a built-in mapper in Reaper (no third-party JS thingy *) than have to rely on an external tool to do the job.

Masi

* Most of all because practically none of them are documented.
Masi is offline   Reply With Quote
Old 01-01-2017, 06:25 AM   #5
lossfound
Human being with feelings
 
lossfound's Avatar
 
Join Date: Jul 2006
Posts: 284
Default

I'd like to bump this FR. I use REAPER as a VST live host and just discovered, a half hour before a gig, that the new Novation MIDI controller I acquired transmits note-ons and note-offs from its buttons with no way to change the transmitted behavior on button press from the hardware itself.

It's great to suggest third-party solutions and scripting, but adding this as a switch in the CC actions setup is WAY simpler and would really save a lot of grief and surprises.
lossfound is offline   Reply With Quote
Old 06-21-2020, 01:40 PM   #6
Cloudswim
Human being with feelings
 
Join Date: May 2017
Posts: 371
Default

Quote:
Originally Posted by DarkStar View Post
Short version:
Provide Toggle mode for controller buttons, by adding an option to the Shortcut Assign window to ignore CC messages with data values of zero.



Longer version:
At the moment there is a problem. Many keyboard controllers have buttons that send a MIDI CC message both when pressed and when released.

If that CC message is assigned to an Action, then the Action is performed both times. Often that is not what is wanted. Instead the action is only wanted each time the button is pressed (nothing should happen when it is released).

Now, on some controllers the buttons can be configured to 'Toggle' mode, in which no message is sent when the button is released. That would solve the problem but (a) can be awkward (b) is not available on all controllers (c) may need reconfiguring if the button is reassigned.

A much better solution is for Reaper to ignore such mapped CC messages when the data value is zero. So the sequence would be:
  • press the button, send a CC message (with a value of 127), detected by Reaper, perform the Action
  • release the button, send a CC message (with a value of 0), ignored by Reaper
  • press the button again, send a CC message (with a value of 127), detected by Reaper, perform the Action
  • release the button, send a CC message (with a value of 0), ignored by Reaper
Adding an option to the Shortcut Assign window would enable the user to select it.

PS It looks like if a Note is used as a Shortcut then the Note Off is already ignored.
bump!
Cloudswim is offline   Reply With Quote
Old 03-04-2021, 03:05 PM   #7
indigomirage
Human being with feelings
 
Join Date: Oct 2020
Posts: 80
Default Assigning MIDI CC to Actions (in 'Toggle' mode)

I would use this in a heartbeat. This is driving me bonkers.

It's a great idea.
indigomirage is offline   Reply With Quote
Old 03-04-2021, 03:41 PM   #8
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,689
Default

I suppose ReaLearn can do this.
-Michael
mschnell is online now   Reply With Quote
Old 03-06-2021, 06:45 AM   #9
indigomirage
Human being with feelings
 
Join Date: Oct 2020
Posts: 80
Default Assigning MIDI CC to Actions (in 'Toggle' mode)

Hi there - after some digging, I figured out the solution and wanted to post incase it's helpful to others.

To ignore a CC value <=0 'button up' just create a custom (compound) action with two steps:

1) "Action: Skip next action if CC parameter <=0/mid"
2) <<the action you want to do>>

So, there's no need to go down the ReaLearn path, or even to wait/hope for a modification to the built in Midi Learn functionality. This approach is actually even more flexible as it's not ad hoc.

There are a few similar actions in there for ==0, and >=0, etc, if you need more flexibility.

I am always impressed by the capabilities of Reaper. Simply amazing.

Hope this helps!
indigomirage is offline   Reply With Quote
Old 02-01-2024, 08:35 PM   #10
Jed
Human being with feelings
 
Jed's Avatar
 
Join Date: Apr 2006
Location: Auckland NZ
Posts: 938
Default

Thanks do much for this!

Cheers
Jed
__________________
Jeds Music:
https://soundcloud.com/jed_insull
Jed 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 01:23 AM.


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