Old 04-15-2021, 02:25 PM   #1
rstockm
Human being with feelings
 
rstockm's Avatar
 
Join Date: May 2012
Location: Berlin, Germany
Posts: 171
Default 14 Bit HiRes Midi for CC Actions?

My Hercules Inplulse 200 Deck supports 14 bit CC Messages (HiRes Midi) via MSB/LSB CC# pairs.
I'd like to use the device as a controller, for instance to move the edit cursor (absolut) via the deck-fader.

So
a) is there a way to assign a HiRes CC to an action (not: a CC lane etc.) to get the full resolution?
b) if no (which would be very un-REAPER ;-) - right now the fine-CC value is always send as the second value and the only one catched by the MIDI-learn. But I need the coarse value to get this running at all.
So for instance:

MIDI Chan 1 CC 0 (coarse)
MIDI Chan 1 CC 32 (fine)

is the MIDI output of the fader, and I'd like to map the action to the first one. I could edit the reaper-kb.ini (KEY section, been there, done that) but well - this is awkward. But I can't hand-edit the value in the action-dialog.

Any ideas? Do I miss something?
rstockm is offline   Reply With Quote
Old 04-16-2021, 03:56 AM   #2
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,776
Default

AFAIK, ReaPack -> ReaLearn can do this.

If your application is more about designing a project independant Control Surface Interface, than doing "on the fly" projects, the CSI reaper extension supposedly can do this , as well.

-Michael

Last edited by mschnell; 04-16-2021 at 11:22 AM.
mschnell is online now   Reply With Quote
Old 04-16-2021, 08:10 AM   #3
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,199
Default

Yes, ReaLearn supports 14-bit CC MIDI messages.

I just had a look in the code and saw that the target "Project: Invoke REAPER action" converts the high-resolution value back into a 7-bit value (before passing it into the REAPER API function). I can't remember why I did this, probably just an oversight since this API function actually supports a 14-bit mode. I will turn that into a 14-bit value for the next prerelease and see if it still works. Maybe some REAPER actions won't respond to 14-bit values, we'll see.

All other targets (if applicable) use the full resolution already.
helgoboss is offline   Reply With Quote
Old 04-16-2021, 08:59 AM   #4
rstockm
Human being with feelings
 
rstockm's Avatar
 
Join Date: May 2012
Location: Berlin, Germany
Posts: 171
Default

@helgoboss Great news!
Another question: is there an ARM version in the making, or maybe even an universal one? Realearn would be the only non-arm plugin, preventing me from using the native ARM version of REAPER... (no bridged mode)
rstockm is offline   Reply With Quote
Old 04-16-2021, 09:13 AM   #5
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,199
Default

Quote:
Originally Posted by rstockm View Post
@helgoboss Great news!
Another question: is there an ARM version in the making, or maybe even an universal one? Realearn would be the only non-arm plugin, preventing me from using the native ARM version of REAPER... (no bridged mode)
For M1 you mean? I guess I should give it a go.
helgoboss is offline   Reply With Quote
Old 04-16-2021, 11:26 AM   #6
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,776
Default

Quote:
Originally Posted by helgoboss View Post
this API function actually supports a 14-bit mode.
This looks embarrassing to me. I would have thought that the Reaper API to set the tack volume slider would simply accept a floating point number (corresponding to the dB Value to be set) ?!?!?
-Michael
mschnell is online now   Reply With Quote
Old 04-16-2021, 11:50 AM   #7
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,199
Default

Quote:
Originally Posted by mschnell View Post
This looks embarrassing to me. I would have thought that the Reaper API to set the tack volume slider would simply accept a floating point number (corresponding to the dB Value to be set) ?!?!?
-Michael
For setting volumes and other stuff yes, it works with floating point numbers. But the extended action invocation API for invoking generic REAPER actions (KBD_OnMainActionEx) is pretty much tailored to the MIDI spec so no floating point parameters there.
helgoboss is offline   Reply With Quote
Old 04-16-2021, 01:11 PM   #8
rstockm
Human being with feelings
 
rstockm's Avatar
 
Join Date: May 2012
Location: Berlin, Germany
Posts: 171
Default

Quote:
Originally Posted by helgoboss View Post
For M1 you mean? I guess I should give it a go.
Excellent!

Please don't me shy if you get stuck or need testing partners. We (ultraschall.fm) already assisted reaper_js to get the M1-Job done.
rstockm is offline   Reply With Quote
Old 04-16-2021, 02:18 PM   #9
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,776
Default

Quote:
Originally Posted by helgoboss View Post
For setting volumes and other stuff yes, it works with floating point numbers. But the extended action invocation API for invoking generic REAPER actions (KBD_OnMainActionEx) is pretty much tailored to the MIDI spec so no floating point parameters there.
Would it not be better to use the "general" API instead, so that resolution is not limited ?

-Michael
mschnell is online now   Reply With Quote
Old 04-16-2021, 02:23 PM   #10
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,199
Default

Quote:
Originally Posted by mschnell View Post
Would it not be better to use the "general" API instead, so that resolution is not limited ?

-Michael
I think there's a misunderstanding. ReaLearn uses whenever possible the most suitable API functions, the one with highest precision, most flexibility, best performance etc. It uses KBD_OnMainActionEx() ONLY if the user explicitly asks to invoke a REAPER action (via target "Project: Invoke REAPER action"). Hope this clears things up. There's no problem at all there and nothing missing API-wise.
helgoboss is offline   Reply With Quote
Old 04-16-2021, 10:03 PM   #11
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,776
Default

Ah I see.

So I was not wrong suggesting using ReaLeran's built-in feature (Target track volume) to move the slider in my previous post (as this as what I meant to do).

Thanks,
-Michael

Last edited by mschnell; 04-17-2021 at 04:05 AM.
mschnell is online now   Reply With Quote
Old 04-17-2021, 09:36 AM   #12
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,199
Default

Quote:
Originally Posted by mschnell View Post
Ah I see.

So I was not wrong suggesting using ReaLeran's built-in feature (Target track volume) to move the slider in my previous post (as this as what I meant to do).
True, that's the right way.
helgoboss is offline   Reply With Quote
Old 04-18-2021, 06:08 AM   #13
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,776
Default

OTOH, to "move the edit cursor" absolute even 14 bit does not seem enough. here supposedly some relative behavior with a rotary seems more appropriate.

Supposedly ReaLearn can help with that, as well.

-Michael
mschnell is online now   Reply With Quote
Old 04-18-2021, 07:14 AM   #14
rstockm
Human being with feelings
 
rstockm's Avatar
 
Join Date: May 2012
Location: Berlin, Germany
Posts: 171
Default

Quote:
Originally Posted by mschnell View Post
OTOH, to "move the edit cursor" absolute even 14 bit does not seem enough
But there is a noticeable difference ?
rstockm is offline   Reply With Quote
Old 04-18-2021, 03:41 PM   #15
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,776
Default

Between which and what ?

between 7 an 14 bit, the difference of course is huge.

-Michel
mschnell is online now   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 10:50 AM.


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