Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package mt32emu for openSUSE:Factory checked 
in at 2026-06-08 14:22:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mt32emu (Old)
 and      /work/SRC/openSUSE:Factory/.mt32emu.new.2375 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mt32emu"

Mon Jun  8 14:22:42 2026 rev:17 rq:1357877 version:2.8.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/mt32emu/mt32emu.changes  2026-05-25 
21:59:33.883780006 +0200
+++ /work/SRC/openSUSE:Factory/.mt32emu.new.2375/mt32emu.changes        
2026-06-08 14:28:03.887888663 +0200
@@ -1,0 +2,6 @@
+Sun Jun  7 17:50:11 UTC 2026 - Martin Hauke <[email protected]>
+
+- Update to 2.8.3
+  * Reworked sanity checks for short MIDI messages.
+
+-------------------------------------------------------------------

Old:
----
  munt-libmt32emu_2_8_2.tar.gz

New:
----
  munt-libmt32emu_2_8_3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mt32emu.spec ++++++
--- /var/tmp/diff_new_pack.D0vi1f/_old  2026-06-08 14:28:04.903930823 +0200
+++ /var/tmp/diff_new_pack.D0vi1f/_new  2026-06-08 14:28:04.907930989 +0200
@@ -17,10 +17,10 @@
 
 
 %define s_name  munt-lib%{name}_%{s_ver}
-%define s_ver   2_8_2
+%define s_ver   2_8_3
 %define sover   2
 Name:           mt32emu
-Version:        2.8.2
+Version:        2.8.3
 Release:        0
 Summary:        An emulator of the Roland MT-32, CM-32L and LAPC-I synthesiser 
modules
 License:        GPL-3.0-or-later AND LGPL-2.1-or-later

