merge with master, primarily for adrian's maximise-mixer change
authorPaul Davis <paul@linuxaudiosystems.com>
Sat, 22 Mar 2014 14:58:26 +0000 (10:58 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Sat, 22 Mar 2014 14:58:26 +0000 (10:58 -0400)
1  2 
gtk2_ardour/ardour_ui.h
gtk2_ardour/ardour_ui_dialogs.cc

diff --combined gtk2_ardour/ardour_ui.h
index 132af1ab826cb717a3f52c5e88bc6116d027048c,1f90a4cbb679ebaea89c4a09fe950902ba3756f4..dfb2b72a1ebafee391e21c3a27256faf6ff496c6
@@@ -35,6 -35,7 +35,6 @@@
  #include <list>
  #include <cmath>
  
 -#include <libgnomecanvasmm/canvas.h>
  
  #include "pbd/xml++.h"
  #include "pbd/controllable.h"
  #include "ardour/utils.h"
  #include "ardour/plugin.h"
  #include "ardour/session_handle.h"
 +#include "ardour/system_exec.h"
  
  #include "video_timeline.h"
  
 +#include "about.h"
  #include "ardour_button.h"
  #include "ardour_dialog.h"
  #include "ardour_window.h"
  #include "editing.h"
 +#include "engine_dialog.h"
  #include "meterbridge.h"
  #include "ui_config.h"
  #include "enums.h"
  #include "visibility_group.h"
  #include "window_manager.h"
  
 -class About;
 -class AddRouteDialog;
 -class AddVideoDialog;
 +#include "add_route_dialog.h"
 +#include "add_video_dialog.h"
 +#include "big_clock_window.h"
 +#include "bundle_manager.h"
 +#include "global_port_matrix.h"
 +#include "keyeditor.h"
 +#include "location_ui.h"
 +#include "rc_option_editor.h"
 +#include "route_params_ui.h"
 +#include "session_option_editor.h"
 +#include "speaker_dialog.h"
 +#include "theme_manager.h"
 +
  class VideoTimeLine;
 -class SystemExec;
  class ArdourKeyboard;
  class AudioClock;
 -class BigClockWindow;
 -class BundleManager;
  class ButtonJoiner;
  class ConnectionEditor;
 -class EngineControl;
 -class KeyEditor;
 -class LocationUIWindow;
  class MainClock;
  class Mixer_UI;
  class PublicEditor;
@@@ -106,10 -100,13 +106,10 @@@ class SessionDialog
  class SessionOptionEditor;
  class ShuttleControl;
  class Splash;
 -class SpeakerDialog;
 -class ThemeManager;
  class TimeInfoBox;
  class MidiTracer;
  class NSM_Client;
  class LevelMeterHBox;
 -class GlobalPortMatrixWindow;
  class GUIObjectState;
  
  namespace Gtkmm2ext {
@@@ -174,6 -171,7 +174,7 @@@ class ARDOUR_UI : public Gtkmm2ext::UI
  
        void new_midi_tracer_window ();
        void toggle_editing_space();
+       void toggle_mixer_space();
        void toggle_keep_tearoffs();
  
        Gtk::Tooltips& tooltips() { return _tooltips; }
  
        static UIConfiguration *ui_config;
  
 -      SystemExec *video_server_process;
 +      ARDOUR::SystemExec *video_server_process;
  
        void handle_locations_change (ARDOUR::Location*);
  
        void disk_speed_dialog_gone (int ignored_response, Gtk::MessageDialog*);
        void disk_overrun_handler ();
        void disk_underrun_handler ();
 +      void gui_idle_handler ();
 +
 +      void cancel_plugin_scan ();
 +      void cancel_plugin_timeout ();
 +      void plugin_scan_dialog (std::string type, std::string plugin, bool);
 +      void plugin_scan_timeout (int);
  
          void session_format_mismatch (std::string, std::string);
  
        void fontconfig_dialog ();
  
          int missing_file (ARDOUR::Session*s, std::string str, ARDOUR::DataType type);
 -        int ambiguous_file (std::string file, std::string path, std::vector<std::string> hits);
 +        int ambiguous_file (std::string file, std::vector<std::string> hits);
  
        bool click_button_clicked (GdkEventButton *);
  
index 2cfa27cbb241b7c919d019e3150bc17df4576e7e,6f55f7cc44efe0cade19c7aeb0185bf3ba7ee6ca..487a7b94a4db33db070b7f444cef4084c4d3e026
  #include "ardour/audioengine.h"
  #include "ardour/automation_watch.h"
  
 +#ifdef interface
 +#undef interface
 +#endif
 +
  #include "actions.h"
  #include "add_route_dialog.h"
  #include "add_video_dialog.h"
@@@ -72,6 -68,7 +72,6 @@@ ARDOUR_UI::set_session (Session *s
  {
        SessionHandlePtr::set_session (s);
  
 -
        if (!_session) {
                WM::Manager::instance().set_session (s);
                /* Session option editor cannot exist across change-of-session */
                editor_meter_peak_display.hide();
        }
  
 -      if (_session
 -                      && _session->master_out()
 -                      && _session->master_out()->n_outputs().n(DataType::AUDIO) > 0) {
 +      if (meter_box.get_parent()) {
 +              transport_tearoff_hbox.remove (meter_box);
 +              transport_tearoff_hbox.remove (editor_meter_peak_display);
 +      }
 +
 +      if (_session && 
 +          _session->master_out() && 
 +          _session->master_out()->n_outputs().n(DataType::AUDIO) > 0) {
 +
                editor_meter = new LevelMeterHBox(_session);
                editor_meter->set_meter (_session->master_out()->shared_peak_meter().get());
                editor_meter->clear_meters();
                        meter_box.show();
                        editor_meter_peak_display.show();
                }
 -      } 
 +      }
  }
  
  int
@@@ -574,3 -565,18 +574,18 @@@ ARDOUR_UI::editor_meter_peak_button_rel
        }
        return true;
  }
+ void
+ ARDOUR_UI::toggle_mixer_space()
+ {
+       Glib::RefPtr<Action> act = ActionManager::get_action ("Common", "ToggleMaximalMixer");
+       if (act) {
+               Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act);
+               if (tact->get_active()) {
+                       mixer->maximise_mixer_space ();
+               } else {
+                       mixer->restore_mixer_space ();
+               }
+       }
+ }