, solo_alert_button (_("solo"))
, feedback_alert_button (_("feedback"))
+ , editor_meter(0)
+
, speaker_config_window (X_("speaker-config"), _("Speaker Configuration"))
, theme_manager (X_("theme-manager"), _("Theme Manager"))
, key_editor (X_("key-editor"), _("Key Bindings"))
, add_route_dialog (X_("add-routes"), _("Add Tracks/Busses"))
, about (X_("about"), _("About"))
, location_ui (X_("locations"), _("Locations"))
+ , route_params (X_("inspector"), _("Tracks and Busses"))
, session_option_editor (X_("session-options-editor"), _("Properties"), boost::bind (&ARDOUR_UI::create_session_option_editor, this))
, add_video_dialog (X_("add-video"), _("Add Tracks/Busses"), boost::bind (&ARDOUR_UI::create_add_video_dialog, this))
, bundle_manager (X_("bundle-manager"), _("Bundle Manager"), boost::bind (&ARDOUR_UI::create_bundle_manager, this))
, big_clock_window (X_("big-clock"), _("Big Clock"), boost::bind (&ARDOUR_UI::create_big_clock_window, this))
, audio_port_matrix (X_("audio-connection-manager"), _("Audio Connections"), boost::bind (&ARDOUR_UI::create_global_port_matrix, this, ARDOUR::DataType::AUDIO))
, midi_port_matrix (X_("midi-connection-manager"), _("MIDI Connections"), boost::bind (&ARDOUR_UI::create_global_port_matrix, this, ARDOUR::DataType::MIDI))
- , route_params (X_("inspector"), _("Tracks and Busses"), boost::bind (&ARDOUR_UI::create_route_params_window, this))
, error_log_button (_("Errors"))
editor = 0;
mixer = 0;
+ meterbridge = 0;
editor = 0;
engine = 0;
_session_is_new = false;
and its functionality are separate
*/
- if (audio_port_matrix) {
- audio_port_matrix->set_session (_session);
- }
-
- if (midi_port_matrix) {
- midi_port_matrix->set_session (_session);
- }
-
- if (route_params) {
- route_params->set_session (_session);
- }
-
(void) theme_manager.get (true);
starting.connect (sigc::mem_fun(*this, &ARDOUR_UI::startup));
delete keyboard;
delete editor;
delete mixer;
+ delete meterbridge;
stop_video_server();
}
second_connection.disconnect ();
point_one_second_connection.disconnect ();
- point_oh_five_second_connection.disconnect ();
- point_zero_one_second_connection.disconnect();
+ point_zero_something_second_connection.disconnect();
}
delete ARDOUR_UI::instance()->video_timeline;
}
gint
-ARDOUR_UI::every_point_zero_one_seconds ()
+ARDOUR_UI::every_point_zero_something_seconds ()
{
- // august 2007: actual update frequency: 40Hz, not 100Hz
+ // august 2007: actual update frequency: 25Hz (40ms), not 100Hz
SuperRapidScreenUpdate(); /* EMIT_SIGNAL */
+ if (editor_meter) {
+ editor_meter->update_meters();
+ }
return TRUE;
}
open_session_selector->set_current_folder(Config->get_default_session_parent_dir());
}
- open_session_selector->add_shortcut_folder (Config->get_default_session_parent_dir());
+ string default_session_folder = Config->get_default_session_parent_dir();
+ try {
+ /* add_shortcut_folder throws an exception if the folder being added already has a shortcut */
+ open_session_selector->add_shortcut_folder (default_session_folder);
+ }
+ catch (Glib::Error & e) {
+ std::cerr << "open_session_selector->add_shortcut_folder (" << default_session_folder << ") threw Glib::Error " << e.what() << std::endl;
+ }
FileFilter session_filter;
session_filter.add_pattern ("*.ardour");
msg.run ();
}
+
+
+void
+ARDOUR_UI::reset_peak_display ()
+{
+ if (!_session || !_session->master_out() || !editor_meter) return;
+ editor_meter->clear_meters();
+}
+
+void
+ARDOUR_UI::reset_group_peak_display (RouteGroup* group)
+{
+ if (!_session || !_session->master_out()) return;
+ if (group == _session->master_out()->route_group()) {
+ reset_peak_display ();
+ }
+}
+
+void
+ARDOUR_UI::reset_route_peak_display (Route* route)
+{
+ if (!_session || !_session->master_out()) return;
+ if (_session->master_out().get() == route) {
+ reset_peak_display ();
+ }
+}