diff --git a/libs/ardour/ardour/midi_scene_changer.h b/libs/ardour/ardour/midi_scene_changer.h index c75e216ad3..e369048ea5 100644 --- a/libs/ardour/ardour/midi_scene_changer.h +++ b/libs/ardour/ardour/midi_scene_changer.h @@ -43,6 +43,10 @@ class MIDISceneChanger : public SceneChanger void set_recording (bool); void locate (framepos_t); + /** Signal emitted whenever any relevant MIDI activity is detected. + */ + PBD::Signal0 MIDIActivity; + private: typedef std::multimap > Scenes; diff --git a/libs/ardour/midi_scene_changer.cc b/libs/ardour/midi_scene_changer.cc index e43f7de342..ba89e86096 100644 --- a/libs/ardour/midi_scene_changer.cc +++ b/libs/ardour/midi_scene_changer.cc @@ -254,6 +254,7 @@ MIDISceneChanger::bank_change_input (MIDI::Parser& parser, unsigned short, int) } last_bank_message_time = parser.get_timestamp (); + MIDIActivity (); /* EMIT SIGNAL */ } void @@ -304,6 +305,8 @@ MIDISceneChanger::program_change_input (MIDI::Parser& parser, MIDI::byte program if (new_mark) { locations->add (loc); } + + MIDIActivity (); /* EMIT SIGNAL */ } void