Commit graph

202 commits

Author SHA1 Message Date
Paul Ferrand
0d0cf64405 Changed the legato logic
The midistate now counts the active notes instead of it
being per-region
2019-12-30 00:10:20 +01:00
Paul Ferrand
2dbc870f9a Added a new method to ranges 2019-12-29 23:09:34 +01:00
Paul Ferrand
146253c3b7 Changed the off-group logic
and some cosmetics
2019-12-29 23:00:45 +01:00
Paul Ferrand
126e4674db One more level of dispatch in the synth
This is in order to be able to trigger note-off regions without killing
all notes of the same group
2019-12-29 23:00:20 +01:00
Paul Ferrand
7aff30f58a If multiple loop regions in the file take the 1st 2019-12-29 22:59:19 +01:00
Paul Ferrand
63cc8ef26e Cosmetics 2019-12-29 21:17:57 +01:00
Paul Ferrand
693a2008a9 Unknown opcodes were truncated by the C wrapper
Thanks @alcomposer for the patch
Fixes #18
2019-12-29 18:11:22 +01:00
Paul Ferrand
2c8a286e37 Clamp the various values for good measure 2019-12-29 18:04:11 +01:00
Paul Ferrand
342f1b13d8 Do not "auto-off" simultaneous events 2019-12-29 17:23:10 +01:00
Paul Ferrand
fb2287b729 Reinstated the volume envelope using the new
multiplicative envelope
2019-12-29 16:40:39 +01:00
Paul Ferrand
1c2d8f4399 Added the volumeCC parsing and proper range 2019-12-29 12:18:39 +01:00
Paul Ferrand
f9763c0058 Proper behavior when sustain = 0 2019-12-29 12:18:00 +01:00
Paul Ferrand
8dc532b58d Enable looping if unset in the region 2019-12-29 10:50:07 +01:00
Paul Ferrand
3aa341e0aa Only update the loop points if set to defaults 2019-12-29 10:38:15 +01:00
Paul Ferrand
88ce956dd3 Clamp the values in range for velocity and
CC switched envelopes
2019-12-28 22:39:20 +01:00
Paul Ferrand
4a25e6a4b8 Added a clearer name for the velocity normalization 2019-12-28 22:31:53 +01:00
Paul Ferrand
f02f96cad5 Moved the file modification checks in the library
This allows to transparently check the included files
2019-12-27 18:41:26 +01:00
Paul Ferrand
33d035804f Add the root file in the included file vector 2019-12-27 18:39:10 +01:00
Paul Ferrand
8872075102 CMake updates to be used as a subdirectory 2019-12-25 22:32:07 +01:00
Paul Ferrand
f7e454dad8 Removed the stupid constexpr 2019-12-23 21:45:17 +01:00
Paul Ferrand
63cdf10a9a Noop 2019-12-23 21:44:59 +01:00
Paul Ferrand
d25d0d5e49 Some more cleanup 2019-12-23 19:26:21 +01:00
Paul Ferrand
a177c5a9c2 Variadic functions in SIMD templates 2019-12-23 19:00:22 +01:00
Paul Ferrand
fa58958dd8 Variadic functions in math helpers 2019-12-23 18:59:33 +01:00
Paul Ferrand
1d73daee68 Redundant inlines 2019-12-23 18:33:22 +01:00
Paul Ferrand
ba4c64adea Readability cleanup 2019-12-23 18:32:42 +01:00
redtide
38b1eaaaa4 Merge branch 'develop' of github.com:sfztools/sfizz into develop 2019-12-23 05:19:55 -08:00
redtide
a3fc603dc7 macOS build support 2019-12-23 05:13:29 -08:00
Paul Ferrand
b69b40734e Plug an lsan leak
Still not sure it's a real leak but let's pay a copy to be certain!
2019-12-23 14:07:19 +01:00
Paul Ferrand
7379ba37c0 The file promise logic actually allocated
Changed to add a pool of "empty" promises, but I
wonder if all of this could be made a bit simpler?
2019-12-23 13:59:43 +01:00
Paul Ferrand
13f9baed33 Added leak detectors on newer objects 2019-12-23 13:58:42 +01:00
Paul Ferrand
68dfadb09e Refactor the filepool a bit 2019-12-23 12:42:33 +01:00
Paul Ferrand
8d3c6d3199 Docs 2019-12-23 12:02:26 +01:00
Paul Ferrand
8e39ffc18e Remove the channels from the inner engine 2019-12-23 01:25:20 +01:00
Paul Ferrand
24f52b255f Properly initialize the atomic guards 2019-12-23 01:15:57 +01:00
Paul Ferrand
0784f8ddcd Corrected bugs in the oversampler 2019-12-23 00:07:10 +01:00
Paul Ferrand
d6136b6bf9 Refactor the filepool loading for streaming 2019-12-22 23:37:57 +01:00
Paul Ferrand
9d53878873 Add a chunkSize config parameter
This is related to file streaming when background loading
2019-12-22 23:37:44 +01:00
Paul Ferrand
68fb7fe0d9 Change the oversampling enum to enum class 2019-12-22 23:37:22 +01:00
Paul Ferrand
9187e0db41 Refactor the oversampling helpers 2019-12-22 23:36:34 +01:00
Paul Ferrand
d813cd8a04 Refactor the Audio buffer and span 2019-12-22 23:35:27 +01:00
Paul Ferrand
528593fa76 Added atomic guards to clear promises
And a specific thread to avoid useless race conditions
2019-12-22 19:12:17 +01:00
Paul Ferrand
d1e031e8e2 Added a method to FilePromise to get a data source 2019-12-22 18:39:05 +01:00
Paul Ferrand
b208d8faca No need for AudioBuffers for intermediate buffers
File reading can use dumb buffers
2019-12-22 11:10:50 +01:00
Paul Ferrand
d6c49ef827 Corrected a bug in the release logic
The correct check was that the remaining delay is strictly more than 0, and added a max for good measure.
2019-12-22 10:45:25 +01:00
Paul Ferrand
ca7c4f2939 Removed seemingly redundant casts 2019-12-22 01:12:49 +01:00
Paul Ferrand
92aaa2a17e Added proper support for off_modes 2019-12-21 21:24:49 +01:00
Paul Ferrand
ed7d5369a7 Added note_offset and octave_offset 2019-12-21 18:57:32 +01:00
Paul Ferrand
8bc0a9c2f5 Clear the default path on a new control header 2019-12-21 18:20:04 +01:00
Paul Ferrand
8d2be44c57 Change default_path to handle partial paths 2019-12-21 17:37:09 +01:00