Commit graph

2590 commits

Author SHA1 Message Date
Jean Pierre Cimalando
f333013dff Eliminate a few warnings 2020-10-10 02:43:27 +02:00
Jean Pierre Cimalando
b27a509aa9 Define the build options before including SfizzConfig 2020-10-09 14:37:04 +02:00
JP Cimalando
7e0d964606
Merge pull request #487 from jpcima/vcpkg-fast
Do not force a vcpkg update
2020-10-09 14:34:15 +02:00
Jean Pierre Cimalando
aea430cbfd Do not force a vcpkg update 2020-10-09 13:55:53 +02:00
JP Cimalando
2917a9fb4c
Merge pull request #486 from jpcima/contributors
Removal of redundant information [ci skip]
2020-10-08 14:11:37 +02:00
Jean Pierre Cimalando
a3238f27c1 Removal of redundant information [ci skip] 2020-10-07 20:16:32 +02:00
Jean Pierre Cimalando
a16a835850 Add @atsushieno to the list of contributors 2020-10-07 19:47:29 +02:00
JP Cimalando
0fb8abdf44
Merge pull request #484 from atsushieno/patch-1
accept samplesPerBlock up to 8192 (inclusive)
2020-10-07 19:45:16 +02:00
Atsushi Eno
b76a1c50a3
accept samplesPerBlock up to 8192 (inclusive)
`ASSERT(samplesPerBlock < config::maxBlockSize)` (where `maxBlockSize` is 8192) means 
we cannot set 8192. But we don't want 8191 as the actual maximum size.
2020-10-08 02:10:00 +09:00
JP Cimalando
62046e9e8e
Merge pull request #479 from jpcima/map-cc11
Map CC11 expression
2020-10-07 15:35:20 +02:00
JP Cimalando
ebc47e2c48
Merge pull request #480 from jpcima/file-data-copy-delete
Fix a compilation warning, about FileData not copyable
2020-10-07 14:45:05 +02:00
Jean Pierre Cimalando
3aeb96d3b2 Fix a compilation warning, about FileData not copyable 2020-10-07 14:41:16 +02:00
Jean Pierre Cimalando
162673939a Map CC11 expression 2020-10-07 14:36:27 +02:00
Paul Ferrand
b9f58f1fe4
Merge pull request #477 from paulfd/overflow-voices
Overflow voices
2020-10-07 14:32:05 +02:00
Paul Ferrand
2fc6aab964
Merge pull request #425 from paulfd/simpler-file-loading
Changes to the background loading
2020-10-07 13:57:03 +02:00
Paul Ferrand
b87592958e
Merge pull request #478 from paulfd/cutoff-clamp
Clamp the cutoff values to avoid filters blowing up
2020-10-07 13:41:21 +02:00
Paul Ferrand
54d2b7342c Clamp the cutoff values to avoid filters blowing up 2020-10-07 13:19:07 +02:00
Paul Ferrand
f9178d41aa Remove the renderVoiceToOutput method and add a missing comment 2020-10-07 09:08:01 +02:00
Paul Ferrand
81fe043bb3 No need to ramp out killed voice data 2020-10-07 09:01:48 +02:00
Paul Ferrand
b78fa39d9e Remove unused variable 2020-10-07 00:51:18 +02:00
Paul Ferrand
a0ad3b9921 Adapt the thread pool to the number of concurrent threads 2020-10-07 00:37:31 +02:00
Paul Ferrand
1e2ae6bce7 Unused variable and a wrong name 2020-10-07 00:37:31 +02:00
Paul Ferrand
d35ff4eb42 Add a volatile on the stop flag in the thread pool 2020-10-07 00:37:31 +02:00
Paul Ferrand
a505b9f037 gcc 4.9 idiosyncrasies 2020-10-07 00:37:31 +02:00
Paul Ferrand
9e0a1dff72 Add constructors to the QueuedFileData
Honestly a stupid queue would be fine at this point
2020-10-07 00:37:31 +02:00
Paul Ferrand
e693e82a39 The dispatcher was not spinning 2020-10-07 00:37:31 +02:00
Paul Ferrand
8ee4105b39 Deep change of the background loadingThe goal was to reduce the number of background threads in big sessions (multiple instances) and avoid loading the same file alot on repeated notes (e.g. drum tracks).- All instances use a common thread pool- Each instance has a dispatching job that starts background loader, and a garbage job that clears data that has been unused for some time- The "FilePromise" object has disappeared. Upon request, Voices get a very thin reference-counting handler to the file data. When the handler is released the reference count is decreased and a "last used" timestamp is added to the file.- The background file loading job checks i) if the file is already loaded, or ii) if some other thread is already loading it. If any case is validated, it exits assuming the background loading is already happening.- The garbage job has to be triggered regularly by e.g. the synth. In the RT thread the triggerGarbageCollection() method will check the list of previously loaded file Ids to see if any has not been used for a while. If so, the memory is set to be discarded by a background thread, otherwise it'll wait for the next ping.Only tested on Linux for now. 2020-10-07 00:37:31 +02:00
Paul Ferrand
8212eb4966 cpp11 static assert needs a message 2020-10-06 23:58:27 +02:00
Paul Ferrand
02a1615e2d Use the back inserter idiom in all stealing methods 2020-10-06 23:31:45 +02:00
Paul Ferrand
480a7d4628 Use the soft engine polyphony limit 2020-10-06 22:47:39 +02:00
Paul Ferrand
8071cd0131 Add more voices than necessary
These will naturally be used for "dying" voices beyond the engine polyphony
2020-10-06 21:51:21 +02:00
JP Cimalando
4e13493ab4
Merge pull request #464 from jpcima/loop-xfade
Loop xfade
2020-10-06 21:31:43 +02:00
Jean Pierre Cimalando
809edfa76c Make local copy of the loop characteristics 2020-10-06 21:06:03 +02:00
Paul Ferrand
24624abef1 Move the crossfade curve config to the config 2020-10-06 19:56:54 +02:00
redtide
b1a067506f Updated README, added Discord badge link 2020-10-06 19:54:13 +02:00
Paul Ferrand
cab43b6641 Move the crossfade spans closer to their actual use 2020-10-06 19:54:09 +02:00
Paul Ferrand
8f3be5ca3c Compute loop information at the start of the voice The check for actual looping is still done in the render method, to see if we do have enough samples 2020-10-06 19:52:24 +02:00
Jean Pierre Cimalando
35bc3f59b3 lv2: remove the duplicate port 2020-10-06 15:32:30 +02:00
Jean Pierre Cimalando
9f698aea4c Remove dead code 2020-10-06 11:54:02 +02:00
JP Cimalando
20a4675a73
Merge pull request #476 from jpcima/bypass-default-cc
Do not connect CC 7 and 10 if used in SFZ file
2020-10-06 11:09:31 +02:00
JP Cimalando
d5f0b4b6ff
Merge pull request #473 from jpcima/jack-client
Jack client improvements
2020-10-06 11:09:18 +02:00
Jean Pierre Cimalando
049739f8f1 Use the correct coeffs for xfIn 2020-10-06 10:49:41 +02:00
Paul Ferrand
0e2eacaa65
Merge pull request #353 from paulfd/runtime-configs
Add runtime configs for loading in ram and voice stealing
2020-10-06 10:24:54 +02:00
Jean Pierre Cimalando
6fc1d470ff Do not connect CC 7 and 10 if used in SFZ file 2020-10-06 04:45:22 +02:00
JP Cimalando
2351f18bfd
Merge pull request #475 from jpcima/fix-cc
Fix CC modulations, having their source depth to 0
2020-10-06 04:34:35 +02:00
Jean Pierre Cimalando
99d40ee31c Normalize stepcc in the source key 2020-10-06 04:24:54 +02:00
Jean Pierre Cimalando
b0e102c77e Fix CC modulations, having their source depth to 0 2020-10-06 03:53:32 +02:00
JP Cimalando
5ffd36393f
Merge pull request #474 from jpcima/more-pitch-range
Increase pitch ranges by 2 octaves
2020-10-06 02:36:44 +02:00
Jean Pierre Cimalando
15c745239f Increase pitch ranges by 2 octaves 2020-10-06 02:25:18 +02:00
Jean Pierre Cimalando
59ffddaad5 jack: correctness of variable access in signal handler 2020-10-06 02:12:59 +02:00