27 #include <csutil/hash.h> 33 struct csSndSysSoundFormat;
103 const csSndSysSoundFormat*
GetFormat()
const {
return format; }
123 bool AddNote(
const char* fileName,
char note,
int alter, uint octave);
147 size_t GetNoteBuffer(
char note,
int alter, uint octave,
float duration,
char* &buffer,
size_t &length);
162 void AddNoteToChord(
char note,
int alter, uint octave,
float duration, uint noteNumber,
char* buffer,
size_t &bufferLength);
166 size_t longestBufferSize;
167 csSndSysSoundFormat* format;
168 csHash<csHash<Note*, char>*, uint> notes;
179 Note* GetNote(
char pitch, uint octave);
191 void SetEnharmonic(
char pitch,
int alter, uint octave,
char* buffer,
size_t length);
A single note in a musical score.
size_t GetLongestNoteSize() const
Gets the size of the note with the longest buffer.
size_t sharpLength
the length of the buffer of the sharp note.
char * sharp
the buffer of the sharp note.
char * flat
the buffer of the flat note.
char * normal
the buffer of the unaltered note.
size_t flatLength
the length of the buffer of the flat note.
const csSndSysSoundFormat * GetFormat() const
Gets the csSndSysSoundFormat of the notes of this instrument.
size_t normalLength
the length of the buffer of the unaltered note.
short int alter
The note's alteration (-1 flat, 0 normal, 1 sharp).
uint GetPolyphony() const
Gets the number of notes that this instrument can play at the same time.
This class represent a musical instrument.