Commit graph

933 commits

Author SHA1 Message Date
Paul Ferrand
f2b334c567 Implement helpers for the swap and pop idioms
This code is repeated from place to place, I figured having a central place to put it and test it was OK.
2020-06-15 10:59:12 +02:00
Paul Ferrand
c7fff6b27a Change back the default number of voices to 64 2020-06-15 02:06:55 +02:00
Paul Ferrand
62d7a0977d
Merge pull request #272 from paulfd/sister-voices
Sister voices
2020-06-15 00:58:51 +02:00
Paul Ferrand
9215b1705a Use sister voices in the voice stealing algorithm 2020-06-14 23:31:54 +02:00
Paul Ferrand
9d27c5aca7 The synth now resets the voicesThe voice does not reset itself anymore, but rather enters a zombie state.This intermediate state will be used by the synth to update the polyphony counters if needed. 2020-06-14 20:29:52 +02:00
Paul Ferrand
f4660b1a02 Add voices to a ring upon startup, and remove them when resetting the voice 2020-06-14 17:33:04 +02:00
JP Cimalando
97b4335209
Delete unused variable fullRange 2020-06-14 15:28:28 +02:00
Jean Pierre Cimalando
b144ec0cb8 Add sample quality tests 2020-06-14 13:08:53 +02:00
Jean Pierre Cimalando
90d556a985 Clamp sample quality in the validity domain 2020-06-14 13:07:48 +02:00
Jean Pierre Cimalando
336a435773 Add the sample quality API 2020-06-14 13:07:48 +02:00
Paul Ferrand
35837c501f
Merge pull request #246 from jpcima/voice-lifecycle
Voice lifecycle
2020-06-13 23:40:57 +02:00
Paul Ferrand
5fa43a0efb Check the number of curves at compile time 2020-06-12 20:04:21 +02:00
Paul Ferrand
bdaf8f7f11 Debug message called an unknown variable (previous PR leftover) 2020-06-12 19:45:41 +02:00
Jean Pierre Cimalando
215077deaa Make region removal order-preserving 2020-06-12 00:55:53 +02:00
Jean Pierre Cimalando
2c10173356 Add the lookup functions by identifier 2020-06-12 00:55:53 +02:00
Jean Pierre Cimalando
e07912f7ce Implement the identifier in a better and more safe way 2020-06-12 00:55:53 +02:00
Jean Pierre Cimalando
c239629be1 Initialize id number to -1, do not consider it as index 2020-06-12 00:55:53 +02:00
Jean Pierre Cimalando
2c3314d0ad Add a listener of voice state changes 2020-06-12 00:55:53 +02:00
Jean Pierre Cimalando
f0f4c34ad8 Numbering of regions and voices 2020-06-12 00:55:53 +02:00
Jean Pierre Cimalando
1ba7e6deb2 Add stretch tuning API and implement 2020-06-11 22:22:47 +02:00
Jean Pierre Cimalando
6b906192de Stretch tuning demo 2020-06-11 21:25:33 +02:00
JP Cimalando
d9e49f7dc5
Merge pull request #235 from jpcima/off-by
Off by
2020-06-11 13:04:54 +02:00
JP Cimalando
908544c7df
Merge pull request #238 from jpcima/resample
Polynomial resampler
2020-06-11 13:01:48 +02:00
JP Cimalando
db27cb0376
Merge pull request #244 from jpcima/hdcc-api
Add the API to receive hdcc values
2020-06-11 03:58:07 +02:00
Jean Pierre Cimalando
d564a289c9 Remove unused and broken AudioBuffer implicit conversions 2020-06-11 03:49:49 +02:00
Jean Pierre Cimalando
c94eea2a3f Eliminate excessFileFrames from FilePool, use fixed padding buffer 2020-06-11 03:12:31 +02:00
Jean Pierre Cimalando
dd5d11f4a3 Allow AudioSpan to accept padded AudioBuffer 2020-06-11 03:05:43 +02:00
Jean Pierre Cimalando
50efcfc95a Support fixed padding for AudioBuffer 2020-06-11 02:54:10 +02:00
Paul Ferrand
fe730333c6 For streaming data, pass the available frame - the padding size
Otherwise in some cases you might have interpolators reading uninitialized/zero data if they're close to the streaming bound
2020-06-11 02:02:39 +02:00
Paul Ferrand
acf4f00b9d Remove redundant namespaces 2020-06-11 02:02:39 +02:00
Paul Ferrand
590af85823 Add excessFileFrames at the beginning of the file dataRecenter the 4-sample splines from -1 to 2 (relative to the interpolated sample) rather than 0 to 3 2020-06-11 02:02:39 +02:00
Jean Pierre Cimalando
4f0414cb4a Clear buffer after adding channels, not before 2020-06-11 02:02:39 +02:00
Jean Pierre Cimalando
5abfa5ef18 Forgot to pad and clear the buffer in one case 2020-06-11 02:02:39 +02:00
Jean Pierre Cimalando
e195cdd218 For some SSE intrinsics expressions, for msvc compat 2020-06-11 02:02:39 +02:00
Jean Pierre Cimalando
4ff54b3158 Add the opcode sample_quality and default value to 2 2020-06-11 02:02:39 +02:00
Jean Pierre Cimalando
51502eaed3 Moved interpolators to their own file 2020-06-11 02:02:39 +02:00
Jean Pierre Cimalando
626e92f1a3 Add polynomial interpolation 2020-06-11 02:02:39 +02:00
Jean Pierre Cimalando
ff1cbb6c49 Resample one-coeff only 2020-06-11 02:02:39 +02:00
Jean Pierre Cimalando
420237e8dc Avoid error raised in case of empty scala file 2020-06-11 00:08:47 +02:00
JP Cimalando
a369d61b78
Merge pull request #253 from jpcima/scala
Tuning
2020-06-10 23:42:44 +02:00
Jean Pierre Cimalando
d434132fd7 Disable a tuning library API which is unused and non-RT 2020-06-10 23:39:37 +02:00
Jean Pierre Cimalando
8629179e2e Some updates on value parsing 2020-06-10 23:10:49 +02:00
Paul Ferrand
7ccdaa02c2 Change parameter to span 2020-05-30 15:09:27 +02:00
Paul Ferrand
eff5bd0362 Added tests and silence a warning 2020-05-30 09:54:02 +02:00
Paul Ferrand
0898030e4c Clamp at the first non-number character in readOpcode 2020-05-30 00:15:53 +02:00
Paul Ferrand
5e74f910c6 Correct a bug with sfz v1 velcurve
The velcurve logic now uses the same as sfz v2 curves
2020-05-29 23:30:53 +02:00
Paul Ferrand
d3a3dbd184 Update the scale file in all cases 2020-05-29 17:34:01 +02:00
Paul Ferrand
d522c50e5f Removed unused variables 2020-05-29 16:45:30 +02:00
Paul Ferrand
969e1d0915 Added the failed expression in the message 2020-05-29 16:39:17 +02:00
Paul Ferrand
fbbd3b88c6 Add wrappers 2020-05-29 16:24:53 +02:00