@sudobility/music_types 0.11.30 → 0.11.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/dist/domain/commands/edit-commands.d.ts +3 -3
  2. package/dist/domain/commands/edit-commands.d.ts.map +1 -1
  3. package/dist/domain/commands/edit-commands.js +25 -25
  4. package/dist/domain/commands/edit-commands.js.map +1 -1
  5. package/dist/domain/commands/history.d.ts +32 -0
  6. package/dist/domain/commands/history.d.ts.map +1 -0
  7. package/dist/domain/commands/history.js +63 -0
  8. package/dist/domain/commands/history.js.map +1 -0
  9. package/dist/domain/commands/note-commands.d.ts +9 -12
  10. package/dist/domain/commands/note-commands.d.ts.map +1 -1
  11. package/dist/domain/commands/note-commands.js +42 -72
  12. package/dist/domain/commands/note-commands.js.map +1 -1
  13. package/dist/domain/commands/note-marks.d.ts +171 -0
  14. package/dist/domain/commands/note-marks.d.ts.map +1 -0
  15. package/dist/domain/commands/note-marks.js +427 -0
  16. package/dist/domain/commands/note-marks.js.map +1 -0
  17. package/dist/domain/commands/reflow.d.ts +1 -1
  18. package/dist/domain/commands/reflow.js +17 -17
  19. package/dist/domain/commands/reflow.js.map +1 -1
  20. package/dist/domain/commands/region-commands.d.ts +4 -4
  21. package/dist/domain/commands/region-commands.d.ts.map +1 -1
  22. package/dist/domain/commands/region-commands.js +7 -7
  23. package/dist/domain/commands/region-commands.js.map +1 -1
  24. package/dist/domain/commands/relocate-commands.d.ts +3 -3
  25. package/dist/domain/commands/relocate-commands.js +15 -15
  26. package/dist/domain/commands/relocate-commands.js.map +1 -1
  27. package/dist/domain/commands/ripple-commands.d.ts +2 -2
  28. package/dist/domain/commands/ripple-commands.js +13 -13
  29. package/dist/domain/commands/ripple-commands.js.map +1 -1
  30. package/dist/domain/commands/snapshot.d.ts +3 -3
  31. package/dist/domain/commands/snapshot.js +5 -5
  32. package/dist/domain/commands/snapshot.js.map +1 -1
  33. package/dist/domain/commands/structure-commands.d.ts +86 -5
  34. package/dist/domain/commands/structure-commands.d.ts.map +1 -1
  35. package/dist/domain/commands/structure-commands.js +272 -36
  36. package/dist/domain/commands/structure-commands.js.map +1 -1
  37. package/dist/domain/commands/track-commands.d.ts +2 -2
  38. package/dist/domain/commands/track-commands.js +7 -7
  39. package/dist/domain/commands/track-commands.js.map +1 -1
  40. package/dist/domain/commands/types.d.ts +2 -2
  41. package/dist/domain/generation/replacement-region.d.ts +32 -0
  42. package/dist/domain/generation/replacement-region.d.ts.map +1 -0
  43. package/dist/domain/generation/replacement-region.js +79 -0
  44. package/dist/domain/generation/replacement-region.js.map +1 -0
  45. package/dist/domain/instruments/gm-icon.d.ts +12 -0
  46. package/dist/domain/instruments/gm-icon.d.ts.map +1 -0
  47. package/dist/domain/instruments/gm-icon.js +327 -0
  48. package/dist/domain/instruments/gm-icon.js.map +1 -0
  49. package/dist/domain/instruments/gm-kit.js +9 -9
  50. package/dist/domain/instruments/gm-kit.js.map +1 -1
  51. package/dist/domain/instruments/gm-percussion.js +48 -48
  52. package/dist/domain/instruments/gm-percussion.js.map +1 -1
  53. package/dist/domain/instruments/gm-polyphony.js +6 -6
  54. package/dist/domain/instruments/gm-range.js +6 -6
  55. package/dist/domain/instruments/gm-transposition.js +1 -1
  56. package/dist/domain/instruments/gm.d.ts +1 -1
  57. package/dist/domain/instruments/gm.js +161 -161
  58. package/dist/domain/instruments/gm.js.map +1 -1
  59. package/dist/domain/instruments/icon-art.d.ts +75 -0
  60. package/dist/domain/instruments/icon-art.d.ts.map +1 -0
  61. package/dist/domain/instruments/icon-art.js +93 -0
  62. package/dist/domain/instruments/icon-art.js.map +1 -0
  63. package/dist/domain/instruments/instrument-fit.d.ts +31 -0
  64. package/dist/domain/instruments/instrument-fit.d.ts.map +1 -0
  65. package/dist/domain/instruments/instrument-fit.js +117 -0
  66. package/dist/domain/instruments/instrument-fit.js.map +1 -0
  67. package/dist/domain/instruments/instrument-options.d.ts +62 -0
  68. package/dist/domain/instruments/instrument-options.d.ts.map +1 -0
  69. package/dist/domain/instruments/instrument-options.js +69 -0
  70. package/dist/domain/instruments/instrument-options.js.map +1 -0
  71. package/dist/domain/instruments/track-instrument.d.ts +80 -0
  72. package/dist/domain/instruments/track-instrument.d.ts.map +1 -0
  73. package/dist/domain/instruments/track-instrument.js +102 -0
  74. package/dist/domain/instruments/track-instrument.js.map +1 -0
  75. package/dist/domain/notation/chord-symbol.d.ts +26 -0
  76. package/dist/domain/notation/chord-symbol.d.ts.map +1 -0
  77. package/dist/domain/notation/chord-symbol.js +32 -0
  78. package/dist/domain/notation/chord-symbol.js.map +1 -0
  79. package/dist/domain/notation/lyric-syllables.d.ts +15 -0
  80. package/dist/domain/notation/lyric-syllables.d.ts.map +1 -0
  81. package/dist/domain/notation/lyric-syllables.js +15 -0
  82. package/dist/domain/notation/lyric-syllables.js.map +1 -0
  83. package/dist/domain/notation/music-vocabulary.d.ts +59 -0
  84. package/dist/domain/notation/music-vocabulary.d.ts.map +1 -0
  85. package/dist/domain/notation/music-vocabulary.js +164 -0
  86. package/dist/domain/notation/music-vocabulary.js.map +1 -0
  87. package/dist/domain/pitch/pitch.d.ts +1 -1
  88. package/dist/domain/pitch/pitch.js +29 -29
  89. package/dist/domain/pitch/transpose.d.ts +1 -1
  90. package/dist/domain/pitch/transpose.js +2 -2
  91. package/dist/domain/quantization/quantize.d.ts +2 -2
  92. package/dist/domain/quantization/quantize.js +9 -9
  93. package/dist/domain/quantization/quantize.js.map +1 -1
  94. package/dist/domain/score/articulation.d.ts +56 -0
  95. package/dist/domain/score/articulation.d.ts.map +1 -0
  96. package/dist/domain/score/articulation.js +56 -0
  97. package/dist/domain/score/articulation.js.map +1 -0
  98. package/dist/domain/score/bar-numbers.d.ts +38 -0
  99. package/dist/domain/score/bar-numbers.d.ts.map +1 -0
  100. package/dist/domain/score/bar-numbers.js +49 -0
  101. package/dist/domain/score/bar-numbers.js.map +1 -0
  102. package/dist/domain/score/collapse-rests.d.ts +23 -0
  103. package/dist/domain/score/collapse-rests.d.ts.map +1 -0
  104. package/dist/domain/score/collapse-rests.js +78 -0
  105. package/dist/domain/score/collapse-rests.js.map +1 -0
  106. package/dist/domain/score/cue-notes.d.ts +24 -0
  107. package/dist/domain/score/cue-notes.d.ts.map +1 -0
  108. package/dist/domain/score/cue-notes.js +105 -0
  109. package/dist/domain/score/cue-notes.js.map +1 -0
  110. package/dist/domain/score/dynamics.d.ts +62 -0
  111. package/dist/domain/score/dynamics.d.ts.map +1 -0
  112. package/dist/domain/score/dynamics.js +142 -0
  113. package/dist/domain/score/dynamics.js.map +1 -0
  114. package/dist/domain/score/effective-clef.d.ts +42 -0
  115. package/dist/domain/score/effective-clef.d.ts.map +1 -0
  116. package/dist/domain/score/effective-clef.js +39 -0
  117. package/dist/domain/score/effective-clef.js.map +1 -0
  118. package/dist/domain/score/extract-part.d.ts +10 -0
  119. package/dist/domain/score/extract-part.d.ts.map +1 -0
  120. package/dist/domain/score/extract-part.js +44 -0
  121. package/dist/domain/score/extract-part.js.map +1 -0
  122. package/dist/domain/score/factory.d.ts +1 -1
  123. package/dist/domain/score/factory.js +12 -12
  124. package/dist/domain/score/factory.js.map +1 -1
  125. package/dist/domain/score/fermata-tempo.d.ts +40 -0
  126. package/dist/domain/score/fermata-tempo.d.ts.map +1 -0
  127. package/dist/domain/score/fermata-tempo.js +95 -0
  128. package/dist/domain/score/fermata-tempo.js.map +1 -0
  129. package/dist/domain/score/flatten.d.ts +32 -0
  130. package/dist/domain/score/flatten.d.ts.map +1 -0
  131. package/dist/domain/score/flatten.js +132 -0
  132. package/dist/domain/score/flatten.js.map +1 -0
  133. package/dist/domain/score/fragment.d.ts +4 -8
  134. package/dist/domain/score/fragment.d.ts.map +1 -1
  135. package/dist/domain/score/fragment.js +8 -8
  136. package/dist/domain/score/fragment.js.map +1 -1
  137. package/dist/domain/score/ids.d.ts +1 -1
  138. package/dist/domain/score/ids.js +6 -6
  139. package/dist/domain/score/ottava.d.ts +41 -0
  140. package/dist/domain/score/ottava.d.ts.map +1 -0
  141. package/dist/domain/score/ottava.js +98 -0
  142. package/dist/domain/score/ottava.js.map +1 -0
  143. package/dist/domain/score/performance-timeline.d.ts +42 -0
  144. package/dist/domain/score/performance-timeline.d.ts.map +1 -0
  145. package/dist/domain/score/performance-timeline.js +78 -0
  146. package/dist/domain/score/performance-timeline.js.map +1 -0
  147. package/dist/domain/score/queries.d.ts +2 -2
  148. package/dist/domain/score/queries.js +7 -7
  149. package/dist/domain/score/queries.js.map +1 -1
  150. package/dist/domain/score/rehearsal-marks.d.ts +30 -0
  151. package/dist/domain/score/rehearsal-marks.d.ts.map +1 -0
  152. package/dist/domain/score/rehearsal-marks.js +126 -0
  153. package/dist/domain/score/rehearsal-marks.js.map +1 -0
  154. package/dist/domain/score/repeat-order.d.ts +21 -0
  155. package/dist/domain/score/repeat-order.d.ts.map +1 -0
  156. package/dist/domain/score/repeat-order.js +123 -0
  157. package/dist/domain/score/repeat-order.js.map +1 -0
  158. package/dist/domain/score/snapshot-tree.d.ts +23 -0
  159. package/dist/domain/score/snapshot-tree.d.ts.map +1 -0
  160. package/dist/domain/score/snapshot-tree.js +45 -0
  161. package/dist/domain/score/snapshot-tree.js.map +1 -0
  162. package/dist/domain/score/ties.d.ts +1 -1
  163. package/dist/domain/score/ties.js +7 -7
  164. package/dist/domain/score/ties.js.map +1 -1
  165. package/dist/domain/score/written-pitch.d.ts +33 -0
  166. package/dist/domain/score/written-pitch.d.ts.map +1 -0
  167. package/dist/domain/score/written-pitch.js +110 -0
  168. package/dist/domain/score/written-pitch.js.map +1 -0
  169. package/dist/domain/selection/range-select.d.ts +13 -0
  170. package/dist/domain/selection/range-select.d.ts.map +1 -0
  171. package/dist/domain/selection/range-select.js +40 -0
  172. package/dist/domain/selection/range-select.js.map +1 -0
  173. package/dist/domain/selection/selection-editing.d.ts +30 -0
  174. package/dist/domain/selection/selection-editing.d.ts.map +1 -0
  175. package/dist/domain/selection/selection-editing.js +31 -0
  176. package/dist/domain/selection/selection-editing.js.map +1 -0
  177. package/dist/domain/selection/selection.d.ts +2 -2
  178. package/dist/domain/selection/selection.js +7 -7
  179. package/dist/domain/selection/selection.js.map +1 -1
  180. package/dist/domain/selection/types.d.ts +2 -2
  181. package/dist/domain/selection/types.d.ts.map +1 -1
  182. package/dist/domain/time/duration-modifiers.d.ts +40 -0
  183. package/dist/domain/time/duration-modifiers.d.ts.map +1 -0
  184. package/dist/domain/time/duration-modifiers.js +50 -0
  185. package/dist/domain/time/duration-modifiers.js.map +1 -0
  186. package/dist/domain/time/duration-selection.d.ts +23 -0
  187. package/dist/domain/time/duration-selection.d.ts.map +1 -0
  188. package/dist/domain/time/duration-selection.js +50 -0
  189. package/dist/domain/time/duration-selection.js.map +1 -0
  190. package/dist/domain/time/durations.js +6 -6
  191. package/dist/domain/time/durations.js.map +1 -1
  192. package/dist/domain/time/fraction.d.ts +1 -1
  193. package/dist/domain/time/fraction.js +1 -1
  194. package/dist/domain/time/tap-to-note.d.ts +21 -0
  195. package/dist/domain/time/tap-to-note.d.ts.map +1 -0
  196. package/dist/domain/time/tap-to-note.js +43 -0
  197. package/dist/domain/time/tap-to-note.js.map +1 -0
  198. package/dist/domain/time/tempo-map.d.ts +1 -1
  199. package/dist/domain/time/ticks.d.ts +1 -1
  200. package/dist/domain/time/ticks.d.ts.map +1 -1
  201. package/dist/domain/time/ticks.js +14 -14
  202. package/dist/domain/time/ticks.js.map +1 -1
  203. package/dist/domain/time/tuplets.d.ts +42 -0
  204. package/dist/domain/time/tuplets.d.ts.map +1 -0
  205. package/dist/domain/time/tuplets.js +53 -0
  206. package/dist/domain/time/tuplets.js.map +1 -0
  207. package/dist/domain/validation/issues.d.ts +1 -1
  208. package/dist/domain/validation/issues.js +20 -20
  209. package/dist/domain/validation/validator.d.ts +2 -2
  210. package/dist/domain/validation/validator.d.ts.map +1 -1
  211. package/dist/domain/validation/validator.js +31 -31
  212. package/dist/domain/validation/validator.js.map +1 -1
  213. package/dist/domain/voicing/allocate.d.ts +2 -2
  214. package/dist/domain/voicing/allocate.js +6 -6
  215. package/dist/domain/voicing/allocate.js.map +1 -1
  216. package/dist/index.d.ts +72 -5535
  217. package/dist/index.d.ts.map +1 -1
  218. package/dist/index.js +79 -462
  219. package/dist/index.js.map +1 -1
  220. package/dist/model/api.d.ts +1696 -0
  221. package/dist/model/api.d.ts.map +1 -0
  222. package/dist/model/api.js +125 -0
  223. package/dist/model/api.js.map +1 -0
  224. package/dist/model/generation.d.ts +2178 -0
  225. package/dist/model/generation.d.ts.map +1 -0
  226. package/dist/model/generation.js +142 -0
  227. package/dist/model/generation.js.map +1 -0
  228. package/dist/model/schemas.d.ts +1200 -0
  229. package/dist/model/schemas.d.ts.map +1 -0
  230. package/dist/model/schemas.js +200 -0
  231. package/dist/model/schemas.js.map +1 -0
  232. package/dist/model/score.d.ts +462 -0
  233. package/dist/model/score.d.ts.map +1 -0
  234. package/dist/model/score.js +34 -0
  235. package/dist/model/score.js.map +1 -0
  236. package/dist/platform/audio.d.ts.map +1 -1
  237. package/dist/platform/file.d.ts.map +1 -1
  238. package/dist/platform/index.d.ts +7 -7
  239. package/dist/platform/index.js +7 -7
  240. package/dist/platform/midi-input.d.ts +2 -2
  241. package/dist/platform/midi.d.ts.map +1 -1
  242. package/dist/platform/mod.d.ts +2 -2
  243. package/dist/platform/playback.d.ts +7 -7
  244. package/dist/platform/xml.js +1 -1
  245. package/dist/services/regeneration/controller.d.ts +6 -6
  246. package/dist/services/regeneration/controller.js +12 -12
  247. package/dist/services/regeneration/controller.js.map +1 -1
  248. package/dist/test/fixtures.d.ts +1 -1
  249. package/dist/test/fixtures.js +103 -103
  250. package/dist/test/fixtures.js.map +1 -1
  251. package/package.json +1 -1
