summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorHans Baier <hansfbaier@googlemail.com>2008-12-06 00:07:07 +0000
committerHans Baier <hansfbaier@googlemail.com>2008-12-06 00:07:07 +0000
commit110170db95aa455794cc8d8ca8ed53b8a31119a5 (patch)
tree15aee50affca6160c26cfc0ff74569be473a7c9d /libs
parent4f185b3f36850fae70f80af545f40f0211f7164e (diff)
* Added MIDI::Name::Note
git-svn-id: svn://localhost/ardour2/branches/3.0@4292 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/midi++2/midi++/midnam_patch.h21
-rw-r--r--libs/midi++2/midnam_patch.cc20
2 files changed, 41 insertions, 0 deletions
diff --git a/libs/midi++2/midi++/midnam_patch.h b/libs/midi++2/midi++/midnam_patch.h
index 775f46ec75..18100cf9be 100644
--- a/libs/midi++2/midi++/midnam_patch.h
+++ b/libs/midi++2/midi++/midnam_patch.h
@@ -88,6 +88,27 @@ private:
PatchBanks _patch_banks;
};
+class Note : public PBD::Stateful
+{
+public:
+ Note() {};
+ Note(string a_number, string a_name) : _number(a_number), _name(a_name) {};
+ ~Note() {};
+
+ const string& name() const { return _name; }
+ void set_name(const string a_name) { _name = a_name; }
+
+ const string& number() const { return _number; }
+ void set_number(const string a_number) { _number = a_number; }
+
+ XMLNode& get_state (void);
+ int set_state (const XMLNode& a_node);
+
+private:
+ string _number;
+ string _name;
+};
+
class CustomDeviceMode : public PBD::Stateful
{
public:
diff --git a/libs/midi++2/midnam_patch.cc b/libs/midi++2/midnam_patch.cc
index 624701bcde..dbde6e240c 100644
--- a/libs/midi++2/midnam_patch.cc
+++ b/libs/midi++2/midnam_patch.cc
@@ -40,6 +40,26 @@ Patch::set_state (const XMLNode& node)
}
XMLNode&
+Note::get_state (void)
+{
+ XMLNode* node = new XMLNode("Patch");
+ node->add_property("Number", _number);
+ node->add_property("Name", _name);
+
+ return *node;
+}
+
+int
+Note::set_state (const XMLNode& node)
+{
+ assert(node.name() == "Patch");
+ _number = node.property("Number")->value();
+ _name = node.property("Name")->value();
+
+ return 0;
+}
+
+XMLNode&
PatchBank::get_state (void)
{
XMLNode* node = new XMLNode("PatchBank");