diff options
Diffstat (limited to 'quantum/musical_notes.h')
-rw-r--r-- | quantum/musical_notes.h | 49 |
1 files changed, 37 insertions, 12 deletions
diff --git a/quantum/musical_notes.h b/quantum/musical_notes.h index 837f6a069..2170f3f18 100644 --- a/quantum/musical_notes.h +++ b/quantum/musical_notes.h | |||
@@ -2,22 +2,38 @@ | |||
2 | #define MUSICAL_NOTES_H | 2 | #define MUSICAL_NOTES_H |
3 | 3 | ||
4 | // Tempo Placeholder | 4 | // Tempo Placeholder |
5 | #define TEMPO 120 | 5 | #define TEMPO_DEFAULT 100 |
6 | |||
7 | |||
8 | #define SONG(notes...) { notes } | ||
6 | 9 | ||
7 | 10 | ||
8 | // Note Types | 11 | // Note Types |
9 | #define WHOLE_NOTE(note) {(NOTE##note), 64} | 12 | #define MUSICAL_NOTE(note, duration) {(NOTE##note), duration} |
10 | #define HALF_NOTE(note) {(NOTE##note), 32} | 13 | #define WHOLE_NOTE(note) MUSICAL_NOTE(note, 64) |
11 | #define QUARTER_NOTE(note) {(NOTE##note), 16} | 14 | #define HALF_NOTE(note) MUSICAL_NOTE(note, 32) |
12 | #define EIGHTH_NOTE(note) {(NOTE##note), 8} | 15 | #define QUARTER_NOTE(note) MUSICAL_NOTE(note, 16) |
13 | #define SIXTEENTH_NOTE(note) {(NOTE##note), 4} | 16 | #define EIGHTH_NOTE(note) MUSICAL_NOTE(note, 8) |
17 | #define SIXTEENTH_NOTE(note) MUSICAL_NOTE(note, 4) | ||
18 | |||
19 | #define WHOLE_DOT_NOTE(note) MUSICAL_NOTE(note, 64+32) | ||
20 | #define HALF_DOT_NOTE(note) MUSICAL_NOTE(note, 32+16) | ||
21 | #define QUARTER_DOT_NOTE(note) MUSICAL_NOTE(note, 16+8) | ||
22 | #define EIGHTH_DOT_NOTE(note) MUSICAL_NOTE(note, 8+4) | ||
23 | #define SIXTEENTH_DOT_NOTE(note) MUSICAL_NOTE(note, 4+2) | ||
14 | 24 | ||
15 | // Note Types Short | 25 | // Note Type Shortcuts |
16 | #define W_NOTE(n) WHOLE_NOTE(n) | 26 | #define M__NOTE(note, duration) MUSICAL_NOTE(note, duration) |
17 | #define H_NOTE(n) HALF_NOTE(n) | 27 | #define W__NOTE(n) WHOLE_NOTE(n) |
18 | #define Q_NOTE(n) QUARTER_NOTE(n) | 28 | #define H__NOTE(n) HALF_NOTE(n) |
19 | #define E_NOTE(n) EIGTH_NOTE(n) | 29 | #define Q__NOTE(n) QUARTER_NOTE(n) |
20 | #define S_NOTE(n) SIXTEENTH_NOTE(n) | 30 | #define E__NOTE(n) EIGHTH_NOTE(n) |
31 | #define S__NOTE(n) SIXTEENTH_NOTE(n) | ||
32 | #define WD_NOTE(n) WHOLE_DOT_NOTE(n) | ||
33 | #define HD_NOTE(n) HALF_DOT_NOTE(n) | ||
34 | #define QD_NOTE(n) QUARTER_DOT_NOTE(n) | ||
35 | #define ED_NOTE(n) EIGTH_DOT_NOTE(n) | ||
36 | #define SD_NOTE(n) SIXTEENTH_DOT_NOTE(n) | ||
21 | 37 | ||
22 | // Note Styles | 38 | // Note Styles |
23 | // Staccato makes sure there is a rest between each note. Think: TA TA TA | 39 | // Staccato makes sure there is a rest between each note. Think: TA TA TA |
@@ -25,6 +41,15 @@ | |||
25 | #define STACCATO 0.01 | 41 | #define STACCATO 0.01 |
26 | #define LEGATO 0 | 42 | #define LEGATO 0 |
27 | 43 | ||
44 | // Note Timbre | ||
45 | // Changes how the notes sound | ||
46 | #define TIMBRE_12 0.125 | ||
47 | #define TIMBRE_25 0.250 | ||
48 | #define TIMBRE_50 0.500 | ||
49 | #define TIMBRE_75 0.750 | ||
50 | #define TIMBRE_DEFAULT TIMBRE_50 | ||
51 | |||
52 | |||
28 | // Notes - # = Octave | 53 | // Notes - # = Octave |
29 | #define NOTE_REST 0.00 | 54 | #define NOTE_REST 0.00 |
30 | #define NOTE_C0 16.35 | 55 | #define NOTE_C0 16.35 |