@@ -19,55 +19,55 @@
19
19
  /** The range General MIDI assigns drums to. Every number in it sounds something. */
20
20
  export const GM_PERCUSSION_RANGE = { min: 35, max: 81 };
21
21
  const TABLE = [
22
- { midi: 35, name: 'Acoustic Bass Drum', short: 'Kick' },
23
- { midi: 36, name: 'Bass Drum 1', short: 'Kick 1' },
24
- { midi: 37, name: 'Side Stick', short: 'Stick' },
25
- { midi: 38, name: 'Acoustic Snare', short: 'Snare' },
26
- { midi: 39, name: 'Hand Clap', short: 'Clap' },
27
- { midi: 40, name: 'Electric Snare', short: 'El Snr' },
28
- { midi: 41, name: 'Low Floor Tom', short: 'Flr Lo' },
29
- { midi: 42, name: 'Closed Hi-Hat', short: 'Cl HH' },
30
- { midi: 43, name: 'High Floor Tom', short: 'Flr Hi' },
31
- { midi: 44, name: 'Pedal Hi-Hat', short: 'Pd HH' },
32
- { midi: 45, name: 'Low Tom', short: 'Tom Lo' },
33
- { midi: 46, name: 'Open Hi-Hat', short: 'Op HH' },
34
- { midi: 47, name: 'Low-Mid Tom', short: 'Tom Md' },
35
- { midi: 48, name: 'Hi-Mid Tom', short: 'Tom MHi' },
36
- { midi: 49, name: 'Crash Cymbal 1', short: 'Crash' },
37
- { midi: 50, name: 'High Tom', short: 'Tom Hi' },
38
- { midi: 51, name: 'Ride Cymbal 1', short: 'Ride' },
39
- { midi: 52, name: 'Chinese Cymbal', short: 'China' },
40
- { midi: 53, name: 'Ride Bell', short: 'Bell' },
41
- { midi: 54, name: 'Tambourine', short: 'Tamb' },
42
- { midi: 55, name: 'Splash Cymbal', short: 'Splash' },
43
- { midi: 56, name: 'Cowbell', short: 'Cowbell' },
44
- { midi: 57, name: 'Crash Cymbal 2', short: 'Crash 2' },
45
- { midi: 58, name: 'Vibraslap', short: 'Vibslap' },
46
- { midi: 59, name: 'Ride Cymbal 2', short: 'Ride 2' },
47
- { midi: 60, name: 'Hi Bongo', short: 'Bong Hi' },
48
- { midi: 61, name: 'Low Bongo', short: 'Bong Lo' },
49
- { midi: 62, name: 'Mute Hi Conga', short: 'Cong Mt' },
50
- { midi: 63, name: 'Open Hi Conga', short: 'Cong Hi' },
51
- { midi: 64, name: 'Low Conga', short: 'Cong Lo' },
52
- { midi: 65, name: 'High Timbale', short: 'Timb Hi' },
53
- { midi: 66, name: 'Low Timbale', short: 'Timb Lo' },
54
- { midi: 67, name: 'High Agogo', short: 'Agog Hi' },
55
- { midi: 68, name: 'Low Agogo', short: 'Agog Lo' },
56
- { midi: 69, name: 'Cabasa', short: 'Cabasa' },
57
- { midi: 70, name: 'Maracas', short: 'Maracas' },
58
- { midi: 71, name: 'Short Whistle', short: 'Whis' },
59
- { midi: 72, name: 'Long Whistle', short: 'Whis Lg' },
60
- { midi: 73, name: 'Short Guiro', short: 'Guiro' },
61
- { midi: 74, name: 'Long Guiro', short: 'Guiro L' },
62
- { midi: 75, name: 'Claves', short: 'Claves' },
63
- { midi: 76, name: 'Hi Wood Block', short: 'Wood Hi' },
64
- { midi: 77, name: 'Low Wood Block', short: 'Wood Lo' },
65
- { midi: 78, name: 'Mute Cuica', short: 'Cuic Mt' },
66
- { midi: 79, name: 'Open Cuica', short: 'Cuica' },
67
- { midi: 80, name: 'Mute Triangle', short: 'Tri Mt' },
68
- { midi: 81, name: 'Open Triangle', short: 'Tri' },
22
+ { midi: 35, name: "Acoustic Bass Drum", short: "Kick" },
23
+ { midi: 36, name: "Bass Drum 1", short: "Kick 1" },
24
+ { midi: 37, name: "Side Stick", short: "Stick" },
25
+ { midi: 38, name: "Acoustic Snare", short: "Snare" },
26
+ { midi: 39, name: "Hand Clap", short: "Clap" },
27
+ { midi: 40, name: "Electric Snare", short: "El Snr" },
28
+ { midi: 41, name: "Low Floor Tom", short: "Flr Lo" },
29
+ { midi: 42, name: "Closed Hi-Hat", short: "Cl HH" },
30
+ { midi: 43, name: "High Floor Tom", short: "Flr Hi" },
31
+ { midi: 44, name: "Pedal Hi-Hat", short: "Pd HH" },
32
+ { midi: 45, name: "Low Tom", short: "Tom Lo" },
33
+ { midi: 46, name: "Open Hi-Hat", short: "Op HH" },
34
+ { midi: 47, name: "Low-Mid Tom", short: "Tom Md" },
35
+ { midi: 48, name: "Hi-Mid Tom", short: "Tom MHi" },
36
+ { midi: 49, name: "Crash Cymbal 1", short: "Crash" },
37
+ { midi: 50, name: "High Tom", short: "Tom Hi" },
38
+ { midi: 51, name: "Ride Cymbal 1", short: "Ride" },
39
+ { midi: 52, name: "Chinese Cymbal", short: "China" },
40
+ { midi: 53, name: "Ride Bell", short: "Bell" },
41
+ { midi: 54, name: "Tambourine", short: "Tamb" },
42
+ { midi: 55, name: "Splash Cymbal", short: "Splash" },
43
+ { midi: 56, name: "Cowbell", short: "Cowbell" },
44
+ { midi: 57, name: "Crash Cymbal 2", short: "Crash 2" },
45
+ { midi: 58, name: "Vibraslap", short: "Vibslap" },
46
+ { midi: 59, name: "Ride Cymbal 2", short: "Ride 2" },
47
+ { midi: 60, name: "Hi Bongo", short: "Bong Hi" },
48
+ { midi: 61, name: "Low Bongo", short: "Bong Lo" },
49
+ { midi: 62, name: "Mute Hi Conga", short: "Cong Mt" },
50
+ { midi: 63, name: "Open Hi Conga", short: "Cong Hi" },
51
+ { midi: 64, name: "Low Conga", short: "Cong Lo" },
52
+ { midi: 65, name: "High Timbale", short: "Timb Hi" },
53
+ { midi: 66, name: "Low Timbale", short: "Timb Lo" },
54
+ { midi: 67, name: "High Agogo", short: "Agog Hi" },
55
+ { midi: 68, name: "Low Agogo", short: "Agog Lo" },
56
+ { midi: 69, name: "Cabasa", short: "Cabasa" },
57
+ { midi: 70, name: "Maracas", short: "Maracas" },
58
+ { midi: 71, name: "Short Whistle", short: "Whis" },
59
+ { midi: 72, name: "Long Whistle", short: "Whis Lg" },
60
+ { midi: 73, name: "Short Guiro", short: "Guiro" },
61
+ { midi: 74, name: "Long Guiro", short: "Guiro L" },
62
+ { midi: 75, name: "Claves", short: "Claves" },
63
+ { midi: 76, name: "Hi Wood Block", short: "Wood Hi" },
64
+ { midi: 77, name: "Low Wood Block", short: "Wood Lo" },
65
+ { midi: 78, name: "Mute Cuica", short: "Cuic Mt" },
66
+ { midi: 79, name: "Open Cuica", short: "Cuica" },
67
+ { midi: 80, name: "Mute Triangle", short: "Tri Mt" },
68
+ { midi: 81, name: "Open Triangle", short: "Tri" },
69
69
  ];
