diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-05-22 08:23:35 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-05-31 15:30:44 -0400 |
commit | 027caa4207ad88da99616491372fa4206c8e3d48 (patch) | |
tree | ee0960f3654db471ad27dbced939de7b9aaa7266 | |
parent | 428ed8ae1b9df42b91d932242ed51d30d0255c03 (diff) |
add new API to InstrumentInfo to get program names in a very slightly different format
-rw-r--r-- | libs/ardour/ardour/instrument_info.h | 2 | ||||
-rw-r--r-- | libs/ardour/instrument_info.cc | 18 |
2 files changed, 19 insertions, 1 deletions
diff --git a/libs/ardour/ardour/instrument_info.h b/libs/ardour/ardour/instrument_info.h index 745e4803c0..8e08c8b4b7 100644 --- a/libs/ardour/ardour/instrument_info.h +++ b/libs/ardour/ardour/instrument_info.h @@ -52,6 +52,7 @@ class LIBARDOUR_API InstrumentInfo { void set_internal_instrument (boost::shared_ptr<ARDOUR::Processor>); std::string get_patch_name (uint16_t bank, uint8_t program, uint8_t channel) const; + std::string get_patch_name_without (uint16_t bank, uint8_t program, uint8_t channel) const; std::string get_controller_name (Evoral::Parameter param) const; std::string get_instrument_name () const; @@ -70,6 +71,7 @@ class LIBARDOUR_API InstrumentInfo { boost::shared_ptr<MIDI::Name::ChannelNameSet> plugin_programs_to_channel_name_set (boost::shared_ptr<Processor> p); std::string get_plugin_patch_name (boost::shared_ptr<ARDOUR::Processor>, uint16_t bank, uint8_t program, uint8_t channel) const; + std::string get_patch_name (uint16_t bank, uint8_t program, uint8_t channel, bool with_extra) const; static MIDI::Name::PatchNameList _gm_patches; }; diff --git a/libs/ardour/instrument_info.cc b/libs/ardour/instrument_info.cc index c30994befc..a3b48ee790 100644 --- a/libs/ardour/instrument_info.cc +++ b/libs/ardour/instrument_info.cc @@ -82,6 +82,18 @@ InstrumentInfo::get_instrument_name () const string InstrumentInfo::get_patch_name (uint16_t bank, uint8_t program, uint8_t channel) const { + return get_patch_name (bank, program, channel, true); +} + +string +InstrumentInfo::get_patch_name_without (uint16_t bank, uint8_t program, uint8_t channel) const +{ + return get_patch_name (bank, program, channel, false); +} + +string +InstrumentInfo::get_patch_name (uint16_t bank, uint8_t program, uint8_t channel, bool with_extra) const +{ boost::shared_ptr<Processor> p = internal_instrument.lock(); if (p) { return get_plugin_patch_name (p, bank, program, channel); @@ -100,7 +112,11 @@ InstrumentInfo::get_patch_name (uint16_t bank, uint8_t program, uint8_t channel) #define MIDI_BP_ZERO ((Config->get_first_midi_bank_is_zero())?0:1) - return string_compose ("prg %1 bnk %2",program + MIDI_BP_ZERO , bank + MIDI_BP_ZERO); + if (with_extra) { + return string_compose ("prg %1 bnk %2",program + MIDI_BP_ZERO , bank + MIDI_BP_ZERO); + } else { + return string_compose ("%1", program + MIDI_BP_ZERO); + } } } |