Commit graph

106 commits

Author SHA1 Message Date
Paul Fd
aeb17c1fca Parse oscillator=auto and only have implicit wavetables if the file is short AND wavetable tags are in 2021-07-20 12:25:03 +02:00
Paul Fd
262953d52a Tweak the crossfades 2021-05-20 20:18:52 +02:00
Paul Ferrand
7342402431
Merge pull request #855 from paulfd/discrete-cc-gap
Convert discrete CC conditions without gaps
2021-04-27 10:47:27 +02:00
Jean Pierre Cimalando
41ab126549 Remove header dependency Parser from Synth 2021-04-25 05:33:42 +02:00
Jean Pierre Cimalando
8551caebf6 Build time optimization: resources 2021-04-25 04:55:30 +02:00
Paul Fd
32682380c5 Convert discrete CC conditions without gaps
Something like `hicc1=13` is actually translated to float as `13.999999999/127` instead of `13/127`.
2021-04-25 00:32:16 +02:00
Paul Fd
cfb9eae68f Test and API doc update w.r.t. ordering
Updated tests mostly to call on `renderBlock()` before testing things like number of active voices and such, in case we buffer/reorder events in the library later on.
2021-04-05 14:13:34 +02:00
Jean Pierre Cimalando
f4c7efeef5 Normalize percent values everywhere 2021-04-01 00:29:26 +02:00
Paul Fd
10c5e64ba1 Add CC modifiers to end, loop_start, loop_end
The end cc modifiers are computed at voice start like the offset
The loop cc modifiers are updated in each block
2021-03-30 23:04:06 +02:00
Jean Pierre Cimalando
a2cbec8c5e Update tests: increase delays to account ADSR fadeout 2021-03-22 22:25:53 +01:00
Paul Ferrand
2fd8c892cf Last test errors 2021-02-11 06:10:10 +01:00
Paul Fd
e9941b4337 Scope the enums in sfz and remove the prefix 2021-02-11 06:10:10 +01:00
Paul Fd
17594241e7 Read booleans as a template overload 2021-02-11 06:10:10 +01:00
Paul Ferrand
b1f7a4bd66 Change the way the defaults and bounds for the opcodes are handled and read 2021-02-11 06:10:10 +01:00
Paul Ferrand
faadb70b02 Include cleanups 2020-11-01 09:10:53 +01:00
Paul Ferrand
1fcfbdbaf7 move getNumActiveVoices in the voiceList 2020-11-01 08:33:18 +01:00
Paul Ferrand
9c3de9dadd Rename for consistency 2020-10-27 11:19:12 +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
Jean Pierre Cimalando
e6ecbc6fcd Make the Region::sampleId shared_ptr 2020-10-21 01:36:09 +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
bd6a5af035 Update tests for new keycenter behavior 2020-09-22 20:39:17 +02:00
Jean Pierre Cimalando
fdfcee78f6 Make sure the test files are not processed as wavetables 2020-09-22 20:33:57 +02:00
Jean Pierre Cimalando
e310a4efe9 Support overriding with key opcode 2020-09-22 20:30:42 +02:00
Jean Pierre Cimalando
ffb8e2c52a Add tests 2020-09-22 20:30:38 +02:00
Jean Pierre Cimalando
85883481c9 Auto-enable oscillator=on when a wavetable is provided 2020-09-22 16:12:42 +02:00
Jean Pierre Cimalando
3ca11652dc Add tests 2020-09-16 11:37:55 +02:00
Paul Ferrand
c61ab364af
Merge pull request #380 from paulfd/end-disabling-regions
End disabling regions
2020-08-21 00:25:30 +02:00
Paul Ferrand
66bdaafbe7 Only override the loop mode if unset 2020-08-19 12:50:02 +02:00
Paul Ferrand
cef44cbdb6 Disabled regions don't need to take up polyphony
The tests were a bit flaky and the did not seem justified by any behavior in e.g. ARIA
The new tests cover a similar situation which is validated in sforzando
2020-08-19 11:08:18 +02:00
Paul Ferrand
da75095a9b Explicitely signify if a loop if present
Before we tried to "guess", which causes problems if a loop spans the entire file
2020-08-18 23:09:03 +02:00
Paul Ferrand
44dbbcaf54 Updated tests 2020-08-10 17:22:49 +02:00
Jean Pierre Cimalando
82ebb639a7 Remove unused code, update tests 2020-08-09 20:41:44 +02:00
Paul Ferrand
c2716c3bea getNumActiveVoices takes a boolean flag to recompute the number of active voices
All tests updated as this was the previous default behavior.
2020-07-26 14:04:30 +02:00
Paul Ferrand
0ed1f4cbeb Clean up the va OPF and wrap it as a linear smoother
Move modifiers and their helpers in their own files
Add an enum class for modifiers and facilities to iterate over all possible targets
Add smoothers to the voices and preallocate them
Iterate over smoothers and modifiers jointly in the voices for each target
2020-06-20 15:27:12 +02:00
Paul Ferrand
952ce455a6 Reactivated the test 2020-05-30 15:18:09 +02:00
JP Cimalando
9c93120b83
Merge pull request #233 from jpcima/set-hdcc
Support the opcode set_hdccN
2020-05-16 21:01:08 +02:00
Jean Pierre Cimalando
650c6140bd parser: dollar expansions and multiple #define on the same line 2020-05-15 09:39:35 +02:00
Jean Pierre Cimalando
ec7b9bbb1f Add the realcc test 2020-05-15 00:25:37 +02:00
Jean Pierre Cimalando
7773474b18 Support the opcode set_hdccN 2020-05-14 23:54:57 +02:00
Paul Ferrand
6ed597a0bb
Merge pull request #213 from jpcima/cc-processing
Cc processing
2020-05-13 22:22:06 +02:00
Paul Ferrand
68abedae36 Updated tests 2020-05-07 00:49:05 +02:00
Paul Ferrand
ac993741d1 Rename the "canBeStolen" function 2020-05-05 23:45:06 +02:00
Jean Pierre Cimalando
fe6db9ac8d Update tests for verbatim values, and stepcc auto range 2020-05-05 17:20:53 +02:00
Jean Pierre Cimalando
e8562cc003 Prevent FileId allocating memory from Voice init 2020-04-19 02:13:35 +02:00
Paul Ferrand
0bf02ac14f
Merge pull request #174 from paulfd/note-names
Add an opcode for note names, and API bindings for note and cc names
2020-04-18 22:42:35 +02:00
Jean Pierre Cimalando
2de8fe237f Add a test for key switch MIDNAM 2020-04-18 21:35:55 +02:00
Jean Pierre Cimalando
8fcafa7b67 Add some checks to test the midnam file 2020-04-18 21:26:56 +02:00
Jean Pierre Cimalando
ff2b710937 Update tests 2020-04-16 14:17:17 +02:00
Jean Pierre Cimalando
5f94e34230 Rename all: note label -> key label 2020-04-15 18:10:28 +02:00
Paul Fd
5a0aafa793 Parse label_noteNN and add getters for the labels in the internal API 2020-04-15 18:10:25 +02:00