NO-OP: whitespace
[ardour.git] / gtk2_ardour / processor_box.h
index cd75c7c8a074846ed2dc51de378c0ccf03d14bb3..81c5c8e20fb3a57dee720c9a106a42fe52294063 100644 (file)
 #include <gtkmm/menu.h>
 #include <gtkmm/scrolledwindow.h>
 
-#include "gtkmm2ext/auto_spin.h"
 #include "gtkmm2ext/bindings.h"
-#include "gtkmm2ext/click_box.h"
 #include "gtkmm2ext/dndtreeview.h"
 #include "gtkmm2ext/dndvbox.h"
-#include "gtkmm2ext/pixfader.h"
 #include "gtkmm2ext/persistent_tooltip.h"
 
 #include "pbd/stateful.h"
 
 #include "pbd/fastlog.h"
 
+#include "widgets/ardour_button.h"
+#include "widgets/ardour_fader.h"
+#include "widgets/slider_controller.h"
+
 #include "plugin_interest.h"
+#include "plugin_display.h"
 #include "io_selector.h"
 #include "send_ui.h"
 #include "enums.h"
-#include "ardour_button.h"
 #include "window_manager.h"
 
 class MotionController;
@@ -80,7 +81,7 @@ class ProcessorBox;
 
 class ProcessorWindowProxy : public WM::ProxyBase
 {
-  public:
+public:
        ProcessorWindowProxy (std::string const &, ProcessorBox *, boost::weak_ptr<ARDOUR::Processor>);
        ~ProcessorWindowProxy();
 
@@ -91,13 +92,13 @@ class ProcessorWindowProxy : public WM::ProxyBase
        }
 
        ARDOUR::SessionHandlePtr* session_handle();
-       void show_the_right_window ();
+       void show_the_right_window (bool show_not_toggle = false);
        void set_custom_ui_mode(bool use_custom) { want_custom = use_custom; }
 
        int set_state (const XMLNode&, int);
        XMLNode& get_state ();
 
-  private:
+private:
        ProcessorBox* _processor_box;
        boost::weak_ptr<ARDOUR::Processor> _processor;
        bool is_custom;
@@ -105,6 +106,7 @@ class ProcessorWindowProxy : public WM::ProxyBase
 
        void processor_going_away ();
        PBD::ScopedConnection going_away_connection;
+       PBD::ScopedConnectionList gui_connections;
 };
 
 
@@ -118,7 +120,6 @@ class PluginPinWindowProxy : public WM::ProxyBase
        ARDOUR::SessionHandlePtr* session_handle();
 
   private:
-       ProcessorBox* _processor_box;
        boost::weak_ptr<ARDOUR::Processor> _processor;
 
        void processor_going_away ();
@@ -168,7 +169,7 @@ public:
        Gtk::Menu* build_send_options_menu ();
 
 protected:
-       ArdourButton _button;
+       ArdourWidgets::ArdourButton _button;
        Gtk::VBox _vbox;
        Position _position;
        uint32_t _position_num;
@@ -218,21 +219,24 @@ private:
                void button_clicked ();
                void button_clicked_event (GdkEventButton *);
                void control_changed ();
+               void control_automation_state_changed ();
                std::string state_id () const;
                void set_tooltip ();
 
+               void start_touch ();
+               void end_touch ();
+
                boost::weak_ptr<ARDOUR::AutomationControl> _control;
                /* things for a slider */
                Gtk::Adjustment _adjustment;
-               Gtkmm2ext::HSliderController _slider;
+               ArdourWidgets::HSliderController _slider;
                Gtkmm2ext::PersistentTooltip _slider_persistant_tooltip;
                /* things for a button */
-               ArdourButton _button;
+               ArdourWidgets::ArdourButton _button;
                bool _ignore_ui_adjustment;
-               PBD::ScopedConnection _connection;
+               PBD::ScopedConnectionList _connections;
                bool _visible;
                std::string _name;
-               sigc::connection timer_connection;
        };
 
        std::list<Control*> _controls;
@@ -241,34 +245,23 @@ private:
        void toggle_panner_link ();
        void toggle_allow_feedback ();
 
