diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-06-10 16:42:17 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-06-10 16:42:17 +0000 |
commit | 23350c195db2a8a777ca8d471174b44255c96ec4 (patch) | |
tree | ed17d2c8545b38fdc879e96ddb13a22c6986218f /libs/midi++2/midi++/midnam_patch.h | |
parent | df6222b3b408ecf2aa673beb0fdff2fa309a81a1 (diff) |
remove craziness of propagating MIDI 7 bit limits into MIDNAM handling by replacing bank_msb/lsb with "bank" ; move responsibility for discovering patch names into MIDI trackview (soon to move again)
git-svn-id: svn://localhost/ardour2/branches/3.0@12647 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/midi++2/midi++/midnam_patch.h')
-rw-r--r-- | libs/midi++2/midi++/midnam_patch.h | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/libs/midi++2/midi++/midnam_patch.h b/libs/midi++2/midi++/midnam_patch.h index 11bdb79f8b..cbf64299ea 100644 --- a/libs/midi++2/midi++/midnam_patch.h +++ b/libs/midi++2/midi++/midnam_patch.h @@ -39,42 +39,36 @@ namespace Name struct PatchPrimaryKey { public: - int msb; - int lsb; + int bank_number; int program_number; - - PatchPrimaryKey(int a_msb = -1, int a_lsb = -1, int a_program_number = -1) { - msb = a_msb; - lsb = a_lsb; + + PatchPrimaryKey(int a_bank_number = -1, int a_program_number = -1) { + bank_number = a_bank_number; program_number = a_program_number; } bool is_sane() { - return ((msb >= 0) && (msb <= 127) && - (lsb >= 0) && (lsb <= 127) && + return ((bank_number >= 0) && (bank_number <= 16384) && (program_number >=0 ) && (program_number <= 127)); } inline PatchPrimaryKey& operator=(const PatchPrimaryKey& id) { - msb = id.msb; - lsb = id.lsb; + bank_number = id.bank_number; program_number = id.program_number; return *this; } inline bool operator==(const PatchPrimaryKey& id) const { - return (msb == id.msb && lsb == id.lsb && program_number == id.program_number); + return (bank_number == id.bank_number && program_number == id.program_number); } /** * obey strict weak ordering or crash in STL containers */ inline bool operator<(const PatchPrimaryKey& id) const { - if (msb < id.msb) { - return true; - } else if (msb == id.msb && lsb < id.lsb) { + if (bank_number < id.bank_number) { return true; - } else if (msb == id.msb && lsb == id.lsb && program_number < id.program_number) { + } else if (bank_number == id.bank_number && program_number < id.program_number) { return true; } @@ -168,7 +162,7 @@ public: boost::shared_ptr<Patch> previous_patch(PatchPrimaryKey& key) { assert(key.is_sane()); - std::cerr << "finding patch with " << key.msb << "/" << key.lsb << "/" <<key.program_number << std::endl; + std::cerr << "finding patch with " << key.bank_number << "/" <<key.program_number << std::endl; for (PatchList::const_iterator i = _patch_list.begin(); i != _patch_list.end(); ++i) { @@ -186,7 +180,7 @@ public: boost::shared_ptr<Patch> next_patch(PatchPrimaryKey& key) { assert(key.is_sane()); - std::cerr << "finding patch with " << key.msb << "/" << key.lsb << "/" <<key.program_number << std::endl; + std::cerr << "finding patch with " << key.bank_number << "/" <<key.program_number << std::endl; for (PatchList::const_iterator i = _patch_list.begin(); i != _patch_list.end(); ++i) { |