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
Paul Fd
fd8311de7f
Add missing chanaft connections to lfos
2021-04-02 14:01:39 +02:00
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
ed8a321a3c
Update tests without clamped values
2021-04-01 02:01:07 +02:00
Jean Pierre Cimalando
f4c7efeef5
Normalize percent values everywhere
2021-04-01 00:29:26 +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
ff6f7a3251
Add connection test
2021-03-30 23:39:17 +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
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
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
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
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
2fb69867c4
Fix Range ADL for some MSVC versions
2021-03-23 17:00:43 +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
107bfbb255
Add unit tests
2021-03-21 16:59:08 +01:00
Jean Pierre Cimalando
f17bc1a8bc
Fix incorrect bound enforcement due to truncation
2021-03-21 12:40:37 +01:00
Jean Pierre Cimalando
0196fb57ad
Remove opcode limits
2021-03-19 23:59:41 +01:00
Jean Pierre Cimalando
9ebd02bf38
Add UncheckedRange
2021-03-19 21:05:01 +01:00
Jean Pierre Cimalando
4dc429a572
Make the aftertouch opcode normalized
2021-03-19 14:34:32 +01:00
Jean Pierre Cimalando
c70601a714
Update tests
2021-03-19 12:24:22 +01:00
Jean Pierre Cimalando
e77a227cbf
Connect unit tests with CTest
2021-03-18 00:42:04 +01:00
Jean Pierre Cimalando
fe2fc45014
Update catch2
2021-03-18 00:41:37 +01:00
Jean Pierre Cimalando
de7c125c54
Add connections unit test
2021-03-11 08:11:07 +01:00
Jean Pierre Cimalando
dfd777fd3e
Move LFO modulation keys into the description
2021-03-10 16:48:25 +01:00
Paul Fd
5d8eda7428
Better messaging
2021-03-05 13:06:07 +01:00
Paul Fd
f2a79723a7
Add support for count
2021-03-04 16:11:34 +01:00
Jean Pierre Cimalando
1818f2e927
Add methods to get oversampler factor given in/out rates
2021-02-24 07:39:35 +01:00
Jean Pierre Cimalando
a0d8b23bff
Fix warning in tests
2021-02-24 02:28:25 +01:00
Paul Ferrand
a4d52e6faf
Merge pull request #653 from paulfd/delay-oncc
...
Add delay_cc and delay_oncc
2021-02-23 18:37:21 +01:00
Paul Ferrand
7782ded3e5
Merge pull request #650 from paulfd/sw-vel
...
Add sw_vel
2021-02-23 18:37:12 +01:00
Paul Fd
669f7ff79e
Consider the previous velocity for triggers
2021-02-23 13:45:29 +01:00
Paul Fd
d112cfaf2d
Add delay_cc and delay_oncc
2021-02-23 12:02:02 +01:00
Jean Pierre Cimalando
e45dfbc50b
Have bit_array as a distinct library
2021-02-23 02:57:28 +01:00
Paul Fd
d95c70aa68
Add a test for the midistate last velocity
2021-02-23 01:42:34 +01:00
Paul Fd
c118ad6cbe
Add sw_vel
...
Also add some introspection for voices using OSC and tests
2021-02-23 01:39:25 +01:00
Jean Pierre Cimalando
10ffad5d4b
Rename Opcode member "opcode" to "name"
2021-02-22 19:16:27 +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
b782b3bc16
Merge pull request #634 from paulfd/note-polyphony-1
...
Note polyphony tweaks
2021-02-12 10:03:51 +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 Ferrand
acb860e984
Cleanups
2021-02-11 06:10:10 +01:00
Paul Ferrand
dc68054981
Cleanups
2021-02-11 06:10:10 +01:00
Paul Ferrand
2fd8c892cf
Last test errors
2021-02-11 06:10:10 +01:00