jtackaberry / reaticulate

An articulation management system for REAPER
Other
100 stars 45 forks source link

Run Activate selected articulation on default channel.lua DOES NOT WORK the first time you run it. must be run repeatadly to function #228

Closed vsthem closed 7 months ago

vsthem commented 7 months ago

Steps to Reproduce

Select a track with Reaticulate articulations setup Create an item and draw a note select note select an articulation Run Activate selected articulation on default channel.lua

Result: Nothing happens the first time. If you run the same action repeatedly, eventually the articulation will be inserted onto the note. The number of times you need to run the action to get it to work seems to be random.

Expected Result: Articulation should be assigned to the selected note the first time the action is run

jtackaberry commented 7 months ago

"Activate articulation" actions don't insert, they only send the MIDI to the VI to change the articulation. It's the same as left clicking in the GUI.

In the GUI, if you double click an articulation (that is to say, left click it twice in rapid succession), then it will insert the articulation into a MIDI item (creating a new one at the cursor if needed).

So it is too with the "Activate" actions. If you run, as in your case, "Activate selected articulation on default channel" twice in rapid succession, it will insert the second time. This allows you to mimic the double click behavior with a control surface, allowing one to audition different articulations without modifying the MIDI item, until you find what you want, then double-tapping the same button on the control surface to insert.

The time period in which two of these need to occur in succession (basically your double click interval) might be giving the impression that it's random. I believe it's 500 milliseconds, so if you run the action twice within 500ms it'll insert.

Does that help explain the behavior you're seeing?

jtackaberry commented 7 months ago

BTW, in case you're a control surface user, I have an encoder on my control surface take care of selecting articulations using "Reaticulate_Select articulation by CC (MIDI CC relative or mousewheel)", and when I press the encoder which acts as a button, it maps to "Reaticulate_Activate selected articulation on default channel"

This lets me use a single encoder on the control surface to select (turn encoder), audition (click once), and ultimately insert articulations (double click).

vsthem commented 7 months ago

Yup. The randomness was just whenever I went under 500ms....whoops.

Now that I know you need to "double click" it, the problem is solved. Thanks!

vsthem commented 7 months ago

I have a 3 button module on a Monogram creative console, and currently have the right button set to "Next Articulation", the left button set to "Previous Articulation", and the middle button for the Active selected articulation action, which I now press twice. If I ever put in my encoders again, I'll try that!

jtackaberry commented 7 months ago

Great, glad it's sorted!