Commit graph

1891 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
9857d7b706
Merge pull request #274 from paulfd/voice-cleanup
The synth now resets the voices
2020-06-14 23:29:57 +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
JP Cimalando
9e764b132a
Merge pull request #267 from jpcima/quality-api
Add the sample quality API
2020-06-14 13:12:52 +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
Jean Pierre Cimalando
3994089233 Fix the bad macOS suffix in LV2 manifest template 2020-06-13 16:55:25 -07:00
Paul Ferrand
35837c501f
Merge pull request #246 from jpcima/voice-lifecycle
Voice lifecycle
2020-06-13 23:40:57 +02:00
JP Cimalando
9b72dce802
Merge pull request #271 from jpcima/mac-cpp
Build macOS in C++14, can fix runtime link issues
2020-06-13 22:27:31 +02:00
Jean Pierre Cimalando
578dad574d Build macOS in C++14, can fix runtime link issues 2020-06-13 22:09:58 +02:00
JP Cimalando
f120cadcf6
Merge pull request #269 from jpcima/lv2
Fix LV2 problems with the atom sequence
2020-06-12 21:56:10 +02:00
Jean Pierre Cimalando
ba0716e7e1 Make notify_frame local to run() 2020-06-12 21:52:45 +02:00
Jean Pierre Cimalando
f15ed45035 Construct work atoms using a forge 2020-06-12 21:41:50 +02:00
Jean Pierre Cimalando
ff34bb5ccb Fix LV2 problems with the atom sequence
- pop the frame when finished writing
- add safety checks in case write space is short
2020-06-12 21:41:50 +02:00
JP Cimalando
ffbf6bf5b7
Merge pull request #268 from jpcima/stretch-tuning
Stretch tuning
2020-06-12 20:42:31 +02:00
Paul Ferrand
32d01ded03 Added some tests 2020-06-12 20:20:01 +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
0bbb1e930f Add test 2020-06-12 00:56:27 +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
37ef2b9942 Update benchmarks 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
2895a2bfee Implement stretch tuning in LV2 2020-06-11 22:37:08 +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
b0e7c9dba3 Add test for AudioBuffer padding 2020-06-11 03:36: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
abd951a92b Revert and amend the benchmark correction 2020-06-11 02:02:39 +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
0b4c3fcae0 Add padding to the benchmarks 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
Paul Ferrand
c48e14ee2b Add interpolator tests 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