Commit graph

843 commits

Author SHA1 Message Date
Jean Pierre Cimalando
8a17e18e9f Fix an error with multiple consecutive space 2020-05-16 18:03:04 +02:00
Jean Pierre Cimalando
4b8eaebdc5 Fix some cases of value parsing under ARIA (fix Salamander) 2020-05-15 15:15:23 +02:00
Jean Pierre Cimalando
0c6bf5a7a9 parser: support recursive $-expansions 2020-05-15 09:39:41 +02:00
Jean Pierre Cimalando
650c6140bd parser: dollar expansions and multiple #define on the same line 2020-05-15 09:39:35 +02:00
Jean Pierre Cimalando
60cfd84ac5 Suppress range checks of output in renderBlock 2020-05-14 14:29:19 +02:00
JP Cimalando
3ed3bc1754
Merge pull request #226 from paulfd/stack-smash
Residual tiny quality of life changes in the LV2 plugin
2020-05-14 09:22:56 +02:00
Paul Ferrand
6ed597a0bb
Merge pull request #213 from jpcima/cc-processing
Cc processing
2020-05-13 22:22:06 +02:00
Paul Ferrand
2e8b637f09 Update docs 2020-05-13 22:10:02 +02:00
Paul Ferrand
7d98349e16 Internally check that a change is needed or not 2020-05-13 20:34:22 +02:00
Paul Ferrand
a970fc0698 Changes to the worker messages
Checking for file changes or loading disables future file change checks
The worker only responds to reactivate the file change checks
Upon parameter change, the new value is stored immediately so only one message is sent to the worker
Removed the changing_state bool and let the sfizz internal lock protect the state
2020-05-12 23:21:03 +02:00
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
a27182268c Generic CC processing: volume, amplitude, pan, position, width, pitch 2020-05-05 17:20:12 +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