Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Bug Reports

Thread Tools Display Modes
Prev Previous Post   Next Post Next
Old 01-08-2022, 10:44 AM   #1
Human being with feelings
tack's Avatar
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 1,621
Default Arrange view shows "PC" instead of program name

It's debatable whether this is actually a bug or a feature request. Either way, it's a problem for Reaticulate that I don't know how to work around.

By way of background, the new version of Reaticulate regenerates and replaces the global default reabank ("mididefbankprog" in reaper.ini) each time a project is loaded or changed. This dynamicity is really needed for good design reasons (I could get into later if needed), and apart from this one issue seems to work quite well.

The problem surfaces with the feature where REAPER displays program names in the arrange view: it doesn't notice the changed reabank for existing MIDI items. Like so:

I somewhat understand this, because it looks like REAPER is resolving the PCs to names before Reaticulate has a chance to generate and swap in the global reabank (mididefbankprog). So from this perspective, you could say I'm asking for a new feature: a feature that somehow lets me either programmatically change mididefbankprog, or otherwise kick REAPER in the head to notice the change in REAPER.ini.

However, REAPER does notice the change to mididefbankprog. It must, because when I duplicate the item currently showing PCs it properly resolves to the names in the global reabank file that was generated immediately after project load:

So from this perspective, it feels more like a bug than a feature request.

Opening the MIDI editor on the item and closing it again "fixes" it, but the problem returns once the project is closed and then opened again. The problem doesn't return when toggling between project tabs or when reloading the current project without closing it first, even though mididefbankprog is replaced each time in these cases as well. Presumably once REAPER has resolved the PC names, it remembers it between project tab changes or reloads even if the global reabank is swapped out.

Suffice it to say, the expected result here is that REAPER would reevaluate the PC names on existing items when it notices mididefbankprog has changed, without needing to induce this by opening the items in the MIDI editor.

By way of workarounds, I've tried heavy handed measures: rewriting track state chunks, and also rewriting state chunks of all items (which is a hack I use to make REAPER notice reabank changes when the MIDI editor is currently open). I also tried programmatically rewriting the Bank Select events in all items on the the track to different MSB/LSB and then back again to the original (proper) MSB/LSB, to no avail. However even if any of this had worked, I'd desperately want to avoid it, because it's slow as hell, and Reaticulate would have to do it on every project load/tab switch.

I'd be grateful to learn about other ideas for workarounds (especially ones that are inexpensive), but ideally this REAPER's own behavior would change here.

Many thanks!

Last edited by tack; 01-08-2022 at 12:34 PM.
tack is offline   Reply With Quote

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 02:02 PM.

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