++++++ munt-libmt32emu_2_8_2.tar.gz -> munt-libmt32emu_2_8_3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/munt-libmt32emu_2_8_2/.github/workflows/build-appimages.yml 
new/munt-libmt32emu_2_8_3/.github/workflows/build-appimages.yml
--- old/munt-libmt32emu_2_8_2/.github/workflows/build-appimages.yml     
1970-01-01 01:00:00.000000000 +0100
+++ new/munt-libmt32emu_2_8_3/.github/workflows/build-appimages.yml     
2026-06-06 15:58:54.000000000 +0200
@@ -0,0 +1,104 @@
+name: Build appimages
+
+on:
+  workflow_dispatch
+
+jobs:
+  build-appimages:
+    runs-on: ubuntu-latest
+
+    steps:
+    - uses: actions/checkout@v4
+
+    - name: Checkout Qt
+      uses: actions/download-artifact@v8
+      with:
+        path: ${{ github.workspace }}
+        github-token: ${{ secrets.GITHUB_TOKEN }}
+        repository: sergm/munt
+        run-id: 26723258340
+        artifact-ids: 7319942079
+
+    - name: Unpack dependencies
+      run: |
+        mkdir qt
+        tar xf qt_6_11_1_linux_x64.tgz -C qt
+
+    - name: Get linuxdeploy
+      run: |
+        wget -q 
https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
+        chmod a+x linuxdeploy-x86_64.AppImage
+
+    - name: Patch cmake script for mt32emu-qt
+      run: echo "qt_import_plugins(mt32emu-qt INCLUDE Qt6::QGtk3ThemePlugin)" 
>> mt32emu_qt/CMakeLists.txt
+
+    - name: Prepare AppDir
+      run: |
+        mkdir -p build/mt32emu_smf2wav/AppDir/usr/share/pixmaps
+        cp mt32emu_qt/res/icons/256x256/munt.png 
build/mt32emu_smf2wav/AppDir/usr/share/pixmaps/munt.png
+        mkdir build/mt32emu_smf2wav/AppDir/usr/share/applications
+        cat <<'EOF' >> 
build/mt32emu_smf2wav/AppDir/usr/share/applications/smf2wav.desktop
+        [Desktop Entry]
+        Name=mt32emu-smf2wav
+        Comment=MT-32 SMF to WAVE conversion
+        Exec=mt32emu-smf2wav
+        Icon=munt
+        NoDisplay=false
+        StartupNotify=false
+        Terminal=true
+        Type=Application
+        Categories=AudioVideo;
+        EOF
+
+    - name: Assemble
+      run: |
+        cat <<'EOF' >> build.sh
+        #!/bin/bash
+        set -e
+        dnf update -y
+        dnf install -y gcc-toolset-10-gcc-c++ cmake ninja-build file \
+          gtk3-devel libX11-devel xcb-util-devel xcb-util-cursor-devel 
xcb-util-image-devel \
+          xcb-util-keysyms-devel xcb-util-renderutil-devel xcb-util-wm-devel 
libxkbcommon-devel \
+          libxkbcommon-x11-devel pulseaudio-libs-devel portaudio-devel 
jack-audio-connection-kit-devel
+        source /opt/rh/gcc-toolset-10/enable
+        cd /home/munt
+        cmake -S . -B build/mt32emu_smf2wav -G Ninja \
+          -D BUILD_SNAPSHOTS=ON \
+          -D BUILD_TESTING=OFF \
+          -D CMAKE_BUILD_TYPE:STRING=Release \
+          -D CMAKE_INSTALL_PREFIX:PATH=build/mt32emu_smf2wav/AppDir/usr \
+          -D libmt32emu_PACKAGE_TYPE:STRING=Runtime \
+          -D munt_WITH_MT32EMU_QT:BOOL=OFF
+        cmake -S . -B build/mt32emu_qt -G Ninja \
+          -D BUILD_SNAPSHOTS=ON \
+          -D BUILD_TESTING=OFF \
+          -D CMAKE_BUILD_TYPE=Release \
+          -D CMAKE_INSTALL_PREFIX:PATH=build/mt32emu_qt/AppDir/usr \
+          -D CMAKE_PREFIX_PATH=/home/munt/qt/stage \
+          -D libmt32emu_PACKAGE_TYPE=Runtime \
+          -D mt32emu-qt_USE_JACK_DYNAMIC_LOADING:BOOL=ON \
+          -D mt32emu-qt_USE_PULSEAUDIO_DYNAMIC_LOADING=OFF \
+          -D munt_WITH_MT32EMU_SMF2WAV:BOOL=OFF
+        cmake --build build/mt32emu_smf2wav
+        cmake --build build/mt32emu_qt
+        cmake --install build/mt32emu_smf2wav --component Runtime --strip
+        ./linuxdeploy-x86_64.AppImage --appimage-extract-and-run 
--appdir=build/mt32emu_smf2wav/AppDir -o appimage
+        cmake --install build/mt32emu_qt --component Runtime --strip
+        ./linuxdeploy-x86_64.AppImage --appimage-extract-and-run 
--appdir=build/mt32emu_qt/AppDir -o appimage
+        EOF
+        chmod a+x build.sh
+        podman run --mount type=bind,source=.,destination=/home/munt \
+          --rm \
+          ghcr.io/almalinux/8-toolbox /home/munt/build.sh
+
+    - uses: actions/upload-artifact@v7
+      name: Upload mt32emu_smf2wav-x86_64.AppImage
+      with:
+        path: ${{ github.workspace }}/mt32emu-smf2wav-x86_64.AppImage
+        archive: false
+
+    - uses: actions/upload-artifact@v7
+      name: Upload MT-32_Emulator-x86_64.AppImage
+      with:
+        path: ${{ github.workspace }}/MT-32_Emulator-x86_64.AppImage
+        archive: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/munt-libmt32emu_2_8_2/.github/workflows/build-mt32emu-qt.yml 
new/munt-libmt32emu_2_8_3/.github/workflows/build-mt32emu-qt.yml
--- old/munt-libmt32emu_2_8_2/.github/workflows/build-mt32emu-qt.yml    
1970-01-01 01:00:00.000000000 +0100
+++ new/munt-libmt32emu_2_8_3/.github/workflows/build-mt32emu-qt.yml    
2026-06-06 15:58:54.000000000 +0200
@@ -0,0 +1,167 @@
+name: Build fat mt32emu-qt binary
+
+on:
+  workflow_dispatch
+
+jobs:
+  build-mt32emu-qt-windows:
+    runs-on: windows-latest
+
+    defaults:
+      run:
+        shell: cmd
+        working-directory: ${{ github.workspace }}
+
+    steps:
+    - uses: actions/checkout@v4
+
+    - name: Checkout portaudio
+      uses: actions/download-artifact@v8
+      with:
+        name: portaudio-win64.tgz
+        path: ${{ github.workspace }}
+        github-token: ${{ secrets.GITHUB_TOKEN }}
+        repository: sergm/munt
+        run-id: 26477630535
+
+    - name: Checkout Qt
+      uses: actions/download-artifact@v8
+      with:
+        name: qt_6_11_1_win64.tgz
+        path: ${{ github.workspace }}
+        github-token: ${{ secrets.GITHUB_TOKEN }}
+        repository: sergm/munt
+        run-id: 26478191762
+
+    - name: Unpack dependencies
+      run: |
+        mkdir portaudio
+        tar xf portaudio-win64.tgz -C portaudio
+        tar xf qt_6_11_1_win64.tgz
+
+    - name: Get Jack
+      run: |
+        git clone --depth=1 --revision=refs/tags/v1.9.22 
https://github.com/jackaudio/jack2.git
+        type NUL > jack2\libjack64.lib
+
+    - name: Assemble
+      run: >
+        "C:\Program Files\Microsoft Visual 
Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" &&
+        cmake -S . -B build -G Ninja
+        -D BUILD_SNAPSHOTS=ON
+        -D BUILD_TESTING=OFF
+        -D CMAKE_BUILD_TYPE=Release
+        -D 
CMAKE_MSVC_RUNTIME_LIBRARY:STRING="MultiThreaded$<$<CONFIG:Debug>:Debug>"
+        -D CMAKE_PREFIX_PATH=${{ github.workspace }}/stage
+        -D JACK_INCLUDE_DIR:PATH=${{ github.workspace }}/jack2/common
+        -D JACK_LIBRARY:FILEPATH=${{ github.workspace }}/jack2/libjack64.lib
+        -D PORTAUDIO_INCLUDE_DIR=${{ github.workspace 
}}/portaudio/stage/include
+        -D PORTAUDIO_LIBRARY=${{ github.workspace 
}}/portaudio/stage/lib/portaudio_static_x64.lib
+        -D libmt32emu_PACKAGE_TYPE=Runtime
+        -D mt32emu-qt_USE_JACK_DYNAMIC_LOADING:BOOL=ON
+        -D munt_WITH_MT32EMU_SMF2WAV:BOOL=OFF
+        -D munt_WITH_MT32EMU_WIN32DRV:BOOL=OFF &&
+        cmake --build build &&
+        cmake --install build --prefix snapshot --component Runtime
+
+    - name: Package
+      run: |
+        cd snapshot
+        move bin\mt32emu-qt.exe .
+        move share\doc .
+        rmdir /s/q bin share
+
+    - uses: actions/upload-artifact@v7
+      name: Upload
+      with:
+        path: ${{ github.workspace }}/snapshot
+        name: mt32emu_qt_win11_x64
+        archive: true
+
+  build-mt32emu-qt-macos:
+    runs-on: macos-latest
+
+    defaults:
+      run:
+        shell: bash
+        working-directory: ${{ github.workspace }}
+
+    steps:
+    - uses: actions/checkout@v4
+
+    - name: Checkout portaudio
+      uses: actions/download-artifact@v8
+      with:
+        name: portaudio-macos.tgz
+        path: ${{ github.workspace }}
+        github-token: ${{ secrets.GITHUB_TOKEN }}
+        repository: sergm/munt
+        run-id: 26477630535
+
+    - name: Checkout Qt
+      uses: actions/download-artifact@v8
+      with:
+        name: qt_6_11_1_macos.tgz
+        path: ${{ github.workspace }}
+        github-token: ${{ secrets.GITHUB_TOKEN }}
+        repository: sergm/munt
+        run-id: 26478191762
+
+    - name: Unpack dependencies
+      run: |
+        mkdir portaudio
+        tar xf portaudio-macos.tgz -C portaudio
+        tar xf qt_6_11_1_macos.tgz
+
+    - name: Build Resources
+      run: |
+        mkdir MT32Emu.iconset
+        cd MT32Emu.iconset
+        ln ../mt32emu_qt/res/icons/256x256/munt.png .
+        sips -z 16 16     munt.png --out icon_16x16.png
+        sips -z 32 32     munt.png --out [email protected]
+        sips -z 32 32     munt.png --out icon_32x32.png
+        sips -z 64 64     munt.png --out [email protected]
+        sips -z 128 128   munt.png --out icon_128x128.png
+        sips -z 256 256   munt.png --out [email protected]
+        sips -z 256 256   munt.png --out icon_256x256.png
+        sips -z 512 512   munt.png --out [email protected]
+        sips -z 512 512   munt.png --out icon_512x512.png
+        sips -z 1024 1024 munt.png --out [email protected]
+        cd ..
+        iconutil -c icns MT32Emu.iconset
+
+    - name: Configure
+      run: >
+        cmake -S . -B build -G Ninja
+        -D BUILD_SNAPSHOTS=ON
+        -D BUILD_TESTING=OFF
+        -D CMAKE_BUILD_TYPE=Release
+        -D CMAKE_OSX_DEPLOYMENT_TARGET:STRING=13.0
+        -D CMAKE_PREFIX_PATH=${{ github.workspace }}/stage
+        -D MACOSX_BUNDLE_ICON_FILE:STRING=MT32Emu.icns
+        -D PORTAUDIO_INCLUDE_DIR=${{ github.workspace 
}}/portaudio/stage/include
+        -D PORTAUDIO_LIBRARY=${{ github.workspace 
}}/portaudio/stage/lib/libportaudio.a
+        -D libmt32emu_PACKAGE_TYPE=Runtime
+        -D munt_WITH_MT32EMU_SMF2WAV:BOOL=OFF
+
+    - name: Build
+      run: cmake --build build
+
+    - name: Package
+      run: |
+        cmake --install build --prefix snapshot --component Runtime --strip
+        cd snapshot
+        mv bin/mt32emu-qt.app .
+        mv share/doc .
+        rm -rf bin share
+        strip mt32emu-qt.app/Contents/MacOS/mt32emu-qt
+        mkdir mt32emu-qt.app/Contents/Resources
+        mv ../MT32Emu.icns mt32emu-qt.app/Contents/Resources
+        tar czf ../mt32emu_qt_macos_arm64.tgz *
+
+    - uses: actions/upload-artifact@v7
+      name: Upload
+      with:
+        path: ${{ github.workspace }}/mt32emu_qt_macos_arm64.tgz
+        archive: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/munt-libmt32emu_2_8_2/.github/workflows/build-portaudio.yml 
new/munt-libmt32emu_2_8_3/.github/workflows/build-portaudio.yml
--- old/munt-libmt32emu_2_8_2/.github/workflows/build-portaudio.yml     
1970-01-01 01:00:00.000000000 +0100
+++ new/munt-libmt32emu_2_8_3/.github/workflows/build-portaudio.yml     
2026-06-06 15:58:54.000000000 +0200
@@ -0,0 +1,75 @@
+name: Build PortAudio
+
+on:
+  workflow_dispatch
+
+jobs:
+  build-portaudio-windows:
+    runs-on: windows-latest
+
+    defaults:
+      run:
+        shell: cmd
+        working-directory: ${{ github.workspace }}
+
+    steps:
+    - name: Get sources
+      run: git clone --depth=1 --revision=refs/tags/v19.7.0 
https://github.com/PortAudio/portaudio
+
+    - name: Assemble
+      run: >
+        "C:\Program Files\Microsoft Visual 
Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" &&
+        cmake -S portaudio -B build -G Ninja
+        -D CMAKE_BUILD_TYPE=Release
+        -D CMAKE_INSTALL_PREFIX=stage
+        -D CMAKE_POLICY_VERSION_MINIMUM=3.5
+        -D PA_BUILD_SHARED=OFF &&
+        cmake --build build &&
+        cmake --install build --prefix stage
+
+    - name: Pack
+      run: tar czf portaudio-win64.tgz stage
+
+    - uses: actions/upload-artifact@v7
+      name: Upload
+      with:
+        path: ${{ github.workspace }}/portaudio-win64.tgz
+        name: portaudio-win64
+        archive: false
+
+  build-portaudio-macos:
+    runs-on: macos-latest
+
+    defaults:
+      run:
+        shell: bash
+        working-directory: ${{ github.workspace }}
+
+    steps:
+    - name: Get sources
+      run: git clone --depth=1 --revision=refs/tags/v19.7.0 
https://github.com/PortAudio/portaudio
+
+    - name: Configure
+      run: >
+        cmake -S portaudio -B build -G Ninja
+        -D CMAKE_BUILD_TYPE=Release
+        -D CMAKE_INSTALL_PREFIX=stage
+        -D CMAKE_POLICY_VERSION_MINIMUM=3.5
+        -D CMAKE_OSX_DEPLOYMENT_TARGET:STRING=13.0
+        -D PA_BUILD_SHARED=OFF
+
+    - name: Build
+      run: cmake --build build
+
+    - name: Stage
+      run: cmake --install build --prefix stage
+
+    - name: Pack
+      run: tar czf portaudio-macos.tgz stage
+
+    - uses: actions/upload-artifact@v7
+      name: Upload
+      with:
+        path: ${{ github.workspace }}/portaudio-macos.tgz
+        name: portaudio-macos
+        archive: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/munt-libmt32emu_2_8_2/.github/workflows/build-qt.yml 
new/munt-libmt32emu_2_8_3/.github/workflows/build-qt.yml
--- old/munt-libmt32emu_2_8_2/.github/workflows/build-qt.yml    1970-01-01 
01:00:00.000000000 +0100
+++ new/munt-libmt32emu_2_8_3/.github/workflows/build-qt.yml    2026-06-06 
15:58:54.000000000 +0200
@@ -0,0 +1,127 @@
+name: Build Qt
+
+on:
+  workflow_dispatch
+
+jobs:
+  build-qt-windows:
+    runs-on: windows-latest
+
+    defaults:
+      run:
+        shell: cmd
+        working-directory: ${{ github.workspace }}
+
+    steps:
+    - name: Get super repo
+      run: git clone --depth=1 --revision=refs/tags/v6.11.1 
https://code.qt.io/qt/qt5.git
+
+    - name: Get submodules
+      working-directory: ${{ github.workspace }}/qt5
+      run: git submodule update --init --depth=1 qtbase
+
+    - name: Assemble
+      run: >
+        "C:\Program Files\Microsoft Visual 
Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" &&
+        cmake -S qt5 -B build -G Ninja
+        -D BUILD_SHARED_LIBS:BOOL=OFF
+        -D CMAKE_BUILD_TYPE=Release
+        -D CMAKE_INSTALL_PREFIX=stage
+        -D FEATURE_static_runtime:BOOL=ON
+        -D FEATURE_printsupport:BOOL=OFF
+        -D FEATURE_testlib:BOOL=OFF
+        -D FEATURE_sql:BOOL=OFF
+        -D FEATURE_xml:BOOL=OFF &&
+        cmake --build build &&
+        cmake --install build
+
+    - name: Pack
+      run: tar czf qt_6_11_1_win64.tgz stage
+
+    - uses: actions/upload-artifact@v7
+      name: Upload
+      with:
+        path: ${{ github.workspace }}/qt_6_11_1_win64.tgz
+        archive: false
+
+  build-qt-macos:
+    runs-on: macos-latest
+
+    defaults:
+      run:
+        shell: bash
+        working-directory: ${{ github.workspace }}
+
+    steps:
+    - name: Get super repo
+      run: git clone --depth=1 --revision=refs/tags/v6.11.1 
https://code.qt.io/qt/qt5.git
+
+    - name: Get submodules
+      working-directory: ${{ github.workspace }}/qt5
+      run: git submodule update --init --depth=1 qtbase qtshadertools 
qtmultimedia
+
+    - name: Configure
+      run: >
+        cmake -S qt5 -B build -G Ninja
+        -D BUILD_SHARED_LIBS:BOOL=OFF
+        -D CMAKE_BUILD_TYPE=Release
+        -D CMAKE_INSTALL_PREFIX=stage
+        -D FEATURE_printsupport:BOOL=OFF
+        -D FEATURE_testlib:BOOL=OFF
+        -D FEATURE_sql:BOOL=OFF
+        -D FEATURE_xml:BOOL=OFF
+
+    - name: Build
+      run: cmake --build build
+
+    - name: Stage
+      run: cmake --install build
+
+    - name: Pack
+      run: tar czf qt_6_11_1_macos.tgz stage
+
+    - uses: actions/upload-artifact@v7
+      name: Upload
+      with:
+        path: ${{ github.workspace }}/qt_6_11_1_macos.tgz
+        archive: false
+
+  build-qt-linux:
+    runs-on: ubuntu-latest
+
+    steps:
+    - name: Assemble
+      run: |
+        cat <<'EOF' >> build.sh
+        #!/bin/bash
+        set -e
+        dnf update -y
+        dnf install -y gcc-toolset-10-gcc-c++ cmake ninja-build \
+          gtk3-devel libX11-devel xcb-util-devel xcb-util-cursor-devel 
xcb-util-image-devel \
+          xcb-util-keysyms-devel xcb-util-renderutil-devel xcb-util-wm-devel 
libxkbcommon-devel \
+          libxkbcommon-x11-devel pulseaudio-libs-devel
+        source /opt/rh/gcc-toolset-10/enable
+        mkdir /home/munt/qt
+        cd /home/munt/qt
+        git clone --depth=1 --branch=v6.11.1 https://code.qt.io/qt/qt5.git
+        cd qt5
+        git submodule update --init --depth=1 qtbase qtshadertools qtmultimedia
+        cd ..
+        cmake -S qt5 -B build -G Ninja -D BUILD_SHARED_LIBS:BOOL=OFF -D 
CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=stage \
+          -D FEATURE_androiddeployqt:BOOL=OFF -D FEATURE_network:BOOL=OFF \
+          -D FEATURE_pdf:BOOL=OFF -D FEATURE_printsupport:BOOL=OFF -D 
FEATURE_testlib:BOOL=OFF -D FEATURE_sql:BOOL=OFF \
+          -D FEATURE_xml:BOOL=OFF -D INPUT_libjpeg:STRING=no
+        cmake --build build
+        cmake --install build
+        tar czf qt_6_11_1_linux_x64.tgz stage
+        EOF
+        chmod a+x build.sh
+        podman run --mount type=bind,source=.,destination=/home/munt \
+          --rm \
+          ghcr.io/almalinux/8-toolbox /home/munt/build.sh
+
+    - uses: actions/upload-artifact@v7
+      name: Upload
+      with:
+        path: ${{ github.workspace }}/qt/qt_6_11_1_linux_x64.tgz
+        archive: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/munt-libmt32emu_2_8_2/.github/workflows/build-release-packages.yml 
new/munt-libmt32emu_2_8_3/.github/workflows/build-release-packages.yml
--- old/munt-libmt32emu_2_8_2/.github/workflows/build-release-packages.yml      
2026-05-24 22:11:28.000000000 +0200
+++ new/munt-libmt32emu_2_8_3/.github/workflows/build-release-packages.yml      
2026-06-06 15:58:54.000000000 +0200
@@ -114,3 +114,78 @@
       with:
         path: ${{ github.workspace }}/build/mt32emu-qt-*.deb
         archive: false
