Jean Pierre Cimalando
cbc037e055
Add RTSemaphore and tests
2020-04-13 16:32:40 +02:00
Jean Pierre Cimalando
151d9d3f7d
Fix libatomic detection on clang 10 compiler
2020-04-13 16:24:40 +02:00
Jean Pierre Cimalando
12e9cf8896
Ensure the extreme values of xfade curves are exact
2020-04-13 02:40:25 +02:00
Jean Pierre Cimalando
5bd80b4834
Try alternative curve formula
2020-04-13 02:33:48 +02:00
Paul Fd
09bad92cff
Added a check that a region is a generator for free-running the envelope
2020-04-12 10:35:19 +02:00
Paul Fd
9a1582892f
Flip the initialized switch on the silence wavetable
2020-04-12 10:35:19 +02:00
Paul Fd
d294d1e3e0
Corrected a bug were the silence wavetable was not initalized with 0
2020-04-12 10:35:19 +02:00
Paul Fd
c820fbc591
Added sanity checks in Voice (disabled) and Synth
2020-04-12 10:35:19 +02:00
Paul Fd
9613c0ed57
Added a nan/inf checker to the fp traits
2020-04-12 10:35:19 +02:00
JP Cimalando
1e6c0da220
Merge pull request #171 from paulfd/master-polyphony
...
Handle group opcodes now reads the master opcodes
2020-04-11 23:47:53 +02:00
redtide
8b27ac1ce1
Updated API doxygen documentation
2020-04-07 18:50:14 +02:00
redtide
33f9e6bf32
Updated API doxygen documentation
2020-04-07 18:42:41 +02:00
JP Cimalando
cd7dd1d77c
Merge pull request #168 from paulfd/definition-api
...
Added an external API for the external definitions
2020-04-07 17:58:01 +02:00
Paul Fd
b2a4f8a559
global clears master and group, master clears group
2020-04-07 16:26:00 +02:00
Paul Fd
c2360bad45
Feed master opcodes to the handleGroupOpcodes
2020-04-07 16:24:38 +02:00
Jean Pierre Cimalando
c4c4278ee3
Move the oscillator count to Config.h
2020-04-07 16:23:41 +02:00
Paul Fd
75c898d50c
Added an external API for the external definitions
2020-04-07 01:06:39 +02:00
Jean Pierre Cimalando
db3521027e
Fix some clang-tidy warnings
2020-04-03 17:30:58 +02:00
Jean Pierre Cimalando
cea3e4715b
Add oscillator unison
2020-04-03 17:11:42 +02:00
Paul Fd
5a61f3f4a9
Added some ARIA aliases
2020-04-02 23:51:52 +02:00
Paul Ferrand
6551d9f85a
Merge pull request #145 from paulfd/amp-stage
...
Simplify the amplitude stage by only applying the final gain on the buffer
2020-04-02 17:55:36 +02:00
Jean Pierre Cimalando
773e1542a0
Eliminate the unnecessary allocation
2020-04-02 15:37:55 +02:00
Jean Pierre Cimalando
bcb0c91599
Fix the alignment problem
2020-04-02 15:35:21 +02:00
Jean Pierre Cimalando
f32f14dfa2
Little oopsie
2020-04-02 15:34:21 +02:00
Jean Pierre Cimalando
62012f25a9
Relaxed the restrictions on the Buffer class
2020-04-02 15:32:53 +02:00
Jean Pierre Cimalando
bb826e8347
Raise an error if misalignment is detected
2020-04-02 15:21:10 +02:00
Jean Pierre Cimalando
03289c7b80
Remove the initializers to make the classes trivial
2020-04-02 15:05:32 +02:00
Jean Pierre Cimalando
319554321b
Fix mistake in comment [ci skip]
2020-04-02 02:06:27 +02:00
Jean Pierre Cimalando
3e3ed3c3ac
Fix for MSVC
2020-04-02 01:56:17 +02:00
Jean Pierre Cimalando
843d603f37
Add CPU dispatch for the strings effect
2020-04-02 01:32:09 +02:00
Jean Pierre Cimalando
10fa64b2c8
Add the cpuid library
2020-04-02 01:32:09 +02:00
Jean Pierre Cimalando
026a5aceee
SIMD-accelerated strings effect
2020-04-02 01:32:09 +02:00
Paul Fd
bd17d702e3
Simplify the amplitude stage by only applying the final gain on the buffer
2020-04-01 10:54:03 +02:00
Paul Fd
5a10af74ed
Set the envelope free-running also when loopmode=one_shot
2020-04-01 10:03:15 +02:00
Paul Ferrand
d5451846a0
Future release count as release
2020-04-01 09:40:26 +02:00
Paul Ferrand
ae7f84204c
Let the sustain be slightly above zero so that decay checks converge
2020-04-01 09:40:26 +02:00
Paul Ferrand
4248b136e7
Set virtuallyZero to -60 dB
2020-04-01 09:40:26 +02:00
Jean Pierre Cimalando
a825b3f1d3
Set the EG release default to 0
2020-04-01 09:40:26 +02:00
Jean Pierre Cimalando
96d362308d
Lower limit of EG rate calculation (Cakewalk)
2020-04-01 09:40:26 +02:00
Jean Pierre Cimalando
5f6fa5ac1e
Adequate handling of EG release delay, block version
2020-04-01 09:40:26 +02:00
Jean Pierre Cimalando
5a7aa90a8e
EG rate small adjustment
2020-04-01 09:40:26 +02:00
Jean Pierre Cimalando
fdda018a70
Add block version of the ADSR rework
2020-04-01 09:40:26 +02:00
Jean Pierre Cimalando
77589f4109
Rework the envelope generator
2020-04-01 09:40:26 +02:00
Jean Pierre Cimalando
d6adebf8f4
Allow EG reset to accept other parameters than ampeg
2020-04-01 09:40:26 +02:00
Paul Fd
bf7d90f3d4
Properly clear buffers
2020-04-01 09:28:17 +02:00
Paul Ferrand
2f2de8c677
Merge pull request #142 from paulfd/midi-state-block-processing
...
The midi state now tracks time through block duration; you need to call advanceTime(numSamples) at each callback.
The midi state now stores all CC and pitch events that happened during the block.
Added group polyphony and note_polyphony support, as well as note_selfmask support.
Multiple CCs can modulate pan, amplitude, width, position rather than one.
The voices do not store CC history for the modulation targets and rely on the midi state to provide the events that happened during the last block.
Removed the EventEnvelopes; they're replaced by generic free functions that take as input an EventVector from the midi state; old tests migrated.
Added support for tune_cc and pitch_cc related opcodes.
In all this process, I also removed most of the per-voice temporary buffers and preallocation to replace everything by a BufferPool that distributes buffers around, and can track the maximum buffer usage in debug mode. The number of concurrent buffers are set at compile-time, so it must be adapted to the current processing needs.
2020-03-31 23:22:25 +02:00
Jean Pierre Cimalando
c0127fe02f
Strings resonator effect
2020-03-31 20:43:35 +02:00
Paul Fd
5088bed9b0
Formatting step
2020-03-31 10:46:12 +02:00
Paul Fd
7e8cdff407
Modifier loops can be const
2020-03-31 10:40:44 +02:00
Paul Fd
ddeecf41b9
Apply modifier for pitch_cc and tune cc
2020-03-31 10:36:53 +02:00