Commit graph

73 commits

Author SHA1 Message Date
Paul Ferrand
da41ed5076
Merge pull request #632 from paulfd/noexcept-compile-error
Corrected a compile error on gcc 9.3
2021-02-12 10:03:37 +01:00
Paul Fd
293e7a935f WIP 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
a7cfb8429c Fixups for MOD 2021-02-08 12:02:26 +01:00
Jean Pierre Cimalando
751e4f96bb Add the reception of CC messages for editor 2021-02-02 20:13:15 +01:00
Jean Pierre Cimalando
aa29e1a411 Add test 2020-11-12 08:17:19 +01:00
Paul Ferrand
1fcfbdbaf7 move getNumActiveVoices in the voiceList 2020-11-01 08:33:18 +01:00
Paul Ferrand
f21864cdc7 Reinsert default hdcc 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
e6ecbc6fcd Make the Region::sampleId shared_ptr 2020-10-21 01:36:09 +02:00
Paul Ferrand
51459c8f2d Updated/added tests 2020-09-23 13:34:01 +02:00
Jean Pierre Cimalando
3cf7536c57 Store the initial values of controllers 2020-09-16 14:45:32 +02:00
Paul Ferrand
f9cf9b35e6 Move NumericId into utility 2020-09-11 17:04:13 +02:00
JP Cimalando
ed6c9557f7
Merge pull request #413 from paulfd/choking-across-cc-switches
Regions on the same note but with different groups do get muted
2020-09-10 08:06:25 +02:00
Paul Ferrand
1fcd3077ae Correct the condition for the envelope to free-run 2020-09-09 15:23:15 +02:00
Paul Ferrand
d2e8c0548f Regions on the same note but with different groups do get muted
This happens e.g. with keyswitches. This behavior is slightly different from Cakewalk's apparently.
2020-09-09 13:06:24 +02:00
Paul Ferrand
863a08c421 Use Cakewalk/RGC behavior for self-choking notes
Basically if group=off_by, a note will not choke other voices with the same note number
2020-09-07 23:18:02 +02:00
Paul Ferrand
dda10e8530 Use a trigger event type instead of passing 3 parameters 2020-09-07 22:25:29 +02:00
Paul Ferrand
f6f1e68f18 Sustain tweaks:
- Separate the sustain value from the sustain threshold after which the envelope goes from decay to sustain
- If the sustain value is set to 0, the envelope is freerunning
2020-08-19 19:13:50 +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
05de17e32e The sustain cc is still a CC and has to be registered in the regions 2020-08-18 22:36:00 +02:00
Jean Pierre Cimalando
be252361b6 Update existing tests and add new ones 2020-08-17 16:31:57 +02:00
JP Cimalando
5bbc0cbeb8
Merge pull request #351 from jpcima/anonymous-ccs-mm
Anonymous CCs with modulation matrix
2020-08-10 18:53:59 +02:00
Paul Ferrand
44dbbcaf54 Updated tests 2020-08-10 17:22:49 +02:00
Paul Ferrand
e660b80042 Check all used CCs and output them in the MIDNAM file if they have no name 2020-08-10 02:13:59 +02:00
Jean Pierre Cimalando
e08314f2c8 Fix pathnames such that tests can run from the project root 2020-08-10 00:57:27 +02:00
Paul Ferrand
1b5a841d97 Handle default switch at all levels 2020-08-09 22:57:28 +02:00
Paul Ferrand
bbf22b058e Small test cleanups 2020-08-09 16:02:14 +02:00
Paul Ferrand
a3943abf79 Added tests 2020-08-09 11:05:58 +02:00
Paul Ferrand
f631f7031d Update the tests 2020-08-08 23:54:10 +02:00
Paul Ferrand
6086284efe If the region spans multiple keys they can all fire on pedal up 2020-08-08 23:54:10 +02:00
Jean Pierre Cimalando
ab6086b6c5 Rebase on develop and fix sustain tests 2020-07-26 14:08:10 +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
2d7e81edef Support for sustain_lo 2020-07-19 23:09:36 +02:00
Paul Ferrand
6d56aaaa6c Correctly dispatch the CC to the region if it's a sustain
...with some tests
2020-07-01 16:21:30 +02:00
JP Cimalando
4764a5e79a
Merge pull request #273 from paulfd/synth-tests
Move the "synth" tests mostly to inline files
2020-06-20 00:08:14 +02:00
Jean Pierre Cimalando
e587fbbe70 Keep the file name for string SFZ tests 2020-06-20 00:05:57 +02:00
Paul Ferrand
62d7a0977d
Merge pull request #272 from paulfd/sister-voices
Sister voices
2020-06-15 00:58:51 +02:00
Paul Ferrand
9d27c5aca7 The synth now resets the voicesThe voice does not reset itself anymore, but rather enters a zombie state.This intermediate state will be used by the synth to update the polyphony counters if needed. 2020-06-14 20:29:52 +02:00
Paul Ferrand
96fd3d9c67 Move the "synth" tests mostly to inline files
Easier to read
2020-06-14 17:55:38 +02:00
Paul Ferrand
f4660b1a02 Add voices to a ring upon startup, and remove them when resetting the voice 2020-06-14 17:33:04 +02:00
Jean Pierre Cimalando
b144ec0cb8 Add sample quality tests 2020-06-14 13:08:53 +02:00
Jean Pierre Cimalando
0bbb1e930f Add test 2020-06-12 00:56:27 +02:00
Paul Ferrand
5e74f910c6 Correct a bug with sfz v1 velcurve
The velcurve logic now uses the same as sfz v2 curves
2020-05-29 23:30:53 +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
Paul Fd
0fd1c235de Added a basic curve test 2020-04-14 18:00:59 +02:00
Paul Fd
13edb6dfba Change the midiState observer to a resource observer for tests 2020-04-14 18:00:59 +02:00
Paul Fd
c2360bad45 Feed master opcodes to the handleGroupOpcodes 2020-04-07 16:24:38 +02:00
Paul Fd
5a10af74ed Set the envelope free-running also when loopmode=one_shot 2020-04-01 10:03:15 +02:00