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

Reply via email to