]> git.donarmstrong.com Git - qmk_firmware.git/blob - quantum/audio/song_list.h
091f59e7ac0d3d30ec3da9800ab3ea165978732b
[qmk_firmware.git] / quantum / audio / song_list.h
1 /* Copyright 2016 Jack Humbert
2  *
3  * This program is free software: you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License as published by
5  * the Free Software Foundation, either version 2 of the License, or
6  * (at your option) any later version.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
15  */
16 #include "musical_notes.h"
17
18 #ifndef SONG_LIST_H
19 #define SONG_LIST_H
20
21 #define NO_SOUND
22
23 #define ODE_TO_JOY                                          \
24     Q__NOTE(_E4), Q__NOTE(_E4), Q__NOTE(_F4), Q__NOTE(_G4), \
25     Q__NOTE(_G4), Q__NOTE(_F4), Q__NOTE(_E4), Q__NOTE(_D4), \
26     Q__NOTE(_C4), Q__NOTE(_C4), Q__NOTE(_D4), Q__NOTE(_E4), \
27     QD_NOTE(_E4), E__NOTE(_D4), H__NOTE(_D4),
28
29 #define ROCK_A_BYE_BABY                            \
30     QD_NOTE(_B4), E__NOTE(_D4), Q__NOTE(_B5),      \
31     H__NOTE(_A5), Q__NOTE(_G5),                    \
32     QD_NOTE(_B4), E__NOTE(_D5), Q__NOTE(_G5),      \
33     H__NOTE(_FS5),
34
35 #define CLOSE_ENCOUNTERS_5_NOTE  \
36         Q__NOTE(_D5),                \
37         Q__NOTE(_E5),                \
38         Q__NOTE(_C5),                \
39         Q__NOTE(_C4),                \
40         Q__NOTE(_G4),
41
42 #define DOE_A_DEER              \
43         QD_NOTE(_C4), E__NOTE(_D4), \
44         QD_NOTE(_E4), E__NOTE(_C4), \
45         Q__NOTE(_E4), Q__NOTE(_C4), \
46         Q__NOTE(_E4),
47
48 /* Requires: PLAY_NOTE_ARRAY(..., ..., STACCATO); */
49 #define IN_LIKE_FLINT \
50     E__NOTE(_AS4), E__NOTE(_AS4), QD_NOTE(_B4),  \
51     E__NOTE(_AS4), E__NOTE(_B4),  QD_NOTE(_CS4), \
52     E__NOTE(_B4),  E__NOTE(_CS4), QD_NOTE(_DS4), \
53     E__NOTE(_CS4), E__NOTE(_B4),  QD_NOTE(_AS4), \
54     E__NOTE(_AS4), E__NOTE(_AS4), QD_NOTE(_B4),
55
56 #define STARTUP_SOUND  \
57     E__NOTE(_E6),     \
58     E__NOTE(_A6),     \
59     ED_NOTE(_E7),
60
61 #define GOODBYE_SOUND \
62     E__NOTE(_E7),     \
63     E__NOTE(_A6),     \
64     ED_NOTE(_E6),
65
66 #define PLANCK_SOUND  \
67     ED_NOTE(_E7 ),     \
68     E__NOTE(_CS7),     \
69     E__NOTE(_E6 ),     \
70     E__NOTE(_A6 ),     \
71     M__NOTE(_CS7, 20),
72
73 #define PREONIC_SOUND \
74     M__NOTE(_B5, 20),  \
75     E__NOTE(_B6),      \
76     M__NOTE(_DS6, 20), \
77     E__NOTE(_B6),
78
79 #define QWERTY_SOUND \
80     E__NOTE(_GS6 ),  \
81     E__NOTE(_A6  ),  \
82     S__NOTE(_REST),  \
83     Q__NOTE(_E7  ),
84
85 #define COLEMAK_SOUND \
86     E__NOTE(_GS6 ),   \
87     E__NOTE(_A6  ),   \
88     S__NOTE(_REST),   \
89     ED_NOTE(_E7  ),   \
90     S__NOTE(_REST),   \
91     ED_NOTE(_GS7 ),
92
93 #define DVORAK_SOUND \
94     E__NOTE(_GS6 ),  \
95     E__NOTE(_A6  ),  \
96     S__NOTE(_REST),  \
97     E__NOTE(_E7  ),  \
98     S__NOTE(_REST),  \
99     E__NOTE(_FS7 ),  \
100     S__NOTE(_REST),  \
101     E__NOTE(_E7  ),
102
103 #define PLOVER_SOUND \
104     E__NOTE(_GS6 ),  \
105     E__NOTE(_A6  ),  \
106     S__NOTE(_REST),  \
107     ED_NOTE(_E7  ),  \
108     S__NOTE(_REST),  \
109     ED_NOTE(_A7  ),
110
111 #define PLOVER_GOODBYE_SOUND \
112     E__NOTE(_GS6 ),  \
113     E__NOTE(_A6  ),  \
114     S__NOTE(_REST),  \
115     ED_NOTE(_A7  ),  \
116     S__NOTE(_REST),  \
117     ED_NOTE(_E7  ),
118
119 #define MUSIC_ON_SOUND \
120     E__NOTE(_A5 ),        \
121     E__NOTE(_B5 ),        \
122     E__NOTE(_CS6),        \
123     E__NOTE(_D6 ),        \
124     E__NOTE(_E6 ),        \
125     E__NOTE(_FS6),        \
126     E__NOTE(_GS6),        \
127     E__NOTE(_A6 ),
128
129 #define AUDIO_ON_SOUND \
130     E__NOTE(_A5 ),        \
131     E__NOTE(_A6 ),
132
133 #define AUDIO_OFF_SOUND \
134     E__NOTE(_A6 ),        \
135     E__NOTE(_A5 ),
136
137 #define MUSIC_SCALE_SOUND MUSIC_ON_SOUND
138
139 #define MUSIC_OFF_SOUND \
140     E__NOTE(_A6 ),        \
141     E__NOTE(_GS6 ),        \
142     E__NOTE(_FS6),        \
143     E__NOTE(_E6 ),        \
144     E__NOTE(_D6 ),        \
145     E__NOTE(_CS6),        \
146     E__NOTE(_B5),        \
147     E__NOTE(_A5 ),
148
149 #define VOICE_CHANGE_SOUND \
150     Q__NOTE(_A5 ),        \
151     Q__NOTE(_CS6),        \
152     Q__NOTE(_E6 ),        \
153     Q__NOTE(_A6 ),
154
155 #define CHROMATIC_SOUND \
156     Q__NOTE(_A5 ),        \
157     Q__NOTE(_AS5 ),        \
158     Q__NOTE(_B5),        \
159     Q__NOTE(_C6 ),        \
160     Q__NOTE(_CS6 ),        
161
162 #define MAJOR_SOUND \
163     Q__NOTE(_A5 ),        \
164     Q__NOTE(_B5 ),        \
165     Q__NOTE(_CS6),        \
166     Q__NOTE(_D6 ),        \
167     Q__NOTE(_E6 ),        
168
169 #define GUITAR_SOUND \
170     Q__NOTE(_E5 ),        \
171     Q__NOTE(_A5),        \
172     Q__NOTE(_D6 ),        \
173     Q__NOTE(_G6 ),
174
175 #define VIOLIN_SOUND \
176     Q__NOTE(_G5 ),        \
177     Q__NOTE(_D6),        \
178     Q__NOTE(_A6 ),        \
179     Q__NOTE(_E7 ),
180
181 #define CAPS_LOCK_ON_SOUND \
182     E__NOTE(_A3),          \
183     E__NOTE(_B3),
184
185 #define CAPS_LOCK_OFF_SOUND \
186     E__NOTE(_B3),           \
187     E__NOTE(_A3),
188
189 #define SCROLL_LOCK_ON_SOUND \
190     E__NOTE(_D4),            \
191     E__NOTE(_E4),
192
193 #define SCROLL_LOCK_OFF_SOUND \
194     E__NOTE(_E4),             \
195     E__NOTE(_D4),
196
197 #define NUM_LOCK_ON_SOUND \
198     E__NOTE(_D5),         \
199     E__NOTE(_E5),
200
201 #define NUM_LOCK_OFF_SOUND \
202     E__NOTE(_E5),          \
203     E__NOTE(_D5),
204
205 #define AG_NORM_SOUND \
206     E__NOTE(_A5),      \
207     E__NOTE(_A5),
208
209 #define AG_SWAP_SOUND \
210     SD_NOTE(_B5),      \
211     SD_NOTE(_A5),      \
212     SD_NOTE(_B5),      \
213     SD_NOTE(_A5),
214
215 #define UNICODE_WINDOWS \
216     E__NOTE(_B5),       \
217     S__NOTE(_E6),
218
219 #define UNICODE_LINUX \
220     E__NOTE(_E6),     \
221     S__NOTE(_B5),
222
223 #define COIN_SOUND \
224     E__NOTE(_A5  ),      \
225     HD_NOTE(_E6  ),
226
227 #define ONE_UP_SOUND \
228     Q__NOTE(_E6  ),  \
229     Q__NOTE(_G6  ),  \
230     Q__NOTE(_E7  ),  \
231     Q__NOTE(_C7  ),  \
232     Q__NOTE(_D7  ),  \
233     Q__NOTE(_G7  ),
234
235 #define SONIC_RING \
236     E__NOTE(_E6),  \
237     E__NOTE(_G6),  \
238     HD_NOTE(_C7),
239
240 #define ZELDA_PUZZLE \
241     Q__NOTE(_G5),     \
242     Q__NOTE(_FS5),    \
243     Q__NOTE(_DS5),     \
244     Q__NOTE(_A4),    \
245     Q__NOTE(_GS4),     \
246     Q__NOTE(_E5),     \
247     Q__NOTE(_GS5),     \
248     HD_NOTE(_C6),
249
250 #define ZELDA_TREASURE \
251     Q__NOTE(_A4), \
252     Q__NOTE(_AS4), \
253     Q__NOTE(_B4), \
254     HD_NOTE(_C5), \
255
256 #define TERMINAL_SOUND \
257     E__NOTE(_C5 )
258
259 #endif