summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui_dialogs.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-10-18 03:50:52 +0200
committerRobin Gareus <robin@gareus.org>2019-10-18 03:50:52 +0200
commitebb89ba80522448527f0bd3f9efdb810d8df8506 (patch)
tree78a0b951f0d700e1ba2dcbbc661a638b37b49b82 /gtk2_ardour/ardour_ui_dialogs.cc
parentf961fd46874d407c6569e0b6f9ddbede09900b3a (diff)
Super basic Virtual-Keyboard UI
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 f56f4c6adc..8625b92210 100644
--- a/gtk2_ardour/ardour_ui_dialogs.cc
+++ b/gtk2_ardour/ardour_ui_dialogs.cc
@@ -82,6 +82,7 @@
#include "time_info_box.h"
#include "timers.h"
#include "transport_masters_dialog.h"
+#include "virtual_keyboard_window.h"
#include "pbd/i18n.h"
@@ -103,6 +104,10 @@ ARDOUR_UI::set_session (Session *s)
big_transport_window->set_session (s);
}
+ if (virtual_keyboard_window) {
+ virtual_keyboard_window->set_session (s);
+ }
+
if (!_session) {
WM::Manager::instance().set_session (s);
/* Session option editor cannot exist across change-of-session */
@@ -887,6 +892,14 @@ ARDOUR_UI::create_big_transport_window ()
return btw;
}
+VirtualKeyboardWindow*
+ARDOUR_UI::create_virtual_keyboard_window ()
+{
+ VirtualKeyboardWindow* vkbd = new VirtualKeyboardWindow ();
+ vkbd->set_session (_session);
+ return vkbd;
+}
+
void
ARDOUR_UI::handle_locations_change (Location *)
{
@@ -912,6 +925,9 @@ ARDOUR_UI::tabbed_window_state_event_handler (GdkEventWindowState* ev, void* obj
if (big_transport_window) {
big_transport_window->set_transient_for (*editor->own_window());
}
+ if (virtual_keyboard_window) {
+ virtual_keyboard_window->set_transient_for (*editor->own_window());
+ }
}
} else if (object == mixer) {
@@ -924,6 +940,9 @@ ARDOUR_UI::tabbed_window_state_event_handler (GdkEventWindowState* ev, void* obj
if (big_transport_window) {
big_transport_window->set_transient_for (*mixer->own_window());
}
+ if (virtual_keyboard_window) {
+ virtual_keyboard_window->set_transient_for (*mixer->own_window());
+ }
}
}