diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index e221d06b92..8eda824329 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -417,7 +417,7 @@ ARDOUR_UI::install_actions () ActionManager::register_toggle_action (option_actions, X_("RegionEquivalentsOverlap"), _("Region equivalents overlap"), mem_fun (*this, &ARDOUR_UI::toggle_RegionEquivalentsOverlap)); ActionManager::register_toggle_action (option_actions, X_("PrimaryClockDeltaEditCursor"), _("Primary Clock delta to edit point"), mem_fun (*this, &ARDOUR_UI::toggle_PrimaryClockDeltaEditCursor)); ActionManager::register_toggle_action (option_actions, X_("SecondaryClockDeltaEditCursor"), _("Secondary Clock delta to edit point"), mem_fun (*this, &ARDOUR_UI::toggle_SecondaryClockDeltaEditCursor)); - ActionManager::register_toggle_action (option_actions, X_("ShowTrackMeters"), _("Display Editor Meters"), mem_fun (*this, &ARDOUR_UI::toggle_ShowTrackMeters)); + ActionManager::register_toggle_action (option_actions, X_("ShowTrackMeters"), _("Enable Editor Meters"), mem_fun (*this, &ARDOUR_UI::toggle_ShowTrackMeters)); ActionManager::register_toggle_action (option_actions, X_("OnlyCopyImportedFiles"), _("Always copy imported files"), mem_fun (*this, &ARDOUR_UI::toggle_only_copy_imported_files)); RadioAction::Group denormal_group; diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 6b8432f324..eb939289ca 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -184,7 +184,7 @@ Editor::Editor () range_mark_label (_("Range Markers")), transport_mark_label (_("Loop/Punch Ranges")), - edit_packer (3, 3, false), + edit_packer (3, 3, true), /* the values here don't matter: layout widgets reset them as needed. @@ -209,7 +209,8 @@ Editor::Editor () /* nudge */ - nudge_clock (X_("nudge"), false, X_("NudgeClock"), true, true) + nudge_clock (X_("nudge"), false, X_("NudgeClock"), true, true), + meters_running(false) { constructed = false; diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index 8588dcd2ef..372b83bf24 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -1953,6 +1953,7 @@ class Editor : public PublicEditor gint stop_updating (); void toggle_meter_updating(); void fast_update_strips (); + bool meters_running; }; diff --git a/gtk2_ardour/editor_audiotrack.cc b/gtk2_ardour/editor_audiotrack.cc index f93da7040f..007b1386a1 100644 --- a/gtk2_ardour/editor_audiotrack.cc +++ b/gtk2_ardour/editor_audiotrack.cc @@ -106,17 +106,21 @@ Editor::start_updating () } } } - fast_screen_update_connection = ARDOUR_UI::instance()->SuperRapidScreenUpdate.connect (mem_fun(*this, &Editor::fast_update_strips)); + + if (!meters_running) { + fast_screen_update_connection = ARDOUR_UI::SuperRapidScreenUpdate.connect (mem_fun(*this, &Editor::fast_update_strips)); + meters_running = true; + } return 0; } gint Editor::stop_updating () { - - fast_screen_update_connection.disconnect(); AudioTimeAxisView* atv; - + + meters_running = false; + fast_screen_update_connection.disconnect(); //cerr << "Editor::stop_updating () called" << endl;//DEBUG if (is_mapped() && session) { for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) { diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc index 567469973b..6c2ddd6ff5 100644 --- a/gtk2_ardour/gain_meter.cc +++ b/gtk2_ardour/gain_meter.cc @@ -977,4 +977,11 @@ void GainMeter::setup_atv_meter (int len) show(); } } - + +void GainMeter::clear_meters () +{ + for (vector::iterator i = meters.begin(); i < meters.end(); i++) { + (*i).meter->clear(); + } +} + diff --git a/gtk2_ardour/gain_meter.h b/gtk2_ardour/gain_meter.h index e46479d23b..b9ae3ba51d 100644 --- a/gtk2_ardour/gain_meter.h +++ b/gtk2_ardour/gain_meter.h @@ -75,6 +75,7 @@ class GainMeter : public Gtk::VBox void set_fader_name (const char * name); void setup_atv_meter (int); + void clear_meters (); private: diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index c5cb1a3186..35ff60857a 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -1793,7 +1793,8 @@ RouteTimeAxisView::fast_update () void RouteTimeAxisView::hide_meter () { - gpm.hide (); + //gpm.hide (); + gpm.clear_meters (); } void