summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/parameter_descriptor.h
diff options
context:
space:
mode:
authorNil Geisweiller <ngeiswei@gmail.com>2017-05-12 21:27:56 +0300
committerRobin Gareus <robin@gareus.org>2017-05-14 18:13:07 +0200
commit40f3efa3aa405c48f717fd527d92ed5de2cb0c1e (patch)
tree3e9c504cee3ea9bb4c7f46bbd609b1911bddc9fb /libs/ardour/ardour/parameter_descriptor.h
parentc55c8141776ff97765875617af7b38d6236633a7 (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.h8
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);