- 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
This commit is contained in:
Takashi Iwai 2024-11-05 13:32:31 +00:00 committed by Git OBS Bridge
commit 264b314769
9 changed files with 476 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:23316db96bcb5238e07c3d033832322c56159ab8ba27e7471fd1fbbf781d3047
size 811416

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f93bc2227dc47adcc834f0de3ce5f75eb297a681b986c09ceb118c0634f3adcf
size 812511

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:46af5bdc36649dca8cda8631428c91946ba131824ca3b3eca37dc67e2530bc5c
size 813488

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cd929e69a62e880d88213fb4c2acd50e49e9454c084965b0d2d1b0e0d639d858
size 805758

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5143f621841efe1abc4646fe5389b24d3d6b73752f38049112ecb8fd69eddd4a
size 807772

324
libsidplayfp.changes Normal file
View File

@ -0,0 +1,324 @@
-------------------------------------------------------------------
Sun Nov 3 19:36:00 UTC 2024 - Martin Hauke <mardnh@gmx.de>
- 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 <mardnh@gmx.de>
- Update to version 2.10.1
* residfp: fixed digiboost.
* residfp: fixed combined waveforms.
-------------------------------------------------------------------
Sun Oct 6 13:05:51 UTC 2024 - Martin Hauke <mardnh@gmx.de>
- 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 <mardnh@gmx.de>
- 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 <mardnh@gmx.de>
- 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 <mardnh@gmx.de>
- 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 <mardnh@gmx.de>
- 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 <mardnh@gmx.de>
- 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 <mardnh@gmx.de>
- >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 <andrea.manzini@suse.com>
- 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 <bjorn.lie@gmail.com>
- 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 <mardnh@gmx.de>
- 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 <dmueller@suse.com>
- 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=<sse2/mmx/neon/none>
* 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 <rpm@fthiessen.de>
- 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

113
libsidplayfp.spec Normal file
View File

@ -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