Commit graph

1532 commits

Author SHA1 Message Date
Jean Pierre Cimalando
7d4e9b144f Pass the option -msse also on x86_64
In some cases of chroot-based debian build environments where the host is
64-bit and target 32-bit, the system processor of cmake is not correctly set.
To work this around, pass the -msse2 flag also in case of 64-bit system processor;
it will be harmless for the case of normal builds.
2020-04-04 19:50:45 +02:00
Paul Fd
5a61f3f4a9 Added some ARIA aliases 2020-04-02 23:51:52 +02:00
Jean Pierre Cimalando
72abb7227e Point the VSTGUI submodule to fork sfztools/vstgui 2020-04-02 22:36:18 +02:00
Jean Pierre Cimalando
4a4936f2b5 Add support of some ARM architectures for VST (by @hexdump0815) 2020-04-02 21:04:54 +02:00
JP Cimalando
f9c642e49e
Merge pull request #158 from jpcima/vst3-submodules
Reorganize VST SDK as submodules
2020-04-02 19:34:04 +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
Paul Ferrand
e91b553f0e
Merge pull request #149 from jpcima/strings-simd
SIMD-accelerated string resonator
2020-04-02 17:53:27 +02:00
Jean Pierre Cimalando
ed5c4860f1 Reorganize VST SDK as submodules 2020-04-02 17:24:52 +02:00
Jean Pierre Cimalando
8ce71cafad Attempt to fix MOD devices 2020-04-02 16:53:55 +02:00
Jean Pierre Cimalando
3ed8c4f771 Print the system processor in summary 2020-04-02 16:48:26 +02:00
Jean Pierre Cimalando
9d9fec27ff Forgot to rename the strings benchmark 2020-04-02 15:53:46 +02:00
Jean Pierre Cimalando
773e1542a0 Eliminate the unnecessary allocation 2020-04-02 15:37:55 +02:00
Jean Pierre Cimalando
5ad260e4c4 Make the string benchmark compute less 2020-04-02 15:36:38 +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
86e3c2232f Add the benchmark for string resonator 2020-04-02 09:15:54 +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 Ferrand
3aaf44b636
Merge pull request #136 from jpcima/eg
Envelope generator
2020-04-02 01:20:39 +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
75c27b0577 Disable the "updated" tests in favor of integration tests 2020-04-01 09:40:26 +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
8012532c51 Eliminate EG recording latency (because of connection loop) 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
1610b047f4 Allow to capture EG as FLAC, to make it compact 2020-04-01 09:40:26 +02:00
Jean Pierre Cimalando
d1333a5ab3 Add tool to capture Dimension EG curves 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
Paul Ferrand
5673b3a7bb
Merge pull request #143 from jpcima/strings
Strings resonator effect
2020-03-31 23:21:24 +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
Paul Fd
bf4bdad656 Handle pitch_cc and tune_cc 2020-03-31 10:36:41 +02:00
Paul Fd
c92e78b3f2 Update the envelope benchmark 2020-03-31 09:53:46 +02:00