Skip to content

Fix for OpenMP thread affinity crashes on Android devices#1521

Merged
derselbst merged 4 commits intoFluidSynth:masterfrom
looechao:fix-android-openmp
Apr 9, 2025
Merged

Fix for OpenMP thread affinity crashes on Android devices#1521
derselbst merged 4 commits intoFluidSynth:masterfrom
looechao:fix-android-openmp

Conversation

@looechao
Copy link
Copy Markdown
Contributor

Issue

FluidSynth crashes on multiple Android devices (predominantly Xiaomi models) when loading SoundFonts.
These crashes occur when OpenMP attempts to set thread affinity during parallel sample loading in
fluid_defsfont_load_all_sampledata().

Crash stack trace shows failure in KMPNativeAffinity::Mask::set_system_affinity() with EINVAL error.

Root Cause

This is a documented issue in Android NDK's OpenMP implementation. When thread affinity setting fails on certain devices, libomp.so terminates the process instead of handling the error gracefully. The issue (Android NDK #1180) remains unresolved as it's difficult to reproduce. It still affects Xiaomi/Redmi devices.

11 libomp.so __kmp_abort_process + 52
12 libomp.so __kmp_fatal + 128
13 libomp.so KMPNativeAffinity::Mask::set_system_affinity(bool) const + 208
14 libomp.so __kmp_affinity_set_init_mask + 864
15 libomp.so __kmp_parallel_initialize + 320
16 libomp.so __kmp_fork_call + 160
17 libomp.so __kmpc_fork_call + 236
18 libfluidsynth.so fluid_defsfont.c - line 398  fluid_defsfont_load_all_sampledata + 398
19 libfluidsynth.so fluid_defsfont.c - line 540  fluid_defsfont_load + 540
20 libfluidsynth.so fluid_defsfont.c - line 108  fluid_defsfloader_load + 108
21 libfluidsynth.so fluid_synth.c - line 5365  fluid_synth_sfload + 5365

Solution

