diff options
Diffstat (limited to 'gtk2_ardour/ardour_ui.cc')
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 317c5d8d13..2a24685b14 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -105,7 +105,8 @@ #include "ardour/session_state_utils.h" #include "ardour/session_utils.h" #include "ardour/source_factory.h" -#include "ardour/slave.h" +#include "ardour/transport_master.h" +#include "ardour/transport_master_manager.h" #include "ardour/system_exec.h" #include "ardour/track.h" #include "ardour/vca_manager.h" @@ -185,6 +186,7 @@ typedef uint64_t microseconds_t; #include "time_axis_view_item.h" #include "time_info_box.h" #include "timers.h" +#include "transport_masters_dialog.h" #include "utils.h" #include "utils_videotl.h" #include "video_server_dialog.h" @@ -314,6 +316,7 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir) , export_video_dialog (X_("video-export"), _("Video Export Dialog")) , lua_script_window (X_("script-manager"), _("Script Manager")) , idleometer (X_("idle-o-meter"), _("Idle'o'Meter")) + , transport_masters_dialog (X_("transport-masters"), _("Transport Masters")) , session_option_editor (X_("session-options-editor"), _("Properties"), boost::bind (&ARDOUR_UI::create_session_option_editor, this)) , add_video_dialog (X_("add-video"), _("Add Video"), boost::bind (&ARDOUR_UI::create_add_video_dialog, this)) , bundle_manager (X_("bundle-manager"), _("Bundle Manager"), boost::bind (&ARDOUR_UI::create_bundle_manager, this)) @@ -473,6 +476,7 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir) export_video_dialog.set_state (*ui_xml, 0); lua_script_window.set_state (*ui_xml, 0); idleometer.set_state (*ui_xml, 0); + transport_masters_dialog.set_state (*ui_xml, 0); } /* Separate windows */ @@ -494,6 +498,7 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir) WM::Manager::instance().register_window (&audio_port_matrix); WM::Manager::instance().register_window (&midi_port_matrix); WM::Manager::instance().register_window (&idleometer); + WM::Manager::instance().register_window (&transport_masters_dialog); /* do not retain position for add route dialog */ add_route_dialog.set_state_mask (WindowProxy::Size); @@ -1801,11 +1806,11 @@ ARDOUR_UI::update_timecode_format () if (_session) { bool matching; - TimecodeSlave* tcslave; - SyncSource sync_src = Config->get_sync_source(); + boost::shared_ptr<TimecodeTransportMaster> tcmaster; + boost::shared_ptr<TransportMaster> tm = TransportMasterManager::instance().current(); - if ((sync_src == LTC || sync_src == MTC) && (tcslave = dynamic_cast<TimecodeSlave*>(_session->slave())) != 0) { - matching = (tcslave->apparent_timecode_format() == _session->config.get_timecode_format()); + if ((tm->type() == LTC || tm->type() == MTC) && (tcmaster = boost::dynamic_pointer_cast<TimecodeTransportMaster>(tm)) != 0) { + matching = (tcmaster->apparent_timecode_format() == _session->config.get_timecode_format()); } else { matching = true; } |