diff options
Diffstat (limited to 'libs/ardour/midi_scene_changer.cc')
-rw-r--r-- | libs/ardour/midi_scene_changer.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/libs/ardour/midi_scene_changer.cc b/libs/ardour/midi_scene_changer.cc index 8e2347ab2e..ab2226d934 100644 --- a/libs/ardour/midi_scene_changer.cc +++ b/libs/ardour/midi_scene_changer.cc @@ -273,7 +273,14 @@ MIDISceneChanger::program_change_input (MIDI::Parser& parser, MIDI::byte program last_program_message_time = time; if (!recording()) { + MIDIInputActivity (); /* EMIT SIGNAL */ + + int bank = -1; + if (have_seen_bank_changes) { + bank = input_port->channel (channel)->bank(); + } + jump_to (input_port->channel (channel)->bank(), program); return; } @@ -301,12 +308,9 @@ MIDISceneChanger::program_change_input (MIDI::Parser& parser, MIDI::byte program new_mark = true; } - unsigned short bank; - + int bank = -1; if (have_seen_bank_changes) { bank = input_port->channel (channel)->bank(); - } else { - bank = -1; } MIDISceneChange* msc =new MIDISceneChange (channel, bank, program & 0x7f); |