song_list.h 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  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. #ifndef SONG_LIST_H
  18. #define SONG_LIST_H
  19. #define NO_SOUND
  20. #define ODE_TO_JOY \
  21. Q__NOTE(_E4), Q__NOTE(_E4), Q__NOTE(_F4), Q__NOTE(_G4), \
  22. Q__NOTE(_G4), Q__NOTE(_F4), Q__NOTE(_E4), Q__NOTE(_D4), \
  23. Q__NOTE(_C4), Q__NOTE(_C4), Q__NOTE(_D4), Q__NOTE(_E4), \
  24. QD_NOTE(_E4), E__NOTE(_D4), H__NOTE(_D4),
  25. #define ROCK_A_BYE_BABY \
  26. QD_NOTE(_B4), E__NOTE(_D4), Q__NOTE(_B5), \
  27. H__NOTE(_A5), Q__NOTE(_G5), \
  28. QD_NOTE(_B4), E__NOTE(_D5), Q__NOTE(_G5), \
  29. H__NOTE(_FS5),
  30. #define CLOSE_ENCOUNTERS_5_NOTE \
  31. Q__NOTE(_D5), \
  32. Q__NOTE(_E5), \
  33. Q__NOTE(_C5), \
  34. Q__NOTE(_C4), \
  35. Q__NOTE(_G4),
  36. #define DOE_A_DEER \
  37. QD_NOTE(_C4), E__NOTE(_D4), \
  38. QD_NOTE(_E4), E__NOTE(_C4), \
  39. Q__NOTE(_E4), Q__NOTE(_C4), \
  40. Q__NOTE(_E4),
  41. /* Requires: PLAY_NOTE_ARRAY(..., ..., STACCATO); */
  42. #define IN_LIKE_FLINT \
  43. E__NOTE(_AS4), E__NOTE(_AS4), QD_NOTE(_B4), \
  44. E__NOTE(_AS4), E__NOTE(_B4), QD_NOTE(_CS4), \
  45. E__NOTE(_B4), E__NOTE(_CS4), QD_NOTE(_DS4), \
  46. E__NOTE(_CS4), E__NOTE(_B4), QD_NOTE(_AS4), \
  47. E__NOTE(_AS4), E__NOTE(_AS4), QD_NOTE(_B4),
  48. #define IMPERIAL_MARCH \
  49. HD_NOTE(_A4), HD_NOTE(_A4), HD_NOTE(_A4), QD_NOTE(_F4), QD_NOTE(_C5), \
  50. HD_NOTE(_A4), QD_NOTE(_F4), QD_NOTE(_C5), WD_NOTE(_A4), \
  51. HD_NOTE(_E5), HD_NOTE(_E5), HD_NOTE(_E5), QD_NOTE(_F5), QD_NOTE(_C5), \
  52. HD_NOTE(_A4), QD_NOTE(_F4), QD_NOTE(_C5), WD_NOTE(_A4)
  53. #define CLUEBOARD_SOUND \
  54. HD_NOTE(_C3), HD_NOTE(_D3), HD_NOTE(_E3), HD_NOTE(_F3), HD_NOTE(_G3), HD_NOTE(_A4), HD_NOTE(_B4), HD_NOTE(_C4)
  55. /*
  56. HD_NOTE(_G3), HD_NOTE(_E3), HD_NOTE(_C3), \
  57. Q__NOTE(_E3), Q__NOTE(_C3), Q__NOTE(_G3), \
  58. Q__NOTE(_E3)
  59. */
  60. /*
  61. HD_NOTE(_C3), HD_NOTE(_G3), HD_NOTE(_E3), \
  62. Q__NOTE(_G3), Q__NOTE(_E3), Q__NOTE(_G3), \
  63. Q__NOTE(_F3)
  64. */
  65. #define BASKET_CASE \
  66. QD_NOTE(_G3), E__NOTE(_F3), E__NOTE(_E3), Q__NOTE(_F3), M__NOTE(_G3, 8+32), Q__NOTE(_REST), \
  67. Q__NOTE(_B4), Q__NOTE(_C4), Q__NOTE(_B4), E__NOTE(_A4), Q__NOTE(_G3), M__NOTE(_G3, 8+32), Q__NOTE(_REST), \
  68. 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)
  69. #define STARTUP_SOUND \
  70. E__NOTE(_E6), \
  71. E__NOTE(_A6), \
  72. ED_NOTE(_E7),
  73. #define GOODBYE_SOUND \
  74. E__NOTE(_E7), \
  75. E__NOTE(_A6), \
  76. ED_NOTE(_E6),
  77. #define PLANCK_SOUND \
  78. ED_NOTE(_E7 ), \
  79. E__NOTE(_CS7), \
  80. E__NOTE(_E6 ), \
  81. E__NOTE(_A6 ), \
  82. M__NOTE(_CS7, 20),
  83. #define PREONIC_SOUND \
  84. M__NOTE(_B5, 20), \
  85. E__NOTE(_B6), \
  86. M__NOTE(_DS6, 20), \
  87. E__NOTE(_B6),
  88. #define QWERTY_SOUND \
  89. E__NOTE(_GS6 ), \
  90. E__NOTE(_A6 ), \
  91. S__NOTE(_REST), \
  92. Q__NOTE(_E7 ),
  93. #define COLEMAK_SOUND \
  94. E__NOTE(_GS6 ), \
  95. E__NOTE(_A6 ), \
  96. S__NOTE(_REST), \
  97. ED_NOTE(_E7 ), \
  98. S__NOTE(_REST), \
  99. ED_NOTE(_GS7 ),
  100. #define DVORAK_SOUND \
  101. E__NOTE(_GS6 ), \
  102. E__NOTE(_A6 ), \
  103. S__NOTE(_REST), \
  104. E__NOTE(_E7 ), \
  105. S__NOTE(_REST), \
  106. E__NOTE(_FS7 ), \
  107. S__NOTE(_REST), \
  108. E__NOTE(_E7 ),
  109. #define PLOVER_SOUND \
  110. E__NOTE(_GS6 ), \
  111. E__NOTE(_A6 ), \
  112. S__NOTE(_REST), \
  113. ED_NOTE(_E7 ), \
  114. S__NOTE(_REST), \
  115. ED_NOTE(_A7 ),
  116. #define PLOVER_GOODBYE_SOUND \
  117. E__NOTE(_GS6 ), \
  118. E__NOTE(_A6 ), \
  119. S__NOTE(_REST), \
  120. ED_NOTE(_A7 ), \
  121. S__NOTE(_REST), \
  122. ED_NOTE(_E7 ),
  123. #define MUSIC_ON_SOUND \
  124. E__NOTE(_A5 ), \
  125. E__NOTE(_B5 ), \
  126. E__NOTE(_CS6), \
  127. E__NOTE(_D6 ), \
  128. E__NOTE(_E6 ), \
  129. E__NOTE(_FS6), \
  130. E__NOTE(_GS6), \
  131. E__NOTE(_A6 ),
  132. #define AUDIO_ON_SOUND \
  133. E__NOTE(_A5 ), \
  134. E__NOTE(_A6 ),
  135. #define AUDIO_OFF_SOUND \
  136. E__NOTE(_A6 ), \
  137. E__NOTE(_A5 ),
  138. #define MUSIC_SCALE_SOUND MUSIC_ON_SOUND
  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. #define VOICE_CHANGE_SOUND \
  149. Q__NOTE(_A5 ), \
  150. Q__NOTE(_CS6), \
  151. Q__NOTE(_E6 ), \
  152. Q__NOTE(_A6 ),
  153. #define CHROMATIC_SOUND \
  154. Q__NOTE(_A5 ), \
  155. Q__NOTE(_AS5 ), \
  156. Q__NOTE(_B5), \
  157. Q__NOTE(_C6 ), \
  158. Q__NOTE(_CS6 ),
  159. #define MAJOR_SOUND \
  160. Q__NOTE(_A5 ), \
  161. Q__NOTE(_B5 ), \
  162. Q__NOTE(_CS6), \
  163. Q__NOTE(_D6 ), \
  164. Q__NOTE(_E6 ),
  165. #define GUITAR_SOUND \
  166. Q__NOTE(_E5 ), \
  167. Q__NOTE(_A5), \
  168. Q__NOTE(_D6 ), \
  169. Q__NOTE(_G6 ),
  170. #define VIOLIN_SOUND \
  171. Q__NOTE(_G5 ), \
  172. Q__NOTE(_D6), \
  173. Q__NOTE(_A6 ), \
  174. Q__NOTE(_E7 ),
  175. #define CAPS_LOCK_ON_SOUND \
  176. E__NOTE(_A3), \
  177. E__NOTE(_B3),
  178. #define CAPS_LOCK_OFF_SOUND \
  179. E__NOTE(_B3), \
  180. E__NOTE(_A3),
  181. #define SCROLL_LOCK_ON_SOUND \
  182. E__NOTE(_D4), \
  183. E__NOTE(_E4),
  184. #define SCROLL_LOCK_OFF_SOUND \
  185. E__NOTE(_E4), \
  186. E__NOTE(_D4),
  187. #define NUM_LOCK_ON_SOUND \
  188. E__NOTE(_D5), \
  189. E__NOTE(_E5),
  190. #define NUM_LOCK_OFF_SOUND \
  191. E__NOTE(_E5), \
  192. E__NOTE(_D5),
  193. #define AG_NORM_SOUND \
  194. E__NOTE(_A5), \
  195. E__NOTE(_A5),
  196. #define AG_SWAP_SOUND \
  197. SD_NOTE(_B5), \
  198. SD_NOTE(_A5), \
  199. SD_NOTE(_B5), \
  200. SD_NOTE(_A5),
  201. #define UNICODE_WINDOWS \
  202. E__NOTE(_B5), \
  203. S__NOTE(_E6),
  204. #define UNICODE_LINUX \
  205. E__NOTE(_E6), \
  206. S__NOTE(_B5),
  207. #define COIN_SOUND \
  208. E__NOTE(_A5 ), \
  209. HD_NOTE(_E6 ),
  210. #define ONE_UP_SOUND \
  211. Q__NOTE(_E6 ), \
  212. Q__NOTE(_G6 ), \
  213. Q__NOTE(_E7 ), \
  214. Q__NOTE(_C7 ), \
  215. Q__NOTE(_D7 ), \
  216. Q__NOTE(_G7 ),
  217. #define SONIC_RING \
  218. E__NOTE(_E6), \
  219. E__NOTE(_G6), \
  220. HD_NOTE(_C7),
  221. #define ZELDA_PUZZLE \
  222. Q__NOTE(_G5), \
  223. Q__NOTE(_FS5), \
  224. Q__NOTE(_DS5), \
  225. Q__NOTE(_A4), \
  226. Q__NOTE(_GS4), \
  227. Q__NOTE(_E5), \
  228. Q__NOTE(_GS5), \
  229. HD_NOTE(_C6),
  230. #define ZELDA_TREASURE \
  231. Q__NOTE(_A4), \
  232. Q__NOTE(_AS4), \
  233. Q__NOTE(_B4), \
  234. HD_NOTE(_C5), \
  235. #define TERMINAL_SOUND \
  236. E__NOTE(_C5 )
  237. #endif