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 |
|
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 |
|
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
|
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 |
|
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 |
|
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 |
|
Jean Pierre Cimalando
|
15c745239f
|
Increase pitch ranges by 2 octaves
|
2020-10-06 02:25:18 +02:00 |
|
JP Cimalando
|
e8d052d50c
|
Merge pull request #459 from redtide/moved-scripts
Move Doxygen scripts
|
2020-10-06 00:25:37 +02:00 |
|
Jean Pierre Cimalando
|
942f93fc8d
|
Audio reader benchmark in real conditions
|
2020-10-05 19:04:25 +02:00 |
|
JP Cimalando
|
dc422d07d9
|
Merge pull request #445 from jpcima/ampeg-mm
Add egN_ampeg
|
2020-10-05 00:09:56 +02:00 |
|
Jean Pierre Cimalando
|
86d0cf3a49
|
Update the boolean reader
|
2020-10-05 00:00:15 +02:00 |
|
Paul Ferrand
|
0142c385dc
|
Enable and disable the power follower depending on the chosen algorithm
|
2020-10-04 23:13:34 +02:00 |
|
Paul Ferrand
|
49c9e43687
|
Add runtime configs for loading in ram and voice stealing
|
2020-10-04 23:12:50 +02:00 |
|
Paul Ferrand
|
5b4e673fe7
|
Use the new boolean helper and test the ampeg connection
|
2020-10-04 23:00:52 +02:00 |
|
Paul Ferrand
|
ab3715f7a9
|
Read 0 or 1 values as valid booleans
|
2020-10-04 23:00:21 +02:00 |
|
Paul Ferrand
|
4acd1ca8c5
|
Merge pull request #469 from paulfd/oversampling-offset
Oversampling offset
|
2020-10-04 20:50:42 +02:00 |
|
Paul Ferrand
|
991873caf3
|
Merge pull request #467 from paulfd/multiple-globals-polyphony
Don't assume a single <global> for region sets
|
2020-10-04 17:44:43 +02:00 |
|
Paul Ferrand
|
0046bb69e6
|
Set the proper oversampling factor for the initial offset
|
2020-10-04 17:32:58 +02:00 |
|
Paul Ferrand
|
6156022628
|
this use of getSourcePosition is wrong (sourcePosition is not increased if e.g. the voice is a generator for example)
To avoid this I removed the API which has really no purpose
|
2020-10-04 17:32:44 +02:00 |
|
Paul Ferrand
|
f27c1e4c31
|
Put a high amplitude range
|
2020-10-04 16:58:06 +02:00 |
|
Paul Ferrand
|
0b502b44f1
|
Don't assume a single <global> for region sets
|
2020-10-03 10:01:08 +02:00 |
|
Jean Pierre Cimalando
|
ab35581786
|
Xfade related to file sample rate, with oversampling considered
|
2020-10-01 14:03:23 +02:00 |
|
Jean Pierre Cimalando
|
893d0361c2
|
Crossfade with S-shape curve
|
2020-10-01 13:43:22 +02:00 |
|
Jean Pierre Cimalando
|
453d489d4a
|
Use linear xfade curves
|
2020-09-30 20:45:43 +02:00 |
|
Jean Pierre Cimalando
|
fda4b5931c
|
Eliminate a code repetition
|
2020-09-30 19:35:43 +02:00 |
|
Jean Pierre Cimalando
|
7a5fd53001
|
Let's make clang-tidy happy
|
2020-09-30 18:19:31 +02:00 |
|
Jean Pierre Cimalando
|
8a2e17ec92
|
Implement loop xfade
|
2020-09-30 18:13:18 +02:00 |
|
Jean Pierre Cimalando
|
f6d05509cb
|
Add opcode: loop_crossfade
|
2020-09-30 01:52:42 +02:00 |
|
Jean Pierre Cimalando
|
824689e38a
|
Fix a misuse of const qualification in AudioSpan
|
2020-09-30 01:41:48 +02:00 |
|
Jean Pierre Cimalando
|
01a26787e3
|
Fix return missing in move operator=
|
2020-09-30 01:41:22 +02:00 |
|
JP Cimalando
|
adebe36e0d
|
Merge pull request #457 from jpcima/cakewalk-alias
Add support of some Cakewalk aliases
|
2020-09-29 11:27:42 +02:00 |
|
Jean Pierre Cimalando
|
d6e8d547e4
|
Fix the case when multiple loops occur in one buffer
|
2020-09-29 03:20:02 +02:00 |
|
Jean Pierre Cimalando
|
4d20f7722a
|
Add math helper: fast fmod
|
2020-09-29 02:40:38 +02:00 |
|
Jean Pierre Cimalando
|
d8eaf4a987
|
Fix pitch_veltrack
|
2020-09-29 01:26:04 +02:00 |
|
Jean Pierre Cimalando
|
9cab74f2c4
|
flexEG: allow release to bypass the pre-sustain stages
It makes the EG equivalent to ARIA in case of early release.
|
2020-09-28 21:56:43 +02:00 |
|
Jean Pierre Cimalando
|
9d0ee6969c
|
flexEG: allow release to bypass the pre-sustain stages
It makes the EG equivalent to ARIA in case of early release.
|
2020-09-28 21:49:27 +02:00 |
|