]> git.donarmstrong.com Git - qmk_firmware.git/blob - quantum/audio/song_list.h
New keymap and more songs (#2609)
[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 IMPERIAL_MARCH \
57   HD_NOTE(_A4), HD_NOTE(_A4), HD_NOTE(_A4), QD_NOTE(_F4), QD_NOTE(_C5), \
58   HD_NOTE(_A4), QD_NOTE(_F4),  QD_NOTE(_C5), WD_NOTE(_A4), \
59   HD_NOTE(_E5), HD_NOTE(_E5), HD_NOTE(_E5), QD_NOTE(_F5), QD_NOTE(_C5), \
60   HD_NOTE(_A4), QD_NOTE(_F4),  QD_NOTE(_C5), WD_NOTE(_A4)
61
62 #define CLUEBOARD_SOUND \
63     HD_NOTE(_C3), HD_NOTE(_D3), HD_NOTE(_E3), HD_NOTE(_F3), HD_NOTE(_G3), HD_NOTE(_A4), HD_NOTE(_B4), HD_NOTE(_C4)
64 /*
65     HD_NOTE(_G3), HD_NOTE(_E3), HD_NOTE(_C3), \
66     Q__NOTE(_E3), Q__NOTE(_C3), Q__NOTE(_G3), \
67     Q__NOTE(_E3)
68 */
69 /*
70     HD_NOTE(_C3), HD_NOTE(_G3), HD_NOTE(_E3), \
71     Q__NOTE(_G3), Q__NOTE(_E3), Q__NOTE(_G3), \
72     Q__NOTE(_F3)
73 */
74
75 #define BASKET_CASE \
76     QD_NOTE(_G3), E__NOTE(_F3), E__NOTE(_E3), Q__NOTE(_F3), M__NOTE(_G3, 8+32), Q__NOTE(_REST), \
77     Q__NOTE(_B4), Q__NOTE(_C4), Q__NOTE(_B4), E__NOTE(_A4), Q__NOTE(_G3), M__NOTE(_G3, 8+32), Q__NOTE(_REST), \
78     Q__NOTE(_B4), Q__NOTE(_C4), Q__NOTE(_B4), E__NOTE(_A4), Q__NOTE(_G3), Q__NOTE(_G3), Q__NOTE(_G3), Q__NOTE(_G3), E__NOTE(_A4), E__NOTE(_C4), QD_NOTE(_B4), HD_NOTE(_B4)
79
80 #define STARTUP_SOUND  \
81     E__NOTE(_E6),     \
82     E__NOTE(_A6),     \
83     ED_NOTE(_E7),
84
85 #define GOODBYE_SOUND \
86     E__NOTE(_E7),     \
87     E__NOTE(_A6),     \
88     ED_NOTE(_E6),
89
90 #define PLANCK_SOUND  \
91     ED_NOTE(_E7 ),     \
92     E__NOTE(_CS7),     \
93     E__NOTE(_E6 ),     \
94     E__NOTE(_A6 ),     \
95     M__NOTE(_CS7, 20),
96
97 #define PREONIC_SOUND \
98     M__NOTE(_B5, 20),  \
99     E__NOTE(_B6),      \
100     M__NOTE(_DS6, 20), \
101     E__NOTE(_B6),
102
103 #define QWERTY_SOUND \
104     E__NOTE(_GS6 ),  \
105     E__NOTE(_A6  ),  \
106     S__NOTE(_REST),  \
107     Q__NOTE(_E7  ),
108
109 #define COLEMAK_SOUND \
110     E__NOTE(_GS6 ),   \
111     E__NOTE(_A6  ),   \
112     S__NOTE(_REST),   \
113     ED_NOTE(_E7  ),   \
114     S__NOTE(_REST),   \
115     ED_NOTE(_GS7 ),
116
117 #define DVORAK_SOUND \
118     E__NOTE(_GS6 ),  \
119     E__NOTE(_A6  ),  \
120     S__NOTE(_REST),  \
121     E__NOTE(_E7  ),  \
122     S__NOTE(_REST),  \
123     E__NOTE(_FS7 ),  \
124     S__NOTE(_REST),  \
125     E__NOTE(_E7  ),
126
127 #define PLOVER_SOUND \
128     E__NOTE(_GS6 ),  \
129     E__NOTE(_A6  ),  \
130     S__NOTE(_REST),  \
131     ED_NOTE(_E7  ),  \
132     S__NOTE(_REST),  \
133     ED_NOTE(_A7  ),
134
135 #define PLOVER_GOODBYE_SOUND \
136     E__NOTE(_GS6 ),  \
137     E__NOTE(_A6  ),  \
138     S__NOTE(_REST),  \
139     ED_NOTE(_A7  ),  \
140     S__NOTE(_REST),  \
141     ED_NOTE(_E7  ),
142
143 #define MUSIC_ON_SOUND \
144     E__NOTE(_A5 ),        \
145     E__NOTE(_B5 ),        \
146     E__NOTE(_CS6),        \
147     E__NOTE(_D6 ),        \
148     E__NOTE(_E6 ),        \
149     E__NOTE(_FS6),        \
150     E__NOTE(_GS6),        \
151     E__NOTE(_A6 ),
152
153 #define AUDIO_ON_SOUND \
154     E__NOTE(_A5 ),        \
155     E__NOTE(_A6 ),
156
157 #define AUDIO_OFF_SOUND \
158     E__NOTE(_A6 ),        \
159     E__NOTE(_A5 ),
160
161 #define MUSIC_SCALE_SOUND MUSIC_ON_SOUND
162
163 #define MUSIC_OFF_SOUND \
164     E__NOTE(_A6 ),        \
165     E__NOTE(_GS6 ),        \
166     E__NOTE(_FS6),        \
167     E__NOTE(_E6 ),        \
168     E__NOTE(_D6 ),        \
169     E__NOTE(_CS6),        \
170     E__NOTE(_B5),        \
171     E__NOTE(_A5 ),
172
173 #define VOICE_CHANGE_SOUND \
174     Q__NOTE(_A5 ),        \
175     Q__NOTE(_CS6),        \
176     Q__NOTE(_E6 ),        \
177     Q__NOTE(_A6 ),
178
179 #define CHROMATIC_SOUND \
180     Q__NOTE(_A5 ),        \
181     Q__NOTE(_AS5 ),        \
182     Q__NOTE(_B5),        \
183     Q__NOTE(_C6 ),        \
184     Q__NOTE(_CS6 ),        
185
186 #define MAJOR_SOUND \
187     Q__NOTE(_A5 ),        \
188     Q__NOTE(_B5 ),        \
189     Q__NOTE(_CS6),        \
190     Q__NOTE(_D6 ),        \
191     Q__NOTE(_E6 ),
192
193 #define MINOR_SOUND \
194     Q__NOTE(_A5 ),        \
195     Q__NOTE(_B5 ),        \
196     Q__NOTE(_C6 ),        \
197     Q__NOTE(_D6 ),        \
198     Q__NOTE(_E6 ),
199
200 #define GUITAR_SOUND \
201     Q__NOTE(_E5 ),        \
202     Q__NOTE(_A5),        \
203     Q__NOTE(_D6 ),        \
204     Q__NOTE(_G6 ),
205
206 #define VIOLIN_SOUND \
207     Q__NOTE(_G5 ),        \
208     Q__NOTE(_D6),        \
209     Q__NOTE(_A6 ),        \
210     Q__NOTE(_E7 ),
211
212 #define CAPS_LOCK_ON_SOUND \
213     E__NOTE(_A3),          \
214     E__NOTE(_B3),
215
216 #define CAPS_LOCK_OFF_SOUND \
217     E__NOTE(_B3),           \
218     E__NOTE(_A3),
219
220 #define SCROLL_LOCK_ON_SOUND \
221     E__NOTE(_D4),            \
222     E__NOTE(_E4),
223
224 #define SCROLL_LOCK_OFF_SOUND \
225     E__NOTE(_E4),             \
226     E__NOTE(_D4),
227
228 #define NUM_LOCK_ON_SOUND \
229     E__NOTE(_D5),         \
230     E__NOTE(_E5),
231
232 #define NUM_LOCK_OFF_SOUND \
233     E__NOTE(_E5),          \
234     E__NOTE(_D5),
235
236 #define AG_NORM_SOUND \
237     E__NOTE(_A5),      \
238     E__NOTE(_A5),
239
240 #define AG_SWAP_SOUND \
241     SD_NOTE(_B5),      \
242     SD_NOTE(_A5),      \
243     SD_NOTE(_B5),      \
244     SD_NOTE(_A5),
245
246 #define UNICODE_WINDOWS \
247     E__NOTE(_B5),       \
248     S__NOTE(_E6),
249
250 #define UNICODE_LINUX \
251     E__NOTE(_E6),     \
252     S__NOTE(_B5),
253
254 #define COIN_SOUND \
255     E__NOTE(_A5  ),      \
256     HD_NOTE(_E6  ),
257
258 #define ONE_UP_SOUND \
259     Q__NOTE(_E6  ),  \
260     Q__NOTE(_G6  ),  \
261     Q__NOTE(_E7  ),  \
262     Q__NOTE(_C7  ),  \
263     Q__NOTE(_D7  ),  \
264     Q__NOTE(_G7  ),
265
266 #define SONIC_RING \
267     E__NOTE(_E6),  \
268     E__NOTE(_G6),  \
269     HD_NOTE(_C7),
270
271 #define ZELDA_PUZZLE \
272     Q__NOTE(_G5),     \
273     Q__NOTE(_FS5),    \
274     Q__NOTE(_DS5),     \
275     Q__NOTE(_A4),    \
276     Q__NOTE(_GS4),     \
277     Q__NOTE(_E5),     \
278     Q__NOTE(_GS5),     \
279     HD_NOTE(_C6),
280
281 #define ZELDA_TREASURE \
282     Q__NOTE(_A4 ), \
283     Q__NOTE(_AS4), \
284     Q__NOTE(_B4 ), \
285     HD_NOTE(_C5 ), \
286
287 #define TERMINAL_SOUND \
288     E__NOTE(_C5 )
289
290 #define OVERWATCH_THEME \
291     HD_NOTE(_A4 ), \
292     Q__NOTE(_E4 ), \
293     Q__NOTE(_A4 ), \
294     HD_NOTE(_B4 ), \
295     Q__NOTE(_E4 ), \
296     Q__NOTE(_B4 ), \
297     W__NOTE(_CS5),
298
299 #define MARIO_THEME \
300     Q__NOTE(_E5), \
301     H__NOTE(_E5), \
302     H__NOTE(_E5), \
303     Q__NOTE(_C5), \
304     H__NOTE(_E5), \
305     W__NOTE(_G5), \
306     Q__NOTE(_G4),
307
308 #define MARIO_GAMEOVER \
309     HD_NOTE(_C5 ), \
310     HD_NOTE(_G4 ), \
311     H__NOTE(_E4 ), \
312     H__NOTE(_A4 ), \
313     H__NOTE(_B4 ), \
314     H__NOTE(_A4 ), \
315     H__NOTE(_AF4), \
316     H__NOTE(_BF4), \
317     H__NOTE(_AF4), \
318     WD_NOTE(_G4 ),
319
320 #define E1M1_DOOM  \
321     Q__NOTE(_E3 ), \
322     Q__NOTE(_E3 ), \
323     Q__NOTE(_E4 ), \
324     Q__NOTE(_E3 ), \
325     Q__NOTE(_E3 ), \
326     Q__NOTE(_D4 ), \
327     Q__NOTE(_E3 ), \
328     Q__NOTE(_E3 ), \
329     Q__NOTE(_C4 ), \
330     Q__NOTE(_E3 ), \
331     Q__NOTE(_E3 ), \
332     Q__NOTE(_BF3), \
333     Q__NOTE(_E3 ), \
334     Q__NOTE(_E3 ), \
335     Q__NOTE(_B3 ), \
336     Q__NOTE(_C4 ), \
337     Q__NOTE(_E3 ), \
338     Q__NOTE(_E3 ), \
339     Q__NOTE(_E4 ), \
340     Q__NOTE(_E3 ), \
341     Q__NOTE(_E3 ), \
342     Q__NOTE(_D4 ), \
343     Q__NOTE(_E3 ), \
344     Q__NOTE(_E3 ), \
345     Q__NOTE(_C4 ), \
346     Q__NOTE(_E3 ), \
347     Q__NOTE(_E3 ), \
348     H__NOTE(_BF3),
349
350 #define DISNEY_SONG \
351     H__NOTE(_G3 ),  \
352     H__NOTE(_G4 ),  \
353     H__NOTE(_F4 ),  \
354     H__NOTE(_E4 ),  \
355     H__NOTE(_CS4),  \
356     H__NOTE(_D4 ),  \
357     W__NOTE(_A4 ),  \
358     H__NOTE(_B3 ),  \
359     H__NOTE(_B4 ),  \
360     H__NOTE(_A4 ),  \
361     H__NOTE(_G4 ),  \
362     H__NOTE(_FS4),  \
363     H__NOTE(_G4 ),  \
364     W__NOTE(_C5 ),  \
365     H__NOTE(_D5 ),  \
366     H__NOTE(_C5 ),  \
367     H__NOTE(_B4 ),  \
368     H__NOTE(_A4 ),  \
369     H__NOTE(_G4 ),  \
370     H__NOTE(_F4 ),  \
371     H__NOTE(_E4 ),  \
372     H__NOTE(_D4 ),  \
373     W__NOTE(_A4 ),  \
374     W__NOTE(_B3 ),  \
375     W__NOTE(_C4 ),
376
377 #define NUMBER_ONE \
378     HD_NOTE(_F4 ), \
379     Q__NOTE(_C5 ), \
380     E__NOTE(_B4 ), \
381     E__NOTE(_C5 ), \
382     E__NOTE(_B4 ), \
383     E__NOTE(_C5 ), \
384     Q__NOTE(_B4 ), \
385     Q__NOTE(_C5 ), \
386     H__NOTE(_AF4), \
387     HD_NOTE(_F4 ), \
388     Q__NOTE(_F4 ), \
389     Q__NOTE(_AF4), \
390     Q__NOTE(_C5 ), \
391     H__NOTE(_DF5), \
392     H__NOTE(_AF4), \
393     H__NOTE(_DF5), \
394     H__NOTE(_EF5), \
395     Q__NOTE(_C5 ), \
396     Q__NOTE(_DF5), \
397     Q__NOTE(_C5 ), \
398     Q__NOTE(_DF5), \
399     H__NOTE(_C5 ),
400
401 #define CABBAGE_SONG \
402     H__NOTE(_C4),    \
403     H__NOTE(_A4),    \
404     H__NOTE(_B4),    \
405     H__NOTE(_B4),    \
406     H__NOTE(_A4),    \
407     H__NOTE(_G4),    \
408     H__NOTE(_E4),
409
410 #define OLD_SPICE  \
411     Q__NOTE(_A4 ), \
412     Q__NOTE(_A4 ), \
413     H__NOTE(_B4 ), \
414     H__NOTE(_D5 ), \
415     H__NOTE(_CS5), \
416     Q__NOTE(_E5 ), \
417     H__NOTE(_FS5), \
418     H__NOTE(_D5 ), \
419
420 #endif