diff options
author | Hans Baier <hansfbaier@googlemail.com> | 2008-12-06 00:07:07 +0000 |
---|---|---|
committer | Hans Baier <hansfbaier@googlemail.com> | 2008-12-06 00:07:07 +0000 |
commit | 110170db95aa455794cc8d8ca8ed53b8a31119a5 (patch) | |
tree | 15aee50affca6160c26cfc0ff74569be473a7c9d /libs | |
parent | 4f185b3f36850fae70f80af545f40f0211f7164e (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.h | 21 | ||||
-rw-r--r-- | libs/midi++2/midnam_patch.cc | 20 |
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"); |