Paul Fd
6826024ee2
Updating regions through OSC
...
For a limited selection of opcodes, we can allow updates through OSC.
This implements an "opcode buffer" that gets read at the beginning of the render loop in the RT thread.
Any opcode updates must thus be RT-safe, so not all of them should be allowed.
I added a parameter to disable the opcode name cleanup method which does allocate strings potentially.
This means that the opcodes must be "correctly" normalized.
For example, for `lfoN_wave`, we have to pass `lfoN_wave1` in the opcode buffer.
2021-04-01 06:32:42 +02:00
Jean Pierre Cimalando
1052025072
Implement some oncc for EGv2
2021-04-01 02:56:18 +02:00
Jean Pierre Cimalando
ea7bb1cf6c
Implement some oncc for LFOv2
2021-04-01 02:49:01 +02:00
Jean Pierre Cimalando
de7d47a9f1
Handle multiplicative depth modulations
2021-04-01 02:47:40 +02:00
Jean Pierre Cimalando
fb01fa7cfd
Fix the value bounds in ADSR
2021-04-01 01:39:30 +02:00
Jean Pierre Cimalando
f4c7efeef5
Normalize percent values everywhere
2021-04-01 00:29:26 +02:00
Jean Pierre Cimalando
d509842d08
Consistency again
2021-03-31 17:19:30 +02:00
Jean Pierre Cimalando
28f44afb4a
Fix mistake: using incorrect size
2021-03-31 17:12:00 +02:00
Jean Pierre Cimalando
cb9d61757d
Minor change, for consistency only
2021-03-31 17:10:15 +02:00
Jean Pierre Cimalando
0041432d83
Implement a substitute for aligned-new
2021-03-31 16:35:37 +02:00
Paul Fd
b3a73814d5
Support the extended CCs of SFZv2 except poly aftertouch
...
Poly aftertouch can be added in the future in a similar way
2021-03-31 13:55:11 +02:00
JP Cimalando
40d18f0e23
Merge pull request #753 from paulfd/lfo-cc
...
Add lfoN_fade_oncc, lfoN_delay_oncc, lfoN_phase_oncc
2021-03-31 02:11:37 +02:00
Paul Fd
10c5e64ba1
Add CC modifiers to end, loop_start, loop_end
...
The end cc modifiers are computed at voice start like the offset
The loop cc modifiers are updated in each block
2021-03-30 23:04:06 +02:00
Jean Pierre Cimalando
6b9671b729
Declare Resources as struct not class
2021-03-30 22:38:39 +02:00
Jean Pierre Cimalando
2db25f5468
Fix the boolean version of normalizeInput
2021-03-30 22:38:22 +02:00
JP Cimalando
689bb99e40
Merge pull request #750 from jpcima/stateless-region
...
Make the region stateless
2021-03-30 21:53:46 +02:00
Jean Pierre Cimalando
6a6936f205
Avoid a copy
2021-03-30 18:06:51 +02:00
Jean Pierre Cimalando
5777e65578
Remove the indirection
2021-03-30 17:49:17 +02:00
Paul Fd
a4dbf89766
Add lfoN_fade_oncc, lfoN_delay_oncc, lfoN_phase_oncc
...
The phase modifier is actually an "audio rate" modifier with curve, step and smoothcc options.
The v2 spec only had oncc, which would limit it to a set value with the LFO starts, but having it at audio rate makes sense if you want to tweak the phase while the LFO is running.
2021-03-30 10:05:09 +02:00
Jean Pierre Cimalando
9e5d27af3c
Do not allow interpolator coef to be exactly 1.0
2021-03-26 13:46:45 +01:00
Jean Pierre Cimalando
731daf4ab8
Fix to SfzFilter after changing channel count
2021-03-26 13:13:59 +01:00
Jean Pierre Cimalando
da621bf5ec
Move all regional state into Layer
2021-03-26 03:21:20 +01:00
Jean Pierre Cimalando
68062432ed
Move some utility files
2021-03-25 18:35:20 +01:00
Jean Pierre Cimalando
439f696847
Fix a minor warning
2021-03-25 16:43:34 +01:00
JP Cimalando
df5b3a10e4
Merge pull request #739 from paulfd/sostenuto
...
Sostenuto
2021-03-25 16:07:46 +01:00
Jean Pierre Cimalando
014171f815
Fix a parsing error in presence of # sign
2021-03-25 13:50:37 +01:00
Jean Pierre Cimalando
2c0250d620
Compact multi-mode filter with union
2021-03-25 01:02:00 +01:00
Paul Fd
2bbd2011d2
Minor changes
2021-03-24 13:32:38 +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
Paul Fd
df07f3ac82
Read and parse sostenuto-related stuff
2021-03-24 13:32:38 +01:00
Jean Pierre Cimalando
c86e04e63e
Add some const qualifiers
2021-03-24 02:00:33 +01:00
Jean Pierre Cimalando
ca983090cc
Access to key label via OSC
2021-03-24 02:00:16 +01:00
Jean Pierre Cimalando
1ca1e1d443
Fix the Buffer-related issue
2021-03-23 19:14:11 +01:00
Jean Pierre Cimalando
2fb69867c4
Fix Range ADL for some MSVC versions
2021-03-23 17:00:43 +01:00
Jean Pierre Cimalando
844aa1a6c2
Correctly set current value at exit of the release stage
2021-03-23 00:08:10 +01:00
Jean Pierre Cimalando
cf7bbdd565
Fix the sustain loop
2021-03-23 00:04:20 +01:00
Jean Pierre Cimalando
80d350d0c5
Remove ADSR unused variable
2021-03-22 23:56:09 +01:00
Jean Pierre Cimalando
d19c41bd90
Smooth envelope transitions ( fixes #373 )
2021-03-22 22:25:48 +01:00
Jean Pierre Cimalando
8c951d3a7f
Remove unused ADSREnvelope::getNextValue()
2021-03-22 18:48:32 +01:00
Paul Ferrand
77a83561cf
Merge pull request #732 from paulfd/padding-frames
...
If the voice just started, output from the first source sample
2021-03-21 20:08:16 +01:00
Paul Fd
6a765a78c5
If the voice just started, output from the first source sample
2021-03-21 18:20:35 +01:00
Paul Fd
ee9170d1a0
Some leeway in frame counting for the playhead moving
2021-03-21 17:28:32 +01:00
Jean Pierre Cimalando
b865e23578
Implement SFZv1 depthcc modulations for EG and LFO
2021-03-21 16:43:54 +01:00
Jean Pierre Cimalando
ea9b77793d
Initial importer of DecentSampler
2021-03-21 14:01:26 +01:00
Jean Pierre Cimalando
c610b1d62d
Move the value reading helpers out of Opcode
2021-03-21 12:55:35 +01:00
Jean Pierre Cimalando
f17bc1a8bc
Fix incorrect bound enforcement due to truncation
2021-03-21 12:40:37 +01:00
Paul Ferrand
3dfc9c84f3
Merge pull request #710 from paulfd/reset-smoothers
...
Reset the smoothers
2021-03-21 00:51:51 +01:00