+
+  build-rpms:
+    runs-on: ubuntu-latest
+
+    steps:
+    - uses: actions/checkout@v4
+
+    - name: Assemble
+      run: |
+        cat <<'EOF' >> build.sh
+        #!/bin/bash
+        set -e
+        dnf update -y
+        dnf install -y gcc-c++ cmake ninja-build rpm-build doctest-devel \
+          qt5-qtmultimedia-devel pulseaudio-libs-devel portaudio-devel 
jack-audio-connection-kit-devel
+        cd /home/munt
+        cmake -S mt32emu -B build/mt32emu -G Ninja \
+          -D CMAKE_BUILD_TYPE=Release \
+          -D libmt32emu_PACKAGE_TYPE=Runtime \
+          -D libmt32emu_WITH_VERSION_TAGGING=ON \
+          -D libmt32emu_WITH_SYMBOL_VERSIONING=ON
+        cmake --build build/mt32emu
+        cd build/mt32emu
+        ctest -V
+        cpack -G RPM
+        cmake -D libmt32emu_PACKAGE_TYPE=Devel .
+        cpack -G RPM
+        rpm -i libmt32emu-*.rpm
+        cd /home/munt
+        cmake -S mt32emu_smf2wav -B build/mt32emu_smf2wav -G Ninja \
+          -D CMAKE_BUILD_TYPE=Release
+        cmake --build build/mt32emu_smf2wav
+        cd build/mt32emu_smf2wav
+        cpack -G RPM
+        cd /home/munt
+        cmake -S mt32emu_qt -B build/mt32emu_qt -G Ninja \
+          -D CMAKE_BUILD_TYPE=Release \
+          -D mt32emu-qt_USE_JACK_DYNAMIC_LOADING=ON \
+          -D mt32emu-qt_USE_PULSEAUDIO_DYNAMIC_LOADING=OFF
+        cmake --build build/mt32emu_qt
+        cd build/mt32emu_qt
+        cpack -G RPM
+        EOF
+        chmod a+x build.sh
+        podman run --hostname alma8-toolbox.muntemu.org \
+          --mount type=bind,source=.,destination=/home/munt \
+          --rm \
+          ghcr.io/almalinux/8-toolbox /home/munt/build.sh
+
+    - uses: actions/upload-artifact@v7
+      name: Upload libmt32emu-devel
+      with:
+        path: ${{ github.workspace }}/build/mt32emu/libmt32emu-devel-*.rpm
+        archive: false
+
+    - name: Wipe libmt32emu-devel
+      run: rm build/mt32emu/libmt32emu-devel-*.rpm
+
+    - uses: actions/upload-artifact@v7
+      name: Upload libmt32emu
+      with:
+        path: ${{ github.workspace }}/build/mt32emu/libmt32emu-*.rpm
+        archive: false
+
+    - uses: actions/upload-artifact@v7
+      name: Upload mt32emu-smf2wav
+      with:
+        path: ${{ github.workspace 
}}/build/mt32emu_smf2wav/mt32emu-smf2wav-*.rpm
+        archive: false
+
+    - uses: actions/upload-artifact@v7
+      name: Upload mt32emu-qt
+      with:
+        path: ${{ github.workspace }}/build/mt32emu_qt/mt32emu-qt-*.rpm
+        archive: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/munt-libmt32emu_2_8_2/.github/workflows/build-snapshots.yml 
new/munt-libmt32emu_2_8_3/.github/workflows/build-snapshots.yml
--- old/munt-libmt32emu_2_8_2/.github/workflows/build-snapshots.yml     
2026-05-24 22:11:28.000000000 +0200
+++ new/munt-libmt32emu_2_8_3/.github/workflows/build-snapshots.yml     
2026-06-06 15:58:54.000000000 +0200
@@ -7,107 +7,42 @@
     branches: [ "master" ]
 
 jobs:
