Commit graph

108 commits

Author SHA1 Message Date
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
Paul Fd
5088bed9b0 Formatting step 2020-03-31 10:46:12 +02:00
Paul Ferrand
5ff31ae181 Add some polyphony tests 2020-03-29 12:52:34 +02:00
Paul Fd
4c2e0ab6b9 Refactor the midistate functions 2020-03-28 22:10:18 +01:00
Paul Fd
cc8944e452 Everyone should now use the normalized versions 2020-03-28 22:07:32 +01:00
Paul Fd
7d625bc736 Add a panic button 2020-03-16 09:44:48 +01:00
Paul Fd
532cd88e96 Add some tests on effect gains 2020-03-07 21:27:26 +01:00
Paul Fd
9ce32c636c WIP tests 2020-03-06 11:20:18 +01:00
Paul Fd
dc9acbb3de Corrected tests 2020-03-06 11:20:18 +01:00
Paul Ferrand
e1c6c6c3de Updated the tests with release_key too 2020-02-19 14:04:59 +01:00
Paul Ferrand
f86d93c670 Corrected #63
- The envelope does not sustain if the region has `trigger=release`
- Change the envelope setup to pass the region rather than
individual envelope parameters
2020-02-19 14:04:59 +01:00
Paul Ferrand
3abb63639b Less verbose license text 2020-01-25 13:13:07 +01:00
Paul Ferrand
56be9c8b7c Updated licenses and copyright date 2020-01-25 10:13:33 +01:00
Paul Ferrand
aef8352cfc Added a C++ opaque API for the shared lib 2020-01-23 22:17:06 +01:00
Paul Ferrand
b97a244de1 Tests did not compile 2020-01-19 07:42:52 +01:00
Paul Ferrand
8e39ffc18e Remove the channels from the inner engine 2019-12-23 01:25:20 +01:00