Merge branch 'windows+cc' into cairocanvas
[ardour.git] / libs / surfaces / mackie / device_info.h
index 287bed5c0e0cc9ba9f2d5c79b8cffd68dfcb4785..33f554fe07f829d41f3da92ccb2b0a6ab1a78dfb 100644 (file)
@@ -62,61 +62,51 @@ class DeviceInfo
        uint32_t extenders() const;
        bool has_two_character_display() const; 
        bool has_master_fader () const;
-       bool has_segmented_display() const;
        bool has_timecode_display() const;
        bool has_global_controls() const;
        bool has_jog_wheel () const;
        bool has_touch_sense_faders() const;
+       bool uses_ipmidi() const;
+       bool no_handshake() const;
+       bool has_meters() const;
        const std::string& name() const;
 
        static std::map<std::string,DeviceInfo> device_info;
        static void reload_device_info();
+       
+       std::string& get_global_button_name(Button::ID);
+       GlobalButtonInfo& get_global_button(Button::ID);
+
+  typedef std::map<Button::ID,GlobalButtonInfo> GlobalButtonsInfo;
+  typedef std::map<Button::ID,StripButtonInfo> StripButtonsInfo;
 
-    const std::map<Button::ID,GlobalButtonInfo>& global_buttons() const { return _global_buttons; }
-    const std::map<Button::ID,StripButtonInfo>& strip_buttons() const { return _strip_buttons; }
+  const GlobalButtonsInfo& global_buttons() const { return _global_buttons; }
+  const StripButtonsInfo& strip_buttons() const { return _strip_buttons; }
        
   private:
     uint32_t _strip_cnt;
     uint32_t _extenders;
     bool     _has_two_character_display;
     bool     _has_master_fader;
-    bool     _has_segmented_display;
     bool     _has_timecode_display;
     bool     _has_global_controls;
     bool     _has_jog_wheel;
     bool     _has_touch_sense_faders;
     bool     _uses_logic_control_buttons;
+    bool     _uses_ipmidi;
+    bool     _no_handshake;
+    bool     _has_meters;
     std::string _name;
+               std::string _global_button_name;
 
-    std::map<Button::ID,GlobalButtonInfo> _global_buttons;
-    std::map<Button::ID,StripButtonInfo>  _strip_buttons;
+               GlobalButtonsInfo _global_buttons;
+    StripButtonsInfo _strip_buttons;
 
     void logic_control_buttons ();
     void mackie_control_buttons ();
     void shared_buttons ();
 };
 
-class DeviceProfile
-{
-  public:
-       DeviceProfile (DeviceInfo& info);
-       ~DeviceProfile();
-
-       const std::string& get_f_action (uint32_t fn, int modifier_state);
-       void set_f_action (uint32_t fn, int modifier_state, const std::string&);
-
-  private:
-    struct KeyActions {
-        std::string plain;
-        std::string control;
-        std::string shift;
-        std::string option;
-        std::string cmdalt;
-        std::string shiftcontrol;
-    };
-
-    typedef std::map<Button::ID,KeyActions> KeyActionMap;
-};
 
 }