Commit graph

435 commits

Author SHA1 Message Date
Jean Pierre Cimalando
3cf7536c57 Store the initial values of controllers 2020-09-16 14:45:32 +02:00
JP Cimalando
f0dd146361
Merge pull request #388 from jpcima/flex-eg
Add the Flex EG
2020-09-16 12:02:42 +02:00
Jean Pierre Cimalando
169ba940c9 Print the modulation key more compactly 2020-09-16 11:55:25 +02:00
Jean Pierre Cimalando
3ca11652dc Add tests 2020-09-16 11:37:55 +02:00
Paul Ferrand
f317e2f6b9 Add flex eg tests, move test helpers around, and add a more verbose mod matrix graph output 2020-09-16 09:03:39 +02:00
Paul Ferrand
19540e821a Add a circular test case for the curve 2020-09-15 22:23:42 +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
afadb171a4
Merge pull request #393 from paulfd/polyphony-cleanups
Polyphony cleanups
2020-09-09 10:29:09 +02:00
Paul Ferrand
48b8011354 Add SIMD helpers targeted for the mod matrix and plug them in
On my machine now the previous code path was probably vectorized
but this way we have the structure to handle platforms where it's not
2020-09-08 23:00:19 +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
bb621282c9 Note polyphony tests and bugs 2020-09-07 22:25:29 +02:00
Paul Ferrand
fa37669e08 Add checks for release voices and note_polyphony 2020-09-07 22:25:29 +02:00
Paul Ferrand
dda10e8530 Use a trigger event type instead of passing 3 parameters 2020-09-07 22:25:29 +02:00
Jean Pierre Cimalando
0c8a57e843 Enable fast-math only on sfizz DSP targets 2020-09-02 00:36:49 +02:00
Paul Ferrand
81169b8209
Merge pull request #384 from paulfd/simpler-envelope-follower
Simpler power/envelope follower
2020-08-27 17:03:18 +02:00
Jean Pierre Cimalando
a5c72375a9 Move the div operation out of the SIMD helper 2020-08-27 08:46:12 +02:00
Jean Pierre Cimalando
a71c1eb0f3 Allow modulations to trigger at a frame-accurate instant (LFO) 2020-08-21 14:39:55 +02:00
JP Cimalando
68712140d6
Merge pull request #385 from paulfd/offset-ccs
offset_cc were not taken into account
2020-08-21 00:54:03 +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
d649cec10b offset_cc were not taken into account 2020-08-21 00:24:22 +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
66bdaafbe7 Only override the loop mode if unset 2020-08-19 12:50:02 +02:00
Paul Ferrand
1cf5e8d571 Set loop_mode to one_shot for release regions 2020-08-19 12:36:07 +02:00
Paul Ferrand
fae0cda971 Correct a compilation woe 2020-08-19 12:12:48 +02:00
Paul Ferrand
17568510ac Disable with sampleEnd == 0 2020-08-19 12:12:48 +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
5c61298f08 A region is disabled by end=-1 2020-08-19 11:07:12 +02:00
Paul Ferrand
80aee5a9cd Add a helper for playing voices 2020-08-19 11:07:12 +02:00
Jean Pierre Cimalando
f217c90619 Update tests 2020-08-19 07:18:36 +02:00
JP Cimalando
cc40e7ad3d
Merge pull request #377 from paulfd/sustaincc-fixes
The sustain cc is still a CC and has to be registered in the regions
2020-08-19 03:57:58 +02:00
JP Cimalando
d442812604
Merge pull request #378 from paulfd/loop-start-0
Explicitely signify if a loop if present
2020-08-19 03:44:23 +02:00
Paul Ferrand
42da5ff810
Merge pull request #358 from paulfd/simd-clamp-and-within
Additional SIMD helpers
2020-08-19 01:02:04 +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
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
09341723c3
Merge pull request #338 from jpcima/mm+lfo
LFO
2020-08-13 13:40:07 +02:00
Paul Ferrand
73b1ed961d Add LFO regression tests
The reference files have been visually validated

Tweaks for the LFO regression test
2020-08-13 06:49:38 +02:00
Jean Pierre Cimalando
d47bca6f4e Allow the LFO tool to set options and output FLAC 2020-08-13 04:10:22 +02:00
Jean Pierre Cimalando
b46076ba3b Command-line arguments for sfizz_plot_lfo 2020-08-13 03:34:03 +02:00
Paul Ferrand
c629f6803b Some more tests 2020-08-12 19:40:33 +02:00
Paul Ferrand
c034fd3e30 Add an allWithin SIMD helper 2020-08-12 17:05:08 +02:00
Paul Ferrand
ff8ac64d61 Add clamping SIMD helper 2020-08-12 17:05:08 +02:00
JP Cimalando
b914e19491
Merge pull request #347 from jpcima/hq-wavetables
Higher quality wavetable mipmaps
2020-08-12 01:16:05 +02:00
Paul Ferrand
88ea89c5fb Initialize the LFOs in sfizz_plot_lfo 2020-08-11 23:46:08 +02:00
Jean Pierre Cimalando
bf8b3fd111 Support multi-level volumes 2020-08-11 17:16:57 +02:00
JP Cimalando
95bf4fc480
Merge pull request #333 from jpcima/file-metadata
File metadata
2020-08-10 19:02:10 +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