I confirm the action "Insert Bank/Program Change Event" seems to be broken.
Actually it wouldn't help you that much anyway, as all it does is open the dialog, so that you would still have to navigate the dropdowns.
Here is an EEL ReaScript which inserts a bank select + program change to Bank 0 and Program 0 into the current active take of an open MIDI editor. The current "channel for new events" is used:
Code:
Undo_BeginBlock2(0);
Bank = 0;
Program = 0;
function InsertBankProgramEvent()
(
ME = MIDIEditor_GetActive();
take = MIDIEditor_GetTake(ME);
PPQpos = MIDI_GetPPQPosFromProjTime(take, GetCursorPositionEx(0));
ch = MIDIEditor_GetSetting_int(ME, "default_note_chan");
MIDI_InsertCC( take, 0, 0, PPQpos, 176, ch, 0, Bank);
MIDI_InsertCC( take, 0, 0, PPQpos, 192, ch, Program, 0);
);
InsertBankProgramEvent();
Undo_EndBlock2(0,"Insert Bank/Program event 0/0",-1);
To change the bank and program this script inserts, just change the values of the lines
Code:
Bank = 0;
Program = 0;
to your desired values (mandatory: only change the numbers, leave the ";"! EEL needs them).
You also want to change the text inside the "" of the line Undo_EndBlock2, as that's what is shown in the undo list. It's just cosmetic, though - doesn't change the script's behavior.
save with an individual file name, import as many separate scripts as you need and assign to shortcut keys or toolbar buttons.
EDIT: If you don't know where and how to save/import as EEL ReaScript, just ask. I have to hurry right now, but if nobody else instructed you until I get back, I'll get you sorted in a few hours