Files

copied
Last update 6 years 1 month by Olivier Gillet
Filesyarns
..
bootloader
drivers
hardware_design
resources
scale_editor
song
__init__.py
internal_clock.h
just_intonation_processor.cc
just_intonation_processor.h
layout_configurator.cc
layout_configurator.h
makefile
midi_handler.cc
midi_handler.h
multi.cc
multi.h
part.cc
part.h
resources.cc
resources.h
settings.cc
settings.h
storage_manager.cc
storage_manager.h
ui.cc
ui.h
voice.cc
voice.h
yarns.cc
resources.cc
// Copyright 2013 Olivier Gillet. // // Author: Olivier Gillet (ol.gillet@gmail.com) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. // // See http://creativecommons.org/licenses/MIT/ for more information. // // ----------------------------------------------------------------------------- // // Resources definitions. // // Automatically generated with: // make resources #include "yarns/resources.h" namespace yarns { static const char str_dummy[] = "dummy"; const char* string_table[] = { str_dummy, }; const uint16_t lut_env_expo[] = { 0, 1035, 2054, 3057, 4045, 5018, 5975, 6918, 7846, 8760, 9659, 10545, 11416, 12275, 13120, 13952, 14771, 15577, 16371, 17152, 17921, 18679, 19425, 20159, 20881, 21593, 22294, 22983, 23662, 24331, 24989, 25637, 26274, 26902, 27520, 28129, 28728, 29318, 29899, 30471, 31034, 31588, 32133, 32670, 33199, 33720, 34232, 34737, 35233, 35722, 36204, 36678, 37145, 37604, 38056, 38502, 38940, 39371, 39796, 40215, 40626, 41032, 41431, 41824, 42211, 42592, 42967, 43336, 43699, 44057, 44409, 44756, 45097, 45434, 45764, 46090, 46411, 46727, 47037, 47344, 47645, 47941, 48233, 48521, 48804, 49083, 49357, 49627, 49893, 50155, 50412, 50666, 50916, 51162, 51404, 51642, 51877, 52108, 52335, 52559, 52780, 52997, 53210, 53421, 53628, 53831, 54032, 54230, 54424, 54616, 54804, 54990, 55173, 55353, 55530, 55704, 55876, 56045, 56211, 56375, 56536, 56695, 56851, 57005, 57157, 57306, 57453, 57597, 57740, 57880, 58018, 58153, 58287, 58419, 58548, 58676, 58801, 58925, 59047, 59167, 59285, 59401, 59515, 59628, 59739, 59848, 59955, 60061, 60165, 60267, 60368, 60468, 60566, 60662, 60757, 60850, 60942, 61032, 61121, 61209, 61295, 61380, 61464, 61546, 61628, 61707, 61786, 61863, 61939, 62014, 62088, 62161, 62233, 62303, 62372, 62441, 62508, 62574, 62639, 62703, 62767, 62829, 62890, 62950, 63010, 63068, 63125, 63182, 63238, 63293, 63347, 63400, 63452, 63504, 63554, 63604, 63654, 63702, 63750, 63797, 63843, 63888, 63933, 63977, 64021, 64063, 64105, 64147, 64188, 64228, 64267, 64306, 64344, 64382, 64419, 64456, 64492, 64527, 64562, 64596, 64630, 64664, 64696, 64729, 64760, 64792, 64822, 64853, 64883, 64912, 64941, 64969, 64997, 65025, 65052, 65079, 65105, 65131, 65157, 65182, 65206, 65231, 65255, 65278, 65302, 65324, 65347, 65369, 65391, 65412, 65434, 65454, 65475, 65495, 65515, 65535, 65535, }; const uint16_t lut_arpeggiator_patterns[] = { 21845, 62965, 46517, 54741, 43861, 22869, 38293, 2313, 37449, 21065, 18761, 54553, 27499, 23387, 30583, 28087, 22359, 28527, 30431, 43281, 28609, 53505, }; const uint16_t lut_consonance[] = { 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400, 441, 484, 529, 576, 625, 676, 729, 784, 841, 900, 961, 1024, 1089, 1156, 1225, 1296, 1369, 1444, 1521, 1600, 1681, 1764, 1849, 1936, 2025, 2116, 2209, 2304, 2401, 2500, 2601, 2704, 2809, 2916, 3025, 3136, 3249, 3502, 3389, 3278, 3169, 3062, 2957, 2854, 2753, 2654, 2557, 2462, 2369, 2278, 2189, 2102, 2017, 1934, 1853, 1774, 1697, 1622, 1549, 1478, 1409, 1342, 1277, 1214, 1153, 1094, 1037, 982, 929, 878, 829, 782, 737, 694, 653, 614, 577, 542, 509, 478, 449, 422, 397, 374, 353, 334, 317, 302, 289, 278, 269, 262, 257, 254, 253, 254, 257, 262, 269, 278, 289, 302, 317, 334, 353, 374, 397, 422, 449, 231, 206, 183, 162, 143, 126, 111, 98, 87, 78, 71, 66, 63, 62, 63, 66, 71, 78, 87, 98, 111, 126, 143, 162, 183, 206, 231, 258, 287, 318, 351, 386, 423, 462, 503, 546, 591, 638, 687, 738, 791, 846, 903, 962, 1023, 1086, 1151, 1218, 1287, 1358, 1431, 1506, 1583, 1662, 1743, 1826, 1911, 1998, 2087, 1978, 1891, 1806, 1723, 1642, 1563, 1486, 1411, 1338, 1267, 1198, 1131, 1066, 1003, 942, 883, 826, 771, 718, 667, 618, 571, 526, 483, 442, 403, 366, 331, 298, 267, 238, 211, 186, 163, 142, 123, 106, 91, 78, 67, 58, 51, 46, 43, 42, 43, 46, 51, 58, 67, 78, 91, 106, 123, 142, 163, 186, 211, 234, 207, 182, 159, 138, 119, 102, 87, 74, 63, 54, 47, 42, 39, 38, 39, 42, 47, 54, 63, 74, 87, 102, 119, 138, 159, 182, 207, 234, 263, 294, 327, 362, 399, 438, 479, 522, 567, 614, 663, 714, 767, 822, 879, 938, 999, 1062, 1127, 1194, 1263, 1334, 1407, 1482, 1559, 1638, 1719, 1802, 1887, 1974, 2063, 2154, 2247, 2342, 2439, 2538, 2639, 2742, 2847, 2954, 3063, 3174, 3287, 3344, 3231, 3120, 3011, 2904, 2799, 2696, 2595, 2496, 2399, 2304, 2211, 2120, 2031, 1944, 1859, 1776, 1695, 1616, 1539, 1464, 1391, 1320, 1251, 1184, 1119, 1056, 995, 936, 879, 824, 771, 720, 671, 624, 579, 536, 495, 456, 419, 384, 351, 320, 291, 264, 239, 216, 195, 176, 159, 144, 131, 120, 111, 104, 99, 96, 95, 96, 99, 104, 111, 120, 131, 144, 159, 176, 195, 216, 239, 264, 291, 193, 168, 145, 124, 105, 88, 73, 60, 49, 40, 33, 28, 25, 24, 25, 28, 33, 40, 49, 60, 73, 88, 105, 124, 145, 168, 193, 220, 249, 280, 313, 348, 385, 424, 465, 508, 553, 600, 649, 700, 753, 808, 865, 924, 985, 1048, 1113, 1180, 1249, 1320, 1393, 1468, 1545, 1624, 1705, 1788, 1873, 1960, 2043, 1954, 1867, 1782, 1699, 1618, 1539, 1462, 1387, 1314, 1243, 1174, 1107, 1042, 979, 918, 859, 802, 747, 694, 643, 594, 547, 502, 459, 418, 379, 342, 307, 274, 243, 214, 187, 162, 139, 118, 99, 82, 67, 54, 43, 34, 27, 22, 19, 18, 19, 22, 27, 34, 43, 54, 67, 82, 99, 118, 139, 162, 187, 214, 321, 296, 273, 252, 233, 216, 201, 188, 177, 168, 161, 156, 153, 152, 153, 156, 161, 168, 177, 188, 201, 216, 233, 252, 273, 296, 321, 348, 377, 408, 441, 476, 513, 552, 593, 636, 681, 728, 777, 828, 881, 936, 993, 1052, 1113, 1176, 1241, 1308, 1377, 1448, 1521, 1596, 1673, 1752, 1833, 1916, 2001, 2088, 2177, 2268, 2361, 2456, 2553, 2652, 2753, 2856, 2961, 3068, 3177, 3288, 3401, 3261, 3148, 3037, 2928, 2821, 2716, 2613, 2512, 2413, 2316, 2221, 2128, 2037, 1948, 1861, 1776, 1693, 1612, 1533, 1456, 1381, 1308, 1237, 1168, 1101, 1036, 973, 912, 853, 796, 741, 688, 637, 588, 541, 496, 453, 412, 373, 336, 301, 268, 237, 208, 181, 156, 133, 112, 93, 76, 61, 48, 37, 28, 21, 16, 13, 12, 13, 16, 21, 28, 37, 48, 61, 76, 93, 112, 133, 156, 181, 208, 237, 268, 301, 336, 373, 412, 453, 496, 541, 588, 637, 688, 741, 796, 853, 912, 973, 1036, 1101, 1168, 1237, 1308, 1381, 1456, 1533, 1612, 1693, 1776, 1861, 1948, 2037, 2128, 2221, 2316, 2413, 2512, 2613, 2716, 2821, 2928, 3037, 3148, 3261, 3376, 3629, 3516, 3405, 3296, 3189, 3084, 2981, 2880, 2781, 2684, 2589, 2496, 2405, 2316, 2229, 2144, 2061, 1980, 1901, 1824, 1749, 1676, 1605, 1536, 1469, 1404, 1341, 1280, 1221, 1164, 1109, 1056, 1005, 956, 909, 864, 821, 780, 741, 704, 669, 636, 605, 576, 549, 524, 501, 480, 461, 444, 429, 416, 405, 396, 389, 384, 381, 380, 111, 110, 111, 114, 119, 126, 135, 146, 159, 174, 191, 210, 231, 254, 279, 276, 253, 232, 213, 196, 181, 168, 157, 148, 141, 136, 133, 132, 133, 342, 343, 346, 351, 358, 367, 378, 391, 406, 423, 442, 463, 486, 511, 538, 567, 598, 631, 666, 703, 742, 783, 826, 871, 918, 967, 1018, 1071, 1126, 1183, 1242, 1303, 1366, 1431, 1498, 1567, 1638, 1711, 1786, 1863, 1942, 2023, 2106, 2191, 2278, 2367, 2458, 2551, 2646, 2743, 2842, 2943, 3046, 3151, 3258, 3367, 3478, 3591, 3370, 3255, 3142, 3031, 2922, 2815, 2710, 2607, 2506, 2407, 2310, 2215, 2122, 2031, 1942, 1855, 1770, 1687, 1606, 1527, 1450, 1375, 1302, 1231, 1162, 1095, 1030, 967, 906, 847, 790, 735, 682, 631, 582, 535, 490, 447, 406, 367, 330, 295, 262, 231, 202, 175, 150, 127, 106, 87, 70, 55, 42, 31, 22, 15, 10, 7, 6, 7, 10, 15, 22, 31, 42, 55, 70, 87, 106, 127, 150, 175, 202, 231, 262, 295, 330, 367, 406, 447, 490, 535, 582, 631, 682, 735, 790, 847, 906, 967, 1030, 1095, 1162, 1231, 1302, 1375, 1450, 1527, 1606, 1687, 1770, 1855, 1942, 2031, 2122, 2215, 2310, 2407, 2506, 2607, 2710, 2815, 2922, 3031, 3142, 3255, 3426, 3313, 3202, 3093, 2986, 2881, 2778, 2677, 2578, 2481, 2386, 2293, 2202, 2113, 2026, 1941, 1858, 1777, 1698, 1621, 1546, 1473, 1402, 1333, 1266, 1201, 1138, 1077, 1018, 961, 906, 853, 802, 753, 706, 661, 618, 577, 538, 501, 466, 433, 402, 373, 346, 321, 298, 277, 258, 241, 226, 213, 202, 193, 186, 181, 178, 177, 178, 181, 186, 193, 202, 213, 226, 241, 258, 277, 298, 321, 346, 373, 197, 172, 149, 128, 109, 92, 77, 64, 53, 44, 37, 32, 29, 28, 29, 32, 37, 44, 53, 64, 77, 92, 109, 128, 149, 172, 197, 224, 253, 284, 317, 352, 389, 428, 469, 512, 557, 604, 653, 704, 757, 812, 869, 928, 989, 1052, 1117, 1184, 1253, 1324, 1397, 1472, 1549, 1628, 1709, 1792, 1877, 1964, 2040, 1951, 1864, 1779, 1696, 1615, 1536, 1459, 1384, 1311, 1240, 1171, 1104, 1039, 976, 915, 856, 799, 744, 691, 640, 591, 544, 499, 456, 415, 376, 339, 304, 271, 240, 211, 184, 159, 136, 115, 96, 79, 64, 51, 40, 31, 24, 19, 16, 15, 16, 19, 24, 31, 40, 51, 64, 79, 96, 115, 136, 159, 184, 211, 245, 220, 197, 176, 157, 140, 125, 112, 101, 92, 85, 80, 77, 76, 77, 80, 85, 92, 101, 112, 125, 140, 157, 176, 197, 220, 245, 272, 301, 332, 365, 400, 437, 476, 517, 560, 605, 652, 701, 752, 805, 860, 917, 976, 1037, 1100, 1165, 1232, 1301, 1372, 1445, 1520, 1597, 1676, 1757, 1840, 1925, 2012, 2101, 2192, 2285, 2380, 2477, 2576, 2677, 2780, 2885, 2992, 3101, 3212, 3325, 3300, 3187, 3076, 2967, 2860, 2755, 2652, 2551, 2452, 2355, 2260, 2167, 2076, 1987, 1900, 1815, 1732, 1651, 1572, 1495, 1420, 1347, 1276, 1207, 1140, 1075, 1012, 951, 892, 835, 780, 727, 676, 627, 580, 535, 492, 451, 412, 375, 340, 307, 276, 247, 220, 195, 172, 151, 132, 115, 100, 87, 76, 67, 60, 55, 52, 51, 52, 55, 60, 67, 76, 87, 100, 115, 132, 151, 172, 195, 220, 247, 199, 174, 151, 130, 111, 94, 79, 66, 55, 46, 39, 34, 31, 30, 31, 34, 39, 46, 55, 66, 79, 94, 111, 130, 151, 174, 199, 226, 255, 286, 319, 354, 391, 430, 471, 514, 559, 606, 655, 706, 759, 814, 871, 930, 991, 1054, 1119, 1186, 1255, 1326, 1399, 1474, 1551, 1630, 1711, 1794, 1879, 1966, 2072, 1983, 1896, 1811, 1728, 1647, 1568, 1491, 1416, 1343, 1272, 1203, 1136, 1071, 1008, 947, 888, 831, 776, 723, 672, 623, 576, 531, 488, 447, 408, 371, 336, 303, 272, 243, 216, 191, 168, 147, 128, 111, 96, 83, 72, 63, 56, 51, 48, 47, 48, 51, 56, 63, 72, 83, 96, 111, 128, 147, 168, 191, 216, 243, 391, 366, 343, 322, 303, 286, 271, 258, 247, 238, 231, 226, 223, 222, 223, 226, 231, 238, 247, 258, 271, 286, 303, 322, 343, 366, 391, 418, 447, 478, 511, 546, 583, 622, 663, 706, 751, 798, 847, 898, 951, 1006, 1063, 1122, 1183, 1246, 1311, 1378, 1447, 1518, 1591, 1666, 1743, 1822, 1903, 1986, 2071, 2158, 2247, 2338, 2431, 2526, 2623, 2722, 2823, 2926, 3031, 3138, 3247, 3358, 3471, 3249, 3136, 3025, 2916, 2809, 2704, 2601, 2500, 2401, 2304, 2209, 2116, 2025, 1936, 1849, 1764, 1681, 1600, 1521, 1444, 1369, 1296, 1225, 1156, 1089, 1024, 961, 900, 841, 784, 729, 676, 625, 576, 529, 484, 441, 400, 361, 324, 289, 256, 225, 196, 169, 144, 121, 100, 81, 64, 49, 36, 25, 16, 9, 4, 1, }; const uint16_t* lookup_table_table[] = { lut_env_expo, lut_arpeggiator_patterns, lut_consonance, }; const int16_t lut_scale_pythagorean[] = { 0, -13, 5, -8, 10, -3, 15, 3, -10, 8, -5, 13, }; const int16_t lut_scale_1_4_eb[] = { 0, 0, 0, 0, -64, 0, 0, 0, 0, 0, 0, -64, }; const int16_t lut_scale_1_4_e[] = { 0, 0, 0, 0, -64, 0, 0, 0, 0, 0, 0, 0, }; const int16_t lut_scale_1_4_ea[] = { 0, 0, 0, 0, -64, 0, 0, 0, 0, -64, 0, 0, }; const int16_t lut_scale_bhairav[] = { 0, -13, -141, -269, -18, -3, -131, 3, -10, -138, -266, -15, }; const int16_t lut_scale_gunakri[] = { 0, 15, -113, -241, -369, -3, -131, 3, 18, -110, -238, -366, }; const int16_t lut_scale_marwa[] = { 0, 15, -113, -241, -18, -146, -13, -141, -269, -20, -148, -15, }; const int16_t lut_scale_shree[] = { 0, -13, -141, -269, -18, -146, -13, 3, -10, -138, -266, -15, }; const int16_t lut_scale_purvi[] = { 0, 15, -113, -241, -18, -146, -13, 3, 18, -110, -238, -15, }; const int16_t lut_scale_bilawal[] = { 0, -128, 5, -123, -18, -3, -131, 3, -125, 8, -120, -15, }; const int16_t lut_scale_yaman[] = { 0, -128, 5, -123, 10, -118, 15, 3, -125, 8, -120, 13, }; const int16_t lut_scale_kafi[] = { 0, -128, -23, -8, -136, -3, -131, 3, -125, -20, -5, -133, }; const int16_t lut_scale_bhimpalasree[] = { 0, -128, 5, 20, -108, -3, -131, 3, -125, 8, 23, -105, }; const int16_t lut_scale_darbari[] = { 0, -128, 5, -8, -136, -3, -131, 3, -10, -138, -5, -133, }; const int16_t lut_scale_rageshree[] = { 0, -128, 5, -123, -18, -3, -131, 3, -125, -20, -5, -133, }; const int16_t lut_scale_khamaj[] = { 0, -128, 5, -123, -18, -3, -131, 3, -125, 8, -5, 13, }; const int16_t lut_scale_mimal[] = { 0, -128, 5, -8, -136, -3, -131, 3, -125, -20, -5, -15, }; const int16_t lut_scale_parameshwari[] = { 0, -13, -141, -8, -136, -3, -131, -259, -387, -20, -5, -133, }; const int16_t lut_scale_rangeshwari[] = { 0, -128, 5, -8, -136, -3, -131, 3, -125, -253, -381, -15, }; const int16_t lut_scale_gangeshwari[] = { 0, -128, -256, -384, -18, -3, -131, 3, -10, -138, -5, -133, }; const int16_t lut_scale_kameshwari[] = { 0, -128, 5, -123, -251, -379, -13, 3, -125, -20, -5, -133, }; const int16_t lut_scale_pa__kafi[] = { 0, -128, 5, -8, -136, -3, -131, 3, -125, 8, -5, -133, }; const int16_t lut_scale_natbhairav[] = { 0, -128, 5, -123, -18, -3, -131, 3, -10, -138, -266, -15, }; const int16_t lut_scale_m_kauns[] = { 0, -128, 5, -123, 10, -3, -131, -259, -10, -138, -5, -133, }; const int16_t lut_scale_bairagi[] = { 0, -13, -141, -269, -397, -3, -131, 3, -125, -253, -5, -133, }; const int16_t lut_scale_b_todi[] = { 0, -13, -141, -8, -136, -264, -392, 3, -125, -253, -5, -133, }; const int16_t lut_scale_chandradeep[] = { 0, -128, -256, -8, -136, -3, -131, 3, -125, -253, -5, -133, }; const int16_t lut_scale_kaushik_todi[] = { 0, -128, -256, -8, -136, -3, -13, -141, -10, -138, -266, -394, }; const int16_t lut_scale_jogeshwari[] = { 0, -128, -256, -8, -18, -3, -131, -259, -387, -20, -5, -133, }; const int16_t* lookup_table_signed_table[] = { lut_scale_pythagorean, lut_scale_1_4_eb, lut_scale_1_4_e, lut_scale_1_4_ea, lut_scale_bhairav, lut_scale_gunakri, lut_scale_marwa, lut_scale_shree, lut_scale_purvi, lut_scale_bilawal, lut_scale_yaman, lut_scale_kafi, lut_scale_bhimpalasree, lut_scale_darbari, lut_scale_kafi, lut_scale_rageshree, lut_scale_khamaj, lut_scale_mimal, lut_scale_parameshwari, lut_scale_rangeshwari, lut_scale_gangeshwari, lut_scale_kameshwari, lut_scale_pa__kafi, lut_scale_natbhairav, lut_scale_m_kauns, lut_scale_bairagi, lut_scale_b_todi, lut_scale_chandradeep, lut_scale_kaushik_todi, lut_scale_jogeshwari, lut_scale_yaman, }; const int16_t wav_exponential[] = { 32767, 32250, 31740, 31238, 30745, 30259, 29780, 29309, 28845, 28388, 27939, 27496, 27060, 26631, 26209, 25793, 25384, 24981, 24584, 24193, 23809, 23430, 23057, 22690, 22329, 21974, 21623, 21279, 20939, 20605, 20276, 19952, 19634, 19320, 19011, 18707, 18407, 18112, 17822, 17536, 17255, 16978, 16705, 16437, 16172, 15912, 15656, 15404, 15155, 14911, 14670, 14433, 14200, 13971, 13745, 13522, 13303, 13087, 12875, 12666, 12460, 12257, 12058, 11861, 11668, 11477, 11290, 11106, 10924, 10745, 10569, 10396, 10225, 10057, 9892, 9729, 9568, 9411, 9255, 9102, 8952, 8803, 8657, 8514, 8372, 8233, 8096, 7961, 7828, 7697, 7568, 7442, 7317, 7194, 7073, 6954, 6836, 6721, 6607, 6495, 6385, 6277, 6170, 6065, 5961, 5859, 5759, 5660, 5563, 5467, 5373, 5280, 5189, 5099, 5010, 4923, 4838, 4753, 4670, 4588, 4507, 4428, 4350, 4273, 4197, 4123, 4049, 3977, 3906, 3836, 3767, 3699, 3632, 3566, 3502, 3438, 3375, 3313, 3252, 3193, 3134, 3076, 3018, 2962, 2907, 2852, 2798, 2746, 2694, 2642, 2592, 2542, 2493, 2445, 2398, 2351, 2305, 2260, 2215, 2172, 2129, 2086, 2044, 2003, 1963, 1923, 1883, 1845, 1807, 1769, 1732, 1696, 1660, 1625, 1590, 1556, 1522, 1489, 1457, 1425, 1393, 1362, 1332, 1301, 1272, 1243, 1214, 1185, 1158, 1130, 1103, 1077, 1050, 1025, 999, 974, 950, 926, 902, 878, 855, 832, 810, 788, 766, 745, 724, 703, 683, 663, 643, 624, 604, 586, 567, 549, 531, 513, 496, 478, 462, 445, 429, 412, 397, 381, 366, 350, 336, 321, 306, 292, 278, 264, 251, 237, 224, 211, 199, 186, 174, 161, 149, 138, 126, 115, 103, 92, 81, 71, 60, 50, 39, 29, 19, 10, 0, }; const int16_t wav_ring[] = { 32767, 32229, 31393, 30273, 28886, 27253, 25395, 23334, 21096, 18706, 16191, 13578, 10894, 8168, 5425, 2694, 0, -2632, -5177, -7613, -9919, -12077, -14067, -15876, -17489, -18897, -20089, -21060, -21805, -22322, -22611, -22676, -22520, -22151, -21576, -20806, -19853, -18731, -17454, -16037, -14499, -12857, -11128, -9332, -7488, -5614, -3729, -1852, 0, 1809, 3558, 5232, 6818, 8300, 9668, 10911, 12020, 12988, 13807, 14474, 14986, 15342, 15541, 15585, 15478, 15224, 14829, 14300, 13645, 12874, 11996, 11022, 9965, 8836, 7648, 6414, 5146, 3858, 2563, 1273, 0, -1243, -2445, -3596, -4686, -5705, -6645, -7499, -8261, -8926, -9489, -9948, -10300, -10544, -10681, -10711, -10638, -10463, -10192, -9828, -9378, -8848, -8245, -7576, -6849, -6073, -5257, -4408, -3537, -2652, -1761, -875, 0, 854, 1681, 2472, 3220, 3921, 4567, 5154, 5678, 6135, 6522, 6837, 7079, 7247, 7341, 7362, 7311, 7191, 7005, 6755, 6445, 6081, 5666, 5207, 4707, 4174, 3613, 3030, 2431, 1822, 1211, 601, 0, -587, -1155, -1699, -2213, -2695, -3139, -3542, -3902, -4216, -4482, -4699, -4865, -4981, -5045, -5060, -5025, -4943, -4814, -4642, -4430, -4179, -3894, -3578, -3235, -2869, -2483, -2082, -1671, -1253, -832, -413, 0, 404, 794, 1168, 1521, 1852, 2157, 2435, 2682, 2898, 3081, 3230, 3344, 3423, 3468, 3478, 3454, 3397, 3309, 3191, 3045, 2872, 2677, 2459, 2224, 1972, 1707, 1431, 1148, 861, 572, 284, 0, -277, -546, -802, -1046, -1273, -1483, -1673, -1843, -1992, -2117, -2220, -2298, -2353, -2383, -2390, -2374, -2335, -2274, -2193, -2093, -1974, -1840, -1690, -1528, -1355, -1173, -984, -789, -592, -393, -195, 0, 191, 375, 551, 719, 875, 1019, 1150, 1267, 1369, 1455, 1526, 1580, 1617, 1638, 1643, 1631, }; const int16_t wav_steps[] = { 0, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, -16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, -8192, }; const int16_t wav_noise[] = { 13716, 7925, 19225, 14776, -9219, -1752, 302, -14859, 10004, -12184, 9356, -14191, 14789, -11050, -4443, -6793, -15925, -8351, -24206, 3269, -24844, 11845, 3855, 11758, 2660, 17759, 20738, -7045, -8666, -2637, -9087, 8833, -332, -10478, 3711, -3878, -7513, -10008, 10826, 1627, -3064, 13038, -2191, -478, -11239, -15288, 2176, 2964, -4685, 15752, -2115, 16201, 816, -670, 9801, 12353, -4583, -15963, -18605, 989, -30191, 32767, -1211, -8864, 5294, 2926, -7294, 4581, 2915, 8532, 266, 5006, -601, 5489, -5094, 14469, 5854, -1388, 6438, 5392, -7476, -444, 2764, 3974, -6866, -4343, -4285, -52, -13925, -1559, -10989, -1288, 1820, -4110, -7203, 10333, -595, -5758, 7185, 10779, 3766, 3602, -3824, 11074, -5103, -4542, -2329, 5936, -3550, 12485, 9837, -333, 1324, 431, 1856, -430, 4398, -9774, -290, -3732, -7579, -8316, -1394, 3009, 6207, -4046, 1178, -6466, 4795, -3700, 748, 814, 1874, 4395, -2306, 1054, 5236, -1481, 11375, -3876, -2250, 1255, -3723, -481, -3767, -2221, -8481, 854, 3222, 313, -594, -1866, -1799, 3864, -932, -2634, 1558, -454, 766, 2099, -999, 2109, 2329, 989, 4429, 927, -3405, 3288, 1454, -2031, 314, 2094, -2280, -537, 3018, -1312, 1277, -590, 1563, 424, -716, 365, 110, 1780, 101, -1317, -1419, 882, -932, 378, 1670, -1524, -813, -460, 359, -1433, 188, 343, -1138, 1133, -1389, -1309, 727, -385, 498, -5, -157, -1029, -584, 1036, 622, 117, 226, -497, -134, 212, -1298, -24, 298, -507, -99, -333, 394, 489, 551, 419, -164, 142, 2, 86, 206, -5, 149, -84, 145, 70, -15, -86, -3, -4, 74, 95, -54, -4, 29, -22, 40, 35, -12, -15, -17, -11, -1, 0, 0, 0, 0, }; const int16_t wav_sine[] = { 0, -201, -402, -603, -804, -1005, -1206, -1407, -1608, -1809, -2009, -2210, -2410, -2611, -2811, -3012, -3212, -3412, -3612, -3811, -4011, -4210, -4410, -4609, -4808, -5007, -5205, -5404, -5602, -5800, -5998, -6195, -6393, -6590, -6786, -6983, -7179, -7375, -7571, -7767, -7962, -8157, -8351, -8545, -8739, -8933, -9126, -9319, -9512, -9704, -9896, -10087, -10278, -10469, -10659, -10849, -11039, -11228, -11417, -11605, -11793, -11980, -12167, -12353, -12539, -12725, -12910, -13094, -13279, -13462, -13645, -13828, -14010, -14191, -14372, -14553, -14732, -14912, -15090, -15269, -15446, -15623, -15800, -15976, -16151, -16325, -16499, -16673, -16846, -17018, -17189, -17360, -17530, -17700, -17869, -18037, -18204, -18371, -18537, -18703, -18868, -19032, -19195, -19357, -19519, -19680, -19841, -20000, -20159, -20317, -20475, -20631, -20787, -20942, -21096, -21250, -21403, -21554, -21705, -21856, -22005, -22154, -22301, -22448, -22594, -22739, -22884, -23027, -23170, -23311, -23452, -23592, -23731, -23870, -24007, -24143, -24279, -24413, -24547, -24680, -24811, -24942, -25072, -25201, -25329, -25456, -25582, -25708, -25832, -25955, -26077, -26198, -26319, -26438, -26556, -26674, -26790, -26905, -27019, -27133, -27245, -27356, -27466, -27575, -27683, -27790, -27896, -28001, -28105, -28208, -28310, -28411, -28510, -28609, -28706, -28803, -28898, -28992, -29085, -29177, -29268, -29358, -29447, -29534, -29621, -29706, -29791, -29874, -29956, -30037, -30117, -30195, -30273, -30349, -30424, -30498, -30571, -30643, -30714, -30783, -30852, -30919, -30985, -31050, -31113, -31176, -31237, -31297, -31356, -31414, -31470, -31526, -31580, -31633, -31685, -31736, -31785, -31833, -31880, -31926, -31971, -32014, -32057, -32098, -32137, -32176, -32213, -32250, -32285, -32318, -32351, -32382, -32412, -32441, -32469, -32495, -32521, -32545, -32567, -32589, -32609, -32628, -32646, -32663, -32678, -32692, -32705, -32717, -32728, -32737, -32745, -32752, -32757, -32761, -32765, -32766, -32767, -32766, -32765, -32761, -32757, -32752, -32745, -32737, -32728, -32717, -32705, -32692, -32678, -32663, -32646, -32628, -32609, -32589, -32567, -32545, -32521, -32495, -32469, -32441, -32412, -32382, -32351, -32318, -32285, -32250, -32213, -32176, -32137, -32098, -32057, -32014, -31971, -31926, -31880, -31833, -31785, -31736, -31685, -31633, -31580, -31526, -31470, -31414, -31356, -31297, -31237, -31176, -31113, -31050, -30985, -30919, -30852, -30783, -30714, -30643, -30571, -30498, -30424, -30349, -30273, -30195, -30117, -30037, -29956, -29874, -29791, -29706, -29621, -29534, -29447, -29358, -29268, -29177, -29085, -28992, -28898, -28803, -28706, -28609, -28510, -28411, -28310, -28208, -28105, -28001, -27896, -27790, -27683, -27575, -27466, -27356, -27245, -27133, -27019, -26905, -26790, -26674, -26556, -26438, -26319, -26198, -26077, -25955, -25832, -25708, -25582, -25456, -25329, -25201, -25072, -24942, -24811, -24680, -24547, -24413, -24279, -24143, -24007, -23870, -23731, -23592, -23452, -23311, -23170, -23027, -22884, -22739, -22594, -22448, -22301, -22154, -22005, -21856, -21705, -21554, -21403, -21250, -21096, -20942, -20787, -20631, -20475, -20317, -20159, -20000, -19841, -19680, -19519, -19357, -19195, -19032, -18868, -18703, -18537, -18371, -18204, -18037, -17869, -17700, -17530, -17360, -17189, -17018, -16846, -16673, -16499, -16325, -16151, -15976, -15800, -15623, -15446, -15269, -15090, -14912, -14732, -14553, -14372, -14191, -14010, -13828, -13645, -13462, -13279, -13094, -12910, -12725, -12539, -12353, -12167, -11980, -11793, -11605, -11417, -11228, -11039, -10849, -10659, -10469, -10278, -10087, -9896, -9704, -9512, -9319, -9126, -8933, -8739, -8545, -8351, -8157, -7962, -7767, -7571, -7375, -7179, -6983, -6786, -6590, -6393, -6195, -5998, -5800, -5602, -5404, -5205, -5007, -4808, -4609, -4410, -4210, -4011, -3811, -3612, -3412, -3212, -3012, -2811, -2611, -2410, -2210, -2009, -1809, -1608, -1407, -1206, -1005, -804, -603, -402, -201, 0, 201, 402, 603, 804, 1005, 1206, 1407, 1608, 1809, 2009, 2210, 2410, 2611, 2811, 3012, 3212, 3412, 3612, 3811, 4011, 4210, 4410, 4609, 4808, 5007, 5205, 5404, 5602, 5800, 5998, 6195, 6393, 6590, 6786, 6983, 7179, 7375, 7571, 7767, 7962, 8157, 8351, 8545, 8739, 8933, 9126, 9319, 9512, 9704, 9896, 10087, 10278, 10469, 10659, 10849, 11039, 11228, 11417, 11605, 11793, 11980, 12167, 12353, 12539, 12725, 12910, 13094, 13279, 13462, 13645, 13828, 14010, 14191, 14372, 14553, 14732, 14912, 15090, 15269, 15446, 15623, 15800, 15976, 16151, 16325, 16499, 16673, 16846, 17018, 17189, 17360, 17530, 17700, 17869, 18037, 18204, 18371, 18537, 18703, 18868, 19032, 19195, 19357, 19519, 19680, 19841, 20000, 20159, 20317, 20475, 20631, 20787, 20942, 21096, 21250, 21403, 21554, 21705, 21856, 22005, 22154, 22301, 22448, 22594, 22739, 22884, 23027, 23170, 23311, 23452, 23592, 23731, 23870, 24007, 24143, 24279, 24413, 24547, 24680, 24811, 24942, 25072, 25201, 25329, 25456, 25582, 25708, 25832, 25955, 26077, 26198, 26319, 26438, 26556, 26674, 26790, 26905, 27019, 27133, 27245, 27356, 27466, 27575, 27683, 27790, 27896, 28001, 28105, 28208, 28310, 28411, 28510, 28609, 28706, 28803, 28898, 28992, 29085, 29177, 29268, 29358, 29447, 29534, 29621, 29706, 29791, 29874, 29956, 30037, 30117, 30195, 30273, 30349, 30424, 30498, 30571, 30643, 30714, 30783, 30852, 30919, 30985, 31050, 31113, 31176, 31237, 31297, 31356, 31414, 31470, 31526, 31580, 31633, 31685, 31736, 31785, 31833, 31880, 31926, 31971, 32014, 32057, 32098, 32137, 32176, 32213, 32250, 32285, 32318, 32351, 32382, 32412, 32441, 32469, 32495, 32521, 32545, 32567, 32589, 32609, 32628, 32646, 32663, 32678, 32692, 32705, 32717, 32728, 32737, 32745, 32752, 32757, 32761, 32765, 32766, 32767, 32766, 32765, 32761, 32757, 32752, 32745, 32737, 32728, 32717, 32705, 32692, 32678, 32663, 32646, 32628, 32609, 32589, 32567, 32545, 32521, 32495, 32469, 32441, 32412, 32382, 32351, 32318, 32285, 32250, 32213, 32176, 32137, 32098, 32057, 32014, 31971, 31926, 31880, 31833, 31785, 31736, 31685, 31633, 31580, 31526, 31470, 31414, 31356, 31297, 31237, 31176, 31113, 31050, 30985, 30919, 30852, 30783, 30714, 30643, 30571, 30498, 30424, 30349, 30273, 30195, 30117, 30037, 29956, 29874, 29791, 29706, 29621, 29534, 29447, 29358, 29268, 29177, 29085, 28992, 28898, 28803, 28706, 28609, 28510, 28411, 28310, 28208, 28105, 28001, 27896, 27790, 27683, 27575, 27466, 27356, 27245, 27133, 27019, 26905, 26790, 26674, 26556, 26438, 26319, 26198, 26077, 25955, 25832, 25708, 25582, 25456, 25329, 25201, 25072, 24942, 24811, 24680, 24547, 24413, 24279, 24143, 24007, 23870, 23731, 23592, 23452, 23311, 23170, 23027, 22884, 22739, 22594, 22448, 22301, 22154, 22005, 21856, 21705, 21554, 21403, 21250, 21096, 20942, 20787, 20631, 20475, 20317, 20159, 20000, 19841, 19680, 19519, 19357, 19195, 19032, 18868, 18703, 18537, 18371, 18204, 18037, 17869, 17700, 17530, 17360, 17189, 17018, 16846, 16673, 16499, 16325, 16151, 15976, 15800, 15623, 15446, 15269, 15090, 14912, 14732, 14553, 14372, 14191, 14010, 13828, 13645, 13462, 13279, 13094, 12910, 12725, 12539, 12353, 12167, 11980, 11793, 11605, 11417, 11228, 11039, 10849, 10659, 10469, 10278, 10087, 9896, 9704, 9512, 9319, 9126, 8933, 8739, 8545, 8351, 8157, 7962, 7767, 7571, 7375, 7179, 6983, 6786, 6590, 6393, 6195, 5998, 5800, 5602, 5404, 5205, 5007, 4808, 4609, 4410, 4210, 4011, 3811, 3612, 3412, 3212, 3012, 2811, 2611, 2410, 2210, 2009, 1809, 1608, 1407, 1206, 1005, 804, 603, 402, 201, 0, }; const int16_t* waveform_table[] = { wav_exponential, wav_ring, wav_steps, wav_noise, wav_sine, }; const uint32_t lut_lfo_increments[] = { 536870, 551723, 566986, 582672, 598792, 615357, 632381, 649876, 667855, 686331, 705319, 724831, 744884, 765491, 786668, 808431, 830797, 853781, 877401, 901674, 926619, 952254, 978598, 1005671, 1033493, 1062084, 1091467, 1121662, 1152693, 1184583, 1217354, 1251032, 1285642, 1321209, 1357761, 1395323, 1433925, 1473594, 1514362, 1556256, 1599310, 1643555, 1689024, 1735751, 1783771, 1833119, 1883832, 1935948, 1989506, 2044546, 2101109, 2159236, 2218971, 2280359, 2343445, 2408277, 2474902, 2543370, 2613732, 2686041, 2760351, 2836716, 2915194, 2995843, 3078723, 3163896, 3251425, 3341376, 3433815, 3528812, 3626436, 3726762, 3829863, 3935816, 4044700, 4156597, 4271589, 4389763, 4511206, 4636008, 4764264, 4896067, 5031517, 5170714, 5313762, 5460767, 5611840, 5767091, 5926638, 6090599, 6259095, 6432253, 6610202, 6793073, 6981004, 7174133, 7372606, 7576569, 7786175, 8001580, 8222944, 8450432, 8684213, 8924462, 9171357, 9425083, 9685828, 9953787, 10229159, 10512149, 10802967, 11101832, 11408964, 11724593, 12048954, 12382289, 12724845, 13076879, 13438651, 13810431, 14192497, 14585133, 14988631, 15403292, 15829424, 16267345, 16717382, 17179869, }; const uint32_t lut_portamento_increments[] = { 1431655765, 1106222130, 868222962, 690923537, 556658529, 453480095, 373137450, 309825343, 259389627, 218811719, 185867296, 158896175, 136644562, 118155233, 102690005, 89674278, 78656889, 69280712, 61260914, 54368700, 48419063, 43261459, 38772666, 34851256, 31413304, 28389016, 25720076, 23357538, 21260142, 19392971, 17726353, 16234984, 14897210, 13694433, 12610630, 11631955, 10746405, 9943546, 9214282, 8550665, 7945730, 7393357, 6888161, 6425388, 6000834, 5610773, 5251896, 4921259, 4616237, 4334485, 4073904, 3832614, 3608927, 3401323, 3208435, 3029028, 2861988, 2706306, 2561066, 2425440, 2298675, 2180084, 2069043, 1964983, 1867383, 1775769, 1689704, 1608791, 1532664, 1460986, 1393451, 1329773, 1269691, 1212964, 1159371, 1108705, 1060776, 1015410, 972443, 931725, 893116, 856487, 821716, 788692, 757310, 727474, 699093, 672082, 646363, 621863, 598513, 576249, 555010, 534741, 515389, 496904, 479241, 462355, 446207, 430757, 415971, 401813, 388253, 375260, 362806, 350865, 339410, 328420, 317870, 307741, 298012, 288665, 279681, 271044, 262738, 254747, 247058, 239657, 232531, 225668, 219056, 212685, 206543, 200622, 194911, 189403, 184087, 178956, }; const uint32_t lut_oscillator_increments[] = { 594570139, 598878640, 603218361, 607589530, 611992374, 616427123, 620894008, 625393262, 629925120, 634489817, 639087591, 643718683, 648383334, 653081787, 657814287, 662581081, 667382416, 672218544, 677089717, 681996188, 686938214, 691916051, 696929960, 701980202, 707067040, 712190739, 717351567, 722549792, 727785686, 733059521, 738371572, 743722117, 749111434, 754539804, 760007511, 765514839, 771062075, 776649508, 782277431, 787946136, 793655918, 799407076, 805199909, 811034720, 816911812, 822831491, 828794068, 834799851, 840849155, 846942294, 853079587, 859261354, 865487916, 871759598, 878076727, 884439633, 890848647, 897304104, 903806339, 910355693, 916952505, 923597121, 930289887, 937031151, 943821265, 950660583, 957549461, 964488259, 971477339, 978517064, 985607802, 992749922, 999943798, 1007189803, 1014488315, 1021839716, 1029244387, 1036702717, 1044215092, 1051781905, 1059403550, 1067080425, 1074812930, 1082601467, 1090446444, 1098348268, 1106307352, 1114324111, 1122398963, 1130532329, 1138724632, 1146976300, 1155287763, 1163659455, 1172091811, 1180585271, 1189140279, }; const uint32_t lut_euclidean[] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 1, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 1, 5, 13, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 1, 9, 13, 29, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 1, 9, 21, 45, 61, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 0, 1, 17, 41, 45, 93, 125, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 0, 1, 17, 41, 85, 173, 221, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 1, 33, 73, 169, 173, 365, 445, 509, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 0, 1, 33, 145, 297, 341, 429, 733, 957, 1021, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 0, 1, 65, 145, 297, 681, 685, 1453, 1757, 1917, 2045, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 0, 1, 65, 273, 585, 1193, 1365, 1709, 2925, 3549, 3965, 4093, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 0, 1, 129, 545, 1169, 2345, 2729, 2733, 3501, 5853, 7101, 7933, 8189, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 0, 1, 129, 545, 2193, 2345, 5289, 5461, 5805, 11693, 11997, 15293, 16125, 16381, 16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383, 0, 1, 257, 1057, 2193, 4681, 9513, 10921, 10925, 13741, 23405, 28381, 30653, 32253, 32765, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 0, 1, 257, 2113, 4369, 9361, 10537, 21161, 21845, 23213, 44461, 46813, 56797, 61309, 65021, 65533, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 0, 1, 513, 2113, 8737, 17553, 18729, 38057, 43689, 43693, 54957, 93613, 95965, 113597, 126845, 130045, 131069, 131071, 131071, 131071, 131071, 131071, 131071, 131071, 131071, 131071, 131071, 131071, 131071, 131071, 131071, 131071, 0, 1, 513, 4161, 16929, 34961, 37449, 76073, 86697, 87381, 88749, 109997, 187245, 192221, 228285, 253821, 261117, 262141, 262143, 262143, 262143, 262143, 262143, 262143, 262143, 262143, 262143, 262143, 262143, 262143, 262143, 262143, 0, 1, 1025, 8321, 16929, 34961, 74897, 84265, 169129, 174761, 174765, 186029, 355757, 374493, 454365, 490429, 507645, 522237, 524285, 524287, 524287, 524287, 524287, 524287, 524287, 524287, 524287, 524287, 524287, 524287, 524287, 524287, 0, 1, 1025, 8321, 33825, 69905, 148625, 149801, 304425, 346793, 349525, 354989, 439725, 748973, 751325, 908765, 980925, 1031933, 1046525, 1048573, 1048575, 1048575, 1048575, 1048575, 1048575, 1048575, 1048575, 1048575, 1048575, 1048575, 1048575, 1048575, 0, 1, 2049, 16513, 67649, 139809, 280721, 299593, 338217, 677033, 699049, 699053, 743085, 1420717, 1497965, 1535709, 1817533, 1961853, 2064125, 2093053, 2097149, 2097151, 2097151, 2097151, 2097151, 2097151, 2097151, 2097151, 2097151, 2097151, 2097151, 2097151, 0, 1, 2049, 33025, 133185, 270881, 297105, 599185, 608553, 1217705, 1395369, 1398101, 1403565, 1758893, 2977197, 2995933, 3600093, 3652541, 3927933, 4128253, 4190205, 4194301, 4194303, 4194303, 4194303, 4194303, 4194303, 4194303, 4194303, 4194303, 4194303, 4194303, 0, 1, 4097, 33025, 133185, 541217, 559249, 1189009, 1198377, 2435369, 2708137, 2796201, 2796205, 2972333, 3517869, 5991853, 6010589, 7270109, 7306173, 8122237, 8322557, 8380413, 8388605, 8388607, 8388607, 8388607, 8388607, 8388607, 8388607, 8388607, 8388607, 8388607, 0, 1, 4097, 65793, 266305, 541217, 1118481, 2245777, 2396745, 2697513, 4887721, 5581481, 5592405, 5614253, 7001773, 11382189, 11983725, 12285661, 14540253, 15694781, 16244605, 16645629, 16769021, 16777213, 16777215, 16777215, 16777215, 16777215, 16777215, 16777215, 16777215, 16777215, 0, 1, 8193, 131585, 532609, 1082401, 2236961, 4491409, 4793489, 4868393, 9741609, 11096745, 11184809, 11184813, 11360941, 14071213, 23817645, 23967453, 24571613, 29080509, 31389629, 32489213, 33291261, 33538045, 33554429, 33554431, 33554431, 33554431, 33554431, 33554431, 33554431, 33554431, 0, 1, 8193, 131585, 1056897, 2164801, 4465185, 4753553, 9577617, 9586985, 19212585, 21664937, 22358697, 22369621, 22391469, 23778989, 28683693, 47934893, 47953629, 57601757, 58178493, 62779261, 64995069, 66845693, 67092477, 67108861, 67108863, 67108863, 67108863, 67108863, 67108863, 67108863, 0, 1, 16385, 262657, 1056897, 4261953, 8667681, 8947857, 19022993, 19173961, 21580073, 38966441, 44389033, 44739241, 44739245, 45439661, 56284845, 91057581, 95869805, 96171741, 116322013, 116882365, 125693821, 132103933, 133692413, 134184957, 134217725, 134217727, 134217727, 134217727, 134217727, 134217727, 0, 1, 16385, 525313, 2113665, 8521793, 8929825, 17895697, 35932305, 38347921, 38422825, 77932841, 86660265, 89434793, 89478485, 89565869, 95114925, 112569773, 191589805, 191739613, 196570845, 232644061, 250575805, 251391869, 264208125, 267384829, 268402685, 268435453, 268435455, 268435455, 268435455, 268435455, 0, 1, 32769, 525313, 4227329, 8521793, 17318433, 35791393, 38045841, 76620945, 76695849, 86321449, 156406953, 177556137, 178956969, 178956973, 181758637, 224057005, 364228013, 383479213, 383629021, 460779229, 465288125, 502234045, 519827325, 528416253, 535820285, 536805373, 536870909, 536870911, 536870911, 536870911, 0, 1, 32769, 1049601, 8421633, 17043521, 34636833, 71442977, 71862417, 152192145, 153391689, 155797801, 311731497, 346641065, 357870249, 357913941, 358001325, 380459693, 450278829, 762146221, 766958445, 769357533, 930016989, 930855869, 1004468157, 1039654781, 1056898557, 1071642621, 1073676285, 1073741821, 1073741823, 1073741823, 0, 1, 65537, 2099201, 8421633, 34087041, 69273665, 138682913, 143165585, 287458449, 306783377, 307382569, 614803753, 625644713, 714427049, 715827881, 715827885, 718629549, 896194221, 917876141, 1532718509, 1533916893, 1572566749, 1861152477, 1870117821, 2008936317, 2079309565, 2130640381, 2143285245, 2147352573, 2147483645, 2147483647, 0, 1, 65537, 2099201, 16843009, 67641473, 138479681, 277365281, 286331153, 574916753, 613491857, 613566761, 690563369, 1246925993, 1386828457, 1431481001, 1431655765, 1432005293, 1521310381, 1801115309, 2913840557UL, 3067833773UL, 3067983581UL, 3145133789UL, 3722304989UL, 3740236733UL, 4018007933UL, 4159684349UL, 4261281277UL, 4290768893UL, 4294836221UL, 4294967293UL, }; const uint32_t* lookup_table_32_table[] = { lut_lfo_increments, lut_portamento_increments, lut_oscillator_increments, lut_euclidean, }; const uint16_t chr_characters[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 1280, 29012, 46420, 9352, 39716, 256, 39936, 61440, 1020, 340, 8, 68, 16, 136, 64512, 24576, 55364, 61508, 25668, 46148, 48196, 57344, 64580, 62532, 272, 264, 160, 4164, 520, 33936, 64592, 60484, 61776, 39936, 61712, 40004, 35908, 48192, 27716, 37136, 30720, 3236, 7168, 28288, 28192, 64512, 52292, 64544, 52324, 46148, 33040, 31744, 3208, 27688, 680, 656, 37000, 39936, 544, 61440, 40, 4096, 512, 63556, 7204, 6212, 28744, 39940, 35844, 62016, 11332, 4180, 12352, 432, 272, 10324, 8272, 14404, 35972, 50276, 80, 45632, 7172, 14336, 2056, 10280, 680, 29248, 4108, 37388, 272, 37088, 68, 0, 24736, 3592, 33408, 4136, 224, 524, 896, 56, 24712, 18568, 24, 40, 60416, 10308, 4368, 11840, 64520, 64516, 65024, 64768, 64640, 64576, 64544, 64528, 49152, 57344, 28672, 14336, 6144, 7168, 35840, 50176, 65532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65532, }; const uint16_t* char_table[] = { chr_characters, }; } // namespace yarns
Report a bug