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

Reply
 
Thread Tools Display Modes
Old Yesterday, 07:38 AM   #3201
indigomirage
Human being with feelings
 
Join Date: Oct 2020
Posts: 16
Default

Quote:
Originally Posted by helgoboss View Post
Scrubbing is achieved using target "Project: Invoke REAPER action". The action is "Transport: Scrub/jog (MIDI CC relative/absolute only)" or "Transport: Scrub/jog fine control (MIDI CC relative only)". I don't know how the absolute control works. But the relative mode makes sense and I know it works. With a rotary encoder that natively sends relative messages it's straightforward, just map it.

I was just going to tell you to use "Make relative" or "Incremental buttons" with some adjustments to make it work for an absolute control element such as pitch wheel, but something isn't right. Doesn't work for some reason. Let me look into it.
Thank you! It occurred to me yesterday that maybe the right answer is to use a custom curve shaped like a square wave - fully on or fully off. That way you never have to worry about hitting the very highest value on the pitch wheel. I'm not fully sure how to script that _yet_ (in EEL?) but it seems achievable.

My main use case is for switching banks, but I would settle for using the PW as a scrub controller if I can't wrangle a way to display highest level folders for banks as opposed to individual tracks. Baby steps though...

Working through this I continue to be grateful for the power of ReaLearn. If I get some decent templates going I will post...


Edit - although I figured out how to write an EEL glue/curve script, I couldn't get it to fire the event only once, so incrementally, the events furred for every tiny movement of the PW. So close... Yet so far...

Last edited by indigomirage; Today at 08:11 AM.
indigomirage is offline   Reply With Quote
Old Yesterday, 10:27 AM   #3202
Trekopep
Human being with feelings
 
Join Date: Oct 2022
Posts: 4
Default

Quote:
Originally Posted by helgoboss View Post
This is an interesting use case! So you want to touch the key and while you hold it it should keep increasing a value AND when pressing harder, it should keep increasing the value faster. Is that correct?
Correct!

Quote:
Originally Posted by helgoboss View Post
Which target do you use? Do the values appear when you switch the target value unit to percent (bottom-right button in target section)?
They do! The specific use-case is using Target Type FX parameter: Set Value to set the Playback Rate on a delay effect via an Incremental button. (9 values from -2 to 2, so I use the Value sequence 2, 6, 7, 8 to give me playback rates of -1, 1, 1.5, 2) The percent values are 25, 75, 87.5, 100, which is a little harder to understand in this specific context.

Edit: Another thing that I'm trying to do that isn't working: Using an "Inverse target value (on only)" Group interaction for a Toggle button set to "Fire after timeout" doesn't trigger the inverse on the other mappings in the group. Using "Fire on press" or "Fire on double press" both work properly.

More context if it's helpful: Source is a virtual button, target is a parameter on the ReaLearn FX, that pad also has another "Fire on press" mapping. (Press turns on/off FX, press and hold shows/hides parameters for that FX, and should hide parameters for other FX)

Last edited by Trekopep; Yesterday at 08:58 PM. Reason: Added another case that isn't working for me
Trekopep is offline   Reply With Quote
Old Today, 07:43 AM   #3203
Vladistone
Human being with feelings
 
Join Date: Jul 2022
Posts: 49
Default

Quote:
Originally Posted by helgoboss View Post
Great that you figured it out! The timer source is a good idea if you want regular switching (such as every 5 seconds). If you have more than two pages (e.g. bank #, send bus #, something else), you can also choose mode "Incremental button" instead of "Toggle button". Then with every timer tick, the page will change.

If you want non-regular switching (e.g. 5 seconds, 2 seconds, 4 seconds), that's also possible by writing your own time-based control transformation. However, it's slightly more difficult because you need to program.
There is one problem that I personally encountered when selecting an incremental mode selection button - with this configuration, it is not possible to create a group of buttons turning off when switching to another MODE button (described in the section Group interaction - Inverse control:
https://github.com/helgoboss/realear...up-interaction )
- how to combine the behavior of incremental buttons and toggle in such situations?
Vladistone is offline   Reply With Quote
Old Today, 09:21 AM   #3204
WelderOriginal
Human being with feelings
 
Join Date: Jan 2023
Posts: 10
Default

Quote:
Originally Posted by helgoboss View Post
Which version of the APC Key 25 do you use? The new one? I only have experience with the old one.
Currently using the new one.

Quote:
Originally Posted by helgoboss View Post
So velocity translates to the actual value, in both directions. This, changing source min/max value influences the LED color.
So, what should I do if I want to send back a completely custom feedback. Does the "numeric feedback transformation" affects the complete feedback value returned to the device ? Or does it only affect the last byte ?

I would like to send [0x96, 0x00, 0x05] when toggling ON, and [0x00, 0x00, 0x05] when toggling OFF. I tried setting "x = 9830405" in the numeric feedback transformation (cause 0x950005 = 9830405) but it didn't act the way I expected. Is the numeric feedback transformation the way to go in my case ?
WelderOriginal 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 12:21 PM.


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