/whysynth-20100922/src/wave_tables.c

# · C · 3434 lines · 3321 code · 42 blank · 71 comment · 5 complexity · db1542e85aae2173ced736992dc7eb2f MD5 · raw file

  1. /* WhySynth DSSI software synthesizer plugin
  2. *
  3. * Copyright (C) 2005-2008, 2010 Sean Bolton.
  4. *
  5. * This program is free software; you can redistribute it and/or
  6. * modify it under the terms of the GNU General Public License as
  7. * published by the Free Software Foundation; either version 2 of
  8. * the License, or (at your option) any later version.
  9. *
  10. * This program is distributed in the hope that it will be
  11. * useful, but WITHOUT ANY WARRANTY; without even the implied
  12. * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  13. * PURPOSE. See the GNU General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU General Public
  16. * License along with this program; if not, write to the Free
  17. * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  18. * Boston, MA 02110-1301 USA.
  19. */
  20. #ifdef Y_BOGUS_MLOCKALL
  21. #include <string.h>
  22. #endif
  23. #include "wave_tables.h"
  24. void
  25. wave_tables_set_count(void)
  26. {
  27. #ifdef Y_BOGUS_MLOCKALL
  28. int i, j;
  29. signed short scratch[4];
  30. for (i = 0; wavetable[i].name; i++) {
  31. /* Mac OS X (as of Tiger, anyway) doesn't have a functioning mlockall(),
  32. * so we read (some of) the data for each wave to make sure it is paged
  33. * into memory, in the hopes of minimizing page faults later. */
  34. j = 0;
  35. while (1) {
  36. struct wave *w = &wavetable[i].wave[j];
  37. memcpy(scratch, w->data, sizeof(scratch));
  38. memcpy(scratch, w->data + 512, sizeof(scratch));
  39. memcpy(scratch, w->data + 1032 - sizeof(scratch), sizeof(scratch));
  40. if (wavetable[i].wave[j].max_key == 256)
  41. break;
  42. j++;
  43. }
  44. }
  45. #else
  46. int i = 0;
  47. while (wavetable[i].name) i++;
  48. #endif
  49. wavetables_count = i;
  50. }
  51. #ifdef Y_PLUGIN
  52. extern signed short yw_sin_1_data[1032];
  53. extern signed short yw_sin_2_data[1032];
  54. extern signed short yw_sin_3_data[1032];
  55. extern signed short yw_sin_4_data[1032];
  56. extern signed short yw_sin_5_data[1032];
  57. extern signed short yw_sin_6_data[1032];
  58. extern signed short yw_sin_7_data[1032];
  59. extern signed short yw_sin_8_data[1032];
  60. extern signed short yw_sin_9_data[1032];
  61. extern signed short yw_lfo_rect13_data[1032];
  62. extern signed short yw_lfo_rect14_data[1032];
  63. extern signed short yw_lfo_rect16_data[1032];
  64. extern signed short yw_lfo_rect24_data[1032];
  65. extern signed short yw_lfo_s_h_1_data[1032];
  66. extern signed short yw_lfo_s_h_2_data[1032];
  67. extern signed short yw_lfo_s_h_3_data[1032];
  68. extern signed short yw_lfo_s_h_4_data[1032];
  69. extern signed short yw_lfo_saw_data[1032];
  70. extern signed short yw_lfo_square_data[1032];
  71. extern signed short yw_lfo_tri_data[1032];
  72. extern signed short yw_ws_cheby_t5_data[1032];
  73. extern signed short k4_10_4_data[1032];
  74. extern signed short k4_10_5_data[1032];
  75. extern signed short k4_10_6_data[1032];
  76. extern signed short k4_11_3_data[1032];
  77. extern signed short k4_11_4_data[1032];
  78. extern signed short k4_11_5_data[1032];
  79. extern signed short k4_11_6_data[1032];
  80. extern signed short k4_12_1_data[1032];
  81. extern signed short k4_12_2_data[1032];
  82. extern signed short k4_12_3_data[1032];
  83. extern signed short k4_12_4_data[1032];
  84. extern signed short k4_12_5_data[1032];
  85. extern signed short k4_12_6_data[1032];
  86. extern signed short k4_13_1_data[1032];
  87. extern signed short k4_13_2_data[1032];
  88. extern signed short k4_13_3_data[1032];
  89. extern signed short k4_13_4_data[1032];
  90. extern signed short k4_13_5_data[1032];
  91. extern signed short k4_13_6_data[1032];
  92. extern signed short k4_14_1_data[1032];
  93. extern signed short k4_14_2_data[1032];
  94. extern signed short k4_14_3_data[1032];
  95. extern signed short k4_14_4_data[1032];
  96. extern signed short k4_14_5_data[1032];
  97. extern signed short k4_14_6_data[1032];
  98. extern signed short k4_15_1_data[1032];
  99. extern signed short k4_15_2_data[1032];
  100. extern signed short k4_15_3_data[1032];
  101. extern signed short k4_15_4_data[1032];
  102. extern signed short k4_15_5_data[1032];
  103. extern signed short k4_15_6_data[1032];
  104. extern signed short k4_16_1_data[1032];
  105. extern signed short k4_16_2_data[1032];
  106. extern signed short k4_16_3_data[1032];
  107. extern signed short k4_16_4_data[1032];
  108. extern signed short k4_16_5_data[1032];
  109. extern signed short k4_16_6_data[1032];
  110. extern signed short k4_17_1_data[1032];
  111. extern signed short k4_17_2_data[1032];
  112. extern signed short k4_17_3_data[1032];
  113. extern signed short k4_17_4_data[1032];
  114. extern signed short k4_17_5_data[1032];
  115. extern signed short k4_17_6_data[1032];
  116. extern signed short k4_18_1_data[1032];
  117. extern signed short k4_18_2_data[1032];
  118. extern signed short k4_18_3_data[1032];
  119. extern signed short k4_18_4_data[1032];
  120. extern signed short k4_18_5_data[1032];
  121. extern signed short k4_18_6_data[1032];
  122. extern signed short k4_19_3_data[1032];
  123. extern signed short k4_19_4_data[1032];
  124. extern signed short k4_19_5_data[1032];
  125. extern signed short k4_19_6_data[1032];
  126. extern signed short k4_20_1_data[1032];
  127. extern signed short k4_20_2_data[1032];
  128. extern signed short k4_20_3_data[1032];
  129. extern signed short k4_20_4_data[1032];
  130. extern signed short k4_20_5_data[1032];
  131. extern signed short k4_20_6_data[1032];
  132. extern signed short k4_21_1_data[1032];
  133. extern signed short k4_21_2_data[1032];
  134. extern signed short k4_21_3_data[1032];
  135. extern signed short k4_21_4_data[1032];
  136. extern signed short k4_21_5_data[1032];
  137. extern signed short k4_21_6_data[1032];
  138. extern signed short k4_22_1_data[1032];
  139. extern signed short k4_22_2_data[1032];
  140. extern signed short k4_22_3_data[1032];
  141. extern signed short k4_22_4_data[1032];
  142. extern signed short k4_22_5_data[1032];
  143. extern signed short k4_22_6_data[1032];
  144. extern signed short k4_23_1_data[1032];
  145. extern signed short k4_23_2_data[1032];
  146. extern signed short k4_23_3_data[1032];
  147. extern signed short k4_23_4_data[1032];
  148. extern signed short k4_23_5_data[1032];
  149. extern signed short k4_23_6_data[1032];
  150. extern signed short k4_24_1_data[1032];
  151. extern signed short k4_24_2_data[1032];
  152. extern signed short k4_24_3_data[1032];
  153. extern signed short k4_24_4_data[1032];
  154. extern signed short k4_24_5_data[1032];
  155. extern signed short k4_24_6_data[1032];
  156. extern signed short k4_25_1_data[1032];
  157. extern signed short k4_25_2_data[1032];
  158. extern signed short k4_25_3_data[1032];
  159. extern signed short k4_25_4_data[1032];
  160. extern signed short k4_25_5_data[1032];
  161. extern signed short k4_25_6_data[1032];
  162. extern signed short k4_26_1_data[1032];
  163. extern signed short k4_26_2_data[1032];
  164. extern signed short k4_26_3_data[1032];
  165. extern signed short k4_26_4_data[1032];
  166. extern signed short k4_26_5_data[1032];
  167. extern signed short k4_26_6_data[1032];
  168. extern signed short k4_27_3_data[1032];
  169. extern signed short k4_28_3_data[1032];
  170. extern signed short k4_28_4_data[1032];
  171. extern signed short k4_28_5_data[1032];
  172. extern signed short k4_28_6_data[1032];
  173. extern signed short k4_29_1_data[1032];
  174. extern signed short k4_29_2_data[1032];
  175. extern signed short k4_29_3_data[1032];
  176. extern signed short k4_29_4_data[1032];
  177. extern signed short k4_29_5_data[1032];
  178. extern signed short k4_29_6_data[1032];
  179. extern signed short k4_30_1_data[1032];
  180. extern signed short k4_30_2_data[1032];
  181. extern signed short k4_30_3_data[1032];
  182. extern signed short k4_30_4_data[1032];
  183. extern signed short k4_30_5_data[1032];
  184. extern signed short k4_30_6_data[1032];
  185. extern signed short k4_31_1_data[1032];
  186. extern signed short k4_31_2_data[1032];
  187. extern signed short k4_31_3_data[1032];
  188. extern signed short k4_31_4_data[1032];
  189. extern signed short k4_31_5_data[1032];
  190. extern signed short k4_31_6_data[1032];
  191. extern signed short k4_32_1_data[1032];
  192. extern signed short k4_32_2_data[1032];
  193. extern signed short k4_32_3_data[1032];
  194. extern signed short k4_32_4_data[1032];
  195. extern signed short k4_32_5_data[1032];
  196. extern signed short k4_32_6_data[1032];
  197. extern signed short k4_33_1_data[1032];
  198. extern signed short k4_33_2_data[1032];
  199. extern signed short k4_33_3_data[1032];
  200. extern signed short k4_33_4_data[1032];
  201. extern signed short k4_33_5_data[1032];
  202. extern signed short k4_33_6_data[1032];
  203. extern signed short k4_34_1_data[1032];
  204. extern signed short k4_34_2_data[1032];
  205. extern signed short k4_34_3_data[1032];
  206. extern signed short k4_34_4_data[1032];
  207. extern signed short k4_34_5_data[1032];
  208. extern signed short k4_34_6_data[1032];
  209. extern signed short k4_35_2_data[1032];
  210. extern signed short k4_35_3_data[1032];
  211. extern signed short k4_35_4_data[1032];
  212. extern signed short k4_35_5_data[1032];
  213. extern signed short k4_35_6_data[1032];
  214. extern signed short k4_36_2_data[1032];
  215. extern signed short k4_36_3_data[1032];
  216. extern signed short k4_36_4_data[1032];
  217. extern signed short k4_36_5_data[1032];
  218. extern signed short k4_36_6_data[1032];
  219. extern signed short k4_37_1_data[1032];
  220. extern signed short k4_37_2_data[1032];
  221. extern signed short k4_37_3_data[1032];
  222. extern signed short k4_37_4_data[1032];
  223. extern signed short k4_37_5_data[1032];
  224. extern signed short k4_37_6_data[1032];
  225. extern signed short k4_38_2_data[1032];
  226. extern signed short k4_38_3_data[1032];
  227. extern signed short k4_38_4_data[1032];
  228. extern signed short k4_38_5_data[1032];
  229. extern signed short k4_38_6_data[1032];
  230. extern signed short k4_39_1_data[1032];
  231. extern signed short k4_39_2_data[1032];
  232. extern signed short k4_39_3_data[1032];
  233. extern signed short k4_39_4_data[1032];
  234. extern signed short k4_39_5_data[1032];
  235. extern signed short k4_39_6_data[1032];
  236. extern signed short k4_40_1_data[1032];
  237. extern signed short k4_40_2_data[1032];
  238. extern signed short k4_40_3_data[1032];
  239. extern signed short k4_40_4_data[1032];
  240. extern signed short k4_40_5_data[1032];
  241. extern signed short k4_40_6_data[1032];
  242. extern signed short k4_41_2_data[1032];
  243. extern signed short k4_41_3_data[1032];
  244. extern signed short k4_41_4_data[1032];
  245. extern signed short k4_41_5_data[1032];
  246. extern signed short k4_41_6_data[1032];
  247. extern signed short k4_42_1_data[1032];
  248. extern signed short k4_42_2_data[1032];
  249. extern signed short k4_42_3_data[1032];
  250. extern signed short k4_42_4_data[1032];
  251. extern signed short k4_42_5_data[1032];
  252. extern signed short k4_42_6_data[1032];
  253. extern signed short k4_43_2_data[1032];
  254. extern signed short k4_43_3_data[1032];
  255. extern signed short k4_43_4_data[1032];
  256. extern signed short k4_43_5_data[1032];
  257. extern signed short k4_43_6_data[1032];
  258. extern signed short k4_44_1_data[1032];
  259. extern signed short k4_44_2_data[1032];
  260. extern signed short k4_44_3_data[1032];
  261. extern signed short k4_44_4_data[1032];
  262. extern signed short k4_44_5_data[1032];
  263. extern signed short k4_44_6_data[1032];
  264. extern signed short k4_45_1_data[1032];
  265. extern signed short k4_45_2_data[1032];
  266. extern signed short k4_45_3_data[1032];
  267. extern signed short k4_45_4_data[1032];
  268. extern signed short k4_45_5_data[1032];
  269. extern signed short k4_45_6_data[1032];
  270. extern signed short k4_46_1_data[1032];
  271. extern signed short k4_46_2_data[1032];
  272. extern signed short k4_46_3_data[1032];
  273. extern signed short k4_46_4_data[1032];
  274. extern signed short k4_46_5_data[1032];
  275. extern signed short k4_46_6_data[1032];
  276. extern signed short k4_47_1_data[1032];
  277. extern signed short k4_47_2_data[1032];
  278. extern signed short k4_47_3_data[1032];
  279. extern signed short k4_47_4_data[1032];
  280. extern signed short k4_47_5_data[1032];
  281. extern signed short k4_47_6_data[1032];
  282. extern signed short k4_48_2_data[1032];
  283. extern signed short k4_48_3_data[1032];
  284. extern signed short k4_48_4_data[1032];
  285. extern signed short k4_48_5_data[1032];
  286. extern signed short k4_48_6_data[1032];
  287. extern signed short k4_49_1_data[1032];
  288. extern signed short k4_49_2_data[1032];
  289. extern signed short k4_49_3_data[1032];
  290. extern signed short k4_49_4_data[1032];
  291. extern signed short k4_49_5_data[1032];
  292. extern signed short k4_49_6_data[1032];
  293. extern signed short k4_50_3_data[1032];
  294. extern signed short k4_50_4_data[1032];
  295. extern signed short k4_50_5_data[1032];
  296. extern signed short k4_50_6_data[1032];
  297. extern signed short k4_51_1_data[1032];
  298. extern signed short k4_51_2_data[1032];
  299. extern signed short k4_51_3_data[1032];
  300. extern signed short k4_51_4_data[1032];
  301. extern signed short k4_51_5_data[1032];
  302. extern signed short k4_51_6_data[1032];
  303. extern signed short k4_52_1_data[1032];
  304. extern signed short k4_52_2_data[1032];
  305. extern signed short k4_52_3_data[1032];
  306. extern signed short k4_52_4_data[1032];
  307. extern signed short k4_52_5_data[1032];
  308. extern signed short k4_52_6_data[1032];
  309. extern signed short k4_53_1_data[1032];
  310. extern signed short k4_53_2_data[1032];
  311. extern signed short k4_53_3_data[1032];
  312. extern signed short k4_53_4_data[1032];
  313. extern signed short k4_53_5_data[1032];
  314. extern signed short k4_53_6_data[1032];
  315. extern signed short k4_54_1_data[1032];
  316. extern signed short k4_54_2_data[1032];
  317. extern signed short k4_54_3_data[1032];
  318. extern signed short k4_54_4_data[1032];
  319. extern signed short k4_54_5_data[1032];
  320. extern signed short k4_54_6_data[1032];
  321. extern signed short k4_55_1_data[1032];
  322. extern signed short k4_55_2_data[1032];
  323. extern signed short k4_55_3_data[1032];
  324. extern signed short k4_55_4_data[1032];
  325. extern signed short k4_55_5_data[1032];
  326. extern signed short k4_55_6_data[1032];
  327. extern signed short k4_56_3_data[1032];
  328. extern signed short k4_56_4_data[1032];
  329. extern signed short k4_56_5_data[1032];
  330. extern signed short k4_56_6_data[1032];
  331. extern signed short k4_57_1_data[1032];
  332. extern signed short k4_57_2_data[1032];
  333. extern signed short k4_57_3_data[1032];
  334. extern signed short k4_57_4_data[1032];
  335. extern signed short k4_57_5_data[1032];
  336. extern signed short k4_57_6_data[1032];
  337. extern signed short k4_58_1_data[1032];
  338. extern signed short k4_58_2_data[1032];
  339. extern signed short k4_58_3_data[1032];
  340. extern signed short k4_58_4_data[1032];
  341. extern signed short k4_58_5_data[1032];
  342. extern signed short k4_58_6_data[1032];
  343. extern signed short k4_59_1_data[1032];
  344. extern signed short k4_59_2_data[1032];
  345. extern signed short k4_59_3_data[1032];
  346. extern signed short k4_59_4_data[1032];
  347. extern signed short k4_59_5_data[1032];
  348. extern signed short k4_59_6_data[1032];
  349. extern signed short k4_60_3_data[1032];
  350. extern signed short k4_60_4_data[1032];
  351. extern signed short k4_60_5_data[1032];
  352. extern signed short k4_60_6_data[1032];
  353. extern signed short k4_61_1_data[1032];
  354. extern signed short k4_61_2_data[1032];
  355. extern signed short k4_61_3_data[1032];
  356. extern signed short k4_61_4_data[1032];
  357. extern signed short k4_61_5_data[1032];
  358. extern signed short k4_61_6_data[1032];
  359. extern signed short k4_62_2_data[1032];
  360. extern signed short k4_62_3_data[1032];
  361. extern signed short k4_62_4_data[1032];
  362. extern signed short k4_62_5_data[1032];
  363. extern signed short k4_62_6_data[1032];
  364. extern signed short k4_63_1_data[1032];
  365. extern signed short k4_63_2_data[1032];
  366. extern signed short k4_63_3_data[1032];
  367. extern signed short k4_63_4_data[1032];
  368. extern signed short k4_63_5_data[1032];
  369. extern signed short k4_63_6_data[1032];
  370. extern signed short k4_64_2_data[1032];
  371. extern signed short k4_64_3_data[1032];
  372. extern signed short k4_64_4_data[1032];
  373. extern signed short k4_64_5_data[1032];
  374. extern signed short k4_64_6_data[1032];
  375. extern signed short k4_65_1_data[1032];
  376. extern signed short k4_65_2_data[1032];
  377. extern signed short k4_65_3_data[1032];
  378. extern signed short k4_65_4_data[1032];
  379. extern signed short k4_65_5_data[1032];
  380. extern signed short k4_65_6_data[1032];
  381. extern signed short k4_66_3_data[1032];
  382. extern signed short k4_66_4_data[1032];
  383. extern signed short k4_66_5_data[1032];
  384. extern signed short k4_66_6_data[1032];
  385. extern signed short k4_67_2_data[1032];
  386. extern signed short k4_67_3_data[1032];
  387. extern signed short k4_67_4_data[1032];
  388. extern signed short k4_67_5_data[1032];
  389. extern signed short k4_67_6_data[1032];
  390. extern signed short k4_68_1_data[1032];
  391. extern signed short k4_68_2_data[1032];
  392. extern signed short k4_68_3_data[1032];
  393. extern signed short k4_68_4_data[1032];
  394. extern signed short k4_68_5_data[1032];
  395. extern signed short k4_68_6_data[1032];
  396. extern signed short k4_69_1_data[1032];
  397. extern signed short k4_69_2_data[1032];
  398. extern signed short k4_69_3_data[1032];
  399. extern signed short k4_69_4_data[1032];
  400. extern signed short k4_69_5_data[1032];
  401. extern signed short k4_69_6_data[1032];
  402. extern signed short k4_70_1_data[1032];
  403. extern signed short k4_70_2_data[1032];
  404. extern signed short k4_70_3_data[1032];
  405. extern signed short k4_70_4_data[1032];
  406. extern signed short k4_70_5_data[1032];
  407. extern signed short k4_70_6_data[1032];
  408. extern signed short k4_71_2_data[1032];
  409. extern signed short k4_71_3_data[1032];
  410. extern signed short k4_71_4_data[1032];
  411. extern signed short k4_71_5_data[1032];
  412. extern signed short k4_71_6_data[1032];
  413. extern signed short k4_72_1_data[1032];
  414. extern signed short k4_72_2_data[1032];
  415. extern signed short k4_72_3_data[1032];
  416. extern signed short k4_72_4_data[1032];
  417. extern signed short k4_72_5_data[1032];
  418. extern signed short k4_72_6_data[1032];
  419. extern signed short k4_73_1_data[1032];
  420. extern signed short k4_73_2_data[1032];
  421. extern signed short k4_73_3_data[1032];
  422. extern signed short k4_73_4_data[1032];
  423. extern signed short k4_73_5_data[1032];
  424. extern signed short k4_73_6_data[1032];
  425. extern signed short k4_74_1_data[1032];
  426. extern signed short k4_74_2_data[1032];
  427. extern signed short k4_74_3_data[1032];
  428. extern signed short k4_74_4_data[1032];
  429. extern signed short k4_74_5_data[1032];
  430. extern signed short k4_74_6_data[1032];
  431. extern signed short k4_75_1_data[1032];
  432. extern signed short k4_75_2_data[1032];
  433. extern signed short k4_75_3_data[1032];
  434. extern signed short k4_75_4_data[1032];
  435. extern signed short k4_75_5_data[1032];
  436. extern signed short k4_75_6_data[1032];
  437. extern signed short k4_76_1_data[1032];
  438. extern signed short k4_76_2_data[1032];
  439. extern signed short k4_76_3_data[1032];
  440. extern signed short k4_76_4_data[1032];
  441. extern signed short k4_76_5_data[1032];
  442. extern signed short k4_76_6_data[1032];
  443. extern signed short k4_77_1_data[1032];
  444. extern signed short k4_77_2_data[1032];
  445. extern signed short k4_77_3_data[1032];
  446. extern signed short k4_77_4_data[1032];
  447. extern signed short k4_77_5_data[1032];
  448. extern signed short k4_77_6_data[1032];
  449. extern signed short k4_78_1_data[1032];
  450. extern signed short k4_78_2_data[1032];
  451. extern signed short k4_78_3_data[1032];
  452. extern signed short k4_78_4_data[1032];
  453. extern signed short k4_78_5_data[1032];
  454. extern signed short k4_78_6_data[1032];
  455. extern signed short k4_79_1_data[1032];
  456. extern signed short k4_79_2_data[1032];
  457. extern signed short k4_79_3_data[1032];
  458. extern signed short k4_79_4_data[1032];
  459. extern signed short k4_79_5_data[1032];
  460. extern signed short k4_79_6_data[1032];
  461. extern signed short k4_80_1_data[1032];
  462. extern signed short k4_80_2_data[1032];
  463. extern signed short k4_80_3_data[1032];
  464. extern signed short k4_80_4_data[1032];
  465. extern signed short k4_80_5_data[1032];
  466. extern signed short k4_80_6_data[1032];
  467. extern signed short k4_81_1_data[1032];
  468. extern signed short k4_81_2_data[1032];
  469. extern signed short k4_81_3_data[1032];
  470. extern signed short k4_81_4_data[1032];
  471. extern signed short k4_81_5_data[1032];
  472. extern signed short k4_81_6_data[1032];
  473. extern signed short k4_82_1_data[1032];
  474. extern signed short k4_82_2_data[1032];
  475. extern signed short k4_82_3_data[1032];
  476. extern signed short k4_82_4_data[1032];
  477. extern signed short k4_82_5_data[1032];
  478. extern signed short k4_82_6_data[1032];
  479. extern signed short k4_83_1_data[1032];
  480. extern signed short k4_83_2_data[1032];
  481. extern signed short k4_83_3_data[1032];
  482. extern signed short k4_83_4_data[1032];
  483. extern signed short k4_83_5_data[1032];
  484. extern signed short k4_83_6_data[1032];
  485. extern signed short k4_84_1_data[1032];
  486. extern signed short k4_84_2_data[1032];
  487. extern signed short k4_84_3_data[1032];
  488. extern signed short k4_84_4_data[1032];
  489. extern signed short k4_84_5_data[1032];
  490. extern signed short k4_84_6_data[1032];
  491. extern signed short k4_85_1_data[1032];
  492. extern signed short k4_85_2_data[1032];
  493. extern signed short k4_85_3_data[1032];
  494. extern signed short k4_85_4_data[1032];
  495. extern signed short k4_85_5_data[1032];
  496. extern signed short k4_85_6_data[1032];
  497. extern signed short k4_86_1_data[1032];
  498. extern signed short k4_86_2_data[1032];
  499. extern signed short k4_86_3_data[1032];
  500. extern signed short k4_86_4_data[1032];
  501. extern signed short k4_86_5_data[1032];
  502. extern signed short k4_86_6_data[1032];
  503. extern signed short k4_87_1_data[1032];
  504. extern signed short k4_87_2_data[1032];
  505. extern signed short k4_87_3_data[1032];
  506. extern signed short k4_87_4_data[1032];
  507. extern signed short k4_87_5_data[1032];
  508. extern signed short k4_87_6_data[1032];
  509. extern signed short k4_88_1_data[1032];
  510. extern signed short k4_88_2_data[1032];
  511. extern signed short k4_88_3_data[1032];
  512. extern signed short k4_88_4_data[1032];
  513. extern signed short k4_88_5_data[1032];
  514. extern signed short k4_88_6_data[1032];
  515. extern signed short k4_89_1_data[1032];
  516. extern signed short k4_89_2_data[1032];
  517. extern signed short k4_89_3_data[1032];
  518. extern signed short k4_89_4_data[1032];
  519. extern signed short k4_89_5_data[1032];
  520. extern signed short k4_89_6_data[1032];
  521. extern signed short k4_90_1_data[1032];
  522. extern signed short k4_90_2_data[1032];
  523. extern signed short k4_90_3_data[1032];
  524. extern signed short k4_90_4_data[1032];
  525. extern signed short k4_90_5_data[1032];
  526. extern signed short k4_90_6_data[1032];
  527. extern signed short k4_91_1_data[1032];
  528. extern signed short k4_91_2_data[1032];
  529. extern signed short k4_91_3_data[1032];
  530. extern signed short k4_91_4_data[1032];
  531. extern signed short k4_91_5_data[1032];
  532. extern signed short k4_91_6_data[1032];
  533. extern signed short k4_92_2_data[1032];
  534. extern signed short k4_92_3_data[1032];
  535. extern signed short k4_92_4_data[1032];
  536. extern signed short k4_92_5_data[1032];
  537. extern signed short k4_92_6_data[1032];
  538. extern signed short k4_93_1_data[1032];
  539. extern signed short k4_93_2_data[1032];
  540. extern signed short k4_93_3_data[1032];
  541. extern signed short k4_93_4_data[1032];
  542. extern signed short k4_93_5_data[1032];
  543. extern signed short k4_94_2_data[1032];
  544. extern signed short k4_94_3_data[1032];
  545. extern signed short k4_94_4_data[1032];
  546. extern signed short k4_94_5_data[1032];
  547. extern signed short k4_94_6_data[1032];
  548. extern signed short k4_95_1_data[1032];
  549. extern signed short k4_95_2_data[1032];
  550. extern signed short k4_95_3_data[1032];
  551. extern signed short k4_95_4_data[1032];
  552. extern signed short k4_95_5_data[1032];
  553. extern signed short k4_95_6_data[1032];
  554. extern signed short k4_96_1_data[1032];
  555. extern signed short k4_96_2_data[1032];
  556. extern signed short k4_96_3_data[1032];
  557. extern signed short k4_96_4_data[1032];
  558. extern signed short k4_96_5_data[1032];
  559. extern signed short k4_96_6_data[1032];
  560. extern signed short sq80_formant_1_2_data[1032];
  561. extern signed short sq80_formant_2_3_data[1032];
  562. extern signed short sq80_formant_3_4_data[1032];
  563. extern signed short sq80_formant_4_5_data[1032];
  564. extern signed short sq80_formant_5_6_data[1032];
  565. extern signed short sq80_formant_6_7_data[1032];
  566. extern signed short sq80_formant_8_9_data[1032];
  567. extern signed short sq80_noise1_16_data[1032];
  568. extern signed short sq80_noise2_16_data[1032];
  569. extern signed short sq80_noise3_16_data[1032];
  570. extern signed short sq80_pulsesynth2_6_data[1032];
  571. extern signed short sq80_pulsesynth3_7_data[1032];
  572. extern signed short sq80_pulsesynth4_8_data[1032];
  573. extern signed short sq80_pulsesynth5_9_data[1032];
  574. extern signed short sq80_02_5_data[1032];
  575. extern signed short sq80_03_7_data[1032];
  576. extern signed short sq80_04_8_data[1032];
  577. extern signed short sq80_05_9_data[1032];
  578. extern signed short sq80_06_a_data[1032];
  579. extern signed short sq80_07_b_data[1032];
  580. extern signed short sq80_08_c_data[1032];
  581. extern signed short sq80_09_7_data[1032];
  582. extern signed short sq80_0a_8_data[1032];
  583. extern signed short sq80_0b_9_data[1032];
  584. extern signed short sq80_0c_a_data[1032];
  585. extern signed short sq80_0d_a_data[1032];
  586. extern signed short sq80_0e_b_data[1032];
  587. extern signed short sq80_0e_c_data[1032];
  588. extern signed short sq80_0f_9_data[1032];
  589. extern signed short sq80_10_a_data[1032];
  590. extern signed short sq80_11_b_data[1032];
  591. extern signed short sq80_11_c_data[1032];
  592. extern signed short sq80_12_9_data[1032];
  593. extern signed short sq80_13_a_data[1032];
  594. extern signed short sq80_14_c_data[1032];
  595. extern signed short sq80_16_e_data[1032];
  596. extern signed short sq80_17_e_data[1032];
  597. extern signed short sq80_18_d_data[1032];
  598. extern signed short sq80_19_d_data[1032];
  599. extern signed short sq80_1a_d_data[1032];
  600. extern signed short sq80_1b_9_data[1032];
  601. extern signed short sq80_1c_b_data[1032];
  602. extern signed short sq80_1d_5_data[1032];
  603. extern signed short sq80_1d_6_data[1032];
  604. extern signed short sq80_1e_7_data[1032];
  605. extern signed short sq80_1f_3_data[1032];
  606. extern signed short sq80_1f_4_data[1032];
  607. extern signed short sq80_1f_5_data[1032];
  608. extern signed short sq80_1f_6_data[1032];
  609. extern signed short sq80_1f_7_data[1032];
  610. extern signed short sq80_1f_8_data[1032];
  611. extern signed short sq80_1f_9_data[1032];
  612. extern signed short sq80_1f_a_data[1032];
  613. extern signed short sq80_1f_b_data[1032];
  614. extern signed short sq80_1f_c_data[1032];
  615. extern signed short sq80_1f_d_data[1032];
  616. extern signed short sq80_21_4_data[1032];
  617. extern signed short sq80_22_5_data[1032];
  618. extern signed short sq80_23_6_data[1032];
  619. extern signed short sq80_24_b_data[1032];
  620. extern signed short sq80_24_c_data[1032];
  621. extern signed short sq80_25_5_data[1032];
  622. extern signed short sq80_26_7_data[1032];
  623. extern signed short sq80_27_7_data[1032];
  624. extern signed short sq80_28_8_data[1032];
  625. extern signed short sq80_29_9_data[1032];
  626. extern signed short sq80_2a_b_data[1032];
  627. extern signed short sq80_2a_c_data[1032];
  628. extern signed short sq80_2b_5_data[1032];
  629. extern signed short sq80_2c_6_data[1032];
  630. extern signed short sq80_2d_7_data[1032];
  631. extern signed short sq80_2e_8_data[1032];
  632. extern signed short sq80_2f_9_data[1032];
  633. extern signed short sq80_30_a_data[1032];
  634. extern signed short sq80_31_a_data[1032];
  635. extern signed short sq80_31_b_data[1032];
  636. extern signed short sq80_32_a_data[1032];
  637. extern signed short sq80_32_b_data[1032];
  638. extern signed short sq80_32_c_data[1032];
  639. extern signed short sq80_33_b_data[1032];
  640. extern signed short sq80_33_c_data[1032];
  641. extern signed short sq80_34_4_data[1032];
  642. extern signed short sq80_35_5_data[1032];
  643. extern signed short sq80_36_6_data[1032];
  644. extern signed short sq80_36_7_data[1032];
  645. extern signed short sq80_37_9_data[1032];
  646. extern signed short sq80_38_b_data[1032];
  647. extern signed short sq80_39_c_data[1032];
  648. extern signed short sq80_3a_6_data[1032];
  649. extern signed short sq80_3b_7_data[1032];
  650. extern signed short sq80_3b_8_data[1032];
  651. extern signed short sq80_3c_8_data[1032];
  652. extern signed short sq80_3c_9_data[1032];
  653. extern signed short sq80_3d_9_data[1032];
  654. extern signed short sq80_3d_a_data[1032];
  655. extern signed short sq80_3e_a_data[1032];
  656. extern signed short sq80_3e_b_data[1032];
  657. extern signed short sq80_3f_8_data[1032];
  658. extern signed short sq80_40_9_data[1032];
  659. extern signed short sq80_40_a_data[1032];
  660. extern signed short sq80_41_b_data[1032];
  661. extern signed short sq80_41_c_data[1032];
  662. extern signed short sq80_42_7_data[1032];
  663. extern signed short sq80_43_8_data[1032];
  664. extern signed short sq80_44_9_data[1032];
  665. extern signed short sq80_45_a_data[1032];
  666. extern signed short sq80_45_b_data[1032];
  667. extern signed short sq80_46_4_data[1032];
  668. extern signed short sq80_47_5_data[1032];
  669. extern signed short sq80_48_6_data[1032];
  670. extern signed short sq80_49_9_data[1032];
  671. extern signed short sq80_4a_b_data[1032];
  672. extern signed short sq80_4b_c_data[1032];
  673. extern signed short sq80_4c_8_data[1032];
  674. extern signed short sq80_4d_9_data[1032];
  675. extern signed short sq80_4e_a_data[1032];
  676. extern signed short sq80_4f_b_data[1032];
  677. extern signed short sq80_50_c_data[1032];
  678. extern signed short sq80_51_d_data[1032];
  679. extern signed short sq80_68_6_data[1032];
  680. extern signed short sq80_68_7_data[1032];
  681. extern signed short sq80_68_8_data[1032];
  682. extern signed short sq80_69_9_data[1032];
  683. extern signed short sq80_69_b_data[1032];
  684. extern signed short sq80_6d_4_data[1032];
  685. extern signed short sq80_6d_5_data[1032];
  686. extern signed short sq80_6e_5_data[1032];
  687. extern signed short sq80_6e_6_data[1032];
  688. extern signed short sq80_6f_6_data[1032];
  689. extern signed short sq80_6f_7_data[1032];
  690. extern signed short sq80_70_7_data[1032];
  691. extern signed short sq80_71_9_data[1032];
  692. extern signed short sq80_72_9_data[1032];
  693. extern signed short sq80_72_a_data[1032];
  694. extern signed short sq80_73_b_data[1032];
  695. extern signed short sq80_74_c_data[1032];
  696. extern signed short sq80_76_7_data[1032];
  697. extern signed short sq80_76x_7_data[1032];
  698. extern signed short sq80_76x_8_data[1032];
  699. extern signed short sq80_76x_9_data[1032];
  700. extern signed short sq80_76x_a_data[1032];
  701. extern signed short sq80_77_b_data[1032];
  702. extern signed short sq80_77_c_data[1032];
  703. extern signed short sq80_78_7_data[1032];
  704. extern signed short sq80_78_9_data[1032];
  705. extern signed short sq80_7b_9_data[1032];
  706. extern signed short sq80_7b_a_data[1032];
  707. extern signed short sq80_7c_b_data[1032];
  708. extern signed short sq80_7c_c_data[1032];
  709. extern signed short sq80_7d_9_data[1032];
  710. extern signed short sq80_7e_a_data[1032];
  711. extern signed short sq80_7f_b_data[1032];
  712. extern signed short sq80_7f_c_data[1032];
  713. extern signed short sq80_80_6_data[1032];
  714. extern signed short sq80_80_7_data[1032];
  715. extern signed short sq80_80_8_data[1032];
  716. extern signed short sq80_81_5_data[1032];
  717. extern signed short sq80_81_6_data[1032];
  718. extern signed short sq80_82_7_data[1032];
  719. extern signed short sq80_82_8_data[1032];
  720. extern signed short sq80_83_9_data[1032];
  721. extern signed short sq80_84_a_data[1032];
  722. extern signed short sq80_84_b_data[1032];
  723. extern signed short sq80_84_c_data[1032];
  724. extern signed short sq80_85_7_data[1032];
  725. extern signed short sq80_85_8_data[1032];
  726. extern signed short sq80_86_9_data[1032];
  727. extern signed short sq80_87_8_data[1032];
  728. extern signed short sq80_88_a_data[1032];
  729. extern signed short sq80_88_b_data[1032];
  730. extern signed short sq80_88_c_data[1032];
  731. extern signed short sq80_89_5_data[1032];
  732. extern signed short sq80_89_6_data[1032];
  733. extern signed short sq80_8a_7_data[1032];
  734. extern signed short sq80_8b_8_data[1032];
  735. extern signed short sq80_8c_a_data[1032];
  736. extern signed short sq80_8c_b_data[1032];
  737. extern signed short tx81z_2_8_data[1032];
  738. extern signed short tx81z_2_9_data[1032];
  739. extern signed short tx81z_2_10_data[1032];
  740. extern signed short tx81z_2_11_data[1032];
  741. extern signed short tx81z_2_12_data[1032];
  742. extern signed short tx81z_3_8_data[1032];
  743. extern signed short tx81z_3_9_data[1032];
  744. extern signed short tx81z_3_10_data[1032];
  745. extern signed short tx81z_3_11_data[1032];
  746. extern signed short tx81z_3_12_data[1032];
  747. extern signed short tx81z_4_8_data[1032];
  748. extern signed short tx81z_4_9_data[1032];
  749. extern signed short tx81z_4_10_data[1032];
  750. extern signed short tx81z_4_11_data[1032];
  751. extern signed short tx81z_4_12_data[1032];
  752. extern signed short tx81z_5_8_data[1032];
  753. extern signed short tx81z_5_9_data[1032];
  754. extern signed short tx81z_5_10_data[1032];
  755. extern signed short tx81z_5_11_data[1032];
  756. extern signed short tx81z_5_12_data[1032];
  757. extern signed short tx81z_6_7_data[1032];
  758. extern signed short tx81z_6_8_data[1032];
  759. extern signed short tx81z_6_9_data[1032];
  760. extern signed short tx81z_6_10_data[1032];
  761. extern signed short tx81z_6_11_data[1032];
  762. extern signed short tx81z_6_12_data[1032];
  763. extern signed short tx81z_7_8_data[1032];
  764. extern signed short tx81z_7_9_data[1032];
  765. extern signed short tx81z_7_10_data[1032];
  766. extern signed short tx81z_7_11_data[1032];
  767. extern signed short tx81z_7_12_data[1032];
  768. extern signed short tx81z_8_7_data[1032];
  769. extern signed short tx81z_8_8_data[1032];
  770. extern signed short tx81z_8_9_data[1032];
  771. extern signed short tx81z_8_10_data[1032];
  772. extern signed short tx81z_8_11_data[1032];
  773. extern signed short tx81z_8_12_data[1032];
  774. extern signed short bristol_jagged_8_data[1032];
  775. extern signed short bristol_jagged_9_data[1032];
  776. extern signed short bristol_jagged_10_data[1032];
  777. extern signed short bristol_jagged_11_data[1032];
  778. extern signed short bristol_jagged_12_data[1032];
  779. #endif /* Y_PLUGIN */
  780. int wavetables_count;
  781. struct wavetable wavetable[] =
  782. {
  783. /* ==== Simple sinus-based waveforms ==== */
  784. { "Sines|Sine 1", /* K4 wave 0 */
  785. #ifdef Y_GUI
  786. 0
  787. #endif
  788. #ifdef Y_PLUGIN
  789. {
  790. { 256, 1, yw_sin_1_data + 4 },
  791. }
  792. #endif
  793. },
  794. { "Sines|Sine 2", /* K4 wave 1 */
  795. #ifdef Y_GUI
  796. 0
  797. #endif
  798. #ifdef Y_PLUGIN
  799. {
  800. { 120, 1, yw_sin_2_data + 4 },
  801. { 256, 1, yw_sin_1_data + 4 },
  802. }
  803. #endif
  804. },
  805. { "Sines|Sine 3", /* K4 wave 2 */
  806. #ifdef Y_GUI
  807. 0
  808. #endif
  809. #ifdef Y_PLUGIN
  810. {
  811. { 117, 1, yw_sin_3_data + 4 },
  812. { 256, 1, yw_sin_1_data + 4 },
  813. }
  814. #endif
  815. },
  816. { "Sines|Sine 4", /* K4 wave 3 */
  817. #ifdef Y_GUI
  818. 0
  819. #endif
  820. #ifdef Y_PLUGIN
  821. {
  822. { 112, 1, yw_sin_4_data + 4 },
  823. { 120, 1, yw_sin_2_data + 4 },
  824. { 256, 1, yw_sin_1_data + 4 },
  825. }
  826. #endif
  827. },
  828. { "Sines|Sine 5", /* K4 wave 4 */
  829. #ifdef Y_GUI
  830. 0
  831. #endif
  832. #ifdef Y_PLUGIN
  833. {
  834. { 108, 1, yw_sin_5_data + 4 },
  835. { 117, 1, yw_sin_3_data + 4 },
  836. { 256, 1, yw_sin_1_data + 4 },
  837. }
  838. #endif
  839. },
  840. { "Sines|Sine 6", /* K4 wave 5 */
  841. #ifdef Y_GUI
  842. 0
  843. #endif
  844. #ifdef Y_PLUGIN
  845. {
  846. { 105, 1, yw_sin_6_data + 4 },
  847. { 120, 1, yw_sin_2_data + 4 },
  848. { 256, 1, yw_sin_1_data + 4 },
  849. }
  850. #endif
  851. },
  852. { "Sines|Sine 7", /* K4 wave 6 */
  853. #ifdef Y_GUI
  854. 0
  855. #endif
  856. #ifdef Y_PLUGIN
  857. {
  858. { 103, 1, yw_sin_7_data + 4 },
  859. { 117, 1, yw_sin_3_data + 4 },
  860. { 256, 1, yw_sin_1_data + 4 },
  861. }
  862. #endif
  863. },
  864. { "Sines|Sine 8", /* K4 wave 7 */
  865. #ifdef Y_GUI
  866. 0
  867. #endif
  868. #ifdef Y_PLUGIN
  869. {
  870. { 100, 1, yw_sin_8_data + 4 },
  871. { 112, 1, yw_sin_4_data + 4 },
  872. { 120, 1, yw_sin_2_data + 4 },
  873. { 256, 1, yw_sin_1_data + 4 },
  874. }
  875. #endif
  876. },
  877. { "Sines|Sine 9", /* K4 wave 8 */
  878. #ifdef Y_GUI
  879. 0
  880. #endif
  881. #ifdef Y_PLUGIN
  882. {
  883. { 98, 1, yw_sin_9_data + 4 },
  884. { 108, 1, yw_sin_5_data + 4 },
  885. { 117, 1, yw_sin_3_data + 4 },
  886. { 256, 1, yw_sin_1_data + 4 },
  887. }
  888. #endif
  889. },
  890. { "Sines|Sine 1+2", /* SQ-80 waveform 30 'octave' */
  891. #ifdef Y_GUI
  892. 1
  893. #endif
  894. #ifdef Y_PLUGIN
  895. {
  896. { 119, 1, sq80_17_e_data + 4 }, /* 'octave' 0-14 */
  897. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  898. }
  899. #endif
  900. },
  901. { "Sines|Sine 1+2+3", /* SQ-80 waveform 31 'oct+5' */
  902. #ifdef Y_GUI
  903. 1
  904. #endif
  905. #ifdef Y_PLUGIN
  906. {
  907. { 111, 1, sq80_1a_d_data + 4 }, /* 'oct+5' 0-13 */
  908. { 119, 1, sq80_17_e_data + 4 }, /* 'oct+5' 14 */
  909. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  910. }
  911. #endif
  912. },
  913. { "Sines|Sine 1+3", /* SQ-80 waveform 33 'triang' */
  914. #ifdef Y_GUI
  915. 1
  916. #endif
  917. #ifdef Y_PLUGIN
  918. {
  919. { 111, 1, sq80_19_d_data + 4 }, /* 'triang' 0-13 */
  920. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  921. }
  922. #endif
  923. },
  924. /* ==== 'Analog' waveforms ==== */
  925. { "Analog|Triangle", /* K4 wave 18 */
  926. #ifdef Y_GUI
  927. 0
  928. #endif
  929. #ifdef Y_PLUGIN
  930. {
  931. { 66, 1, k4_19_3_data + 4 }, /* Triangle */
  932. { 78, 1, k4_19_4_data + 4 }, /* Triangle */
  933. { 90, 1, k4_19_5_data + 4 }, /* Triangle */
  934. { 127, 1, k4_19_6_data + 4 }, /* Triangle */
  935. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  936. }
  937. #endif
  938. },
  939. { "Analog|Saw 0", /* SQ-80 waveform 32 'saw__2' */
  940. #ifdef Y_GUI
  941. 0
  942. #endif
  943. #ifdef Y_PLUGIN
  944. {
  945. { 111, 1, sq80_18_d_data + 4 }, /* 'saw__2' 0-13 */
  946. { 119, 1, sq80_16_e_data + 4 }, /* 'saw__2' 14 */
  947. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  948. }
  949. #endif
  950. },
  951. { "Analog|Saw 1", /* K4 wave 9 */
  952. #ifdef Y_GUI
  953. 0
  954. #endif
  955. #ifdef Y_PLUGIN
  956. {
  957. { 78, 1, k4_10_4_data + 4 }, /* Saw 1 */
  958. { 90, 1, k4_10_5_data + 4 }, /* Saw 1 */
  959. { 127, 1, k4_10_6_data + 4 }, /* Saw 1 */
  960. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  961. }
  962. #endif
  963. },
  964. { "Analog|Saw 2", /* K4 wave 10 */
  965. #ifdef Y_GUI
  966. 0
  967. #endif
  968. #ifdef Y_PLUGIN
  969. {
  970. { 66, 1, k4_11_3_data + 4 }, /* Saw 2 */
  971. { 78, 1, k4_11_4_data + 4 }, /* Saw 2 */
  972. { 90, 1, k4_11_5_data + 4 }, /* Saw 2 */
  973. { 127, 1, k4_11_6_data + 4 }, /* Saw 2 */
  974. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  975. }
  976. #endif
  977. },
  978. { "Analog|Saw 3", /* K4 wave 11 */
  979. #ifdef Y_GUI
  980. 0
  981. #endif
  982. #ifdef Y_PLUGIN
  983. {
  984. { 42, 1, k4_12_1_data + 4 }, /* Saw 3 */
  985. { 54, 1, k4_12_2_data + 4 }, /* Saw 3 */
  986. { 66, 1, k4_12_3_data + 4 }, /* Saw 3 */
  987. { 78, 1, k4_12_4_data + 4 }, /* Saw 3 */
  988. { 90, 1, k4_12_5_data + 4 }, /* Saw 3 */
  989. { 127, 1, k4_12_6_data + 4 }, /* Saw 3 */
  990. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  991. }
  992. #endif
  993. },
  994. { "Analog|Saw 4", /* K4 wave 12 */
  995. #ifdef Y_GUI
  996. 0
  997. #endif
  998. #ifdef Y_PLUGIN
  999. {
  1000. { 42, 1, k4_13_1_data + 4 }, /* Saw 4 */
  1001. { 54, 1, k4_13_2_data + 4 }, /* Saw 4 */
  1002. { 66, 1, k4_13_3_data + 4 }, /* Saw 4 */
  1003. { 78, 1, k4_13_4_data + 4 }, /* Saw 4 */
  1004. { 90, 1, k4_13_5_data + 4 }, /* Saw 4 */
  1005. { 127, 1, k4_13_6_data + 4 }, /* Saw 4 */
  1006. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1007. }
  1008. #endif
  1009. },
  1010. { "Analog|Saw 5", /* K4 wave 13 */
  1011. #ifdef Y_GUI
  1012. 0
  1013. #endif
  1014. #ifdef Y_PLUGIN
  1015. {
  1016. { 42, 1, k4_14_1_data + 4 }, /* Saw 5 */
  1017. { 54, 1, k4_14_2_data + 4 }, /* Saw 5 */
  1018. { 66, 1, k4_14_3_data + 4 }, /* Saw 5 */
  1019. { 78, 1, k4_14_4_data + 4 }, /* Saw 5 */
  1020. { 90, 1, k4_14_5_data + 4 }, /* Saw 5 */
  1021. { 127, 1, k4_14_6_data + 4 }, /* Saw 5 */
  1022. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1023. }
  1024. #endif
  1025. },
  1026. { "Analog|Saw 6", /* K4 wave 14 */
  1027. #ifdef Y_GUI
  1028. 0
  1029. #endif
  1030. #ifdef Y_PLUGIN
  1031. {
  1032. { 42, 1, k4_15_1_data + 4 }, /* Saw 6 */
  1033. { 54, 1, k4_15_2_data + 4 }, /* Saw 6 */
  1034. { 66, 1, k4_15_3_data + 4 }, /* Saw 6 */
  1035. { 78, 1, k4_15_4_data + 4 }, /* Saw 6 */
  1036. { 90, 1, k4_15_5_data + 4 }, /* Saw 6 */
  1037. { 127, 1, k4_15_6_data + 4 }, /* Saw 6 */
  1038. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1039. }
  1040. #endif
  1041. },
  1042. { "Analog|Saw 6.5", /* SQ-80 waveform 0 'saw' */
  1043. /* -FIX- Now that this has the proper key ranges, it's really very close
  1044. * to 'Saw 6'. Replace 'Saw 6' with this when next reorganizing the
  1045. * wavetables. */
  1046. #ifdef Y_GUI
  1047. 0
  1048. #endif
  1049. #ifdef Y_PLUGIN
  1050. {
  1051. { 39, 1, sq80_34_4_data + 4 }, /* 'saw' 0-4 */
  1052. { 47, 1, sq80_35_5_data + 4 }, /* 'saw' 5 */
  1053. { 55, 1, sq80_36_6_data + 4 }, /* 'saw' 6 */
  1054. { 63, 1, sq80_36_7_data + 4 }, /* 'saw' 7 */
  1055. { 79, 1, sq80_37_9_data + 4 }, /* 'saw' 8-9 */
  1056. { 95, 1, sq80_38_b_data + 4 }, /* 'saw' 10-11 */
  1057. { 103, 1, sq80_39_c_data + 4 }, /* 'saw' 12 */
  1058. { 111, 1, sq80_18_d_data + 4 }, /* 'saw' 13 */
  1059. { 119, 1, sq80_16_e_data + 4 }, /* 'saw' 14 */
  1060. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1061. }
  1062. #endif
  1063. },
  1064. { "Analog|Saw 7", /* K4 wave 15 */
  1065. #ifdef Y_GUI
  1066. 0
  1067. #endif
  1068. #ifdef Y_PLUGIN
  1069. {
  1070. { 42, 1, k4_16_1_data + 4 }, /* Saw 7 */
  1071. { 54, 1, k4_16_2_data + 4 }, /* Saw 7 */
  1072. { 66, 1, k4_16_3_data + 4 }, /* Saw 7 */
  1073. { 78, 1, k4_16_4_data + 4 }, /* Saw 7 */
  1074. { 90, 1, k4_16_5_data + 4 }, /* Saw 7 */
  1075. { 127, 1, k4_16_6_data + 4 }, /* Saw 7 */
  1076. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1077. }
  1078. #endif
  1079. },
  1080. { "Analog|Saw 8", /* K4 wave 16 */
  1081. #ifdef Y_GUI
  1082. 0
  1083. #endif
  1084. #ifdef Y_PLUGIN
  1085. {
  1086. { 42, 1, k4_17_1_data + 4 }, /* Saw 8 */
  1087. { 54, 1, k4_17_2_data + 4 }, /* Saw 8 */
  1088. { 66, 1, k4_17_3_data + 4 }, /* Saw 8 */
  1089. { 78, 1, k4_17_4_data + 4 }, /* Saw 8 */
  1090. { 90, 1, k4_17_5_data + 4 }, /* Saw 8 */
  1091. { 127, 1, k4_17_6_data + 4 }, /* Saw 8 */
  1092. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1093. }
  1094. #endif
  1095. },
  1096. { "Analog|Pulse", /* K4 wave 17 */
  1097. #ifdef Y_GUI
  1098. 1
  1099. #endif
  1100. #ifdef Y_PLUGIN
  1101. {
  1102. { 42, 1, k4_18_1_data + 4 }, /* Pulse */
  1103. { 54, 1, k4_18_2_data + 4 }, /* Pulse */
  1104. { 66, 1, k4_18_3_data + 4 }, /* Pulse */
  1105. { 78, 1, k4_18_4_data + 4 }, /* Pulse */
  1106. { 90, 1, k4_18_5_data + 4 }, /* Pulse */
  1107. { 127, 1, k4_18_6_data + 4 }, /* Pulse */
  1108. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1109. }
  1110. #endif
  1111. },
  1112. { "Analog|Square", /* K4 wave 19 */
  1113. #ifdef Y_GUI
  1114. 2
  1115. #endif
  1116. #ifdef Y_PLUGIN
  1117. {
  1118. { 42, 1, k4_20_1_data + 4 }, /* Square */
  1119. { 54, 1, k4_20_2_data + 4 }, /* Square */
  1120. { 66, 1, k4_20_3_data + 4 }, /* Square */
  1121. { 78, 1, k4_20_4_data + 4 }, /* Square */
  1122. { 90, 1, k4_20_5_data + 4 }, /* Square */
  1123. { 127, 1, k4_20_6_data + 4 }, /* Square */
  1124. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1125. }
  1126. #endif
  1127. },
  1128. { "Analog|Square 2", /* SQ-80 waveform 3 'square' */
  1129. #ifdef Y_GUI
  1130. 2
  1131. #endif
  1132. #ifdef Y_PLUGIN
  1133. {
  1134. { 39, 1, sq80_46_4_data + 4 }, /* 'square' 0-4 */
  1135. { 47, 1, sq80_47_5_data + 4 }, /* 'square' 5 */
  1136. { 55, 1, sq80_48_6_data + 4 }, /* 'square' 6-7 */
  1137. { 79, 1, sq80_49_9_data + 4 }, /* 'square' 8-9 */
  1138. { 95, 1, sq80_4a_b_data + 4 }, /* 'square' 10-11 */
  1139. { 103, 1, sq80_4b_c_data + 4 }, /* 'square' 12 */
  1140. { 111, 1, sq80_19_d_data + 4 }, /* 'square' 13 */
  1141. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1142. }
  1143. #endif
  1144. },
  1145. { "Analog|Rectangular 1", /* K4 wave 20 */
  1146. #ifdef Y_GUI
  1147. 3
  1148. #endif
  1149. #ifdef Y_PLUGIN
  1150. {
  1151. { 42, 1, k4_21_1_data + 4 }, /* Rectangular 1 */
  1152. { 54, 1, k4_21_2_data + 4 }, /* Rectangular 1 */
  1153. { 66, 1, k4_21_3_data + 4 }, /* Rectangular 1 */
  1154. { 78, 1, k4_21_4_data + 4 }, /* Rectangular 1 */
  1155. { 90, 1, k4_21_5_data + 4 }, /* Rectangular 1 */
  1156. { 127, 1, k4_21_6_data + 4 }, /* Rectangular 1 */
  1157. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1158. }
  1159. #endif
  1160. },
  1161. { "Analog|Rectangular 2", /* K4 wave 21 */
  1162. #ifdef Y_GUI
  1163. 3
  1164. #endif
  1165. #ifdef Y_PLUGIN
  1166. {
  1167. { 42, 1, k4_22_1_data + 4 }, /* Rectangular 2 */
  1168. { 54, 1, k4_22_2_data + 4 }, /* Rectangular 2 */
  1169. { 66, 1, k4_22_3_data + 4 }, /* Rectangular 2 */
  1170. { 78, 1, k4_22_4_data + 4 }, /* Rectangular 2 */
  1171. { 90, 1, k4_22_5_data + 4 }, /* Rectangular 2 */
  1172. { 127, 1, k4_22_6_data + 4 }, /* Rectangular 2 */
  1173. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1174. }
  1175. #endif
  1176. },
  1177. { "Analog|Rectangular 3", /* K4 wave 22 */
  1178. #ifdef Y_GUI
  1179. 3
  1180. #endif
  1181. #ifdef Y_PLUGIN
  1182. {
  1183. { 42, 1, k4_23_1_data + 4 }, /* Rectangular 3 */
  1184. { 54, 1, k4_23_2_data + 4 }, /* Rectangular 3 */
  1185. { 66, 1, k4_23_3_data + 4 }, /* Rectangular 3 */
  1186. { 78, 1, k4_23_4_data + 4 }, /* Rectangular 3 */
  1187. { 90, 1, k4_23_5_data + 4 }, /* Rectangular 3 */
  1188. { 127, 1, k4_23_6_data + 4 }, /* Rectangular 3 */
  1189. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1190. }
  1191. #endif
  1192. },
  1193. { "Analog|Rectangular 4", /* K4 wave 23 */
  1194. #ifdef Y_GUI
  1195. 3
  1196. #endif
  1197. #ifdef Y_PLUGIN
  1198. {
  1199. { 42, 1, k4_24_1_data + 4 }, /* Rectangular 4 */
  1200. { 54, 1, k4_24_2_data + 4 }, /* Rectangular 4 */
  1201. { 66, 1, k4_24_3_data + 4 }, /* Rectangular 4 */
  1202. { 78, 1, k4_24_4_data + 4 }, /* Rectangular 4 */
  1203. { 90, 1, k4_24_5_data + 4 }, /* Rectangular 4 */
  1204. { 127, 1, k4_24_6_data + 4 }, /* Rectangular 4 */
  1205. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1206. }
  1207. #endif
  1208. },
  1209. { "Analog|Rectangular 5", /* K4 wave 24 */
  1210. #ifdef Y_GUI
  1211. 3
  1212. #endif
  1213. #ifdef Y_PLUGIN
  1214. {
  1215. { 42, 1, k4_25_1_data + 4 }, /* Rectangular 5 */
  1216. { 54, 1, k4_25_2_data + 4 }, /* Rectangular 5 */
  1217. { 66, 1, k4_25_3_data + 4 }, /* Rectangular 5 */
  1218. { 78, 1, k4_25_4_data + 4 }, /* Rectangular 5 */
  1219. { 90, 1, k4_25_5_data + 4 }, /* Rectangular 5 */
  1220. { 127, 1, k4_25_6_data + 4 }, /* Rectangular 5 */
  1221. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1222. }
  1223. #endif
  1224. },
  1225. { "Analog|Rectangular 6", /* K4 wave 25 */
  1226. #ifdef Y_GUI
  1227. 3
  1228. #endif
  1229. #ifdef Y_PLUGIN
  1230. {
  1231. { 42, 1, k4_26_1_data + 4 }, /* Rectangular 6 */
  1232. { 54, 1, k4_26_2_data + 4 }, /* Rectangular 6 */
  1233. { 66, 1, k4_26_3_data + 4 }, /* Rectangular 6 */
  1234. { 78, 1, k4_26_4_data + 4 }, /* Rectangular 6 */
  1235. { 90, 1, k4_26_5_data + 4 }, /* Rectangular 6 */
  1236. { 127, 1, k4_26_6_data + 4 }, /* Rectangular 6 */
  1237. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1238. }
  1239. #endif
  1240. },
  1241. /* ==== Digital/new synth waveforms ==== */
  1242. { "Digital|Synth", /* K4 wave 95 */
  1243. #ifdef Y_GUI
  1244. 0
  1245. #endif
  1246. #ifdef Y_PLUGIN
  1247. {
  1248. { 42, 1, k4_96_1_data + 4 }, /* Synth */
  1249. { 54, 1, k4_96_2_data + 4 }, /* Synth */
  1250. { 66, 1, k4_96_3_data + 4 }, /* Synth */
  1251. { 78, 1, k4_96_4_data + 4 }, /* Synth */
  1252. { 90, 1, k4_96_5_data + 4 }, /* Synth */
  1253. { 127, 1, k4_96_6_data + 4 }, /* Synth */
  1254. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1255. }
  1256. #endif
  1257. },
  1258. { "Digital|Synth 1", /* SQ-80 waveform 16 'synth1' */
  1259. #ifdef Y_GUI
  1260. 0
  1261. #endif
  1262. #ifdef Y_PLUGIN
  1263. {
  1264. { 79, 1, sq80_0f_9_data + 4 }, /* 'synth1' 0-9 */
  1265. { 87, 1, sq80_10_a_data + 4 }, /* 'synth1' 10 */
  1266. { 95, 1, sq80_11_b_data + 4 }, /* 'synth1' 11 */
  1267. { 103, 1, sq80_11_c_data + 4 }, /* 'synth1' 12 */
  1268. { 119, 1, sq80_17_e_data + 4 }, /* 'synth1' 13-14 */
  1269. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1270. }
  1271. #endif
  1272. },
  1273. { "Digital|Synth 2", /* SQ-80 waveform 17 'synth2' */
  1274. #ifdef Y_GUI
  1275. 0
  1276. #endif
  1277. #ifdef Y_PLUGIN
  1278. {
  1279. { 79, 1, sq80_12_9_data + 4 }, /* 'synth2' 0-9 */
  1280. { 87, 1, sq80_13_a_data + 4 }, /* 'synth2' 10 */
  1281. { 103, 1, sq80_14_c_data + 4 }, /* 'synth2' 11-12 */
  1282. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1283. }
  1284. #endif
  1285. },
  1286. { "Digital|Synth 3", /* SQ-80 waveform 18 'synth3' */
  1287. #ifdef Y_GUI
  1288. 0
  1289. #endif
  1290. #ifdef Y_PLUGIN
  1291. {
  1292. { 79, 1, sq80_1b_9_data + 4 }, /* 'synth3' 0-9 */
  1293. { 95, 1, sq80_1c_b_data + 4 }, /* 'synth3' 10-11 */
  1294. { 111, 1, sq80_1a_d_data + 4 }, /* 'synth3' 12-13 */
  1295. { 119, 1, sq80_17_e_data + 4 }, /* 'synth3' 14 */
  1296. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1297. }
  1298. #endif
  1299. },
  1300. { "Digital|Primes", /* SQ-80 waveform 27 'prime' */
  1301. #ifdef Y_GUI
  1302. 0
  1303. #endif
  1304. #ifdef Y_PLUGIN
  1305. {
  1306. { 95, 1, sq80_1c_b_data + 4 }, /* 'prime' 0-11 */
  1307. { 111, 1, sq80_1a_d_data + 4 }, /* 'prime' 12-13 */
  1308. { 119, 1, sq80_17_e_data + 4 }, /* 'prime' 14 */
  1309. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1310. }
  1311. #endif
  1312. },
  1313. { "Digital|Alien", /* SQ-80 waveform 48 'alien' */
  1314. #ifdef Y_GUI
  1315. 0
  1316. #endif
  1317. #ifdef Y_PLUGIN
  1318. {
  1319. { 47, 1, sq80_81_5_data + 4 }, /* 'alien' 0-5 */
  1320. { 55, 1, sq80_81_6_data + 4 }, /* 'alien' 6 */
  1321. { 63, 1, sq80_82_7_data + 4 }, /* 'alien' 7 */
  1322. { 71, 1, sq80_82_8_data + 4 }, /* 'alien' 8 */
  1323. { 79, 1, sq80_83_9_data + 4 }, /* 'alien' 9 */
  1324. { 87, 1, sq80_84_a_data + 4 }, /* 'alien' 10 */
  1325. { 95, 1, sq80_84_b_data + 4 }, /* 'alien' 11 */
  1326. { 103, 1, sq80_84_c_data + 4 }, /* 'alien' 12 */
  1327. { 111, 1, sq80_1a_d_data + 4 }, /* 'alien' 13 */
  1328. { 119, 1, sq80_17_e_data + 4 }, /* 'alien' 14 */
  1329. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1330. }
  1331. #endif
  1332. },
  1333. { "Digital|Digital 1", /* SQ-80 waveform 45 'digit1' */
  1334. #ifdef Y_GUI
  1335. 1
  1336. #endif
  1337. #ifdef Y_PLUGIN
  1338. {
  1339. { 63, 1, sq80_85_7_data + 4 }, /* 'digit1' 0-7 */
  1340. { 71, 1, sq80_85_8_data + 4 }, /* 'digit1' 8 */
  1341. { 86, 1, sq80_86_9_data + 4 }, /* 'digit1' 9+ */
  1342. { 95, 1, sq80_07_b_data + 4 }, /* 'digit1' 11 */
  1343. { 103, 1, sq80_08_c_data + 4 }, /* 'digit1' 12 */
  1344. { 111, 1, sq80_1a_d_data + 4 }, /* 'digit1' 13 */
  1345. { 119, 1, sq80_17_e_data + 4 }, /* 'digit1' 14 */
  1346. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1347. }
  1348. #endif
  1349. },
  1350. { "Digital|PulseSynth",
  1351. /* The first four samples here duplicate //christian's use of the wrong
  1352. * start and length for his 'pulse' extractions. */
  1353. #ifdef Y_GUI
  1354. 2
  1355. #endif
  1356. #ifdef Y_PLUGIN
  1357. {
  1358. { 55, 1, sq80_pulsesynth2_6_data + 4 }, /* 'PulseSynth' 0-6 */
  1359. { 63, 1, sq80_pulsesynth3_7_data + 4 }, /* 'PulseSynth' 7 */
  1360. { 71, 1, sq80_pulsesynth4_8_data + 4 }, /* 'PulseSynth' 8 */
  1361. { 79, 1, sq80_pulsesynth5_9_data + 4 }, /* 'PulseSynth' 9 */
  1362. { 95, 1, sq80_07_b_data + 4 }, /* 'pulse' 11 */
  1363. { 103, 1, sq80_08_c_data + 4 }, /* 'pulse' 12 */
  1364. { 111, 1, sq80_1a_d_data + 4 }, /* 'pulse' 13 */
  1365. { 119, 1, sq80_17_e_data + 4 }, /* 'pulse' 14 */
  1366. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1367. }
  1368. #endif
  1369. },
  1370. /* ==== Brass ==== */
  1371. { "Brass|Pure Horn L", /* K4 wave 26 */
  1372. #ifdef Y_GUI
  1373. 0
  1374. #endif
  1375. #ifdef Y_PLUGIN
  1376. {
  1377. { 127, 1, k4_27_3_data + 4 }, /* Pure Horn L */
  1378. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1379. }
  1380. #endif
  1381. },
  1382. { "Brass|Pure Horn H", /* K4 wave 71 */
  1383. #ifdef Y_GUI
  1384. 0
  1385. #endif
  1386. #ifdef Y_PLUGIN
  1387. {
  1388. { 42, 1, k4_72_1_data + 4 }, /* Pure Horn H */
  1389. { 54, 1, k4_72_2_data + 4 }, /* Pure Horn H */
  1390. { 66, 1, k4_72_3_data + 4 }, /* Pure Horn H */
  1391. { 78, 1, k4_72_4_data + 4 }, /* Pure Horn H */
  1392. { 90, 1, k4_72_5_data + 4 }, /* Pure Horn H */
  1393. { 127, 1, k4_72_6_data + 4 }, /* Pure Horn H */
  1394. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1395. }
  1396. #endif
  1397. },
  1398. { "Brass|Punch Brass", /* K4 wave 27 */
  1399. #ifdef Y_GUI
  1400. 0
  1401. #endif
  1402. #ifdef Y_PLUGIN
  1403. {
  1404. { 66, 1, k4_28_3_data + 4 }, /* Punch Brass 1 */
  1405. { 78, 1, k4_28_4_data + 4 }, /* Punch Brass 1 */
  1406. { 90, 1, k4_28_5_data + 4 }, /* Punch Brass 1 */
  1407. { 127, 1, k4_28_6_data + 4 }, /* Punch Brass 1 */
  1408. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1409. }
  1410. #endif
  1411. },
  1412. { "Brass|Punch Brass 2", /* K4 wave 73 */
  1413. #ifdef Y_GUI
  1414. 0
  1415. #endif
  1416. #ifdef Y_PLUGIN
  1417. {
  1418. { 42, 1, k4_74_1_data + 4 }, /* Punch Brass 2 */
  1419. { 54, 1, k4_74_2_data + 4 }, /* Punch Brass 2 */
  1420. { 66, 1, k4_74_3_data + 4 }, /* Punch Brass 2 */
  1421. { 78, 1, k4_74_4_data + 4 }, /* Punch Brass 2 */
  1422. { 90, 1, k4_74_5_data + 4 }, /* Punch Brass 2 */
  1423. { 127, 1, k4_74_6_data + 4 }, /* Punch Brass 2 */
  1424. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1425. }
  1426. #endif
  1427. },
  1428. { "Brass|Fat Brass", /* K4 wave 72 */
  1429. #ifdef Y_GUI
  1430. 0
  1431. #endif
  1432. #ifdef Y_PLUGIN
  1433. {
  1434. { 42, 1, k4_73_1_data + 4 }, /* Fat Brass */
  1435. { 54, 1, k4_73_2_data + 4 }, /* Fat Brass */
  1436. { 66, 1, k4_73_3_data + 4 }, /* Fat Brass */
  1437. { 78, 1, k4_73_4_data + 4 }, /* Fat Brass */
  1438. { 90, 1, k4_73_5_data + 4 }, /* Fat Brass */
  1439. { 127, 1, k4_73_6_data + 4 }, /* Fat Brass */
  1440. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1441. }
  1442. #endif
  1443. },
  1444. { "Brass|Soft Brass", /* SQ-80 waveform 43 'brass' excerpt */
  1445. /* This is the SQ-80 waveform 43 'brass' with the lowest sample omitted,
  1446. * which matches the 'Soft Brass' patch of the original 20051005 WhySynth
  1447. * release. */
  1448. #ifdef Y_GUI
  1449. 0
  1450. #endif
  1451. #ifdef Y_PLUGIN
  1452. {
  1453. { 79, 1, sq80_7b_9_data + 4 }, /* 'brass' 0-9 */
  1454. { 87, 1, sq80_7b_a_data + 4 }, /* 'brass' 10 */
  1455. { 95, 1, sq80_7c_b_data + 4 }, /* 'brass' 11 */
  1456. { 103, 1, sq80_7c_c_data + 4 }, /* 'brass' 12 */
  1457. { 111, 1, sq80_18_d_data + 4 }, /* 'brass' 13 */
  1458. { 119, 1, sq80_16_e_data + 4 }, /* 'brass' 14 */
  1459. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1460. }
  1461. #endif
  1462. },
  1463. /* ==== Woodwind ==== */
  1464. { "Woodwind|Oboe 1", /* K4 wave 28 */
  1465. #ifdef Y_GUI
  1466. 0
  1467. #endif
  1468. #ifdef Y_PLUGIN
  1469. {
  1470. { 42, 1, k4_29_1_data + 4 }, /* Oboe 1 */
  1471. { 54, 1, k4_29_2_data + 4 }, /* Oboe 1 */
  1472. { 66, 1, k4_29_3_data + 4 }, /* Oboe 1 */
  1473. { 78, 1, k4_29_4_data + 4 }, /* Oboe 1 */
  1474. { 90, 1, k4_29_5_data + 4 }, /* Oboe 1 */
  1475. { 127, 1, k4_29_6_data + 4 }, /* Oboe 1 */
  1476. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1477. }
  1478. #endif
  1479. },
  1480. { "Woodwind|Oboe 2", /* K4 wave 29 */
  1481. #ifdef Y_GUI
  1482. 0
  1483. #endif
  1484. #ifdef Y_PLUGIN
  1485. {
  1486. { 42, 1, k4_30_1_data + 4 }, /* Oboe 2 */
  1487. { 54, 1, k4_30_2_data + 4 }, /* Oboe 2 */
  1488. { 66, 1, k4_30_3_data + 4 }, /* Oboe 2 */
  1489. { 78, 1, k4_30_4_data + 4 }, /* Oboe 2 */
  1490. { 90, 1, k4_30_5_data + 4 }, /* Oboe 2 */
  1491. { 127, 1, k4_30_6_data + 4 }, /* Oboe 2 */
  1492. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1493. }
  1494. #endif
  1495. },
  1496. { "Woodwind|Oboe 3", /* K4 wave 70 */
  1497. #ifdef Y_GUI
  1498. 0
  1499. #endif
  1500. #ifdef Y_PLUGIN
  1501. {
  1502. { 54, 1, k4_71_2_data + 4 }, /* Oboe 3 */
  1503. { 66, 1, k4_71_3_data + 4 }, /* Oboe 3 */
  1504. { 78, 1, k4_71_4_data + 4 }, /* Oboe 3 */
  1505. { 90, 1, k4_71_5_data + 4 }, /* Oboe 3 */
  1506. { 127, 1, k4_71_6_data + 4 }, /* Oboe 3 */
  1507. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1508. }
  1509. #endif
  1510. },
  1511. { "Woodwind|Harmonica", /* K4 wave 94 */
  1512. #ifdef Y_GUI
  1513. 0
  1514. #endif
  1515. #ifdef Y_PLUGIN
  1516. {
  1517. { 42, 1, k4_95_1_data + 4 }, /* Harmonica */
  1518. { 54, 1, k4_95_2_data + 4 }, /* Harmonica */
  1519. { 66, 1, k4_95_3_data + 4 }, /* Harmonica */
  1520. { 78, 1, k4_95_4_data + 4 }, /* Harmonica */
  1521. { 90, 1, k4_95_5_data + 4 }, /* Harmonica */
  1522. { 127, 1, k4_95_6_data + 4 }, /* Harmonica */
  1523. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1524. }
  1525. #endif
  1526. },
  1527. { "Woodwind|Reed", /* SQ-80 waveform 14 'reed' */
  1528. #ifdef Y_GUI
  1529. 0
  1530. #endif
  1531. #ifdef Y_PLUGIN
  1532. {
  1533. { 47, 1, sq80_1d_5_data + 4 }, /* 'reed' 0-5 */
  1534. { 55, 1, sq80_1d_6_data + 4 }, /* 'reed' 6 */
  1535. { 63, 1, sq80_1e_7_data + 4 }, /* 'reed' 7 */
  1536. { 71, 1, sq80_4c_8_data + 4 }, /* 'reed' 8 */
  1537. { 79, 1, sq80_4d_9_data + 4 }, /* 'reed' 9 */
  1538. { 87, 1, sq80_4e_a_data + 4 }, /* 'reed' 10 */
  1539. { 95, 1, sq80_4f_b_data + 4 }, /* 'reed' 11 */
  1540. { 103, 1, sq80_50_c_data + 4 }, /* 'reed' 12 */
  1541. { 111, 1, sq80_51_d_data + 4 }, /* 'reed' 13 */
  1542. { 119, 1, sq80_17_e_data + 4 }, /* 'reed' 14 */
  1543. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1544. }
  1545. #endif
  1546. },
  1547. { "Woodwind|Reed 2", /* SQ-80 waveform 34 'reed_2' */
  1548. #ifdef Y_GUI
  1549. 0
  1550. #endif
  1551. #ifdef Y_PLUGIN
  1552. {
  1553. { 79, 1, sq80_30_a_data + 4 }, /* 'reed_2' 0-9 */
  1554. { 87, 1, sq80_31_a_data + 4 }, /* 'reed_2' 10 */
  1555. { 95, 1, sq80_32_b_data + 4 }, /* 'reed_2' 11 */
  1556. { 103, 1, sq80_33_c_data + 4 }, /* 'reed_2' 12 */
  1557. { 111, 1, sq80_18_d_data + 4 }, /* 'reed_2' 13 */
  1558. { 119, 1, sq80_16_e_data + 4 }, /* 'reed_2' 14 */
  1559. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1560. }
  1561. #endif
  1562. },
  1563. { "Woodwind|Reed 3", /* SQ-80 waveform 35 'reed_3' */
  1564. #ifdef Y_GUI
  1565. 0
  1566. #endif
  1567. #ifdef Y_PLUGIN
  1568. {
  1569. { 87, 1, sq80_8c_a_data + 4 }, /* 'reed_3' 0-10 */
  1570. { 95, 1, sq80_8c_b_data + 4 }, /* 'reed_3' 11 */
  1571. { 103, 1, sq80_08_c_data + 4 }, /* 'reed_3' 12 */
  1572. { 111, 1, sq80_1a_d_data + 4 }, /* 'reed_3' 13 */
  1573. { 119, 1, sq80_17_e_data + 4 }, /* 'reed_3' 14 */
  1574. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1575. }
  1576. #endif
  1577. },
  1578. { "Woodwind|Quena", /* K4 wave 69 */
  1579. #ifdef Y_GUI
  1580. 0
  1581. #endif
  1582. #ifdef Y_PLUGIN
  1583. {
  1584. { 42, 1, k4_70_1_data + 4 }, /* Quena */
  1585. { 54, 1, k4_70_2_data + 4 }, /* Quena */
  1586. { 66, 1, k4_70_3_data + 4 }, /* Quena */
  1587. { 78, 1, k4_70_4_data + 4 }, /* Quena */
  1588. { 90, 1, k4_70_5_data + 4 }, /* Quena */
  1589. { 127, 1, k4_70_6_data + 4 }, /* Quena */
  1590. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1591. }
  1592. #endif
  1593. },
  1594. /* ==== Piano/Keyboard ==== */
  1595. { "Keyboard|Grand Piano", /* K4 wave 30 */
  1596. #ifdef Y_GUI
  1597. 0
  1598. #endif
  1599. #ifdef Y_PLUGIN
  1600. {
  1601. { 42, 1, k4_31_1_data + 4 }, /* Classic Grand */
  1602. { 54, 1, k4_31_2_data + 4 }, /* Classic Grand */
  1603. { 66, 1, k4_31_3_data + 4 }, /* Classic Grand */
  1604. { 78, 1, k4_31_4_data + 4 }, /* Classic Grand */
  1605. { 90, 1, k4_31_5_data + 4 }, /* Classic Grand */
  1606. { 127, 1, k4_31_6_data + 4 }, /* Classic Grand */
  1607. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1608. }
  1609. #endif
  1610. },
  1611. { "Keyboard|Piano Hi", /* SQ-80 waveform 9 'piano' excerpt */
  1612. /* This is the SQ-80 'piano' wavetable without the lowest three
  1613. * waves, which were four cycles long, and were left out of the
  1614. * first WhySynth release. See 'Piano Full' for more information. */
  1615. #ifdef Y_GUI
  1616. 0
  1617. #endif
  1618. #ifdef Y_PLUGIN
  1619. {
  1620. { 63, 1, sq80_42_7_data + 4 }, /* 'piano' 0-7 */
  1621. { 71, 1, sq80_43_8_data + 4 }, /* 'piano' 8 */
  1622. { 79, 1, sq80_44_9_data + 4 }, /* 'piano' 9 */
  1623. { 87, 1, sq80_45_a_data + 4 }, /* 'piano' 10 */
  1624. { 95, 1, sq80_45_b_data + 4 }, /* 'piano' 11 */
  1625. { 111, 1, sq80_18_d_data + 4 }, /* 'piano' 12-13 */
  1626. { 119, 1, sq80_16_e_data + 4 }, /* 'piano' 14 */
  1627. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1628. }
  1629. #endif
  1630. },
  1631. { "Keyboard|E.Piano 1", /* K4 wave 31 */
  1632. #ifdef Y_GUI
  1633. 1
  1634. #endif
  1635. #ifdef Y_PLUGIN
  1636. {
  1637. { 42, 1, k4_32_1_data + 4 }, /* EP 1 */
  1638. { 54, 1, k4_32_2_data + 4 }, /* EP 1 */
  1639. { 66, 1, k4_32_3_data + 4 }, /* EP 1 */
  1640. { 78, 1, k4_32_4_data + 4 }, /* EP 1 */
  1641. { 90, 1, k4_32_5_data + 4 }, /* EP 1 */
  1642. { 127, 1, k4_32_6_data + 4 }, /* EP 1 */
  1643. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1644. }
  1645. #endif
  1646. },
  1647. { "Keyboard|E.Piano 2", /* K4 wave 32 */
  1648. #ifdef Y_GUI
  1649. 1
  1650. #endif
  1651. #ifdef Y_PLUGIN
  1652. {
  1653. { 42, 1, k4_33_1_data + 4 }, /* EP 2 */
  1654. { 54, 1, k4_33_2_data + 4 }, /* EP 2 */
  1655. { 66, 1, k4_33_3_data + 4 }, /* EP 2 */
  1656. { 78, 1, k4_33_4_data + 4 }, /* EP 2 */
  1657. { 90, 1, k4_33_5_data + 4 }, /* EP 2 */
  1658. { 127, 1, k4_33_6_data + 4 }, /* EP 2 */
  1659. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1660. }
  1661. #endif
  1662. },
  1663. { "Keyboard|E.Piano 3", /* K4 wave 33 */
  1664. #ifdef Y_GUI
  1665. 1
  1666. #endif
  1667. #ifdef Y_PLUGIN
  1668. {
  1669. { 42, 1, k4_34_1_data + 4 }, /* EP 3 */
  1670. { 54, 1, k4_34_2_data + 4 }, /* EP 3 */
  1671. { 66, 1, k4_34_3_data + 4 }, /* EP 3 */
  1672. { 78, 1, k4_34_4_data + 4 }, /* EP 3 */
  1673. { 90, 1, k4_34_5_data + 4 }, /* EP 3 */
  1674. { 127, 1, k4_34_6_data + 4 }, /* EP 3 */
  1675. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1676. }
  1677. #endif
  1678. },
  1679. { "Keyboard|E.Piano 4", /* K4 wave 56 */
  1680. #ifdef Y_GUI
  1681. 1
  1682. #endif
  1683. #ifdef Y_PLUGIN
  1684. {
  1685. { 42, 1, k4_57_1_data + 4 }, /* EP 4 */
  1686. { 54, 1, k4_57_2_data + 4 }, /* EP 4 */
  1687. { 66, 1, k4_57_3_data + 4 }, /* EP 4 */
  1688. { 78, 1, k4_57_4_data + 4 }, /* EP 4 */
  1689. { 90, 1, k4_57_5_data + 4 }, /* EP 4 */
  1690. { 127, 1, k4_57_6_data + 4 }, /* EP 4 */
  1691. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1692. }
  1693. #endif
  1694. },
  1695. { "Keyboard|E.Piano 5", /* K4 wave 58 */
  1696. #ifdef Y_GUI
  1697. 1
  1698. #endif
  1699. #ifdef Y_PLUGIN
  1700. {
  1701. { 42, 1, k4_59_1_data + 4 }, /* EP 5 */
  1702. { 54, 1, k4_59_2_data + 4 }, /* EP 5 */
  1703. { 66, 1, k4_59_3_data + 4 }, /* EP 5 */
  1704. { 78, 1, k4_59_4_data + 4 }, /* EP 5 */
  1705. { 90, 1, k4_59_5_data + 4 }, /* EP 5 */
  1706. { 127, 1, k4_59_6_data + 4 }, /* EP 5 */
  1707. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1708. }
  1709. #endif
  1710. },
  1711. { "Keyboard|E.Piano 6", /* K4 wave 65 */
  1712. #ifdef Y_GUI
  1713. 1
  1714. #endif
  1715. #ifdef Y_PLUGIN
  1716. {
  1717. { 66, 1, k4_66_3_data + 4 }, /* EP 6 */
  1718. { 78, 1, k4_66_4_data + 4 }, /* EP 6 */
  1719. { 90, 1, k4_66_5_data + 4 }, /* EP 6 */
  1720. { 127, 1, k4_66_6_data + 4 }, /* EP 6 */
  1721. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1722. }
  1723. #endif
  1724. },
  1725. { "Keyboard|E.Piano 7", /* K4 wave 74 */
  1726. #ifdef Y_GUI
  1727. 1
  1728. #endif
  1729. #ifdef Y_PLUGIN
  1730. {
  1731. { 42, 1, k4_75_1_data + 4 }, /* EP 7 */
  1732. { 54, 1, k4_75_2_data + 4 }, /* EP 7 */
  1733. { 66, 1, k4_75_3_data + 4 }, /* EP 7 */
  1734. { 78, 1, k4_75_4_data + 4 }, /* EP 7 */
  1735. { 90, 1, k4_75_5_data + 4 }, /* EP 7 */
  1736. { 127, 1, k4_75_6_data + 4 }, /* EP 7 */
  1737. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1738. }
  1739. #endif
  1740. },
  1741. { "Keyboard|E.Piano 8", /* K4 wave 75 */
  1742. #ifdef Y_GUI
  1743. 1
  1744. #endif
  1745. #ifdef Y_PLUGIN
  1746. {
  1747. { 42, 1, k4_76_1_data + 4 }, /* EP 8 */
  1748. { 54, 1, k4_76_2_data + 4 }, /* EP 8 */
  1749. { 66, 1, k4_76_3_data + 4 }, /* EP 8 */
  1750. { 78, 1, k4_76_4_data + 4 }, /* EP 8 */
  1751. { 90, 1, k4_76_5_data + 4 }, /* EP 8 */
  1752. { 127, 1, k4_76_6_data + 4 }, /* EP 8 */
  1753. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1754. }
  1755. #endif
  1756. },
  1757. { "Keyboard|E.Piano 9", /* SQ-80 waveform 10 'el_pno' */
  1758. #ifdef Y_GUI
  1759. 1
  1760. #endif
  1761. #ifdef Y_PLUGIN
  1762. {
  1763. { 71, 1, sq80_3f_8_data + 4 }, /* 'el_pno' 0-8 */
  1764. { 79, 1, sq80_40_9_data + 4 }, /* 'el_pno' 9 */
  1765. { 87, 1, sq80_40_a_data + 4 }, /* 'el_pno' 10 */
  1766. { 95, 1, sq80_41_b_data + 4 }, /* 'el_pno' 11 */
  1767. { 103, 1, sq80_41_c_data + 4 }, /* 'el_pno' 12 */
  1768. { 111, 1, sq80_18_d_data + 4 }, /* 'el_pno' 13 */
  1769. { 119, 1, sq80_16_e_data + 4 }, /* 'el_pno' 14 */
  1770. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1771. }
  1772. #endif
  1773. },
  1774. { "Keyboard|Clav", /* SQ-80 waveform 42 'clav' */
  1775. #ifdef Y_GUI
  1776. 2
  1777. #endif
  1778. #ifdef Y_PLUGIN
  1779. {
  1780. { 47, 1, sq80_89_5_data + 4 }, /* 'clav' 0-5 */
  1781. { 55, 1, sq80_89_6_data + 4 }, /* 'clav' 6 */
  1782. { 63, 1, sq80_8a_7_data + 4 }, /* 'clav' 7 */
  1783. { 77, 1, sq80_8b_8_data + 4 }, /* 'clav' 8+ */
  1784. { 87, 1, sq80_8c_a_data + 4 }, /* 'clav' 10 */
  1785. { 95, 1, sq80_8c_b_data + 4 }, /* 'clav' 11 */
  1786. { 103, 1, sq80_08_c_data + 4 }, /* 'clav' 12 */
  1787. { 111, 1, sq80_1a_d_data + 4 }, /* 'clav' 13 */
  1788. { 119, 1, sq80_17_e_data + 4 }, /* 'clav' 14 */
  1789. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1790. }
  1791. #endif
  1792. },
  1793. { "Keyboard|Syn Clavi 1", /* K4 wave 57 */
  1794. #ifdef Y_GUI
  1795. 2
  1796. #endif
  1797. #ifdef Y_PLUGIN
  1798. {
  1799. { 42, 1, k4_58_1_data + 4 }, /* Syn Clavi 1 */
  1800. { 54, 1, k4_58_2_data + 4 }, /* Syn Clavi 1 */
  1801. { 66, 1, k4_58_3_data + 4 }, /* Syn Clavi 1 */
  1802. { 78, 1, k4_58_4_data + 4 }, /* Syn Clavi 1 */
  1803. { 90, 1, k4_58_5_data + 4 }, /* Syn Clavi 1 */
  1804. { 127, 1, k4_58_6_data + 4 }, /* Syn Clavi 1 */
  1805. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1806. }
  1807. #endif
  1808. },
  1809. { "Keyboard|Syn Clavi 2", /* K4 wave 76 */
  1810. #ifdef Y_GUI
  1811. 2
  1812. #endif
  1813. #ifdef Y_PLUGIN
  1814. {
  1815. { 42, 1, k4_77_1_data + 4 }, /* Syn Clavi 2 */
  1816. { 54, 1, k4_77_2_data + 4 }, /* Syn Clavi 2 */
  1817. { 66, 1, k4_77_3_data + 4 }, /* Syn Clavi 2 */
  1818. { 78, 1, k4_77_4_data + 4 }, /* Syn Clavi 2 */
  1819. { 90, 1, k4_77_5_data + 4 }, /* Syn Clavi 2 */
  1820. { 127, 1, k4_77_6_data + 4 }, /* Syn Clavi 2 */
  1821. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1822. }
  1823. #endif
  1824. },
  1825. { "Keyboard|Harpsichord L", /* K4 wave 78 */
  1826. #ifdef Y_GUI
  1827. 2
  1828. #endif
  1829. #ifdef Y_PLUGIN
  1830. {
  1831. { 42, 1, k4_79_1_data + 4 }, /* Harpsichord L */
  1832. { 54, 1, k4_79_2_data + 4 }, /* Harpsichord L */
  1833. { 66, 1, k4_79_3_data + 4 }, /* Harpsichord L */
  1834. { 78, 1, k4_79_4_data + 4 }, /* Harpsichord L */
  1835. { 90, 1, k4_79_5_data + 4 }, /* Harpsichord L */
  1836. { 127, 1, k4_79_6_data + 4 }, /* Harpsichord L */
  1837. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1838. }
  1839. #endif
  1840. },
  1841. { "Keyboard|Harpsichord M", /* K4 wave 77 */
  1842. #ifdef Y_GUI
  1843. 2
  1844. #endif
  1845. #ifdef Y_PLUGIN
  1846. {
  1847. { 42, 1, k4_78_1_data + 4 }, /* Harpsichord M */
  1848. { 54, 1, k4_78_2_data + 4 }, /* Harpsichord M */
  1849. { 66, 1, k4_78_3_data + 4 }, /* Harpsichord M */
  1850. { 78, 1, k4_78_4_data + 4 }, /* Harpsichord M */
  1851. { 90, 1, k4_78_5_data + 4 }, /* Harpsichord M */
  1852. { 127, 1, k4_78_6_data + 4 }, /* Harpsichord M */
  1853. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1854. }
  1855. #endif
  1856. },
  1857. { "Keyboard|Harpsichord H", /* K4 wave 79 */
  1858. #ifdef Y_GUI
  1859. 2
  1860. #endif
  1861. #ifdef Y_PLUGIN
  1862. {
  1863. { 42, 1, k4_80_1_data + 4 }, /* Harpsichord H */
  1864. { 54, 1, k4_80_2_data + 4 }, /* Harpsichord H */
  1865. { 66, 1, k4_80_3_data + 4 }, /* Harpsichord H */
  1866. { 78, 1, k4_80_4_data + 4 }, /* Harpsichord H */
  1867. { 90, 1, k4_80_5_data + 4 }, /* Harpsichord H */
  1868. { 127, 1, k4_80_6_data + 4 }, /* Harpsichord H */
  1869. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1870. }
  1871. #endif
  1872. },
  1873. { "Keyboard|Marimba", /* K4 wave 51 */
  1874. #ifdef Y_GUI
  1875. 2
  1876. #endif
  1877. #ifdef Y_PLUGIN
  1878. {
  1879. { 42, 1, k4_52_1_data + 4 }, /* Marimba */
  1880. { 54, 1, k4_52_2_data + 4 }, /* Marimba */
  1881. { 66, 1, k4_52_3_data + 4 }, /* Marimba */
  1882. { 78, 1, k4_52_4_data + 4 }, /* Marimba */
  1883. { 90, 1, k4_52_5_data + 4 }, /* Marimba */
  1884. { 127, 1, k4_52_6_data + 4 }, /* Marimba */
  1885. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1886. }
  1887. #endif
  1888. },
  1889. { "Keyboard|Marimba Attack", /* K4 wave 93 */
  1890. #ifdef Y_GUI
  1891. 2
  1892. #endif
  1893. #ifdef Y_PLUGIN
  1894. {
  1895. { 54, 1, k4_94_2_data + 4 }, /* Marimba Attack */
  1896. { 66, 1, k4_94_3_data + 4 }, /* Marimba Attack */
  1897. { 78, 1, k4_94_4_data + 4 }, /* Marimba Attack */
  1898. { 90, 1, k4_94_5_data + 4 }, /* Marimba Attack */
  1899. { 127, 1, k4_94_6_data + 4 }, /* Marimba Attack */
  1900. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1901. }
  1902. #endif
  1903. },
  1904. { "Keyboard|Xylophone", /* K4 wave 55 */
  1905. #ifdef Y_GUI
  1906. 2
  1907. #endif
  1908. #ifdef Y_PLUGIN
  1909. {
  1910. { 66, 1, k4_56_3_data + 4 }, /* Xylophone */
  1911. { 78, 1, k4_56_4_data + 4 }, /* Xylophone */
  1912. { 90, 1, k4_56_5_data + 4 }, /* Xylophone */
  1913. { 127, 1, k4_56_6_data + 4 }, /* Xylophone */
  1914. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1915. }
  1916. #endif
  1917. },
  1918. { "Keyboard|Vibraphone Attack", /* K4 wave 87 */
  1919. #ifdef Y_GUI
  1920. 2
  1921. #endif
  1922. #ifdef Y_PLUGIN
  1923. {
  1924. { 42, 1, k4_88_1_data + 4 }, /* Vibraphone Attack */
  1925. { 54, 1, k4_88_2_data + 4 }, /* Vibraphone Attack */
  1926. { 66, 1, k4_88_3_data + 4 }, /* Vibraphone Attack */
  1927. { 78, 1, k4_88_4_data + 4 }, /* Vibraphone Attack */
  1928. { 90, 1, k4_88_5_data + 4 }, /* Vibraphone Attack */
  1929. { 127, 1, k4_88_6_data + 4 }, /* Vibraphone Attack */
  1930. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1931. }
  1932. #endif
  1933. },
  1934. { "Keyboard|Vibraphone 1", /* K4 wave 88 */
  1935. #ifdef Y_GUI
  1936. 2
  1937. #endif
  1938. #ifdef Y_PLUGIN
  1939. {
  1940. { 42, 1, k4_89_1_data + 4 }, /* Vibraphone 1 */
  1941. { 54, 1, k4_89_2_data + 4 }, /* Vibraphone 1 */
  1942. { 66, 1, k4_89_3_data + 4 }, /* Vibraphone 1 */
  1943. { 78, 1, k4_89_4_data + 4 }, /* Vibraphone 1 */
  1944. { 90, 1, k4_89_5_data + 4 }, /* Vibraphone 1 */
  1945. { 127, 1, k4_89_6_data + 4 }, /* Vibraphone 1 */
  1946. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1947. }
  1948. #endif
  1949. },
  1950. { "Keyboard|Vibraphone 2", /* K4 wave 92 */
  1951. #ifdef Y_GUI
  1952. 2
  1953. #endif
  1954. #ifdef Y_PLUGIN
  1955. {
  1956. { 42, 1, k4_93_1_data + 4 }, /* Vibraphone 2 */
  1957. { 54, 1, k4_93_2_data + 4 }, /* Vibraphone 2 */
  1958. { 66, 1, k4_93_3_data + 4 }, /* Vibraphone 2 */
  1959. { 78, 1, k4_93_4_data + 4 }, /* Vibraphone 2 */
  1960. { 90, 1, k4_93_5_data + 4 }, /* Vibraphone 2 */ /* -FIX- drops several octaves suddenly */
  1961. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1962. }
  1963. #endif
  1964. },
  1965. { "Keyboard|Horn Vibe", /* K4 wave 89 */
  1966. #ifdef Y_GUI
  1967. 2
  1968. #endif
  1969. #ifdef Y_PLUGIN
  1970. {
  1971. { 42, 1, k4_90_1_data + 4 }, /* Horn Vibe */
  1972. { 54, 1, k4_90_2_data + 4 }, /* Horn Vibe */
  1973. { 66, 1, k4_90_3_data + 4 }, /* Horn Vibe */
  1974. { 78, 1, k4_90_4_data + 4 }, /* Horn Vibe */
  1975. { 90, 1, k4_90_5_data + 4 }, /* Horn Vibe */
  1976. { 127, 1, k4_90_6_data + 4 }, /* Horn Vibe */
  1977. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1978. }
  1979. #endif
  1980. },
  1981. { "Keyboard|Bell", /* SQ-80 waveform 1 'bell' */
  1982. #ifdef Y_GUI
  1983. 2
  1984. #endif
  1985. #ifdef Y_PLUGIN
  1986. {
  1987. { 63, 1, sq80_09_7_data + 4 }, /* 'bell' 0-7 */
  1988. { 71, 1, sq80_0a_8_data + 4 }, /* 'bell' 8 */
  1989. { 79, 1, sq80_0b_9_data + 4 }, /* 'bell' 9 */
  1990. { 87, 1, sq80_0c_a_data + 4 }, /* 'bell' 10 */
  1991. { 95, 1, sq80_24_b_data + 4 }, /* 'bell' 11 */
  1992. { 103, 1, sq80_24_c_data + 4 }, /* 'bell' 12 */
  1993. { 111, 1, sq80_18_d_data + 4 }, /* 'bell' 13 */
  1994. { 119, 1, sq80_16_e_data + 4 }, /* 'bell' 14 */
  1995. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  1996. }
  1997. #endif
  1998. },
  1999. { "Keyboard|Bell 2", /* SQ-80 waveform 47 'bell_2' */
  2000. #ifdef Y_GUI
  2001. 2
  2002. #endif
  2003. #ifdef Y_PLUGIN
  2004. {
  2005. { 63, 1, sq80_78_7_data + 4 }, /* 'bell_2' 0-7 */
  2006. { 79, 1, sq80_78_9_data + 4 }, /* 'bell_2' 8-9 */
  2007. { 95, 1, sq80_77_b_data + 4 }, /* 'bell_2' 10-11 */
  2008. { 103, 1, sq80_77_c_data + 4 }, /* 'bell_2' 12 */
  2009. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2010. }
  2011. #endif
  2012. },
  2013. { "Keyboard|Steel Drum 1", /* K4 wave 90 */
  2014. #ifdef Y_GUI
  2015. 2
  2016. #endif
  2017. #ifdef Y_PLUGIN
  2018. {
  2019. { 42, 1, k4_91_1_data + 4 }, /* Steel Drum 1 */
  2020. { 54, 1, k4_91_2_data + 4 }, /* Steel Drum 1 */
  2021. { 66, 1, k4_91_3_data + 4 }, /* Steel Drum 1 */
  2022. { 78, 1, k4_91_4_data + 4 }, /* Steel Drum 1 */
  2023. { 90, 1, k4_91_5_data + 4 }, /* Steel Drum 1 */
  2024. { 127, 1, k4_91_6_data + 4 }, /* Steel Drum 1 */
  2025. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2026. }
  2027. #endif
  2028. },
  2029. { "Keyboard|Steel Drum 2", /* K4 wave 91 */
  2030. #ifdef Y_GUI
  2031. 2
  2032. #endif
  2033. #ifdef Y_PLUGIN
  2034. {
  2035. { 54, 1, k4_92_2_data + 4 }, /* Steel Drum 2 */
  2036. { 66, 1, k4_92_3_data + 4 }, /* Steel Drum 2 */
  2037. { 78, 1, k4_92_4_data + 4 }, /* Steel Drum 2 */
  2038. { 90, 1, k4_92_5_data + 4 }, /* Steel Drum 2 */
  2039. { 127, 1, k4_92_6_data + 4 }, /* Steel Drum 2 */
  2040. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2041. }
  2042. #endif
  2043. },
  2044. /* ==== Organ ==== */
  2045. { "Organ|E.Organ", /* SQ-80 waveform 15 'organ' */
  2046. #ifdef Y_GUI
  2047. 0
  2048. #endif
  2049. #ifdef Y_PLUGIN
  2050. {
  2051. { 87, 1, sq80_0d_a_data + 4 }, /* 'organ' 0-10 */
  2052. { 95, 1, sq80_0e_b_data + 4 }, /* 'organ' 11 */
  2053. { 103, 1, sq80_0e_c_data + 4 }, /* 'organ' 12 */
  2054. { 119, 1, sq80_17_e_data + 4 }, /* 'organ' 13-14 */
  2055. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2056. }
  2057. #endif
  2058. },
  2059. { "Organ|E.Organ 1", /* K4 wave 34 */
  2060. #ifdef Y_GUI
  2061. 0
  2062. #endif
  2063. #ifdef Y_PLUGIN
  2064. {
  2065. { 54, 1, k4_35_2_data + 4 }, /* E.Organ 1 */
  2066. { 66, 1, k4_35_3_data + 4 }, /* E.Organ 1 */
  2067. { 78, 1, k4_35_4_data + 4 }, /* E.Organ 1 */
  2068. { 90, 1, k4_35_5_data + 4 }, /* E.Organ 1 */
  2069. { 127, 1, k4_35_6_data + 4 }, /* E.Organ 1 */
  2070. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2071. }
  2072. #endif
  2073. },
  2074. { "Organ|E.Organ 2", /* K4 wave 35 */
  2075. #ifdef Y_GUI
  2076. 0
  2077. #endif
  2078. #ifdef Y_PLUGIN
  2079. {
  2080. { 54, 1, k4_36_2_data + 4 }, /* E.Organ 2 */
  2081. { 66, 1, k4_36_3_data + 4 }, /* E.Organ 2 */
  2082. { 78, 1, k4_36_4_data + 4 }, /* E.Organ 2 */
  2083. { 90, 1, k4_36_5_data + 4 }, /* E.Organ 2 */
  2084. { 127, 1, k4_36_6_data + 4 }, /* E.Organ 2 */
  2085. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2086. }
  2087. #endif
  2088. },
  2089. { "Organ|E.Organ 3", /* K4 wave 37 */
  2090. #ifdef Y_GUI
  2091. 0
  2092. #endif
  2093. #ifdef Y_PLUGIN
  2094. {
  2095. { 54, 1, k4_38_2_data + 4 }, /* E.Organ 3 */
  2096. { 66, 1, k4_38_3_data + 4 }, /* E.Organ 3 */
  2097. { 78, 1, k4_38_4_data + 4 }, /* E.Organ 3 */
  2098. { 90, 1, k4_38_5_data + 4 }, /* E.Organ 3 */
  2099. { 127, 1, k4_38_6_data + 4 }, /* E.Organ 3 */
  2100. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2101. }
  2102. #endif
  2103. },
  2104. { "Organ|E.Organ 4", /* K4 wave 38 */
  2105. #ifdef Y_GUI
  2106. 0
  2107. #endif
  2108. #ifdef Y_PLUGIN
  2109. {
  2110. { 42, 1, k4_39_1_data + 4 }, /* E.Organ 4 */
  2111. { 54, 1, k4_39_2_data + 4 }, /* E.Organ 4 */
  2112. { 66, 1, k4_39_3_data + 4 }, /* E.Organ 4 */
  2113. { 78, 1, k4_39_4_data + 4 }, /* E.Organ 4 */
  2114. { 90, 1, k4_39_5_data + 4 }, /* E.Organ 4 */
  2115. { 127, 1, k4_39_6_data + 4 }, /* E.Organ 4 */
  2116. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2117. }
  2118. #endif
  2119. },
  2120. { "Organ|E.Organ 5", /* K4 wave 39 */
  2121. #ifdef Y_GUI
  2122. 0
  2123. #endif
  2124. #ifdef Y_PLUGIN
  2125. {
  2126. { 42, 1, k4_40_1_data + 4 }, /* E.Organ 5 */
  2127. { 54, 1, k4_40_2_data + 4 }, /* E.Organ 5 */
  2128. { 66, 1, k4_40_3_data + 4 }, /* E.Organ 5 */
  2129. { 78, 1, k4_40_4_data + 4 }, /* E.Organ 5 */
  2130. { 90, 1, k4_40_5_data + 4 }, /* E.Organ 5 */
  2131. { 127, 1, k4_40_6_data + 4 }, /* E.Organ 5 */
  2132. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2133. }
  2134. #endif
  2135. },
  2136. { "Organ|E.Organ 6", /* K4 wave 40 */
  2137. #ifdef Y_GUI
  2138. 0
  2139. #endif
  2140. #ifdef Y_PLUGIN
  2141. {
  2142. { 54, 1, k4_41_2_data + 4 }, /* E.Organ 6 */
  2143. { 66, 1, k4_41_3_data + 4 }, /* E.Organ 6 */
  2144. { 78, 1, k4_41_4_data + 4 }, /* E.Organ 6 */
  2145. { 90, 1, k4_41_5_data + 4 }, /* E.Organ 6 */
  2146. { 127, 1, k4_41_6_data + 4 }, /* E.Organ 6 */
  2147. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2148. }
  2149. #endif
  2150. },
  2151. { "Organ|E.Organ 7", /* K4 wave 41 */
  2152. #ifdef Y_GUI
  2153. 0
  2154. #endif
  2155. #ifdef Y_PLUGIN
  2156. {
  2157. { 42, 1, k4_42_1_data + 4 }, /* E.Organ 7 */
  2158. { 54, 1, k4_42_2_data + 4 }, /* E.Organ 7 */
  2159. { 66, 1, k4_42_3_data + 4 }, /* E.Organ 7 */
  2160. { 78, 1, k4_42_4_data + 4 }, /* E.Organ 7 */
  2161. { 90, 1, k4_42_5_data + 4 }, /* E.Organ 7 */
  2162. { 127, 1, k4_42_6_data + 4 }, /* E.Organ 7 */
  2163. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2164. }
  2165. #endif
  2166. },
  2167. { "Organ|E.Organ 8", /* K4 wave 42 */
  2168. #ifdef Y_GUI
  2169. 0
  2170. #endif
  2171. #ifdef Y_PLUGIN
  2172. {
  2173. { 54, 1, k4_43_2_data + 4 }, /* E.Organ 8 */
  2174. { 66, 1, k4_43_3_data + 4 }, /* E.Organ 8 */
  2175. { 78, 1, k4_43_4_data + 4 }, /* E.Organ 8 */
  2176. { 90, 1, k4_43_5_data + 4 }, /* E.Organ 8 */
  2177. { 127, 1, k4_43_6_data + 4 }, /* E.Organ 8 */
  2178. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2179. }
  2180. #endif
  2181. },
  2182. { "Organ|E.Organ 9", /* K4 wave 43 */
  2183. #ifdef Y_GUI
  2184. 0
  2185. #endif
  2186. #ifdef Y_PLUGIN
  2187. {
  2188. { 42, 1, k4_44_1_data + 4 }, /* E.Organ 9 */
  2189. { 54, 1, k4_44_2_data + 4 }, /* E.Organ 9 */
  2190. { 66, 1, k4_44_3_data + 4 }, /* E.Organ 9 */
  2191. { 78, 1, k4_44_4_data + 4 }, /* E.Organ 9 */
  2192. { 90, 1, k4_44_5_data + 4 }, /* E.Organ 9 */
  2193. { 127, 1, k4_44_6_data + 4 }, /* E.Organ 9 */
  2194. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2195. }
  2196. #endif
  2197. },
  2198. { "Organ|E.Organ 10", /* K4 wave 59 */
  2199. #ifdef Y_GUI
  2200. 0
  2201. #endif
  2202. #ifdef Y_PLUGIN
  2203. {
  2204. { 66, 1, k4_60_3_data + 4 }, /* E.Organ 10 */
  2205. { 78, 1, k4_60_4_data + 4 }, /* E.Organ 10 */
  2206. { 90, 1, k4_60_5_data + 4 }, /* E.Organ 10 */
  2207. { 127, 1, k4_60_6_data + 4 }, /* E.Organ 10 */
  2208. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2209. }
  2210. #endif
  2211. },
  2212. { "Organ|E.Organ 11", /* K4 wave 60 */
  2213. #ifdef Y_GUI
  2214. 0
  2215. #endif
  2216. #ifdef Y_PLUGIN
  2217. {
  2218. { 42, 1, k4_61_1_data + 4 }, /* E.Organ 11 */
  2219. { 54, 1, k4_61_2_data + 4 }, /* E.Organ 11 */
  2220. { 66, 1, k4_61_3_data + 4 }, /* E.Organ 11 */
  2221. { 78, 1, k4_61_4_data + 4 }, /* E.Organ 11 */
  2222. { 90, 1, k4_61_5_data + 4 }, /* E.Organ 11 */
  2223. { 127, 1, k4_61_6_data + 4 }, /* E.Organ 11 */
  2224. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2225. }
  2226. #endif
  2227. },
  2228. { "Organ|E.Organ 12", /* K4 wave 61 */
  2229. #ifdef Y_GUI
  2230. 0
  2231. #endif
  2232. #ifdef Y_PLUGIN
  2233. {
  2234. { 54, 1, k4_62_2_data + 4 }, /* E.Organ 12 */
  2235. { 66, 1, k4_62_3_data + 4 }, /* E.Organ 12 */
  2236. { 78, 1, k4_62_4_data + 4 }, /* E.Organ 12 */
  2237. { 90, 1, k4_62_5_data + 4 }, /* E.Organ 12 */
  2238. { 127, 1, k4_62_6_data + 4 }, /* E.Organ 12 */
  2239. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2240. }
  2241. #endif
  2242. },
  2243. { "Organ|Positif", /* K4 wave 36 */
  2244. #ifdef Y_GUI
  2245. 0
  2246. #endif
  2247. #ifdef Y_PLUGIN
  2248. {
  2249. { 42, 1, k4_37_1_data + 4 }, /* Positif */
  2250. { 54, 1, k4_37_2_data + 4 }, /* Positif */
  2251. { 66, 1, k4_37_3_data + 4 }, /* Positif */
  2252. { 78, 1, k4_37_4_data + 4 }, /* Positif */
  2253. { 90, 1, k4_37_5_data + 4 }, /* Positif */
  2254. { 127, 1, k4_37_6_data + 4 }, /* Positif */
  2255. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2256. }
  2257. #endif
  2258. },
  2259. { "Organ|Big Pipe", /* K4 wave 62 */
  2260. #ifdef Y_GUI
  2261. 0
  2262. #endif
  2263. #ifdef Y_PLUGIN
  2264. {
  2265. { 42, 1, k4_63_1_data + 4 }, /* Big Pipe */
  2266. { 54, 1, k4_63_2_data + 4 }, /* Big Pipe */
  2267. { 66, 1, k4_63_3_data + 4 }, /* Big Pipe */
  2268. { 78, 1, k4_63_4_data + 4 }, /* Big Pipe */
  2269. { 90, 1, k4_63_5_data + 4 }, /* Big Pipe */
  2270. { 127, 1, k4_63_6_data + 4 }, /* Big Pipe */
  2271. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2272. }
  2273. #endif
  2274. },
  2275. /* ==== Strings ==== */
  2276. { "Strings|String", /* SQ-80 waveform 44 'string' */
  2277. #ifdef Y_GUI
  2278. 0
  2279. #endif
  2280. #ifdef Y_PLUGIN
  2281. {
  2282. { 55, 1, sq80_80_6_data + 4 }, /* 'string' 0-6 */
  2283. { 63, 1, sq80_80_7_data + 4 }, /* 'string' 7 */
  2284. { 71, 1, sq80_80_8_data + 4 }, /* 'string' 8 */
  2285. { 79, 1, sq80_7d_9_data + 4 }, /* 'string' 9 */
  2286. { 87, 1, sq80_7e_a_data + 4 }, /* 'string' 10 */
  2287. { 95, 1, sq80_7f_b_data + 4 }, /* 'string' 11 */
  2288. { 103, 1, sq80_7f_c_data + 4 }, /* 'string' 12 */
  2289. { 111, 1, sq80_1a_d_data + 4 }, /* 'string' 13 */
  2290. { 119, 1, sq80_17_e_data + 4 }, /* 'string' 14 */
  2291. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2292. }
  2293. #endif
  2294. },
  2295. { "Strings|Cello", /* K4 wave 54 */
  2296. #ifdef Y_GUI
  2297. 0
  2298. #endif
  2299. #ifdef Y_PLUGIN
  2300. {
  2301. { 42, 1, k4_55_1_data + 4 }, /* Cello */
  2302. { 54, 1, k4_55_2_data + 4 }, /* Cello */
  2303. { 66, 1, k4_55_3_data + 4 }, /* Cello */
  2304. { 78, 1, k4_55_4_data + 4 }, /* Cello */
  2305. { 90, 1, k4_55_5_data + 4 }, /* Cello */
  2306. { 127, 1, k4_55_6_data + 4 }, /* Cello */
  2307. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2308. }
  2309. #endif
  2310. },
  2311. /* ==== Guitar ==== */
  2312. { "Guitar|Classic Guitar", /* K4 wave 44 */
  2313. #ifdef Y_GUI
  2314. 0
  2315. #endif
  2316. #ifdef Y_PLUGIN
  2317. {
  2318. { 42, 1, k4_45_1_data + 4 }, /* Classic Guitar */
  2319. { 54, 1, k4_45_2_data + 4 }, /* Classic Guitar */
  2320. { 66, 1, k4_45_3_data + 4 }, /* Classic Guitar */
  2321. { 78, 1, k4_45_4_data + 4 }, /* Classic Guitar */
  2322. { 90, 1, k4_45_5_data + 4 }, /* Classic Guitar */
  2323. { 127, 1, k4_45_6_data + 4 }, /* Classic Guitar */
  2324. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2325. }
  2326. #endif
  2327. },
  2328. { "Guitar|Steel Strings", /* K4 wave 45 */
  2329. #ifdef Y_GUI
  2330. 0
  2331. #endif
  2332. #ifdef Y_PLUGIN
  2333. {
  2334. { 42, 1, k4_46_1_data + 4 }, /* Steel Strings */
  2335. { 54, 1, k4_46_2_data + 4 }, /* Steel Strings */
  2336. { 66, 1, k4_46_3_data + 4 }, /* Steel Strings */
  2337. { 78, 1, k4_46_4_data + 4 }, /* Steel Strings */
  2338. { 90, 1, k4_46_5_data + 4 }, /* Steel Strings */
  2339. { 127, 1, k4_46_6_data + 4 }, /* Steel Strings */
  2340. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2341. }
  2342. #endif
  2343. },
  2344. { "Guitar|Harp", /* K4 wave 46 */
  2345. #ifdef Y_GUI
  2346. 0
  2347. #endif
  2348. #ifdef Y_PLUGIN
  2349. {
  2350. { 42, 1, k4_47_1_data + 4 }, /* Harp */
  2351. { 54, 1, k4_47_2_data + 4 }, /* Harp */
  2352. { 66, 1, k4_47_3_data + 4 }, /* Harp */
  2353. { 78, 1, k4_47_4_data + 4 }, /* Harp */
  2354. { 90, 1, k4_47_5_data + 4 }, /* Harp */
  2355. { 127, 1, k4_47_6_data + 4 }, /* Harp */
  2356. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2357. }
  2358. #endif
  2359. },
  2360. { "Guitar|Glass Harp", /* K4 wave 53 */
  2361. #ifdef Y_GUI
  2362. 0
  2363. #endif
  2364. #ifdef Y_PLUGIN
  2365. {
  2366. { 42, 1, k4_54_1_data + 4 }, /* Glass Harp */
  2367. { 54, 1, k4_54_2_data + 4 }, /* Glass Harp */
  2368. { 66, 1, k4_54_3_data + 4 }, /* Glass Harp */
  2369. { 78, 1, k4_54_4_data + 4 }, /* Glass Harp */
  2370. { 90, 1, k4_54_5_data + 4 }, /* Glass Harp */
  2371. { 127, 1, k4_54_6_data + 4 }, /* Glass Harp */
  2372. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2373. }
  2374. #endif
  2375. },
  2376. { "Guitar|Glass Harp 2", /* K4 wave 63 */
  2377. #ifdef Y_GUI
  2378. 0
  2379. #endif
  2380. #ifdef Y_PLUGIN
  2381. {
  2382. { 54, 1, k4_64_2_data + 4 }, /* Glass Harp 2 */
  2383. { 66, 1, k4_64_3_data + 4 }, /* Glass Harp 2 */
  2384. { 78, 1, k4_64_4_data + 4 }, /* Glass Harp 2 */
  2385. { 90, 1, k4_64_5_data + 4 }, /* Glass Harp 2 */
  2386. { 127, 1, k4_64_6_data + 4 }, /* Glass Harp 2 */
  2387. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2388. }
  2389. #endif
  2390. },
  2391. { "Guitar|Koto", /* K4 wave 81 */
  2392. #ifdef Y_GUI
  2393. 0
  2394. #endif
  2395. #ifdef Y_PLUGIN
  2396. {
  2397. { 42, 1, k4_82_1_data + 4 }, /* Koto */
  2398. { 54, 1, k4_82_2_data + 4 }, /* Koto */
  2399. { 66, 1, k4_82_3_data + 4 }, /* Koto */
  2400. { 78, 1, k4_82_4_data + 4 }, /* Koto */
  2401. { 90, 1, k4_82_5_data + 4 }, /* Koto */
  2402. { 127, 1, k4_82_6_data + 4 }, /* Koto */
  2403. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2404. }
  2405. #endif
  2406. },
  2407. { "Guitar|Sitar L", /* K4 wave 82 */
  2408. #ifdef Y_GUI
  2409. 0
  2410. #endif
  2411. #ifdef Y_PLUGIN
  2412. {
  2413. { 42, 1, k4_83_1_data + 4 }, /* Sitar L */
  2414. { 54, 1, k4_83_2_data + 4 }, /* Sitar L */
  2415. { 66, 1, k4_83_3_data + 4 }, /* Sitar L */
  2416. { 78, 1, k4_83_4_data + 4 }, /* Sitar L */
  2417. { 90, 1, k4_83_5_data + 4 }, /* Sitar L */
  2418. { 127, 1, k4_83_6_data + 4 }, /* Sitar L */
  2419. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2420. }
  2421. #endif
  2422. },
  2423. { "Guitar|Sitar H", /* K4 wave 83 */
  2424. #ifdef Y_GUI
  2425. 0
  2426. #endif
  2427. #ifdef Y_PLUGIN
  2428. {
  2429. { 42, 1, k4_84_1_data + 4 }, /* Sitar H */
  2430. { 54, 1, k4_84_2_data + 4 }, /* Sitar H */
  2431. { 66, 1, k4_84_3_data + 4 }, /* Sitar H */
  2432. { 78, 1, k4_84_4_data + 4 }, /* Sitar H */
  2433. { 90, 1, k4_84_5_data + 4 }, /* Sitar H */
  2434. { 127, 1, k4_84_6_data + 4 }, /* Sitar H */
  2435. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2436. }
  2437. #endif
  2438. },
  2439. /* ==== Bass ==== */
  2440. { "Bass|E.Bass", /* SQ-80 waveform 8 'bass' */
  2441. #ifdef Y_GUI
  2442. 0
  2443. #endif
  2444. #ifdef Y_PLUGIN
  2445. {
  2446. { 63, 1, sq80_27_7_data + 4 }, /* 'bass' 0-7 */
  2447. { 71, 1, sq80_28_8_data + 4 }, /* 'bass' 8 */
  2448. { 85, 1, sq80_29_9_data + 4 }, /* 'bass' 9+ */
  2449. { 95, 1, sq80_2a_b_data + 4 }, /* 'bass' 11 */
  2450. { 103, 1, sq80_2a_c_data + 4 }, /* 'bass' 12 */
  2451. { 111, 1, sq80_18_d_data + 4 }, /* 'bass' 13 */
  2452. { 119, 1, sq80_16_e_data + 4 }, /* 'bass' 14 */
  2453. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2454. }
  2455. #endif
  2456. },
  2457. { "Bass|Wood Bass", /* K4 wave 47 */
  2458. #ifdef Y_GUI
  2459. 1
  2460. #endif
  2461. #ifdef Y_PLUGIN
  2462. {
  2463. { 54, 1, k4_48_2_data + 4 }, /* Wood Bass */
  2464. { 66, 1, k4_48_3_data + 4 }, /* Wood Bass */
  2465. { 78, 1, k4_48_4_data + 4 }, /* Wood Bass */
  2466. { 90, 1, k4_48_5_data + 4 }, /* Wood Bass */
  2467. { 127, 1, k4_48_6_data + 4 }, /* Wood Bass */
  2468. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2469. }
  2470. #endif
  2471. },
  2472. { "Bass|Digi Bass", /* K4 wave 49 */
  2473. #ifdef Y_GUI
  2474. 1
  2475. #endif
  2476. #ifdef Y_PLUGIN
  2477. {
  2478. { 66, 1, k4_50_3_data + 4 }, /* Digi Bass */
  2479. { 78, 1, k4_50_4_data + 4 }, /* Digi Bass */
  2480. { 90, 1, k4_50_5_data + 4 }, /* Digi Bass */
  2481. { 127, 1, k4_50_6_data + 4 }, /* Digi Bass */
  2482. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2483. }
  2484. #endif
  2485. },
  2486. { "Bass|Finger Bass", /* K4 wave 50 */
  2487. #ifdef Y_GUI
  2488. 1
  2489. #endif
  2490. #ifdef Y_PLUGIN
  2491. {
  2492. { 42, 1, k4_51_1_data + 4 }, /* Finger Bass */
  2493. { 54, 1, k4_51_2_data + 4 }, /* Finger Bass */
  2494. { 66, 1, k4_51_3_data + 4 }, /* Finger Bass */
  2495. { 78, 1, k4_51_4_data + 4 }, /* Finger Bass */
  2496. { 90, 1, k4_51_5_data + 4 }, /* Finger Bass */
  2497. { 127, 1, k4_51_6_data + 4 }, /* Finger Bass */
  2498. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2499. }
  2500. #endif
  2501. },
  2502. { "Bass|Pick Bass", /* K4 wave 84 */
  2503. #ifdef Y_GUI
  2504. 1
  2505. #endif
  2506. #ifdef Y_PLUGIN
  2507. {
  2508. { 42, 1, k4_85_1_data + 4 }, /* Pick Bass */
  2509. { 54, 1, k4_85_2_data + 4 }, /* Pick Bass */
  2510. { 66, 1, k4_85_3_data + 4 }, /* Pick Bass */
  2511. { 78, 1, k4_85_4_data + 4 }, /* Pick Bass */
  2512. { 90, 1, k4_85_5_data + 4 }, /* Pick Bass */
  2513. { 127, 1, k4_85_6_data + 4 }, /* Pick Bass */
  2514. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2515. }
  2516. #endif
  2517. },
  2518. { "Bass|Syn Bass 1", /* K4 wave 67 */
  2519. #ifdef Y_GUI
  2520. 1
  2521. #endif
  2522. #ifdef Y_PLUGIN
  2523. {
  2524. { 42, 1, k4_68_1_data + 4 }, /* Syn Bass 1 */
  2525. { 54, 1, k4_68_2_data + 4 }, /* Syn Bass 1 */
  2526. { 66, 1, k4_68_3_data + 4 }, /* Syn Bass 1 */
  2527. { 78, 1, k4_68_4_data + 4 }, /* Syn Bass 1 */
  2528. { 90, 1, k4_68_5_data + 4 }, /* Syn Bass 1 */
  2529. { 127, 1, k4_68_6_data + 4 }, /* Syn Bass 1 */
  2530. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2531. }
  2532. #endif
  2533. },
  2534. { "Bass|Syn Bass 2", /* K4 wave 68 */
  2535. #ifdef Y_GUI
  2536. 1
  2537. #endif
  2538. #ifdef Y_PLUGIN
  2539. {
  2540. { 42, 1, k4_69_1_data + 4 }, /* Syn Bass 2 */
  2541. { 54, 1, k4_69_2_data + 4 }, /* Syn Bass 2 */
  2542. { 66, 1, k4_69_3_data + 4 }, /* Syn Bass 2 */
  2543. { 78, 1, k4_69_4_data + 4 }, /* Syn Bass 2 */
  2544. { 90, 1, k4_69_5_data + 4 }, /* Syn Bass 2 */
  2545. { 127, 1, k4_69_6_data + 4 }, /* Syn Bass 2 */
  2546. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2547. }
  2548. #endif
  2549. },
  2550. { "Bass|Syn Bass 3", /* K4 wave 48 */
  2551. #ifdef Y_GUI
  2552. 1
  2553. #endif
  2554. #ifdef Y_PLUGIN
  2555. {
  2556. { 42, 1, k4_49_1_data + 4 }, /* Syn Bass 3 */
  2557. { 54, 1, k4_49_2_data + 4 }, /* Syn Bass 3 */
  2558. { 66, 1, k4_49_3_data + 4 }, /* Syn Bass 3 */
  2559. { 78, 1, k4_49_4_data + 4 }, /* Syn Bass 3 */
  2560. { 90, 1, k4_49_5_data + 4 }, /* Syn Bass 3 */
  2561. { 127, 1, k4_49_6_data + 4 }, /* Syn Bass 3 */
  2562. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2563. }
  2564. #endif
  2565. },
  2566. { "Bass|Syn Bass 4", /* K4 wave 66 */
  2567. #ifdef Y_GUI
  2568. 1
  2569. #endif
  2570. #ifdef Y_PLUGIN
  2571. {
  2572. { 54, 1, k4_67_2_data + 4 }, /* Syn Bass 4 */
  2573. { 66, 1, k4_67_3_data + 4 }, /* Syn Bass 4 */
  2574. { 78, 1, k4_67_4_data + 4 }, /* Syn Bass 4 */
  2575. { 90, 1, k4_67_5_data + 4 }, /* Syn Bass 4 */
  2576. { 127, 1, k4_67_6_data + 4 }, /* Syn Bass 4 */
  2577. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2578. }
  2579. #endif
  2580. },
  2581. { "Bass|Syn Bass 5", /* K4 wave 85 */
  2582. #ifdef Y_GUI
  2583. 1
  2584. #endif
  2585. #ifdef Y_PLUGIN
  2586. {
  2587. { 42, 1, k4_86_1_data + 4 }, /* Syn Bass 5 */
  2588. { 54, 1, k4_86_2_data + 4 }, /* Syn Bass 5 */
  2589. { 66, 1, k4_86_3_data + 4 }, /* Syn Bass 5 */
  2590. { 78, 1, k4_86_4_data + 4 }, /* Syn Bass 5 */
  2591. { 90, 1, k4_86_5_data + 4 }, /* Syn Bass 5 */
  2592. { 127, 1, k4_86_6_data + 4 }, /* Syn Bass 5 */
  2593. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2594. }
  2595. #endif
  2596. },
  2597. { "Bass|Syn Bass 6", /* K4 wave 86 */
  2598. #ifdef Y_GUI
  2599. 1
  2600. #endif
  2601. #ifdef Y_PLUGIN
  2602. {
  2603. { 42, 1, k4_87_1_data + 4 }, /* Syn Bass 6 */
  2604. { 54, 1, k4_87_2_data + 4 }, /* Syn Bass 6 */
  2605. { 66, 1, k4_87_3_data + 4 }, /* Syn Bass 6 */
  2606. { 78, 1, k4_87_4_data + 4 }, /* Syn Bass 6 */
  2607. { 90, 1, k4_87_5_data + 4 }, /* Syn Bass 6 */
  2608. { 127, 1, k4_87_6_data + 4 }, /* Syn Bass 6 */
  2609. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2610. }
  2611. #endif
  2612. },
  2613. /* ==== Voice ==== */
  2614. { "Voice|Syn Voice", /* K4 wave 52 */
  2615. #ifdef Y_GUI
  2616. 0
  2617. #endif
  2618. #ifdef Y_PLUGIN
  2619. {
  2620. { 42, 1, k4_53_1_data + 4 }, /* Syn Voice */
  2621. { 54, 1, k4_53_2_data + 4 }, /* Syn Voice */
  2622. { 66, 1, k4_53_3_data + 4 }, /* Syn Voice */
  2623. { 78, 1, k4_53_4_data + 4 }, /* Syn Voice */
  2624. { 90, 1, k4_53_5_data + 4 }, /* Syn Voice */
  2625. { 127, 1, k4_53_6_data + 4 }, /* Syn Voice */
  2626. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2627. }
  2628. #endif
  2629. },
  2630. { "Voice|Formant 1", /* SQ-80 waveform 19 'formt1' */
  2631. #ifdef Y_GUI
  2632. 1
  2633. #endif
  2634. #ifdef Y_PLUGIN
  2635. {
  2636. { 15, 1, sq80_2b_5_data + 4 }, /* 'formt1' 0-1 */
  2637. { 23, 1, sq80_2c_6_data + 4 }, /* 'formt1' 2 */
  2638. { 31, 1, sq80_2d_7_data + 4 }, /* 'formt1' 3 */
  2639. { 39, 1, sq80_2e_8_data + 4 }, /* 'formt1' 4 */
  2640. { 47, 1, sq80_2f_9_data + 4 }, /* 'formt1' 5 */
  2641. { 55, 1, sq80_30_a_data + 4 }, /* 'formt1' 6 */
  2642. { 63, 1, sq80_31_a_data + 4 }, /* 'formt1' 7 */
  2643. { 71, 1, sq80_32_a_data + 4 }, /* 'formt1' 8 */
  2644. { 95, 1, sq80_33_b_data + 4 }, /* 'formt1' 9-11 */
  2645. { 103, 1, sq80_33_c_data + 4 }, /* 'formt1' 12 */
  2646. { 111, 1, sq80_18_d_data + 4 }, /* 'formt1' 13 */
  2647. { 119, 1, sq80_16_e_data + 4 }, /* 'formt1' 14 */
  2648. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2649. }
  2650. #endif
  2651. },
  2652. { "Voice|Formant Mellow",
  2653. /* This is a set of the SQ-80 'formt' waves which //christian trimmed to
  2654. * incorrect lengths, but the result is useful.... */
  2655. #ifdef Y_GUI
  2656. 2
  2657. #endif
  2658. #ifdef Y_PLUGIN
  2659. {
  2660. { 16, 1, sq80_formant_1_2_data + 4 },
  2661. { 25, 1, sq80_formant_2_3_data + 4 },
  2662. { 34, 1, sq80_formant_3_4_data + 4 },
  2663. { 43, 1, sq80_formant_4_5_data + 4 },
  2664. { 52, 1, sq80_formant_5_6_data + 4 },
  2665. { 61, 1, sq80_formant_6_7_data + 4 },
  2666. { 102, 1, sq80_formant_8_9_data + 4 },
  2667. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2668. }
  2669. #endif
  2670. },
  2671. { "Voice|Voice 2", /* SQ-80 waveform 12 'voice2' */
  2672. #ifdef Y_GUI
  2673. 4
  2674. #endif
  2675. #ifdef Y_PLUGIN
  2676. {
  2677. { 47, 1, sq80_25_5_data + 4 }, /* 'voice2' 0-5 */
  2678. { 55, 1, sq80_3a_6_data + 4 }, /* 'voice2' 6 */
  2679. { 63, 1, sq80_26_7_data + 4 }, /* 'voice2' 7 */
  2680. { 71, 1, sq80_3b_8_data + 4 }, /* 'voice2' 8 */
  2681. { 79, 1, sq80_3c_9_data + 4 }, /* 'voice2' 9 */
  2682. { 87, 1, sq80_3d_a_data + 4 }, /* 'voice2' 10 */
  2683. { 95, 1, sq80_3e_b_data + 4 }, /* 'voice2' 11 */
  2684. { 119, 1, sq80_17_e_data + 4 }, /* 'voice2' 12-14 */
  2685. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2686. }
  2687. #endif
  2688. },
  2689. /* ==== (Periodic) Noise ==== */
  2690. { "Noise|Random", /* K4 wave 64 */
  2691. #ifdef Y_GUI
  2692. 0
  2693. #endif
  2694. #ifdef Y_PLUGIN
  2695. {
  2696. { 42, 1, k4_65_1_data + 4 }, /* Random */
  2697. { 54, 1, k4_65_2_data + 4 }, /* Random */
  2698. { 66, 1, k4_65_3_data + 4 }, /* Random */
  2699. { 78, 1, k4_65_4_data + 4 }, /* Random */
  2700. { 90, 1, k4_65_5_data + 4 }, /* Random */
  2701. { 127, 1, k4_65_6_data + 4 }, /* Random */
  2702. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2703. }
  2704. #endif
  2705. },
  2706. { "Noise|Random HF",
  2707. #ifdef Y_GUI
  2708. 0
  2709. #endif
  2710. #ifdef Y_PLUGIN
  2711. {
  2712. { 127, 1, k4_65_1_data + 4 }, /* Random */
  2713. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2714. }
  2715. #endif
  2716. },
  2717. { "Noise|Buzz", /* K4 wave 80 ('E.Organ 13'?!) */
  2718. #ifdef Y_GUI
  2719. 0
  2720. #endif
  2721. #ifdef Y_PLUGIN
  2722. {
  2723. { 42, 1, k4_81_1_data + 4 }, /* E.Organ 13 */
  2724. { 54, 1, k4_81_2_data + 4 }, /* E.Organ 13 */
  2725. { 66, 1, k4_81_3_data + 4 }, /* E.Organ 13 */
  2726. { 78, 1, k4_81_4_data + 4 }, /* E.Organ 13 */
  2727. { 90, 1, k4_81_5_data + 4 }, /* E.Organ 13 */
  2728. { 127, 1, k4_81_6_data + 4 }, /* E.Organ 13 */
  2729. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2730. }
  2731. #endif
  2732. },
  2733. { "Noise|Grit 2", /* SQ-80 waveform 37 'grit_2' */
  2734. #ifdef Y_GUI
  2735. 2
  2736. #endif
  2737. #ifdef Y_PLUGIN
  2738. {
  2739. { 39, 1, sq80_6d_4_data + 4 }, /* 'grit_2' 0-4 */
  2740. { 47, 1, sq80_6e_5_data + 4 }, /* 'grit_2' 5 */
  2741. { 55, 1, sq80_6f_6_data + 4 }, /* 'grit_2' 6 */
  2742. { 63, 1, sq80_70_7_data + 4 }, /* 'grit_2' 7 */
  2743. { 71, 1, sq80_71_9_data + 4 }, /* 'grit_2' 8 */
  2744. { 79, 1, sq80_72_9_data + 4 }, /* 'grit_2' 9 */
  2745. { 87, 1, sq80_73_b_data + 4 }, /* 'grit_2' 10 */
  2746. { 103, 1, sq80_74_c_data + 4 }, /* 'grit_2' 11-12 */
  2747. { 111, 1, sq80_1a_d_data + 4 }, /* 'grit_2' 13 */
  2748. { 119, 1, sq80_17_e_data + 4 }, /* 'grit_2' 14 */
  2749. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2750. }
  2751. #endif
  2752. },
  2753. { "Noise|Noise 1",
  2754. #ifdef Y_GUI
  2755. 4
  2756. #endif
  2757. #ifdef Y_PLUGIN
  2758. {
  2759. { 127, 1, sq80_noise1_16_data + 4 },
  2760. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2761. }
  2762. #endif
  2763. },
  2764. { "Noise|Noise 2",
  2765. #ifdef Y_GUI
  2766. 4
  2767. #endif
  2768. #ifdef Y_PLUGIN
  2769. {
  2770. { 127, 1, sq80_noise2_16_data + 4 },
  2771. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2772. }
  2773. #endif
  2774. },
  2775. { "Noise|Noise 3",
  2776. #ifdef Y_GUI
  2777. 4
  2778. #endif
  2779. #ifdef Y_PLUGIN
  2780. {
  2781. { 127, 1, sq80_noise3_16_data + 4 },
  2782. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2783. }
  2784. #endif
  2785. },
  2786. /* ==== TX81Z Waveforms ==== */
  2787. { "TX81Z|TX81Z Wave 2", /* square-tri-ish */
  2788. #ifdef Y_GUI
  2789. 0
  2790. #endif
  2791. #ifdef Y_PLUGIN
  2792. {
  2793. { 70, 1, tx81z_2_8_data + 4 },
  2794. { 79, 1, tx81z_2_9_data + 4 },
  2795. { 88, 1, tx81z_2_10_data + 4 },
  2796. { 97, 1, tx81z_2_11_data + 4 },
  2797. { 106, 1, tx81z_2_12_data + 4 },
  2798. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2799. }
  2800. #endif
  2801. },
  2802. { "TX81Z|TX81Z Wave 3", /* soft saw-ish */
  2803. #ifdef Y_GUI
  2804. 0
  2805. #endif
  2806. #ifdef Y_PLUGIN
  2807. {
  2808. { 70, 1, tx81z_3_8_data + 4 },
  2809. { 79, 1, tx81z_3_9_data + 4 },
  2810. { 88, 1, tx81z_3_10_data + 4 },
  2811. { 97, 1, tx81z_3_11_data + 4 },
  2812. { 106, 1, tx81z_3_12_data + 4 },
  2813. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2814. }
  2815. #endif
  2816. },
  2817. { "TX81Z|TX81Z Wave 4", /* slightly less soft saw-ish */
  2818. #ifdef Y_GUI
  2819. 0
  2820. #endif
  2821. #ifdef Y_PLUGIN
  2822. {
  2823. { 70, 1, tx81z_4_8_data + 4 },
  2824. { 79, 1, tx81z_4_9_data + 4 },
  2825. { 88, 1, tx81z_4_10_data + 4 },
  2826. { 97, 1, tx81z_4_11_data + 4 },
  2827. { 106, 1, tx81z_4_12_data + 4 },
  2828. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2829. }
  2830. #endif
  2831. },
  2832. { "TX81Z|TX81Z Wave 5", /* 40%-rect-ish? */
  2833. #ifdef Y_GUI
  2834. 0
  2835. #endif
  2836. #ifdef Y_PLUGIN
  2837. {
  2838. { 70, 1, tx81z_5_8_data + 4 },
  2839. { 79, 1, tx81z_5_9_data + 4 },
  2840. { 88, 1, tx81z_5_10_data + 4 },
  2841. { 97, 1, tx81z_5_11_data + 4 },
  2842. { 106, 1, tx81z_5_12_data + 4 },
  2843. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2844. }
  2845. #endif
  2846. },
  2847. { "TX81Z|TX81Z Wave 6", /* med-soft saw-ish */
  2848. #ifdef Y_GUI
  2849. 0
  2850. #endif
  2851. #ifdef Y_PLUGIN
  2852. {
  2853. { 61, 1, tx81z_6_7_data + 4 },
  2854. { 70, 1, tx81z_6_8_data + 4 },
  2855. { 79, 1, tx81z_6_9_data + 4 },
  2856. { 88, 1, tx81z_6_10_data + 4 },
  2857. { 97, 1, tx81z_6_11_data + 4 },
  2858. { 106, 1, tx81z_6_12_data + 4 },
  2859. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2860. }
  2861. #endif
  2862. },
  2863. { "TX81Z|TX81Z Wave 7", /* soft-saw/square-ish */
  2864. #ifdef Y_GUI
  2865. 0
  2866. #endif
  2867. #ifdef Y_PLUGIN
  2868. {
  2869. { 70, 1, tx81z_7_8_data + 4 },
  2870. { 79, 1, tx81z_7_9_data + 4 },
  2871. { 88, 1, tx81z_7_10_data + 4 },
  2872. { 97, 1, tx81z_7_11_data + 4 },
  2873. { 106, 1, tx81z_7_12_data + 4 },
  2874. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2875. }
  2876. #endif
  2877. },
  2878. { "TX81Z|TX81Z Wave 8", /* brighter saw-ish */
  2879. #ifdef Y_GUI
  2880. 0
  2881. #endif
  2882. #ifdef Y_PLUGIN
  2883. {
  2884. { 61, 1, tx81z_8_7_data + 4 },
  2885. { 70, 1, tx81z_8_8_data + 4 },
  2886. { 79, 1, tx81z_8_9_data + 4 },
  2887. { 88, 1, tx81z_8_10_data + 4 },
  2888. { 97, 1, tx81z_8_11_data + 4 },
  2889. { 106, 1, tx81z_8_12_data + 4 },
  2890. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  2891. }
  2892. #endif
  2893. },
  2894. /* ==== Polynomials for the waveshaper ==== */
  2895. /* -FIX- Need to add more someday.... */
  2896. { "Waveshaper|WS Cheby T5",
  2897. #ifdef Y_GUI
  2898. 0
  2899. #endif
  2900. #ifdef Y_PLUGIN
  2901. {
  2902. { 256, 1, yw_ws_cheby_t5_data + 4 },
  2903. }
  2904. #endif
  2905. },
  2906. /* ==== Non-band-limited waveforms for LFO ==== */
  2907. { "LFO|LFO S/H 1",
  2908. #ifdef Y_GUI
  2909. 0
  2910. #endif
  2911. #ifdef Y_PLUGIN
  2912. {
  2913. { 256, 1, yw_lfo_s_h_1_data + 4 },
  2914. }
  2915. #endif
  2916. },
  2917. { "LFO|LFO S/H 2",
  2918. #ifdef Y_GUI
  2919. 0
  2920. #endif
  2921. #ifdef Y_PLUGIN
  2922. {
  2923. { 256, 1, yw_lfo_s_h_2_data + 4 },
  2924. }
  2925. #endif
  2926. },
  2927. { "LFO|LFO S/H 3",
  2928. #ifdef Y_GUI
  2929. 0
  2930. #endif
  2931. #ifdef Y_PLUGIN
  2932. {
  2933. { 256, 1, yw_lfo_s_h_3_data + 4 },
  2934. }
  2935. #endif
  2936. },
  2937. { "LFO|LFO S/H 4",
  2938. #ifdef Y_GUI
  2939. 0
  2940. #endif
  2941. #ifdef Y_PLUGIN
  2942. {
  2943. { 256, 1, yw_lfo_s_h_4_data + 4 },
  2944. }
  2945. #endif
  2946. },
  2947. { "LFO|LFO Saw",
  2948. #ifdef Y_GUI
  2949. 0
  2950. #endif
  2951. #ifdef Y_PLUGIN
  2952. {
  2953. { 256, 1, yw_lfo_saw_data + 4 },
  2954. }
  2955. #endif
  2956. },
  2957. { "LFO|LFO Tri",
  2958. #ifdef Y_GUI
  2959. 0
  2960. #endif
  2961. #ifdef Y_PLUGIN
  2962. {
  2963. { 256, 1, yw_lfo_tri_data + 4 },
  2964. }
  2965. #endif
  2966. },
  2967. { "LFO|LFO Rect 1/3",
  2968. #ifdef Y_GUI
  2969. 0
  2970. #endif
  2971. #ifdef Y_PLUGIN
  2972. {
  2973. { 256, 1, yw_lfo_rect13_data + 4 },
  2974. }
  2975. #endif
  2976. },
  2977. { "LFO|LFO Rect 1/4",
  2978. #ifdef Y_GUI
  2979. 0
  2980. #endif
  2981. #ifdef Y_PLUGIN
  2982. {
  2983. { 256, 1, yw_lfo_rect14_data + 4 },
  2984. }
  2985. #endif
  2986. },
  2987. { "LFO|LFO Rect 1/6",
  2988. #ifdef Y_GUI
  2989. 0
  2990. #endif
  2991. #ifdef Y_PLUGIN
  2992. {
  2993. { 256, 1, yw_lfo_rect16_data + 4 },
  2994. }
  2995. #endif
  2996. },
  2997. { "LFO|LFO Rect 2/4",
  2998. #ifdef Y_GUI
  2999. 0
  3000. #endif
  3001. #ifdef Y_PLUGIN
  3002. {
  3003. { 256, 1, yw_lfo_rect24_data + 4 },
  3004. }
  3005. #endif
  3006. },
  3007. { "LFO|LFO Square",
  3008. #ifdef Y_GUI
  3009. 0
  3010. #endif
  3011. #ifdef Y_PLUGIN
  3012. {
  3013. { 256, 1, yw_lfo_square_data + 4 },
  3014. }
  3015. #endif
  3016. },
  3017. /* ==== Waveforms added with the 20051231 release ==== */
  3018. { "Analog|Jagged Saw", /* Bristol jagged edged ramp */
  3019. #ifdef Y_GUI
  3020. 0
  3021. #endif
  3022. #ifdef Y_PLUGIN
  3023. {
  3024. { 70, 1, bristol_jagged_8_data + 4 },
  3025. { 79, 1, bristol_jagged_9_data + 4 },
  3026. { 88, 1, bristol_jagged_10_data + 4 },
  3027. { 97, 1, bristol_jagged_11_data + 4 },
  3028. { 106, 1, bristol_jagged_12_data + 4 },
  3029. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3030. }
  3031. #endif
  3032. },
  3033. { "Sines|Sine 1+2+3+4", /* SQ-80 waveform 26 '4_octs' */
  3034. #ifdef Y_GUI
  3035. 1
  3036. #endif
  3037. #ifdef Y_PLUGIN
  3038. {
  3039. { 95, 1, sq80_0e_b_data + 4 }, /* '4_octs' 0-11 */
  3040. { 103, 1, sq80_0e_c_data + 4 }, /* '4_octs' 12 */
  3041. { 119, 1, sq80_17_e_data + 4 }, /* '4_octs' 13-14 */
  3042. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3043. }
  3044. #endif
  3045. },
  3046. { "Analog|Pulse 2", /* SQ-80 waveform 4 'pulse' */
  3047. /* This has approximately the same power spectrum as the K4 pulse wave,
  3048. * but not the coherent phases, so it's a smoother wave than the K4
  3049. * Dirac pulse. */
  3050. #ifdef Y_GUI
  3051. 1
  3052. #endif
  3053. #ifdef Y_PLUGIN
  3054. {
  3055. { 54, 1, sq80_02_5_data + 4 }, /* 'pulse' 0-5+ */
  3056. { 63, 1, sq80_03_7_data + 4 }, /* 'pulse' 7 */
  3057. { 71, 1, sq80_04_8_data + 4 }, /* 'pulse' 8 */
  3058. { 79, 1, sq80_05_9_data + 4 }, /* 'pulse' 9 */
  3059. { 87, 1, sq80_06_a_data + 4 }, /* 'pulse' 10 */
  3060. { 95, 1, sq80_07_b_data + 4 }, /* 'pulse' 11 */
  3061. { 103, 1, sq80_08_c_data + 4 }, /* 'pulse' 12 */
  3062. { 111, 1, sq80_1a_d_data + 4 }, /* 'pulse' 13 */
  3063. { 119, 1, sq80_17_e_data + 4 }, /* 'pulse' 14 */
  3064. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3065. }
  3066. #endif
  3067. },
  3068. { "Analog|Soft Pulse", /* SQ-80 waveform 24 'pulse2' */
  3069. /* This is a subset of SQ-80 waveform 4 'pulse' */
  3070. #ifdef Y_GUI
  3071. 1
  3072. #endif
  3073. #ifdef Y_PLUGIN
  3074. {
  3075. { 95, 1, sq80_07_b_data + 4 }, /* 'pulse2' 0-11 */
  3076. { 103, 1, sq80_08_c_data + 4 }, /* 'pulse2' 12 */
  3077. { 111, 1, sq80_1a_d_data + 4 }, /* 'pulse2' 13 */
  3078. { 119, 1, sq80_17_e_data + 4 }, /* 'pulse2' 14 */
  3079. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3080. }
  3081. #endif
  3082. },
  3083. { "Analog|Soft Square", /* SQ-80 waveform 25 'sqr__2' */
  3084. /* This is a subset of SQ-80 waveform 3 'square' */
  3085. #ifdef Y_GUI
  3086. 2
  3087. #endif
  3088. #ifdef Y_PLUGIN
  3089. {
  3090. { 103, 1, sq80_4b_c_data + 4 }, /* 'sqr__2' 0-12 */
  3091. { 111, 1, sq80_19_d_data + 4 }, /* 'sqr__2' 13 */
  3092. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3093. }
  3094. #endif
  3095. },
  3096. { "Digital|Digital 2", /* SQ-80 waveform 46 'digit2' */
  3097. #ifdef Y_GUI
  3098. 1
  3099. #endif
  3100. #ifdef Y_PLUGIN
  3101. {
  3102. { 78, 1, sq80_87_8_data + 4 }, /* 'digit2' 0-8+ */
  3103. { 87, 1, sq80_88_a_data + 4 }, /* 'digit2' 10 */
  3104. { 95, 1, sq80_88_b_data + 4 }, /* 'digit2' 11 */
  3105. { 103, 1, sq80_88_c_data + 4 }, /* 'digit2' 12 */
  3106. { 111, 1, sq80_19_d_data + 4 }, /* 'digit2' 13 */
  3107. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3108. }
  3109. #endif
  3110. },
  3111. { "Brass|Medium Brass", /* SQ-80 waveform 43 'brass' with 256-byte sample 0x76 */
  3112. /* This is the SQ-80 waveform 43 'brass' as specified in the osrom,
  3113. * except that I've used //christian's 256-frame length for sample 0x76,
  3114. * instead of the osrom-specified 512. This gives a harmonic profile more
  3115. * similar to samples 0x7b and 0x7c. */
  3116. #ifdef Y_GUI
  3117. 0
  3118. #endif
  3119. #ifdef Y_PLUGIN
  3120. {
  3121. { 63, 1, sq80_76_7_data + 4 }, /* 'brass' 0-7 */
  3122. { 79, 1, sq80_7b_9_data + 4 }, /* 'brass' 8-9 */
  3123. { 87, 1, sq80_7b_a_data + 4 }, /* 'brass' 10 */
  3124. { 95, 1, sq80_7c_b_data + 4 }, /* 'brass' 11 */
  3125. { 103, 1, sq80_7c_c_data + 4 }, /* 'brass' 12 */
  3126. { 111, 1, sq80_18_d_data + 4 }, /* 'brass' 13 */
  3127. { 119, 1, sq80_16_e_data + 4 }, /* 'brass' 14 */
  3128. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3129. }
  3130. #endif
  3131. },
  3132. { "Brass|Hard Brass", /* SQ-80 raw sample 0x76 */
  3133. /* This is raw sample 0x76 with the osrom-specified length of 512, over
  3134. * a range of 0-87. It's very bright, somewhat thin, and rather sax-
  3135. * like in the low registers. */
  3136. #ifdef Y_GUI
  3137. 0
  3138. #endif
  3139. #ifdef Y_PLUGIN
  3140. {
  3141. { 63, 1, sq80_76x_7_data + 4 }, /* 'brass' 0-7 */
  3142. { 71, 1, sq80_76x_8_data + 4 }, /* 'brass' 8 */
  3143. { 79, 1, sq80_76x_9_data + 4 }, /* 'brass' 9 */
  3144. { 87, 1, sq80_76x_a_data + 4 }, /* 'brass' 10 */
  3145. { 95, 1, sq80_7c_b_data + 4 }, /* 'brass' 11 */
  3146. { 103, 1, sq80_7c_c_data + 4 }, /* 'brass' 12 */
  3147. { 111, 1, sq80_18_d_data + 4 }, /* 'brass' 13 */
  3148. { 119, 1, sq80_16_e_data + 4 }, /* 'brass' 14 */
  3149. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3150. }
  3151. #endif
  3152. },
  3153. { "Woodwind|Kick", /* SQ-80 waveform 13 'kick' */
  3154. #ifdef Y_GUI
  3155. 0
  3156. #endif
  3157. #ifdef Y_PLUGIN
  3158. {
  3159. { 31, 1, sq80_1f_3_data + 4 }, /* 'kick' 0-3 */
  3160. { 39, 1, sq80_1f_4_data + 4 }, /* 'kick' 4 */
  3161. { 47, 1, sq80_1f_5_data + 4 }, /* 'kick' 5 */
  3162. { 55, 1, sq80_1f_6_data + 4 }, /* 'kick' 6 */
  3163. { 63, 1, sq80_1f_7_data + 4 }, /* 'kick' 7 */
  3164. { 71, 1, sq80_1f_8_data + 4 }, /* 'kick' 8 */
  3165. { 79, 1, sq80_1f_9_data + 4 }, /* 'kick' 9 */
  3166. { 87, 1, sq80_1f_a_data + 4 }, /* 'kick' 10 */
  3167. { 95, 1, sq80_1f_b_data + 4 }, /* 'kick' 11 */
  3168. { 103, 1, sq80_1f_c_data + 4 }, /* 'kick' 12 */
  3169. { 111, 1, sq80_1f_d_data + 4 }, /* 'kick' 13 */
  3170. { 119, 1, yw_sin_2_data + 4 }, /* 'kick' 14 */
  3171. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3172. }
  3173. #endif
  3174. },
  3175. { "Keyboard|Piano Full", /* SQ-80 waveform 9 'piano' */
  3176. /* This is as close as we can get to the original piano waveform. The
  3177. * lowest three waves (21 through 23) were originally four cycles long,
  3178. * but here they've each been folded in to a single cycle. */
  3179. #ifdef Y_GUI
  3180. 0
  3181. #endif
  3182. #ifdef Y_PLUGIN
  3183. {
  3184. { 39, 1, sq80_21_4_data + 4 }, /* 'piano' 0-4 */
  3185. { 47, 1, sq80_22_5_data + 4 }, /* 'piano' 5 */
  3186. { 55, 1, sq80_23_6_data + 4 }, /* 'piano' 6 */
  3187. { 63, 1, sq80_42_7_data + 4 }, /* 'piano' 7 */
  3188. { 71, 1, sq80_43_8_data + 4 }, /* 'piano' 8 */
  3189. { 79, 1, sq80_44_9_data + 4 }, /* 'piano' 9 */
  3190. { 87, 1, sq80_45_a_data + 4 }, /* 'piano' 10 */
  3191. { 95, 1, sq80_45_b_data + 4 }, /* 'piano' 11 */
  3192. { 111, 1, sq80_18_d_data + 4 }, /* 'piano' 12-13 */
  3193. { 119, 1, sq80_16_e_data + 4 }, /* 'piano' 14 */
  3194. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3195. }
  3196. #endif
  3197. },
  3198. { "Keyboard|E.Piano 10", /* SQ-80 waveform 29 'e_pno2' */
  3199. /* This is a subset of SQ-80 waveform 10 'el_pno'. */
  3200. #ifdef Y_GUI
  3201. 1
  3202. #endif
  3203. #ifdef Y_PLUGIN
  3204. {
  3205. { 95, 1, sq80_41_b_data + 4 }, /* 'e_pno2' 0-11 */
  3206. { 103, 1, sq80_41_c_data + 4 }, /* 'e_pno2' 12 */
  3207. { 111, 1, sq80_18_d_data + 4 }, /* 'e_pno2' 13 */
  3208. { 119, 1, sq80_16_e_data + 4 }, /* 'e_pno2' 14 */
  3209. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3210. }
  3211. #endif
  3212. },
  3213. { "Keyboard|Chime", /* SQ-80 waveform 53 'chime' */
  3214. #ifdef Y_GUI
  3215. 2
  3216. #endif
  3217. #ifdef Y_PLUGIN
  3218. {
  3219. { 55, 1, sq80_68_6_data + 4 }, /* 'chime' 0-6 */
  3220. { 63, 1, sq80_68_7_data + 4 }, /* 'chime' 7 */
  3221. { 71, 1, sq80_68_8_data + 4 }, /* 'chime' 8 */
  3222. { 79, 1, sq80_69_9_data + 4 }, /* 'chime' 9 */
  3223. { 95, 1, sq80_69_b_data + 4 }, /* 'chime' 10-11 */
  3224. { 103, 1, yw_sin_6_data + 4 }, /* 'chime' 12 */
  3225. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3226. }
  3227. #endif
  3228. },
  3229. { "Bass|E.Bass 2", /* SQ-80 waveform 28 'bass_2' */
  3230. /* This is a subset of SQ-80 waveform 8 'bass' */
  3231. #ifdef Y_GUI
  3232. 0
  3233. #endif
  3234. #ifdef Y_PLUGIN
  3235. {
  3236. { 85, 1, sq80_29_9_data + 4 }, /* 'bass_2' 0-9+ */
  3237. { 95, 1, sq80_2a_b_data + 4 }, /* 'bass_2' 11 */
  3238. { 103, 1, sq80_2a_c_data + 4 }, /* 'bass_2' 12 */
  3239. { 111, 1, sq80_18_d_data + 4 }, /* 'bass_2' 13 */
  3240. { 119, 1, sq80_16_e_data + 4 }, /* 'bass_2' 14 */
  3241. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3242. }
  3243. #endif
  3244. },
  3245. { "Voice|Formant 2", /* SQ-80 waveform 20 'formt2' */
  3246. #ifdef Y_GUI
  3247. 1
  3248. #endif
  3249. #ifdef Y_PLUGIN
  3250. {
  3251. { 23, 1, sq80_2b_5_data + 4 }, /* 'formt2' 0-2 */
  3252. { 31, 1, sq80_2c_6_data + 4 }, /* 'formt2' 3 */
  3253. { 39, 1, sq80_2d_7_data + 4 }, /* 'formt2' 4 */
  3254. { 47, 1, sq80_2e_8_data + 4 }, /* 'formt2' 5 */
  3255. { 55, 1, sq80_2f_9_data + 4 }, /* 'formt2' 6 */
  3256. { 63, 1, sq80_30_a_data + 4 }, /* 'formt2' 7 */
  3257. { 71, 1, sq80_31_a_data + 4 }, /* 'formt2' 8 */
  3258. { 79, 1, sq80_32_a_data + 4 }, /* 'formt2' 9 */
  3259. { 95, 1, sq80_33_b_data + 4 }, /* 'formt2' 10-11 */
  3260. { 103, 1, sq80_33_c_data + 4 }, /* 'formt2' 12 */
  3261. { 111, 1, sq80_18_d_data + 4 }, /* 'formt2' 13 */
  3262. { 119, 1, sq80_16_e_data + 4 }, /* 'formt2' 14 */
  3263. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3264. }
  3265. #endif
  3266. },
  3267. { "Voice|Formant 3", /* SQ-80 waveform 21 'formt3' */
  3268. #ifdef Y_GUI
  3269. 1
  3270. #endif
  3271. #ifdef Y_PLUGIN
  3272. {
  3273. { 31, 1, sq80_2b_5_data + 4 }, /* 'formt3' 0-3 */
  3274. { 39, 1, sq80_2c_6_data + 4 }, /* 'formt3' 4 */
  3275. { 47, 1, sq80_2d_7_data + 4 }, /* 'formt3' 5 */
  3276. { 55, 1, sq80_2e_8_data + 4 }, /* 'formt3' 6 */
  3277. { 63, 1, sq80_2f_9_data + 4 }, /* 'formt3' 7 */
  3278. { 71, 1, sq80_30_a_data + 4 }, /* 'formt3' 8 */
  3279. { 79, 1, sq80_31_a_data + 4 }, /* 'formt3' 9 */
  3280. { 87, 1, sq80_32_a_data + 4 }, /* 'formt3' 10 */
  3281. { 95, 1, sq80_33_b_data + 4 }, /* 'formt3' 11 */
  3282. { 103, 1, sq80_33_c_data + 4 }, /* 'formt3' 12 */
  3283. { 111, 1, sq80_18_d_data + 4 }, /* 'formt3' 13 */
  3284. { 119, 1, sq80_16_e_data + 4 }, /* 'formt3' 14 */
  3285. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3286. }
  3287. #endif
  3288. },
  3289. { "Voice|Formant 4", /* SQ-80 waveform 22 'formt4' */
  3290. #ifdef Y_GUI
  3291. 1
  3292. #endif
  3293. #ifdef Y_PLUGIN
  3294. {
  3295. { 39, 1, sq80_2b_5_data + 4 }, /* 'formt4' 0-4 */
  3296. { 47, 1, sq80_2c_6_data + 4 }, /* 'formt4' 5 */
  3297. { 55, 1, sq80_2d_7_data + 4 }, /* 'formt4' 6 */
  3298. { 63, 1, sq80_2e_8_data + 4 }, /* 'formt4' 7 */
  3299. { 71, 1, sq80_2f_9_data + 4 }, /* 'formt4' 8 */
  3300. { 79, 1, sq80_30_a_data + 4 }, /* 'formt4' 9 */
  3301. { 87, 1, sq80_31_a_data + 4 }, /* 'formt4' 10 */
  3302. { 95, 1, sq80_32_b_data + 4 }, /* 'formt4' 11 */
  3303. { 103, 1, sq80_33_c_data + 4 }, /* 'formt4' 12 */
  3304. { 111, 1, sq80_18_d_data + 4 }, /* 'formt4' 13 */
  3305. { 119, 1, sq80_16_e_data + 4 }, /* 'formt4' 14 */
  3306. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3307. }
  3308. #endif
  3309. },
  3310. { "Voice|Formant 5", /* SQ-80 waveform 23 'formt5' */
  3311. #ifdef Y_GUI
  3312. 1
  3313. #endif
  3314. #ifdef Y_PLUGIN
  3315. {
  3316. { 47, 1, sq80_2b_5_data + 4 }, /* 'formt5' 0-5 */
  3317. { 55, 1, sq80_2c_6_data + 4 }, /* 'formt5' 6 */
  3318. { 63, 1, sq80_2d_7_data + 4 }, /* 'formt5' 7 */
  3319. { 71, 1, sq80_2e_8_data + 4 }, /* 'formt5' 8 */
  3320. { 79, 1, sq80_2f_9_data + 4 }, /* 'formt5' 9 */
  3321. { 87, 1, sq80_30_a_data + 4 }, /* 'formt5' 10 */
  3322. { 95, 1, sq80_31_b_data + 4 }, /* 'formt5' 11 */
  3323. { 103, 1, sq80_32_c_data + 4 }, /* 'formt5' 12 */
  3324. { 111, 1, sq80_18_d_data + 4 }, /* 'formt5' 13 */
  3325. { 119, 1, sq80_16_e_data + 4 }, /* 'formt5' 14 */
  3326. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3327. }
  3328. #endif
  3329. },
  3330. { "Voice|Voice 1", /* SQ-80 waveform 11 'voice1' */
  3331. /* 25 25 25 25 25 3a 26 3b 3c 3d 3e 3e 17 17 17 15 */
  3332. /* 05 05 05 05 05 06 07 07 08 09 0a 0b 0e 0e 0e 0f */
  3333. #ifdef Y_GUI
  3334. 3
  3335. #endif
  3336. #ifdef Y_PLUGIN
  3337. {
  3338. { 39, 1, sq80_25_5_data + 4 }, /* 'voice1' 0-4 */
  3339. { 47, 1, sq80_3a_6_data + 4 }, /* 'voice1' 5 */
  3340. { 55, 1, sq80_26_7_data + 4 }, /* 'voice1' 6 */
  3341. { 63, 1, sq80_3b_7_data + 4 }, /* 'voice1' 7 */
  3342. { 71, 1, sq80_3c_8_data + 4 }, /* 'voice1' 8 */
  3343. { 79, 1, sq80_3d_9_data + 4 }, /* 'voice1' 9 */
  3344. { 87, 1, sq80_3e_a_data + 4 }, /* 'voice1' 10 */
  3345. { 95, 1, sq80_3e_b_data + 4 }, /* 'voice1' 11 */
  3346. { 119, 1, sq80_17_e_data + 4 }, /* 'voice1' 12-14 */
  3347. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3348. }
  3349. #endif
  3350. },
  3351. { "Noise|Grit 1", /* SQ-80 waveform 36 'grit_1' */
  3352. #ifdef Y_GUI
  3353. 1
  3354. #endif
  3355. #ifdef Y_PLUGIN
  3356. {
  3357. { 39, 1, sq80_6e_5_data + 4 }, /* 'grit_1' 0-4 */
  3358. { 47, 1, sq80_6f_6_data + 4 }, /* 'grit_1' 5 */
  3359. { 55, 1, sq80_70_7_data + 4 }, /* 'grit_1' 6 */
  3360. { 63, 1, sq80_71_9_data + 4 }, /* 'grit_1' 7 */
  3361. { 71, 1, sq80_72_9_data + 4 }, /* 'grit_1' 8 */
  3362. { 79, 1, sq80_73_b_data + 4 }, /* 'grit_1' 9 */
  3363. { 87, 1, sq80_74_c_data + 4 }, /* 'grit_1' 10 */
  3364. { 111, 1, sq80_1a_d_data + 4 }, /* 'grit_1' 11-13 */
  3365. { 119, 1, sq80_17_e_data + 4 }, /* 'grit_1' 14 */
  3366. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3367. }
  3368. #endif
  3369. },
  3370. { "Noise|Grit 3", /* SQ-80 waveform 38 'grit_3' */
  3371. #ifdef Y_GUI
  3372. 3
  3373. #endif
  3374. #ifdef Y_PLUGIN
  3375. {
  3376. { 39, 1, sq80_6d_4_data + 4 }, /* 'grit_3' 0-4 */
  3377. { 47, 1, sq80_6d_5_data + 4 }, /* 'grit_3' 5 */
  3378. { 55, 1, sq80_6e_6_data + 4 }, /* 'grit_3' 6 */
  3379. { 63, 1, sq80_6f_7_data + 4 }, /* 'grit_3' 7 */
  3380. { 70, 1, sq80_70_7_data + 4 }, /* 'grit_3' 7+ */
  3381. { 79, 1, sq80_71_9_data + 4 }, /* 'grit_3' 9 */
  3382. { 87, 1, sq80_72_a_data + 4 }, /* 'grit_3' 10 */
  3383. { 95, 1, sq80_73_b_data + 4 }, /* 'grit_3' 11 */
  3384. { 103, 1, sq80_74_c_data + 4 }, /* 'grit_3' 12 */
  3385. { 111, 1, sq80_1a_d_data + 4 }, /* 'grit_3' 13 */
  3386. { 119, 1, sq80_17_e_data + 4 }, /* 'grit_3' 14 */
  3387. { 256, 1, yw_sin_1_data + 4 }, /* end-of-waves marker */
  3388. }
  3389. #endif
  3390. },
  3391. { (char *)0 } /* end-of-wavetable marker */
  3392. };