-       class PluginDisplay : public Gtk::DrawingArea {
+       class PluginInlineDisplay : public PluginDisplay {
        public:
-               PluginDisplay(ProcessorEntry&, boost::shared_ptr<ARDOUR::Plugin>, uint32_t max_height = 80);
-               virtual ~PluginDisplay();
+               PluginInlineDisplay(ProcessorEntry&, boost::shared_ptr<ARDOUR::Plugin>, uint32_t max_height = 80);
+               ~PluginInlineDisplay() {}
        protected:
-               bool on_expose_event (GdkEventExpose *);
                void on_size_request (Gtk::Requisition* req);
                bool on_button_press_event (GdkEventButton *ev);
-               bool on_button_release_event (GdkEventButton *ev);
-
-               void plugin_going_away () {
-                       _qdraw_connection.disconnect ();
-               }
-
                void update_height_alloc (uint32_t inline_height);
-               virtual uint32_t render_inline (cairo_t *, uint32_t width);
+
+               void display_sample (cairo_t* cr, double w, double h);
 
                ProcessorEntry& _entry;
-               boost::shared_ptr<ARDOUR::Plugin> _plug;
-               PBD::ScopedConnection _qdraw_connection;
-               PBD::ScopedConnection _death_connection;
-               cairo_surface_t* _surf;
-               uint32_t _max_height;
-               uint32_t _cur_height;
                bool _scroll;
+               const uint32_t _given_max_height;
        };
 
-       class LuaPluginDisplay : public PluginDisplay {
+       class LuaPluginDisplay : public PluginInlineDisplay {
        public:
                LuaPluginDisplay(ProcessorEntry&, boost::shared_ptr<ARDOUR::LuaProc>, uint32_t max_height = 80);
                ~LuaPluginDisplay();
@@ -401,7 +394,7 @@ private:
 
 class ProcessorBox : public Gtk::HBox, public PluginInterestedObject, public ARDOUR::SessionHandlePtr
 {
-  public:
+public:
        enum ProcessorOperation {
                ProcessorsCut,
                ProcessorsCopy,
@@ -414,7 +407,7 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject, public ARD
        };
 
        ProcessorBox (ARDOUR::Session*, boost::function<PluginSelector*()> get_plugin_selector,
-                     ProcessorSelection&, MixerStrip* parent, bool owner_is_mixer = false);
+                     ProcessorSelection&, MixerStrip* parent, bool owner_is_mixer = false);
        ~ProcessorBox ();
 
        void set_route (boost::shared_ptr<ARDOUR::Route>);
@@ -457,7 +450,8 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject, public ARD
 
        typedef std::vector<boost::shared_ptr<ARDOUR::Processor> > ProcSelection;
 
-       static ProcSelection current_processor_selection () {
+       static ProcSelection current_processor_selection ()
+       {
                ProcSelection ps;
                if (_current_processor_box) {
                        _current_processor_box->get_selected_processors (ps);
@@ -469,7 +463,7 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject, public ARD
        static bool show_all_processors;
 #endif
 
-  private:
+private:
        /* prevent copy construction */
        ProcessorBox (ProcessorBox const &);
 
@@ -488,7 +482,6 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject, public ARD
         *  put at the end of the plugin list.
         */
        int _placement;
-       uint32_t                  _visible_prefader_processors;
 
        ProcessorSelection& _p_selection;
        static Gtkmm2ext::ActionMap myactions;
@@ -535,7 +528,6 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject, public ARD
        bool processor_button_release_event (GdkEventButton *, ProcessorEntry *);
        void redisplay_processors ();
        void add_processor_to_display (boost::weak_ptr<ARDOUR::Processor>);
-       void help_count_visible_prefader_processors (boost::weak_ptr<ARDOUR::Processor>, uint32_t*, bool*);
        void reordered ();
        void report_failed_reorder ();
        void route_processors_changed (ARDOUR::RouteProcessorChange);
@@ -560,6 +552,8 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject, public ARD
        void for_selected_processors (void (ProcessorBox::*pmf)(boost::shared_ptr<ARDOUR::Processor>));
        void get_selected_processors (ProcSelection&) const;
 
+       void set_disk_io_position (ARDOUR::DiskIOPoint);
+
        bool can_cut() const;
        bool stub_processor_selected() const;
 
@@ -570,6 +564,7 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject, public ARD
        static Glib::RefPtr<Gtk::Action> delete_action;
        static Glib::RefPtr<Gtk::Action> backspace_action;
        static Glib::RefPtr<Gtk::Action> manage_pins_action;
+       static Glib::RefPtr<Gtk::Action> disk_io_action;
        static Glib::RefPtr<Gtk::Action> edit_action;
        static Glib::RefPtr<Gtk::Action> edit_generic_action;
        void paste_processor_state (const XMLNodeList&, boost::shared_ptr<ARDOUR::Processor>);
@@ -603,6 +598,7 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject, public ARD
        static void rb_deactivate_all ();
        static void rb_ab_plugins ();
        static void rb_manage_pins ();
+       static void rb_set_disk_io_position (ARDOUR::DiskIOPoint);
        static void rb_edit ();
        static void rb_edit_generic ();