jtackaberry / reaticulate

An articulation management system for REAPER
Other
101 stars 47 forks source link

Bug: when using midi program controller, articulation name shows as "PC" in events lane #202

Closed sekim6 closed 1 year ago

sekim6 commented 1 year ago

When sending a program change to Reaper/Reaticulate to invoke an articulation while recording, the name given in the midi event lane shows as "PC". This occurs until the first time an articulation in the Reaticulate UI is clicked. From then on, it works as expected on that midi object.

The events labeled "PC" do however trigger the correct articulation both while recording and on playback, so it appears to be only a labeling issue.

Tested using both a hardware program change pedal and virtually using MidiOx to trigger BBCSO Pro articulations. Latest Reaper and Reaticulate used on date of this bug report.

Steps to reproduce:

1) Begin midi recording on empty track having BBCSO and Reaticulate configured. Do not click anything in the Reaticulate UI. 2) Use midi controller to send a program change corresponding to an articulation. The midi object (still recording) will display an event labeled "PC" though it should be labeled "Long" for example. 3) Click any articulation (still recording) in the Reaticulate UI. Its event shows up as expected 4) Use midi controller to send another program change corresponding to an articulation. Works as expected, and all further program changes while still recording work as expected. 5) Stop/restart recording on same midi object, then issue program change works as expected. 6) Delete midi object and record a new one, and symptoms reappear as described above.

jtackaberry commented 1 year ago

The reason for this is that you're only sending a Program Change message, which is missing the preceding Bank Select which REAPER needs in order to resolve the PC into the name, because without Bank Select it doesn't know from which bank the program belongs. (The Reaticulate JSFX on the track doesn't care, it only deals with PCs, but REAPER itself needs to see the Bank Select to display the proper program name.)

So this isn't a Reaticulate bug as such. The way to handle this is instead of directly sending your own PC, use one of Reaticulate's "Activate articulation by CC" actions (probably "Activate articulation by CC on default channel"), in which case Reaticulate itself will emit both the required Bank Select and Program Change events which will get captured during recording. You can't send Bank Select yourself since you won't be able to predict the bank's MSB/LSB.

But then this requires the aforementioned hardware program change pedal to be reconfigurable to send a CC instead. (Or use something like Bome MIDI Translator to rewrite the event as a CC.) It may be possible to bind all 128 Program Change events to the "Activate articulation" action in REAPER, I haven't actually tried this.

sekim6 commented 1 year ago

Thanks for the quick response and detailed explanation. I wasn’t even aware of your product three days ago, so still some learning to do. Since my midi hardware is PC only I’ll either just remember to click the UI for the first articulation or map PC to CC as you suggest.

And thanks again for sharing such a time saving product! I’m working on expanding the BBCSO Core reaticulate file you host to handle BBCSO Pro and will email it to you if you want to include it on your list of files. If you aren’t familiar with BBCSO, Pro adds several instruments and articulations to the Core list, but otherwise the same as far as reaticulate is concerned. So should be easy enough to generate the file.

I’m also creating a Reaper track template that will load the entirety of BBCSO and Reaticulate fully preconfigured, so a fully configured orchestra with its own section stem folders and mix buss can be added to a mix project with a single Reaper “add track from template”. I’ll post it at Spitfire’s template site and you are welcome to host it as well if you want to.

Thanks again, your product is going to make things sooo much easier to deal with.

jtackaberry commented 1 year ago

Thanks @sekim6 . I don't currently host track templates, though that could change in the future. For now I just need to make it easier for users to share and discover banks. Track templates and other collateral could come after that though.

I'll close this issue, but feel free to follow up if you have any related issues, or create a new issue if you discover something new.