Commit graph

407 commits

Author SHA1 Message Date
Weird Constructor bce7dfebe9 Added SAtom::s 2021-10-10 09:09:39 +02:00
Weird Constructor 9835ceb66e added type string method to SAtom 2021-10-10 08:54:29 +02:00
Weird Constructor 6acb4ead09 Implemented MatrixObserver for tracking changes to it's state for an UI 2021-10-09 20:25:07 +02:00
Weird Constructor f07bb6b87b Remade the NodeInfo type 2021-10-03 21:27:53 +02:00
Weird Constructor 4128fc69a0 Give direct access to the node parameters via the Matrix struct 2021-09-30 19:27:02 +02:00
Weird Constructor a8a0183948 documented CQnt 2021-09-06 03:35:57 +02:00
Weird Constructor 93739afa25 Adjusted the documentation of a few nodes. 2021-09-03 05:13:02 +02:00
Weird Constructor 8c28c210a6 assign default colors to the categories 2021-09-01 18:56:27 +02:00
Weird Constructor 425caaf654 CV -> Ctrl rename 2021-08-31 05:00:27 +02:00
Weird Constructor 8fa9ce35e9 Added trigger outputs to the quantizers 2021-08-30 03:55:42 +02:00
Weird Constructor a496bb1b04 let Quant give feedback and fix CQnt when no key is set. 2021-08-29 10:59:59 +02:00
Weird Constructor 172138bc19 Implemented the real quantizer node now. 2021-08-28 19:56:08 +02:00
Weird Constructor 204c415c06 simplified the quantizer and wrote more tests 2021-08-28 16:28:03 +02:00
Weird Constructor b22c084b08 exploring more corner cases, fixing the lookup table 2021-08-28 14:56:20 +02:00
Weird Constructor a24ae750d6 fixed the note offset of the quantizer 2021-08-28 11:04:28 +02:00
Weird Constructor d24809112f started implementing the right quantizer 2021-08-28 08:09:17 +02:00
Weird Constructor 1eb1f4ac15 fix order for butterworth cascade 2021-08-27 05:18:37 +02:00
Weird Constructor c5f6478af6 hopefully fixed the butterworth cascaded Q values for the AA filter now 2021-08-27 05:03:48 +02:00
Weird Constructor 42553cc800 renamed Quant to CQnt, because it's more specialized than just a simple quantizer 2021-08-25 21:14:41 +02:00
Weird Constructor a631240e64 Refactored the quantizer to it's own struct 2021-08-25 05:07:24 +02:00
Weird Constructor 46de4b442d Added omin/omax octave range to Quant 2021-08-24 03:59:41 +02:00
Weird Constructor c5f70252e3 Implemented most of the Quant node 2021-08-23 05:10:33 +02:00
Weird Constructor f6c17121ab Started work on a quantizer node 2021-08-23 18:42:39 +02:00
Weird Constructor fd9b813230 Documented Mux9 node. 2021-08-23 02:01:39 +02:00
Weird Constructor 3c096a9f24 Merge branch 'master' of ssh://m8geil.de:19022/WeirdConstructor/HexoDSP 2021-08-23 19:02:08 +02:00
Weird Constructor f1148cce6a Implemented Mux9. 2021-08-23 06:57:35 +02:00
Weird Constructor eb288d1760 The preset format now stores denormalized values, for better compatibility when the parameter ranges change. 2021-08-18 06:38:37 +02:00
Weird Constructor 2774c42d69 Documented ProcBuf 2021-08-18 05:11:20 +02:00
Weird Constructor 9efcafcb6d Fix some warnings 2021-08-17 03:53:43 +02:00
Weird Constructor be9640ac9c Rename a few node descriptions and remove a debug print 2021-08-16 20:23:40 +02:00
Weird Constructor 2c458ca117 Moved TSeq to Mod and wrote first tests for PVerb 2021-08-15 12:49:39 +02:00
Weird Constructor 348cc8d7c7 Fix the PVerb blowing up with too small sizes. 2021-08-14 22:03:05 +02:00
Weird Constructor 05932d28ba fixed a bug in the dattorro reverb with the pre-delay amount 2021-08-14 11:27:23 +02:00
Weird Constructor 78257f82bc Documented the PVerb node. 2021-08-14 11:05:26 +02:00
Weird Constructor 6651d06f45 Adjusted the trigger threshold 2021-08-14 07:45:11 +02:00
Weird Constructor a9ac7ec1e8 Fix the top reflection in the RndWk max 2021-08-14 00:39:46 +02:00
Weird Constructor 488192fd81 use the same parameter range for the slew and the predly 2021-08-13 20:27:47 +02:00
Weird Constructor 993c690bc4 Changed slew logix to a real slew rate limiter 2021-08-13 06:04:48 +02:00
Weird Constructor 99eead8402 Refactored out SlewValue, fixed TsLFO test, added RndWk test. Documented RndWk. 2021-08-13 05:48:20 +02:00
Weird Constructor 369bc720b9 Renamed TsLfo to TsLFO 2021-08-13 05:13:17 +02:00
Weird Constructor c65ca730b1 Finished DSP implementation of the RndWk node 2021-08-13 05:12:42 +02:00
Weird Constructor f63292f9db started work on RndWlk node, for a triggered noise source 2021-08-12 22:12:24 +02:00
Weird Constructor 815745c4ec ah, forgot you can modulate the size of the reverb from the outside. back to cubic for the delay lines in the reverb. 2021-08-08 21:17:38 +02:00
Weird Constructor c0c0ac7b04 fixed interpolation in the delay line and switched to nearest for the delays in the dattorro reverb and to cubic inside the modulated all-pass filters. 2021-08-08 21:16:40 +02:00
Weird Constructor 0f344b0fc1 removed DC offset stuff from BOsc and the all pass has a more standard implementation again now. 2021-08-08 14:56:54 +02:00
Weird Constructor dae7c512eb I think the reverb is now mostly done! 2021-08-08 13:43:51 +02:00
Weird Constructor 79c11cd45b Fixed some more bugs in the reverb 2021-08-08 12:51:31 +02:00
Weird Constructor 14bf59bfac Finished more generic float types in helpers.rs 2021-08-08 09:43:16 +02:00
Weird Constructor d6c1a38102 Working on making the stuff in hexodsp::dsp::helpers f32/f64 agnostic 2021-08-08 00:56:10 +02:00
Weird Constructor 525c8d8c1b Fixed more bugs in the Dattorro reverb (delay time interpretation in DelayBuffer) 2021-08-08 00:12:02 +02:00
Weird Constructor c57274bfe4 Fixed a bug in the allpass filter, and the dattorro reverb sounds better and better, still some weird glitchy stuff in the modulation 2021-08-07 19:18:54 +02:00
Weird Constructor e45b8a5ebd Finished reverb translation and added as a node, but there are still bugs to fix. 2021-08-07 16:56:59 +02:00
Weird Constructor 43f1f6d7b9 more translation work on the Dattorro reverb 2021-08-07 11:31:52 +02:00
Weird Constructor d529156bb8 implemented some crossfade curves 2021-08-07 10:00:42 +02:00
Weird Constructor ca871c78d1 More implementation work on the Dattorro reverb 2021-08-07 08:37:41 +02:00
Weird Constructor 2f71b682b0 More work on Dattorro reverb 2021-08-06 19:25:24 +02:00
Weird Constructor 83b8c1a1fc translated some more dattorro code 2021-08-06 06:38:08 +02:00
Weird Constructor 3d2c4c0c74 Started implementing the Dattorro plate reverb 2021-08-06 06:05:13 +02:00
Weird Constructor a99c703781 fix the graph for the LFO 2021-08-06 06:01:11 +02:00
Weird Constructor d307ed898f More LFO time parameter fine tuning 2021-08-06 05:58:59 +02:00
Weird Constructor 41441ccb29 Working on the first LFO node 2021-08-06 05:49:03 +02:00
Weird Constructor 80e9fa0d8e removed other moog variants and replaced it with a slightly nicer/different one. 2021-08-06 05:14:42 +02:00
Weird Constructor da08c8d85e implemented a Comb filter 2021-08-06 05:05:47 +02:00
Weird Constructor 210d542af5 proper wrapping 2021-08-06 02:09:18 +02:00
Weird Constructor 7e743eae07 Documented more stuff 2021-08-06 02:02:26 +02:00
Weird Constructor bb052d0837 Document oversampling and distortion with VPSOscillator 2021-08-05 18:39:42 +02:00
Weird Constructor ba8e6ec33f refactored the VPSOscillator into it's own struct 2021-08-05 18:26:09 +02:00
Weird Constructor 16dc1f01f4 rename oversample, tweaking limit_v 2021-08-05 06:57:31 +02:00
Weird Constructor a0b22a49b1 worked a bit on the limits of the v and d parameters 2021-08-05 06:32:54 +02:00
Weird Constructor 24379ae521 Added distortion to the VPS oscillator and tweaked a few more parameters 2021-08-05 06:12:50 +02:00
Weird Constructor b4d6cb1cdb jiggled code around... 2021-08-05 05:48:27 +02:00
Weird Constructor 820c0bd69f implemented oversampling for the VPS oscillator, but it does not seem to do much... 2021-08-05 05:48:00 +02:00
Weird Constructor f8be4ca565 added the resonator from FunDSP 2021-08-05 05:25:10 +02:00
Weird Constructor 7d27d6f618 make all the biquad cascades work 2021-08-05 05:22:46 +02:00
Weird Constructor f9b4509dd9 added a butterworth biquad filter node, mostly for testing it though... 2021-08-05 05:20:47 +02:00
Weird Constructor 32b2725f49 Implemented VPS oscillator and adapted some oversampling code 2021-08-04 06:51:31 +02:00
Weird Constructor 509385ffd1 Relicensed to GPL-3.0-or-later. 2021-08-04 03:58:43 +02:00
Weird Constructor 2c48e979c3 Added function and selector to prevent selection of specific random NodeIds 2021-08-03 06:21:04 +02:00
Weird Constructor 360adc10be More helper functions to make life easier for HexoSynth 2021-08-01 20:35:57 +02:00
Weird Constructor 8b07869963 defined a few helper functions 2021-08-01 16:35:56 +02:00
Weird Constructor 94c4428d04 Fixed the documentation code for PolyBlepOscillator 2021-08-01 06:55:43 +02:00
Weird Constructor b974ed0bd7 documented the PolyBlepOscillator 2021-08-01 06:43:17 +02:00
Weird Constructor 3cbe0111cc some more helper functions 2021-08-01 01:20:06 +02:00
Weird Constructor 37b57a4472 more helper functions for the Cluster functionality in HexoSynth 2021-07-31 13:26:10 +02:00
Weird Constructor b7f544f102 added a link about the i16 to f32 conversion 2021-07-29 22:38:46 +02:00
Weird Constructor 908dc4292f fixing the monitor tests after increasing the buffer length 2021-07-28 05:12:47 +02:00
Weird Constructor f134ba102c Add implementation to detect adjacent cell positions to CellDir 2021-07-27 18:56:15 +02:00
Weird Constructor cce6f3fc91 Fix a warning. 2021-07-27 18:49:25 +02:00
Weird Constructor 79646d819e Fix some warnings in BOsc 2021-07-27 18:49:25 +02:00
Weird Constructor 994173bf83 Added tracker cheat sheet 2021-07-27 03:37:29 +02:00
Weird Constructor 9a0b135e55 Made the min/max monitors 160 samples wide and capture 3 seconds of audio now. 2021-07-26 21:21:20 +02:00
Weird Constructor 97d01f56ea Added a graph view to the BOsc oscillator 2021-07-26 05:48:42 +02:00
Weird Constructor 25aaf5ba7d Initialize all oscillators with different phases and adjust the corresponding tests accordingly. 2021-07-25 22:49:33 +02:00
Weird Constructor 76ab78d565 Added function for flipping CellDir directions 2021-07-25 15:53:51 +02:00
Weird Constructor dda3416a6a remove some dead code 2021-07-25 13:32:32 +02:00
Weird Constructor 239928a313 Implemented a basic oscillator node 'BOsc' 2021-07-25 13:32:16 +02:00
Weird Constructor f4bc7341f6 Added Mix3 node, and changed serialization format to port names. 2021-07-24 23:00:09 +02:00
Weird Constructor 4f4f3aed25 Shortened too long descriptions. 2021-07-24 20:30:23 +02:00
Weird Constructor c6da61e38b Logging used a bit more 2021-07-24 11:02:43 +02:00
Weird Constructor 64f42d5edd wrote a globally useable logging implementation 2021-07-24 10:08:37 +02:00
Weird Constructor a715d5abc4 fixing some clippy warnings 2021-07-23 06:35:03 +02:00
Weird Constructor cdb054b62c Removed debugging prints 2021-07-23 03:51:43 +02:00
Weird Constructor c15557d270 fixed thread safety issues with PatternData 2021-07-22 05:31:54 +02:00
Weird Constructor 52649a9875 adjusted the Simper SVF to use the sin() coefficient calculation. 2021-07-19 18:46:45 +02:00
Weird Constructor 888205b3ef fix documentation warnings 2021-07-18 19:15:06 +02:00
Weird Constructor 1a5427ae87 improved the documentation a bit 2021-07-18 18:58:10 +02:00
Weird Constructor b7349ccae4 more moog filter code 2021-07-18 14:04:26 +02:00
Weird Constructor c4495d6039 implemented moog filter and started to test it 2021-07-18 08:18:32 +02:00
Weird Constructor 1a5dfb4b50 remove debug print 2021-07-17 21:24:24 +02:00
Weird Constructor f6223548c8 implemented properties that can be used to store GUI related state in the patch 2021-07-17 20:12:32 +02:00
Weird Constructor 4291fd2602 fixed a few noise related tests. 2021-07-17 10:03:10 +02:00
Weird Constructor 107f3521cc Make the noise atv default 0.5 for more useable not so fast clipping noise. 2021-07-17 09:47:57 +02:00
Weird Constructor 0e48eea78e Started working on testing the rest of the Simper SVF. 2021-07-17 09:47:57 +02:00
Weird Constructor 8c3c834907 Allow direct access to the NodeId::label. 2021-07-17 09:47:57 +02:00
Weird Constructor f17e695410 last_row_idx is not out of f32 range anymore and we need to fill all rows because of the gate encoding with 0xF000 2021-07-17 06:22:21 +02:00
Weird Constructor 4bcf1c7531 use the CaMeL case names of the nodes as cell label 2021-07-15 19:32:33 +02:00
Weird Constructor aab2f8dc20 improved documentation 2021-07-15 06:48:05 +02:00
Weird Constructor 7a46c38a00 use f32 instead of f64 for filtering 2021-07-15 06:28:44 +02:00
Weird Constructor 7f7b8a0837 tuned the SVF filter a bit more 2021-07-15 05:12:05 +02:00
Weird Constructor b03f5e11e8 raised max resonance for simper svf 2021-07-15 05:09:48 +02:00
Weird Constructor 53853d890e implemented Simper SVF and refactored node_sfilter.rs 2021-07-15 05:08:06 +02:00
Weird Constructor 647b3b6b6d adjust documentation 2021-07-14 05:47:05 +02:00
Weird Constructor 131ac0ff36 more documentation for the helpers 2021-07-13 05:01:46 +02:00
Weird Constructor dd96d56465 improve documentation 2021-07-13 03:56:50 +02:00
Weird Constructor f121f1d3fa document more filters 2021-07-13 03:54:29 +02:00
Weird Constructor 86f93968f7 more sane limits for chamberlin svf and more tests 2021-07-12 20:18:10 +02:00
Weird Constructor 47ad5610f3 Implemented the Hal Chamberlin SVF filter, and wrote first test. 2021-07-12 19:54:01 +02:00
Weird Constructor 4e2cb0dca4 some basic fft code based on rustfft crate 2021-07-12 06:23:45 +02:00
Weird Constructor 5a3eb18f5c Documentation change 2021-07-11 11:59:13 +02:00
Weird Constructor 367d446dc1 implemented proper tests for the one pole filters 2021-07-11 11:03:20 +02:00
Weird Constructor 6f14af5293 apply better clamping for the tpt filters 2021-07-10 22:48:20 +02:00
Weird Constructor ebb5dd3a9b added high pass implementations too now. 2021-07-10 22:45:08 +02:00
Weird Constructor d1f7cc9a4d Factored out the filter implementations 2021-07-10 22:40:40 +02:00
Weird Constructor 3d099f884c added RC filter implementation 2021-07-10 22:34:03 +02:00
Weird Constructor 7a869e57f5 implementation of DAFX one pole 2021-07-10 22:30:43 +02:00
Weird Constructor 5dc702426c Started simple filter implementation 2021-07-10 22:16:55 +02:00
Weird Constructor a91dbd0787 Use the new GraphFun to draw a proper AD envelope without undersampling artifacts. 2021-07-11 16:59:32 +02:00
Weird Constructor 3360a2afe9 Added mask to indicate which inputs are connected. 2021-07-10 21:29:58 +02:00
Weird Constructor 26830e8e56 Implemented a bitmask to enable nodes to not produce output if it is not used. 2021-07-10 21:27:18 +02:00
Weird Constructor 967535d771 Implemented test for modulation amounts 2021-07-10 21:16:14 +02:00
Weird Constructor ade0a2f05f wrote test for mod amt serialization 2021-07-10 17:36:20 +02:00
Weird Constructor ba3cc4f583 Fixed a bug in modops processing when no edge was assigned 2021-07-10 12:45:32 +02:00
Weird Constructor e423ca22a3 fixes and debug logging 2021-07-10 10:16:23 +02:00
Weird Constructor 4b8f3d67e7 Remove ModOpSigRange and test NodeProg dump output. 2021-07-10 08:32:52 +02:00
Weird Constructor 5d975c91a4 implemented more of the parameter modulation amount 2021-07-07 05:03:28 +02:00
Weird Constructor b932b55a8d WIP: mod amounts in NodeProg 2021-07-06 19:55:03 +02:00
Weird Constructor 196d094673 storing the modulation amount in the NodeConfigurator / Matrix is now implemented 2021-07-06 05:00:34 +02:00
Weird Constructor b48d423b5a sketch out mod amount changes 2021-07-04 13:37:37 +02:00
Weird Constructor 870cc3f858 fixed warnings and adjust ed documentation of SMap 2021-07-04 12:16:01 +02:00
Weird Constructor f2d47de149 implemented test for SMap and fixed some bugs 2021-07-04 10:05:55 +02:00
Weird Constructor 934e808de3 Integrated SMap into node index 2021-07-04 08:39:17 +02:00
Weird Constructor 1f6aa8d18b document the 'mode' of SMap 2021-07-03 14:29:01 +02:00
Weird Constructor 9913d3125f Implementing a simpler version of map 2021-07-03 14:26:49 +02:00
Weird Constructor 93590ed2a8 documented the Map node 2021-07-03 07:55:05 +02:00
Weird Constructor 7503e7f28c different rounding mode for the cv range min/max/offs knobs 2021-07-02 20:14:02 +02:00
Weird Constructor c763d7ab8e fixed freq parameter rounding and freq calculation has been clamped and patch loading with unknown parameters is allowed for now. 2021-07-02 20:08:11 +02:00
Weird Constructor ed429e867c more sensible defaults 2021-07-02 05:12:30 +02:00
Weird Constructor 8b296ab407 made the mapper easier to use 2021-07-02 05:12:17 +02:00
Weird Constructor f99bcfc348 started work on the mapper node 2021-07-02 05:11:11 +02:00
Weird Constructor fb3bb7dab2 finished noise implementation 2021-07-01 05:06:46 +02:00
Weird Constructor bada6377ee added a Rng abstraction around SplitMix64 2021-07-01 05:06:42 +02:00
Weird Constructor 7b5ea3e27f added node_noise.rs 2021-06-30 22:15:32 +02:00
Weird Constructor 8c656a8ce3 Merge branch 'master' of ssh://hentai-kamen.m8geil.de:19022/WeirdConstructor/HexoDSP 2021-06-30 06:22:40 +02:00
Weird Constructor c94a000115 Added information to the matrix to be able to quickly determine if a parameter has an input assigned. 2021-06-30 06:22:38 +02:00
Weird Constructor dd89eebbd5 added to noise to oscillators 2021-06-30 03:55:26 +02:00
Weird Constructor 087983b386 boilerplate for a noise oscillator 2021-06-30 03:53:30 +02:00
Weird Constructor 1020684e13 fix warnings 2021-06-28 19:33:02 +02:00
Weird Constructor 85ad5e7955 helpers for comb and allpass, and added allpass node 2021-06-28 05:10:46 +02:00
Weird Constructor 9397b978dc added trigger input 2021-06-27 23:38:14 +02:00
Weird Constructor de15c3cfd7 there is no limit for audio files, it's up to you to kill your ram. 2021-06-27 07:48:42 +02:00
Weird Constructor 845df99ab5 updated splitmix64 implementation 2021-06-23 05:13:50 +02:00
Weird Constructor 40c5c2c9c9 fix documentation for delay feedback 2021-06-23 05:12:37 +02:00
Weird Constructor bdbfd01608 make a note for DelayBuffer::feed 2021-06-23 05:11:39 +02:00
Weird Constructor 3f8bee1301 fixed a bug in the delay line, that made it 1 sample off, getting incrementally worse 2021-06-23 05:11:24 +02:00
Weird Constructor 1e0caab020 finished writing tests for the delay node 2021-06-23 05:07:32 +02:00
Weird Constructor adfcd3f431 wrote basic delay tests 2021-06-22 05:04:11 +02:00
Weird Constructor 7201ec315e fixed a performance bug 2021-06-21 06:05:53 +02:00
Weird Constructor 2607e40c4a make CellDir::C clear all ports 2021-06-20 21:33:21 +02:00
Weird Constructor 4bf011261e added delay sync 2021-06-20 13:14:19 +02:00
Weird Constructor 63644b00da removed DC blocker from delay, was a bad idea if you want to delay CV.... 2021-06-20 09:12:02 +02:00
Weird Constructor 8995541fda parameter fine tuning 2021-06-20 08:28:40 +02:00
Weird Constructor 47681a28f0 fixed delay time scale 2021-06-19 14:11:23 +02:00
Weird Constructor cbc69f3ca3 implemented untested DSP part of Delay 2021-06-19 12:17:22 +02:00
Weird Constructor 9e752fe3f1 documented the delay node 2021-06-19 11:17:00 +02:00
Weird Constructor 337ffa12f5 prepared delay boilerplate 2021-06-19 10:50:39 +02:00
Weird Constructor a89433c320 implemented delay buffer 2021-06-19 09:34:02 +02:00
Weird Constructor b4796e98cf fixed warnings 2021-06-18 05:09:36 +02:00
Weird Constructor 8ee47a7eac finished Ad graph 2021-06-18 05:06:14 +02:00
Weird Constructor e13cf0834e finished AD tests and added preliminary graph impl 2021-06-18 03:58:00 +02:00
Weird Constructor f673792c17 wrote retrigger test 2021-06-16 05:06:50 +02:00
Weird Constructor a425733a51 made node_test finally useful for... tests! 2021-06-16 03:54:46 +02:00
Weird Constructor bf8f96b56d simplified code a bit more 2021-06-15 20:01:03 +02:00
Weird Constructor 152f193388 fixed inner workings of AD envelope 2021-06-15 19:51:33 +02:00
Weird Constructor 52ce2f26af implemente Ad node, still need to test 2021-06-15 05:12:53 +02:00
Weird Constructor 3fbc471ff4 small code cleanup 2021-06-14 18:42:40 +02:00
Weird Constructor c45c15d64b sketched out the AD envelope 2021-06-14 05:37:08 +02:00
Weird Constructor 9f7d67f096 finished Ad node boilerplate 2021-06-13 08:48:42 +02:00
Weird Constructor 14525276b3 changed int to float WAV conversion to sample / 0x8000 2021-06-13 07:23:25 +02:00
Weird Constructor c2ee0f0c21 set proper trigger length 2021-06-12 16:58:53 +02:00
Weird Constructor 5fee595674 implemented a helper for emitting triggers 2021-06-12 16:57:25 +02:00