class XMLNode;
+namespace ArdourSurface {
+
namespace Mackie {
class DeviceProfile
public:
DeviceProfile (const std::string& name = "");
~DeviceProfile();
-
+
std::string get_button_action (Button::ID, int modifier_state) const;
void set_button_action (Button::ID, int modifier_state, const std::string&);
-
+
const std::string& name() const;
-
+ void set_path (const std::string&);
+
static void reload_device_profiles ();
static std::map<std::string,DeviceProfile> device_profiles;
-
+
private:
struct ButtonActions {
std::string plain;
std::string cmdalt;
std::string shiftcontrol;
};
-
+
typedef std::map<Button::ID,ButtonActions> ButtonActionMap;
-
+
std::string _name;
+ std::string _path;
ButtonActionMap _button_map;
-
+
int set_state (const XMLNode&, int version);
XMLNode& get_state () const;
+
+ void save ();
};
+}
}
#endif /* __ardour_mackie_control_protocol_device_profile_h__ */