Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package sidplayfp for openSUSE:Factory checked in at 2024-04-02 16:42:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sidplayfp (Old) and /work/SRC/openSUSE:Factory/.sidplayfp.new.1905 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sidplayfp" Tue Apr 2 16:42:34 2024 rev:7 rq:1163691 version:2.7.0 Changes: -------- --- /work/SRC/openSUSE:Factory/sidplayfp/sidplayfp.changes 2024-01-17 22:16:35.233833978 +0100 +++ /work/SRC/openSUSE:Factory/.sidplayfp.new.1905/sidplayfp.changes 2024-04-02 16:44:09.888907331 +0200 @@ -1,0 +2,9 @@ +Fri Mar 29 19:27:43 UTC 2024 - Martin Hauke <[email protected]> + +- Update to version 2.7.0 + * added ability to adjust the uCox parameter. + * allow setting the combined waveforms strength. + * enable libout123 by default if found. + * improved the ALSA backend. + +------------------------------------------------------------------- Old: ---- sidplayfp-2.6.2.tar.gz New: ---- sidplayfp-2.7.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sidplayfp.spec ++++++ --- /var/tmp/diff_new_pack.hR46wo/_old 2024-04-02 16:44:10.448927321 +0200 +++ /var/tmp/diff_new_pack.hR46wo/_new 2024-04-02 16:44:10.448927321 +0200 @@ -18,14 +18,14 @@ Name: sidplayfp -Version: 2.6.2 +Version: 2.7.0 Release: 0 Summary: SID chip music module player License: GPL-2.0-or-later Group: Productivity/Multimedia/Sound/Players #Git-Clone: https://github.com/libsidplayfp/sidplayfp.git URL: https://sourceforge.net/projects/sidplay-residfp/ -Source0: https://sourceforge.net/projects/sidplay-residfp/files/sidplayfp/2.6/sidplayfp-%{version}.tar.gz +Source0: https://sourceforge.net/projects/sidplay-residfp/files/sidplayfp/2.7/sidplayfp-%{version}.tar.gz BuildRequires: gcc-c++ BuildRequires: pkgconfig BuildRequires: pkgconfig(alsa) @@ -47,6 +47,8 @@ %install %make_install +%check + %files %license COPYING %doc AUTHORS README TODO ++++++ sidplayfp-2.6.2.tar.gz -> sidplayfp-2.7.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sidplayfp-2.6.2/Makefile.am new/sidplayfp-2.7.0/Makefile.am --- old/sidplayfp-2.6.2/Makefile.am 2024-01-11 16:58:49.000000000 +0100 +++ new/sidplayfp-2.7.0/Makefile.am 2024-03-29 18:18:10.000000000 +0100 @@ -121,7 +121,9 @@ DISTCLEANFILES = $(dist_man_MANS) .pod.1: + @mkdir -p $(@D) pod2man -c "User Programs" -s 1 $< > $@ .pod.5: + @mkdir -p $(@D) pod2man -c "File formats" -s 5 $< > $@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sidplayfp-2.6.2/Makefile.in new/sidplayfp-2.7.0/Makefile.in --- old/sidplayfp-2.6.2/Makefile.in 2024-01-11 16:58:52.000000000 +0100 +++ new/sidplayfp-2.7.0/Makefile.in 2024-03-29 18:18:13.000000000 +0100 @@ -1318,9 +1318,11 @@ .pod.1: + @mkdir -p $(@D) pod2man -c "User Programs" -s 1 $< > $@ .pod.5: + @mkdir -p $(@D) pod2man -c "File formats" -s 5 $< > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sidplayfp-2.6.2/configure new/sidplayfp-2.7.0/configure --- old/sidplayfp-2.6.2/configure 2024-01-11 16:58:52.000000000 +0100 +++ new/sidplayfp-2.7.0/configure 2024-03-29 18:18:13.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for sidplayfp 2.6.2. +# Generated by GNU Autoconf 2.71 for sidplayfp 2.7.0. # # # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, @@ -608,8 +608,8 @@ # Identity of this package. PACKAGE_NAME='sidplayfp' PACKAGE_TARNAME='sidplayfp' -PACKAGE_VERSION='2.6.2' -PACKAGE_STRING='sidplayfp 2.6.2' +PACKAGE_VERSION='2.7.0' +PACKAGE_STRING='sidplayfp 2.7.0' PACKAGE_BUGREPORT='' PACKAGE_URL='https://github.com/libsidplayfp/sidplayfp/' @@ -1364,7 +1364,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures sidplayfp 2.6.2 to adapt to many kinds of systems. +\`configure' configures sidplayfp 2.7.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1435,7 +1435,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sidplayfp 2.6.2:";; + short | recursive ) echo "Configuration of sidplayfp 2.7.0:";; esac cat <<\_ACEOF @@ -1458,7 +1458,7 @@ --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir - --with-out123 Build with out123 library (default: disabled) + --with-out123 Build with out123 library (default: enabled) Some influential environment variables: CXX C++ compiler command @@ -1561,7 +1561,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sidplayfp configure 2.6.2 +sidplayfp configure 2.7.0 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1837,7 +1837,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sidplayfp $as_me 2.6.2, which was +It was created by sidplayfp $as_me 2.7.0, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3327,7 +3327,7 @@ # Define the identity of the package. PACKAGE='sidplayfp' - VERSION='2.6.2' + VERSION='2.7.0' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -9709,37 +9709,24 @@ withval=$with_out123; fi -# enable ou123 by default only on Mac OSX since we don't have any audio backend there -CHECK_OUT123=no -if test "x$MACOSX" = "xyes" -a "x$with_out123" != "xno" -then : - CHECK_OUT123=yes -else $as_nop - if test "x$with_out123" = "xyes" -then : - CHECK_OUT123=yes -fi - -fi - -if test "x$CHECK_OUT123" = "xyes" +if test "x$with_out123" != "xno" then : pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libout123 >= 1" >&5 -printf %s "checking for libout123 >= 1... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libout123 >= 1.0" >&5 +printf %s "checking for libout123 >= 1.0... " >&6; } if test -n "$OUT123_CFLAGS"; then pkg_cv_OUT123_CFLAGS="$OUT123_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libout123 >= 1\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libout123 >= 1") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libout123 >= 1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libout123 >= 1.0") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_OUT123_CFLAGS=`$PKG_CONFIG --cflags "libout123 >= 1" 2>/dev/null` + pkg_cv_OUT123_CFLAGS=`$PKG_CONFIG --cflags "libout123 >= 1.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -9751,12 +9738,12 @@ pkg_cv_OUT123_LIBS="$OUT123_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libout123 >= 1\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libout123 >= 1") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libout123 >= 1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libout123 >= 1.0") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_OUT123_LIBS=`$PKG_CONFIG --libs "libout123 >= 1" 2>/dev/null` + pkg_cv_OUT123_LIBS=`$PKG_CONFIG --libs "libout123 >= 1.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -9777,38 +9764,20 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - OUT123_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libout123 >= 1" 2>&1` + OUT123_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libout123 >= 1.0" 2>&1` else - OUT123_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libout123 >= 1" 2>&1` + OUT123_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libout123 >= 1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$OUT123_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (libout123 >= 1) were not met: - -$OUT123_PKG_ERRORS - -Consider adjusting the PKG_CONFIG_PATH environment variable if you -installed software in a non-standard prefix. + USE_LIBOUT123=no -Alternatively, you may set the environment variables OUT123_CFLAGS -and OUT123_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it -is in your PATH or set the PKG_CONFIG environment variable to the full -path to pkg-config. + USE_LIBOUT123=no -Alternatively, you may set the environment variables OUT123_CFLAGS -and OUT123_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. - -To get pkg-config, see <http://pkg-config.freedesktop.org/>. -See \`config.log' for more details" "$LINENO" 5; } else OUT123_CFLAGS=$pkg_cv_OUT123_CFLAGS OUT123_LIBS=$pkg_cv_OUT123_LIBS @@ -9818,7 +9787,6 @@ printf "%s\n" "#define HAVE_OUT123 1" >>confdefs.h - fi fi @@ -10427,7 +10395,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by sidplayfp $as_me 2.6.2, which was +This file was extended by sidplayfp $as_me 2.7.0, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -10496,7 +10464,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -sidplayfp config.status 2.6.2 +sidplayfp config.status 2.7.0 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sidplayfp-2.6.2/configure.ac new/sidplayfp-2.7.0/configure.ac --- old/sidplayfp-2.6.2/configure.ac 2024-01-11 16:58:49.000000000 +0100 +++ new/sidplayfp-2.7.0/configure.ac 2024-03-29 18:18:10.000000000 +0100 @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([sidplayfp], [2.6.2], [], [], [https://github.com/libsidplayfp/sidplayfp/]) +AC_INIT([sidplayfp], [2.7.0], [], [], [https://github.com/libsidplayfp/sidplayfp/]) AC_CONFIG_SRCDIR([src/main.cpp]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_MACRO_DIR([m4]) @@ -84,21 +84,14 @@ PKG_CHECK_MODULES(STILVIEW, [libstilview >= 1.0]) USE_LIBOUT123=no -AC_ARG_WITH([out123], AS_HELP_STRING([--with-out123], [Build with out123 library (default: disabled)])) -# enable ou123 by default only on Mac OSX since we don't have any audio backend there -CHECK_OUT123=no -AS_IF([test "x$MACOSX" = "xyes" -a "x$with_out123" != "xno"], -[CHECK_OUT123=yes], -[AS_IF([test "x$with_out123" = "xyes"], -[CHECK_OUT123=yes] -)] -) +AC_ARG_WITH([out123], AS_HELP_STRING([--with-out123], [Build with out123 library (default: enabled)])) -AS_IF([test "x$CHECK_OUT123" = "xyes"], +AS_IF([test "x$with_out123" != "xno"], [PKG_CHECK_MODULES([OUT123], - [libout123 >= 1], + [libout123 >= 1.0], [USE_LIBOUT123=yes - AC_DEFINE([HAVE_OUT123], [1], [Use libout123])] + AC_DEFINE([HAVE_OUT123], [1], [Use libout123])], + [USE_LIBOUT123=no] )] ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sidplayfp-2.6.2/doc/en/sidplayfp.1 new/sidplayfp-2.7.0/doc/en/sidplayfp.1 --- old/sidplayfp-2.6.2/doc/en/sidplayfp.1 2024-01-11 16:58:55.000000000 +0100 +++ new/sidplayfp-2.7.0/doc/en/sidplayfp.1 2024-03-29 18:18:16.000000000 +0100 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "SIDPLAYFP 1" -.TH SIDPLAYFP 1 "2024-01-11" "perl v5.34.0" "User Programs" +.TH SIDPLAYFP 1 "2024-03-29" "perl v5.34.0" "User Programs" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sidplayfp-2.6.2/doc/en/sidplayfp.ini.5 new/sidplayfp-2.7.0/doc/en/sidplayfp.ini.5 --- old/sidplayfp-2.6.2/doc/en/sidplayfp.ini.5 2024-01-11 16:58:55.000000000 +0100 +++ new/sidplayfp-2.7.0/doc/en/sidplayfp.ini.5 2024-03-29 18:18:16.000000000 +0100 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "SIDPLAYFP.INI 5" -.TH SIDPLAYFP.INI 5 "2024-01-11" "perl v5.34.0" "File formats" +.TH SIDPLAYFP.INI 5 "2024-03-29" "perl v5.34.0" "File formats" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -302,11 +302,20 @@ Controls the filter curve for the 6581 model in the ReSIDfp emulation. Ranges from 0.0 (light) to 1.0 (dark), the default value is 0.5. +.IP "\fBFilterRange6581\fR=\fI<number>\fR" 4 +.IX Item "FilterRange6581=<number>" +Controls the filter uCox parameter for the 6581 model in the ReSIDfp +emulation. Ranges from 0.0 (dark) to 1.0 (bright), the default +value is 0.5. .IP "\fBFilterCurve8580\fR=\fI<number>\fR" 4 .IX Item "FilterCurve8580=<number>" Controls the filter curve for the 8580 model in the ReSIDfp emulation. Ranges from 0.0 (light) to 1.0 (dark), the default value is 0.5. +.IP "\fBCombinedWaveforms\fR=\fI<AVERAGE|WEAK|STRONG>\fR" 4 +.IX Item "CombinedWaveforms=<AVERAGE|WEAK|STRONG>" +Controls the combined waveforms strength in the ReSIDfp +emulation. The default value is \s-1AVERAGE.\s0 .IP "\fBPowerOnDelay\fR=\fI<number>\fR" 4 .IX Item "PowerOnDelay=<number>" The c64 power on delay as number of cpu cycles. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sidplayfp-2.6.2/doc/en/sidplayfp.ini.pod new/sidplayfp-2.7.0/doc/en/sidplayfp.ini.pod --- old/sidplayfp-2.6.2/doc/en/sidplayfp.ini.pod 2024-01-11 16:58:49.000000000 +0100 +++ new/sidplayfp-2.7.0/doc/en/sidplayfp.ini.pod 2024-03-29 18:18:10.000000000 +0100 @@ -216,12 +216,23 @@ emulation. Ranges from 0.0 (light) to 1.0 (dark), the default value is 0.5. +=item B<FilterRange6581>=I<< <number> >> + +Controls the filter uCox parameter for the 6581 model in the ReSIDfp +emulation. Ranges from 0.0 (dark) to 1.0 (bright), the default +value is 0.5. + =item B<FilterCurve8580>=I<< <number> >> Controls the filter curve for the 8580 model in the ReSIDfp emulation. Ranges from 0.0 (light) to 1.0 (dark), the default value is 0.5. +=item B<CombinedWaveforms>=I<< <AVERAGE|WEAK|STRONG> >> + +Controls the combined waveforms strength in the ReSIDfp +emulation. The default value is AVERAGE. + =item B<PowerOnDelay>=I<< <number> >> The c64 power on delay as number of cpu cycles. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sidplayfp-2.6.2/doc/en/stilview.1 new/sidplayfp-2.7.0/doc/en/stilview.1 --- old/sidplayfp-2.6.2/doc/en/stilview.1 2024-01-11 16:58:55.000000000 +0100 +++ new/sidplayfp-2.7.0/doc/en/stilview.1 2024-03-29 18:18:16.000000000 +0100 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "STILVIEW 1" -.TH STILVIEW 1 "2024-01-11" "perl v5.34.0" "User Programs" +.TH STILVIEW 1 "2024-03-29" "perl v5.34.0" "User Programs" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sidplayfp-2.6.2/src/IniConfig.cpp new/sidplayfp-2.7.0/src/IniConfig.cpp --- old/sidplayfp-2.6.2/src/IniConfig.cpp 2024-01-11 16:58:49.000000000 +0100 +++ new/sidplayfp-2.7.0/src/IniConfig.cpp 2024-03-29 18:18:10.000000000 +0100 @@ -1,7 +1,7 @@ /* * This file is part of sidplayfp, a console SID player. * - * Copyright 2011-2023 Leandro Nini + * Copyright 2011-2024 Leandro Nini * Copyright 2000-2001 Simon White * * This program is free software; you can redistribute it and/or modify @@ -119,7 +119,13 @@ emulation_s.bias = 0.5; emulation_s.filterCurve6581 = 0.5; +#ifdef FEAT_FILTER_RANGE + emulation_s.filterRange6581 = 0.5; +#endif emulation_s.filterCurve8580 = 0.5; +#ifdef FEAT_CW_STRENGTH + emulation_s.combinedWaveformsStrength = SidConfig::AVERAGE; +#endif emulation_s.powerOnDelay = -1; emulation_s.samplingMethod = SidConfig::RESAMPLE_INTERPOLATE; emulation_s.fastSampling = false; @@ -426,8 +432,26 @@ readDouble(ini, TEXT("FilterBias"), emulation_s.bias); readDouble(ini, TEXT("FilterCurve6581"), emulation_s.filterCurve6581); +#ifdef FEAT_FILTER_RANGE + readDouble(ini, TEXT("filterRange6581"), emulation_s.filterRange6581); +#endif readDouble(ini, TEXT("FilterCurve8580"), emulation_s.filterCurve8580); +#ifdef FEAT_CW_STRENGTH + { + SID_STRING str = readString(ini, TEXT("CombinedWaveforms")); + if (!str.empty()) + { + if (str.compare(TEXT("AVERAGE")) == 0) + emulation_s.combinedWaveformsStrength = SidConfig::AVERAGE; + else if (str.compare(TEXT("WEAK")) == 0) + emulation_s.combinedWaveformsStrength = SidConfig::WEAK; + else if (str.compare(TEXT("STRONG")) == 0) + emulation_s.combinedWaveformsStrength = SidConfig::STRONG; + } + } +#endif + readInt(ini, TEXT("PowerOnDelay"), emulation_s.powerOnDelay); { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sidplayfp-2.6.2/src/IniConfig.h new/sidplayfp-2.7.0/src/IniConfig.h --- old/sidplayfp-2.6.2/src/IniConfig.h 2024-01-11 16:58:49.000000000 +0100 +++ new/sidplayfp-2.7.0/src/IniConfig.h 2024-03-29 18:18:10.000000000 +0100 @@ -82,7 +82,13 @@ bool filter; double bias; double filterCurve6581; +#ifdef FEAT_FILTER_RANGE + double filterRange6581; +#endif double filterCurve8580; +#ifdef FEAT_CW_STRENGTH + SidConfig::sid_cw_t combinedWaveformsStrength; +#endif int powerOnDelay; SidConfig::sampling_method_t samplingMethod; bool fastSampling; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sidplayfp-2.6.2/src/audio/alsa/audiodrv.cpp new/sidplayfp-2.7.0/src/audio/alsa/audiodrv.cpp --- old/sidplayfp-2.6.2/src/audio/alsa/audiodrv.cpp 2024-01-11 16:58:49.000000000 +0100 +++ new/sidplayfp-2.7.0/src/audio/alsa/audiodrv.cpp 2024-03-29 18:18:10.000000000 +0100 @@ -1,7 +1,7 @@ /* * This file is part of sidplayfp, a console SID player. * - * Copyright 2013 Leandro Nini + * Copyright 2013-2024 Leandro Nini * Copyright 2000-2006 Simon White * * This program is free software; you can redistribute it and/or modify @@ -81,23 +81,24 @@ { // Gentoo bug #98769, comment 4 unsigned int rate = tmpCfg.frequency; checkResult(snd_pcm_hw_params_set_rate_near(_audioHandle, hw_params, &rate, 0)); + tmpCfg.frequency = rate; } - _alsa_to_frames_divisor = tmpCfg.channels; - snd_pcm_uframes_t buffer_frames = 4096; - checkResult(snd_pcm_hw_params_set_period_size_near(_audioHandle, hw_params, &buffer_frames, 0)); + snd_pcm_uframes_t buffer_size = tmpCfg.frequency / 5; + checkResult(snd_pcm_hw_params_set_buffer_size_near(_audioHandle, hw_params, &buffer_size)); + tmpCfg.bufSize = buffer_size; + + snd_pcm_uframes_t period_size = buffer_size / 3; + checkResult(snd_pcm_hw_params_set_period_size_near(_audioHandle, hw_params, &period_size, 0)); checkResult(snd_pcm_hw_params(_audioHandle, hw_params)); snd_pcm_hw_params_free(hw_params); hw_params = 0; - checkResult(snd_pcm_prepare(_audioHandle)); - tmpCfg.bufSize = buffer_frames * _alsa_to_frames_divisor; - try { - _sampleBuffer = new short[tmpCfg.bufSize]; + _sampleBuffer = new short[snd_pcm_frames_to_bytes(_audioHandle, tmpCfg.bufSize)]; } catch (std::bad_alloc const &ba) { @@ -143,7 +144,7 @@ return false; } - int err = snd_pcm_writei(_audioHandle, _sampleBuffer, size / _alsa_to_frames_divisor); + int err = snd_pcm_writei(_audioHandle, _sampleBuffer, size); if (err < 0) { err = snd_pcm_recover(_audioHandle, err, 0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sidplayfp-2.6.2/src/audio/alsa/audiodrv.h new/sidplayfp-2.7.0/src/audio/alsa/audiodrv.h --- old/sidplayfp-2.6.2/src/audio/alsa/audiodrv.h 2024-01-11 16:58:49.000000000 +0100 +++ new/sidplayfp-2.7.0/src/audio/alsa/audiodrv.h 2024-03-29 18:18:10.000000000 +0100 @@ -31,6 +31,9 @@ # define AudioDriver Audio_ALSA #endif +#define ALSA_PCM_NEW_HW_PARAMS_API + + #include <alsa/asoundlib.h> #include "../AudioBase.h" @@ -39,7 +42,6 @@ { private: // ------------------------------------------------------- private snd_pcm_t *_audioHandle; - int _alsa_to_frames_divisor; private: void outOfOrder(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sidplayfp-2.6.2/src/audio/null/null.cpp new/sidplayfp-2.7.0/src/audio/null/null.cpp --- old/sidplayfp-2.6.2/src/audio/null/null.cpp 2024-01-11 16:58:49.000000000 +0100 +++ new/sidplayfp-2.7.0/src/audio/null/null.cpp 2024-03-29 18:18:10.000000000 +0100 @@ -42,7 +42,7 @@ return true; } -bool Audio_Null::write(uint_least32_t size) +bool Audio_Null::write(uint_least32_t) { if (!isOpen) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sidplayfp-2.6.2/src/menu.cpp new/sidplayfp-2.7.0/src/menu.cpp --- old/sidplayfp-2.6.2/src/menu.cpp 2024-01-11 16:58:49.000000000 +0100 +++ new/sidplayfp-2.7.0/src/menu.cpp 2024-03-29 18:18:10.000000000 +0100 @@ -544,7 +544,7 @@ consoleColour (yellow, true); ; - cerr << " " << getNote(registers[0x00 + i * 0x07] | ((registers[0x01 + i * 0x07] & 0x0f) << 8)) + cerr << " " << getNote(registers[0x00 + i * 0x07] | (registers[0x01 + i * 0x07] << 8)) << " $" << setw(3) << setfill('0') << (registers[0x02 + i * 0x07] | ((registers[0x03 + i * 0x07] & 0x0f) << 8)); // gate changed ? diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sidplayfp-2.6.2/src/player.cpp new/sidplayfp-2.7.0/src/player.cpp --- old/sidplayfp-2.6.2/src/player.cpp 2024-01-11 16:58:49.000000000 +0100 +++ new/sidplayfp-2.7.0/src/player.cpp 2024-03-29 18:18:10.000000000 +0100 @@ -1,7 +1,7 @@ /* * This file is part of sidplayfp, a console SID player. * - * Copyright 2011-2023 Leandro Nini + * Copyright 2011-2024 Leandro Nini * Copyright 2000-2001 Simon White * * This program is free software; you can redistribute it and/or modify @@ -113,14 +113,73 @@ }; #endif -// This table contains chip-profiles which allow us to adjust +// This tables contains chip-profiles which allow us to adjust // certain settings that varied wildly between 6581 chips, even // made in the same factory on the same day. // // This works under the assumption that the authors used the // same SID chip their entire career. // -// based on https://github.com/reFX/libSidplayEZ/blob/modernized/src/chip-profiles.h +// taken from https://github.com/reFX/libSidplayEZ/blob/modernized/src/chip-profiles.h +#ifdef FEAT_FILTER_RANGE +static const filter_map_t filterRangeMap = +{ + { "Anthony Lees", 1.3 }, + { "Antony Crowther (Ratt)", 1.1 }, + { "Barry Leitch (The Jackal)", 0.05 }, + { "Ben Daglish", 0.6 }, + { "Charles Deenen", 0.2 }, + { "Chris H\xFClsbeck", 0.6 }, + { "David Dunn", 0.15 }, + { "David Dunn & Aidan Bell", 0.15 }, + { "David Whittaker", 0.15 }, + { "Thomas Mogensen (DRAX)", 0.3 }, + { "Edwin van Santen", 0.5 }, + { "Edwin van Santen & Falco Paul", 0.4 }, // 20th Century Composers + { "Edwin van Santen & Venom", 0.4 }, // 20th Century Composers + { "Falco Paul", 0.15 }, + { "Falco Paul & Edwin van Santen", 0.4 }, // 20th Century Composers + { "Figge Wasberger (Fegolhuzz)", 0.25 }, + { "Fred Gray", 0.18 }, + { "Geir Tjelta", 0.5 }, + { "Georg Feil", 0.2 }, + { "Glenn Rune Gallefoss", 0.2 }, + { "Graham Jarvis & Rob Hartshorne", 0.25 }, + { "Jason Page", 0.35 }, + { "Jeroen Tel", 0.35 }, + { "Johannes Bjerregaard", 0.35 }, + { "Jonathan Dunn", 0.25 }, + { "Jouni Ikonen (Mixer)", 0.25 }, + { "Jori Olkkonen", 0.15 }, + { "Jori Olkkonen (Yip)", 0.15 }, + { "Kim Christensen (Future Freak)", 0.35 }, + { "Linus \xC5kesson (lft)", 0.3 }, + { "Mark Cooksey", 0.25 }, + { "Markus M\xFCller (Superbrain)", 0.3 }, + { "Martin Galway", 1.0 }, + { "Martin Walker", 0.15 }, + { "Matt Gray", 0.3 }, + { "Michael Hendriks", 0.25 }, + { "Mitch & Dane", 0.75 }, + { "M. Nilsson-Vonderburgh (Mic)", 0.25 }, + { "M. Nilsson-Vonderburgh (Mitch)", 0.25 }, + { "M. Nilsson-Vonderburgh (Yankee)", 0.25 }, + { "Neil Brennan", 0.25 }, + { "Peter Clarke", 0.2 }, + { "Pex Tufvesson (Mahoney)", 0.35 }, + { "Pex Tufvesson (Zax)", 0.35 }, + { "Renato Brosowski (Zoci-Joe)", 0.3 }, + { "Reyn Ouwehand", 0.25 }, + { "Richard Joseph", 0.3 }, + { "Rob Hubbard", 0.35 }, + { "Russell Lieblich", 0.25 }, + { "Stellan Andersson (Dane)", 0.75 }, + { "Steve Turner", 0.6 }, + { "Tim Follin", 0.5 }, + { "Thomas E. Petersen (Laxity)", 0.3 }, + { "Thomas E. Petersen (TSS)", 0.3 }, +}; +#else static const filter_map_t filterCurveMap = { { "Anthony Lees", 0.450 }, @@ -170,12 +229,26 @@ { "Thomas E. Petersen (Laxity)", 1.550 }, { "Thomas E. Petersen (TSS)", 1.550 }, }; +#endif +#ifdef FEAT_FILTER_RANGE +double getRecommendedFilterRange(const std::string& author) +{ + filter_map_iter_t it = filterRangeMap.find(author); + if (it != filterRangeMap.end()) + { + double adjustment = it->second; + return (adjustment * 20. - 1.) / 39.; + } + return -1; +} +#else double getRecommendedFilterCurve(const std::string& author) { filter_map_iter_t it = filterCurveMap.find(author); - return (it != filterCurveMap.end()) ? it->second : 0.5; + return (it != filterCurveMap.end()) ? it->second : -1.; } +#endif uint8_t* loadRom(const SID_STRING &romPath, const int size) { @@ -300,7 +373,13 @@ m_filter.enabled = emulation.filter; m_filter.bias = emulation.bias; m_filter.filterCurve6581 = emulation.filterCurve6581; +#ifdef FEAT_FILTER_RANGE + m_filter.filterRange6581 = emulation.filterRange6581; +#endif m_filter.filterCurve8580 = emulation.filterCurve8580; +#ifdef FEAT_CW_STRENGTH + m_combinedWaveformsStrength = emulation.combinedWaveformsStrength; +#endif if (emulation.powerOnDelay >= 0) m_engCfg.powerOnDelay = emulation.powerOnDelay; @@ -524,47 +603,54 @@ rs->create ((m_engine.info ()).maxsids()); if (!rs->getStatus()) goto createSidEmu_error; +#ifdef FEAT_CW_STRENGTH + rs->combinedWaveformsStrength(m_combinedWaveformsStrength); +#endif + +#ifdef FEAT_FILTER_RANGE + double frange = m_filter.filterRange6581; + + if (m_autofilter && (tuneInfo->numberOfInfoStrings() == 3)) + { + frange = getRecommendedFilterRange(tuneInfo->infoString(1)); + if (m_verboseLevel > 1) + cerr << "Recommended filter range: " << frange << endl; + } + + if (m_verboseLevel) + cerr << "6581 filter range: " << frange << endl; + rs->filter6581Range(frange); +#endif + // 6581 - double fcurve = -1.0; + double fcurve = m_filter.filterCurve6581; +#ifndef FEAT_FILTER_RANGE if (m_autofilter && (tuneInfo->numberOfInfoStrings() == 3)) { fcurve = getRecommendedFilterCurve(tuneInfo->infoString(1)); if (m_verboseLevel > 1) cerr << "Recommended filter curve: " << fcurve << endl; } - else if (m_fcurve >= 0.0) +#endif + if (m_fcurve >= 0.0) { fcurve = m_fcurve; } - else if (m_filter.filterCurve6581 >= 0.0) - { - fcurve = m_filter.filterCurve6581; - } - if (fcurve >= 0.0) - { - if (m_verboseLevel) - cerr << "6581 filter curve: " << fcurve << endl; - rs->filter6581Curve(fcurve); - } + if (m_verboseLevel) + cerr << "6581 filter curve: " << fcurve << endl; + rs->filter6581Curve(fcurve); // 8580 - fcurve = -1.0; + fcurve = m_filter.filterCurve8580; if (m_fcurve >= 0.0) { fcurve = m_fcurve; } - if (m_filter.filterCurve8580 >= 0.0) - { - fcurve = m_filter.filterCurve8580; - } - if (fcurve >= 0.0) - { - if (m_verboseLevel) - cerr << "8580 filter curve: " << fcurve << endl; - rs->filter8580Curve(fcurve); - } + if (m_verboseLevel) + cerr << "8580 filter curve: " << fcurve << endl; + rs->filter8580Curve(fcurve); } catch (std::bad_alloc const &ba) {} break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sidplayfp-2.6.2/src/player.h new/sidplayfp-2.7.0/src/player.h --- old/sidplayfp-2.6.2/src/player.h 2024-01-11 16:58:49.000000000 +0100 +++ new/sidplayfp-2.7.0/src/player.h 2024-03-29 18:18:10.000000000 +0100 @@ -128,6 +128,10 @@ double m_fcurve; +#ifdef FEAT_CW_STRENGTH + SidConfig::sid_cw_t m_combinedWaveformsStrength; +#endif + uint8_t m_registers[3][32]; uint16_t* m_freqTable; @@ -152,6 +156,9 @@ double bias; // Filter parameters for reSIDfp double filterCurve6581; +#ifdef FEAT_FILTER_RANGE + double filterRange6581; +#endif double filterCurve8580; bool enabled; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sidplayfp-2.6.2/src/sidlib_features.h new/sidplayfp-2.7.0/src/sidlib_features.h --- old/sidplayfp-2.6.2/src/sidlib_features.h 2024-01-11 16:58:49.000000000 +0100 +++ new/sidplayfp-2.7.0/src/sidlib_features.h 2024-03-29 18:18:10.000000000 +0100 @@ -1,7 +1,7 @@ /* * This file is part of sidplayfp, a console SID player. * - * Copyright 2021 Leandro Nini + * Copyright 2021-2024 Leandro Nini * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -39,4 +39,9 @@ # define FEAT_DB_WCHAR_OPEN #endif +#if LIBSIDPLAYFP_VERSION_MAJ > 2 || (LIBSIDPLAYFP_VERSION_MAJ == 2 && LIBSIDPLAYFP_VERSION_MIN >= 7) +# define FEAT_FILTER_RANGE +# define FEAT_CW_STRENGTH +#endif + #endif
