Re-pack the master meters (in the toolbar) so the editor_meter_peak_display button...
authorBen Loftis <ben@harrisonconsoles.com>
Wed, 14 Feb 2018 20:47:00 +0000 (14:47 -0600)
committerBen Loftis <ben@harrisonconsoles.com>
Wed, 14 Feb 2018 20:47:00 +0000 (14:47 -0600)
gtk2_ardour/ardour_ui.h
gtk2_ardour/ardour_ui2.cc
gtk2_ardour/ardour_ui_dialogs.cc
gtk2_ardour/editor.h

index db7bfa95b2ce0433af03a41aaac00258c14e4625..36dbebea95605611e2534c3c6df8c62f42f7c4e5 100644 (file)
@@ -494,6 +494,7 @@ private:
        DiskSpaceIndicator disk_space_indicator;
 
        ArdourWidgets::ArdourVSpacer      status_spacer;
+       ArdourWidgets::ArdourVSpacer      meterbox_spacer;
 
        ArdourWidgets::ArdourButton auto_return_button;
        ArdourWidgets::ArdourButton follow_edits_button;
@@ -508,7 +509,7 @@ private:
        Gtk::Table action_script_table;
 
        Gtk::VBox alert_box;
-       Gtk::VBox meter_box;
+       Gtk::Table editor_meter_table;
        ArdourWidgets::ArdourButton editor_meter_peak_display;
        LevelMeterHBox *            editor_meter;
        float                       editor_meter_max_peak;
index 54d2a8416bdb72057ee03f74e404beb4201eac88..71d4af10b89980dc8be946e29697f5092570668f 100644 (file)
@@ -212,16 +212,18 @@ ARDOUR_UI::repack_transport_hbox ()
        }
 
        if (editor_meter) {
-               if (meter_box.get_parent()) {
-                       transport_hbox.remove (meter_box);
-                       transport_hbox.remove (editor_meter_peak_display);
+               if (editor_meter_table.get_parent()) {
+                       transport_hbox.remove (editor_meter_table);
+               }
+               if (meterbox_spacer.get_parent()) {
+                       transport_hbox.remove (meterbox_spacer);
                }
 
                if (UIConfiguration::instance().get_show_editor_meter()) {
-                       transport_hbox.pack_end (editor_meter_peak_display, false, false);
-                       transport_hbox.pack_end (meter_box, false, false);
-                       meter_box.show();
-                       editor_meter_peak_display.show();
+                       transport_hbox.pack_end (editor_meter_table, false, false);
+                       transport_hbox.pack_end (meterbox_spacer, false, false, 3);
+                       editor_meter_table.show();
+                       meterbox_spacer.show();
                }
        }
 
index 8b6eaa044bff4c4cb3a8956d704b646c739d5b6c..8a3b9d17229649a5fa38961ac7e5f87abeb06b8a 100644 (file)
@@ -209,21 +209,19 @@ ARDOUR_UI::set_session (Session *s)
 
        update_format ();
 
-       if (meter_box.get_parent()) {
-               transport_hbox.remove (meter_box);
-               transport_hbox.remove (editor_meter_peak_display);
+       if (editor_meter_table.get_parent()) {
+               transport_hbox.remove (editor_meter_table);
        }
 
        if (editor_meter) {
-               meter_box.remove(*editor_meter);
+               editor_meter_table.remove(*editor_meter);
                delete editor_meter;
                editor_meter = 0;
                editor_meter_peak_display.hide();
        }
 
-       if (meter_box.get_parent()) {
-               transport_hbox.remove (meter_box);
-               transport_hbox.remove (editor_meter_peak_display);
+       if (editor_meter_table.get_parent()) {
+               transport_hbox.remove (editor_meter_table);
        }
 
        if (_session &&
@@ -237,9 +235,14 @@ ARDOUR_UI::set_session (Session *s)
                        editor_meter->set_meter_type (_session->master_out()->meter_type());
                        editor_meter->setup_meters (30, 10, 6);
                        editor_meter->show();
-                       meter_box.pack_start(*editor_meter);
-
                        editor_meter->ButtonPress.connect_same_thread (editor_meter_connection, boost::bind (&ARDOUR_UI::editor_meter_button_press, this, _1));
+
+                       editor_meter_table.set_homogeneous(true);
+                       editor_meter_table.attach(*editor_meter,             0,1, 0,2, SHRINK, EXPAND);
+                       editor_meter_table.attach(editor_meter_peak_display, 0,1, 2,3, EXPAND|FILL, EXPAND|FILL);
+
+                       editor_meter->show();
+                       editor_meter_peak_display.show();
                }
 
                ArdourMeter::ResetAllPeakDisplays.connect (sigc::mem_fun(*this, &ARDOUR_UI::reset_peak_display));
@@ -309,7 +312,7 @@ ARDOUR_UI::unload_session (bool hide_stuff)
        fps_connection.disconnect();
 
        if (editor_meter) {
-               meter_box.remove(*editor_meter);
+               editor_meter_table.remove(*editor_meter);
                delete editor_meter;
                editor_meter = 0;
                editor_meter_peak_display.hide();
index 947985b40edf9bb348c1e1874dac721a58f70aca..8f6730f04525ac3471acd5f564546b46ed4ea370 100644 (file)
@@ -637,7 +637,6 @@ private:
        ArdourWidgets::VPane editor_summary_pane;
 
        Gtk::EventBox meter_base;
-       Gtk::HBox     meter_box;
        Gtk::EventBox marker_base;
        Gtk::HBox     marker_box;
        Gtk::VBox     scrollers_rulers_markers_box;