-  build-ubuntu-snapshot:
-    runs-on: ubuntu-latest
+  build-snapshots:
+    runs-on: ${{ matrix.os }}
+
+    strategy:
+      matrix:
+        os: [ubuntu-latest, macos-latest, windows-latest]
 
     defaults:
       run:
         shell: bash
-        working-directory: ${{ github.workspace }}
 
     steps:
     - uses: actions/checkout@v4
 
-    - name: Install dependencies
+    - name: Prepare build environment
+      if: runner.os == 'Windows'
+      run: |
+        export MINGW64_PATH="/c/msys64/mingw64/bin:/c/msys64/usr/bin"
+        echo $MINGW64_PATH >> $GITHUB_PATH
+        echo BUILD_PATH="PATH=$MINGW64_PATH:\$PATH" >> $GITHUB_ENV
+
+    - name: Install Ubuntu dependencies
+      if: runner.os == 'Linux'
       run: |
         sudo apt-get update
         sudo apt-get install doctest-dev libpulse-dev portaudio19-dev 
libjack-jackd2-dev qt6-multimedia-dev
 
-    - name: Configure
-      run: >
-        cmake -S . -B build
-        -G Ninja
-        -D CMAKE_BUILD_TYPE=Release
-        -D BUILD_SNAPSHOTS=ON
-        -D libmt32emu_PACKAGE_TYPE=Runtime
-        -D mt32emu-qt_USE_JACK_DYNAMIC_LOADING=ON
-        -D mt32emu-qt_USE_PULSEAUDIO_DYNAMIC_LOADING=OFF
-
-    - name: Build
-      run: cmake --build build
-
-    - name: Test
-      working-directory: ${{ github.workspace }}/build
-      run: ctest -V
-
-    - name: Package munt monolith
-      working-directory: ${{ github.workspace }}/build
-      run: cpack -G DEB
-
-    - uses: actions/upload-artifact@v7
-      name: Upload munt
-      with:
-        path: ${{ github.workspace }}/build/munt-*.deb
-        archive: false
-
-  build-macos-snapshot:
-    runs-on: macos-latest
-
-    defaults:
-      run:
-        shell: bash
-        working-directory: ${{ github.workspace }}
-
-    steps:
-    - uses: actions/checkout@v4
-
-    - name: Install dependencies
+    - name: Install macOS homebrew dependencies
+      if: runner.os == 'macOS'
       run: |
         brew update
         brew install doctest portaudio jack qtmultimedia
 
