You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

243 lines
5.6 KiB

  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 STARTUP_SOUND \
  49. E__NOTE(_E6), \
  50. E__NOTE(_A6), \
  51. ED_NOTE(_E7),
  52. #define GOODBYE_SOUND \
  53. E__NOTE(_E7), \
  54. E__NOTE(_A6), \
  55. ED_NOTE(_E6),
  56. #define PLANCK_SOUND \
  57. ED_NOTE(_E7 ), \
  58. E__NOTE(_CS7), \
  59. E__NOTE(_E6 ), \
  60. E__NOTE(_A6 ), \
  61. M__NOTE(_CS7, 20),
  62. #define PREONIC_SOUND \
  63. M__NOTE(_B5, 20), \
  64. E__NOTE(_B6), \
  65. M__NOTE(_DS6, 20), \
  66. E__NOTE(_B6),
  67. #define QWERTY_SOUND \
  68. E__NOTE(_GS6 ), \
  69. E__NOTE(_A6 ), \
  70. S__NOTE(_REST), \
  71. Q__NOTE(_E7 ),
  72. #define COLEMAK_SOUND \
  73. E__NOTE(_GS6 ), \
  74. E__NOTE(_A6 ), \
  75. S__NOTE(_REST), \
  76. ED_NOTE(_E7 ), \
  77. S__NOTE(_REST), \
  78. ED_NOTE(_GS7 ),
  79. #define DVORAK_SOUND \
  80. E__NOTE(_GS6 ), \
  81. E__NOTE(_A6 ), \
  82. S__NOTE(_REST), \
  83. E__NOTE(_E7 ), \
  84. S__NOTE(_REST), \
  85. E__NOTE(_FS7 ), \
  86. S__NOTE(_REST), \
  87. E__NOTE(_E7 ),
  88. #define PLOVER_SOUND \
  89. E__NOTE(_GS6 ), \
  90. E__NOTE(_A6 ), \
  91. S__NOTE(_REST), \
  92. ED_NOTE(_E7 ), \
  93. S__NOTE(_REST), \
  94. ED_NOTE(_A7 ),
  95. #define PLOVER_GOODBYE_SOUND \
  96. E__NOTE(_GS6 ), \
  97. E__NOTE(_A6 ), \
  98. S__NOTE(_REST), \
  99. ED_NOTE(_A7 ), \
  100. S__NOTE(_REST), \
  101. ED_NOTE(_E7 ),
  102. #define MUSIC_ON_SOUND \
  103. E__NOTE(_A5 ), \
  104. E__NOTE(_B5 ), \
  105. E__NOTE(_CS6), \
  106. E__NOTE(_D6 ), \
  107. E__NOTE(_E6 ), \
  108. E__NOTE(_FS6), \
  109. E__NOTE(_GS6), \
  110. E__NOTE(_A6 ),
  111. #define MUSIC_SCALE_SOUND MUSIC_ON_SOUND
  112. #define MUSIC_OFF_SOUND \
  113. E__NOTE(_A6 ), \
  114. E__NOTE(_GS6 ), \
  115. E__NOTE(_FS6), \
  116. E__NOTE(_E6 ), \
  117. E__NOTE(_D6 ), \
  118. E__NOTE(_CS6), \
  119. E__NOTE(_B5), \
  120. E__NOTE(_A5 ),
  121. #define VOICE_CHANGE_SOUND \
  122. Q__NOTE(_A5 ), \
  123. Q__NOTE(_CS6), \
  124. Q__NOTE(_E6 ), \
  125. Q__NOTE(_A6 ),
  126. #define CHROMATIC_SOUND \
  127. Q__NOTE(_A5 ), \
  128. Q__NOTE(_AS5 ), \
  129. Q__NOTE(_B5), \
  130. Q__NOTE(_C6 ), \
  131. Q__NOTE(_CS6 ),
  132. #define MAJOR_SOUND \
  133. Q__NOTE(_A5 ), \
  134. Q__NOTE(_B5 ), \
  135. Q__NOTE(_CS6), \
  136. Q__NOTE(_D6 ), \
  137. Q__NOTE(_E6 ),
  138. #define GUITAR_SOUND \
  139. Q__NOTE(_E5 ), \
  140. Q__NOTE(_A5), \
  141. Q__NOTE(_D6 ), \
  142. Q__NOTE(_G6 ),
  143. #define VIOLIN_SOUND \
  144. Q__NOTE(_G5 ), \
  145. Q__NOTE(_D6), \
  146. Q__NOTE(_A6 ), \
  147. Q__NOTE(_E7 ),
  148. #define CAPS_LOCK_ON_SOUND \
  149. E__NOTE(_A3), \
  150. E__NOTE(_B3),
  151. #define CAPS_LOCK_OFF_SOUND \
  152. E__NOTE(_B3), \
  153. E__NOTE(_A3),
  154. #define SCROLL_LOCK_ON_SOUND \
  155. E__NOTE(_D4), \
  156. E__NOTE(_E4),
  157. #define SCROLL_LOCK_OFF_SOUND \
  158. E__NOTE(_E4), \
  159. E__NOTE(_D4),
  160. #define NUM_LOCK_ON_SOUND \
  161. E__NOTE(_D5), \
  162. E__NOTE(_E5),
  163. #define NUM_LOCK_OFF_SOUND \
  164. E__NOTE(_E5), \
  165. E__NOTE(_D5),
  166. #define AG_NORM_SOUND \
  167. E__NOTE(_A5), \
  168. E__NOTE(_A5),
  169. #define AG_SWAP_SOUND \
  170. SD_NOTE(_B5), \
  171. SD_NOTE(_A5), \
  172. SD_NOTE(_B5), \
  173. SD_NOTE(_A5),
  174. #define UNICODE_WINDOWS \
  175. E__NOTE(_B5), \
  176. S__NOTE(_E6),
  177. #define UNICODE_LINUX \
  178. E__NOTE(_E6), \
  179. S__NOTE(_B5),
  180. #define COIN_SOUND \
  181. E__NOTE(_A5 ), \
  182. HD_NOTE(_E6 ),
  183. #define ONE_UP_SOUND \
  184. Q__NOTE(_E6 ), \
  185. Q__NOTE(_G6 ), \
  186. Q__NOTE(_E7 ), \
  187. Q__NOTE(_C7 ), \
  188. Q__NOTE(_D7 ), \
  189. Q__NOTE(_G7 ),
  190. #define SONIC_RING \
  191. E__NOTE(_E6), \
  192. E__NOTE(_G6), \
  193. HD_NOTE(_C7),
  194. #define ZELDA_PUZZLE \
  195. Q__NOTE(_G5), \
  196. Q__NOTE(_FS5), \
  197. Q__NOTE(_DS5), \
  198. Q__NOTE(_A4), \
  199. Q__NOTE(_GS4), \
  200. Q__NOTE(_E5), \
  201. Q__NOTE(_GS5), \
  202. HD_NOTE(_C6),
  203. #endif