From 62caa3ea44d6473f0cc79411498b0849d907b2c3 Mon Sep 17 00:00:00 2001 From: GZharun Date: Mon, 1 Dec 2014 16:54:04 +0200 Subject: [PATCH] [Summary] Fixed issue with transport adjustment when marker message is received. --- libs/ardour/midi_scene_changer.cc | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/libs/ardour/midi_scene_changer.cc b/libs/ardour/midi_scene_changer.cc index 285a370402..aff5808e41 100644 --- a/libs/ardour/midi_scene_changer.cc +++ b/libs/ardour/midi_scene_changer.cc @@ -272,7 +272,13 @@ MIDISceneChanger::program_change_input (MIDI::Parser& parser, MIDI::byte program last_program_message_time = time; if (!recording()) { - MIDIInputActivity (); /* EMIT SIGNAL */ + 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; } @@ -300,12 +306,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; + bank = input_port->channel (channel)->bank(); } MIDISceneChange* msc =new MIDISceneChange (channel, bank, program & 0x7f);