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
Paul Ferrand
2e0278c7cf
Passing off_time automatically sets the off_mode to time
2020-08-10 17:33:21 +02:00
Paul Ferrand
44dbbcaf54
Updated tests
2020-08-10 17:22:49 +02:00
Paul Ferrand
d3cc4281d9
Parse off time
2020-08-10 16:14:03 +02:00
Paul Ferrand
7a1a2c9381
Finer tests and behavior for note_polyphony- note_polyphony is shared amoung polyphony groups- Lower velocity samples do not mute higher velocity samples, but they still play!
2020-08-10 15:23:02 +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