From 2f790bc63878bc77270f2af9468f19cd54564d40 Mon Sep 17 00:00:00 2001 From: GZharun Date: Mon, 1 Dec 2014 16:54:04 +0200 Subject: fix bank ID when MIDI Scene change handles a program change message --- libs/ardour/midi_scene_changer.cc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'libs/ardour/midi_scene_changer.cc') 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); -- cgit v1.2.3