]> git.donarmstrong.com Git - qmk_firmware.git/blob - quantum/audio/song_list.h
Imperial Match (Darth Vader's Theme) added
[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 GUITAR_SOUND \
194     Q__NOTE(_E5 ),        \
195     Q__NOTE(_A5),        \
196     Q__NOTE(_D6 ),        \
197     Q__NOTE(_G6 ),
198
199 #define VIOLIN_SOUND \
200     Q__NOTE(_G5 ),        \
201     Q__NOTE(_D6),        \
202     Q__NOTE(_A6 ),        \
203     Q__NOTE(_E7 ),
204
205 #define CAPS_LOCK_ON_SOUND \
206     E__NOTE(_A3),          \
207     E__NOTE(_B3),
208
209 #define CAPS_LOCK_OFF_SOUND \
210     E__NOTE(_B3),           \
211     E__NOTE(_A3),
212
213 #define SCROLL_LOCK_ON_SOUND \
214     E__NOTE(_D4),            \
215     E__NOTE(_E4),
216
217 #define SCROLL_LOCK_OFF_SOUND \
218     E__NOTE(_E4),             \
219     E__NOTE(_D4),
220
221 #define NUM_LOCK_ON_SOUND \
222     E__NOTE(_D5),         \
223     E__NOTE(_E5),
224
225 #define NUM_LOCK_OFF_SOUND \
226     E__NOTE(_E5),          \
227     E__NOTE(_D5),
228
229 #define AG_NORM_SOUND \
230     E__NOTE(_A5),      \
231     E__NOTE(_A5),
232
233 #define AG_SWAP_SOUND \
234     SD_NOTE(_B5),      \
235     SD_NOTE(_A5),      \
236     SD_NOTE(_B5),      \
237     SD_NOTE(_A5),
238
239 #define UNICODE_WINDOWS \
240     E__NOTE(_B5),       \
241     S__NOTE(_E6),
242
243 #define UNICODE_LINUX \
244     E__NOTE(_E6),     \
245     S__NOTE(_B5),
246
247 #define COIN_SOUND \
248     E__NOTE(_A5  ),      \
249     HD_NOTE(_E6  ),
250
251 #define ONE_UP_SOUND \
252     Q__NOTE(_E6  ),  \
253     Q__NOTE(_G6  ),  \
254     Q__NOTE(_E7  ),  \
255     Q__NOTE(_C7  ),  \
256     Q__NOTE(_D7  ),  \
257     Q__NOTE(_G7  ),
258
259 #define SONIC_RING \
260     E__NOTE(_E6),  \
261     E__NOTE(_G6),  \
262     HD_NOTE(_C7),
263
264 #define ZELDA_PUZZLE \
265     Q__NOTE(_G5),     \
266     Q__NOTE(_FS5),    \
267     Q__NOTE(_DS5),     \
268     Q__NOTE(_A4),    \
269     Q__NOTE(_GS4),     \
270     Q__NOTE(_E5),     \
271     Q__NOTE(_GS5),     \
272     HD_NOTE(_C6),
273
274 #define ZELDA_TREASURE \
275     Q__NOTE(_A4), \
276     Q__NOTE(_AS4), \
277     Q__NOTE(_B4), \
278     HD_NOTE(_C5), \
279
280 #define TERMINAL_SOUND \
281     E__NOTE(_C5 )
282
283 #endif