Disable KMP_AFFINITY on Android by setting the environment variable early in initialization. This approach is successfully used in other libraries (e.g., Tencent's ncnn).

Affected Devices

  • Xiaomi Redmi Note 13 Pro | Redmi Note12 Turbo | Xiaomi 12Pro | Xiaomi 12 ultra
  • Confirmed on:
    • Xiaomi Redmi Note 13 Pro (Android 15)
    • Xiaomi 12 Pro

References

Note: While setting KMP_AFFINITY=disabled in JNI_OnLoad successfully resolves the crashes in our application, I have not yet verified if placing this setting within FluidSynth's initialization will have the same effect. This issue is raised to bring attention to the problem and propose a potential solution that worked at the application level.

@derselbst derselbst changed the title WIP: Fix for OpenMP thread affinity crashes on Android devices Fix for OpenMP thread affinity crashes on Android devices Mar 29, 2025
@sonarqubecloud
Copy link
Copy Markdown

Copy link
Copy Markdown
Member

@derselbst derselbst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excellent finding, thanks! I moved your code to fluid_synth_init(), which will be executed before the first synth instance is created. This will ensure the workaround getting applied, no matter how people are using fluidsynth (i.e. executable vs. via API only).
Feel free to test it. Android binaries will shortly become available here: https://dev.azure.com/tommbrt/tommbrt/_build/results?buildId=12127&view=artifacts&pathAsName=false&type=publishedArtifacts

@derselbst derselbst added the bug label Apr 6, 2025
@derselbst derselbst added this to the 2.4 milestone Apr 6, 2025
@derselbst derselbst merged commit 7dac763 into FluidSynth:master Apr 9, 2025
49 of 55 checks passed
dangowrt added a commit to dangowrt/packages that referenced this pull request Apr 26, 2025
fluidsynth 2.4.5

    Prebuilt Windows Binaries were missing SDL3.dll
    (FluidSynth/fluidsynth#1510)

    Fix SDL3 intercepting signals, causing CTRL+C to not quit fluidsynth
    (FluidSynth/fluidsynth#1509)

    Fix a few flaws in the AWE32 NRPN implementation
    (FluidSynth/fluidsynth#1452, FluidSynth/fluidsynth#1473)

    A regression introduced in 2.4.4 broke drum preset selection for XG
    MIDIs (FluidSynth/fluidsynth#1508)

    Fix for OpenMP thread affinity crashes on Android devices
    (FluidSynth/fluidsynth#1521, thanks to @looechao)

    Fix fluidsynth's systemd user daemon being unable to create lock
    file on some distros (FluidSynth/fluidsynth#1527, thanks to
    @andrew-sayers)

    Fix fluidsynth ignoring initialFilterFc generator limits
    (FluidSynth/fluidsynth#1502)

    A regression introduced in 2.3.6 prevented SF2 NRPN messages from
    being processed correctly (FluidSynth/fluidsynth#1536)

fluidsynth 2.4.4

    Support for SDL3 has been added, support for SDL2 has been
    deprecated (FluidSynth/fluidsynth#1485, FluidSynth/fluidsynth#openwrt#1478,
    thanks to @andyvand)

    Soundfonts that are not respecting the 46 zero-sample padding-space
    previously sounded incorrect when

    synth.dynamic-sample-loading was active (FluidSynth/fluidsynth#1484)

    Allow drum channels to profit from Soundfont Bank Offsets by no
    longer ignoring MSB Bank changes (FluidSynth/fluidsynth#1475)

    Revise the preset fallback logic for drum channels
    (FluidSynth/fluidsynth#1486)

    A regression introduced in 2.4.1 may have caused interrupted
    real-time playback when voices were using the lowpass filter
    (FluidSynth/fluidsynth#1481)

    Improve multi-user experience when running fluidsynth as systemd
    service (FluidSynth/fluidsynth#1491, thanks to @andrew-sayers)

    Fix ordering and dependencies of fluidsynth's systemd service
    (FluidSynth/fluidsynth#1500, thanks to @fabiangreffrath)

    Revise fluidsynth's man page (FluidSynth/fluidsynth#1499, thanks to
    @fabiangreffrath)

fluidsynth 2.4.3

    It was discovered, that exclusive class note terminations were too
    slow (FluidSynth/fluidsynth#1467, thanks to @mrbumpy409)

    Fix a regression introduced in 2.4.0 that allowed the amplitude of a
    voice playing in delay phase to rise infinitely
    (FluidSynth/fluidsynth#1451)

    MSGS drum-style note-cut has been converted to an opt-in setting
    synth.note-cut (FluidSynth/fluidsynth#1466)

    Support for SDL2 has been disabled by default*
    (FluidSynth/fluidsynth#1472)

    Fix a regression introduced in 2.4.1 that could have caused infinite
    audio gain output for some MIDI files under certain configurations
    (FluidSynth/fluidsynth#1464)

    Silence a warning issued by Systemd v254+
    (FluidSynth/fluidsynth#1474, thanks to @andrew-sayers)

fluidsynth 2.4.2

    Fix audible clicks when turning off voices while using a high filter
    resonance (FluidSynth/fluidsynth#1427)

    Fix a build failure with MSYS2 and MinGW when processing
    VersionResource.rc (FluidSynth/fluidsynth#1448, thanks to @pedrolcl)

    Fix a crash on startup when there are no MIDI devices available on
    Windows (FluidSynth/fluidsynth#1446, thanks to @pedrolcl)

    Restore discovery of libsndfile (FluidSynth/fluidsynth#1445)

    Fix a race condition when loading SF3 files containing multiple
    uncompressed samples (FluidSynth/fluidsynth#1457)

fluidsynth 2.4.1

    Enable libsndfile to use filename with non-ASCII characters on
    Windows (FluidSynth/fluidsynth#1416, thanks to @pedrolcl and
    @stardusteyes)

    Fix a few commandline encoding related issues on Windows
    (FluidSynth/fluidsynth#1388, FluidSynth/fluidsynth#openwrt#1421, thanks to
    @pedrolcl)

    Fix build errors on Windows (FluidSynth/fluidsynth#1419,
    FluidSynth/fluidsynth#openwrt#1422, thanks to @carlo-bramini)

    Fix clicks and pops caused when changing parameters of the lowpass
    filter (FluidSynth/fluidsynth#1415, FluidSynth/fluidsynth#openwrt#1417,
    FluidSynth/fluidsynth#openwrt#1424)

    Minor adjustment to AWE32 NRPN behavior (FluidSynth/fluidsynth#1430)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
dangowrt added a commit to dangowrt/packages that referenced this pull request Apr 26, 2025
fluidsynth 2.4.5

    Prebuilt Windows Binaries were missing SDL3.dll
    (FluidSynth/fluidsynth#1510)

    Fix SDL3 intercepting signals, causing CTRL+C to not quit fluidsynth
    (FluidSynth/fluidsynth#1509)

    Fix a few flaws in the AWE32 NRPN implementation
    (FluidSynth/fluidsynth#1452, FluidSynth/fluidsynth#1473)

    A regression introduced in 2.4.4 broke drum preset selection for XG
    MIDIs (FluidSynth/fluidsynth#1508)

    Fix for OpenMP thread affinity crashes on Android devices
    (FluidSynth/fluidsynth#1521, thanks to @looechao)

    Fix fluidsynth's systemd user daemon being unable to create lock
    file on some distros (FluidSynth/fluidsynth#1527, thanks to
    @andrew-sayers)

    Fix fluidsynth ignoring initialFilterFc generator limits
    (FluidSynth/fluidsynth#1502)

    A regression introduced in 2.3.6 prevented SF2 NRPN messages from
    being processed correctly (FluidSynth/fluidsynth#1536)

fluidsynth 2.4.4

    Support for SDL3 has been added, support for SDL2 has been
    deprecated (FluidSynth/fluidsynth#1485, FluidSynth/fluidsynth#1478,
    thanks to @andyvand)

    Soundfonts that are not respecting the 46 zero-sample padding-space
    previously sounded incorrect when

    synth.dynamic-sample-loading was active (FluidSynth/fluidsynth#1484)

    Allow drum channels to profit from Soundfont Bank Offsets by no
    longer ignoring MSB Bank changes (FluidSynth/fluidsynth#1475)

    Revise the preset fallback logic for drum channels
    (FluidSynth/fluidsynth#1486)

    A regression introduced in 2.4.1 may have caused interrupted
    real-time playback when voices were using the lowpass filter
    (FluidSynth/fluidsynth#1481)

    Improve multi-user experience when running fluidsynth as systemd
    service (FluidSynth/fluidsynth#1491, thanks to @andrew-sayers)

    Fix ordering and dependencies of fluidsynth's systemd service
    (FluidSynth/fluidsynth#1500, thanks to @fabiangreffrath)

    Revise fluidsynth's man page (FluidSynth/fluidsynth#1499, thanks to
    @fabiangreffrath)

fluidsynth 2.4.3

    It was discovered, that exclusive class note terminations were too
    slow (FluidSynth/fluidsynth#1467, thanks to @mrbumpy409)

    Fix a regression introduced in 2.4.0 that allowed the amplitude of a
    voice playing in delay phase to rise infinitely
    (FluidSynth/fluidsynth#1451)

    MSGS drum-style note-cut has been converted to an opt-in setting
    synth.note-cut (FluidSynth/fluidsynth#1466)

    Support for SDL2 has been disabled by default*
    (FluidSynth/fluidsynth#1472)

    Fix a regression introduced in 2.4.1 that could have caused infinite
    audio gain output for some MIDI files under certain configurations
    (FluidSynth/fluidsynth#1464)

    Silence a warning issued by Systemd v254+
    (FluidSynth/fluidsynth#1474, thanks to @andrew-sayers)

fluidsynth 2.4.2

    Fix audible clicks when turning off voices while using a high filter
    resonance (FluidSynth/fluidsynth#1427)

    Fix a build failure with MSYS2 and MinGW when processing
    VersionResource.rc (FluidSynth/fluidsynth#1448, thanks to @pedrolcl)

    Fix a crash on startup when there are no MIDI devices available on
    Windows (FluidSynth/fluidsynth#1446, thanks to @pedrolcl)

    Restore discovery of libsndfile (FluidSynth/fluidsynth#1445)

    Fix a race condition when loading SF3 files containing multiple
    uncompressed samples (FluidSynth/fluidsynth#1457)

fluidsynth 2.4.1

    Enable libsndfile to use filename with non-ASCII characters on
    Windows (FluidSynth/fluidsynth#1416, thanks to @pedrolcl and
    @stardusteyes)

    Fix a few commandline encoding related issues on Windows
    (FluidSynth/fluidsynth#1388, FluidSynth/fluidsynth#1421, thanks to
    @pedrolcl)

    Fix build errors on Windows (FluidSynth/fluidsynth#1419,
    FluidSynth/fluidsynth#1422, thanks to @carlo-bramini)

    Fix clicks and pops caused when changing parameters of the lowpass
    filter (FluidSynth/fluidsynth#1415, FluidSynth/fluidsynth#1417,
    FluidSynth/fluidsynth#1424)

    Minor adjustment to AWE32 NRPN behavior (FluidSynth/fluidsynth#1430)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
dangowrt added a commit to openwrt/packages that referenced this pull request Apr 26, 2025
fluidsynth 2.4.5

    Prebuilt Windows Binaries were missing SDL3.dll
    (FluidSynth/fluidsynth#1510)

    Fix SDL3 intercepting signals, causing CTRL+C to not quit fluidsynth
    (FluidSynth/fluidsynth#1509)

    Fix a few flaws in the AWE32 NRPN implementation
    (FluidSynth/fluidsynth#1452, FluidSynth/fluidsynth#1473)

    A regression introduced in 2.4.4 broke drum preset selection for XG
    MIDIs (FluidSynth/fluidsynth#1508)

    Fix for OpenMP thread affinity crashes on Android devices
    (FluidSynth/fluidsynth#1521, thanks to @looechao)

    Fix fluidsynth's systemd user daemon being unable to create lock
    file on some distros (FluidSynth/fluidsynth#1527, thanks to
    @andrew-sayers)

    Fix fluidsynth ignoring initialFilterFc generator limits
    (FluidSynth/fluidsynth#1502)

    A regression introduced in 2.3.6 prevented SF2 NRPN messages from
    being processed correctly (FluidSynth/fluidsynth#1536)

fluidsynth 2.4.4

    Support for SDL3 has been added, support for SDL2 has been
    deprecated (FluidSynth/fluidsynth#1485, FluidSynth/fluidsynth#1478,
    thanks to @andyvand)

    Soundfonts that are not respecting the 46 zero-sample padding-space
    previously sounded incorrect when

    synth.dynamic-sample-loading was active (FluidSynth/fluidsynth#1484)

    Allow drum channels to profit from Soundfont Bank Offsets by no
    longer ignoring MSB Bank changes (FluidSynth/fluidsynth#1475)

    Revise the preset fallback logic for drum channels
    (FluidSynth/fluidsynth#1486)

    A regression introduced in 2.4.1 may have caused interrupted
    real-time playback when voices were using the lowpass filter
    (FluidSynth/fluidsynth#1481)

    Improve multi-user experience when running fluidsynth as systemd
    service (FluidSynth/fluidsynth#1491, thanks to @andrew-sayers)

    Fix ordering and dependencies of fluidsynth's systemd service
    (FluidSynth/fluidsynth#1500, thanks to @fabiangreffrath)

    Revise fluidsynth's man page (FluidSynth/fluidsynth#1499, thanks to
    @fabiangreffrath)

fluidsynth 2.4.3

    It was discovered, that exclusive class note terminations were too
    slow (FluidSynth/fluidsynth#1467, thanks to @mrbumpy409)

    Fix a regression introduced in 2.4.0 that allowed the amplitude of a
    voice playing in delay phase to rise infinitely
    (FluidSynth/fluidsynth#1451)

    MSGS drum-style note-cut has been converted to an opt-in setting
    synth.note-cut (FluidSynth/fluidsynth#1466)

    Support for SDL2 has been disabled by default*
    (FluidSynth/fluidsynth#1472)

    Fix a regression introduced in 2.4.1 that could have caused infinite
    audio gain output for some MIDI files under certain configurations
    (FluidSynth/fluidsynth#1464)

    Silence a warning issued by Systemd v254+
    (FluidSynth/fluidsynth#1474, thanks to @andrew-sayers)

fluidsynth 2.4.2

    Fix audible clicks when turning off voices while using a high filter
    resonance (FluidSynth/fluidsynth#1427)

    Fix a build failure with MSYS2 and MinGW when processing
    VersionResource.rc (FluidSynth/fluidsynth#1448, thanks to @pedrolcl)

    Fix a crash on startup when there are no MIDI devices available on
    Windows (FluidSynth/fluidsynth#1446, thanks to @pedrolcl)

    Restore discovery of libsndfile (FluidSynth/fluidsynth#1445)

    Fix a race condition when loading SF3 files containing multiple
    uncompressed samples (FluidSynth/fluidsynth#1457)

fluidsynth 2.4.1

    Enable libsndfile to use filename with non-ASCII characters on
    Windows (FluidSynth/fluidsynth#1416, thanks to @pedrolcl and
    @stardusteyes)

    Fix a few commandline encoding related issues on Windows
    (FluidSynth/fluidsynth#1388, FluidSynth/fluidsynth#1421, thanks to
    @pedrolcl)

    Fix build errors on Windows (FluidSynth/fluidsynth#1419,
    FluidSynth/fluidsynth#1422, thanks to @carlo-bramini)

    Fix clicks and pops caused when changing parameters of the lowpass
    filter (FluidSynth/fluidsynth#1415, FluidSynth/fluidsynth#1417,
    FluidSynth/fluidsynth#1424)

    Minor adjustment to AWE32 NRPN behavior (FluidSynth/fluidsynth#1430)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
BKPepe pushed a commit to openwrt/packages that referenced this pull request Sep 13, 2025
fluidsynth 2.4.5

    Prebuilt Windows Binaries were missing SDL3.dll
    (FluidSynth/fluidsynth#1510)

    Fix SDL3 intercepting signals, causing CTRL+C to not quit fluidsynth
    (FluidSynth/fluidsynth#1509)

    Fix a few flaws in the AWE32 NRPN implementation
    (FluidSynth/fluidsynth#1452, FluidSynth/fluidsynth#1473)

    A regression introduced in 2.4.4 broke drum preset selection for XG
    MIDIs (FluidSynth/fluidsynth#1508)

    Fix for OpenMP thread affinity crashes on Android devices
    (FluidSynth/fluidsynth#1521, thanks to @looechao)

    Fix fluidsynth's systemd user daemon being unable to create lock
    file on some distros (FluidSynth/fluidsynth#1527, thanks to
    @andrew-sayers)

    Fix fluidsynth ignoring initialFilterFc generator limits
    (FluidSynth/fluidsynth#1502)

    A regression introduced in 2.3.6 prevented SF2 NRPN messages from
    being processed correctly (FluidSynth/fluidsynth#1536)

fluidsynth 2.4.4

    Support for SDL3 has been added, support for SDL2 has been
    deprecated (FluidSynth/fluidsynth#1485, FluidSynth/fluidsynth#1478,
    thanks to @andyvand)

    Soundfonts that are not respecting the 46 zero-sample padding-space
    previously sounded incorrect when

    synth.dynamic-sample-loading was active (FluidSynth/fluidsynth#1484)

    Allow drum channels to profit from Soundfont Bank Offsets by no
    longer ignoring MSB Bank changes (FluidSynth/fluidsynth#1475)

    Revise the preset fallback logic for drum channels
    (FluidSynth/fluidsynth#1486)

    A regression introduced in 2.4.1 may have caused interrupted
    real-time playback when voices were using the lowpass filter
    (FluidSynth/fluidsynth#1481)

    Improve multi-user experience when running fluidsynth as systemd
    service (FluidSynth/fluidsynth#1491, thanks to @andrew-sayers)

    Fix ordering and dependencies of fluidsynth's systemd service
    (FluidSynth/fluidsynth#1500, thanks to @fabiangreffrath)

    Revise fluidsynth's man page (FluidSynth/fluidsynth#1499, thanks to
    @fabiangreffrath)

fluidsynth 2.4.3

    It was discovered, that exclusive class note terminations were too
    slow (FluidSynth/fluidsynth#1467, thanks to @mrbumpy409)

    Fix a regression introduced in 2.4.0 that allowed the amplitude of a
    voice playing in delay phase to rise infinitely
    (FluidSynth/fluidsynth#1451)

    MSGS drum-style note-cut has been converted to an opt-in setting
    synth.note-cut (FluidSynth/fluidsynth#1466)

    Support for SDL2 has been disabled by default*
    (FluidSynth/fluidsynth#1472)

    Fix a regression introduced in 2.4.1 that could have caused infinite
    audio gain output for some MIDI files under certain configurations
    (FluidSynth/fluidsynth#1464)

    Silence a warning issued by Systemd v254+
    (FluidSynth/fluidsynth#1474, thanks to @andrew-sayers)

fluidsynth 2.4.2

    Fix audible clicks when turning off voices while using a high filter
    resonance (FluidSynth/fluidsynth#1427)

    Fix a build failure with MSYS2 and MinGW when processing
    VersionResource.rc (FluidSynth/fluidsynth#1448, thanks to @pedrolcl)

    Fix a crash on startup when there are no MIDI devices available on
    Windows (FluidSynth/fluidsynth#1446, thanks to @pedrolcl)

    Restore discovery of libsndfile (FluidSynth/fluidsynth#1445)

    Fix a race condition when loading SF3 files containing multiple
    uncompressed samples (FluidSynth/fluidsynth#1457)

fluidsynth 2.4.1

    Enable libsndfile to use filename with non-ASCII characters on
    Windows (FluidSynth/fluidsynth#1416, thanks to @pedrolcl and
    @stardusteyes)

    Fix a few commandline encoding related issues on Windows
    (FluidSynth/fluidsynth#1388, FluidSynth/fluidsynth#1421, thanks to
    @pedrolcl)

    Fix build errors on Windows (FluidSynth/fluidsynth#1419,
    FluidSynth/fluidsynth#1422, thanks to @carlo-bramini)

    Fix clicks and pops caused when changing parameters of the lowpass
    filter (FluidSynth/fluidsynth#1415, FluidSynth/fluidsynth#1417,
    FluidSynth/fluidsynth#1424)

    Minor adjustment to AWE32 NRPN behavior (FluidSynth/fluidsynth#1430)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit dd8780e)
liudf0716 pushed a commit to liudf0716/packages that referenced this pull request Oct 23, 2025
fluidsynth 2.4.5

    Prebuilt Windows Binaries were missing SDL3.dll
    (FluidSynth/fluidsynth#1510)

    Fix SDL3 intercepting signals, causing CTRL+C to not quit fluidsynth
    (FluidSynth/fluidsynth#1509)

    Fix a few flaws in the AWE32 NRPN implementation
    (FluidSynth/fluidsynth#1452, FluidSynth/fluidsynth#1473)

    A regression introduced in 2.4.4 broke drum preset selection for XG
    MIDIs (FluidSynth/fluidsynth#1508)

    Fix for OpenMP thread affinity crashes on Android devices
    (FluidSynth/fluidsynth#1521, thanks to @looechao)

    Fix fluidsynth's systemd user daemon being unable to create lock
    file on some distros (FluidSynth/fluidsynth#1527, thanks to
    @andrew-sayers)

    Fix fluidsynth ignoring initialFilterFc generator limits
    (FluidSynth/fluidsynth#1502)

    A regression introduced in 2.3.6 prevented SF2 NRPN messages from
    being processed correctly (FluidSynth/fluidsynth#1536)

fluidsynth 2.4.4

    Support for SDL3 has been added, support for SDL2 has been
    deprecated (FluidSynth/fluidsynth#1485, FluidSynth/fluidsynth#1478,
    thanks to @andyvand)

    Soundfonts that are not respecting the 46 zero-sample padding-space
    previously sounded incorrect when

    synth.dynamic-sample-loading was active (FluidSynth/fluidsynth#1484)

    Allow drum channels to profit from Soundfont Bank Offsets by no
    longer ignoring MSB Bank changes (FluidSynth/fluidsynth#1475)

    Revise the preset fallback logic for drum channels
    (FluidSynth/fluidsynth#1486)

    A regression introduced in 2.4.1 may have caused interrupted
    real-time playback when voices were using the lowpass filter
    (FluidSynth/fluidsynth#1481)

    Improve multi-user experience when running fluidsynth as systemd
    service (FluidSynth/fluidsynth#1491, thanks to @andrew-sayers)

    Fix ordering and dependencies of fluidsynth's systemd service
    (FluidSynth/fluidsynth#1500, thanks to @fabiangreffrath)

    Revise fluidsynth's man page (FluidSynth/fluidsynth#1499, thanks to
    @fabiangreffrath)

fluidsynth 2.4.3

    It was discovered, that exclusive class note terminations were too
    slow (FluidSynth/fluidsynth#1467, thanks to @mrbumpy409)

    Fix a regression introduced in 2.4.0 that allowed the amplitude of a
    voice playing in delay phase to rise infinitely
    (FluidSynth/fluidsynth#1451)

    MSGS drum-style note-cut has been converted to an opt-in setting
    synth.note-cut (FluidSynth/fluidsynth#1466)

    Support for SDL2 has been disabled by default*
    (FluidSynth/fluidsynth#1472)

    Fix a regression introduced in 2.4.1 that could have caused infinite
    audio gain output for some MIDI files under certain configurations
    (FluidSynth/fluidsynth#1464)

    Silence a warning issued by Systemd v254+
    (FluidSynth/fluidsynth#1474, thanks to @andrew-sayers)

fluidsynth 2.4.2

    Fix audible clicks when turning off voices while using a high filter
    resonance (FluidSynth/fluidsynth#1427)

    Fix a build failure with MSYS2 and MinGW when processing
    VersionResource.rc (FluidSynth/fluidsynth#1448, thanks to @pedrolcl)

    Fix a crash on startup when there are no MIDI devices available on
    Windows (FluidSynth/fluidsynth#1446, thanks to @pedrolcl)

    Restore discovery of libsndfile (FluidSynth/fluidsynth#1445)

    Fix a race condition when loading SF3 files containing multiple
    uncompressed samples (FluidSynth/fluidsynth#1457)

fluidsynth 2.4.1

    Enable libsndfile to use filename with non-ASCII characters on
    Windows (FluidSynth/fluidsynth#1416, thanks to @pedrolcl and
    @stardusteyes)

    Fix a few commandline encoding related issues on Windows
    (FluidSynth/fluidsynth#1388, FluidSynth/fluidsynth#1421, thanks to
    @pedrolcl)

    Fix build errors on Windows (FluidSynth/fluidsynth#1419,
    FluidSynth/fluidsynth#1422, thanks to @carlo-bramini)

    Fix clicks and pops caused when changing parameters of the lowpass
    filter (FluidSynth/fluidsynth#1415, FluidSynth/fluidsynth#1417,
    FluidSynth/fluidsynth#1424)

    Minor adjustment to AWE32 NRPN behavior (FluidSynth/fluidsynth#1430)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit dd8780e)
(cherry picked from commit 8587135)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants