Commit graph

832 commits

Author SHA1 Message Date
Paul Ferrand
d6c24be064
Merge pull request #214 from paulfd/note-stealing
Improve the note stealing
2020-05-09 11:46:33 +02:00
Paul Ferrand
e4f0b0c7b0 Move things around 2020-05-08 00:21:21 +02:00
Paul Ferrand
59c25dccf1 Move the voice ordering as a free function 2020-05-08 00:16:50 +02:00
Paul Ferrand
6df5b217c9 Move the voice rendering into a private method 2020-05-08 00:16:28 +02:00
Paul Ferrand
ec13c70b82 C++11 does not like constexpr 2020-05-07 23:16:07 +02:00
Paul Ferrand
dbb75398cc Killed voices pre-render their next block
This data is ramped out before the main rendering loop, to smooth the voice killings
2020-05-07 20:49:42 +02:00
Paul Ferrand
691c25362b Add a helper to apply a gain span to effect inputs
Used for ramping out voice data
2020-05-07 20:48:48 +02:00
Paul Ferrand
91fc783b49 Increase the buffer pool size 2020-05-07 20:48:18 +02:00
Paul Ferrand
f0b527525f Add implicit conversions to AudioBuffer 2020-05-07 20:48:08 +02:00
Paul Ferrand
2fcd231062 Consider the max of the sister voices 2020-05-07 18:45:59 +02:00
Paul Ferrand
298ec7fc0c Change the name of the envelope variables and filters 2020-05-07 18:26:29 +02:00
Paul Ferrand
cd455c435e Consider all sister voices when killing a note 2020-05-07 18:24:49 +02:00
Paul Ferrand
81ee1f2e59 Add a tick method to the OPF 2020-05-07 17:52:29 +02:00
JP Cimalando
e7c462403e
Merge pull request #217 from jpcima/load-string
Add the string loading API
2020-05-07 14:09:13 +02:00
Paul Ferrand
0c9c188e4b Refine the stealing algorithm 2020-05-07 13:49:13 +02:00
Paul Ferrand
36e4c69fc2 Use age and average envelope for stealing 2020-05-07 12:58:24 +02:00
Paul Ferrand
b78a7945ab Add aging in the voice 2020-05-07 12:27:29 +02:00
JP Cimalando
dda4162a01
Merge pull request #218 from jpcima/numeric-hash
Hashing function for numbers
2020-05-07 12:27:28 +02:00
Jean Pierre Cimalando
64b3a999c7 Add the header guard in the C++ header 2020-05-07 10:10:29 +02:00
Jean Pierre Cimalando
0818896cb6 Hashing function for numbers 2020-05-07 09:19:38 +02:00
Paul Ferrand
a9980f163f Changed the historical buffer to a smoothed envelope tracker 2020-05-07 01:27:20 +02:00
Paul Ferrand
d740f1c32b Cherry pick the OPF refactor from the smoothers 2020-05-07 01:02:35 +02:00
Jean Pierre Cimalando
cd6017f0e9 Add the string loading API 2020-05-06 19:12:53 +02:00
Paul Ferrand
b4cc58dc87 Release the envelope and let the voice clean up itself (#215)
In the previous version, for very short sample, the voice could start and end in the same block and falsely reset itself before finishing its rendering pass
2020-05-06 15:41:18 +02:00
Paul Ferrand
ac993741d1 Rename the "canBeStolen" function 2020-05-05 23:45:06 +02:00
Paul Ferrand
87e4b4ed90 Voice are unilateraly stolen now depending on their average power over the last 10 blocks. 2020-05-05 23:43:32 +02:00
Paul Ferrand
13dcadc321 Memoize the mean power 2020-05-05 23:40:06 +02:00
Paul Ferrand
646b71cb43 Set a default polyphony of 256 2020-05-05 23:18:08 +02:00
Jean Pierre Cimalando
4460114b3b Simplify region opcode handling after normalizing 2020-05-05 04:10:00 +02:00
Jean Pierre Cimalando
b02236328d Apply opcode cleanups in the synth 2020-05-05 03:47:16 +02:00
Jean Pierre Cimalando
3d508e9860 Correctly align 2020-05-05 03:33:56 +02:00
Jean Pierre Cimalando
1985108574 Opcode normalizations for cutoff and resonance 2020-05-05 03:29:07 +02:00
Jean Pierre Cimalando
cd8ea73d0a Add the normalization of opcode names 2020-05-04 19:13:19 +02:00
JP Cimalando
ac75f48e2b
Merge pull request #209 from jpcima/opcodes-bis
Opcode helpers
2020-05-04 04:37:43 +02:00
Jean Pierre Cimalando
e81a7e8a1d Regenerate filters 2020-05-04 04:24:42 +02:00
Jean Pierre Cimalando
e39613ab34 filters: forgot changing one case of smoothBiquad 2020-05-04 04:24:33 +02:00
Jean Pierre Cimalando
3a43998142 Add the derived name helper for opcodes 2020-05-03 16:47:53 +02:00
Jean Pierre Cimalando
acbbb8354a Add categorization of opcodes 2020-05-03 15:24:32 +02:00
Jean Pierre Cimalando
d531c37254 Delete unused private field 2020-05-02 11:36:45 +02:00
Jean Pierre Cimalando
65eb564222 Make atomic_queue constexpr functions compliant to C++11 2020-05-02 11:35:14 +02:00
Jean Pierre Cimalando
adaaf4b61c Fix the use of file loop markers 2020-05-01 09:23:54 +02:00
Jean Pierre Cimalando
5790dd3ace Set the type of stepcc to float 2020-04-22 05:23:43 +02:00
Jean Pierre Cimalando
f5f7ded7e6 Regenerate the filters 2020-04-21 20:07:58 +02:00
Jean Pierre Cimalando
84436601bc Delete the SVF gain compensation (match Rapture) 2020-04-21 20:06:23 +02:00
Jean Pierre Cimalando
ffcdca81f6 Transposed-form 2 biquads 2020-04-21 19:49:29 +02:00
Jean Pierre Cimalando
353cea949e Make the skip count correct (even if not used currently) 2020-04-20 22:59:35 +02:00
Jean Pierre Cimalando
605e552a25 Change the comment type into an enum 2020-04-20 22:54:04 +02:00
Jean Pierre Cimalando
748e3668a8 Support block comments 2020-04-20 19:47:28 +02:00
Jean Pierre Cimalando
6ac903ac8f Make the counter really singleton, remove non-working static init 2020-04-19 19:15:06 +02:00
Jean Pierre Cimalando
4562201455 Add some tests for the buffer counter 2020-04-19 18:48:11 +02:00