add members and methods for use displaying MIDI scene change activity

This commit is contained in:
Paul Davis 2014-09-30 16:27:15 -04:00
parent 3005b699fa
commit 5bd1fad1be
3 changed files with 48 additions and 1 deletions

View file

@ -319,7 +319,13 @@ Editor::Editor ()
, _stepping_axis_view (0)
, current_mixer_strip (0)
, _master_bus_ui (0)
, _set_session_in_progress(false)
, _set_session_in_progress(false)
, midi_marker_input_activity_image (get_image ("midi_input_activity_indicator"))
, midi_marker_output_activity_image (get_image ("midi_output_activity_indicator"))
, midi_marker_input_enabled_image (get_image ("midi_input_enabled_indicator"))
, midi_marker_input_disabled_image (get_image ("midi_input_disabled_indicator"))
, midi_marker_output_enabled_image (get_image ("midi_output_enabled_indicator"))
, midi_marker_output_disabled_image (get_image ("midi_output_disabled_indicator"))
{
constructed = false;

View file

@ -2146,6 +2146,19 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void update_bring_in_message (Gtk::Label* label, uint32_t n, uint32_t total, std::string name);
void bring_all_sources_into_session ();
/* members and methods associated with MIDI + markers */
Gtk::Image& midi_marker_input_activity_image;
Gtk::Image& midi_marker_output_activity_image;
Gtk::Image& midi_marker_input_enabled_image;
Gtk::Image& midi_marker_input_disabled_image;
Gtk::Image& midi_marker_output_enabled_image;
Gtk::Image& midi_marker_output_disabled_image;
void marker_midi_input_activity ();
void marker_midi_output_activity ();
bool hide_marker_midi_image (Gtk::Widget*);
void display_marker_midi_port_status ();
friend class Drag;
friend class RegionDrag;
friend class RegionMoveDrag;

View file

@ -1322,3 +1322,31 @@ Editor::find_marker_from_location_id (PBD::ID const & id, bool is_start) const
return 0;
}
void
Editor::marker_midi_input_activity ()
{
if (!midi_marker_input_activity_image.is_visible ()) {
midi_marker_input_activity_image.show ();
/* hide the image again in 1/2 second */
Glib::signal_timeout().connect (sigc::bind (sigc::mem_fun (*this, &Editor::hide_marker_midi_image), &midi_marker_input_activity_image), 500);
}
}
void
Editor::marker_midi_output_activity ()
{
if (!midi_marker_output_activity_image.is_visible ()) {
midi_marker_output_activity_image.show ();
/* hide the image again in 1/2 second */
Glib::signal_timeout().connect (sigc::bind (sigc::mem_fun (*this, &Editor::hide_marker_midi_image), &midi_marker_output_activity_image), 500);
}
}
bool
Editor::hide_marker_midi_image (Gtk::Widget* img)
{
img->hide ();
return false; /* do not call again */
}