Commit graph

1521 commits

Author SHA1 Message Date
Paul Ferrand
faadb70b02 Include cleanups 2020-11-01 09:10:53 +01:00
Paul Ferrand
cfae639d5f Final cleanups 2020-11-01 08:33:18 +01:00
Paul Ferrand
81a4ed22eb Final refactor into VoiceManager
Cleanups..
2020-11-01 08:33:18 +01:00
Paul Ferrand
1b87fa3764 Move even more stuff in the voiceList_ 2020-11-01 08:33:18 +01:00
Paul Ferrand
4aeb12446e move findFreeVoice to the voiceList 2020-11-01 08:33:18 +01:00
Paul Ferrand
1fcfbdbaf7 move getNumActiveVoices in the voiceList 2020-11-01 08:33:18 +01:00
Paul Ferrand
ed151880d9 Move the polyphony logic in the voice list and refactor 2020-11-01 08:33:18 +01:00
Paul Ferrand
0f7fadc7a9 Cave in for clang-tidy 2020-11-01 08:33:18 +01:00
Paul Ferrand
13ff2350d3 Move the playing attack voice method in the voiceList 2020-11-01 08:33:18 +01:00
Paul Ferrand
887f475317 Cosmetics 2020-11-01 08:33:18 +01:00
Paul Ferrand
f21864cdc7 Reinsert default hdcc 2020-11-01 08:33:18 +01:00
Paul Ferrand
77e3562f2b Mark moves noexcept and remove the assert 2020-11-01 08:33:18 +01:00
Paul Ferrand
3214211a06 Refactor of Synth and Voice into a pimpl pattern 2020-11-01 08:33:18 +01:00
Jean Pierre Cimalando
7bde1e32ec Process WAV chunk padding correctly 2020-11-01 04:34:09 +01:00
Jean Pierre Cimalando
0825f034c2 Support the AIFF instrument 2020-10-31 15:32:58 +01:00
JP Cimalando
401e0a4e21
Merge pull request #482 from jpcima/st-audiofile
Audio file reader without sndfile
2020-10-28 17:08:00 +01:00
Jean Pierre Cimalando
d5aad58366 Eliminate the strict requirement of libsndfile 2020-10-28 16:34:52 +01:00
Paul Ferrand
8dd169c9d2 Handle sw_default in <region> 2020-10-28 16:12:42 +01:00
Paul Ferrand
a654458c55
Merge pull request #528 from paulfd/free-running-flex-ampeg
Let the flex eg free-run when set as the ampeg
2020-10-28 10:38:24 +01:00
Paul Ferrand
84019a00e4 Let the flex eg free-run when set as the ampeg 2020-10-28 09:17:10 +01:00
Paul Ferrand
74a676b493 sw_default with sw_lolast and sw_hilast 2020-10-27 15:11:51 +01:00
Paul Ferrand
5ea4b876df Add sw_lolast/sw_hilast 2020-10-27 14:50:31 +01:00
Paul Ferrand
9c3de9dadd Rename for consistency 2020-10-27 11:19:12 +01:00
Paul Ferrand
6bfc9074d7 Move the keyswitch logic in the synth rather than the regions 2020-10-27 11:04:25 +01:00
Paul Ferrand
c27cb69a83 Build a set of "effective" keyswitches anduse it instead of sw_lokey/sw_hikey 2020-10-27 10:00:24 +01:00
JP Cimalando
6a66d2256f
Merge pull request #509 from jpcima/auto-pointers
Add * on auto pointers everywhere
2020-10-23 23:30:15 +02:00
Paul Ferrand
354b68fc9f Remove the callback mutex for the clear method
Take it globally in the loading functions
2020-10-23 23:07:05 +02:00
Jean Pierre Cimalando
969bae15e1 Remove the assertion on a valid code path of the FilePool 2020-10-23 20:40:33 +02:00
Paul Ferrand
1d2c3a4244 Upon clearing the file pool, clear the last used files and garbage queue
I also added an early exit with an assertion to catch unintended behavior
2020-10-23 14:47:10 +02:00
Paul Ferrand
a372d40c48 Use a single mutex for both the garbage and last used file data structures
They're more or less jointly updated anyway by the garbage collection thread
2020-10-23 14:46:18 +02:00
Paul Ferrand
49b66c2ba9 Clear the loading queues before changing the file 2020-10-23 14:44:20 +02:00
Jean Pierre Cimalando
10565e99be Make it a tiny bit more efficient 2020-10-21 04:00:52 +02:00
Jean Pierre Cimalando
0e24daf26d Auto-cleaning file pool 2020-10-21 01:51:38 +02:00
Jean Pierre Cimalando
e6ecbc6fcd Make the Region::sampleId shared_ptr 2020-10-21 01:36:09 +02:00
Jean Pierre Cimalando
1c0d597d01 Rewrite by making the hashByte function separate 2020-10-21 00:14:52 +02:00
Jean Pierre Cimalando
16f34da8bc Fix an implementation error of FNV-1a 2020-10-20 23:24:34 +02:00
Jean Pierre Cimalando
3df9c3692f Add * on auto pointers everywhere 2020-10-20 21:59:57 +02:00
Jean Pierre Cimalando
6b2ec66ffa Ref-count the global thread pool 2020-10-19 16:57:45 +02:00
Jean Pierre Cimalando
fcfcd5b8cc Protect the access of thread flags under semaphore 2020-10-18 23:41:00 +02:00
Jean Pierre Cimalando
04fabd46d0 Clean up some white space [ci skip] 2020-10-18 23:14:12 +02:00
Jean Pierre Cimalando
bbd2ddd3c5 Fix broken loop ranges
This fixes a regression introduced in commit 2fc6aab:
only the loop information from the audio file would be considered,
and never the one from the opcodes `loop_begin` and `loop_start`.
2020-10-18 19:05:57 +02:00
Jean Pierre Cimalando
a0e893964f Update since to reflect upcoming the stable version 2020-10-15 21:50:58 +02:00
Jean Pierre Cimalando
80f0f4d90a Fix a build error using older sndfile 2020-10-15 19:53:10 +02:00
Paul Ferrand
078fcf5118
Merge pull request #500 from paulfd/loading-mutex
Add a mutex on the loading jobs to protect them in the case of freewheeling
2020-10-15 18:44:24 +02:00
Paul Ferrand
bd4057e927 Use the future helper 2020-10-15 16:51:25 +01:00
Paul Ferrand
f4b6323050 Use std::mutex 2020-10-15 16:44:08 +01:00
Paul Ferrand
67af16f0e2
Move the lock guard 2020-10-15 15:58:08 +02:00
JP Cimalando
5d2225f4fa
Merge pull request #499 from jpcima/phase-normalized
Make all phase opcodes normalized
2020-10-15 15:42:32 +02:00
Paul Ferrand
a5647ab339 Add a mutex on the loading jobs to protect them in the case of freewheeling 2020-10-15 14:30:15 +01:00
Jean Pierre Cimalando
e258ad254f Make all phase opcodes normalized 2020-10-15 13:14:17 +02:00