70
- const BY_MIDI = new Map(TABLE.map(drum => [drum.midi, drum]));
70
+ const BY_MIDI = new Map(TABLE.map((drum) => [drum.midi, drum]));
71
71
  export const GM_PERCUSSION = TABLE;
72
72
  /** The drum `midi` sounds, or `null` outside the General MIDI percussion range. */
73
73
  export function gmPercussion(midi) {
@@ -1 +1 @@
1
- {"version":3,"file":"gm-percussion.js","sourceRoot":"","sources":["../../../src/domain/instruments/gm-percussion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAWH,oFAAoF;AACpF,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAW,CAAC;AAEjE,MAAM,KAAK,GAA4B;IACrC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE;IACvD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE;IAClD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE;IAChD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE;IACpD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE;IAC9C,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE;IACrD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE;IACnD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE;IACrD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE;IAClD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC9C,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE;IACjD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE;IAClD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE;IAClD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE;IACpD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC/C,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE;IAClD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE;IACpD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE;IAC9C,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE;IAC/C,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IAC/C,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE;IACtD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE;IACjD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE;IAChD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE;IACjD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE;IACrD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE;IACrD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE;IACjD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE;IACpD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE;IACnD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE;IAClD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE;IACjD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC7C,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IAC/C,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE;IAClD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE;IACpD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE;IACjD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE;IAClD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC7C,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE;IACrD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE;IACtD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE;IAClD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE;IAChD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE;CAClD,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,aAAa,GAA4B,KAAK,CAAC;AAE5D,mFAAmF;AACnF,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,QAAQ,IAAI,EAAE,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"gm-percussion.js","sourceRoot":"","sources":["../../../src/domain/instruments/gm-percussion.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@
11
11
  * deliberately does NOT describe what a synthesizer patch can do — polyphony
12
12
  * there is a setting, not a limit — so every synth family is unlimited.
13
13
  */
14
- import { gmFamilyOf, gmInstrument } from './gm.js';
14
+ import { gmFamilyOf, gmInstrument } from "./gm.js";
15
15
  /** No physical limit: keyboards, plucked strings, sections, synths, drums. */
16
16
  export const UNLIMITED_POLYPHONY = Number.POSITIVE_INFINITY;
17
17
  /**
@@ -24,7 +24,7 @@ export const UNLIMITED_POLYPHONY = Number.POSITIVE_INFINITY;
24
24
  */
25
25
  const FAMILY_POLYPHONY = {
26
26
  piano: UNLIMITED_POLYPHONY,
27
- 'chromatic-percussion': UNLIMITED_POLYPHONY,
27
+ "chromatic-percussion": UNLIMITED_POLYPHONY,
28
28
  organ: UNLIMITED_POLYPHONY,
29
29
  guitar: 6,
30
30
  bass: 4,
@@ -33,12 +33,12 @@ const FAMILY_POLYPHONY = {
33
33
  brass: 1,
34
34
  reed: 1,
35
35
  pipe: 1,
36
- 'synth-lead': UNLIMITED_POLYPHONY,
37
- 'synth-pad': UNLIMITED_POLYPHONY,
38
- 'synth-effects': UNLIMITED_POLYPHONY,
36
+ "synth-lead": UNLIMITED_POLYPHONY,
37
+ "synth-pad": UNLIMITED_POLYPHONY,
38
+ "synth-effects": UNLIMITED_POLYPHONY,
39
39
  ethnic: UNLIMITED_POLYPHONY,
40
40
  percussive: UNLIMITED_POLYPHONY,
41
- 'sound-effects': UNLIMITED_POLYPHONY,
41
+ "sound-effects": UNLIMITED_POLYPHONY,
42
42
  };
43
43
  /** Programs whose own limit differs from their family's. */
44
44
  const PROGRAM_POLYPHONY = {
@@ -14,7 +14,7 @@
14
14
  * Nothing here restricts what can be written; it only decides which keys are
15
15
  * worth showing.
16
16
  */
17
- import { gmFamilyOf, gmInstrument } from './gm.js';
17
+ import { gmFamilyOf, gmInstrument } from "./gm.js";
18
18
  /** A0 to C8 — the 88-key piano, and the widest range anything here returns. */
19
19
  export const FULL_KEYBOARD = { min: 21, max: 108 };
20
20
  /**
@@ -24,7 +24,7 @@ export const FULL_KEYBOARD = { min: 21, max: 108 };
24
24
  */
25
25
  const FAMILY_RANGE = {
26
26
  piano: { min: 21, max: 108 },
27
- 'chromatic-percussion': { min: 48, max: 96 },
27
+ "chromatic-percussion": { min: 48, max: 96 },
28
28
  organ: { min: 36, max: 96 },
29
29
  guitar: { min: 40, max: 88 },
30
30
  bass: { min: 28, max: 67 },
@@ -33,12 +33,12 @@ const FAMILY_RANGE = {
33
33
  brass: { min: 34, max: 82 },
34
34
  reed: { min: 44, max: 88 },
35
35
  pipe: { min: 60, max: 98 },
36
- 'synth-lead': { min: 24, max: 96 },
37
- 'synth-pad': { min: 24, max: 96 },
38
- 'synth-effects': { min: 24, max: 96 },
36
+ "synth-lead": { min: 24, max: 96 },
37
+ "synth-pad": { min: 24, max: 96 },
38
+ "synth-effects": { min: 24, max: 96 },
39
39
  ethnic: { min: 40, max: 84 },
40
40
  percussive: { min: 48, max: 84 },
41
- 'sound-effects': { min: 21, max: 108 },
41
+ "sound-effects": { min: 21, max: 108 },
42
42
  };
43
43
  /** Instruments whose own compass differs enough from their family to matter. */
44
44
  const PROGRAM_RANGE = {
@@ -10,7 +10,7 @@
10
10
  * for the programs that actually transpose. Most do not, so the table below is
11
11
  * only the exceptions.
12
12
  */
13
- import { gmInstrument } from './gm.js';
13
+ import { gmInstrument } from "./gm.js";
14
14
  /** Semitones to ADD to sounding pitch to get written pitch. */
15
15
  const PROGRAM_TRANSPOSITION = {
16
16
  // Octave-transposing tuned percussion: written an octave (or two) below
@@ -7,7 +7,7 @@
7
7
  * defend against a bad value from the schema — only against a hand-edited
8
8
  * score, which is why `gmInstrument` returns `null` rather than throwing.
9
9
  */
10
- export type GmFamily = 'piano' | 'chromatic-percussion' | 'organ' | 'guitar' | 'bass' | 'strings' | 'ensemble' | 'brass' | 'reed' | 'pipe' | 'synth-lead' | 'synth-pad' | 'synth-effects' | 'ethnic' | 'percussive' | 'sound-effects';
10
+ export type GmFamily = "piano" | "chromatic-percussion" | "organ" | "guitar" | "bass" | "strings" | "ensemble" | "brass" | "reed" | "pipe" | "synth-lead" | "synth-pad" | "synth-effects" | "ethnic" | "percussive" | "sound-effects";
11
11
  export type GmInstrument = {
12
12
  /** 0-127, matching `Track.midiProgram`. */
13
13
  program: number;
@@ -9,40 +9,40 @@
9
9
  */
10
10
  /** In program order: family `i` covers programs `i*8 .. i*8+7`. */
11
11
  export const GM_FAMILIES = [
12
- 'piano',
13
- 'chromatic-percussion',
14
- 'organ',
15
- 'guitar',
16
- 'bass',
17
- 'strings',
18
- 'ensemble',
19
- 'brass',
20
- 'reed',
21
- 'pipe',
22
- 'synth-lead',
23
- 'synth-pad',
24
- 'synth-effects',
25
- 'ethnic',
26
- 'percussive',
27
- 'sound-effects',
12
+ "piano",
13
+ "chromatic-percussion",
14
+ "organ",
15
+ "guitar",
16
+ "bass",
17
+ "strings",
18
+ "ensemble",
19
+ "brass",
20
+ "reed",
21
+ "pipe",
22
+ "synth-lead",
23
+ "synth-pad",
24
+ "synth-effects",
25
+ "ethnic",
26
+ "percussive",
27
+ "sound-effects",
28
28
  ];
29
29
  export const GM_FAMILY_LABELS = {
30
- piano: 'Piano',
31
- 'chromatic-percussion': 'Chromatic Percussion',
32
- organ: 'Organ',
33
- guitar: 'Guitar',
34
- bass: 'Bass',
35
- strings: 'Strings',
36
- ensemble: 'Ensemble',
37
- brass: 'Brass',
38
- reed: 'Reed',
39
- pipe: 'Pipe',
40
- 'synth-lead': 'Synth Lead',
41
- 'synth-pad': 'Synth Pad',
42
- 'synth-effects': 'Synth Effects',
43
- ethnic: 'Ethnic',
44
- percussive: 'Percussive',
45
- 'sound-effects': 'Sound Effects',
30
+ piano: "Piano",
31
+ "chromatic-percussion": "Chromatic Percussion",
32
+ organ: "Organ",
33
+ guitar: "Guitar",
34
+ bass: "Bass",
35
+ strings: "Strings",
36
+ ensemble: "Ensemble",
37
+ brass: "Brass",
38
+ reed: "Reed",
39
+ pipe: "Pipe",
40
+ "synth-lead": "Synth Lead",
41
+ "synth-pad": "Synth Pad",
42
+ "synth-effects": "Synth Effects",
43
+ ethnic: "Ethnic",
44
+ percussive: "Percussive",
45
+ "sound-effects": "Sound Effects",
46
46
  };
47
47
  /**
48
48
  * The 128 names in program order. Families are NOT stored per row: they are a
@@ -51,149 +51,149 @@ export const GM_FAMILY_LABELS = {
51
51
  */
52
52
  const GM_NAMES = [
53
53
  // 0-7 Piano
54
- 'Acoustic Grand Piano',
55
- 'Bright Acoustic Piano',
56
- 'Electric Grand Piano',
57
- 'Honky-tonk Piano',
58
- 'Electric Piano 1',
59
- 'Electric Piano 2',
60
- 'Harpsichord',
61
- 'Clavinet',
54
+ "Acoustic Grand Piano",
55
+ "Bright Acoustic Piano",
56
+ "Electric Grand Piano",
57
+ "Honky-tonk Piano",
58
+ "Electric Piano 1",
59
+ "Electric Piano 2",
60
+ "Harpsichord",
61
+ "Clavinet",
62
62
  // 8-15 Chromatic Percussion
63
- 'Celesta',
64
- 'Glockenspiel',
65
- 'Music Box',
66
- 'Vibraphone',
67
- 'Marimba',
68
- 'Xylophone',
69
- 'Tubular Bells',
70
- 'Dulcimer',
63
+ "Celesta",
64
+ "Glockenspiel",
65
+ "Music Box",
66
+ "Vibraphone",
67
+ "Marimba",
68
+ "Xylophone",
69
+ "Tubular Bells",
70
+ "Dulcimer",
71
71
  // 16-23 Organ
72
- 'Drawbar Organ',
73
- 'Percussive Organ',
74
- 'Rock Organ',
75
- 'Church Organ',
76
- 'Reed Organ',
77
- 'Accordion',
78
- 'Harmonica',
79
- 'Tango Accordion',
72
+ "Drawbar Organ",
73
+ "Percussive Organ",
74
+ "Rock Organ",
75
+ "Church Organ",
76
+ "Reed Organ",
77
+ "Accordion",
78
+ "Harmonica",
79
+ "Tango Accordion",
80
80
  // 24-31 Guitar
81
- 'Acoustic Guitar (nylon)',
82
- 'Acoustic Guitar (steel)',
83
- 'Electric Guitar (jazz)',
84
- 'Electric Guitar (clean)',
85
- 'Electric Guitar (muted)',
86
- 'Overdriven Guitar',
87
- 'Distortion Guitar',
88
- 'Guitar Harmonics',
81
+ "Acoustic Guitar (nylon)",
82
+ "Acoustic Guitar (steel)",
83
+ "Electric Guitar (jazz)",
84
+ "Electric Guitar (clean)",
85
+ "Electric Guitar (muted)",
86
+ "Overdriven Guitar",
87
+ "Distortion Guitar",
88
+ "Guitar Harmonics",
89
89
  // 32-39 Bass
90
- 'Acoustic Bass',
91
- 'Electric Bass (finger)',
92
- 'Electric Bass (pick)',
93
- 'Fretless Bass',
94
- 'Slap Bass 1',
95
- 'Slap Bass 2',
96
- 'Synth Bass 1',
97
- 'Synth Bass 2',
90
+ "Acoustic Bass",
91
+ "Electric Bass (finger)",
92
+ "Electric Bass (pick)",
93
+ "Fretless Bass",
94
+ "Slap Bass 1",
95
+ "Slap Bass 2",
96
+ "Synth Bass 1",
97
+ "Synth Bass 2",
98
98
  // 40-47 Strings
99
- 'Violin',
100
- 'Viola',
101
- 'Cello',
102
- 'Contrabass',
103
- 'Tremolo Strings',
104
- 'Pizzicato Strings',
105
- 'Orchestral Harp',
106
- 'Timpani',
99
+ "Violin",
100
+ "Viola",
101
+ "Cello",
102
+ "Contrabass",
103
+ "Tremolo Strings",
104
+ "Pizzicato Strings",
105
+ "Orchestral Harp",
106
+ "Timpani",
107
107
  // 48-55 Ensemble
108
- 'String Ensemble 1',
109
- 'String Ensemble 2',
110
- 'Synth Strings 1',
111
- 'Synth Strings 2',
112
- 'Choir Aahs',
113
- 'Voice Oohs',
114
- 'Synth Voice',
115
- 'Orchestra Hit',
108
+ "String Ensemble 1",
109
+ "String Ensemble 2",
110
+ "Synth Strings 1",
111
+ "Synth Strings 2",
112
+ "Choir Aahs",
113
+ "Voice Oohs",
114
+ "Synth Voice",
115
+ "Orchestra Hit",
116
116
  // 56-63 Brass
117
- 'Trumpet',
118
- 'Trombone',
119
- 'Tuba',
120
- 'Muted Trumpet',
121
- 'French Horn',
122
- 'Brass Section',
123
- 'Synth Brass 1',
124
- 'Synth Brass 2',
117
+ "Trumpet",
118
+ "Trombone",
119
+ "Tuba",
120
+ "Muted Trumpet",
121
+ "French Horn",
122
+ "Brass Section",
123
+ "Synth Brass 1",
124
+ "Synth Brass 2",
125
125
  // 64-71 Reed
126
- 'Soprano Sax',
127
- 'Alto Sax',
128
- 'Tenor Sax',
129
- 'Baritone Sax',
130
- 'Oboe',
131
- 'English Horn',
132
- 'Bassoon',
133
- 'Clarinet',
126
+ "Soprano Sax",
127
+ "Alto Sax",
128
+ "Tenor Sax",
129
+ "Baritone Sax",
130
+ "Oboe",
131
+ "English Horn",
132
+ "Bassoon",
133
+ "Clarinet",
134
134
  // 72-79 Pipe
135
- 'Piccolo',
136
- 'Flute',
137
- 'Recorder',
138
- 'Pan Flute',
139
- 'Blown Bottle',
140
- 'Shakuhachi',
141
- 'Whistle',
142
- 'Ocarina',
135
+ "Piccolo",
136
+ "Flute",
137
+ "Recorder",
138
+ "Pan Flute",
139
+ "Blown Bottle",
140
+ "Shakuhachi",
141
+ "Whistle",
142
+ "Ocarina",
143
143
  // 80-87 Synth Lead
144
- 'Lead 1 (square)',
145
- 'Lead 2 (sawtooth)',
146
- 'Lead 3 (calliope)',
147
- 'Lead 4 (chiff)',
148
- 'Lead 5 (charang)',
149
- 'Lead 6 (voice)',
150
- 'Lead 7 (fifths)',
151
- 'Lead 8 (bass + lead)',
144
+ "Lead 1 (square)",
145
+ "Lead 2 (sawtooth)",
146
+ "Lead 3 (calliope)",
147
+ "Lead 4 (chiff)",
148
+ "Lead 5 (charang)",
149
+ "Lead 6 (voice)",
150
+ "Lead 7 (fifths)",
151
+ "Lead 8 (bass + lead)",
152
152
  // 88-95 Synth Pad
153
- 'Pad 1 (new age)',
154
- 'Pad 2 (warm)',
155
- 'Pad 3 (polysynth)',
156
- 'Pad 4 (choir)',
157
- 'Pad 5 (bowed)',
158
- 'Pad 6 (metallic)',
159
- 'Pad 7 (halo)',
160
- 'Pad 8 (sweep)',
153
+ "Pad 1 (new age)",
154
+ "Pad 2 (warm)",
155
+ "Pad 3 (polysynth)",
156
+ "Pad 4 (choir)",
157
+ "Pad 5 (bowed)",
158
+ "Pad 6 (metallic)",
159
+ "Pad 7 (halo)",
160
+ "Pad 8 (sweep)",
161
161
  // 96-103 Synth Effects
162
- 'FX 1 (rain)',
163
- 'FX 2 (soundtrack)',
164
- 'FX 3 (crystal)',
165
- 'FX 4 (atmosphere)',
166
- 'FX 5 (brightness)',
167
- 'FX 6 (goblins)',
168
- 'FX 7 (echoes)',
169
- 'FX 8 (sci-fi)',
162
+ "FX 1 (rain)",
163
+ "FX 2 (soundtrack)",
164
+ "FX 3 (crystal)",
165
+ "FX 4 (atmosphere)",
166
+ "FX 5 (brightness)",
167
+ "FX 6 (goblins)",
168
+ "FX 7 (echoes)",
169
+ "FX 8 (sci-fi)",
170
170
  // 104-111 Ethnic
171
- 'Sitar',
172
- 'Banjo',
173
- 'Shamisen',
174
- 'Koto',
175
- 'Kalimba',
176
- 'Bagpipe',
177
- 'Fiddle',
178
- 'Shanai',
171
+ "Sitar",
172
+ "Banjo",
173
+ "Shamisen",
174
+ "Koto",
175
+ "Kalimba",
176
+ "Bagpipe",
177
+ "Fiddle",
178
+ "Shanai",
179
179
  // 112-119 Percussive
180
- 'Tinkle Bell',
181
- 'Agogo',
182
- 'Steel Drums',
183
- 'Woodblock',
184
- 'Taiko Drum',
185
- 'Melodic Tom',
186
- 'Synth Drum',
187
- 'Reverse Cymbal',
180
+ "Tinkle Bell",
181
+ "Agogo",
182
+ "Steel Drums",
183
+ "Woodblock",
184
+ "Taiko Drum",
185
+ "Melodic Tom",
186
+ "Synth Drum",
187
+ "Reverse Cymbal",
188
188
  // 120-127 Sound Effects
189
- 'Guitar Fret Noise',
190
- 'Breath Noise',
191
- 'Seashore',
192
- 'Bird Tweet',
193
- 'Telephone Ring',
194
- 'Helicopter',
195
- 'Applause',
196
- 'Gunshot',
189
+ "Guitar Fret Noise",
190
+ "Breath Noise",
191
+ "Seashore",
192
+ "Bird Tweet",
193
+ "Telephone Ring",
194
+ "Helicopter",
195
+ "Applause",
196
+ "Gunshot",
197
197
  ];
198
198
  /** The family a program belongs to. Arithmetic, because families are runs of eight. */
199
199
  export function gmFamilyOf(program) {
@@ -212,6 +212,6 @@ export function gmInstrument(program) {
212
212
  }
213
213
  /** The eight programs of one family, in program order — what the picker groups by. */
214
214
  export function gmInstrumentsByFamily(family) {
215
- return GM_INSTRUMENTS.filter(instrument => instrument.family === family);
215
+ return GM_INSTRUMENTS.filter((instrument) => instrument.family === family);
216
216
  }
217
217
  //# sourceMappingURL=gm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gm.js","sourceRoot":"","sources":["../../../src/domain/instruments/gm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gm.js","sourceRoot":"","sources":["../../../src/domain/instruments/gm.ts"],"names":[],"mappings":"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"}