Commit graph

1913 commits

Author SHA1 Message Date
KIRA Ryouta
342cd99dd9 Fix to pass a Polyphony test. 2024-03-20 08:59:08 +01:00
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
redtide
4b5d45f867 Dependencies update: cpuid 9, cxxopts 3.2.1 and pugixml 1.14 2024-03-20 08:57:59 +01:00
KIRA Ryouta
28e5130f44 Improved process for maxOffset in FilePool::setPreloadSize() 2024-03-20 08:51:23 +01:00
KIRA Ryouta
3205fb4807 Fixed a error in garbage collection 2024-03-20 08:51:23 +01:00
KIRA Ryouta
b6ba834669 Improved check in garbage collection 2024-03-20 08:51:23 +01:00
KIRA Ryouta
ffaed1581a Improved check for garbage collection 2024-03-20 08:51:23 +01:00
KIRA Ryouta
c566631379 FullyLoaded status becomes independent. Added GarbageCollecting status. 2024-03-20 08:51:23 +01:00
KIRA Ryouta
f8f13f464c Fixed status check order in garbage collection process 2024-03-20 08:51:23 +01:00
KIRA Ryouta
3164a6c502 Improved status check in garbage collection process 2024-03-20 08:51:23 +01:00
KIRA Ryouta
4e570dd9ff Improved setting FilData::Status 2024-03-20 08:51:23 +01:00
KIRA Ryouta
40e726c12a Added FileData::Status::FullLoaded 2024-03-20 08:51:23 +01:00
KIRA Ryouta
698e27f6a0 C++20 Support 2024-02-15 12:18:39 -08:00
KIRA Ryouta
cc33ed160f Fixed a bug that causes invalid effect output 2024-02-12 23:11:01 -08:00
Paul Fd
7f501666b1 Fix a used-after-free bug
We took a reference to a target member, while possibly moving the vector of all targets.
2024-02-10 13:18:23 -08:00
Paul Fd
f7beeffd2a Tweak SynthMessaging 2024-02-10 14:06:16 +01:00
KIRA Ryouta
f8fc628b3e Improved note-on performance
- Compute the hash value on ModKey construction and memorize it
- Fix missing region ID in the hash value of ModKey
2024-02-04 08:45:19 +01:00
Paul Fd
3d7bcb4968 Add setters 2024-01-27 18:33:18 +01:00
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