3 #ifndef XJMUSIC_MUSIC_NOTE_H
4 #define XJMUSIC_MUSIC_NOTE_H
21 static std::regex rgxValidNote;
24 static int MAX_DELTA_SEMITONES;
86 explicit Note(
const std::string &name);
100 static Note of(
const std::string &name);
123 static std::optional<Note>
ifValid(
const std::string &name);
131 static std::optional<Note>
ifTonal(
const std::string &name);
138 static bool isValid(
const std::string &name);
153 static std::optional<Note>
median(std::optional<Note> n1, std::optional<Note> n2);
200 [[nodiscard]]
int delta(
const Note &target)
const;
207 [[nodiscard]]
bool isAtonal()
const;
static std::optional< Note > ifValid(const std::string &name)
Definition: Note.cpp:73
static std::string ATONAL
Definition: Note.h:75
Note nextUp(PitchClass target) const
Definition: Note.cpp:166
Note()
Definition: Note.cpp:47
std::string toString(Accidental accidental) const
Definition: Note.cpp:129
bool operator<=(const Note &other) const
Definition: Note.cpp:34
Note shiftOctave(int inc) const
Definition: Note.cpp:140
static bool containsAnyValidNotes(const std::string ¬eCsv)
Definition: Note.cpp:93
bool operator==(const Note &other) const
Definition: Note.cpp:19
Note nextDown(PitchClass target) const
Definition: Note.cpp:171
Note shift(int inc) const
Definition: Note.cpp:134
static std::optional< Note > ifTonal(const std::string &name)
Definition: Note.cpp:80
Note setOctaveNearest(Note fromNote)
Definition: Note.cpp:150
bool operator>=(const Note &other) const
Definition: Note.cpp:39
int delta(const Note &target) const
Definition: Note.cpp:107
bool operator>(const Note &other) const
Definition: Note.cpp:29
Note next(PitchClass target, int delta) const
Definition: Note.cpp:176
PitchClass pitchClass
Definition: Note.h:35
Note copy() const
Definition: Note.cpp:145
int octave
Definition: Note.h:30
bool operator<(const Note &other) const
Definition: Note.cpp:24
static Note atonal()
Definition: Note.cpp:68
static std::optional< Note > median(std::optional< Note > n1, std::optional< Note > n2)
Definition: Note.cpp:99
static bool isValid(const std::string &name)
Definition: Note.cpp:88
bool isAtonal() const
Definition: Note.cpp:161
static Note of(const std::string &name)
Definition: Note.cpp:56
Definition: ActiveAudio.h:11
Accidental
Definition: Accidental.h:12
PitchClass
Definition: PitchClass.h:19