remove unused variable
[ardour.git] / gtk2_ardour / plugin_ui.h
index b7c686686778c4a592e0ce3735aab3520dc7a40b..53171cacbf3ce8cdc75743826d91eed765419542 100644 (file)
 
 #include <sigc++/signal.h>
 
-#include <gtkmm/button.h>
+#include <gtkmm/adjustment.h>
 #include <gtkmm/box.h>
-#include <gtkmm/table.h>
+#include <gtkmm/button.h>
 #include <gtkmm/eventbox.h>
-#include <gtkmm/viewport.h>
-#include <gtkmm/scrolledwindow.h>
+#include <gtkmm/expander.h>
+#include <gtkmm/filechooserbutton.h>
+#include <gtkmm/image.h>
 #include <gtkmm/label.h>
 #include <gtkmm/menu.h>
-#include <gtkmm/image.h>
-#include <gtkmm/adjustment.h>
-#include <gtkmm/togglebutton.h>
-#include <gtkmm/socket.h>
+#include <gtkmm/scrolledwindow.h>
 #include <gtkmm/socket.h>
+#include <gtkmm/table.h>
+#include <gtkmm/togglebutton.h>
+#include <gtkmm/viewport.h>
 
 #include "ardour/types.h"
 #include "ardour/plugin.h"
@@ -54,6 +55,7 @@
 
 #include "ardour_window.h"
 #include "automation_controller.h"
+#include "gtk_pianokeyboard.h"
 
 namespace ARDOUR {
        class PluginInsert;
@@ -69,12 +71,8 @@ namespace PBD {
        class Controllable;
 }
 
-namespace Gtkmm2ext {
-       class HSliderController;
-       class BarController;
-       class ClickBox;
+namespace ArdourWidgets {
        class FastMeter;
-       class PixmapButton;
 }
 
 class LatencyGUI;
@@ -149,6 +147,8 @@ protected:
        ArdourWidgets::ArdourButton automation_write_all_button;
        /** a button which sets all controls' automation setting to Touch */
        ArdourWidgets::ArdourButton automation_touch_all_button;
+       /** a button which sets all controls' automation setting to Latch */
+       ArdourWidgets::ArdourButton automation_latch_all_button;
 
        void set_latency_label ();
 
@@ -206,7 +206,7 @@ private:
        bool is_scrollable;
 
        struct MeterInfo {
-               Gtkmm2ext::FastMeter *meter;
+               ArdourWidgets::FastMeter* meter;
                bool packed;
 
                MeterInfo () {
@@ -231,7 +231,6 @@ private:
                ArdourWidgets::ArdourButton             automate_button;
                Gtk::Label                              label;
                ArdourWidgets::ArdourDropdown*          combo;
-               Gtkmm2ext::ClickBox*                    clickbox;
                Gtk::FileChooserButton*                 file_button;
                ArdourWidgets::ArdourSpinner*           spin_box;
 
@@ -239,6 +238,7 @@ private:
                bool                                    update_pending;
                bool                                    ignore_change;
 
+
                /* output */
 
                Gtk::EventBox* display;
@@ -254,8 +254,12 @@ private:
                /* layout */
                Gtk::Table* knobtable;
                int x0, x1, y0, y1;
+
+               bool short_autostate; // modify with set_short_autostate below
        };
 
+       void set_short_autostate(ControlUI* cui, bool value);
+
        std::vector<ControlUI*>   input_controls; // workaround for preset load
        std::vector<ControlUI*>   input_controls_with_automation;
        std::vector<ControlUI*>   output_controls;
@@ -298,6 +302,29 @@ private:
                                Gtk::FileChooserButton*            widget);
        void path_property_changed (uint32_t key, const ARDOUR::Variant& value);
 
+       void scroller_size_request (Gtk::Requisition*);
+       Gtk::ScrolledWindow scroller;
+
+       Gtk::Expander   _plugin_pianokeyboard_expander;
+       PianoKeyboard*  _piano;
+       Gtk::Widget*    _pianomm;
+       Gtk::VBox       _pianobox;
+       Gtk::SpinButton _piano_velocity;
+       Gtk::SpinButton _piano_channel;
+
+       static void _note_on_event_handler (GtkWidget*, int, gpointer);
+       static void _note_off_event_handler (GtkWidget*, int, gpointer);
+       void note_on_event_handler (int);
+       void note_off_event_handler (int);
+
+       void toggle_pianokeyboard ();
+       void build_midi_table ();
+       void midi_refill_patches ();
+       void midi_bank_patch_change (uint8_t chn);
+       void midi_bank_patch_select (uint8_t chn, uint32_t bankpgm);
+       std::vector<ArdourWidgets::ArdourDropdown*> midi_pgmsel;
+       PBD::ScopedConnectionList midi_connections;
+       std::map<uint32_t, std::string> pgm_names;
 };
 
 class PluginUIWindow : public ArdourWindow