diff options
author | Nil Geisweiller <ngeiswei@gmail.com> | 2017-05-12 21:27:56 +0300 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-05-14 18:13:07 +0200 |
commit | 40f3efa3aa405c48f717fd527d92ed5de2cb0c1e (patch) | |
tree | 3e9c504cee3ea9bb4c7f46bbd609b1911bddc9fb /libs/ardour/ardour/parameter_descriptor.h | |
parent | c55c8141776ff97765875617af7b38d6236633a7 (diff) |
Add note name parser to convert to midi note number
Supports i18n, is case and whitespace insensitive for more resilent parsing.
Diffstat (limited to 'libs/ardour/ardour/parameter_descriptor.h')
-rw-r--r-- | libs/ardour/ardour/parameter_descriptor.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libs/ardour/ardour/parameter_descriptor.h b/libs/ardour/ardour/parameter_descriptor.h index 9a8c559d6e..978bd3d042 100644 --- a/libs/ardour/ardour/parameter_descriptor.h +++ b/libs/ardour/ardour/parameter_descriptor.h @@ -43,7 +43,13 @@ struct LIBARDOUR_API ParameterDescriptor : public Evoral::ParameterDescriptor HZ, ///< Frequency in Hertz }; - static std::string midi_note_name (uint8_t); + static std::string midi_note_name (uint8_t, bool translate=true); + + /** Dual of midi_note_name, convert a note name into its midi note number. */ + typedef std::map<std::string, uint8_t> NameNumMap; + static std::string normalize_note_name(const std::string& name); + static NameNumMap build_midi_name2num(); + static uint8_t midi_note_num (const std::string& name); ParameterDescriptor(const Evoral::Parameter& parameter); |