// Copyright 2019 Jan-Henrik Bruhn. // // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // ----------------------------------------------------------------------------- // // Resources definitions. // // Automatically generated with: // make resources #include "pure_adsr/resources.h" namespace pure_adsr { static const prog_char str_res_dummy[] PROGMEM = "dummy"; const prog_char* const string_table[] = { str_res_dummy, }; const prog_uint16_t lut_res_env_linear[] PROGMEM = { 0, 257, 514, 771, 1028, 1285, 1542, 1799, 2056, 2313, 2570, 2827, 3084, 3341, 3598, 3855, 4112, 4369, 4626, 4883, 5140, 5397, 5654, 5911, 6168, 6425, 6682, 6939, 7196, 7453, 7710, 7967, 8224, 8481, 8738, 8995, 9252, 9509, 9766, 10023, 10280, 10537, 10794, 11051, 11308, 11565, 11822, 12079, 12336, 12593, 12850, 13107, 13364, 13621, 13878, 14135, 14392, 14649, 14906, 15163, 15420, 15677, 15934, 16191, 16448, 16705, 16962, 17219, 17476, 17733, 17990, 18247, 18504, 18761, 19018, 19275, 19532, 19789, 20046, 20303, 20560, 20817, 21074, 21331, 21588, 21845, 22102, 22359, 22616, 22873, 23130, 23387, 23644, 23901, 24158, 24415, 24672, 24929, 25186, 25443, 25700, 25957, 26214, 26471, 26728, 26985, 27242, 27499, 27756, 28013, 28270, 28527, 28784, 29041, 29298, 29555, 29812, 30069, 30326, 30583, 30840, 31097, 31354, 31611, 31868, 32125, 32382, 32639, 32896, 33153, 33410, 33667, 33924, 34181, 34438, 34695, 34952, 35209, 35466, 35723, 35980, 36237, 36494, 36751, 37008, 37265, 37522, 37779, 38036, 38293, 38550, 38807, 39064, 39321, 39578, 39835, 40092, 40349, 40606, 40863, 41120, 41377, 41634, 41891, 42148, 42405, 42662, 42919, 43176, 43433, 43690, 43947, 44204, 44461, 44718, 44975, 45232, 45489, 45746, 46003, 46260, 46517, 46774, 47031, 47288, 47545, 47802, 48059, 48316, 48573, 48830, 49087, 49344, 49601, 49858, 50115, 50372, 50629, 50886, 51143, 51400, 51657, 51914, 52171, 52428, 52685, 52942, 53199, 53456, 53713, 53970, 54227, 54484, 54741, 54998, 55255, 55512, 55769, 56026, 56283, 56540, 56797, 57054, 57311, 57568, 57825, 58082, 58339, 58596, 58853, 59110, 59367, 59624, 59881, 60138, 60395, 60652, 60909, 61166, 61423, 61680, 61937, 62194, 62451, 62708, 62965, 63222, 63479, 63736, 63993, 64250, 64507, 64764, 65021, 65278, 65535, 65535, }; const prog_uint16_t lut_res_env_expo[] PROGMEM = { 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 prog_uint16_t lut_res_env_quartic[] PROGMEM = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 4, 5, 6, 8, 9, 11, 14, 16, 19, 22, 25, 29, 33, 37, 42, 48, 53, 59, 66, 73, 81, 89, 98, 107, 117, 128, 139, 151, 164, 177, 191, 206, 222, 238, 256, 274, 293, 313, 334, 355, 378, 402, 427, 453, 480, 508, 537, 567, 599, 631, 665, 700, 737, 775, 814, 854, 896, 939, 984, 1030, 1077, 1127, 1177, 1230, 1283, 1339, 1396, 1455, 1515, 1577, 1641, 1707, 1775, 1844, 1916, 1989, 2064, 2141, 2220, 2302, 2385, 2470, 2557, 2647, 2739, 2833, 2929, 3027, 3128, 3231, 3336, 3444, 3554, 3667, 3782, 3899, 4019, 4142, 4267, 4395, 4525, 4658, 4794, 4933, 5074, 5218, 5365, 5515, 5668, 5824, 5983, 6144, 6309, 6477, 6648, 6822, 6999, 7179, 7363, 7550, 7740, 7933, 8130, 8330, 8534, 8741, 8951, 9165, 9383, 9604, 9829, 10057, 10289, 10525, 10765, 11008, 11255, 11507, 11761, 12020, 12283, 12550, 12821, 13096, 13375, 13658, 13945, 14237, 14532, 14832, 15137, 15445, 15758, 16076, 16397, 16724, 17054, 17390, 17730, 18074, 18423, 18777, 19136, 19499, 19868, 20241, 20618, 21001, 21389, 21781, 22179, 22582, 22990, 23403, 23821, 24244, 24672, 25106, 25545, 25990, 26440, 26895, 27355, 27821, 28293, 28770, 29253, 29742, 30236, 30735, 31241, 31752, 32270, 32793, 33321, 33856, 34397, 34944, 35497, 36056, 36621, 37192, 37769, 38353, 38943, 39539, 40142, 40751, 41366, 41988, 42617, 43251, 43893, 44541, 45196, 45857, 46526, 47201, 47882, 48571, 49267, 49969, 50678, 51395, 52118, 52849, 53587, 54332, 55084, 55843, 56610, 57384, 58165, 58954, 59750, 60553, 61364, 62183, 63010, 63843, 64685, 65535, 65535, }; const prog_uint16_t* const lookup_table_table[] = { lut_res_env_linear, lut_res_env_expo, lut_res_env_quartic, }; const prog_uint32_t lut_res_env_increments[] PROGMEM = { 3504693313, 3176601606, 2884013866, 2622586312, 2388566072, 2178702957, 1990175547, 1820529079, 1667623120, 1529587348, 1404784101, 1291776569, 1189301718, 1096247183, 1011631504, 934587183, 864346126, 800227116, 741624993, 688001314, 638876255, 593821582, 552454550, 514432575, 479448594, 447227012, 417520144, 390105102, 364781062, 341366853, 319698837, 299629042, 281023504, 263760808, 247730789, 232833385, 218977613, 206080659, 194067073, 182868042, 172420748, 162667792, 153556675, 145039341, 137071757, 129613544, 122627643, 116080011, 109939351, 104176866, 98766043, 93682448, 88903546, 84408543, 80178232, 76194860, 72442009, 68904484, 65568210, 62420143, 59448188, 56641118, 53988510, 51480677, 49108615, 46863947, 44738874, 42726133, 40818955, 39011029, 37296465, 35669767, 34125801, 32659769, 31267185, 29943852, 28685844, 27489481, 26351320, 25268129, 24236882, 23254735, 22319022, 21427239, 20577032, 19766190, 18992633, 18254405, 17549664, 16876677, 16233811, 15619528, 15032376, 14470989, 13934075, 13420417, 12928865, 12458333, 12007794, 11576280, 11162871, 10766702, 10386951, 10022842, 9673638, 9338643, 9017196, 8708673, 8412479, 8128051, 7854857, 7592388, 7340165, 7097730, 6864649, 6640510, 6424922, 6217511, 6017923, 5825821, 5640885, 5462808, 5291300, 5126085, 4966898, 4813488, 4665615, 4523052, 4385580, 4252991, 4125088, 4001681, 3882588, 3767639, 3656668, 3549518, 3446038, 3346084, 3249520, 3156214, 3066041, 2978879, 2894614, 2813136, 2734340, 2658124, 2584393, 2513053, 2444015, 2377196, 2312513, 2249888, 2189246, 2130516, 2073628, 2018517, 1965119, 1913373, 1863220, 1814606, 1767475, 1721775, 1677458, 1634475, 1592781, 1552330, 1513082, 1474994, 1438028, 1402145, 1367310, 1333488, 1300644, 1268747, 1237765, 1207668, 1178428, 1150015, 1122405, 1095570, 1069485, 1044128, 1019474, 995501, 972187, 949513, 927457, 906001, 885126, 864814, 845047, 825809, 807084, 788855, 771109, 753829, 737003, 720616, 704656, 689110, 673965, 659209, 644832, 630822, 617168, 603860, 590888, 578242, 565913, 553892, 542169, 530738, 519588, 508712, 498103, 487753, 477655, 467801, 458186, 448802, 439643, 430702, 421975, 413455, 405136, 397013, 389081, 381334, 373768, 366378, 359159, 352106, 345216, 338483, 331904, 325475, 319192, 313051, 307048, 301180, 295443, 289834, 284350, 278988, 273744, 268615, 263599, 258693, 253893, 249198, 244605, 240110, 235713, 231409, 227198, 223077, 219043, }; const prog_uint32_t lut_res_env_increments_slow[] PROGMEM = { 3504693, 3381406, 3263185, 3149790, 3040997, 2936593, 2836375, 2740152, 2647742, 2558972, 2473679, 2391707, 2312908, 2237142, 2164276, 2094182, 2026741, 1961838, 1899363, 1839212, 1781288, 1725495, 1671745, 1619951, 1570032, 1521911, 1475514, 1430770, 1387612, 1345976, 1305799, 1267025, 1229596, 1193460, 1158565, 1124863, 1092307, 1060853, 1030457, 1001080, 972682, 945226, 918676, 892998, 868159, 844128, 820875, 798370, 776588, 755500, 735082, 715309, 696158, 677607, 659634, 642219, 625341, 608982, 593124, 577749, 562840, 548381, 534356, 520751, 507551, 494743, 482312, 470248, 458536, 447165, 436124, 425402, 414989, 404874, 395047, 385499, 376222, 367205, 358442, 349923, 341641, 333588, 325758, 318142, 310735, 303530, 296520, 289700, 283063, 276605, 270318, 264199, 258242, 252442, 246795, 241296, 235939, 230723, 225641, 220690, 215866, 211166, 206585, 202121, 197770, 193528, 189393, 185361, 181430, 177597, 173858, 170211, 166654, 163184, 159798, 156495, 153272, 150126, 147056, 144060, 141135, 138279, 135491, 132769, 130111, 127516, 124981, 122504, 120086, 117723, 115415, 113160, 110956, 108803, 106698, 104641, 102631, 100666, 98745, 96867, 95030, 93235, 91479, 89762, 88082, 86440, 84833, 83262, 81724, 80220, 78748, 77307, 75898, 74519, 73169, 71847, 70554, 69288, 68048, 66835, 65647, 64483, 63344, 62228, 61136, 60065, 59017, 57990, 56984, 55999, 55034, 54088, 53161, 52252, 51362, 50490, 49635, 48797, 47975, 47170, 46380, 45606, 44848, 44104, 43374, 42658, 41957, 41269, 40594, 39932, 39283, 38646, 38021, 37408, 36806, 36216, 35637, 35069, 34512, 33965, 33428, 32900, 32383, 31875, 31377, 30888, 30407, 29936, 29473, 29018, 28572, 28133, 27703, 27280, 26865, 26457, 26056, 25663, 25276, 24897, 24524, 24157, 23797, 23443, 23096, 22754, 22419, 22089, 21765, 21446, 21133, 20825, 20523, 20226, 19933, 19646, 19364, 19086, 18813, 18544, 18280, 18021, 17765, 17514, 17268, 17025, 16786, 16551, 16320, 16093, 15869, 15650, 15433, 15220, 15011, 14805, 14602, }; const prog_uint32_t* const lookup_table_32_table[] = { lut_res_env_increments, lut_res_env_increments_slow, }; } // namespace pure_adsr