commit 264b314769dffa38297a0413af1be85183585e033b08dccc7476f7b72b5ec98a Author: Takashi Iwai Date: Tue Nov 5 13:32:31 2024 +0000 - Update to version 2.11.0 * Removed buffer size limit from mixer. * residfp: avoid quantization noise. * residfp: implemented 6581 DC drift. * residfp: properly adjusted 8580 Vref value. OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libsidplayfp?expand=0&rev=32 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/libsidplayfp-2.10.0.tar.gz b/libsidplayfp-2.10.0.tar.gz new file mode 100644 index 0000000..10309e5 --- /dev/null +++ b/libsidplayfp-2.10.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23316db96bcb5238e07c3d033832322c56159ab8ba27e7471fd1fbbf781d3047 +size 811416 diff --git a/libsidplayfp-2.10.1.tar.gz b/libsidplayfp-2.10.1.tar.gz new file mode 100644 index 0000000..b51cbcb --- /dev/null +++ b/libsidplayfp-2.10.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f93bc2227dc47adcc834f0de3ce5f75eb297a681b986c09ceb118c0634f3adcf +size 812511 diff --git a/libsidplayfp-2.11.0.tar.gz b/libsidplayfp-2.11.0.tar.gz new file mode 100644 index 0000000..a3912ba --- /dev/null +++ b/libsidplayfp-2.11.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46af5bdc36649dca8cda8631428c91946ba131824ca3b3eca37dc67e2530bc5c +size 813488 diff --git a/libsidplayfp-2.8.0.tar.gz b/libsidplayfp-2.8.0.tar.gz new file mode 100644 index 0000000..532bfb2 --- /dev/null +++ b/libsidplayfp-2.8.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd929e69a62e880d88213fb4c2acd50e49e9454c084965b0d2d1b0e0d639d858 +size 805758 diff --git a/libsidplayfp-2.9.0.tar.gz b/libsidplayfp-2.9.0.tar.gz new file mode 100644 index 0000000..a5a3653 --- /dev/null +++ b/libsidplayfp-2.9.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5143f621841efe1abc4646fe5389b24d3d6b73752f38049112ecb8fd69eddd4a +size 807772 diff --git a/libsidplayfp.changes b/libsidplayfp.changes new file mode 100644 index 0000000..527f28a --- /dev/null +++ b/libsidplayfp.changes @@ -0,0 +1,324 @@ +------------------------------------------------------------------- +Sun Nov 3 19:36:00 UTC 2024 - Martin Hauke + +- Update to version 2.11.0 + * Removed buffer size limit from mixer. + * residfp: avoid quantization noise. + * residfp: implemented 6581 DC drift. + * residfp: properly adjusted 8580 Vref value. + +------------------------------------------------------------------- +Sun Oct 20 20:14:40 UTC 2024 - Martin Hauke + +- Update to version 2.10.1 + * residfp: fixed digiboost. + * residfp: fixed combined waveforms. + +------------------------------------------------------------------- +Sun Oct 6 13:05:51 UTC 2024 - Martin Hauke + +- Update to version 2.10.0 + * Add support for c++20 where available. + * residfp: retuned cw parameters after measuring waves RMS. + * residfp: code refactoring and minor performance optimizations. + * resid/residfp: scale down filter inputs in the mixer for 6581. + * Centralized handling of muted voices and allow muting samples. + * new API to toggle the filter and deprecated sidplayfp::filter. + +------------------------------------------------------------------- +Sun Aug 25 16:52:01 UTC 2024 - Martin Hauke + +- Update to version 2.9.0 + * residfp: use c++11 threads for building filter tables. + * residfp: code modernization and minor performance optimizations + * Performance optimizations. + +------------------------------------------------------------------- +Sat Jun 15 12:32:28 UTC 2024 - Martin Hauke + +- Update to version 2.8.0 + * Optimized event scheduler. + * Stop pretendig we support pre-c++11 compilers. + * Fixed thread unsafety for psid_driver. + * residfp: do not cache resampling tables. + * resid/residfp: tuned oscillator leakage. +- Temporarily disable SIMD optimization on x86_64 + +------------------------------------------------------------------- +Sun May 19 12:52:40 UTC 2024 - Martin Hauke + +- Update to version 2.7.1 + * Sync resid with upstream. + * Make strong CWs the default. + * Downtune the leakage parameter a bit. + * Fix UBSan complaint abount uninitialized var 'is6581'. + +------------------------------------------------------------------- +Fri Mar 29 19:25:07 UTC 2024 - Martin Hauke + +- Update to version 2.7.0 + * residfp: refactor residfp filter. + * residfp: added ability to adjust the uCox parameter at runtime. + * residfp: allow setting the combined waveforms strength. + * resid/residfp: emulate oscillator leakage. + +------------------------------------------------------------------- +Mon Jan 1 10:04:11 UTC 2024 - Martin Hauke + +- Update to version 2.6.0 + * residfp is now thread-safe. + * residfp: fixed SSE2 version of convolve. + * residfp: updated combined waveforms model. + * residfp: amplify the output by a model dependent scale factor. + * a couple of autotools fixes. + +------------------------------------------------------------------- +Sat Dec 23 11:33:14 UTC 2023 - Martin Hauke + +- >Update to version 2.5.1 + * Check for {g,}od at configure time. + * residfp: fix a 6581 filter bug where values could actually go + negative. + * Sync resid with upstream. +- Drop patch: + * fix-missing-include.patch (not longer needed) + +------------------------------------------------------------------- +Thu Jul 6 20:55:10 UTC 2023 - Andrea Manzini + +- Update to version 2.5.0 + * residfp: reworked the combined waveforms model by separating pulldown effect from waveform generation + * residfp: tweaked the 8580 filter parameters for increased volume and less distortion (#45) + * Updated to latest resid + * Use OpenMP to speedup LUTs initialization + * CIA: minor rework based on chip reverse engineering + * Use c++17 where available + * Added sanity check for buffer size + * Minor mixer optimizations + * Other minor changes + +------------------------------------------------------------------- +Sat Apr 1 21:08:40 UTC 2023 - Bjørn Lie + +- Add fix-missing-include.patch: Add missing include exposed by gcc + 13. +- Use ldconfig_scriptlets macro. + +------------------------------------------------------------------- +Tue Feb 14 12:24:22 UTC 2023 - Martin Hauke + +- Update to version 2.4.2 + * Fixed a memory leak. + * Minor fixes. +- Update to version 2.4.1 + * Fixed a memory leak introduced in 2.1.0. +- Update to version 2.4.0 + * Use pkgconfig for UnitTest++ and libgcrypt support. + * residfp: correct 6581 volume gain based on schematics. + * residfp: fixed more PVS-Studio warnings. + * residfp: refactoring, changes and cleanup. + * residfp: updated the combined waveform model. + * Synced resid with upstream. + * Fixed a "comparison-with-wider-type" alert in the MUS loader. + * Other minor changes. + +------------------------------------------------------------------- +Fri Feb 11 22:48:23 UTC 2022 - Dirk Müller + +- update to 2.3.1: + * VIC II: check badline enabled condition on raster Y increment. Fixes CPU/shxy/shx-test + * Disable digiboost for residfp when not required (issue #37) + * residfp: fixed some PVS-Studio warnings. (issues #20 #21 #23 #28) + * residfp: share dac tables between voices, saves a few Kb and some initialization time (issues #34 #26) + * CIA: rework interrupt implementation based on Denise emu code, fixes CIA/dd0dtest/dd0dtest (issue #29) + * c64: return pseudo random numbers when reading from the I/O Area as the VIC fetches are not emulated. + Fixes C64/openio/gauntlet test + * VIC-II: fix lightpen X coordinate calculation. Makes VICII/split-tests/lightpen/lightpen test pass + * songlengthdb: fix possible corrupted data (issue #32) + * VIC-II: fix NTSC badline timing and improve cycle skipping + * CIA: minor refactoring + * Fixed a few minor PVS-Studio flagged issues + * reSIDfp: added NEON (by Christopher Snowhill) and SSE2 version of convolution function + the configure option has been changed to --with-simd= + * Exposed last values written to the SID registers. Based on patch by Stian Skjelstad + * API additions: + - Splitted ROM functions + - Added CIA 6526 4485 model setting, mostly for testing + - Added function for loading database from unicode path on Windows + - Added function for loading tunes using a custom loader callback +- enable SIMD on aarch64/x86_64 + +------------------------------------------------------------------- +Mon Apr 26 12:04:39 UTC 2021 - Ferdinand Thiessen + +- Update to version 2.1.2: + * songlength DB: fix parsing of milliseconds with leading zeroes + * Fixed building hardsid support + * reSIDfp: shift register regression fixes + * Updated RAM init pattern similar to how it's done in VICE + * Do not use smart pointers in public headers + (Warning! breaks ABI compatibility) + * resid/residfp: Use soft instead of hard clipping + rough implementation of bitfade + * residfp: better bandpass frequency calculation, + updated 8580 resistor ratios based on schematics and adjusted + voltage range, updated TTL values, assume a high impedance + audio amplifier yielding an 1.6Hz high-pass +- Update to version 2.0.5: + * Fixed CIA SDR handling, code borrowed from Denise emulator + * Fixed external filter coefficients calculation in resid/residfp + * Update osc3 on waveform zero in resid/residfp + * Further improved CPU/CIA/VICII emulation based on VICE testprogs + * Fixed an envelope generator regression in resid/residfp + * Improved noise+pulse interaction in resid/residfp + * Avoid saturation of residfp 8580 filter + * Adjusted residfp 6581 filter parameter range + * Recalculate noise output when actually changed in residfp + * Fix loading stereo mus tunes + * Fix residfp envelope + * Make digiboost work with resid + * Make MUS loading more robust to malformed files + * Reworked SidDatabase API + * Fix hang on exit + * CIA model is now configurable + * Added digiboost support + * Added support for milliseconds in SLDB + * Improved 8580 filter + * CIA and SID fixes ported from VICE + * Added MOS 6573 (PAL-M) emulation + * Other minor fixes and code cleanup + * Do not use kernal calls in psid driver + +------------------------------------------------------------------- +Fri Jan 13 10:04:19 UTC 2017 - olaf@aepfle.de + +- Update to version 1.8.7 + * Fix out of range tune selection + * Reenable accidentally broken branch hints in residfp + * Minor fix in VIC-II code ported from VICE + * Fix an off-by-one error in mixer code + * Slightly improve some combined waveforms + * Fix a regression in VIC-II code + * Improve combined waveforms emulation + * Fix a possible crash when locking a sid device fails + * Fix an overflow in resid/residfp for 8580 output, noticed in /MUSICIANS/L/Linus/64_Forever.sid + * Use log1p in resid/residfp for improved precision of 6581 filter parameter calculation + * Fix a warning in PSID model checking + * Fix running with -b parameter + * Attenuate second chip output by 3dB in 3SID mode as it is mixed in both channels + * Fix uninitialized vars + * Fix a regresion in MUS loader introduced in 1.8.0 + * Fix a regresion in STIL + * Rework and clean tune loading to be more portable + * Add support for 3SID files (PSID v4) + * Check if lightpen is really triggered before changing state + * Define WIN32_LEAN_AND_MEAN when compiling on MinGW + * Other minor fixes and improvements + * Fix interpolation outside bounds in reSIDfp + * Remove redundant code in PSID loader + * Fix reported number of channels + * Install psid driver before placing tune, fixes BASIC tunes and /MUSICIANS/L/Legg_Stephen/Steigar.sid + * Apply volume to channels, not to chips output + +------------------------------------------------------------------- +Thu Feb 12 22:38:52 UTC 2015 - p.drouand@gmail.com + +- Update to version 1.7.0 + * Add an interface to access tune data + * Remove generated files only for maintainer-clean target (bug #14) + * Rework Makefile rules for generated files + * Silence some warnings + * Other minor changes in reSIDfp + * Merge minor changes from zxtune fork + +------------------------------------------------------------------- +Fri Oct 17 13:19:20 UTC 2014 - olaf@aepfle.de + +- Update to 1.6.0 + * Make PSID loader adhere to spec when handling 2nd SID address + * Improve PAL/NTSC switch handling + * Reset rom descriptions if rom is not loaded + * Fix a memory leak due to deleting auto_ptr to incomplete type (bug #13) + * Fix Drean TOD frequency + * Rework lightpen emulation based on VICE's code + * Internal code refactoring +- Update to 1.5.3 + * Copy poweron pattern in memory only if real c64 compatibility is needed, fixes /MUSICIANS/B/Brennan_Neil/Super_Pac-Man.sid +- Update to 1.5.2 + * Restore original iomap function, fixes /MUSICIANS/C/Cooksey_Mark/Airwolf.sid +- Update to 1.5.1 + * Correctly interpret second sid address from PSID tunes header, fixes /MUSICIANS/T/TSM/Fiki_Fiki_2SID.sid + * Fix a signedness warning +- Update to 1.5.0 + * Port CIA TOD fixes from VICE + * Port some VIC-II changes from VICE + * Check load address only for RSID tunes, fixes Hellbound from Shining 8 + * Minor changes to reSIDfp + * Other minor fixes and improvements + +------------------------------------------------------------------- +Fri Jul 11 14:54:51 UTC 2014 - reddwarf@opensuse.org + +- Update to 1.4.2 + * Fix a typo made during merging in VIC II code + * Use vector instead of non-standard VLA +- Update to 1.4.1 + * Fix crash when trying to open a directory on *NIX + * Various VIC II fixes, makes /MUSICIANS/T/The_Power_Terminator/Act_of_Revenge.sid play at the right speed +- Update to 1.4.0 + * Drive the CIA TOD counter using the actual power line frequency + * Cleanup playing routine + * Fix residfp's distorted sound on Mahoney's Kapla Caves + * Rewrite residfp's interpolation routine using Fritsch-Carlson method to preserve monotonicity + * Reduce size of some residfp's structures +- Update to 1.3.0 + * Port some missing VIC-II changes from jsidplay2 + * Port missing changes from reSID to reSIDfp + * Fix a bug in psid driver that broke /DEMOS/G-L/Gott_Och_Blandat.sid + * Fix building with --disable-inline + * Other minor fixes and improvements +- Update to 1.2.2 + * Extend the waveform TTL to about one second to fix /MUSICIANS/P/PVCF/Thomkat_with_Strange_End.sid + * Reduce oversized array in reSIDfp +- Update to 1.2.1 + * Fix a bug in VIC-II that broke DEMOS/S-Z/Still_Got_the_Booze_tune_5.sid + * Fix some wrong values printed by the cpu debugger +- Update to 1.2.0 + * Clean up includes with the help of IWYU (http://code.google.com/p/include-what-you-use/) + * Improve checks for non-standard functions + * Enable use of graphviz for doxygen documentation + * Refactor mixer to be more clean and flexible + * Improve the clock frequency calculation. Should fix the slightly off PAL-B clock + * Fix a memory leak introduced in r1015 (bug #11) + * Some internal refactoring + +------------------------------------------------------------------- +Thu Nov 28 13:05:23 UTC 2013 - reddwarf@opensuse.org + +- Update to 1.1.0 + +------------------------------------------------------------------- +Sat Aug 17 17:29:58 UTC 2013 - reddwarf@opensuse.org + +- Update to 1.0.3 + +------------------------------------------------------------------- +Sat Jun 1 23:18:06 UTC 2013 - reddwarf@opensuse.org + +- Update to 1.0.2 + +------------------------------------------------------------------- +Wed Apr 17 17:05:00 UTC 2013 - reddwarf@opensuse.org + +- Update to 1.0.1 + +------------------------------------------------------------------- +Wed Feb 13 18:10:20 UTC 2013 - reddwarf@opensuse.org + +- Update to 1.0.0 + +------------------------------------------------------------------- +Sat Sep 1 09:36:29 UTC 2012 - reddwarf@opensuse.org + +- Initial package + diff --git a/libsidplayfp.spec b/libsidplayfp.spec new file mode 100644 index 0000000..232e613 --- /dev/null +++ b/libsidplayfp.spec @@ -0,0 +1,113 @@ +# +# spec file for package libsidplayfp +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define soname 6 +%define stilview_soname 0 +Name: libsidplayfp +Version: 2.11.0 +Release: 0 +Summary: A library to play Commodore 64 music +License: GPL-2.0-or-later +Group: System/Libraries +#Git-Clone: https://github.com/libsidplayfp/libsidplayfp.git +URL: https://sourceforge.net/projects/sidplay-residfp/ +Source0: https://sourceforge.net/projects/sidplay-residfp/files/libsidplayfp/2.11/libsidplayfp-%{version}.tar.gz +BuildRequires: gcc-c++ +BuildRequires: libgcrypt-devel +BuildRequires: pkgconfig +BuildRequires: pkgconfig(libftdi1) + +%description +A library to play Commodore 64 music based on libsidplay2. + +%package -n libsidplayfp%{soname} +Summary: A library to play Commodore 64 music +Group: System/Libraries + +%description -n libsidplayfp%{soname} +A library to play Commodore 64 music based on libsidplay2. + +%package devel +Summary: Development files for libsidplayfp +Group: Development/Libraries/C and C++ +Requires: libsidplayfp%{soname} = %{version} + +%description devel +This package contains headers and libraries required to build applications that +use libsidplayfp. + +%package -n libstilview%{stilview_soname} +Summary: A library to play Commodore 64 music +Group: System/Libraries + +%description -n libstilview%{stilview_soname} +A library to play Commodore 64 music based on libsidplay2. + +%package -n libstilview-devel +Summary: Development files for libstilview +Group: Development/Libraries/C and C++ +Requires: libstilview%{stilview_soname} = %{version} + +%description -n libstilview-devel +This package contains headers and libraries required to build applications that +use libstilview. + +%prep +%autosetup -p1 + +%build +%ifarch x86_64 +EXTRA="--with-simd=none" +%endif +%ifarch aarch64 +EXTRA="--with-simd=neon" +%endif + +%configure --disable-static $EXTRA +%make_build + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%ldconfig_scriptlets -n libsidplayfp%{soname} +%ldconfig_scriptlets -n libstilview%{stilview_soname} + +%check + +%files -n libsidplayfp%{soname} +%license COPYING +%{_libdir}/libsidplayfp.so.%{soname}* + +%files -n libstilview%{stilview_soname} +%license COPYING +%{_libdir}/libstilview.so.%{stilview_soname}* + +%files devel +%doc AUTHORS NEWS README TODO +%{_libdir}/libsidplayfp.so +%{_includedir}/sidplayfp/ +%{_libdir}/pkgconfig/libsidplayfp.pc + +%files -n libstilview-devel +%doc AUTHORS NEWS README TODO +%{_libdir}/libstilview.so +%{_includedir}/stilview/ +%{_libdir}/pkgconfig/libstilview.pc + +%changelog