summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/ardour_ui2.cc4
-rw-r--r--gtk2_ardour/editor.cc16
-rw-r--r--gtk2_ardour/editor.h5
-rw-r--r--gtk2_ardour/public_editor.h3
4 files changed, 22 insertions, 6 deletions
diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc
index 1bf5115b8d..9456a11b64 100644
--- a/gtk2_ardour/ardour_ui2.cc
+++ b/gtk2_ardour/ardour_ui2.cc
@@ -112,9 +112,9 @@ ARDOUR_UI::setup_windows ()
top_packer.pack_start (menu_bar_base, false, false);
#endif
- top_packer.pack_start (transport_frame, false, false);
+ editor->add_toplevel_menu (top_packer);
- editor->add_toplevel_controls (top_packer);
+ editor->add_transport_frame (transport_frame);
setup_transport();
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index 534ce86342..ad920683b8 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -802,12 +802,24 @@ Editor::button_settings () const
}
void
-Editor::add_toplevel_controls (Container& cont)
+Editor::add_toplevel_menu (Container& cont)
{
vpacker.pack_start (cont, false, false);
cont.show_all ();
}
+void
+Editor::add_transport_frame (Container& cont)
+{
+ if(ARDOUR::Profile->get_mixbus()) {
+ global_vpacker.pack_start (cont, false, false);
+ global_vpacker.reorder_child (cont, 0);
+ cont.show_all ();
+ } else {
+ vpacker.pack_start (cont, false, false);
+ }
+}
+
bool
Editor::get_smart_mode () const
{
@@ -3023,7 +3035,7 @@ Editor::setup_toolbar ()
if (!ARDOUR::Profile->get_trx()) {
hbox->pack_start (snap_box, false, false);
- if (!Profile->get_small_screen()) {
+ if ( !Profile->get_small_screen() || Profile->get_mixbus() ) {
hbox->pack_start (*nudge_box, false, false);
} else {
ARDOUR_UI::instance()->editor_transport_box().pack_start (*nudge_box, false, false);
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index d3d240611a..4a62d3a0cb 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -277,7 +277,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void export_range ();
void export_region ();
- void add_toplevel_controls (Gtk::Container&);
+ void add_transport_frame (Gtk::Container&);
+ void add_toplevel_menu (Gtk::Container&);
Gtk::HBox& get_status_bar_packer() { return status_bar_hpacker; }
void set_zoom_focus (Editing::ZoomFocus);
@@ -969,6 +970,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
std::vector<ARDOUR::framepos_t> region_boundary_cache;
void build_region_boundary_cache ();
+ Gtk::HBox toplevel_hpacker;
+
Gtk::HBox top_hbox;
Gtk::HBox bottom_hbox;
diff --git a/gtk2_ardour/public_editor.h b/gtk2_ardour/public_editor.h
index 17d43e0bf4..4b3c83ffb1 100644
--- a/gtk2_ardour/public_editor.h
+++ b/gtk2_ardour/public_editor.h
@@ -238,7 +238,8 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi
virtual void export_range () = 0;
virtual void register_actions () = 0;
- virtual void add_toplevel_controls (Gtk::Container&) = 0;
+ virtual void add_transport_frame (Gtk::Container&) = 0;
+ virtual void add_toplevel_menu (Gtk::Container&) = 0;
virtual void set_zoom_focus (Editing::ZoomFocus) = 0;
virtual Editing::ZoomFocus get_zoom_focus () const = 0;
virtual framecnt_t get_current_zoom () const = 0;