Commit graph

677 commits

Author SHA1 Message Date
KIRA Ryouta
4055582671 Fixes an issue that caused stuck notes.
Fixes an issue that caused a crash when using a loop.
2024-03-20 08:59:08 +01:00
Paul Fd
3d7bcb4968 Add setters 2024-01-27 18:33:18 +01:00
Paul Ferrand
bb50adc882 Refactor the messaging system
Trading off complexity when parsing/replying to the messages for complexity
in some templated and overloaded code blocks.
2024-01-27 18:33:18 +01:00
Paul Ferrand
49699de043 Add parsing tests 2024-01-01 12:19:02 +01:00
Python Blue
adefb7d60e Add support for curvecc opcodes on v1 EGs 2024-01-01 12:19:02 +01:00
Paul Ferrand
000b263344 Don't send note offs when CCs are choking 2023-12-27 10:41:04 +01:00
Paul Ferrand
689200f810 Add tests for note-aware polyaft
- Test triggering with note information
- Test choking
- Fix logic: don't check that the new CC value changed on polyaftertouch
    cc130 messages (hopefully e-drums don't send multiple polyafts for
    the same note like some controllers do for the pedals...)
2023-12-27 10:41:04 +01:00
Paul Ferrand
85832f2baf Allow simultaneous notes to choke properly 2023-12-26 20:48:34 +01:00
Paul Fd
9b38c0bbc2 Add lotimer/hitimer tests 2023-12-10 10:49:06 +01:00
Paul Fd
c25f9546b0 Add a test for #1077 2023-08-08 10:32:48 +02:00
Paul Fd
0dc79ff100 Disable the audiofiles checks
Still failing sometimes
2023-08-07 23:12:43 +02:00
Paul Fd
09c9256b92 Enable the <sample> test 2023-08-07 22:48:42 +02:00
Paul Fd
1e771a45e7 Reenable and fix tests
- Add ASAN workflows
- Remove flag messages from configure; these are misleading as they exclude `COMPILE_OPTIONS`
- Fix non-working tests
- Fix WavPack file loading on Windows
- Fix ASAN traps in LoFi code due to a SIMD `loadu` call in HIIR resamplers
- Add tests for st_audiofile
-
2023-08-07 22:48:42 +02:00
Python Blue
507c61d458 Fix modulation matrix when CC modulations are per voice 2023-08-07 22:03:11 +02:00
Paul Ferrand
4d8c780df8 Fix FlexEGs shape 2023-08-03 13:26:06 +02:00
Paul Ferrand
2248de3868
Merge pull request #1100 from paulfd/cutoff-cc
Unclamp the cutoff and add OSC queries for the cutoff modifiers
2023-06-07 08:58:16 +02:00
Paul Ferrand
121d795559 Cover flac since we're at it 2023-05-29 14:02:16 +02:00
Paul Ferrand
8e4e6460d8 Add a test 2023-05-28 16:37:23 +02:00
redtide
54b6791b9d
CI update
- Make bash|pwsh default shells and github.workspace as default working-directory
- Use ubuntu 22.04 for the Linux build to use abseil package when not building releases
- CTest working in the major OS builds
2023-05-22 17:28:52 +02:00
redtide
4c819222a0 More optional system preinstalled dependencies
Catch2, ghc-filesystem, lv2 headers and VST3SDK sources preinstalled system packages can be used,
optionally and where available, to build sfizz via CMake options:

SFIZZ_USE_SYSTEM_CATCH
SFIZZ_USE_SYSTEM_GHC_FS
SFIZZ_USE_SYSTEM_LV2
SFIZZ_USE_SYSTEM_VST3SDK
2023-03-29 09:13:25 +02:00
Paul Ferrand
b7d50e46a6 Update Catch2 2022-07-29 02:35:11 +02:00
Paul Ferrand
1859e66ea1 Move from LFS... 2022-07-27 11:01:07 +02:00
Paul Ferrand
ed3c05b4d6 tests/TestFiles/36-CajonCenter-1.wav,tests/TestFiles/36-CajonCenter-2.wav,tests/TestFiles/36-CajonCenter-3.wav,tests/TestFiles/36-CajonCenter-4.wav,tests/TestFiles/36-CajonCenter-5.wav,tests/TestFiles/closedhat.wav,tests/TestFiles/dummy16.wav,tests/TestFiles/dummy1.wav,tests/TestFiles/dummy2.wav,tests/TestFiles/kick.wav,tests/TestFiles/looped_flute.wav,tests/TestFiles/mono_sample.wav,tests/TestFiles/ramp_wave.wav,tests/TestFiles/root_key_38.wav,tests/TestFiles/root_key_62.wav,tests/TestFiles/short_non_wavetable.wav,tests/TestFiles/silence.wav,tests/TestFiles/snare.wav,tests/TestFiles/stereo_sample.wav,tests/TestFiles/wavetable_with_loop_at_endings.wav,benchmarks/sample.wav,benchmarks/sample.flac: convert to Git LFS 2022-07-24 00:25:45 +02:00
Python Blue
0bf1dbae21 Unclamp the cutoff and add OSC queries for the cutoff modifiers 2022-07-14 11:46:15 +02:00
Paul Fd
897ddc1a8f Correct a bug with dynamic updates on offed EGs
When offing a voice, the release time is cut to a minimum. Dynamic
updates would reset this to the original value. The commit adds a way to
disable dynamic EG updates and does so when offing the voice.
The engine will also steal the oldest offed voice as a last resort to
hopefully sound the newly played note every time.
2022-05-15 14:13:43 +02:00
Paul Fd
92434b8bb2 Correct test disabling 2022-01-17 12:35:43 +01:00
Paul Fd
a661569244 Fully disable the embedded sample test 2022-01-17 12:28:50 +01:00
Paul Ferrand
0461f6e5e2
Merge pull request #1064 from paulfd/version-1.2.0
Version bump to 1.2.0
2022-01-15 23:21:51 +01:00
Paul Fd
45827a1446 Ignore embedded test on windows 2022-01-15 21:53:39 +01:00
Paul Ferrand
a3cfbd4d23
Merge pull request #1068 from paulfd/32bit-embedded-test-fail
Changed test format to see the error
2022-01-12 16:58:35 +01:00
Paul Fd
a0546b7e0f Changed test format to see the error 2022-01-12 15:47:57 +01:00
Paul Fd
ff0257dc07 Add loprog/hiprob in the API and engine 2021-12-30 20:23:47 +01:00
Paul Fd
a0b2542ea9 Change a test 2021-12-19 23:21:04 +01:00
Paul Fd
4358131a72 Use brf_2p for 1p and disable the all-pass 1 pole filter
Can't really make it stable, I'll try to swap a delay-less version later on
2021-12-15 01:09:09 +01:00
Paul Fd
803052b552 Parse <sample> with base64 data
Also added the necessary plumbing to load from RAM
It's missing AIFF since the API is file-based for now.
2021-11-24 12:04:41 +01:00
Paul Fd
6f052b2389 sw_last is affected by octave/note offsets 2021-11-20 22:34:44 +01:00
Paul Ferrand
a276c7ea9f
Merge pull request #1037 from paulfd/flex-eg-clamp
Clamp flex EG levels
2021-11-20 21:59:55 +01:00
Paul Fd
6f203d0384 Clamp flex EG levels
Sforzando seems to do so too
2021-11-20 21:07:44 +01:00
Paul Fd
987afabecb Read exponents in floats 2021-11-20 19:21:55 +01:00
Paul Fd
7ae0b4b043 Choke notes when the layer is disabled, even if the group and note are the same 2021-11-13 14:14:29 +01:00
Paul Fd
b35f0307e1 Negative lokey values don't disable the region 2021-11-10 10:41:19 +01:00
Paul Ferrand
d31d127ab9
Merge branch 'develop' into keydelta 2021-11-09 22:18:35 +01:00
Paul Ferrand
b1d7d6b039
Merge branch 'develop' into remember-midistate 2021-11-09 22:16:25 +01:00
Paul Fd
aef980c94d Handle extended CCs 140 and 141 (keydelta) 2021-11-09 22:14:00 +01:00
Paul Fd
bdc9522662 Add multiple output capabilities to the library and plugins
Add a fast path to effect busses

Get the number of outputs in the Synth

Duplicate effect buses and process outputs separately

Update the API wrappers to handle multichannel processing

Accomodate multiple outputs in the VST plugin

Publish a 8 stereo version of the LV2 plugin

Publish a 8 stereo version of the VST3 plugin

WIP

Remove the duplication of effects

Cleanups

Debugs

Tweaks

Windows free error

Port numbers change between plugin versions

Fix warning

Proper meter backgrounds
2021-11-09 19:40:06 +01:00
Paul Ferrand
4d80c7bcf9 Differentiate between loading and reloading 2021-11-09 15:00:15 +01:00
Paul Fd
cba1f8a86a Don't dispatch off notes when offing a CC-trig'd voice
Check behavior
2021-10-20 17:13:38 +02:00
Paul Fd
6310aa1abc Honor lorand/hirand in CC triggered regions 2021-10-20 16:28:06 +02:00
Paul Fd
cd6bba5378 Reset note and octave offset when resetting the synth 2021-10-14 23:48:23 +02:00
JP Cimalando
51dd3898ae
Merge pull request #990 from jpcima/macos
Set the macOS compability back to 10.9
2021-09-23 00:18:52 +02:00