-    - name: Configure
+    - name: Install Windows MSYS64 dependencies
+      if: runner.os == 'Windows'
       run: >
-        cmake -S . -B build
-        -G Ninja
-        -D CMAKE_BUILD_TYPE=Release
-        -D BUILD_SNAPSHOTS=ON
-        -D libmt32emu_PACKAGE_TYPE=Runtime
-
-    - name: Build
-      run: cmake --build build
-
-    - name: Test
-      working-directory: ${{ github.workspace }}/build
-      run: ctest -V
-
-    - name: Package munt monolith
-      working-directory: ${{ github.workspace }}/build
-      run: cpack -G TXZ
-
-    - uses: actions/upload-artifact@v7
-      name: Upload munt
-      with:
-        path: ${{ github.workspace }}/build/munt-*.tar.xz
-        archive: false
-
-  build-windows-snapshot:
-    runs-on: windows-latest
-
-    defaults:
-      run:
-        shell: bash
-        working-directory: ${{ github.workspace }}
-
-    env:
-      MINGW64_PATH: '/c/msys64/mingw64/bin:/c/msys64/usr/bin'
-
-    steps:
-    - uses: actions/checkout@v4
-
-    - name: Install dependencies
-      run: >
-        PATH=$MINGW64_PATH:$PATH
         pacman -Sy --noconfirm
         mingw-w64-x86_64-gcc
         mingw-w64-x86_64-doctest
