Commit graph

96 commits

Author SHA1 Message Date
Paul Ferrand
3d6987d47c
Merge pull request #917 from praashie/develop
Fix group cutting behavior with CC triggered samples (such as sustain pedals)
2021-06-23 08:17:20 +02:00
Paul Fd
e4b4dcd655 Add a test case 2021-06-23 00:17:02 +02:00
Paul Ferrand
0c8beed6ca
Merge branch 'develop' into release-sustain 2021-06-23 00:08:15 +02:00
Paul Fd
4defdce04a Reset to default CC values 2021-05-23 17:31:48 +02:00
Paul Fd
8e13b232a3 Add tests 2021-05-23 15:31:59 +02:00
Jean Pierre Cimalando
8551caebf6 Build time optimization: resources 2021-04-25 04:55:30 +02:00
Paul Fd
93f907f0ca Update channel aftertouch API
and version numbers in new APIs
2021-04-15 23:17:46 +02:00
Paul Fd
16a790a33d Small, all zero files are replaced by *silence 2021-04-15 11:02:04 +02:00
Paul Fd
2d6b99e1ab Deprecate the internal oversampling factor
- Removed it completely from the library
- Kept the API for future work
2021-04-14 08:21:12 +02:00
Jean Pierre Cimalando
94be9902c1 Sample quality controls in UI 2021-04-10 20:52: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
Paul Fd
0c1687b5fa Voices can also be offed by note-off events
Also add a check to see if a voice is already released in checkOffGroup,
preventing and endless recursion
2021-04-04 22:24:43 +02:00
Paul Fd
f189292a60 CC events can also off notes
Same as note-on events
2021-04-04 21:54:19 +02:00
Paul Fd
7f02c413c1 Correct the sostenuto/sustain logic
Only release if the received CC is one of the above AND if the region is not a one-shot
2021-04-04 21:23:05 +02:00
Jean Pierre Cimalando
da621bf5ec Move all regional state into Layer 2021-03-26 03:21:20 +01:00
Paul Fd
65ea4a27bf Working state 2021-03-24 13:32:38 +01:00
Paul Fd
8539508e0a WIP on the region state 2021-03-24 13:32:38 +01:00
Paul Fd
ed09e30fcf Missing the delayed release logic for sostenuto 2021-03-24 13:32:38 +01:00
Paul Fd
0a065a392c WIP 2021-03-24 13:32:38 +01:00
Jean Pierre Cimalando
a2cbec8c5e Update tests: increase delays to account ADSR fadeout 2021-03-22 22:25:53 +01:00
Jean Pierre Cimalando
e45dfbc50b Have bit_array as a distinct library 2021-02-23 02:57:28 +01:00
Paul Ferrand
ce1dda54e6
Merge pull request #630 from paulfd/aftertouch
Preliminary work for aftertouch handling
2021-02-12 10:04:07 +01:00
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
6b4f535d9c Add tests for extended cc triggers on aftertouch 2021-02-11 06:08:36 +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