summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui_dialogs.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-12-22 20:21:27 +0100
committerRobin Gareus <robin@gareus.org>2017-12-22 22:15:50 +0100
commit22c497b62d30157a367e5ae90e48d13f036b9bae (patch)
treeb5dad08c89fa471c9a3b870b946615a727de6e0f /gtk2_ardour/ardour_ui_dialogs.cc
parentaab787f686e6287a06ba94ed8c87b524c4690f0f (diff)
Add a separate, dedicated transport-control window
Diffstat (limited to 'gtk2_ardour/ardour_ui_dialogs.cc')
-rw-r--r--gtk2_ardour/ardour_ui_dialogs.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc
index 7592c34dcc..8b6eaa044b 100644
--- a/gtk2_ardour/ardour_ui_dialogs.cc
+++ b/gtk2_ardour/ardour_ui_dialogs.cc
@@ -45,6 +45,7 @@
#include "add_video_dialog.h"
#include "ardour_ui.h"
#include "big_clock_window.h"
+#include "big_transport_window.h"
#include "bundle_manager.h"
#include "global_port_matrix.h"
#include "gui_object.h"
@@ -88,6 +89,10 @@ ARDOUR_UI::set_session (Session *s)
transport_ctrl.set_session (s);
+ if (big_transport_window) {
+ big_transport_window->set_session (s);
+ }
+
if (!_session) {
WM::Manager::instance().set_session (s);
/* Session option editor cannot exist across change-of-session */
@@ -868,6 +873,14 @@ ARDOUR_UI::create_big_clock_window ()
return new BigClockWindow (*big_clock);
}
+BigTransportWindow*
+ARDOUR_UI::create_big_transport_window ()
+{
+ BigTransportWindow* btw = new BigTransportWindow ();
+ btw->set_session (_session);
+ return btw;
+}
+
void
ARDOUR_UI::handle_locations_change (Location *)
{
@@ -890,6 +903,9 @@ ARDOUR_UI::tabbed_window_state_event_handler (GdkEventWindowState* ev, void* obj
if (big_clock_window) {
big_clock_window->set_transient_for (*editor->own_window());
}
+ if (big_transport_window) {
+ big_transport_window->set_transient_for (*editor->own_window());
+ }
}
} else if (object == mixer) {
@@ -899,6 +915,9 @@ ARDOUR_UI::tabbed_window_state_event_handler (GdkEventWindowState* ev, void* obj
if (big_clock_window) {
big_clock_window->set_transient_for (*mixer->own_window());
}
+ if (big_transport_window) {
+ big_transport_window->set_transient_for (*mixer->own_window());
+ }
}
}