@@ -116,28 +51,34 @@
         mingw-w64-x86_64-jack2
         mingw-w64-x86_64-qt6-multimedia
 
-    - name: Configure
+    - name: Configuration
       run: >
-        PATH=$MINGW64_PATH:$PATH
-        cmake -S . -B build
-        -G Ninja
+        ${{ env.BUILD_PATH }}
+        cmake -S . -B build -G Ninja
         -D CMAKE_BUILD_TYPE=Release
         -D BUILD_SNAPSHOTS=ON
         -D libmt32emu_PACKAGE_TYPE=Runtime
+        -D mt32emu-qt_USE_JACK_DYNAMIC_LOADING=ON
+        -D mt32emu-qt_USE_PULSEAUDIO_DYNAMIC_LOADING=OFF
 
     - name: Build
-      run: PATH=$MINGW64_PATH:$PATH cmake --build build
+      run: ${{ env.BUILD_PATH }} cmake --build build
 
     - name: Test
       working-directory: ${{ github.workspace }}/build
-      run: PATH=$MINGW64_PATH:$PATH ctest -V
+      run: ctest -V
 
     - name: Package munt monolith
       working-directory: ${{ github.workspace }}/build
-      run: cpack -G ZIP
+      run: >
+        cpack -G ${{ case(
+          runner.os == 'Linux', 'DEB',
+          runner.os == 'macOS', 'TXZ',
+          'ZIP'
+        ) }}
 
     - uses: actions/upload-artifact@v7
       name: Upload munt
       with:
-        path: ${{ github.workspace }}/build/munt-*.zip
+        path: ${{ github.workspace }}/build/munt-*.${{ case(runner.os == 
'Linux', 'deb', runner.os == 'macOS', 'tar.xz', 'zip') }}
         archive: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/munt-libmt32emu_2_8_2/cmake/project_data.cmake 
new/munt-libmt32emu_2_8_3/cmake/project_data.cmake
--- old/munt-libmt32emu_2_8_2/cmake/project_data.cmake  2026-05-24 
22:11:28.000000000 +0200
+++ new/munt-libmt32emu_2_8_3/cmake/project_data.cmake  2026-06-06 
15:58:54.000000000 +0200
@@ -4,5 +4,5 @@
 
 set(munt_VERSION_MAJOR 2)
 set(munt_VERSION_MINOR 8)
