aboutsummaryrefslogtreecommitdiff
path: root/quantum/musical_notes.h
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/musical_notes.h')
-rw-r--r--quantum/musical_notes.h49
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