text/html||[{"branches":["googleplay","master"],"date":1786510844,"description":"remove unnecessary 'ProvideTextSyle()'. moved version to topbar","id":"f8ea28a5294f822e381a7188b8bcb484136bcad5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay"],"date":1786510111,"description":"buy a coffee up-and-running","id":"05e2278ec96087668369088a5a30acf03ccefc7e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay"],"date":1786469673,"description":"donation button styling","id":"ca1af7b5b5d69a648bf4c8b556cf490cf3c54238","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay"],"date":1786463142,"description":"donate user interface roughed out","id":"ce4d20a2f019a96c2e6591d2f456afa602d3d710","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay"],"date":1786435384,"description":"rough billing query","id":"ceb3dbd65b71770c074c7e6c0bdff75ebc0b7882","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay"],"date":1786381704,"description":"figuring out google play billing interface","id":"4d7dd03d427d4b3f44b21fc6b0f8fdf4531820ff","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1786256199,"description":"no longer forcing pan on L\/R Linked samples","id":"d4c1a5658ecc7dfb2a492e67aaa0f8c7183bb261","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1786250394,"description":"no longer loading L\/R linked samples","id":"3936825131de99ea2b9c910b3f3804044f1632f7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1786226286,"description":"version bump","id":"dd665e9673005b4e39370ddc4b5ee63c111568c8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1786226141,"description":"getDevicesForTransport() Using TRANSPORT_MIDI_BYTE_STREAM again","id":"8570a69df62e5856f3bdac63ecc6e32a0c45f826","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1786170702,"description":"force set_soundfont when sample_rate changes in settings.","id":"2c16770b6e739b14da43068210ce7a88be4c0774","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1786167697,"description":"resolves #195","id":"f0fb9a26b199b9bdfe62f689c68808de76fa2f3b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1786078725,"description":"update changelog","id":"3e5de2911af121b709269983b0119722e4c952e9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1786078470,"description":"version bump","id":"4d6b302ad3461ef6c13c7d4bb8f2f324f7be42d9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1786076988,"description":"remove initial_selection on radial menu","id":"721d1ab2e13eb73d4ad0ecf5f6e5eacd5c2730a2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1786076056,"description":"tweaks to radial menu sensitivity","id":"3e718a1327a8e9782b05f7d6d98ac9333bcab28d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1786068920,"description":"block click with radial_menu","id":"fd7f02d4b1187c4dc187e4d7602505040f9d27c2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1786066621,"description":"extra check against mysterious OOB","id":"0cb7b67a314ba628f6b52a2fc13b729d4ab17ced","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1786060300,"description":"radial_menu callback trigger less sensitive","id":"ac19a08729957ff5075ef747dd2c687005e72d41","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1786051573,"description":"fix control_play_toggle (caused crash)","id":"3515f3615ac7073453f5ca3b558b4db5d4fbeb44","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1786048595,"description":"rescan project list when set in coroutine. resolves #193","id":"5b367c132e1236806d6f72b5b1522ba9cf4a5c24","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1786030811,"description":"applied radial menu options to split\/insert leafs","id":"60748fd1627c58c8ba5d66d3c48aea4331d751ee","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785896630,"description":"set durations +2\/+3 will set max duration as fallback","id":"8339033e2299802170e93d19e832c13bf50fd92e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785885787,"description":"radial menu first-pass complete","id":"29da01e2df8de3192f6d933b2982b14d2ec9f839","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785864330,"description":"duration radial menu functional","id":"ace64c079c8cd6c83b0dce9b0fda2e2da7adbe82","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785858348,"description":"radial menu colors","id":"a19dba93d5bd8628712a8ba5fb9b49e4d05a9df2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785856374,"description":"animated radial menu, added controllable offset","id":"74ab51ea52d81b6463fb1f0945e56becfa8a14fa","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785853674,"description":"fixed unnecessary capitalization","id":"4c083fc17be58d77d7d6387f6eae4bb02cc69966","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785825755,"description":"radial menu work","id":"765b5bd38758eaef4586ba142ed59d9c854d287d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785824132,"description":"added set_max_duration() functions","id":"094927eb569936e6699f395c14fef488fddfb882","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785802398,"description":"version bump","id":"2cbe59ce66d55360d44937acb9a567dba24d7fa4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785783276,"description":"update persistent notification when project changes\/loads","id":"eb3d678705353156d327db39b5904e7afcd0acb7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785771908,"description":"update url string resources to codeberg. changed launchMode to singleTop","id":"175e4989fbe49cc2f3d1bae22e747d5c281bc1e0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785734534,"description":"slightly more organized poc for radial menu","id":"6696bc3f5136cdd560e9d5965817969c68787872","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785732987,"description":"rough radial menu. drag\/select\/release & callback are functional (#192)","id":"e864f6d4e98987dbd2b796d80fb3a9964adbc2c6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785645177,"description":"tapping notification opens activity. also added assurance that notification gets removed onDestroy","id":"797ba0ac6c486ad604670e1371d85c81d31d1e0c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785552143,"description":"work on radial menu","id":"46622a8d94de04b98feee36cfc5bba63696c2ac3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785513683,"description":"work on radial menu popup (per #192)","id":"caece1c4815efe3171b298682df5fc31c0854b00","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785427261,"description":"fixed spill color","id":"4b8c0c35bd15ed1ac71e89a2c13ecb238bc48113","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785427118,"description":"created DrawScopeHooks for PaganTheme. added adjusted_line\/leaf_color to PaganColorScheme","id":"2e0ae197b6a275e131171d9374555dfe4b373ec6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785363321,"description":"moved leaf and background to DrawScope","id":"957a4e7240878e0a5af8fbe2503419523a85da0a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785357189,"description":"themes associated with enums","id":"f70b6200929a17544dd5d5468b6c3c7ef5b820ea","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785314350,"description":"work on color theming","id":"f619edd9b3d2e36ae34bdc6356857e0893fbfbc2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785255988,"description":"organized themes more","id":"59564c233dd05f3fa6a357945611949bd11f72cb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785253229,"description":"created PaganDimensions.Default() and removed unused dimensions","id":"e63c7753c75e91ac551981b53d67565ab717f1a9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785219095,"description":"moved Shapes default constructor to Shapes.Default() and created Shapes.Undefined()","id":"da7fdc66695e13e62864f253421dd508e79aebb5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785181663,"description":"Update README.md","id":"eaa5092ce0d7b39f94322e65fb96e9e7a1023775","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785165210,"description":"added background and leaf to Master Theme","id":"ebfffe12757542c554b6ddb35324a233749f9d5d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785163222,"description":"fix readme","id":"4fe5e7379953d0f093da3566fde8d17150024753","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785163135,"description":"removed codeberg migration warning","id":"20d90c417012d18bf168ce6ba61c1a32cf8c955d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785105317,"description":"version bump","id":"ace87f41f8ec0bb67c7a6da210c49121dc29f780","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785104813,"description":"cachebuster on notifications. show notification on lock screen","id":"28e3e7c63dfe4f3e1dbec3f4300249185a643fb3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1785000290,"description":"warning for obtainium users","id":"a7c1513afc4bcd79dbe882b9cb68ae6618092d4e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784941557,"description":"update README.md","id":"471395aac6612790e0fa5cc88d7622d8b1f8bc24","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784940997,"description":"update README","id":"2cfe2604c593df91c1b60073018cc6ca037fdf57","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784940813,"description":"update README","id":"e04d82bce9d78fc2c8b83b19fc47f834c77cd5a3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784937558,"description":"Update README.md to handle codeberg's formatting","id":"33f503532f6eeaa5614a78fbdd2783a801019f88","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784935691,"description":"Update README.md","id":"022326582e49c7d04202682f09c5307e505382c5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784916075,"description":"Update README.md","id":"8d02fa789b42f607b68998acbddab47a5280b9b4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784907625,"description":"playing with ideas for issue #192","id":"f00a7ce013350757e80791e2cc7cc8f267b375d9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784856209,"description":"refactored Dimensions, Typography, Shapes, Colors into more themable structure","id":"098cdb9b047331a08f381ca3fd2087ddb0a46b62","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784822048,"description":"separating dimensions into data class","id":"4689182dc319e6de6a7e1de83b0fb94c4a311497","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784816763,"description":"fixed Zoom slider colors","id":"8e30f0da1e66ff54ae75b0c9f50221181afa497c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784816029,"description":"refactoring LeafView for future theming","id":"a9010fbd930bbfa4b82ae8c9e7ab3f07020808e7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784742030,"description":"animating column widths, sliders","id":"3d00071ca0641b476de4edbd81b154735f296475","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784733768,"description":"keep inset on secondary selections","id":"cc493384a4921c57fc43e9b114a64beab96cf84e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784732625,"description":"added timeout to json_config in intents","id":"cb54816e3cefcb08eb71358e6171a9d3253aa9be","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784685422,"description":"style tweak\n     - changed tag indicator\n     - added drop shadow to leafs\n     - changed usaged of dashed border to regular border","id":"cf6f1e1d65063ec8d70cc4d85b3b6d92c60609e6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784648396,"description":"added rough drop shadow on empty leafs","id":"8af31f80fa8ca8edc2ec2fa1500446fba66c46da","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784645869,"description":"catch invalid json in project manager. resolves #191","id":"6f9922096e085455d0396f9c6b7f73906638c3c8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784590288,"description":"changelog update","id":"9a75fb449e28d03ca8d81aaf45e2839c7405014e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784583062,"description":"don't close dialog when resetting volume curve","id":"77bbb51c8c0976ceeab9524acdcb185d24cfc687","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784576250,"description":"change volume 'ramp' to 'curve' and finished UI","id":"fe4e0edd55c64dd2f699ee5b102d00ce855c9019","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784567112,"description":"version bump. introducing volume ramping as config option","id":"3e5194adde33f1f1d50258bd50d056b9179cf29b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784502366,"description":"some instrumented tests","id":"cda650f00870c37fbd8a054aa0c5c6f99621f8ce","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784481494,"description":"added JSONCompliant to JSONList set","id":"bbd7ebfae64ceea8dd768ce41e2d737d0a7c9220","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784481217,"description":"removed unnecessary enumerate() function","id":"5b91222a7073f128e449eaaa2612bedd85d68740","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784438948,"description":"removed redundancies in json library","id":"1d608f6b4c10d38418ed93fab7db9f85a809d3a9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784418983,"description":"unit tests","id":"5c5d251d6e26b440cc126bc09c111c7a12d89a6f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784341877,"description":"update unit tests","id":"d867fd73b3075fd5c4228467440f2b23c5ea281d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784341778,"description":"fixed invalid midi event widths","id":"2bf15af69cbc95304ad61af877b8d5eb92cac3fe","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784325358,"description":"put working event into MutableState in VelocityEventMenu (resolves #190)","id":"0659631d65847b4fed6a35cf5b1ea46af5bd7aed","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784323304,"description":"effect widget ui tests","id":"895e5b9e81922e20d0cb030346dddbb96ef6ac24","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784316495,"description":"widget instrumented testing","id":"4dbad7dd5a159422e0a9161b95eb7753f2f04c04","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784302315,"description":"added regression tests for #180, #185, #186, #188 & #189. (per #147)","id":"c4633ba87fd6682110945283ae9cade02ac7d043","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784300737,"description":"ChannelEffectDialog checks for null line_offset. resolves #189","id":"6f6e60292df40ed35add5a1dd3f0e1a45ecf7177","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784220626,"description":"applicationId","id":"cbce2da3c3f62bf222bc040dee685102889d63b2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784220417,"description":"fixed existing instrumented tests","id":"f33fd94f4b6121dc1d7897f040b7ad595453fb40","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784212901,"description":"version bump. changed delay defaults. Delay widget echos no longer including impulse","id":"083ee49f82bd09577bc4042f56936dee599c9789","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784212064,"description":"fix: single ctl context menus not showing up. resolves #188","id":"d9d820006fc515053467404f30e774880c198a67","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784177669,"description":"Update README.md","id":"e7f8985265edff52e41b57d06ca744dba4df71fc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784126290,"description":"lint","id":"108421a6c600e7ca97440b0d8617c77d54533f10","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784041800,"description":"gave proper name to TTT (Deserializable) and moved to json library","id":"20241cfb921d9fe720e6dd555eeccb81f39553c6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784041667,"description":"EffectController from_json type check checking against enum instead of strings","id":"6ea77e26605d457e7bccd32fa53da292b1c045e3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1784040807,"description":"removed redundant subclasses of EffectController","id":"e9b766a693aaf0b08f824e94c275b051debc0412","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783976486,"description":"removed a redundant step in ActiveControlSetJsonInterface","id":"67948782644845e9b8e9837bdbf648f51964ff42","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783960068,"description":"work on cleaning up json","id":"1853445a005d76e0111b9de24bf240ac4957eaa3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783792324,"description":"created JSONCompliant interface, made all classes with to_json implement it, and moved all conversions to json out of JSONInterface objects into their relevent JSONCompliant classes","id":"ae5ad24c3d7d1fa055dea8fba6279a6f75a61c56","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783780660,"description":"loading from bkp no longer loads associated soundfonts","id":"fde9a6559eb4439e0712ff132d424bc3d53ca70b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783737869,"description":"custom colors tint tracks now","id":"9ff0c8caf38704cc090059c0eb3ec8e132abf402","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783715594,"description":"handle active soundfont management better - resolves #187","id":"cd4694d4302fe564e0e77c87e213af975badd021","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783699290,"description":"load associated soundfonts from bkp","id":"6b3786d0ff4992c25642d7c5b6ac4f41b258bdba","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783656182,"description":"version bump","id":"31acfd93c983246af586e0003b4042f18395a397","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783655831,"description":"disable RemoveChannel buttons on last channel. set soundfont_ready value if no change is made in set_soundfont()","id":"93371aedbac6c90673192fb61d89d460ad223fa2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783643426,"description":"version bump","id":"a9320c438090f1575a34e1b5df3d75c3ce019a90","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783643300,"description":"hide soundfont button in settings until directory is set","id":"399c9d6f64d40e72b81e8aa3f942e6f9933c4cdb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783621645,"description":"applicationId","id":"4e5ef8026f98bf2c0ba3520dd9207d61c3af39fa","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783620809,"description":"visual tweak to Tempo Menu","id":"5d3ddfbf3558fa442fde4cf0c53d14adfb214f43","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783620274,"description":"fixed mistake in controller_global_to_channel_copy_range","id":"70f00a1cc3c5a1c9965c6036065325ad44b50dc6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783618453,"description":"visual tweak to dropdown menu items","id":"995d4e67eb3f305c7b951a229749b6f3ca8f1b1a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783611497,"description":"cleaned up move\/copy effects across control levels","id":"d608b9932909636482ee4633e796f2a204960446","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783608904,"description":"removed duplicate ChannelEffectMenuDialog","id":"6b09a3cb0d3f4e6d3e1556f30bf6de189ae4920b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783606748,"description":"assigned_offset of line controllers  always the same as the lines they are tied to","id":"6e14086bbd579beb7e9ee711088dd2b7e5cfc983","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783573828,"description":"display Khz when filter cutoff > 1000 Hz and Hz otherwise in Filter Leaf View","id":"eb54b8bc8739880b9f68390ede2945dce87d0430","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783572468,"description":"added spacer to delay widget for visual balance","id":"bbee486eaa672f8e1ba7b1a9dea332af1a9dd0b4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783571629,"description":"fixed colorpicker button preview dot","id":"8aea771c1286c1649d8931baa1243d44141dcd1a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783569735,"description":"store 'assigned_offset' in line_data effect lines where application as well","id":"8b3630ea69ea78ff2bb64d2ed34a473f5583b650","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783562124,"description":"fixed persistent notification name","id":"619a5b29ed259ff9c455bf2451832798857f897c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783548630,"description":"version bump","id":"4703cfe0dbfb259af01360c1e76e2ec5fc5010ab","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783539900,"description":"show channel\/line numbers on effect line labels","id":"e04fdefb0923443086d0ff37ab77b36d8660bb75","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783536619,"description":"quick-clear button on filters","id":"9e1e0693e040066ae6765766ddf77b5b623029cd","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783532214,"description":"consider if line is global effect controller line in _add_controller_to_column_width_map(). resolves #185","id":"55b376289aecd7181596e9e9104e1389e70471c3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783526727,"description":"Show icon when effect controller exists but is hidden in menu","id":"59904fca55465aac30430ee4a3b52b88deabb95f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783525876,"description":"leaf text on low pass filter","id":"b97f64e3d71bd9ad38978016e8709fe0c487fc49","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783496651,"description":"High Pass functional","id":"c6feaaa0cc0aefc9b2cc9cc0e6d210d0ec11e7ed","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783493454,"description":"High-Pass added (not yet functional on playback)\n    Fixed ctl lines being removed twice","id":"7a21acb23b5de6a81430e13382ee34963b1d8283","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783468874,"description":"catch InvalidOverwriteCall when mixing effect-leaf copies","id":"c54d519dae7b30668925bb08fcacc3527b9d155d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783467461,"description":"treat 20khz as no-filter in lowpass filter","id":"170dbd60b765f3713e8161f115fc340969bfce6c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783460914,"description":"increase number of rotations in Tempo Knob","id":"d37c78ea32481b9436c05bf3698cec198b3c5952","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783458416,"description":"Tempo knob","id":"bb7dccf4aa62c54feeff1fddaf73ad95c63ed203","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783455462,"description":"implement knob control on lowpass filter","id":"e2ad2fa05a323f5f1b40f7135c70bb668b724018","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783444013,"description":"added mutex to Soundfont.destroy() to prevent potential concurrent modification","id":"6f864a25b74bd8dabda5b4dd329d224fb74500fb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783437525,"description":"started PinchKnob UI. generalized pinch-zoom functionality","id":"0a17f73b4865c3962c55204123f9d113d8f6b3a4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783375187,"description":"work on lowpass effect interface","id":"560de17b4b9488f4bb0b0272e0d510c64f7fcfbc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783368230,"description":"fixed weird logic (possibly from a fat-finger paste) in get_preceding_event_position() for channel\/global events","id":"e32b3024a1b0bf0fcc849ead322634cbdf65646e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783357411,"description":"low pass filter ui in progress","id":"cf65f4fe1fd1bc82d00c759a1ec18c56a81dad0c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783357409,"description":"low pass filter ui in progress","id":"12e2fce06fb790a6b833a0795d44c7e270be3ed8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783354380,"description":"removed unused colors in Colors.kt","id":"cdb74a9d01fc4eddb6e68ff2d1b18e9a056b5d3a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783353743,"description":"removed check before destroying persistent notification in onDestroy","id":"c4f418c10d591aa93fcd1d4e8d1222810802d451","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783316170,"description":"show position in persistent notification during playback","id":"26859a42abda911383feee818c1ce017cbf2d22b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783300056,"description":"added playback in background to config option","id":"0439cb4f07546b8a6b807b986fba24d61f4fd603","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783286117,"description":"persistent notification. cleaned up notifaction logic","id":"101ae2333cc49efc2d6407c4be0dcaa73cb0b5d3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783229427,"description":"rough persistent notification working","id":"5106682cf65a737c51c78efc0ba7e6fcd6e1e16f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783191656,"description":"work on persistent notification","id":"25cbaaa05859879836fdb222ddef75324c15869e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master"],"date":1783090410,"description":"restored midi1 exporting. separated & commented out midi2 option","id":"24fbe213434f70d154c0313159e137dc33f87955","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1783054813,"description":"midi2 clip parsing","id":"47f476b6cadeaf6daff2314c5eedc5da92340101","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1783005781,"description":"starting on Midi clip parsing","id":"2cb3ccec5b21a0ea9114575214add39b74693e35","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782920840,"description":"fixed to_bytes in NoteOn79, FlexDataMessage","id":"a0942c8f14ec697719611bb9728710deafef8c29","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782833601,"description":"working on valid midi2 export","id":"f10f5e8167b624a3b9c7b11294875fcf15f19f27","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782779023,"description":"midi1 converter rebuilt","id":"5907e41cfe1c7490b71cdf925992e8bf2ddacc00","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782748474,"description":"created intermediate Events for MIDI Conversion. Separated get_midi() from OpusLayerBase","id":"251bebb93aef2310e0f23758f2d0a4c5963b501e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782671333,"description":"adjusted flex message to handle multiple packets","id":"705382f67770fc5480c7da6c231cc839e14d8793","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782514029,"description":"fastlane update \/ version bump","id":"323b396ec849cd5739a264cef4097644c248f80c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782507529,"description":"unused color to transparent (from magenta)","id":"acf0fe75e9a5d95ba6582be88ea2bd382db8054a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782507209,"description":"fill insets with appbackground","id":"8b45108338eebfb0ae7318d1e0192da9826242cf","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782505238,"description":"remove debug code","id":"d34c299f1d28332a29f825f3aaed3cd9db136636","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782505199,"description":"persistent load menu sorting","id":"07023d775f2cc64ad3dc7e610ef49af5b769d649","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782502470,"description":"clean up configuration  management","id":"26158c0ffb36b30a9e9a3f830884c24a6502b086","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782487985,"description":"inprogress - cleaning up config between intents","id":"f1a259950deff5e31abbcd977d1b5aee4023c938","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782483821,"description":"reset zoom level on project change","id":"faaca82f6847915fa06b56b1283b029fd148033c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782431722,"description":"remove unused imports","id":"fad3b2844449c7d00c2e04898b9258d2c72735fc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782430353,"description":"renamed IntegerInputDialog to IntegerInputDropDown. Moved LineLabel Repeat Dropdown so it can shift when keyboard appears","id":"65ddc1c8bc034c49637583e73fd18b270ee09a9a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782426625,"description":"rearranged RangeContextMenu","id":"db9d7b254dc54914bcb773be1ac62549d6f37e53","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782401357,"description":"work on allowing soundfonts without soundfont directory set","id":"ac4bccc18f03aef6274150108b8ea680bf8e212c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782337420,"description":"reduce drawer title size","id":"eef6b7f1a60bac41d3d84e10538ab16cb50a090d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782337019,"description":"increase drawer title size","id":"a6fc531a665ba33ff0af16253eec54e2d5ba928c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782334281,"description":"increased dialog menu item size. added missed number picker color in dark theme","id":"5e98bd69b28936bbd5417da04aefdcd5dee62888","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782333268,"description":"separated typography from material theme","id":"f70165aa3ee14d97fe2e4d6392f547e9df201188","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782322114,"description":"wide-beat-slider selection state includes is_secondary","id":"d7b5c63b2f0f2e13156bfec4a908d6aeeaec3bf0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782314469,"description":"removing usage of MaterialTheme.typography","id":"0f1d4332a0b54465903a7d465b07fb36863402a0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782312032,"description":"added missed color to tiny tuning dialog","id":"3f0d0b8554f6fe7651affd6c6a6499e7b865862b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782311554,"description":"fixed ns alt color","id":"5b1b9ca1df37882322dcea58c5207b11a6e1d346","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782311040,"description":"added Declicker testTag","id":"75b264ccb20d76feefa097e7a2df8bcfe3f254f8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782271361,"description":"update orientation when it's changed in settings","id":"335f9fe58287695402879aa3a805423577810cd9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782271041,"description":"rough 4-shade color scheme started","id":"4f377501a1d30604f6f6a7599345586c7a7836b4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782267099,"description":"moved Colors.active_color_scheme into mutable state","id":"99e8f08d8212387f2738e556974088c0336f3d52","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782261699,"description":"applied colors to hex display in ColorPicker","id":"7b893bb630c5c27400b6fe21c615604983f73c0a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782261292,"description":"tinted repeat selection button","id":"fd1e67452abbf517131ccb9a3e3324b033f30d39","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782260742,"description":"force foreground color in all layouts. fix table line color in label buttons. removed background on textfields","id":"cc8880a49ffde4f45b17a5014b8f8bd4cbb5fd3e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782259918,"description":"removed material theme color palette","id":"7c584232cc76d8f61e84e7210f404494c18e9d56","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782259866,"description":"Dark Theme reimplemented","id":"787c2963b83dcf6a91905dc5052f7d9c363accc5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782254337,"description":"more color consolidation","id":"01c4ca60feea21bf62c3af9208dfc80c515d286c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782253911,"description":"fix mismatched values in Velocity Widget","id":"13ffb9caedba635b0b2a4d539050a8ac04053885","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782246754,"description":"more tweaks to pan controller UI","id":"8a6719d59bf6153399a846bf824ddf1f9e97aef1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782245748,"description":"tweak to pan controller UI","id":"79ac000983a808b91db06079df1daa7941493210","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782242686,"description":"moved background flair to AppBackground. finish initial consolidation of Coloring","id":"9aebe56e74526a237da3278c58cee6409bbee126","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782228098,"description":"work on color palette consolidation","id":"0d434df73e84a400484c9b265ad6a04f5e9a42c1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782188979,"description":"more consolidation of colors","id":"fb733855bb0790e4d687b5523ba69b4791a0eb78","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1782143623,"description":"creating PaganColorScheme data class","id":"ded39cc17734b3433d3492fffb3d2a3d7f3543b8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1781997078,"description":"added color indication dot on palette button","id":"15744bbe36f6d21fdde15d6bc0af284b9a0cd2b4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1781977593,"description":"tidying up Color logic","id":"1519d2ce9c556148c61b501478e5eeaea3305791","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1781816887,"description":"crashfix: kludge to catch IllegalStateException on AudioTrack.stop()","id":"c4032ce87ab60b41ae7f0d33dd8d26ecaa9f6c21","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1781810323,"description":"Update README.md","id":"5ec0afbd0740b45db4f62e9539a9cf2bd0cf80c7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1781667861,"description":"Version bump","id":"bfaebe9964957587b5e7a352e06ae40f3ee1c60e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1781666149,"description":"use Configuration to get screen dimensions instead of LocalWindowInfo. resolves #177","id":"9f48deae9972f82e925163383404f8a0e95c995c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1781661509,"description":"set primary context menu alpha to 0 when keyboard is visible and in Small Landscape Layout","id":"d5de6109da90c3c5633f7bafe7ebf87fa8ab4362","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1781650792,"description":"completed incomplete unset_root_at_cursor(). resolves #180","id":"d722c7289e8356ff2020eb8d7934ffc679d9b244","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1781650596,"description":"fixed section labels in dropdown. resolves #179","id":"27acb7f0fc1e3ff1ad3baf543fa5f13a7fbca291","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1781495908,"description":"fixed wonky logic on number inputs re: max\/min and invalid characters","id":"c8bb28fc7145842b421f8fa851d92baa603e1e49","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1781486641,"description":"beat index selector functional (#178)","id":"f253f5b950c36518870aa3d75372ed8a997b79f9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1781457921,"description":"work on beat selector in context menu per #178","id":"c01a8497e5134407c355a21d314db5f74e209fe4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1781372387,"description":"integer inputs using Dropdownmenu instead of Dialog per #178","id":"51616cf357899888609dffd315f15f7000981546","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1781307681,"description":"clear cursor after adjusting range","id":"5452449999b361d3664a87059f674fe0ff3df6c4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1781243604,"description":"keyboard inputs - Beats now Adjustable","id":"2c0e334d70a97e0459b6c5c9ee36330cb555c64f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1781243252,"description":"some keyboard inputs","id":"554135e72d88b76f54f2f0d8a7c2f0af58924b62","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1781159269,"description":"keyboard input - set PresetKey controls","id":"66bd3b75a08bac2425eedee4e2df1c64a9acc35a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1781067817,"description":"keyboard controls - append lines in channel mode, mut channel","id":"c7cc9b09e120a8be134086bbf0ee7d068dd4f322","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780984240,"description":"keyboard inputs - channel controls","id":"3d41a765e7200327a3bb41fff3e1b32fda50a5a2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780767141,"description":"readjust column weights after remove rows. resolves #175","id":"450849d47c519b14467696104a8dbdfa5a2b2e4b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780765853,"description":"check for ctl_type in cursor_select_range_next()","id":"e2aa9dd4586a907beeefbc0e25343be05ab2f0b4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780765379,"description":"hide AdjustButton when std lines aren't selected. resolves #176","id":"a52f5abc4c94dc14d5c13f1deb954101b452fcd3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780667852,"description":"moved check for null in set_duration_at_cursor","id":"32a4aac3edef7e5e3c50b7ce19c95fc43e3334f9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780636810,"description":"fastlane update","id":"b11cbf419ad0d3b71d0c6d0eb3a9de1b00a3eb38","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780636347,"description":"update applicationId","id":"ad5ad6383338df2fe4cd0a85f2030e85406ed175","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780636032,"description":"version bump","id":"9cfc61b629ec4530a019d4b751936349a609179a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780635188,"description":"NumberInput using MutableState<T> instead Of T","id":"deb10638af40d088fa658d428eb2605136db1354","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780630056,"description":"fixed confirm save dialog not getting closed. resolves #174","id":"d584c29c1ec65afe3925817888546a78be3f3c43","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780583053,"description":"bugfix: Sliders don't always submit the correct value. resolves #173","id":"92375a4f94a789db86e404836950552e62587d55","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780549865,"description":"Keyboard control work","id":"78e47f4e781a576316a52c3ba1c7f4151226eae5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780289796,"description":"keyboard control - line volume control","id":"be99b847a515145d2074864cd3cfd439188d090c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780211717,"description":"fixed crash on save via confirm when no directory set. resolves #172","id":"5982960a55efa9fde94be61ccdd7bc2a30a15342","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780163467,"description":"Keyboard Controls - Move Lines around","id":"3ef3698978ad10eed5e827f9f62d80625b321e4c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780147776,"description":"regression fix. wrap move_line() in try\/catch. resloves #171","id":"823aeb637d7393daae444efd0edcd82ac26b833a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780071974,"description":"applicationId update","id":"4c84eb6bffc5c1a98fd2efa0b359d73198ff7c28","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780070788,"description":"update fastlane changelog","id":"cd2ebc1a46316eed07d2f0b749b709e75f7b824b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780068898,"description":"Bugfix: Was incorrectly giving profile buffers a size. Resolves #170","id":"001cb67699698cc1a2067fef06cff26c89cb99c0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780066074,"description":"bugfix: didn't finish dialog conversion on SoundFontMenu()","id":"51a098ec18c6d4c659b218a8d80684d853cb4cf5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780002685,"description":"version bump","id":"04637feb76ed53634c95e1043e95322be745e9ff","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780002242,"description":"prevent feedback noise while soundfonts are switching","id":"06d1f236a214328d3bfc65cfedcb6da0886ba6ce","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1780001221,"description":"check for nullptrs in various objects","id":"464680e2506785910b4245aeebc28ca671cdc600","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779983987,"description":"keyboard input -> undo, redo, duplicate\/insert\/remove lines, adjust line offset\/octave","id":"b9afd829812b8306756dab1d2196693df2219acc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779980636,"description":"ZoomInFull, ZoomOutFull keyboard actions","id":"7b71945319b448302cc35295a32813517b8e5344","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779896212,"description":"changed cursormode.Column to  Beat. work on keyboard interface - select next\/prev lines","id":"64782dbc82370dffb451370c6fcc7010524422cc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779812302,"description":"work on keyboard input","id":"7190661588339a87215cea14b47188116b7818dc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779580504,"description":"update changelog","id":"9ff7674f3fa0c4350c6bb5c46a65fe261c8acbf1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779579913,"description":"removed percussion toggle switch and moved the logic to the unset button in the PrimaryContext Menu","id":"365e0d54ab0230556f1fb4aab73de77b11b4fcd5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779575356,"description":"Remove debug code","id":"e5b393906ecf6680b0441c6d3066137e8395e58a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779575294,"description":"Version bump","id":"bccd8cc28c746dddd34746ac769eb077911f791d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779467819,"description":"Modified DialogMenus' options lambda","id":"9277c79f0d90ad7f78e0495c3575c02bcad1a146","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779378008,"description":"lint","id":"47a4e6df27ae1f17074c382c554f8f46ec3a257d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779377598,"description":"lint","id":"2c12dafda5211ede04783d992109d2527b005b8b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779377104,"description":"lint","id":"8626d3549db101e3c03ffd04b49f8464ef4eead7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779376609,"description":"remove accidentally pasted line","id":"2abe387cc8d7567df259bce570c3871489a5bb39","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779376546,"description":"lint. enabled unnamed local variables in gradle","id":"987d96ab3dc39e05c77be5f3da884a4a3994b9e8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779374656,"description":"prevent negative index zooming","id":"ddc172496405030d1d992948fe6c41f941a2b22f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779374482,"description":"removed duplicate PlayButton code","id":"5ca2626ee73af62d42f23825cfa843c1301ac8e0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779317667,"description":"key ChannelPresetDialog with visibility","id":"40340f95ee24a4a0d367b5edd7897bdd2f194f90","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779314320,"description":"fix confirm_action dialog state getting stuck","id":"6f343e5f5d710a1a362926237d38873a591b5de2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779296310,"description":"tweaks to percussion feedback sounds","id":"21b1b824deacaa7fdb761558c23a6b5a6c01d1ba","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779291489,"description":"created play_events() function for feedback device","id":"532a5abc73de6725829c15b570cb2447ac6e9453","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779136090,"description":"created mutable states for project_list and project_notes","id":"5d66505ed9d7106eeea0e21230a210558a4b5ac1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1779044235,"description":"fixed wonkiness with channel dragging in the Drawer","id":"31396c3a5a7332e3adbca5db2b3572f155a0aac1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778995109,"description":"specify different notes for percussion when setting channel preset","id":"406d489024f000185d95cb0390a09cc870d24fec","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778992091,"description":"completely removed create_dialog()","id":"798c4fefdab55193660611ef5a57fe1662c31630","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778966293,"description":"removed some instances of create_dialog","id":"2abfc2f60e188d143ccfc6eacbb590a953a93533","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778963863,"description":"added refresher MutableState<Boolean> to DialogSortableMenu","id":"9d7ee0188987e2192c6b55da10bf8d22d4f0fe60","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778947913,"description":"reimplemented missing feedback sounds","id":"17b9cd2e3ecd8f14a6a0d58533abf8f868af86b9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778906197,"description":"fixed unset leaf button being enabled on empty leafs","id":"6892b0e7995b1255f90bf596d50d04c8c86ddd4d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778905341,"description":"persistent IntegerDialog values","id":"637da97bfaf753499d661cb304e073d6fa73e687","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778859825,"description":"rebuilt  load menu","id":"090e956ca414f75bc5cd416b0e0964166bde1070","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778810382,"description":"version bump","id":"1f386f876086d827488564124fd54b0547568bc5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778770674,"description":"repeats now only consider line effects when those effects are visible","id":"d0151ef66d27f637facd621e1e414937fc7474ee","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778737662,"description":"handle blocked repeat selection action","id":"23f101ccddbcbb1f4f38af18f66be4ed557e0d2d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778724523,"description":"removed all dispatcher usage","id":"d4a17224d05608c15b48bb93b38ff97ecd6c4894","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778685733,"description":"cleaned up LineLabelView tap logic","id":"9ebeed2ab45f942324742b4d4754978779dd013a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778647686,"description":"moved effect transition dialog to Composable function","id":"5999f6532f31ed65378397774b74ef7a93d9489d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778599805,"description":"moved shortcut dialog","id":"aaf31cbe01a0ca4cbe45205f59391350912c7c64","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778565210,"description":"work on moving leaf view tap logic into LeafView","id":"7b6fe3206dd0116cc3f840b0951267ba50ef3681","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778512774,"description":"channel preset dialog kludge. removed unused functions in ActionDispatcher. started work on show-effect Dialog","id":"afada34801c5e94922e247a5094dcca441800b96","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778357276,"description":"added padding to pan slider","id":"7c89a5857fee60a45c08885fdb5c8de717e5ae6c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778355737,"description":"handle missing files that are cached AND were before timestamps were added","id":"8764dc0ac155de377bcb7371953d85524a5d998f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778352078,"description":"version bump","id":"546a4ae8cf57c3b0966ce36045578e84bf0313d1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778347818,"description":"cleaned up awkward logic","id":"f8ea2c4fb3f84485dce7e5cf02cb0defb169cd5e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778346113,"description":"Moved more dialogs. added some missing Cr notices","id":"cd833ec409bf0afba8f6ac57ba0eac2c6a15af38","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778344535,"description":"fixed Immediate effect transitions being eaten if they immediately proceed a linear transition effect","id":"eac586f2d5546e17e9c659fd427ff89654786428","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778335348,"description":"set backup active effect events to duration = 1","id":"5f83c648b63f4c2b559e3a70763d8a4971183846","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778253920,"description":"moved set_channel_preset Dialog to Composable","id":"5ae2a11071bd5bddbf499e46799af2f909e12055","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1778169418,"description":"moved save dialog into Editor Activity","id":"57e95b5d3faa036ac550544ace6d11cbbc5aeec8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777997711,"description":"changelog update","id":"89f0490aece29c9ec864bed27502f2df2216265e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777991948,"description":"version bump","id":"de49b4488754ab575fe0591441631223fe2f3b37","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777991829,"description":"downgrade to sdk 36","id":"f5738bfd2c06d165280837e2ba68c16dbb035987","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777991556,"description":"fixed unhandled RangeOverflow causing crash","id":"8694f7f76b35001589f7fe42f689db5bd6cacd50","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777791024,"description":"initial work removing dispatcher usage","id":"52a90340a5fd0ce31006fa2b8c7990c4483fe52d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777744135,"description":"moved tuning dialog","id":"ef096b1c7eea74be61dfe4674251f2aa7f0e9487","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777702749,"description":"update versionCode","id":"adaa73d549772b9ae4113df35eee6db3d33d9723","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777682793,"description":"update changelog","id":"c4c16c5c7f7d9e0d51ec4a81415c578b550b5ac5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777681991,"description":"import midi in coroutine","id":"f4ecdc2721d791c41e26da6c7099c53ef7084140","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777656482,"description":"removed unused dependencies. Updated targetSdk to 37","id":"5c0a4c02dbcff5afbf4f6898b22ef74a7269bacc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777648775,"description":"handle invalid soundfonts with  callback instead of try\/catch","id":"0b6ebe9f1c4b7b14f38187aaa8dc21f0d994bc75","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777597787,"description":"display progress indicators while play_opus() is doing initial processing","id":"c46fa9ad6aeb6e59ec00e5e0d6011ef9bebc1791","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777585746,"description":"load soundfont menu in coroutine","id":"c174bf55bff1a9119e57ec387acf46269bcbb96f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777576085,"description":"load soundfont in background","id":"2300cf76cb61ccf887cbb25d5d40898ab39ba6ae","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777562967,"description":"added circuleProgressIndicator while projects list is refreshing","id":"bfc69cb0187931983d90dfee42647ecfe79b3a3c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777479274,"description":"added space between reload\/sort button on load menu","id":"b8a3d559692196ae7d2c16c4d6355b68e117bfd9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777474444,"description":"fix typo in comment","id":"3b2712a2700429ce7dc38c4af6c6f38da1986447","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777473352,"description":"added ts01 - date modified - to project json. default to rev. date modified sorting in load menu","id":"40f9fd49048976367011c9970895c81077328727","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777436500,"description":"automatic reverse sortable options in SortableMenu","id":"29c32140ddbfaa4835fdd945d89c65e779fc8743","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777433058,"description":"project cache using hashmap instead of list, tracking date modified and created for quicker sorting","id":"0defc5735a0213b40c0ac8ffefa8434478da42bc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777391335,"description":"added timestamp to cached project list to speed up sort","id":"41e166b1189c2d57c9c57f57fbcd87be109ba2ed","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777387779,"description":"fixed: soundfont_index not being saved or loaded","id":"a743bf9d16716cbbf9f0bbdad9fd9a7fd2aaf634","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777307633,"description":"Repeat icon added","id":"1f3edab2431d0ad656a47c11ea38147ca048a9de","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777303689,"description":"changed behaviour of tap-line-to-repeat","id":"32b4d2d6b1e5841f7fb0e49a01a8d888029c149a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777264327,"description":"remove debug code","id":"a7bfbe99dae1e7a5cbc65d407e28b8e19440d0fb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777249726,"description":"realign 'load soundfont' button","id":"bbee55ec0cc3f3416a1b777b751222f05300b5b0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777248995,"description":"align soundfont button text to center","id":"554f0c59b15a095d8a30b41dfaa41dc0e8415ce9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777160746,"description":"implemented SearchTree for keyboard Input handling","id":"787bf6a330d264c2b03f6f191a8471e1e51e3258","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777156461,"description":"version bump","id":"f2e7a75d4a04bb94507aa4b76cbd5881932fa76f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777156194,"description":"flipped pan. resolves #167","id":"6dd2b01717feda7aacf619edf0106017007951e1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777140987,"description":"modifying input handling to a tree to allow for more flexible function aliasing","id":"b08d373ed5c8eaf0f68080762dba3ef9f5f87e17","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777045616,"description":"work on Keyboard flow chart","id":"869c8113e7e2eaae804228622e8ff3913204413a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777042463,"description":"unset active_wide_beat when that beat isn't wide anymore. resolves #166","id":"506d267bf851c1ae758c3adac5af3873233287d9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1777001005,"description":"version bump","id":"2629a6ce5e58a28b37d586919674ba6c1c77b4f6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776993025,"description":"fixed (spec specified) misapplication of pitch_correction","id":"f7fa63c3dbc8e68bd058c6ae2f6c5606d978d841","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776983670,"description":"show-all lines\/channels function & layouts","id":"ba5d99e064ab8631d0ff01f53eae1896f87e9d68","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776957910,"description":"Added EffectResourceMap object. rough implementation of 'Show-all-line-effects' function","id":"75bcadd95b086ea6ca66a5b3a7ad8667faf66ed0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776917512,"description":"work on keyboard input. Setting up flow chart","id":"e38595c7bc0b8dbf3e55e1dff61f4ce360cd60ca","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776874589,"description":"starting work on reimplementation of keyboard interface","id":"33e682a0e5f17474d6d92a820cf862929d1767f7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776836216,"description":"more tweaks to preview icon","id":"721b4f27f50c69e5ac104bb9c3f4606ebaeb25d2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776834961,"description":"adjust preview icon size","id":"970dd38fe77ec1ff7d194a6c0af64296e6ed129d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776802212,"description":"duplicate line\/channel functionality and buttons functional","id":"8072a0986aa720ec6363139b8455b6f1654520ed","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776786937,"description":"duplicate_channel and line roughed in","id":"762bf8b266a6aab21787b1893c23525480c8dc22","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776717858,"description":"removed unnecessary secondary generic in copy function","id":"0f9b3a3d0590268413bb239fb682fd28f9d348c4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776542043,"description":"preview icon set to icon_volume. enabled previews on percussion instruments as well as presets","id":"5435e8813dc834afd9f8e78afd59d051b45e8948","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776535367,"description":"preset previews","id":"d8b43f87faa724a82e79908d3c70458ffa0f75f3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776457230,"description":"refreshing project list no longer ignores existing files. ProjectCard using monospace font for dates","id":"11667f3148e4f1f317156b33456fe9680df29590","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776446199,"description":"default to 0 when timestamp not defined in project file","id":"ccef939453d1ceaaf0d0fe4ad5b12a0d254d9d3a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776441107,"description":"percussion selector falls back to defaults when an unavailable preset is selected. resolves #162","id":"b7f194823dc77fe6eb06d9444fc69c4d0ce55553","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776440525,"description":"fixed: setting LowPass filter frames to Absolute frames rather than relative. resolves #161","id":"548c4c85d609795dfcb2536d21180d41bd380782","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776272414,"description":"separated play_midi_events() from play_midi()","id":"cddd599155287d2bf418c78b936314ea81bdb814","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776271288,"description":"switch from TRANSPORT_MIDI_BYTE_STREAM to TRANSPORT_UNIVERSAL_MIDI_PACKETS","id":"014621311dbfefdfaeda84add4afae217d6eb2ed","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776180748,"description":"timestamp added to project","id":"c37b3d29430f23cd24dc4e710961ba95b81ed832","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776095996,"description":"lint","id":"2249ca8f2f196f18d2bd10af7e65d34519288de3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1776095168,"description":"lint","id":"cf6a1e26d525139f212fb25ce1eee2317b4654d1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775942400,"description":"Show full soundfont file name in settings","id":"a2b56def2f97b3e74cded97069b224f0a296a458","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775942224,"description":"Show full soundfont file name in settings","id":"0f249c19c567bfd24f56ac0efe9e5ccadaa2b9eb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775937712,"description":"optional ignore when loading broken\/missing soundfonts","id":"dd6f7be4877e74f56d4b685f9e149d201909a94e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775926808,"description":"update changelog","id":"110c43377dc956e7f0b05e6f83461134d4cc80fb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775926034,"description":"tweak effect selection color","id":"9265891022a1120ebbe24282ba59a9fa60b1184d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775925684,"description":"fixed: wasn't muting effect lines on mute_line(). tweaks to muted line colors","id":"36ee9676561655ad76f6a1e4e53cc8fddb93bdf7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775890208,"description":"Fixed 'undo' not updating effect context menus","id":"e1c36af0968c49cbdb06416f5a62c22f86d65194","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775867949,"description":"modified NumberInput and its derivatives to use primative values rather than MutableStates","id":"09b03ee7ddc0b7fb09982f9d61d935c7635f7dec","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775843881,"description":"use icon_subtract_bang on percussion RemoveChannelButton","id":"ed4840390dedc7cfa244df7cb9f1c9d29ca27db8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775834363,"description":"version bump","id":"96b8c76895c959510e964e1a70e5b24e592ec3c9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775795224,"description":"correctly updating midi instrument labels on device change","id":"dbb2233b4abdedf578c4849e9f0f6fa0a8296647","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775773041,"description":"removed magic numbers. Shifted SortableMenu's sort button by the width of its shadow's x offset","id":"96b48d7dee34fd2755f59cc13ce84bc1e28bfaff","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775772220,"description":"removed redundant 'other' option in SortableMenu. Soundfont dialog no longer filling screen","id":"d9c4cb3a36815d3c1cc7e2bf80bc9341200aa0f2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775770670,"description":"when a soundfont doesn't have entries in either percussion or std presets, don't show it as an option in the preset picker","id":"df5bed3fc029f554cfc97a616f4c7ab8450af4d9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775766753,"description":"catch FileNoteFoundExceptions when loading soundfonts.","id":"7b3dceb1b15ca8561199e6c72596a395dcd3e00a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775760963,"description":"fixed dialog title for multiple soundfonts","id":"77aea76bbf492ae8e1903b0399f3d475ce418921","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775713611,"description":"slight tweaks to multisf preset menu","id":"c04d18cb0fc5d4ca59222f8a989dbd0731e8cd5e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775685389,"description":"multi-sf support ostensibly up-and-running","id":"d0e820f312325d99fbeb912995ab30f669400bbf","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775664514,"description":"tweaks to multi soundfont interface in settings","id":"9fe8a1a6c58c1cd1162621e1f5560722dc9b29b5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775662217,"description":"disable falling back to available soundfonts when soundfont is unloaded","id":"30192869b9f712253f5cefc844ccb9729493b1ee","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775619657,"description":"presets using non-existant soundfont_index default to loaded ones","id":"83f49606571e14e8d36a1bdade852d0f10f5e47c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775605594,"description":"active soundfont selector using horizontal pager and dropdowns","id":"3a80ebd64952ec231fd89aa32b0baed3beb8b4ff","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775577861,"description":"switched from Triple<Int, Int, Int> to PresetKey. first pass at multi soundfont support in Channel Preset Menu","id":"02db5e2ea1e6b3694f9cda6cbecec5172f714d0f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775544165,"description":"created active_soundfonts property in ViewModelEditorState","id":"2744651b22026340196e4a306114e725be7283d0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775347459,"description":"multi soundfont - work on settings menu","id":"34a34586343da84afce846bac066cf1d664fb839","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775279655,"description":"call unset_soundfont() before setting them in ViewModelEditorController","id":"c3c615cf5caf4ec2c5e1d27c386a6dd4ec7193bf","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775145498,"description":"added drag icon. cleaned up multi sf menu a bit","id":"3a9876635459373c346cbf4006b9e77c42234673","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775058431,"description":"starting to rough-in a menu for multiple soundfonts","id":"4cca56d21c90793672823fe4e8eed9f35c476da1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1775057052,"description":"pagan backend using Array<String> for soundfont. still only considers 1 at a time","id":"6719d0da0d6a8ecd9638ef619e6324f1c8945864","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1774976474,"description":"work on multisoundfont support in OpusLayerInterface","id":"6be7901c1803154f32e8d38e0ce7f338ce3beeff","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1774974136,"description":"multi soundfont support in apres. compatible with single-soundfont support only of Pagan","id":"13873009bf129fc7a438edf15c60ac0c301774c2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1774890076,"description":"work on multi soundfont support","id":"6b49c6b156fcaeb63cea1e0cd9df8a9fd000603f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1774719655,"description":"modified AudioInterface to handle multiple SoundFonts","id":"db85f25542543e68aca421949e8bb4a1bae822cd","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1774717657,"description":"modified SampleHandleManager to handle multiple soundfonts","id":"f7c1066fb251d6a93cbb45604fd9ed6d620d6857","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1774367006,"description":"delay\/velocity textfields require pressing return. fixed 'undo' not updating effect context menus","id":"1b5b93af4c5145cbea4eab88ac02376dd3f92de6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773991230,"description":"moved changelog","id":"53ee5bf0914b80fb240c26c1893dbeeda7b5a343","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773991060,"description":"versionCode++","id":"2e5ba391134353cc565b9126e599359cdaaddaee","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773990471,"description":"deep destroy generated pitch controllers","id":"417469bbdf18ab8c13afe162e9e60af6bac610a5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773988235,"description":"changelog & applicationId update","id":"817df5aaf1822993c0b84f0e8d286b7b8ec9a3c6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773979151,"description":"default slide to Note\/4","id":"a338113a2fd4f45b24166a57419940bd0988a0fe","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773978979,"description":"fixed number picker showing up in landscape on effect lines","id":"09584dc68998bbdf1db9df2ebd3fd6a5cce9ee9e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773962582,"description":"adjustment to vib_lfo_delay & vib_lfo_delay","id":"2bf0eaec44105d2eeb5b4d5fa9bcef9ea58a1d79","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773962303,"description":"fixed handling of mod_lfo_freq & vib_lfo_freq","id":"a88ba806661763e258882a58ed4b3a1b8346d6d1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773957693,"description":"fixed filter_cutoff","id":"20ecbe9e68572050f5013bd419be88d11b977167","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773956449,"description":"filter out negative profile buffer frames","id":"d867ab2daf1f4b32cfa3c96a00338c3101de484f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773936874,"description":"restore sizeless ControllerEventData.","id":"e1f4fedd3c3f5fe4bdb654ff504f9ba5f089ca65","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773866158,"description":"ignore blocking on generated pitch_controller","id":"4d552a76fa7f8240e423fe6ca2a086c93be59ad2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773858025,"description":"working on fixing cache_tree_overlaps being slow","id":"ead0b55807e44f4c1701b76e7492ff8168d9ccd4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773856907,"description":"fixed coerce_event not treating temporary events correctly","id":"ed34488503ce6616fa0048f717169051bd7104a3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773855008,"description":"disable pitch sliding for percussion","id":"3a97b24de47bfbf5b62f57e963a0bda6e6e92e28","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773850449,"description":"created String.asEffectTransition to handle RInstant being changed to InstantB","id":"a7133ef7de6024097864c4956bafb06e76785591","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773801320,"description":"version bump. buttons force clear focus","id":"46cee92be5359990c723920f128f3b9fb004170c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773797697,"description":"fixes to pitch bending","id":"bc8d44d7788b90ddf43146104e9c7456d6ebe84b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773780123,"description":"slide\/bend working","id":"7e40caf4786d308ad507361ae3685a934c7b04fb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773761713,"description":"cleaned up convert_to_indexed_profile_buffer_frames() a bit","id":"26d5adbcca45962a4c881917f88e4d3fe9eee036","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773724149,"description":"velocity effect widget & some debug code","id":"e2413dbb621071c051153c0c458263090120e8df","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773676753,"description":"Sliding now considers beat or note duration and a denominator instead of always being relative to beat","id":"ac72b23855fc66b6c0a8e2f9a794308f5e234ba5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773615590,"description":"lock cursor when setting velocity event","id":"70e3c24cab0d8cebd3cf7eaadbfc5797aa12a4c0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773615198,"description":"set pitch controller's working frame when copying a SampleHandle","id":"d5a59e547959408e444a2f9fe3b33ca0f54965a0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773611802,"description":"work on pitch shifting ProfileBuffer","id":"9aef15529f03a08c5cde00e4152585b465888ee9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773553337,"description":"fixed sample rate not getting changed from settings. resolves #156","id":"44abb6cbfdf318b9ac084de53f645ec79c3da34b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773531961,"description":"consider transition_width when construction PicthController from Velocity","id":"88dc8a03e4bb94e1bc4ecb2dd12c5438c6b05a4c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773528188,"description":"fixed misalignment of temporary PitchController created in PlaybackFrameMap","id":"e33806be89237f90bb9c211fd93b44542a2468d3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773508983,"description":"Create LinearB and renamed RInstant to InstantB transition types","id":"a8a502065ae91e5c280985bd513b24e833ac0523","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773463156,"description":"repitching roughly working","id":"d8091f4ef8b48f89cc6ac24e524ba0d7bacdc365","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773415595,"description":"attach Pitch Controller to sample handles in PlaybackFrameMap","id":"edcea47cce7239b572233d675cf43ecaa751999f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773330563,"description":"set up pitch_controller as property of SampleHandle","id":"fdf086c62859ef910a53eabe9525f5734e79f486","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773296192,"description":"work on repitching","id":"ae4425fce51e62e4fe1aa7bf5c4e2028c7140aca","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773243040,"description":"added generated pitch events","id":"aa9bcb087f4cc95007912194f85e827bd8957abc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773207275,"description":"added slide_duration to Velocity Events","id":"9626f55e81a1e3504e355978f1ace58a708e9f20","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773161079,"description":"working on pitch-bending","id":"dd19706f25a2eb7dd8fe727a62ed9f8d046ae146","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773072592,"description":"created NoteTransition effect event for pitch bending","id":"7d2bcbdd0b2a01242d273b3c731935cca4f0fd08","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1773017004,"description":"version bump","id":"d98dd362eb49df9296e469e61d85f3ea913d70da","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772950627,"description":"save_to_backup on pause instead of destroy","id":"72cda9a8d8a18d5eb44de0c503971847a7dde9d8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772949750,"description":"fix wide-beat indicator incorrectly showing up on first beat sometimes","id":"848bb08b21a5d48852e78da6fdd35980d4f76e44","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772866606,"description":"gradle wrapper update","id":"65d1708325c93c8c8d7838d15a8558527b8affeb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772211336,"description":"check if RIFF data is reading out of bounds before setting soundfont. resolves #17","id":"78f5903067b7851270ffc53b4bc86f3afc9426c7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772207273,"description":"long press RemoveLeafButton calls unset_root(). resolves #152","id":"da656e86c136aebcc533ebb63935ef8a259fd0f4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772133869,"description":"update fastlane changelog","id":"ca99a72c7c4ec35c01c58f777271020f466be64b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772133148,"description":"restore applicationId","id":"02dfa60d8f1243c68a2129210fd3376b99a8404c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772129406,"description":"fixed scroll_to_leaf() logic","id":"01218bc5f715cbaba6ccf87312c7ea22cc46c714","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772123659,"description":"update has_saved_project\/has_backup_saved as needed. resolves #155","id":"5f821d9a4f579f28de7a792f16673129355c7671","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772123033,"description":"disable feedback during playback","id":"400a20b13499b1c734b543091231494d7267313c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772122419,"description":"include active_wide_beat in viewstate.clear()","id":"f18368ed2a3f3c9f619e90154d23b028964c0f83","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772122085,"description":"reduced beat tag indicator width","id":"67592409fac64124a0ddae419686d55b4311022a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772121118,"description":"modified check for rendering leaf content","id":"6e9dfc00dd856668959de0c4855a034b26c87417","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772092737,"description":"increased Landing icon button size on small_landscape layout","id":"60b39752355a1434b5baaf28b60512e6c89a7c75","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772092256,"description":"made landing buttons thicker on large screens","id":"b6f4cb43637d54c884b2efc896a0ac6d1c4efddc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772090963,"description":"made landing buttons thicker","id":"f80c5d202b32f892e45fc25c264c7392490877d4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772070592,"description":"Update README.md","id":"4fde15e2c3267c22d022c9082f81da74302befa2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772001742,"description":"fixed off-by-one in scroll_to_leaf. resolves #153","id":"f0d2cccf0f381536de015fd0bc3d3586769675d8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772001422,"description":"fixed capitalization on beat stroke width","id":"59dba7bcdf9e9621e6094f7d540061463ff5f5ba","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772001328,"description":"fixed oversized-beat progress bar","id":"831396d7f8f37a09858e96e201cfa5f375857ede","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1772000869,"description":"zoom working. resolves #131. resolves #150","id":"fbf0543d33994f3350845131b76c3757d647472b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771989732,"description":"zoom now based on dp rather than %","id":"2b13bc14240bd7cacffc0f8b4516018958267580","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771952235,"description":"zoom tweaks","id":"e5c51061bd75f95b9896d4a6737bd7fdfe140fcd","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771950688,"description":"fixed zoom jitter","id":"dcf3f30b4ff09220453f203577d6e1f5e367adce","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771914357,"description":"keep centered when zooming","id":"400e3e6174034fdc5abc92a1a250c67aac941bdc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771867315,"description":"working on keeping zoom centered","id":"b4f75ea45e806de97f926d385405552a02c30fe1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771863958,"description":"fix typo","id":"419eda67be22fc91bfc296dcf24e34c2751bcb7b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771830395,"description":"work on zoom","id":"bce92c6b7ee738b575a8e135d3367b7ed1f70fee","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771804312,"description":"Beat stroke config option","id":"e29349361e997ca5ddbdb86f1984374b44f97bcb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771741321,"description":"Normalize beat widths option","id":"1b9f9ed08866c8fdd0a28860e1b3b4479291e8b5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771658988,"description":"work on zoom","id":"6a2a4e439ba069d7022d4fe8acd223e6d7f9f8e0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771605703,"description":"rough zoom indicator. single-notch-zooming","id":"7cc176a5d7c81523fafa5bb78ca5c973447c282f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771519254,"description":"Hide leaf content when zoomed out","id":"fa3e35ab2b5b4eedbc3f73fb4e2533786aae184f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771518662,"description":"notched zoom logic functional","id":"01196a751f7ee14b1809d84e39ec6418736d5b97","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771486357,"description":"zoom based on cells in column","id":"1a7f81d483df1a38090de8f477c0fe1d12e12a23","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771431251,"description":"implemented indexed zooming","id":"4f155af3c168bbd0cf855e9df5f85783ad0d4225","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771398812,"description":"pinch-to-zoom basic functionality","id":"55f2735d9889e30d0cf1ac4b8825feffe27f27bd","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771394187,"description":"version bump","id":"2835dfbb4242705264136baf5a11b8a91b196373","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771393215,"description":"Fixed incorrectly populating column widths on lines with no events but with structure","id":"554233436a4bfdf7f75d371416923ad4b8afd8a2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771352319,"description":"Tweak kebab & hamburger widths","id":"877d88ab9774eb81f68949d350f3471a97da2dad","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771347052,"description":"version bump. changelog updated","id":"82ad150842b43f756e3fd6ef93bf159c4f7db954","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771344973,"description":"fixed has_global_effect_hidden state variable","id":"6a36fc8613fc2c1d2c39286c893a7fae94a3a943","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771343867,"description":"handled removed global effect controllers' visibility. resolves #149","id":"7d6475fad9713a97d775df2b00b161666b07bc89","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771306568,"description":"testing. bugfix - Channel.remove_beat wasn't keeping correct count","id":"3468a239acf942449a5ee56f1befc2e613e1efd5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771265430,"description":"playing with instrumented testing","id":"3ff957ee0e1df138e47d55d8bc74b195ec794064","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771190046,"description":"removed no longer necessary lock_cursor call around toggle_controller_visibility()","id":"d241ced033a8b18b443ed55912303d57ecea7456","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771139746,"description":"work on instrumented testing","id":"7dab8a1680b7332a955a3fde744d0bde157953c3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771094220,"description":"work on instrumented testing","id":"daf5e328590914f7430743391dd0336938dd4fde","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771056288,"description":"lint","id":"b8c2bf8721131361a9ef66e5cde042dae9aaf599","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771054281,"description":"lint","id":"4752462f44e5e24c22013eed9ad39c637061eb2c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771052868,"description":"move ActionTracker -> ActionDispatcher","id":"da1b2fab516a7fb0101d85157725053d10f4693b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771046353,"description":"beginning to dismantle ActionTracker","id":"24296ed75dbe3dba36597d484956e4a046516114","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771018584,"description":"play button alpha reduced when no playback available","id":"6d9b6269675435d050ed026f27c190b533bde021","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771018396,"description":"fix malformed padding on tuning table","id":"777e3a1f075c10b2133cd6241b3b3b0430267360","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771017747,"description":"New Icons for redo\/undo\n    reduce alpha on undo\/redo when no action available","id":"43770b94decbbb58fdd7c89a7004a05f415f626e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771006395,"description":"Redo functional. need new icon and icon appearance logic","id":"3ed953f65a90db0dee418fa1b98e46e74468a328","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1771004382,"description":"implemented initial framework for 'redo'","id":"3340bb201e70ee8624c7033b4c41134026503d99","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770959077,"description":"Implemented TestTag as enum and Modifier.testTag()","id":"11123a605dd6dfa1dfadd16c32d5f35bc362d7d7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770944571,"description":"working on basic instrumented test","id":"b21ebacf5e8ca1b4a033b4534b1e295b401d5809","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770926138,"description":"starting instrumented testing with compose","id":"904426779970126e345259baf2e6dab5839d9548","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770918899,"description":"restored some toast feedback","id":"3361514dc6b820cbddb3072ff749c2fee35edb16","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770918667,"description":"removed raw string","id":"95e89407f1b0351878e3b65825f9225aa637d438","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770918284,"description":"state view model storing pixel density rather than leaf size","id":"028105abe431c90400fb15e1907d692c07b69e0b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770917540,"description":"lint","id":"8d2ea578478817c9b33b76ae290f28420f3f1299","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770917497,"description":"update some tests","id":"1a1b2cdde1b7a579794138a5d6dfafa538d424b1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770875036,"description":"removed unused night colors","id":"0f13ad242308a360c9d18053fa0da0c46a86abb4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770839080,"description":"Lint","id":"56b80ee2f2cdf436d5e82ab17332c509909633f4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770745625,"description":"magic number management","id":"38e4cba4bfd6714ed9c6f5112314fa4089be2f2d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770744099,"description":"magic number management","id":"e5e7f77f7dd5fafe12ee16b5ece61d207d767b28","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770665272,"description":"lint - magic numbers","id":"c3abca9975e854d0ec9475ecfee30c3b082ae771","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770591607,"description":"Magic number management","id":"766c81ae41b779bcc19248ddb01c7a13aea36d5f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770589561,"description":"removed magic numbers from DialogCard","id":"55193401d35b97db816ce6d21f27050e9ad986c4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770582990,"description":"add license snippet to beginning of newly added files","id":"0efa03f90fd4fef99cc4e4ec56af1ab0f49d141d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770581705,"description":"Moved most of the  Composable functions out of SText","id":"5ce2f580976e3fb4b051918401d6103db170cb7e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770577392,"description":"removed unused colors","id":"05c109f5d86a18043961f422bf9d8084d4cc424a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770575216,"description":"remove dimens.xml content","id":"05646c5d162ac5d37f5e837f47b11352c3c7e5a3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770574398,"description":"removed usage of dimensions.xml","id":"7733159c48d6e87ce921240e3337205bb66cc704","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770485070,"description":"restore applicationId, move changelog 139.txt to 140.txt","id":"f8ea997b26b75653297696b6ee19f50aa06ccd60","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770481662,"description":"fixed undo of move_channel","id":"27d69435014d225098f243f63884684b92e0bc1e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770447384,"description":"when restoring channel \/ line effects, only set visibility if visible","id":"e34035b485423c7b4e69cd19c00ad5689a1a96e4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770440876,"description":"move change log 138 to 139","id":"a190a97833808d211695bdf89a0fb87bdca9b929","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770440693,"description":"versionCode bump","id":"86ed2e90f6f93ff6f86e7f717bee9b0d6c5f7126","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770440595,"description":"removed debug code","id":"8de5e0122c7e1f37759066f16c7174a05e192d4f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770440455,"description":"fastlane screenshots","id":"7a9da9109bd0652656e7d1be6b31c0c19b661866","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770427143,"description":"Removed template from end of license","id":"99705e303afdfe714f58538ee7744754edd9e6fa","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770426970,"description":"fixed license and lack of license notices","id":"44b630222860b84ba249ca69c83f3450e4f1bc7a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770410568,"description":"updated fastlane data","id":"296c3f4f282678868863553fa1aff08e586397ed","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770408451,"description":"version bump","id":"98a159370c6dd15b3fd9b2d4d9a092dc8394e7d8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770402765,"description":"fixed crash on input w IntegerInputs. reduced BeatLabel font size","id":"f9ec6062e5d3a5dfb97748cd337f72fb905b9462","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770396595,"description":"remove some redundant code","id":"00922d2e137c0bddf77e29164ed43b3459e456f6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770311976,"description":"close load menu before trying to call callback()","id":"ddc4e3da48b6baf9629ef8a32a7915a9c2467ef4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770264360,"description":"more fixes for track_blocked_leafs()","id":"cbb5eab8dce0988416688ef6a60fe9a127ff5378","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770262685,"description":"tweak to leaf selection","id":"45e8ec0500fa32a0cb9fa9393d4fbd9659d375c7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770261745,"description":"fixed: called track_blocked_leafs on incorrect beat when inserting beat","id":"10a50712d0d34c219389cf779564c3c8a581fe72","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770258098,"description":"fixed: insert() wasn't tracking parent","id":"801ba691ee53adc69ff7e9fad97e6baac4ba1ddf","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770256678,"description":"added refresh button to load menu","id":"d6f8376b4e6c14c9a15fdff1f043f57b74158a8c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770253750,"description":"fixed overzealous leaf highlighting","id":"b2b5d58025389af8bc1e0a6423d10bdede04a3a9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770251204,"description":"more tweaks to selection colors","id":"155fbd5b23598c9e1a5938e19256ee48f76a1946","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770249607,"description":"leaf\/line\/column selection highlighting improved","id":"13366fb433b71e9fcacecb05745badc0ae9e15d9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770233410,"description":"leaf highlighted notes with duration > 1","id":"10a7dbede90042da3d26346278d11d4c8d1880be","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770228293,"description":"removed debug code","id":"5a109c28f59a562a3efcc2c7e5c367b67aa37e2c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770227958,"description":"fix crash on move_line from single-line channel","id":"5e11e23d1f94b5f38d2fa796372618a1979a8e50","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770187942,"description":"created EffectLeaf Typogrpahy","id":"2df768e451f7ca1084558773ecbdaf64e087e161","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770184590,"description":"remove placeholder tag description","id":"f9c747a4f98f5d44528611a9d3428210c00c9c5d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770176969,"description":"tag description work","id":"651af3101e209641558dc55dd486c3f0840402d0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770145460,"description":"moved tag input description into context menu","id":"e255da6aab82ace2cb71950ba2ae2420dd48d636","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770102254,"description":"attributionTag","id":"c52e8d86afe5d716b8493d8637f9dad417ddf05e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770100557,"description":"button shaping","id":"d299c8f761571801ecc792d4e96c45d14e816c57","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770098864,"description":"button shaping","id":"003ddf016d427dd7456267c56f40f5bc830f36d8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770095576,"description":"check active_event_descriptor in percussion switch","id":"2ac1b8dac19fb55062888718e2254ef3befec883","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770092027,"description":"background tweaks. created layout dependent shape for buttons in secondary context menu at end","id":"7cc0b05255ccd04624e68fc5c89b51ec1019113f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770075029,"description":"background tweaks","id":"869d94298a6858e8ee403a872ca3649fe1f9bb16","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770072792,"description":"tweaked shapes","id":"88e3db31a5ade9d6bbdd482299e0d4851289eff7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770071268,"description":"fixed long-clicking offset value using 0","id":"cf204c0f702ce7452780c78373e0ba5031136d56","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770070180,"description":"slight adjustment to bacground pattern","id":"bf6554d7bfd948f24c001608ff6d53371d59855b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770064408,"description":"fixed delete button in project card","id":"1de80b4abca7d39f5fca9d676efe9f92089145ff","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770048605,"description":"handle unknown kit instruments","id":"5ad3f51fa50e5e91c1f1b04cee5c7800528da5f6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770005182,"description":"reduce Feedback device buffer size to 1\/40","id":"bd30259251f75801aeece1d3b2b54525168d7a2e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1770004880,"description":"reduce green weight in get_text()","id":"c693f9cabf189953e272ef801bb0a55c42432238","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769995207,"description":"update channels on insert_channel()","id":"63ba63cd0c3611fe3c0414a1a5fa18ef33f2612b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769995081,"description":"update channel presets on channel_remove","id":"f834b23b63f6a2cff140c0ae4f986c5031de1b87","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769993988,"description":"refresh cursor after move_channel","id":"7bb4ee8f139f9ec3db6075cf189e9a0184732b32","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769993346,"description":"update channels in drawer on move_channel","id":"915ea4f00dc28990a7a48b4a4c6e598db4ee9e5f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769980083,"description":"get_text() weights green more so return will be dark sooner if more green is in the mix","id":"b13f4696a1543d7a1f697b574dee64d286440101","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769978811,"description":"update palette icon","id":"3baf1117d631d72e746093c27389d7f8d6f5402d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769977593,"description":"start playback from first visible beat if column\/beat not selected","id":"7a49b8c5b287683a5f8b801d7bd390209b594951","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769977043,"description":"stop playback on load","id":"b718751c8986841dabb294dea821eb05c8e18f85","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769976352,"description":"typography for number picker","id":"97ee031da08d25af18104b4d66618dd04f351e9b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769975023,"description":"Fixed incorrect value in NumberPickers","id":"e2001eca4c55f72e051428a88f69869519b681c9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769972707,"description":"update project_exists when loading from backup","id":"f65d8541e693f3a1fd3ca1b61c44228eb6418605","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769942783,"description":"Prevent Dialog from shifting on resize","id":"c5df6238a7b88b0c3622bd3d6d571849efa7d436","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769931141,"description":"change sortable line height","id":"b425671de978b9a83763140d1cf333ef3649b8ee","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769928453,"description":"Custom Channel\/Line Colors","id":"0298ca21e6ecbb600539eca443c5c69104d9faa1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769885446,"description":"feedback on project copy","id":"e78dbfd0dcc13de5b1263969908944ad3d847716","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769884950,"description":"don't show leafs as selected during playback (only column label)","id":"4c5bde32c2ac5688bafa5f0fc899c76adb4f809f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769884322,"description":"SmallPortrait moves Project Title to Drawer. Placeholder playback button added when no sf or midi device is attached","id":"03774915d73479e3c884db0321ca0889fb1f206f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769842896,"description":"starting work on channel\/line colors","id":"ba15f904e82b645b7fb79230abc7a8df3b383eaf","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769821816,"description":"Pre-release tweaks\n     - reduced tempo input width\n     - minimum percussion instruments set up","id":"61e9c9e6ec02e216eb496f9c8c6979b23f7f2e39","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769799200,"description":"removed debug code","id":"e00dbe5419fc8b0b11f4a545821811c25f8f76f6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769797570,"description":"removed duplicate move_mode in vm_controller","id":"2672ba811dac7175878cbfb10130bfdf8154b9e5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769795037,"description":"Moved playback button to left side of topbar","id":"a7c7eea9ddf1c6983dad0dd1199acba7ebd17a5a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769794350,"description":"pre-release tweaks:\n     - Toast on save\n     - Tweak NumberSelector FontSize\n     - Added dropshadow to topbar\n     - Delay Inputs submit on focus_exit","id":"66d23ecd54eb11de7c6948ef90c010a156f4d6fa","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769758446,"description":"removed relative input as a config option. relative input logic worked out","id":"3b4cec10a768c0bea409ac68a4106f2079752463","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769750067,"description":"input indicator tweaks","id":"f7c8477c59518e91fafefc11fa801961e555c436","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769724606,"description":"added Values.kt","id":"0d716090aa172557fc8eaf5fdbb709f5033912b6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769724582,"description":"handled some dangling TODOs","id":"e7692b1426eba56eb274f9e4a8a2e69e055bb3f0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769719754,"description":"show warning when exporting midi with multiple percussion channels","id":"92910699249a926db93da3f52507d6d99674300a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769718522,"description":"converted sound_active from MutableState<Boolean> to MutableState<Long?>","id":"8377ea59ca1c0c5e67db1b38f78d9d2710fe06b8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769716633,"description":"fixed scroll-to-beat logic","id":"495165a3f3ff69b4c13a86e31313fc612366bc03","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769713398,"description":"removed stop indicator from oversized beat progress indicator","id":"880811422e2645b8811b478f683d7e34fcb88363","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769708803,"description":"removed some debug code","id":"aca2b68679031f49d6d4bb5b857d271b645f2212","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769708449,"description":"increased threshold to 1.5x the size of screen before showing the progress indicator in the beat label","id":"54a37e695911016404fd00e82f0e4fc7394eba15","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769707952,"description":"put vertical TableLine back within LeafView","id":"af22276d0ecf7a242df05eec24506b47e88781f8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769707411,"description":"use_preferred_soundfont working again","id":"7936ac86f3ed99f415e6b52c1a8047a50b6a84e1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769673538,"description":"update event when selecting leaf in event lines correctly","id":"32d5fb71426f8fe178a5da926a3063876269f482","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769669980,"description":"fixed crash due to un-unregistered receiver","id":"9f45b74700a02d465bae722e5e83f4491e6a5e60","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769661296,"description":"stop playback onClose","id":"59e60506d95fe4da9dfa190792feea731352e3be","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769654848,"description":"fixed some spacing","id":"66b50092cdbfa7c9bdbacbc78bd370574e281a66","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769646480,"description":"more tweaks to tuning dialog","id":"01c3e516365ef79ea3c6816a04b679fdc0791a5a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769641712,"description":"restore icon_x & icon_check","id":"8f0c866d77f729f9569c14755953a3e8d5de89cc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769639408,"description":"tweaks to tiny tuning table","id":"d513e42397ba0674cc72239cdf2d2dea9f4781e5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769634113,"description":"NumberPicker Improvements","id":"0d598bebb627b97c254af02f6ac63a4b0be07eed","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769625222,"description":"fixed spillover incorrectly getting checked in add_row()","id":"79a4a98cce192b6d7ef6b1f43c24aed757541d12","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769587085,"description":"fixed contextmenu Range Move mode selector","id":"0396b2a58cdea1d812a229aff888d8e062b843f6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769585648,"description":"Special Case for SmallLandscape Tuning Dialog","id":"e024a924e18f1ef0f1d179482adaf63e6da7491a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769560713,"description":"project notes field minimum 3 lines","id":"e1e40cd19044c04007022bd7b89751955ffeec72","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769560488,"description":"Typography on Leafs\/Labels","id":"8bf994248f48fe4fc2a18a8065d4258eb0ecadf6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769540858,"description":"handled table bottom\/end padding in a better way","id":"2f37e1a9488667ec4124bdfdc2c81eea581de409","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769536755,"description":"about padding","id":"0c38e115466e03ea0af59050278a2ac4d1ff789b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769533870,"description":"padding in settings layout","id":"59ae8c411596c0ddd79573c1aec8fe842204a664","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769500284,"description":"Moved TableColorPalette to Colors.kt. created Typographies. added fira_code.ttf","id":"9b3cd76e949b87cc340baefe3046439d62585267","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769479498,"description":"lint","id":"3089d34303af38ff1cbfbfd036bf1238ffde00b3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769472118,"description":"removed relative_mode as state variable in OpusManager","id":"9af85fec39b99a5bff30036b0438ca4e59cb2bae","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769413454,"description":"work on long-click to change relative mode","id":"89dce4acd03424651e3ddd5d9ddd57addf0c4349","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769412355,"description":"persistent default number input values","id":"24d464407b9c5de692a960aabc6cbee39307eb60","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769411803,"description":"Soundfont warning legibility improved","id":"26085c5cf72ccee0da9923d8b50cdde400ee5039","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769411220,"description":"darkened dark background\/surface. increased threshold for mediumlandscape display","id":"c1e1fdb9ac56de8c8a2b33d5d170ac26e9e8fcf7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769327339,"description":"changed settings\/about\/import button sizes on landing","id":"b0100160ad020f67b96ce54fbf91d2fdc5c97147","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769291359,"description":"merge","id":"c9c4fcfae5553cf4bbecc7e5a42ea3be08be7682","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769287637,"description":"set up layout-size-dependent dimensions in Dimensions.kt","id":"2f34ade07b84cb9aaf96ea12beedeca56425a615","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769280429,"description":"changed width of buttons on small\/medium landing landscape layout","id":"9c0e1d67cd328c5dfa424a025746b268ecaae815","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769242692,"description":"update unset icon. using switch for percussion interface","id":"59ca7a00229de6965bd2012b9a24c56051752fea","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769233999,"description":"ContextMenu button shapes","id":"e26ea4b8d9d8c1238de9f70512cac6f1dca2540d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769210447,"description":"moved padding order in drawer channels","id":"9f639a082aa2b69a474cb5c8a3b308ccb82866af","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769209528,"description":"don't highlight previously press notes in relative mode","id":"068fb414b8a0e6e787340cfc499132d4da55fa8c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769209032,"description":"PaganConfiguration using MutableStates for values","id":"bcef6e358c4660b087f8b09cad69b81dcddda1c2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769203699,"description":"work on shadows drawer channel menu","id":"fd25b123240de266ff64242e365434bc13c0db15","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769191601,"description":"style add channel\/kit channel buttons in drawer","id":"ea6b6b58568d8dfaf986c7f0c8b1a0b50defb3e7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769152623,"description":"Removed unused xml.\n    Created Shapes, Dimensions, Shadows objects.\n    Simplifying Icons.\n    Added Drop Shadows to Buttons, ContextMenus and Drawer.","id":"f0f772492c3c534225fd70223fadf79a558b0984","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769107315,"description":"Center Title in About\/Settings. Show version in About","id":"ad6da6583e32f2b67bb856e68e38b4c33ad3ead2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769101786,"description":"Line Dragging precision fixed","id":"9747314d892e037b4cfe32f7717187e6b31b1b6e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769095441,"description":"check dragging_row_index is null on_drap_stop","id":"323d932131ff28a2519f1b39344d5ce230236136","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769062575,"description":"updating lines\/channel in state model after line swap","id":"e623d7a0f30da3625b0ffbc9b4435d05347690f2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769021599,"description":"change background lines","id":"15443bfb4bc71953bee4f2bb4981e28b628ace11","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1769015710,"description":"Created MutableList.swap_sections for swap_lines()","id":"947c0524f00e166ccd170a9dabfacd0036cada9a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768977797,"description":"set ready state within import_midi() instead of before","id":"0b37e23c7c404b0809565b9dc81b9b76737e058f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768973195,"description":"check ctl_level when tapping line label","id":"fadfaeec0da1b843e79d177b1447721de9d118df","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768966243,"description":"associated ActionTracker class with context","id":"7c8c1c2c0dae46a82999e90b7b2953abe9667702","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768961842,"description":"clear state_model on caught crash","id":"e19374b0cea8951f9d20e4ba727d5043e2a67cdd","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768960105,"description":"sliders call changes when finished changing","id":"233443820698be5af26a62988d783eab06d7c078","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768930469,"description":"tuning table improvements","id":"6ff36faaab7e73201393b921410f707904974991","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768882709,"description":"Delay Inputs seem to finally work intuitively","id":"97ac549ca4c0a9d9a3b9e871b26e054a8bc19117","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768874141,"description":"changed transition names. show icons in menu","id":"06ba26600fc9ff39a4c417146d927114cd952ddc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768841589,"description":"bottom contextmenu correctly shifting up with keyboar","id":"8edbd9de5362b369358128e08afb741d3fcbde20","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768807770,"description":"work on inputs","id":"be8857fcaf33bec3392c9a78952c59a350b618e4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768786996,"description":"update effect leafs in ViewModelEditor appropriately","id":"f7213f88fa3347dc774e4b0e5d3453d18e1b99b9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768771261,"description":"modified insert_beat(). no longer able to pass a list of trees.","id":"2105a7b8fb650577756da9e03533f75ac9e9588a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768722256,"description":"fixed over-engineered scroll_to_leaf logic","id":"aa2157fdb0b5a0152163065bf9df4e339cafcf11","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768719556,"description":"added weight to ColumnData","id":"b8950634713569c7577db0c415bd70639c8b35a7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768711335,"description":"fixed wide beat progress bar","id":"0312f1a0ea251b525a811c52e4c35d659ee65b87","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768597197,"description":"dashed order on beat tags. fixed drawer channel dragging rounding issue","id":"2b17466d1b5c5902bbf063d5cb11ea17bd300763","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768587972,"description":"dashed border on highlighted number selector buttons","id":"e23f13012bf88460d7e42c53995441105c2c43bb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768586250,"description":"moved toPx and toDp functions","id":"3ce42b12ebdb690b5a5dd71fb4671c56b4134bd2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768542266,"description":"bugfix and version bump","id":"46a72ec33ab944fd1af44f529f690e6980545a03","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768540166,"description":"fixed crash on add channel from Drawer","id":"3953f8548ef89c17c958117a7da46078f918b06b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768535811,"description":"disabled project migration","id":"47177c11cd93261b161e6b6d2673e11056c5fe53","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768531795,"description":"suplimentary line (when dragging) logic","id":"eed091fd80fcfb9dff981fe5378e07a1fd69d116","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768457189,"description":"drawer channel dragging","id":"aeec7478f2f67ea7b45252bf639e3922f6a969bc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768433338,"description":"conditional drag modifier","id":"aad1f1e2e2df8acc7bdc8cd5aa94f2848642e0b3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768432276,"description":"press-and-drag working","id":"e1f426a50d4cf9cdb9460914997733dd01e81075","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768427521,"description":"work on generalized drag\/scroll solution","id":"d0c3d44c43c43a3cf07be78dc6331f1357240da3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768371641,"description":"removed bottom line for HalfBorderBox","id":"97c526002e470a2ee9f96fb1d2d382be6f62d88d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768345996,"description":"tiny code cleanup","id":"196c956114fc4ca7c365e82eeac0425df1e6868a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768345764,"description":"dragging logic ostensibly functional","id":"39ec90390ca804f6b5547eb43ebfde7fd8a4728b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768339662,"description":"Dragging work","id":"62ae08e357250c6341c79f0cd6f78b552a4891e8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768288965,"description":"work on drag","id":"b877c07756da116500aa6d66935915b4d293a4da","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768248316,"description":"switched back to 'adjustResize' softInputMode","id":"a1698dca7b161f2698f70a6b098cb25492480ba7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768245550,"description":"consider 'is_after' in get_dragged_offset()","id":"a482c64c4a60608b748493344a07e8fb782455fa","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768244809,"description":"drag\/scrolling functional","id":"c96c7244d84faa0ebbe96e6f4920a7b9ea7d169a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768236318,"description":"feedback volume reduced","id":"ced99030a908bff6518b62b18af761c969a54279","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768207953,"description":"inputs detect enter keypress","id":"fc7e28fcdcd10354d30ab3f9f65cf3189cc4fb3e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768203178,"description":"Restored multiline numberselector","id":"00f8cbb8297a0935da0204fc3d05c22991f80660","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768195674,"description":"tweak to LeafView updating","id":"0a2aa8fa42c975d6d48989b05e7efa51e7db194a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768182112,"description":"change percussion indicator","id":"e328029da2b29a69488ced4933c948ca87062cf2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768176222,"description":"editor layout fix","id":"a03cd8dbfe5dc95c4b272f2c2054cf9530f520ea","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768173403,"description":"Landing Layout","id":"73736f846585eb5004043fe4a3f7bc18e1bcd71e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1768093643,"description":"All layouts in Settings done","id":"2ea5c999ce16fc5a97e6015d2a68424820083a0b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767994870,"description":"work on dragging","id":"528c8bf81ca78eae8dec729c16cd47b1d8ae2541","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767981067,"description":"work on dragging","id":"f84dd5d358557abfdb3ce00fb34ce093e8804d28","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767943929,"description":"work on dragging","id":"d5995cc82fda2ae1131bd299b86b9130601fae7e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767894653,"description":"work on line dragging","id":"1560e17f756b33c2e3cb14f43a0243814720767b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767857098,"description":"'MagicInputs' (need better name) using dialog to deal with inability to drop focus","id":"5764a6159a785cc3a592ade415e57a823d761b46","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767827469,"description":"Draggable lines. no logic yet","id":"72283cdf491c6bb467ff2d69e942687856713201","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767819115,"description":"radio menu tweak","id":"2fdb873a780f99172eed2d32602991ee76ef5902","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767816830,"description":"Show progress bar in overly wide beats when scrolling","id":"61af7b7ee22a7d05ba4d7b43aa338edce42af6cf","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767781313,"description":"floating beat label","id":"69e39106ef4104f4f4187f0b4a48b6914cf3a934","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767766157,"description":"hide relative input button in percussion cxtmenu","id":"aea740c30491ade39dd8f076dd4df61a845a03ad","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767765950,"description":"custom radio menu","id":"8d95d316ab28ad443af454e5cb28183cbf534450","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767738328,"description":"improved tree\/leaf view state management","id":"9fb7d5cc002a0bbd323fc53afeda49c92847f495","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767691564,"description":"work on update_tree() rather than update_cell()","id":"99d0c526be23a83d9114e91cec6898c20b3697fe","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767686128,"description":"GM percussion names bugfix","id":"56346fc27cc0191e70e3ec6b9d919d869550c273","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767679058,"description":"debug mode in when running as com.qfs.pagandev","id":"b53862b27dbbfef0c2021665c21fa079528f63ac","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767678507,"description":"returned to skyblue as selection color","id":"bbab3ff210833f5c0d352fe1219beaf031377e98","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767675864,"description":"orientation icons","id":"6377849f42be00421d110d139712269727e4ed1b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767669293,"description":"beat selector dialog","id":"4e48d9b47ec77938c949ba201cc4467cb669f332","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767664601,"description":"feedback sounds","id":"c1be3a5d3ca520f59bc1dae1cc2bab396d43f8cf","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767598519,"description":"typography note","id":"19285070901c0f461367b9eaad856b8415b9b6eb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767596915,"description":"styled project card","id":"133e42f3f9439af025cc4c6767c1b0e15e615673","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767591575,"description":"error catcher","id":"ab43b564dfc06ac1a70da6df68611afe19ccf839","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767587770,"description":"Fixed: label text size, spillover not rendered, abc sorting *was* considering case","id":"8b845efc287855b465aa7d299986f235d8148920","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767501442,"description":"scroll_to_leaf logic","id":"3d028c750bc98a45253683126d5fee5e015c741e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767427508,"description":"work on scroll handling","id":"9bec250dcf24db52dd719ca35d1a47834a4f298b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767376059,"description":"stop playback when setting soundfont","id":"7a04c9c6effe99965e68c4623e3f7f961e155cec","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767338248,"description":"removed recent generic show\/hide loading spinner funcationality","id":"9d9c21d997e595931ccb756e9da5853a8e855794","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767336980,"description":"popup relative input mode switcher","id":"a9f3c66bbbb162425ea69b9e17e44c38bf315b6a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767334528,"description":"fixed tuning table redrawing issue","id":"a018f89be6bff57650e6482ef7ea47bcdad807be","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767333151,"description":"don't draw table when loading","id":"32d785da4086d9e1f551540290d00a79c31d0047","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767317554,"description":"midi playback work","id":"ef61770e1166ab82972eb13fb95c3c9bfabcec80","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767247794,"description":"TopBarIcon sizing","id":"bc7f77dd079509770971cbb7c637ce81e8fa0fe6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767243672,"description":"added functions to ColorScheme","id":"33253efdf396f907c7f2589a4cde5bf657352ad2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767239556,"description":"scrim color fixed","id":"640fc4d84479bc2925c4bd42fcbeec11b5f8a5ae","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767232108,"description":"rough loading spinner","id":"a11a2f8889c23d84fd8b03cfbd2575860f1a38fc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767179063,"description":"Using original table colors. The Material Colors experiment just didn't work.","id":"4b7977a4781a988b620cbc1c07c36d85a3913e21","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767166841,"description":"work on colors","id":"c50c91bf54ef73903e41f9a780233796b1cfb9d7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767119593,"description":"tweakin table colors","id":"a627ddee09607c4a7741a8557815a1933baa38ec","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767116229,"description":"delay fade widget","id":"23b6f73ecb5428642fb50b364ab237976c756daf","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767109738,"description":"work on popup slider for attenuation in DelayEventMenu","id":"ca546df7d4d3558e3b58fa5d50dbcc523571c6cb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767084121,"description":"outline alternate numberselectorbutton","id":"49e262c1e201086c860b1eea4457ca13918c3be8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767082647,"description":"first pass at Material ColorScheme","id":"29841b1c3cc98dbd610d2185bbfe03e2e43d6e1f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767077308,"description":"update presets on midi device as necessary","id":"3e42063bb73d6acf9718171e8a5dadae0517e829","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767074444,"description":"update preset displays on unset soundfont. hide play button when no soundfont set","id":"7d44da268ea58d46762112456f4d7035503d28c3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767032521,"description":"slider colors","id":"148a649f7fc70876ddc56fcd4350e93259df029b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767031554,"description":"instrument defaults when midi device connected or no soundfont active","id":"fc5065bd559768ddd1233939d32e05e7078e82fa","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1767027898,"description":"update audio_interface on channel_set_preset and new_channel","id":"d21139a9262ca1e11cf77a3541e460def8141fdc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766997554,"description":"reduced clickable width on topbar title","id":"1a4309713b15e02641dacfcce012c1634e147d7f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766996856,"description":"Delay menu & leaf","id":"124f13941fbb1bbdffc94985f156f93adaf6d4ac","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766988597,"description":"spillover context menu functions","id":"d5e2e6dcecfc9b98f418e95e90047b1931648b2f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766975989,"description":"descriptor added to ViewModelEditorState to differentiate between selected active events and backup active Events","id":"6747dfad7e2b77111717ef3df933bc391c725569","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766971850,"description":"setting duration quirks","id":"c6c06f34fd4da73c6529c84a76639ac3c1ddaf1a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766909110,"description":"work on spillover rendering","id":"0ce5517e26267892a924c9e4574ae5ad3d16802a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766883094,"description":"work  on spillover tracking","id":"e4dea3c6eb4bc7d52d4e59eb6eae36edc541fbc6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766874114,"description":"bugfix: new lines' column widths not being visually updated","id":"51f3fef98e0cf79cbe94b2fd5e1f2628ed698c9e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766871927,"description":"leaf styling","id":"d3c67b2390bf91d8edc4ad6878469f45e25ae464","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766864929,"description":"numberselector button colors and highlighting","id":"dc940f323317071e2b21af7f6691a87477a498d4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766858670,"description":"project_name_and_notes popup styling. dropdownmenu in shortcut dialog positioning. line\/beat label colors","id":"be5d808c5fe5e87b6483775a76210f1b1fb36e32","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766828481,"description":"hide 'adjust selection' button on percussion lines","id":"4399d63bdf5bf5b72a6877ca303cf75fac01fefd","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766828349,"description":"ellipsis on channel presets in drawer","id":"54ad79fd0df18459d32aeb9c8b523248cb04e9ad","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766823148,"description":"expend SortableMenu items' height as needed","id":"3e938e4b8c616e13e043cdb6f4e8c9eb439e5694","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766822365,"description":"work on rearranged popup menu","id":"18e6019bd5290b6de6cbbfcd846a2a24023db59d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766819418,"description":"default sf in sf menu","id":"96aac85fcafbdb97183b2a6dd3ab8938735110b6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766816136,"description":"SortableMenus automatically scroll to default item","id":"4795e68fe2bc9e5ed9cf1787a85e25ed4d1bb932","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766814616,"description":"work on standardizing colors","id":"1a9d67e9d126340c1071be2a623df0dd9f711ad9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766734543,"description":"effect transition button","id":"64a77215843118295cabf8520e0f3cf9e7454752","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766708442,"description":"BackHandler","id":"bcbe716f86a748d2f9eb83976e1669660a4f79e7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766690788,"description":"MagicInput backgrounds","id":"c1cbfd02c5e86fbfe7e0e2bf3ab3a3d889edf159","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766648552,"description":"topbar styling, materialtheme colors, line colors, SortableMenu Styling","id":"97afc158a2d686831fe06feb7af25dd83b6f68c3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766603419,"description":"volume widget","id":"08962e2ca0ad60442ac0986ca8987e62db5260c5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766601081,"description":"separated ContextMenuLineCtl & Std Primary","id":"4417f99aedf0f6073834f69686db6057743cdf0f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766598458,"description":"set project dir and save logic","id":"437e66236d423e7ab957dc90e8cae9b97599d4f2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766566149,"description":"work on reconnecting midi devices","id":"45796f6c37f7e3133598d88c19511ca962851d15","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766515037,"description":"working on reconnecting midi playback","id":"eac7d0eba2e55a5793999b91a54b71060c9c6c15","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766481981,"description":"Tempo ContextMenu","id":"4e27dbd2a8b51f96018b435eab2130b578c14dd2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766444308,"description":"line repeat functions ostensibly functional","id":"c6da021f056421c1673988fe981d299c6d2cdc1a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766428038,"description":"repeat selection logic and ActionTracker cleanup","id":"8f1792aa35b2caf4dd4932015758ebdca4bb7d74","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766392391,"description":"work on implementing line repeat actions","id":"6411d320079efd656092a4cc64b565370f4be2ab","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766384288,"description":"Fixed UIState line repositioning","id":"c9f6c094adf913a36b2518844ee61d97bcd0aff6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766278075,"description":"refresh cursor on toggle controller visibility","id":"72614579905829a41240c8555cfcebabf638f0df","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766272933,"description":"work on context menu layouts","id":"4c7d762f133d9a227fff021f61c44773352899c7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766259737,"description":"reorganized ContextMenu layout logic","id":"b6a120cd4a8209ba4b7acd29a302563618053160","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766217871,"description":"created MagicInput (temporary name). work on finer control of contextmenu layouts in progress","id":"e8a4ec6008089b282e36b6392fc04cbaf92b5f82","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766189963,"description":"work on delay inputs","id":"45d075461857406b1cc6029d4efdc9080fcbf0b8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766182026,"description":"Futzing with TextField Quirks","id":"18e20846a1fac8459771263086414c3602453ddc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766133289,"description":"more padding & dialog tweaks","id":"6d7d8cbda08348729c51807255d0be9161047917","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766082648,"description":"separate DrawerCard from DialogCard","id":"504d5d9bcc66518bb3e905555d03fefca7fc71e0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766081723,"description":"implement sized dialogs","id":"b1ac340b51c0ccb75a640dea22ae316524e9f958","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766048606,"description":"working on dialog sizing","id":"acd43f0ef1343c6c87b4243721a8f50a11b23b30","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766014236,"description":"work on integer input sizing","id":"31e739e081295753df53e23bbd1a33684119fe06","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1766006730,"description":"various paddings","id":"49e194841949f4ad33bcaa981b8dba7484ee0738","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765964038,"description":"returning to crisp lined aesthetic","id":"edb70c662f1eca5f8402defa65aad99466309df4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765960284,"description":"contextmenu padding & landing padding","id":"c4c35984d214cbeb82991aee182f4d83b4bd532c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765948930,"description":"NumberPicker done. Adjust Dialog functional","id":"48ef64b007f1a9a246e612e37ccbd88aa958f3ac","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765925979,"description":"start work on set_soundfont_and import functionality","id":"99a1111708e44cd10ad7335dafe89ffa8d9f6bd3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765925202,"description":"contextmenu padding","id":"1bf23e491ad7e5a90617975e646d53c935b361bd","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765923373,"description":"Roughed-in NumberPicker. sortable menus initial offset","id":"d6d149b977249fdb3ed820ff0b7345c9e11b9731","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765920688,"description":"contextmenu padding","id":"e92b2b3f9b088c5164f448e5843f923f62a012a0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765874357,"description":"fixed unsortable menu layout","id":"8d8d646d8ab16a1eaf5c76c18222fd0c6efcb40f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765827559,"description":"defined sized layouts. created sortable\/unsortable builders","id":"c579e312917029dc3dd65d0cb0c316b4ed3587c6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765698873,"description":"Editor landscape layout work","id":"c8a71b2a6f5837c166d06988471d40fca9bafa33","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765673242,"description":"setting up landscape view logic in editor","id":"3ac3f0689b03c5dcc1b961175bf3946f0a7d4734","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765611885,"description":"restored save sf in project logic","id":"0a7f62175bf33d9306fd16874d6a82cbcb02b956","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765583057,"description":"fixed delete functionality. unset active project on new project","id":"1bcd50b14b805a08e858a79370e6f44768300d8c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765562064,"description":"work on loading from bkp","id":"fd173da7e6f7d9537d3fbb9091c70a9d913e17a6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765561332,"description":"slight improvement to tagged indicator. untag\/tag working","id":"72a8b714d9a328dd038a12ff4a817df6617fe192","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765560606,"description":"shortcut slider","id":"1e2225198ae3abc823f3db523b936b08d7c42d94","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765517694,"description":"export functions","id":"28ef8fdf86de4a36989ce3f11bad8253b0845c7f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765491198,"description":"Removed Leaf Validity check\n    Added Channel numbers to drawer channel labels\n    Switched from android.R.string.no to R.string.no","id":"4e55c9e346814b0fd7a8f4e6e50441378711b4eb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765488054,"description":"fixed broken loading","id":"b8d94e60ea272d089c05d1503e84b4956e05e2fa","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765486293,"description":"isvalid work","id":"34759c973abbd9844c6776d96f5f9e8aff2efb98","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765431318,"description":"leaf layouts","id":"78bb29e091a3a8495fcd6a4f7df4b6ab48bede71","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765387103,"description":"work on export","id":"a495ba228c4af0959d617c429ad0a1eee1b6ac4e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765382549,"description":"change channel 'instrument' to 'preset'","id":"4c666dbc10aa93aecb5fe9f5110b92f15fbe6399","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765343378,"description":"fit sortablemenus on popup dialogs","id":"543d26fa3740dde390e33cda8c2385568fa3a655","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765266271,"description":"more work on lazy rows","id":"477b9232628c8659e9e4ad809b305e4d8d1f2634","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765235442,"description":"got lazyrow working","id":"e8a7a75a27bddc9aba6252291f0c64aee4091117","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765218340,"description":"tuningmap, project name & notes and export dialogs","id":"64ca40153c7526c3c9edf2ec4f5a9cadaca7f237","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765214754,"description":"LazyRow","id":"76eb9982b1f1f4f573ad72d3a2a86550e41415a8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765180803,"description":"pan slider","id":"b0f02d0e44879cad63ca663de1937b0aee80af57","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765177513,"description":"redraw slider in pan correctly. fixed bug in get_preceding_event in ReducibleTreeArray","id":"8b76147a406fe4e18fa3db3157ce6b82b02c33d5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765149595,"description":"fmt volume and velocity buttons","id":"b49d48ba1c6a03a15f7f91612e207a2af1ef29e1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765149032,"description":"shortcut functionality","id":"cfa6463c7d93374821eec3de9d890b39e33764d6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765147345,"description":"center alignment range contextmenu","id":"93f81827d361417b6b900b274f6b4a6acb9d9487","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765147068,"description":"reverted ns buttons to Boxes","id":"5927afeba560fa44759219ebf6d5264987fe4a93","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765082857,"description":"dynamic menu items","id":"a8dac42b6cfca8be7df3cb1e059082800069772b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765007350,"description":"Effect Leaf Menu","id":"800628e77a6daf36a8b6e7cf0164939deceab9c4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1765004320,"description":"opus playback","id":"f40bcb5b7eee4fc8e1bba83b1f3c74e66e782456","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764977192,"description":"straggler from merge","id":"975c6842eb4adb78867acd2dca9986d72e911ff2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764975787,"description":"DialogBar","id":"8ff32a333334506ea980188bb8d7a7de1337736b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764974206,"description":"work on scroll to cursor functionality","id":"76a9e720d98588a19c6520f8eb436d468d21427f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764971750,"description":"renamed BetterButton, removed superfluous Columns in create_dialog calls","id":"abe48091b9de8056aa82ad32a577b32e7c2629ff","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764913913,"description":"work on channel colors.","id":"82b955ba88c711c0d98e66cbd127fb179488f403","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764888778,"description":"more setting up coloured channels","id":"0bfc58893673b8a393b84c51cca35090cea1a35a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764887809,"description":"setting up coloured channels","id":"30eac8062365b5df42ace21dd31d3f0c18769462","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764847116,"description":"disable\/enable buttons contextually. global controls\/new beat buttons.","id":"1810ee090704bb0db71b325cd3715d8863c00727","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764805906,"description":"remove unused TrackedActions","id":"c49aa4a0900763e60d4437a920a1709bd1c1df26","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764805698,"description":"DialogTitle Composable. changed cancel buttons to outlined buttons","id":"a8facc6add608c9f5ef0134cfe0c1569df2ca71c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764802026,"description":"custom button work","id":"0a81e989f7e84abf508c58d2293507c896950e5a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764741891,"description":"work on settings activity","id":"18759a6a945a11b63d023e96e232a4c86e7a7853","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764714756,"description":"checks for if soundfont is needed and projects are saved","id":"9d6fc83845a8d418b2df781a1f0445eaf2aaecd2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764695327,"description":"project info dialog","id":"5f3930689eb422208afc103f208241d06113c6f1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764664507,"description":"build BetterButton, a Button with OnLongClick","id":"199911501633b54fa04e3a5128a0e324b50cc665","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764633913,"description":"percussion instrument menu","id":"1d9b3a159a2b584876e516a52a7cf2e54ba3726c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764617681,"description":"start name\/notes dialog","id":"58e27b158c99564201786e8e2234b08a369fd22d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764617507,"description":"blocking dup dialogs, instrument picker","id":"9210e8851907202da0501f7c2b2e3bfc6286b2bd","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764575342,"description":"work on channel preset menu","id":"170a852b82e7fae68c0864c02e238a0bd098b264","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764569854,"description":"working on sortablemenu sorting. using Comparable function for entries rather than option icons and strings","id":"78eca8e9fe3e28b699da654dff253949624cf0a8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764489850,"description":"was checking in mutable state was null rather than value","id":"144cf8b65020629b2fd660d2d3f60c6845efd62e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764489727,"description":"pan track and leaf text colors","id":"7a99b47927e203e73526c08b139981012bbf9187","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764487833,"description":"topbar buttons","id":"4fa35622a522537e0ee17017dd17de45c22670cb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764485522,"description":"refresh_cursor in queue_cell_update()","id":"ee323c74c6eed2ebd55e6e0ec8879e297bc47f73","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764481825,"description":"removed unused context menus","id":"93037a8ab4d63017d5910d6e8fe8b926e2834c10","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764455844,"description":"removed unused TrackedActions. Added Dropdown menu","id":"c2c1694b7931d0d7d9bb943c542a12cf1ee8ce81","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764452306,"description":"pass LeafData tree as argument of CellView","id":"b4d975fa5f4a6b9ef0fe17cf0cdcdde8b8b80613","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764397155,"description":"leaf\/line\/column\/channel data all properties mutable states","id":"a0121ef350c42407864934e2a103d5e5cdb6cb40","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764369909,"description":"lock cursor when adjusting selection","id":"cfd38fdd0787075868dd0cc41dcaf24a7091edb0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764369864,"description":"unsortable menu","id":"0d7130e9ad70717308cc02dc8474abfb88bd5130","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764314158,"description":"is_selected optimizations","id":"b6b2199d4ff32c82b93e7f09912a0f098203c6f6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764286846,"description":"work on settings  page","id":"0c648c1e1883376379d88bfb51664bd88d2c7f97","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764285565,"description":"SortableMenu","id":"75ac244576d429260123ea05506ed22a9adfa10d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764224888,"description":"playback event","id":"1402aa95cc56650d0ba93f3d7dbc592f8fba5c4e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764197471,"description":"separating Context From ActionTracker","id":"a3f1ce2addf98ada6fdf29ed749779d46b1faa35","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764174829,"description":"typo fix","id":"2dccaeee41cfd5b6ba7a3c36c7a00050da493e03","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764134688,"description":"switched out Activity-based logic with ViewModels in PlaybackDevice","id":"b88033529a2a815cfeae30990c463b593283b8cc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764105620,"description":"readd UILock file","id":"fbf22d738a1625b77b63fc86cc29f3c7a50880bd","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764103864,"description":"remove ui_lock checks in ViewModelEditorState","id":"86b4b71b60df9998a80f15c81eb126f0060423bb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764099073,"description":"config drawer button","id":"0f56843a09dd27df779200f771d0beced11e99bb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764097978,"description":"moving ui_lock logic into OpusLayerInterface","id":"c92a662705f8641824d29ea81a220b50c8c16419","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764097824,"description":"moving ui_lock logic into OpusLayerInterface","id":"511739093eff173128a88c8168c5c1b4689af3df","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764096849,"description":"converted UIFacade into a ViewModel","id":"7bc48c364855b3a0722454ee09b69ea71c009196","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764011012,"description":"rough-in drawer","id":"d530d63c282ef7d16d2fc49e2e1efc8c4a0ffb76","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764010209,"description":"wayward comma removal","id":"0ffa1a2f4d1c50abe81852c227ce4a28f3444083","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764010172,"description":"delay widget","id":"40d61e7b9cc41badcba751f4e9bf54314ed16d52","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1764009290,"description":"tempo & pan widgets","id":"0be379cb37dc480a7dc94c3774f2f7f3ce0a2ac3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763957443,"description":"line_count added to UIFacade","id":"78b6d8b0cae09feb19fa173757ad3d5f917a39cc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763957059,"description":"drawer","id":"e07e0d1b7819ccc2db8e2681031772a84a72ed20","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763948978,"description":"fixed broken 'replace_with' function in Reducible Tree","id":"4645ba0be8a5426194041fb32f4fd6d2bf0888d7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763879003,"description":"work on Effect Menus","id":"03ef5748e6bfdc8bac43c6167f1cfa722c0e8da6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763873758,"description":"setting up Effect Context Menus","id":"c82fec552503576ea603feec33740a6047892358","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763854407,"description":"composable buttons","id":"c4b00ea3f1ef7d5219676da1742bd2230d333b0c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763849986,"description":"Standardized Context Menu Button","id":"5d28e62c9aa0cc9c2da80f3bc1ffe71760c1d833","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763839032,"description":"number select colors","id":"f19102c392129ce0afd62cbf8f68059933bac286","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763798645,"description":"button spacing","id":"7403c0fc3656e22cf27917f0ea17b5b17a64b128","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763765227,"description":"work on Channel Context Menu. added is_mute to ChannelData","id":"294b06cea845cc2f84936acf2630712681d1095d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763760251,"description":"per-activity TopBar","id":"fa06295f796c3994f79a19a782370701d37cab9b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763710595,"description":"line\/column label view work","id":"8a808ee093717298e263b8773910f2a5024fa4e2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763668315,"description":"work on context menus Line and Column","id":"718dfb9ea76b11ea3dce3b017d27d3ddb96a1d2b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763593310,"description":"LineLabelView, BeatLabelView attached dispatcher. Work on ContextMenuLine","id":"2a5fdbe814dc75ad55ee0f5c46a0cc03c6834b7b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763527146,"description":"removed leaf shadow","id":"075823dc602f2f5e0f37b78815594a88fcf12190","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763508279,"description":"Roughed in line\/column labels and Number Selector active values","id":"2e852444fe699e8eb24f5593d4d8b4f57d3985e1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763451584,"description":"center align leaf text. remove X on percussion","id":"3059a9ba3bc335bb72886df3e8cf9eb65ec77ab8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763450847,"description":"Fixed bug in reduce()","id":"5ca7c858ea7d870a15c94fed78464735d524fb60","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763415613,"description":"FloatInput & DialogQueue->DialogChain","id":"0a9d526f1fa9be7c632f834ea9f0decb5932066a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763402588,"description":"moved ProjectManager to Global ViewModel","id":"e5f7f14ec6a27136b2a488f1c843416dbd4152ea","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763401735,"description":"DialogQueue system in place","id":"5dba86434845b9014a64ea1a4522606c9fb37391","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763365820,"description":"work on dialogs","id":"b438068c573f73cf88863157dbb50e9f179b5ea3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763340354,"description":"dialog work","id":"02e878114a89c7c7719092bc49e8d21c80778c28","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763336401,"description":"work on composable dialogs","id":"bf90861470dff002a53f1fc28be3a59db2950094","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763266269,"description":"work on moving logic to ViewModelEditor","id":"be73e96785e27723bf2f1192f9127c54dd058ed8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763233767,"description":"work on composable leaf views","id":"f15e238ffa33b427c81d90545d461047e55679fd","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763229449,"description":"contextmenus use ActionTracker instead of OpusManager","id":"9d24c3a60d7d34b1923dff49ab387032a2a316ba","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763196254,"description":"starting rough table ui","id":"b8d43d3dff0459dded1bd059a34cc6b8ebee9820","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763157932,"description":"Working on setting up framework for composable editor","id":"4b2f8db553d331f38ca92e54b4cfe367f27bc17c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763148084,"description":"separated ViewModelEditor","id":"04124c9e131b0866525fa560615892dd097b20ee","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763057930,"description":"work on separating playback devices\/audio from activity","id":"e0dfae08fa219d4d0c698c1ccf433532f44efcf1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763025631,"description":"Create ru-RU\/full_description.txt","id":"9b6fb362826bad7559a4c9042a7d0a12426fc135","author":"Korb@users.noreply.github.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1763025441,"description":"Create ru-RU\/short_description.txt","id":"bbae43a550bfbace8fe0449f3dd1c6ca19959c0b","author":"Korb@users.noreply.github.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762969028,"description":"work on moving reorganizing soundfont-related classes","id":"1ed6b836fe88aaa14e79869422c699dc03d9c0a0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762937328,"description":"moving SampleHandleManagers and PlaybackDevices into AudioInterface","id":"e957da1ae1b5ab600719be20034eb71b3eae2f14","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762831299,"description":"removed lock_ui_partial()","id":"b12a77ab8a928ea54390ae260b99af77398c079c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762818454,"description":"swap cells function in UIChangebill","id":"3cd15444d47d7b130fe69a838a6b9b73b205faf0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762814430,"description":"Finally removed the ACCESS_NETWORK_STATE permission removal in manifesto","id":"16e6b75761ce01fe4e6b85465b11861599a774da","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762814342,"description":"removed usage of context_menu in UIbill","id":"066c1486dea5c46e90808a77d19dc3cf2c0e9421","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762672339,"description":"added is_*_selected()","id":"c532eeabda814dc515ba8115034092998a9062c2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762554310,"description":"added columns in ui_full_refresh()","id":"626ca3ea1840d48cd72dafe7bf3ea51946a5474b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762553777,"description":"ui_facade full refresh function","id":"6890549837af5c27a2b2a2ec57501598ac8807fa","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762470967,"description":"ui_facade accounting for blocking. add\/remove channel updating","id":"d9b279791325376d880da62a772e04dee4084700","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762467495,"description":"more merging","id":"b77c6663eb7d05ee39ab2a7f41134dc8c65fc490","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762458060,"description":"version bump. change notes","id":"ff14be2243890cf1e9c3a4287348ce4d1b350832","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762406865,"description":"added ScaleGestureDetector","id":"e6726f1f7203b96ab1865583cf99d6fb75c191fe","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762364901,"description":"preview using non-random 3 notes so user can get a better idea of tuning","id":"b33477e055a0a31cb551deb344bb6bee9bf617ae","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762360528,"description":"instrument preview functional. plays 3 random notes in the 3rd octave","id":"1dd04a4454d94107560c2f20221d646a174bd10b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762317171,"description":"applicationId","id":"7c16af5247834b4874d02555aa1cce698faa1542","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762314634,"description":"note memory switch in settings","id":"d38d98b7126d68be7a35aaadb2e4866d38293233","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762309839,"description":"only show input memory highlighting on empty events","id":"0accf799bb2e9d7007f697e0b6d1abc852c5fd39","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762309630,"description":"dashed-line note memory","id":"c7c6f28c3dee63b0c1edac0a45407c0e301d2eb1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762276323,"description":"adjust new highlight color","id":"d4c65c50e2cb58b6b068962938af63d14152d417","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762239345,"description":"outlining most recently selected buttons on NumberSelectors","id":"5c88a3ed448b26bc316ee0f696f40a08065975ac","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762233924,"description":"note memory logic added. no ui yet","id":"8d432cc75cff821397b59b3596a821418f494992","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762206123,"description":"don't export song position pointers in midi files","id":"962db2a447892abdc3b9a640849e76c3f8b92ac3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762186979,"description":"was adding EndOfClip() to midi 1 files instead of EndOfTrack()","id":"38d44e4800931c31e0100d445e449885bdd710e0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1762059388,"description":"separating ui_facade (renamed from ui_change_bill)","id":"1214288f6621b9c97933a0bdafb6473e5e4559a3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761955105,"description":"finished set_cursor() in UIBill","id":"315540fd25f7bfcfa0a06d510c27cca633d13cfe","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761931939,"description":"Replaced usage of '9' with PERCUSSION_CHANNEL","id":"dbcbf06487c5673a9f2d5fae582e6464457247d4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761808349,"description":"converting queue_cursor_update()","id":"2d84b4e5933ea4e5e85aef2f4b91a4132356f853","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761759114,"description":"update channel instruments on remove\/new channel","id":"d588a0b9ae9c3bfd7ef1611c813f3ba9b043a7f4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761719589,"description":"removed obsolete calls to queue_column_change()","id":"b1f9f44810a1cf14d38d322d28c8adfe6100271c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761710265,"description":"typo fix","id":"deea5fb0294750b5acc8dbdd6fa434c3597cf2ee","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761686861,"description":"converted queue_add_channel()","id":"f8969025f3644f7de85770243a4c90a70552b3f0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761683828,"description":"removed unused swap_channels()","id":"46469b4319daf5cd234a0f85c049c1c77ff8a55f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761637822,"description":"created 'enumerate()'","id":"b7e4ff1f450790516089322e654e982580ab2c0d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761529731,"description":"midi channel now tied to position rather than the Channel object","id":"0add49497ead4dd1035e1bc3e7e287e88cf110e0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761463569,"description":"converting uibill to Editor Ui State object","id":"7032b99785a3e916ba9fb4abb6070754d1d25303","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761375227,"description":"work on row changes","id":"ac2e1cfcf20baff46f0d0e45ef518e82474faff7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761351901,"description":"lint","id":"0b6d6928872fb26a0173bb9ab856ab38ab2678fe","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761349809,"description":"CellChange on being added to UiBill individually first","id":"31e8b2ce6b6b5daef59743fa23edafa6e8d93fc7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761277232,"description":"small lint","id":"ced68a5ff7c16a53a1be4074f7b8a7d3653c2779","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761192849,"description":"work on tracking cell trees","id":"c73cf43cb91c90c7fd44fd401d222e02f0d75280","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761165607,"description":"update considate() to handle ReducibleTree tracking","id":"91a110d364670758b66677abfdd644312dd2c995","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761153964,"description":"merge TableUI class into EditorTable. There used to be a reason that they were separate, but not anymore.","id":"4220eab171a543052f2e147fb66cfcfee057f149","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761076483,"description":"commented out referrences to activity in OpusLayerInterface","id":"e537518c9872d2cb0bf25fb10a6a20ba5ea14b5e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1761029223,"description":"started separated OpusLayerInterface from Activity","id":"244e11520971f22b515fd59c8c9b347a8e882a1e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760807521,"description":"Fixed midi loop playback bug introduced in recent commit","id":"d91f061f3ed80204348802ccbd62f003958bc73e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760757967,"description":"shift events that occur the start frame when looping playback","id":"a3c2b39853fbf16b72e8b4adc37df7e38f67304b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760752193,"description":"version bump","id":"6bafb644b9bd14028804965885052e09b4d66e88","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760731835,"description":"update applicationId","id":"a4a30fd02e7b35c1c323567d6771121139e2358d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760731803,"description":"loopable playback","id":"b6e76343b2e5328a8273b93b4ad047b01a552305","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760648845,"description":"looping playback *should* be functional","id":"6c0d5bc4b5fba84e560850e1452a9ce31c71848a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760645391,"description":"work on looped playback","id":"43ab3ba8a0330758cc2db3495501691aecbf423a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760590710,"description":"starting compose editor layout","id":"92ae3142ecb2fbdf86f65d8d4197e0c75e802dbe","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760578067,"description":"merge","id":"eed54a985a3d09abf35b97071c05deaad631b2d5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760552150,"description":"fixed changes in tempo during events skewing the end-frames of those events","id":"584c150817a5e6d97c71d242ab000788646dfbc5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760496496,"description":"get_midi considers temporary tempo events. resolves #128","id":"c0073be30f6f841763cfb0d8aa8e83be1a8125ab","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760415842,"description":"work on About Activity in Compose","id":"64087d139749d2d512b00bedf08d8ee819ff416f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760304564,"description":"Work on About section in Compose","id":"5f105fc205333867d9365768fc130b7862bbce1b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760201643,"description":"version bump","id":"0d63ca5a501bf75f91aeeae84d794a996c68339d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760201415,"description":"version bump","id":"017796e8245edafe6723acdb4b7fa425286f71d1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760161113,"description":"Work on Compose refactor","id":"f1f87d25ca9d8c6fe5bc79723ea6a4b906aac302","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760075998,"description":"get_current_*_controller_events consider durations larger than 1. resolves #126","id":"57f53d2348db7d977fca9040380d3a0a2604496e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760073324,"description":"allow radix=1 in tuning table. resolves #127","id":"9b44802c49329b5e985ff0540b69a2300d74776a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760032441,"description":"removed redundancy from previous commit","id":"753c1dfc6cfe65f6c712feb453735d020dd253ee","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1760032252,"description":"fixed move_line cursor reselection. resolves #124","id":"107ff4efeefb47349c5ab2cc8655b6bd9fb39b0f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759989720,"description":"work on Compose conversion. made configuration property observable.","id":"070091c4f4f9f783b72fee6aa28a7b5be6b30f89","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759958679,"description":"composable organization","id":"3af3a9f9bf9311522fb6ebe6175a27099da3bc49","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759952823,"description":"created landing component Activiity","id":"717ab1966a07420b2a90004dea0778e55839c2b3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759942427,"description":"limit key\/velocity range max in Soundfont2 instruments to 127","id":"48139d075906795b87881383a7b55616254228f5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759898707,"description":"rounded thumb on playback sample rate slider","id":"22fca1a37924beba85f595158345815bf75a0ba9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759895257,"description":"work on compose settings activity POC","id":"5b3702023125296517c7df98c6ba5f69593000b9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759817042,"description":"automatic tracking of weighted\/flat size in Reducible tree","id":"49aedc1c395cecbdfbdae24c2e43382c6fb1ca0b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759789144,"description":"made ReducibleTree Observable","id":"e0f0c95baa4d4fde27a3e481256bd62bfbf192b9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759788633,"description":"more compose play","id":"580d2da3e30aca0e20bdd16412c954fd99267a4f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759729418,"description":"Compose Play","id":"83b629c59242c4692e8770a3193aa45c5f5f5329","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759704456,"description":"version bump","id":"2510b8445201ec6478907786e5cde3a9f9cd2505","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759686939,"description":"LowPassFilter, limit cutoff to sample rate \/ 2","id":"5d853648a7119711d73c9b92908c146e5e820cd3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759639934,"description":"midi out applies delays","id":"281fe5868a822372244d2185ce33ae2871284428","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759627826,"description":"removed unnecessary 'data' class usage","id":"a2f72770187ef7d1eb038bf6e2de218823a0b656","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759611646,"description":"Separated Pagan EffectType from Apres Effect Type","id":"4d95a045e8264de2197351fe8a58a4ecebdb40a8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759608277,"description":"moved temporary sample-level effect buffer management to WaveGenerator","id":"139b94ef226b56cc5c7baee05a1a919fe8fb81a8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759562435,"description":"low pass seems to be working","id":"0fbd0a2e31beca8ce6ba1684c6eaa4d75d3431b0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759560522,"description":"work on improving lowpass filter (non functional). moved effect buffers to their own headers","id":"cda23e1f95a332eb78914774cc874c763373bba0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759440242,"description":"LowPassFilter is back to Amplitude-based. Added Temporary ProfileBuffers. for sample-specific effects","id":"d8e7d3a4934a1e6e4c146293b87e22b31b2aab7e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759388176,"description":"LowPass FFT. Too slow to keep.","id":"12fa15a7b719c77dc44172c2b17ba3f9f089ebbf","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759360216,"description":"LowPass Filter c++","id":"43e8dc707ccbb2291c942ebad6c950cfee8fdfb3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759355400,"description":"rough play with compose","id":"90118cd26c61ddfbe7a548a29c785772a00025ca","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759354431,"description":"working on frequency domain effect buffer","id":"7986c95a5a4925f78dc0288f02d54585988bca95","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759288614,"description":"removed unused code","id":"0911d48a0bc7a7c708be9004744d542aceea7fbe","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759195884,"description":"from_json, check duration and transition so I don't forget it when I eventually implement them for delay","id":"7fa1bcc1ee101b2d627c493ce5eeac982e8f3be9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759192935,"description":"from_json considers tempo transition","id":"b934e34bad1610eb7f8f70d28b5be040eff711c5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759187753,"description":"fixed velocity controls causing crash on play","id":"2212ffe6eb35a6fab54d30a535ee069cc8200074","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759166261,"description":"starting BandPass implementation","id":"bcc404aeb89e3da437e5a9f1d79892fde47a28bc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759161669,"description":"save all transitions in EffectEvent Json","id":"aca3efaacecbfac41b98e7f7bc8da87e79ba9c86","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759115197,"description":"comment for previous commit","id":"77e7cd3925dbc0bd301ff8a114128ccecc34e4e7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759115111,"description":"check for nullptr before destroying DelayBuffer","id":"80c9556717145396ce4367055306ad86620fc3cc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759113841,"description":"version bump","id":"d4f673a4776d62491ecc8c79e528168ef8e4a28f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759113496,"description":"found and fixed memory leak","id":"245c3d5be614e6b3ab224e096ee4c41c7abca500","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1759000003,"description":"removed wayward comma","id":"68732508b2d3568ae0ac8495ba0b53e58c86dc3b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758988742,"description":"C++ Cleanup","id":"2b2f7862df443a18c146162af6ec94d1296b4953","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758917852,"description":"playing with composer","id":"5cf369def59940bf5ea9f77435799a2e3e97b94e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758903020,"description":"version bump","id":"50866efba3f3171f733c334fb8291d3a7b2b8848","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758902501,"description":"fixed: was setting all line profiles to -1 key so they wouldn't get merged","id":"ff40d35ec5d8a7de9b8a200279e134cac89a292b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758869221,"description":"restructure PlayBackFrameMap for ease of testing","id":"8ee6887fa9e48cbded28f52f9d1031a9faede2de","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758821399,"description":"version bump","id":"51554fef42c6264f2c571631b75f616bdd485424","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758821192,"description":"fixed multiple tempo changes breaking completely","id":"9cce3af30f0449c5177c4a4f4398c28b3db44e5d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758769824,"description":"version bump","id":"928aa50b377b464c4e400d5cfa54bceb2d0b173b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758769559,"description":"show duration button for tempo event (because rInstant is available)","id":"441ce4ab131ab8b2a72d6b2c7a57b7358b9aa5fb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758767199,"description":"application Id","id":"92bf1cadfd41a75a3263a59a0d1c61a9b50a4939","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758767175,"description":"restore effect controller initial events on undo remove. resolves #123","id":"26ad19652e16a7059f50de7e194c5afb48016e4c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758766648,"description":"fixed broken effect controller precision","id":"b10006673a192816e8c6d326d6be0d82b638b90f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758688801,"description":"grade upgrade. playing around with Composer","id":"1d23b32c9f2520605479460faebb144801df6d0c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758647876,"description":"lint","id":"a82f8f3577f7b1a95ccf4207c4422b2acda6907f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758593776,"description":"part of previous commit","id":"aec412f81614bf265ce135d109a3a7eb21816694","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758591718,"description":"lint, unittests","id":"34fd5fa325ebe25d8f4b8e0d716e3a772412e306","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758571663,"description":"lint","id":"ad5e517a59e9960ed915f5429963879b8f46384c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758571401,"description":"lint","id":"afacaa5199d555ac6f60ad724f8527bd5a4bf0bb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758570915,"description":"Show duration button on tempo ctl","id":"de2fc0b571a1cf16bbc209841478243f16d240d5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758570508,"description":"don't cache beat frames if tempo_ratio_map is uninitialized. resolves #122","id":"5247b1f4529c4113b3a0e3ff0359d2d6e67aaab6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758468144,"description":"full description update","id":"8cd66df0eae2aa3bd7a9663b94724714f4aa1c8a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758424758,"description":"update full_description","id":"d2f74ca94f71bafa4d405141141a8d9b32574b8e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758422669,"description":"applicationId","id":"c1c972d2b18a60eb844a187f2471f6f890f6bfb8","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758415799,"description":"Switched to using Rational when calculating frame positions","id":"3525e188f379f838964dc79094f1b782f25a6651","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758340313,"description":"keep existing echos when delay event occurs, but adjust them","id":"1b34332af0531cffbec9fb5cc8ed42750636c5b3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758317065,"description":"added unset\/set all channel\/line effect visibility functions","id":"2bc304e5a1a7a9eb491aeaf78ada7f785f69f155","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758314372,"description":"version bump","id":"0675f3e28b31ca119c22d725e79e36b8f34fac41","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758313599,"description":"merge_arrays, allow key indices > key_size for global effects","id":"b8211f0417a7e26e73903bc763738100499bf303","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758304944,"description":"updated unit tests","id":"d4590a1fd220cdb46c5f157b898ebd4034298503","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758303171,"description":"removed useage of slow DocumentFile functions","id":"68cead7f6ea9a172d5da6af17a30e02c5590f59e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758240056,"description":"realigned landing landscape layout","id":"aa07654e22abadb1752559f094a2f87b8374c4a5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758226616,"description":"bugfix: remove_channel() wasn't remembering channel effect ctls","id":"ea2658ead0853043376874eb7fd6a1736d96fcba","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758223524,"description":"cleaned up (somewhat) line drawing in tableui","id":"ebb1686ccfab7dcf944e0a4d56c2e0f30afc3f89","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758217093,"description":"action bar size tweak","id":"10c20038a9be8279352c482fcfab40aa9723f592","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758176656,"description":"delay effect stable","id":"6807f2536ad55de0752a2858b6732db2f7a76fa1","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758120726,"description":"work on delay","id":"0a1032de02023ad8228f5646def8be8127dcb8ef","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758077689,"description":"improved check to include empty lines for effect buffers with no handle but data that needs applying (delay)","id":"3433f90b9e6bad2a01bb55e5f58f903d377ffb54","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758045467,"description":"fixed pan clobbering delay","id":"ad89ea5227a53fb915c30a87ea484bff93d32067","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758043678,"description":"speed up first save","id":"bc111d0ed57a207ce62ac10f2dfc1583f28e0d80","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758040135,"description":"tempo transition no longer being clobbered","id":"237c454934efa5a2a15791c62fe0d4d331b26bff","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1758039180,"description":"work on speeding up documentfile usages","id":"c3865b47192375e0048a2839ef419cd24353e901","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757997801,"description":"fixed RangedNumberInput logic","id":"b73ed7845a8b5ea39e894cbfc12e3114b4a236db","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757993748,"description":"update_line_label() adjusted to changes to TableUI","id":"af70fbd8dd784cacb68da360628023893e2d6e12","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757991287,"description":"fixed range selection on channel or global effect ctl scrolling to top","id":"0868c9914b9d6b3b18c13929229cedc0715e1838","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757985330,"description":"tweaks to delay","id":"5d53744d696569fd6ba98b13fa7c2551e1d142c2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757960700,"description":"some lint","id":"d909c57a6b7409e499d7d2ffe77436c00bed814d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757954009,"description":"longclick to use dialog to set delay attenuation","id":"f38e215b9bf3d8011e964e3bccbce4ffaba622cd","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757910581,"description":"RInstant Transition for Tempo","id":"2455532d6c90059e8de23d4cd9b1bb49151915df","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757899534,"description":"create implicit delay effect events on tempo change","id":"8feb46bcf365d823dea6c59ba94814a8c6d016b4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757872264,"description":"update global_ctl button visiblility in finalize_update","id":"2d5145eac7d271d1062384a92e41213baed896a4","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757870263,"description":"fixed keyboard not hiding when closing contextmenu","id":"9ad7119f56e11203c0c9f4aec52229b86ced27eb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757864258,"description":"undid scroll kludge","id":"64be40b26c21285051cf9e2aea05d8031960d286","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757815826,"description":"draw top lines when dragging channel","id":"63772b0b2fb023008d3ee4353a572f90eb37441e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757798036,"description":"created get_current_effects() to help with adding delay effect to get_midi()","id":"89adf5b838d1c069bfaa1bc5892e842c091ff976","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757794027,"description":"fixed accidentally draining ALL effect_buffers instead of the ones that didn't get applied","id":"2102d7214c87003d1c02c8f751539d00c8a8053e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757738382,"description":"removed debug code","id":"2924a0870c8c9e016df66048a2ba6bcac3ff5037","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757738284,"description":"typo fix","id":"4844360163b0f43ae3263a49aad888932f1235f5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757726023,"description":"rewrote marge_array()","id":"95e632dcd499e185652621a70051d444b6881b9b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757720415,"description":"work on merging","id":"0d0f156c568269116878dec1f0bc435089824182","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757711009,"description":"work on fixing merging","id":"df2e8b88b4141c15b7e65b39d7520314178c14df","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757658437,"description":"destroy profilebuffers after play loop","id":"87b2048b3f0333c7e6ec496ad89e3c6dd5253e3d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757627595,"description":"fixed merge_array() only merging the first 2 layers","id":"2dfdb1bd4ccd2db7c2674472aeb46f44ab51a3fd","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757620916,"description":"part of previous commit","id":"f43d663fd4bf69f9b98875d4da9621e21d6bf532","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757620800,"description":"swap_lines, also swap percussion instruments","id":"f9f7ea8d5c7a4c173cda669ed16acdf889352b83","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757551779,"description":"adjust ctl line icon widths","id":"da69a4eb55547d759498742cd9c3f73e7cc3d151","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757548042,"description":"cleanup new tempo widget layout","id":"29c7ef7caba7701f8eea89e9b3f2e4d538408a38","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757541306,"description":"fixed tempo input precision issue","id":"c430688ac7f6ae5c237159344853756ceb706be0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757539579,"description":"moved RangedNumberInputs","id":"3013556f3a4dda1d3980d3f298c4576ecf389d9e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757539407,"description":"fixed RangedNumberInput max\/min issue","id":"500b638133c6f8d5776ad9b796c5a22fae40df46","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757534800,"description":"change tempo popup button to ranged input","id":"9b764d9d829217585c748b4cfaec834d169cb870","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757524537,"description":"fixed shortcut\/add channel button colors. allow removal of tempo line","id":"144144fbb7be41db43245274c627861dedc1f89f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757485043,"description":"fixed layout issue introduced in previous commit","id":"6bb4a9893456619e505aa5d78a9f1464ae4449dd","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757483274,"description":"ignore tapping beats on table after end of table","id":"318382c2b8246d9fc5f7b61426fa97eb22f66a73","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757479038,"description":"added 'insert beat' button after table. fixed underscrolling on new beats","id":"7e53932c0264ec1338905c9c544947e0a4b284bc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757439756,"description":"editor table background","id":"127bcf86b2defb5aea9cd3b394a95b56a901e1ea","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757436853,"description":"show\/hide global control toggle if there are any available","id":"c2b94de3ea978c254bb999aa94120aed716d7809","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757400198,"description":"increase global ctl button height","id":"b80116be1d1a4a093583257596c3306a59d838fa","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757399863,"description":"removed unused line_label_std.xml","id":"2606b04dc03b2534ac2df4ec9d3254d6288901ad","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757348572,"description":"fixed equals() checks. resolves #121","id":"ae0fed44960b5f75fa70876a870aad1d6da6eb01","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757343562,"description":"showing global controller toggle","id":"3dff49137b0f26753e16e6ea51d7dcd5d3229e18","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757300626,"description":"LongClick to start line\/channel drag","id":"635aeb1c4402e1059ef5f8bfc409620de3bba8e7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757290400,"description":"line\/channel dragging visually improved","id":"9b0d3891a209424ed7bf66fc736a496be9de414c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757232162,"description":"attempt to clean up the monster that is the Tableui::draw","id":"8348f38b7fb1145572e387d71a0b4f1d41eff758","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757112692,"description":"minor cleanup of TableUi Drawing","id":"2532c4e3fb592667120d4b0fcb4611ea3c380ec3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757047176,"description":"draw line\/channel being dragged as it's being dragged (rough)","id":"1568e54709ca128f0c2b6419d2a50a8906b3729d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757022328,"description":"debugging","id":"51539edbebd0a391fe6bce5bdc93c68db6f32ecb","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1757015415,"description":"getting dragging logic reliably functional","id":"cf6ecaca348a9a01659648b33c79dd5891adf2e7","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756962523,"description":"working on line dragging","id":"352035ce10fbc25930aa21e3a52c4e139fbb6a41","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756917779,"description":"line dragging: top\/bottom detection","id":"33e76fb3075c4e4dd6cb3a805daec156ff317ee5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756879109,"description":"removed previous line label column. partial implementation of dragging","id":"165ed889eec3b15c5bc401ab2b52dc348c6d9795","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756846027,"description":"tablueUI now drawing line label column and shortcut button. needs touch\/click\/longclick functionality still","id":"46bd5293739d6f5fc03869e8d57e067829c350cc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756830213,"description":"Moving line label column into TableUI","id":"6aadfc2eba464c7c7d8ec2482aa7db7fc864376a","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756797062,"description":"changing delay clears existing one","id":"6fbfe584665e1e12c544f9cdc4d4b7b6125c0815","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756777950,"description":"doubled max tempo","id":"84e81aede6d09820956ddff9c7f2c3ac81401bd9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756777508,"description":"reset the selection on RangedNumberInputs after callback","id":"f68c85bd85d60c223a79497d1f70e3163bc88e97","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756773008,"description":"track echos in delay effect controllers so they can be checked when passing empty chunks","id":"14cde840bddd2fe4fd6999d97755906d4d6b29f2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756757530,"description":"passing empty frames when effect controllers will still modify the audio (for delay)","id":"da0bc92170d8193915aa47bf5f71867a008f502d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756698423,"description":"using matches_cursor() to check refreshes in control line context menus","id":"2defdfea04dba1d60e529916da50010c0029d9b6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756696479,"description":"added matches_cursor() to ContextMenu to help avoid redundant refreshes","id":"4e6634765bd9896d7a2ebe7d3c74983ccab48b1b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756677533,"description":"fixed DeayEvent::to_float_array()","id":"82a89946223bc6574935f1ce16e88140420823de","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756620118,"description":"improved Delay Control Widget design","id":"e7a02f07a71d5a570189ad1a72467e1810cc283f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756523982,"description":"fixed landing page overflow on smaller large screens in landscape","id":"2352192fb50e57589b6448993f52f9b11dd5b29b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756519822,"description":"DelayBuffer destructor","id":"f27ba06128153f5fa5023e9ea721e7bd8de32165","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756496487,"description":"readjust active delay when delay changes","id":"c87fe08eb5e8d5cdbedcffed8021dfe388ca8bb9","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756493061,"description":"fixed unitialized DelayedFrame->value_chain","id":"0af01e0bb1f08e6aef6cb720bad1674dcf9f5b7b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756490438,"description":"work on delay","id":"3bc65d1a60f113ed7c00af476bd3173fce07c197","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756440455,"description":"delay effect implementation (still very fragile)","id":"27ba117ef03e1b3893b5983a693bb05abef0298d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756421310,"description":"work on delay buffer","id":"11dc02a9eef71df145351c14a13f5788934699fc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756416335,"description":"EqualizerBuffer.apply()","id":"011ed41000b1a7d725f386d6ed712fa06a53d104","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756338605,"description":"refactored EffectProfileBuffers","id":"04b7ee56f5a9b3ee123c7425f65f20ce8f518b49","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756330850,"description":"cleaning up native EffectProfileBuffers","id":"ac89bb6f4877c956059ac3d61e62c4d867a53560","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756274574,"description":"moved incorrect loading_reticle_show() call in MostRecent button","id":"976668d585817c5f31cbd7a9f57869a48383dfb5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756233021,"description":"moved WaveGeneratorCache logic into relevant EffectBuffer classes","id":"580b208c0cf3dfbaea326a04d17e4433ec026f35","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756187947,"description":"renaming icons","id":"417a05b7da959582ddf6a9ab9d84e3c3fbc50638","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756160731,"description":"made leaf drawable an attribute for future customization","id":"20cc03f99969cfaad348ee118fabed05dc894c92","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756158613,"description":"undid changes to dialog_background","id":"933feb39f748cbc7c008a161d41e29eeee846ac2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756158442,"description":"color name cleanup","id":"0827ff9674551a5e387b148841fa4b33a185b979","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756087917,"description":"removed unused code for release","id":"8e67ad6db25c7b8e372dc002b59fcda49c39ed0d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756087399,"description":"fixed: channel leaf ctl range selection highlighting all in of the the same ctls on the same beats in different channels","id":"4c8c03e1048847ae054c4b2e350e9f5b8d32bf23","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756087001,"description":"disable inset\/outset on leafs","id":"027b933e3506b607e78dd6a9cc331197f43876c0","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756085945,"description":"disregarding volume weighting","id":"89fd024add18378e53b09303e86791abbe0bfdf6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756019702,"description":"resolves #119","id":"81f9beec476e019b7a06fdce88f3ccebb1ee6967","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756018273,"description":"tweaked leaf text alignments","id":"32e74d600997ae0a6d68eb3ac3f63d67f7a83c62","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1756013787,"description":"inset\/outset leafs when pressed\/focused","id":"48901d5bd275d0f1d0d505d52b53dec2dc3ec714","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755993321,"description":"consolidate leaf border into single file","id":"a9d33b5cf9b1a8a643281aa9076ceace7b61cfb5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755992460,"description":"started marking latest version used for future changes where the default configuration may need to differ if the user has already used a previous version","id":"59b5fed47bdd48093c36e25321cd356c7625c548","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755990780,"description":"delay controls commented out for merge to master","id":"750f9c389920ff7f31b55aad18999b2ddb1e040d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755986126,"description":"moved volume weight logic into WaveGeneratorCache","id":"696f379387561d2d71a1a54f6a0cd24653655b5e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755932953,"description":"rough weighted volume scaling","id":"12a6895cbb3d227efc447dc8ab757391adfb21fd","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755908526,"description":"debug code","id":"333b7ad7a6ba7a54aefbedabe59cfc4943237446","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755886777,"description":"more delay debugging","id":"486e5fa787d606143fb5446711b5a68b334a552f","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755879929,"description":"working on delay","id":"5921a5ba303b83e66ca2b15f5426ed2eb1fa10df","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755701895,"description":"versionCode bump","id":"7ae709d9e1c9e59efb5b6d445704df9cb6966e08","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755701809,"description":"Fix crash on get_midi()","id":"faffa821c811b5a52c238ab0be90ba6cf99f4eb3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755647207,"description":"version bump","id":"991d8a6feb3ebf80b9c05ff1df11b86a90e5aea3","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755645514,"description":"bugfix: playback potentially hanging","id":"c87d9340d7b78d52199372ecfd9bd6e9ae737760","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755642429,"description":"moved tanh_array. testing tanh smoothing","id":"7a64dadf93188732cff069d85aed60855018fe5b","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755583093,"description":"Delay event widget work","id":"c1b6246dc1237e37662d4729afd7f7bab7e12825","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755550497,"description":"DelayAtCursor in ActionTracker","id":"3aba75b3f31f18e9934b49d86c2ae9b466ab6f3e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755498353,"description":"ContextMenuDelay","id":"a8af60166229af9f197e97d6b999def2c7fd0a2c","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755397115,"description":"convert delay float in kotlin to frames before passing to C++","id":"30f8e6b98c1da877ccb45b519bacd21c395174db","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755380613,"description":"apply_delay() logic implemented","id":"5fafcde8b57412ea600a83072d636a1411514b00","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755282581,"description":"feedback volume reduced","id":"fab5103baebc165cc9844a6519b0685ceb721313","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755282496,"description":"lint","id":"8d96f636376a9cffb3f14778f43f7126b995501d","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755195988,"description":"cleaned up strange iteration in multi wav export functions","id":"b4d680da02b3d6d0debec1f1069ecaebf8aaa8d6","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755195314,"description":"lint","id":"6ad3f75ff3f8eb36f0943d60c6f29eac4dcca9fc","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755195164,"description":"remove unused code","id":"0a9f0cdbc3c05c7a763e3a3a4fa31ba1f2921ca2","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755147223,"description":"work on DelayEvent","id":"42744ad5965ae32f116cf2e7135a6b249636e944","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755038284,"description":"DelayEvent and DelayController","id":"6027d841b7d09a5fd6c84ddf3fceba04103ef95e","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1755027886,"description":"create WaveGeneratorCache class to store required data for effects like delay","id":"97c99cf3dd69085f8366ab1b20a328b2ce057c81","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1754990600,"description":"removed redundant call to recheck_active_midi_device()","id":"9c56622cc89131b7db0f2d0573d1b271ecb0d6d5","author":"smith.quintin@protonmail.com","group":"pagan"},{"branches":["googleplay","master","midi2"],"date":1754987922,"description":"version bump","id":"33aae72f03d9dd0db7b64ed0c1ba6c09a9271594","author":"smith.quintin@protonmail.com","group":"pagan"}]