-set(munt_VERSION_PATCH 1)
+set(munt_VERSION_PATCH 2)
 set(munt_VERSION 
"${munt_VERSION_MAJOR}.${munt_VERSION_MINOR}.${munt_VERSION_PATCH}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/munt-libmt32emu_2_8_2/mt32emu/NEWS.txt 
new/munt-libmt32emu_2_8_3/mt32emu/NEWS.txt
--- old/munt-libmt32emu_2_8_2/mt32emu/NEWS.txt  2026-05-24 22:11:28.000000000 
+0200
+++ new/munt-libmt32emu_2_8_3/mt32emu/NEWS.txt  2026-06-06 15:58:54.000000000 
+0200
@@ -1,3 +1,14 @@
+2026-06-06:
+
+       2.8.3 released.
+
+       * Reworked sanity checks for short MIDI messages. It's a continuation 
of (#134). Apparently,
+         Windows applications routinely submit garbage in the unused data 
bytes of packed 32-bit
+         short messages. Therefore, we now check the used (in the MIDI sense) 
bytes only.
+         Additionally, unsupported messages are now better handled and no 
longer produce misleading
+         debug output when enabled. (#147)
+
+
 2026-05-24:
 
        2.8.2 released.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/munt-libmt32emu_2_8_2/mt32emu/cmake/project_data.cmake 
new/munt-libmt32emu_2_8_3/mt32emu/cmake/project_data.cmake
--- old/munt-libmt32emu_2_8_2/mt32emu/cmake/project_data.cmake  2026-05-24 
22:11:28.000000000 +0200
+++ new/munt-libmt32emu_2_8_3/mt32emu/cmake/project_data.cmake  2026-06-06 
15:58:54.000000000 +0200
@@ -4,5 +4,5 @@
 
 set(libmt32emu_VERSION_MAJOR 2)
 set(libmt32emu_VERSION_MINOR 8)
-set(libmt32emu_VERSION_PATCH 2)
+set(libmt32emu_VERSION_PATCH 3)
 set(libmt32emu_VERSION 
"${libmt32emu_VERSION_MAJOR}.${libmt32emu_VERSION_MINOR}.${libmt32emu_VERSION_PATCH}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/munt-libmt32emu_2_8_2/mt32emu/src/Synth.cpp 
new/munt-libmt32emu_2_8_3/mt32emu/src/Synth.cpp
--- old/munt-libmt32emu_2_8_2/mt32emu/src/Synth.cpp     2026-05-24 
22:11:28.000000000 +0200
+++ new/munt-libmt32emu_2_8_3/mt32emu/src/Synth.cpp     2026-06-06 
15:58:54.000000000 +0200
@@ -1160,13 +1160,27 @@
 void Synth::playMsgNow(Bit32u msg) {
        if (!opened) return;
 
+       Bit8u command = Bit8u((msg & 0x0000F0) >> 4);
+
        // NOTE: Active sense IS implemented in real hardware. However, 
realtime processing is clearly out of the library scope.
        //       It is assumed that realtime consumers of the library respond 
to these MIDI events as appropriate.
+       if (command == 0x0F) {
+#if MT32EMU_MONITOR_MIDI > 0
+               printDebug("Unsupported MIDI System Common / Realtime: 0x%08x", 
msg);
+#endif
+               return;
+       }
+
+       if (command < 8) {
+#if MT32EMU_MONITOR_MIDI > 0
+               printDebug("playMsgNow for msg=0x%08x relies on running status; 
unsupported", msg);
+#endif
+               return;
+       }
 
-       Bit8u command = Bit8u((msg & 0x0000F0) >> 4);
        Bit8u chan = Bit8u(msg & 0x00000F);
        Bit8u data1 = Bit8u((msg & 0x00FF00) >> 8);
-       Bit8u data2 = Bit8u((msg & 0xFF0000) >> 16);
+       Bit8u data2 = ((command & 0x0E) == 0x0C) ? 0 : Bit8u((msg & 0xFF0000) 
>> 16);
 
        if (data1 > 127 || data2 > 127) {
 #if MT32EMU_MONITOR_MIDI > 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/munt-libmt32emu_2_8_2/mt32emu/src/Synth.h 
new/munt-libmt32emu_2_8_3/mt32emu/src/Synth.h
--- old/munt-libmt32emu_2_8_2/mt32emu/src/Synth.h       2026-05-24 
22:11:28.000000000 +0200
+++ new/munt-libmt32emu_2_8_3/mt32emu/src/Synth.h       2026-06-06 
15:58:54.000000000 +0200
@@ -379,12 +379,14 @@
        // Calls from multiple threads must be synchronised, although, no 
synchronisation is required with the rendering thread.
        // The methods return false if the MIDI event queue is full and the 
message cannot be enqueued.
 
-       // Enqueues a single short MIDI message to play at specified time. The 
message must contain a status byte.
+       // Enqueues a single short MIDI message to play at specified time. The 
message must contain a status byte and one or two data
+       // bytes (as appropriate for the MIDI command).
        MT32EMU_EXPORT bool playMsg(Bit32u msg, Bit32u timestamp);
        // Enqueues a single well formed System Exclusive MIDI message to play 
at specified time.
        MT32EMU_EXPORT bool playSysex(const Bit8u *sysex, Bit32u len, Bit32u 
timestamp);
 
-       // Enqueues a single short MIDI message to be processed ASAP. The 
message must contain a status byte.
+       // Enqueues a single short MIDI message to be processed ASAP. The 
message must contain a status byte and one or two data
+       // bytes (as appropriate for the MIDI command).
        MT32EMU_EXPORT bool playMsg(Bit32u msg);
        // Enqueues a single well formed System Exclusive MIDI message to be 
processed ASAP.
        MT32EMU_EXPORT bool playSysex(const Bit8u *sysex, Bit32u len);
@@ -394,8 +396,8 @@
        // sequential MIDI events, and a sequence of NoteOn and immediately 
succeeding NoteOff messages is always silent.
        // A thread that invokes these methods must be explicitly synchronised 
with the thread performing sample rendering or be the same.
 
-       // Sends a short MIDI message to the synth for immediate playback. The 
message must contain a status byte and two data bytes,
-       // otherwise it is ignored.
+       // Sends a short MIDI message to the synth for immediate playback. The 
message must contain a status byte and one or two data
+       // bytes (as appropriate for the MIDI command), otherwise it is ignored.
        // See the WARNING above.
        MT32EMU_EXPORT void playMsgNow(Bit32u msg);
        // Sends unpacked short MIDI message to the synth for immediate 
playback. All the message parameters must be within the supported
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/munt-libmt32emu_2_8_2/mt32emu/src/c_interface/c_interface.h 
new/munt-libmt32emu_2_8_3/mt32emu/src/c_interface/c_interface.h
--- old/munt-libmt32emu_2_8_2/mt32emu/src/c_interface/c_interface.h     
2026-05-24 22:11:28.000000000 +0200
+++ new/munt-libmt32emu_2_8_3/mt32emu/src/c_interface/c_interface.h     
2026-06-06 15:58:54.000000000 +0200
@@ -355,12 +355,18 @@
  */
 MT32EMU_EXPORT void MT32EMU_C_CALL 
mt32emu_play_short_message_at(mt32emu_const_context context, mt32emu_bit32u 
message, mt32emu_bit32u timestamp);
 
-/** Enqueues a single short MIDI message to be processed ASAP. The message 
must contain a status byte. */
+/**
+ * Enqueues a single short MIDI message to be processed ASAP. The message must 
contain a status byte and one or two data
+ * bytes (as appropriate for the MIDI command).
+ */
 MT32EMU_EXPORT mt32emu_return_code MT32EMU_C_CALL 
mt32emu_play_msg(mt32emu_const_context context, mt32emu_bit32u msg);
 /** Enqueues a single well formed System Exclusive MIDI message to be 
processed ASAP. */
 MT32EMU_EXPORT mt32emu_return_code MT32EMU_C_CALL 
mt32emu_play_sysex(mt32emu_const_context context, const mt32emu_bit8u *sysex, 
mt32emu_bit32u len);
 
-/** Enqueues a single short MIDI message to play at specified time. The 
message must contain a status byte. */
+/**
+ * Enqueues a single short MIDI message to play at specified time. The message 
must contain a status byte and one or two data
+ * bytes (as appropriate for the MIDI command).
+ */
 MT32EMU_EXPORT mt32emu_return_code MT32EMU_C_CALL 
mt32emu_play_msg_at(mt32emu_const_context context, mt32emu_bit32u msg, 
mt32emu_bit32u timestamp);
 /** Enqueues a single well formed System Exclusive MIDI message to play at 
specified time. */
 MT32EMU_EXPORT mt32emu_return_code MT32EMU_C_CALL 
mt32emu_play_sysex_at(mt32emu_const_context context, const mt32emu_bit8u 
*sysex, mt32emu_bit32u len, mt32emu_bit32u timestamp);
@@ -372,8 +378,8 @@
  */
 
 /**
- * Sends a short MIDI message to the synth for immediate playback. The message 
must contain a status byte and two data bytes,
- * otherwise it is ignored.
+ * Sends a short MIDI message to the synth for immediate playback. The message 
must contain a status byte and one or two data
+ * bytes (as appropriate for the MIDI command), otherwise it is ignored.
  * See the WARNING above.
  */
 MT32EMU_EXPORT void MT32EMU_C_CALL mt32emu_play_msg_now(mt32emu_const_context 
context, mt32emu_bit32u msg);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/munt-libmt32emu_2_8_2/mt32emu/src/test/SynthTest.cpp 
new/munt-libmt32emu_2_8_3/mt32emu/src/test/SynthTest.cpp
--- old/munt-libmt32emu_2_8_2/mt32emu/src/test/SynthTest.cpp    2026-05-24 
22:11:28.000000000 +0200
+++ new/munt-libmt32emu_2_8_3/mt32emu/src/test/SynthTest.cpp    2026-06-06 
15:58:54.000000000 +0200
@@ -462,6 +462,8 @@
 
        CHECK_FALSE(synth.isActive());
 
+       SUBCASE("Unsupported MIDI System Realtime") { synth.playMsgNow(0xFE); }
+
        SUBCASE("Packed message lacking data bytes") { 
synth.playMsgNow(0xFFFFFF91); }
 
        SUBCASE("Unpacked message lacking data bytes") { synth.playMsgOnPart(0, 
9, 36, 240); }
@@ -475,6 +477,31 @@
        CHECK_FALSE(synth.isActive());
 }
 
+TEST_CASE("Synth ignores invalid values in unused data bytes of packed short 
MIDI messages") {
+       Synth synth;
+       ROMSet romSet;
+       romSet.initMT32New();
+       openSynth(synth, romSet);
+
+       SUBCASE("Packed message with 2 data bytes and garbage in the most 
significant byte") {
+               sendSineWaveSysex(synth, 1);
+               CHECK_FALSE(synth.isActive());
+               synth.playMsgNow(0xFF443691);
+               CHECK(synth.isActive());
+       }
+
+       SUBCASE("Packed message with garbage in the unused data byte") {
+               Bit8u data[2];
+               synth.readMemory(0x00C070, 2, data);
+               CHECK(data[0] == 0);
+               CHECK(data[1] == 0);
+               synth.playMsgNow(0x8856C8);
+               synth.readMemory(0x00C070, 2, data);
+               CHECK(data[0] == 1);
+               CHECK(data[1] == 22);
+       }
+}
+
 TEST_CASE("Synth should set Master Volume via SysEx and override optionally") {
        Synth synth;
        ROMSet romSet;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/munt-libmt32emu_2_8_2/mt32emu_qt/NEWS.txt 
new/munt-libmt32emu_2_8_3/mt32emu_qt/NEWS.txt
--- old/munt-libmt32emu_2_8_2/mt32emu_qt/NEWS.txt       2026-05-24 
22:11:28.000000000 +0200
+++ new/munt-libmt32emu_2_8_3/mt32emu_qt/NEWS.txt       2026-06-06 
15:58:54.000000000 +0200
@@ -1,3 +1,9 @@
+2026-06-06:
+
+       1.12.2 released.
+
+       * Updated mt32emu library to version 2.8.3.
+
 2026-05-24:
 
        1.12.1 released.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/munt-libmt32emu_2_8_2/mt32emu_qt/cmake/project_data.cmake 
new/munt-libmt32emu_2_8_3/mt32emu_qt/cmake/project_data.cmake
--- old/munt-libmt32emu_2_8_2/mt32emu_qt/cmake/project_data.cmake       
2026-05-24 22:11:28.000000000 +0200
+++ new/munt-libmt32emu_2_8_3/mt32emu_qt/cmake/project_data.cmake       
2026-06-06 15:58:54.000000000 +0200
@@ -4,5 +4,5 @@
 
 set(mt32emu_qt_VERSION_MAJOR 1)
 set(mt32emu_qt_VERSION_MINOR 12)
-set(mt32emu_qt_VERSION_PATCH 1)
+set(mt32emu_qt_VERSION_PATCH 2)
 set(mt32emu_qt_VERSION 
"${mt32emu_qt_VERSION_MAJOR}.${mt32emu_qt_VERSION_MINOR}.${mt32emu_qt_VERSION_PATCH}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/munt-libmt32emu_2_8_2/mt32emu_smf2wav/cmake/project_data.cmake 
new/munt-libmt32emu_2_8_3/mt32emu_smf2wav/cmake/project_data.cmake
--- old/munt-libmt32emu_2_8_2/mt32emu_smf2wav/cmake/project_data.cmake  
2026-05-24 22:11:28.000000000 +0200
+++ new/munt-libmt32emu_2_8_3/mt32emu_smf2wav/cmake/project_data.cmake  
2026-06-06 15:58:54.000000000 +0200
@@ -4,5 +4,5 @@
 
 set(mt32emu_smf2wav_VERSION_MAJOR 1)
 set(mt32emu_smf2wav_VERSION_MINOR 9)
-set(mt32emu_smf2wav_VERSION_PATCH 2)
+set(mt32emu_smf2wav_VERSION_PATCH 3)
 set(mt32emu_smf2wav_VERSION 
"${mt32emu_smf2wav_VERSION_MAJOR}.${mt32emu_smf2wav_VERSION_MINOR}.${mt32emu_smf2wav_VERSION_PATCH}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/munt-libmt32emu_2_8_2/mt32emu_win32drv/NEWS.txt 
new/munt-libmt32emu_2_8_3/mt32emu_win32drv/NEWS.txt
--- old/munt-libmt32emu_2_8_2/mt32emu_win32drv/NEWS.txt 2026-05-24 
22:11:28.000000000 +0200
+++ new/munt-libmt32emu_2_8_3/mt32emu_win32drv/NEWS.txt 2026-06-06 
15:58:54.000000000 +0200
@@ -1,3 +1,9 @@
+2026-06-06:
+
+       1.9.2 released.
+
+       * Updated mt32emu library to version 2.8.3.
+
 2026-05-24:
 
        1.9.1 released.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/munt-libmt32emu_2_8_2/mt32emu_win32drv/cmake/project_data.cmake 
new/munt-libmt32emu_2_8_3/mt32emu_win32drv/cmake/project_data.cmake
--- old/munt-libmt32emu_2_8_2/mt32emu_win32drv/cmake/project_data.cmake 
2026-05-24 22:11:28.000000000 +0200
+++ new/munt-libmt32emu_2_8_3/mt32emu_win32drv/cmake/project_data.cmake 
2026-06-06 15:58:54.000000000 +0200
@@ -4,5 +4,5 @@
 
 set(mt32emu_win32drv_VERSION_MAJOR 1)
 set(mt32emu_win32drv_VERSION_MINOR 9)
-set(mt32emu_win32drv_VERSION_PATCH 1)
+set(mt32emu_win32drv_VERSION_PATCH 2)
 set(mt32emu_win32drv_VERSION 
"${mt32emu_win32drv_VERSION_MAJOR}.${mt32emu_win32drv_VERSION_MINOR}.${mt32emu_win32drv_VERSION_PATCH}")

Reply via email to