X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_ui_dialogs.cc;h=140ee649ea59f07b678609672b01e9e67b13858a;hb=ca49f7cba731bd443c4a62184c8dec892b4ce5e7;hp=25f3068a813d39c04d0b38157e98f79dee0e6c7c;hpb=6f4a92f740b2fd75794489ce58f9348f8adf6bf4;p=ardour.git diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc index 25f3068a81..140ee649ea 100644 --- a/gtk2_ardour/ardour_ui_dialogs.cc +++ b/gtk2_ardour/ardour_ui_dialogs.cc @@ -50,6 +50,7 @@ ARDOUR_UI::connect_to_session (Session *s) session = s; session->HaltOnXrun.connect (mem_fun(*this, &ARDOUR_UI::halt_on_xrun_message)); + session->RecordStateChanged.connect (mem_fun (*this, &ARDOUR_UI::record_state_changed)); /* sensitize menu bar options that are now valid */ @@ -76,10 +77,6 @@ ARDOUR_UI::connect_to_session (Session *s) rec_button.set_sensitive (true); shuttle_box.set_sensitive (true); - if (session->n_diskstreams() == 0) { - session->DiskstreamAdded.connect (mem_fun(*this, &ARDOUR_UI::diskstream_added)); - } - if (connection_editor) { connection_editor->set_session (s); } @@ -96,10 +93,6 @@ ARDOUR_UI::connect_to_session (Session *s) option_editor->set_session (s); } - if (sfdb) { - sfdb->set_session (s); - } - setup_session_options (); Blink.connect (mem_fun(*this, &ARDOUR_UI::transport_rec_enable_blink)); @@ -132,13 +125,16 @@ ARDOUR_UI::connect_to_session (Session *s) connect_dependents_to_session (s); + /* listen to clock mode changes. don't do this earlier because otherwise as the clocks + restore their modes or are explicitly set, we will cause the "new" mode to be saved + back to the session XML ("extra") state. + */ + + AudioClock::ModeChanged.connect (mem_fun (*this, &ARDOUR_UI::store_clock_modes)); + start_clocking (); start_blinking (); - if (editor) { - editor->present(); - } - transport_stopped (); second_connection = Glib::signal_timeout().connect (mem_fun(*this, &ARDOUR_UI::every_second), 1000); @@ -353,36 +349,6 @@ ARDOUR_UI::toggle_route_params_window () } } -int -ARDOUR_UI::create_sound_file_browser () -{ - if (sfdb == 0) { - sfdb = new SoundFileBrowser (_("Sound File Browser"), session); - sfdb->signal_unmap().connect (sigc::bind(sigc::ptr_fun(&ActionManager::uncheck_toggleaction), X_("/Common/ToggleSoundFileBrowser"))); - } - return 0; -} - -void -ARDOUR_UI::toggle_sound_file_browser () -{ - if (create_sound_file_browser()) { - return; - } - - RefPtr act = ActionManager::get_action (X_("Common"), X_("ToggleSoundFileBrowser")); - if (act) { - RefPtr tact = RefPtr::cast_dynamic(act); - - if (tact->get_active()) { - sfdb->show_all(); - sfdb->present(); - } else { - sfdb->hide (); - } - } -} - void ARDOUR_UI::handle_locations_change (Location* ignored) {