diff options
author | GZharun <grygoriiz@wavesglobal.com> | 2014-12-01 16:54:04 +0200 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2015-06-29 14:18:11 -0400 |
commit | 2f790bc63878bc77270f2af9468f19cd54564d40 (patch) | |
tree | 81428842d218b0e018a1bb94980ab0902cadba1a /libs/ardour/midi_scene_changer.cc | |
parent | 511f609a148f7aceadedb7ee7d982d7dc4e1e592 (diff) |
fix bank ID when MIDI Scene change handles a program change message
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); |