move mode/scale/key definitions out of push2 code and into libardour; Aeolian is...
[ardour.git] / libs / surfaces / push2 / gui.h
index b472698feecec1571645be74c35499c34c3536fe..c217d37039594178e2377426fe62d94b8393fd37 100644 (file)
@@ -37,8 +37,9 @@ namespace Gtk {
        class ListStore;
 }
 
+#include "ardour/mode.h"
+
 #include "push2.h"
-#include "mode.h"
 
 namespace ArdourSurface {
 
@@ -48,8 +49,6 @@ public:
        P2GUI (Push2&);
        ~P2GUI ();
 
-       void build_pad_table ();
-
 private:
        Push2& p2;
        PBD::ScopedConnectionList p2_connections;
@@ -95,55 +94,20 @@ private:
        void build_available_action_menu ();
        bool find_action_in_model (const Gtk::TreeModel::iterator& iter, std::string const & action_path, Gtk::TreeModel::iterator* found);
 
-       /* Pads */
-
-       Gtk::Table pad_table;
-
-       /* root notes */
-
-       Gtk::Adjustment root_note_octave_adjustment;
-       Gtk::SpinButton root_note_octave;
-       Gtk::Label root_note_octave_label;
-
-       void root_note_octave_adjustment_changed ();
-
-       struct NoteColumns : public Gtk::TreeModel::ColumnRecord {
-               NoteColumns () {
-                       add (number);
-                       add (name);
-               }
-               Gtk::TreeModelColumn<int>         number;
-               Gtk::TreeModelColumn<std::string> name;
-       };
-       NoteColumns note_columns;
-       Glib::RefPtr<Gtk::ListStore> build_note_columns ();
-       Gtk::ComboBox root_note_selector;
-       Gtk::Label root_note_label;
-
-       void root_note_changed ();
-
-       /* modes/scales */
-
-       struct ModeColumns : public Gtk::TreeModel::ColumnRecord {
-               ModeColumns () {
+       struct PressureModeColumns : public Gtk::TreeModel::ColumnRecord {
+               PressureModeColumns() {
                        add (mode);
                        add (name);
                }
-               Gtk::TreeModelColumn<MusicalMode::Type>  mode;
+               Gtk::TreeModelColumn<Push2::PressureMode>  mode;
                Gtk::TreeModelColumn<std::string> name;
        };
-       ModeColumns mode_columns;
-       Glib::RefPtr<Gtk::ListStore> build_mode_columns ();
-       Gtk::ComboBox mode_selector;
-       Gtk::Label mode_label;
-
-       Gtk::CheckButton inkey_button;
-
-       Gtk::Notebook pad_notebook;
-       Gtk::Table    mode_packer;
-       Gtk::VBox     custom_packer;
+       PressureModeColumns pressure_mode_columns;
+       Glib::RefPtr<Gtk::ListStore> build_pressure_mode_columns ();
+       Gtk::ComboBox pressure_mode_selector;
+       Gtk::Label pressure_mode_label;
 
-       void reprogram_pad_scale ();
+       void reprogram_pressure_mode ();
 };
 
 }