Fix MCP send display value scaling.
[ardour.git] / libs / surfaces / faderport / gui.h
index a3e02141c8d63a99cfe453076b403067eb729675..907da738397b98cf01679581f8e9fcd0b019a4fd 100644 (file)
@@ -25,6 +25,7 @@
 
 #include <gtkmm/box.h>
 #include <gtkmm/combobox.h>
+#include <gtkmm/image.h>
 #include <gtkmm/table.h>
 #include <gtkmm/treestore.h>
 
@@ -45,20 +46,22 @@ public:
 
 private:
        FaderPort& fp;
+       Gtk::HBox hpacker;
        Gtk::Table table;
        Gtk::Table action_table;
        Gtk::ComboBox input_combo;
        Gtk::ComboBox output_combo;
+       Gtk::Image    image;
 
        /* the mix, proj, trns and user buttons have no obvious semantics for
         * ardour, mixbus etc., so we allow the user to define their
         * functionality from a small, curated set of options.
         */
 
-       Gtk::ComboBox mix_combo[4];
-       Gtk::ComboBox proj_combo[4];
-       Gtk::ComboBox trns_combo[4];
-       Gtk::ComboBox user_combo[4];
+       Gtk::ComboBox mix_combo[3];
+       Gtk::ComboBox proj_combo[3];
+       Gtk::ComboBox trns_combo[3];
+       Gtk::ComboBox user_combo[2];
 
        void update_port_combos ();
        PBD::ScopedConnection connection_change_connection;
@@ -96,9 +99,13 @@ private:
        void build_mix_action_combo (Gtk::ComboBox&, FaderPort::ButtonState);
        void build_proj_action_combo (Gtk::ComboBox&, FaderPort::ButtonState);
        void build_trns_action_combo (Gtk::ComboBox&, FaderPort::ButtonState);
+       void build_user_action_combo (Gtk::ComboBox&, FaderPort::ButtonState);
 
        void build_available_action_menu ();
        void action_changed (Gtk::ComboBox*, FaderPort::ButtonID, FaderPort::ButtonState);
+
+       bool find_action_in_model (const Gtk::TreeModel::iterator& iter, std::string const & action_path, Gtk::TreeModel::iterator* found);
+
 };
 
 }