Commit graph

374 commits

Author SHA1 Message Date
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
Weird Constructor
c9c5746bf9 changed documentation of sampler dir 2021-06-12 09:20:44 +02:00
Weird Constructor
4f29168a08 implemented reverse mode for sample player 2021-06-12 09:12:25 +02:00
Weird Constructor
30b67efe70 replace len with mxlen instead 2021-06-11 05:05:42 +02:00
Weird Constructor
e6df5039ef fixed test after out.gain had been added 2021-06-11 05:01:19 +02:00
Weird Constructor
384274aadf documented TSeq 2021-06-08 18:59:31 +02:00
Weird Constructor
d5535ce397 Added 'gain' parameter to Out and more documentation. 2021-06-08 05:08:52 +02:00
Weird Constructor
faf06be4e1 Added documentation for Out, FbWr and FbRd. 2021-06-08 05:08:45 +02:00
Weird Constructor
8eed5a0661 added documentation for FbWr and FbRd 2021-06-08 05:02:16 +02:00
Weird Constructor
718f46154f improving documentation 2021-06-08 03:56:40 +02:00
Weird Constructor
404c8d6509 fixed feedback delay buffer, it was dependent on the sample rate 2021-06-07 05:09:58 +02:00
Weird Constructor
e9e84df708 fix some clippy warnings 2021-06-07 05:06:04 +02:00
Weird Constructor
a846242218 fixed warnings 2021-06-07 05:03:29 +02:00
Weird Constructor
f925ac8116 added help and description to nodes 2021-06-07 05:00:10 +02:00
Weird Constructor
c09477d50f the mod definition now also defines the step resolution 2021-06-06 18:09:21 +02:00
Weird Constructor
7703523749 use trunc and not floor for display 2021-06-06 13:36:53 +02:00
Weird Constructor
1d5ea0599e round instead of flooring cents 2021-06-06 13:33:41 +02:00
Weird Constructor
12c8362465 detune rounding implemented 2021-06-06 13:19:31 +02:00
Weird Constructor
ad250e65fd proper min/max for the detune params 2021-06-06 12:27:34 +02:00
Weird Constructor
2a0ea2014f finished tests for sine and sampl detune 2021-06-06 11:14:50 +02:00
Weird Constructor
1ceb25bf31 fixed sine detune test 2021-06-06 09:31:41 +02:00
Weird Constructor
a9ac28e351 applied detune to the sampler and sin, added tests that need to be fixed 2021-06-06 09:24:41 +02:00
Weird Constructor
79c3e36eab sin now has a detune UI parameter (not yet handled in DSP) 2021-06-05 09:13:42 +02:00
Weird Constructor
1b22ab623a added missing file and implemented gate output ports to the sequencer 2021-06-04 20:24:55 +02:00
Weird Constructor
d069c4aafa finished settings formatting via macro refactor 2021-06-04 18:14:41 +02:00
Weird Constructor
8bb0083aec added concept of rounding function and format function for parameters 2021-06-04 05:06:41 +02:00
Weird Constructor
c56846ad02 wrote test for FbRd and FbWr, and fixed remaining bugs 2021-06-03 20:16:31 +02:00
Weird Constructor
3bf1d62239 debugging FbWr/FbRd, the buffer is not read correctly 2021-06-03 05:10:29 +02:00
Weird Constructor
b7284b6b8a gave all nodes access to NodeExecContext 2021-06-02 03:59:21 +02:00
Weird Constructor
297360e398 started implementing feedback delays 2021-06-01 05:14:06 +02:00
Weird Constructor
2350db8e60 fixed potential out ranged values in the tracker 2021-05-30 12:44:12 +02:00
Weird Constructor
f7bf197a48 made the decay declick optional 2021-05-29 21:15:01 +02:00
Weird Constructor
46d59dfc02 small refactor 2021-05-29 21:00:45 +02:00
Weird Constructor
4b2befde62 note for dcms 2021-05-29 15:28:41 +02:00
Weird Constructor
a9ad083e27 fixed a crash bug 2021-05-29 15:22:32 +02:00
Weird Constructor
85aa59d242 finished declick 2021-05-29 14:48:00 +02:00
Weird Constructor
a7a2a26d67 implemented declick, working on tests 2021-05-29 13:45:26 +02:00
Weird Constructor
3530b6df2d implemented offset and len for sampler, and unified the oneshot and loop implementation. 2021-05-29 11:41:46 +02:00
Weird Constructor
aff9984f08 wrote sampler one shot mode and tests for this 2021-05-28 21:37:16 +02:00
Weird Constructor
663e88efeb loading empty samples is not done anymore 2021-05-28 05:14:56 +02:00
Weird Constructor
cd2bbafcb6 handling sample loading errors gracefully 2021-05-27 20:14:43 +02:00
Weird Constructor
bc97d238ec fixed a bug in patch loading 2021-05-27 19:43:10 +02:00
Weird Constructor
72e2e21aa1 added wav 2021-05-22 22:56:19 +02:00
Weird Constructor
4384f0a2e1 added parameters 2021-05-22 12:13:38 +02:00
Weird Constructor
1890e9ed90 implemented interpolation in the sample player 2021-05-22 11:11:03 +02:00
Weird Constructor
0c3d5e99fa implemented basic sample oscillator 2021-05-22 09:19:11 +02:00
Weird Constructor
b11743442a removed hexotk references 2021-05-19 05:05:32 +02:00
Weird Constructor
2d032d79be UIPatternModel is now a hexodsp trait 2021-05-19 05:03:05 +02:00
Weird Constructor
b43eee2b3a make it public 2021-05-19 05:01:57 +02:00
Weird Constructor
8f655eda7f added one more thing tot he UIPatternModel 2021-05-19 05:01:30 +02:00
Weird Constructor
0e8895b3ad add missing file 2021-05-19 05:00:02 +02:00
Weird Constructor
2772d27ab8 added preliminary sampler node 2021-05-19 03:58:33 +02:00
Weird Constructor
41dc5b5671 implemented a very basic sample loader for future work on a sample player node 2021-05-18 21:20:55 +02:00
Weird Constructor
82976026e0 added commented example on how to use HexoDSP 2021-05-18 19:03:15 +02:00
Weird Constructor
951a771d88 implemented a proper example 2021-05-18 18:54:04 +02:00
Weird Constructor
ae4a9a1e7e add documentation link 2021-05-18 05:39:21 +02:00
Weird Constructor
c3a7701416 copied code from hexosynth and made all tests pass 2021-05-18 05:11:19 +02:00
Weird Constructor
1bdce9463e initial commit 2021-05-18 03:59:00 +02:00