]> git.donarmstrong.com Git - qmk_firmware.git/blob - quantum/audio/song_list.h
Fix up the ARM audio support (#2136)
[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 CLUEBOARD_SOUND \
57     HD_NOTE(_C3), HD_NOTE(_D3), HD_NOTE(_E3), HD_NOTE(_F3), HD_NOTE(_G3), HD_NOTE(_A4), HD_NOTE(_B4), HD_NOTE(_C4)
58 /*
59     HD_NOTE(_G3), HD_NOTE(_E3), HD_NOTE(_C3), \
60     Q__NOTE(_E3), Q__NOTE(_C3), Q__NOTE(_G3), \
61     Q__NOTE(_E3)
62 */
63 /*
64     HD_NOTE(_C3), HD_NOTE(_G3), HD_NOTE(_E3), \
65     Q__NOTE(_G3), Q__NOTE(_E3), Q__NOTE(_G3), \
66     Q__NOTE(_F3)
67 */
68
69 #define BASKET_CASE \
70     QD_NOTE(_G3), E__NOTE(_F3), E__NOTE(_E3), Q__NOTE(_F3), M__NOTE(_G3, 8+32), Q__NOTE(_REST), \
71     Q__NOTE(_B4), Q__NOTE(_C4), Q__NOTE(_B4), E__NOTE(_A4), Q__NOTE(_G3), M__NOTE(_G3, 8+32), Q__NOTE(_REST), \
72     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)
73
74 #define STARTUP_SOUND  \
75     E__NOTE(_E6),     \
76     E__NOTE(_A6),     \
77     ED_NOTE(_E7),
78
79 #define GOODBYE_SOUND \
80     E__NOTE(_E7),     \
81     E__NOTE(_A6),     \
82     ED_NOTE(_E6),
83
84 #define PLANCK_SOUND  \
85     ED_NOTE(_E7 ),     \
86     E__NOTE(_CS7),     \
87     E__NOTE(_E6 ),     \
88     E__NOTE(_A6 ),     \
89     M__NOTE(_CS7, 20),
90
91 #define PREONIC_SOUND \
92     M__NOTE(_B5, 20),  \
93     E__NOTE(_B6),      \
94     M__NOTE(_DS6, 20), \
95     E__NOTE(_B6),
96
97 #define QWERTY_SOUND \
98     E__NOTE(_GS6 ),  \
99     E__NOTE(_A6  ),  \
100     S__NOTE(_REST),  \
101     Q__NOTE(_E7  ),
102
103 #define COLEMAK_SOUND \
104     E__NOTE(_GS6 ),   \
105     E__NOTE(_A6  ),   \
106     S__NOTE(_REST),   \
107     ED_NOTE(_E7  ),   \
108     S__NOTE(_REST),   \
109     ED_NOTE(_GS7 ),
110
111 #define DVORAK_SOUND \
112     E__NOTE(_GS6 ),  \
113     E__NOTE(_A6  ),  \
114     S__NOTE(_REST),  \
115     E__NOTE(_E7  ),  \
116     S__NOTE(_REST),  \
117     E__NOTE(_FS7 ),  \
118     S__NOTE(_REST),  \
119     E__NOTE(_E7  ),
120
121 #define PLOVER_SOUND \
122     E__NOTE(_GS6 ),  \
123     E__NOTE(_A6  ),  \
124     S__NOTE(_REST),  \
125     ED_NOTE(_E7  ),  \
126     S__NOTE(_REST),  \
127     ED_NOTE(_A7  ),
128
129 #define PLOVER_GOODBYE_SOUND \
130     E__NOTE(_GS6 ),  \
131     E__NOTE(_A6  ),  \
132     S__NOTE(_REST),  \
133     ED_NOTE(_A7  ),  \
134     S__NOTE(_REST),  \
135     ED_NOTE(_E7  ),
136
137 #define MUSIC_ON_SOUND \
138     E__NOTE(_A5 ),        \
139     E__NOTE(_B5 ),        \
140     E__NOTE(_CS6),        \
141     E__NOTE(_D6 ),        \
142     E__NOTE(_E6 ),        \
143     E__NOTE(_FS6),        \
144     E__NOTE(_GS6),        \
145     E__NOTE(_A6 ),
146
147 #define AUDIO_ON_SOUND \
148     E__NOTE(_A5 ),        \
149     E__NOTE(_A6 ),
150
151 #define AUDIO_OFF_SOUND \
152     E__NOTE(_A6 ),        \
153     E__NOTE(_A5 ),
154
155 #define MUSIC_SCALE_SOUND MUSIC_ON_SOUND
156
157 #define MUSIC_OFF_SOUND \
158     E__NOTE(_A6 ),        \
159     E__NOTE(_GS6 ),        \
160     E__NOTE(_FS6),        \
161     E__NOTE(_E6 ),        \
162     E__NOTE(_D6 ),        \
163     E__NOTE(_CS6),        \
164     E__NOTE(_B5),        \
165     E__NOTE(_A5 ),
166
167 #define VOICE_CHANGE_SOUND \
168     Q__NOTE(_A5 ),        \
169     Q__NOTE(_CS6),        \
170     Q__NOTE(_E6 ),        \
171     Q__NOTE(_A6 ),
172
173 #define CHROMATIC_SOUND \
174     Q__NOTE(_A5 ),        \
175     Q__NOTE(_AS5 ),        \
176     Q__NOTE(_B5),        \
177     Q__NOTE(_C6 ),        \
178     Q__NOTE(_CS6 ),        
179
180 #define MAJOR_SOUND \
181     Q__NOTE(_A5 ),        \
182     Q__NOTE(_B5 ),        \
183     Q__NOTE(_CS6),        \
184     Q__NOTE(_D6 ),        \
185     Q__NOTE(_E6 ),        
186
187 #define GUITAR_SOUND \
188     Q__NOTE(_E5 ),        \
189     Q__NOTE(_A5),        \
190     Q__NOTE(_D6 ),        \
191     Q__NOTE(_G6 ),
192
193 #define VIOLIN_SOUND \
194     Q__NOTE(_G5 ),        \
195     Q__NOTE(_D6),        \
196     Q__NOTE(_A6 ),        \
197     Q__NOTE(_E7 ),
198
199 #define CAPS_LOCK_ON_SOUND \
200     E__NOTE(_A3),          \
201     E__NOTE(_B3),
202
203 #define CAPS_LOCK_OFF_SOUND \
204     E__NOTE(_B3),           \
205     E__NOTE(_A3),
206
207 #define SCROLL_LOCK_ON_SOUND \
208     E__NOTE(_D4),            \
209     E__NOTE(_E4),
210
211 #define SCROLL_LOCK_OFF_SOUND \
212     E__NOTE(_E4),             \
213     E__NOTE(_D4),
214
215 #define NUM_LOCK_ON_SOUND \
216     E__NOTE(_D5),         \
217     E__NOTE(_E5),
218
219 #define NUM_LOCK_OFF_SOUND \
220     E__NOTE(_E5),          \
221     E__NOTE(_D5),
222
223 #define AG_NORM_SOUND \
224     E__NOTE(_A5),      \
225     E__NOTE(_A5),
226
227 #define AG_SWAP_SOUND \
228     SD_NOTE(_B5),      \
229     SD_NOTE(_A5),      \
230     SD_NOTE(_B5),      \
231     SD_NOTE(_A5),
232
233 #define UNICODE_WINDOWS \
234     E__NOTE(_B5),       \
235     S__NOTE(_E6),
236
237 #define UNICODE_LINUX \
238     E__NOTE(_E6),     \
239     S__NOTE(_B5),
240
241 #define COIN_SOUND \
242     E__NOTE(_A5  ),      \
243     HD_NOTE(_E6  ),
244
245 #define ONE_UP_SOUND \
246     Q__NOTE(_E6  ),  \
247     Q__NOTE(_G6  ),  \
248     Q__NOTE(_E7  ),  \
249     Q__NOTE(_C7  ),  \
250     Q__NOTE(_D7  ),  \
251     Q__NOTE(_G7  ),
252
253 #define SONIC_RING \
254     E__NOTE(_E6),  \
255     E__NOTE(_G6),  \
256     HD_NOTE(_C7),
257
258 #define ZELDA_PUZZLE \
259     Q__NOTE(_G5),     \
260     Q__NOTE(_FS5),    \
261     Q__NOTE(_DS5),     \
262     Q__NOTE(_A4),    \
263     Q__NOTE(_GS4),     \
264     Q__NOTE(_E5),     \
265     Q__NOTE(_GS5),     \
266     HD_NOTE(_C6),
267
268 #define ZELDA_TREASURE \
269     Q__NOTE(_A4), \
270     Q__NOTE(_AS4), \
271     Q__NOTE(_B4), \
272     HD_NOTE(_C5), \
273
274 #define TERMINAL_SOUND \
275     E__NOTE(_C5 )
276
277 #endif