Commit graph

1895 commits

Author SHA1 Message Date
Paul Fd
ad9c857513 Fix a fallthrough? 2024-01-27 18:33:18 +01:00
essej
df0806f157 Truncate MIDI values when denormalizing 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
redtide
a927c59821
Revert "Changed GitBuildID.cmake to work as function"
This reverts commit a2f62eab04.
2024-01-07 18:21:43 +01:00
redtide
a2f62eab04
Changed GitBuildID.cmake to work as function 2024-01-04 13:00:26 +01:00
Paul Ferrand
49699de043 Add parsing tests 2024-01-01 12:19:02 +01:00
Paul Ferrand
4b45dcc70c Cleanup region parsing 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
essej
c4224b5792 allow polyaftertouch extended CC (130) to respect note num, especially useful when used as trigger with on_lo/hicc130 opcodes, so that the key range can be used select appropriate regions independently. 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 Ferrand
5a51e0b985 Use the standard opcode value read for hint_ram_based 2023-12-26 16:25:31 +01:00
Paul Ferrand
1c77b96d2f Don't start loading jobs if hint_ram_based is set 2023-12-26 10:23:08 +01:00
KIRA Ryouta
be202a3b8a fix tuning root 2023-12-10 12:02:15 +01:00
Ivan A. Melnikov
c6287a121d synth: Reset the voice before starting it
The voice manager may select a voice that is
currently audible, so its state has to be cleaned
up before starting over.

Fixes: https://github.com/sfztools/sfizz/issues/1180
2023-12-10 11:46:22 +01:00
cvde
9dac3cbd60 Adjusted the gain compensation to not lose gain due to applied pan stages (Issue #1086) 2023-12-10 11:45:52 +01:00
Paul Fd
9b38c0bbc2 Add lotimer/hitimer tests 2023-12-10 10:49:06 +01:00
essej
621b4c2415 Add support for opcodes lotimer/hitimer
While not widely supported or well documented, is very useful especially when
triggering a note with on_locc/on_hicc to prevent a bunch of retriggers.

The region will trigger as long as the elapsed time from the note-on of the most recently triggered region in
the current polyphony group is between lotimer and hitimer amount of seconds. lotimer default 0, hitimer default is
max_float.

Example use: to preventing a region from retriggering too quickly, set lotimer=0.1
2023-12-10 10:49:06 +01: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
Luciano Iam
2e388848d3 Support audio files with .wv extension 2023-05-28 16:05:52 +02:00
essej
ad236085fa copy preloadCallCount in FilePool copy constructors. this was critical to avoid crashing behavior when the SFZ is reloaded. 2023-05-27 16:40:06 -04:00
redtide
0c1ab10f49
CMake: fixed pkgconfig file install from sfizz-ui project 2023-05-23 14:51:02 +02:00
redtide
899e988c8c
CMake: 3.13 as minimum for non Windows platforms, plus minor fixes 2023-05-23 12:27:31 +02:00
redtide
395d4ca185
Moved the Config.h file generation in the appropriated CMake script 2023-05-20 15:36:25 +02:00
redtide
0a8f4e0ebf
Generate src/sfizz/Config.h with CMake
currently only necessary to customize the MIDI_CC_COUNT value.
Removed the previous sfizz_match_definitions.cpp checking file generation.
2023-05-20 14:02:32 +02:00
redtide
6878125b92
CMake definitions and format rearrangement
- Rename some SFIZZ_ prefixed definitions where possible to permit some modules
  to be generic and be reused in other projects, keep project' information
  in the same place and more explicit
- Fixed non-compliant code formatting
2023-05-20 12:37:22 +02:00
redtide
8ff0d56ece
Merge pull request #1163 from mr-c/simde_neither_SSE_nor_NEON
simde__m128_to_simde_float32x4: fix for non-SSE/NEON
2023-05-11 18:11:01 +02:00
Michael R. Crusoe
c6a153eafe
simde__m128_to_simde_float32x4: fix for non-SSE/NEON 2023-05-11 17:52:50 +02:00
redtide
8c48bdbf83
Update cpuid, dr_libs and stb_vorbis libraries
- cpuid 8.0.0
- dr_libs 0.13.8 (4b3d078 2023-03-25)
- stb_vorbis 1.22, removed dedicated repository submodule, replaced with directory
2023-05-11 09:12:23 +02:00
redtide
af7dae9cea
Merge pull request #1161 from mr-c/upgrade_SIMDe_0.7.6
Upgrade bundled SIMDe to 0.7.6
2023-05-08 21:53:10 +02:00
Michael R. Crusoe
1a38dcd00e
convert from simde__m128 to simde_float32x4_t 2023-05-08 20:51:21 +02:00
redtide
857cc2fef3
Move plugins in their own repository 2023-05-08 13:12:50 +02:00
redtide
aea0632dd1 image_controls opcode to add a background image on Controls tab 2023-04-12 16:19:17 +02:00
redtide
4909063462 Update pugixml to v1.13 2023-04-09 14:31:10 +02:00
redtide
e39277f6a5 Tests fix for MSVC build 2023-04-07 21:44:13 +02:00
Paul Ferrand
18d55a0263
Merge pull request #1113 from paulfd/keyswitch-cc-140
Last keyswitches don't change the midi state
2023-01-02 16:08:28 +01:00
Paul Fd
9faef30134 Last keyswitches don't change the midi state 2022-07-30 02:52:07 +02:00
Paul Fd
7b97460564 Fix libsndfile build and add CI 2022-07-30 02:24:32 +02:00
Paul Ferrand
a6686ad6a4 Update pugixml 2022-07-29 02:35:11 +02:00
Paul Ferrand
dd0d3b2327 Fix macos tests and run them in CI 2022-07-25 12:05:01 +02:00
Paul Ferrand
0953936184 Correct some clang warnings 2022-07-25 12:05:01 +02:00
Python Blue
935be2e55a Add LFO frequency as an EG target 2022-07-20 02:24:46 +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 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 Ferrand
71345b4357
Merge pull request #1066 from paulfd/veltrack-cc-ui
Propagate veltracks to the used CCs
2022-01-13 10:51:10 +01:00