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-06-17 19:30:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sidplayfp (Old)
 and      /work/SRC/openSUSE:Factory/.sidplayfp.new.19518 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "sidplayfp"

Mon Jun 17 19:30:16 2024 rev:8 rq:1181186 version:2.8.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/sidplayfp/sidplayfp.changes      2024-04-02 
16:44:09.888907331 +0200
+++ /work/SRC/openSUSE:Factory/.sidplayfp.new.19518/sidplayfp.changes   
2024-06-17 19:30:37.524736547 +0200
@@ -1,0 +2,9 @@
+Sat Jun 15 12:48:46 UTC 2024 - Martin Hauke <mar...@gmx.de>
+
+- Update to version 2.8.0
+  * be explicit if Songlenth DB is not loaded.
+  * look for Songlengths file in data path.
+  * require a c++11 compiler.
+  * added sanity check for filter parameters.
+
+-------------------------------------------------------------------

Old:
----
  sidplayfp-2.7.0.tar.gz

New:
----
  sidplayfp-2.8.0.tar.gz

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

Other differences:
------------------
++++++ sidplayfp.spec ++++++
--- /var/tmp/diff_new_pack.I6lKOE/_old  2024-06-17 19:30:38.240762752 +0200
+++ /var/tmp/diff_new_pack.I6lKOE/_new  2024-06-17 19:30:38.244762899 +0200
@@ -18,14 +18,14 @@
 
 
 Name:           sidplayfp
-Version:        2.7.0
+Version:        2.8.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.7/sidplayfp-%{version}.tar.gz
+Source0:        
https://sourceforge.net/projects/sidplay-residfp/files/sidplayfp/2.8/sidplayfp-%{version}.tar.gz
 BuildRequires:  gcc-c++
 BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(alsa)

++++++ sidplayfp-2.7.0.tar.gz -> sidplayfp-2.8.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/AUTHORS new/sidplayfp-2.8.0/AUTHORS
--- old/sidplayfp-2.7.0/AUTHORS 2024-03-29 18:18:10.000000000 +0100
+++ new/sidplayfp-2.8.0/AUTHORS 2024-06-09 16:09:57.000000000 +0200
@@ -18,6 +18,8 @@
     Leandro Nini      - build system changes, port to libsidplayfp
                         minor improvements
     LaLa              - stilview
+    Michael Hartmann  - filter curves
+
 
 Credit where credit is due, so if I missed anyone please let me know.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/README new/sidplayfp-2.8.0/README
--- old/sidplayfp-2.7.0/README  2024-03-29 18:18:10.000000000 +0100
+++ new/sidplayfp-2.8.0/README  2024-06-09 16:09:57.000000000 +0200
@@ -68,4 +68,4 @@
 
 --with-out123
 Build with out123 library providing support for additional audio interfaces
-disabled by default
+enabled by default
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/configure 
new/sidplayfp-2.8.0/configure
--- old/sidplayfp-2.7.0/configure       2024-03-29 18:18:13.000000000 +0100
+++ new/sidplayfp-2.8.0/configure       2024-06-09 16:10:00.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for sidplayfp 2.7.0.
+# Generated by GNU Autoconf 2.71 for sidplayfp 2.8.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.7.0'
-PACKAGE_STRING='sidplayfp 2.7.0'
+PACKAGE_VERSION='2.8.0'
+PACKAGE_STRING='sidplayfp 2.8.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.7.0 to adapt to many kinds of systems.
+\`configure' configures sidplayfp 2.8.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.7.0:";;
+     short | recursive ) echo "Configuration of sidplayfp 2.8.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1561,7 +1561,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-sidplayfp configure 2.7.0
+sidplayfp configure 2.8.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.7.0, which was
+It was created by sidplayfp $as_me 2.8.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.7.0'
+ VERSION='2.8.0'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -5830,7 +5830,7 @@
 
     if test $ax_cv_cxx_compile_cxx14__std_cpp14 != "yes"
 then :
-    ax_cxx_compile_alternatives="11 0x"    ax_cxx_compile_cxx11_required=false
+    ax_cxx_compile_alternatives="11 0x"    ax_cxx_compile_cxx11_required=true
   ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -6059,7 +6059,7 @@
     void
     test1()
     {
-      auto lambda1 = (){};
+      auto lambda1 = [](){};
       auto lambda2 = lambda1;
       lambda1();
       lambda2();
@@ -6068,12 +6068,12 @@
     int
     test2()
     {
-      auto a = (int i, int j){ return i + j; }(1, 2);
-      auto b = () -> int { return '0'; }();
-      auto c = =(){ return a + b; }();
-      auto d = &(){ return c; }();
-      auto e = a, &b(int x) mutable {
-        const auto identity = (int y){ return y; };
+      auto a = [](int i, int j){ return i + j; }(1, 2);
+      auto b = []() -> int { return '0'; }();
+      auto c = [=](){ return a + b; }();
+      auto d = [&](){ return c; }();
+      auto e = [a, &b](int x) mutable {
+        const auto identity = [](int y){ return y; };
         for (auto i = 0; i < a; ++i)
           a += b--;
         return x + identity(a + b);
@@ -6084,13 +6084,13 @@
     int
     test3()
     {
-      const auto nullary = (){ return 0; };
-      const auto unary = (int x){ return x; };
+      const auto nullary = [](){ return 0; };
+      const auto unary = [](int x){ return x; };
       using nullary_t = decltype(nullary);
       using unary_t = decltype(unary);
-      const auto higher1st = (nullary_t f){ return f(); };
-      const auto higher2nd = unary(nullary_t f1){
-        return unary, f1(unary_t f2){ return f2(unary(f1())); };
+      const auto higher1st = [](nullary_t f){ return f(); };
+      const auto higher2nd = [unary](nullary_t f1){
+        return [unary, f1](unary_t f2){ return f2(unary(f1())); };
       };
       return higher1st(nullary) + higher2nd(nullary)(unary);
     }
@@ -10395,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.7.0, which was
+This file was extended by sidplayfp $as_me 2.8.0, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -10464,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.7.0
+sidplayfp config.status 2.8.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.7.0/configure.ac 
new/sidplayfp-2.8.0/configure.ac
--- old/sidplayfp-2.7.0/configure.ac    2024-03-29 18:18:10.000000000 +0100
+++ new/sidplayfp-2.8.0/configure.ac    2024-06-09 16:09:57.000000000 +0200
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT([sidplayfp], [2.7.0], [], [], 
[https://github.com/libsidplayfp/sidplayfp/])
+AC_INIT([sidplayfp], [2.8.0], [], [], 
[https://github.com/libsidplayfp/sidplayfp/])
 AC_CONFIG_SRCDIR([src/main.cpp])
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_MACRO_DIR([m4])
@@ -32,7 +32,7 @@
 AS_IF([test $ax_cv_cxx_compile_cxx17__std_cpp17 != "yes"], [
     AX_CXX_COMPILE_STDCXX_14([noext], [optional])
     AS_IF([test $ax_cv_cxx_compile_cxx14__std_cpp14 != "yes"],
-        AX_CXX_COMPILE_STDCXX_11([noext], [optional])
+        [AX_CXX_COMPILE_STDCXX_11([noext], [mandatory])]
     )
 ])
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/doc/en/sidplayfp.1 
new/sidplayfp-2.8.0/doc/en/sidplayfp.1
--- old/sidplayfp-2.7.0/doc/en/sidplayfp.1      2024-03-29 18:18:16.000000000 
+0100
+++ new/sidplayfp-2.8.0/doc/en/sidplayfp.1      2024-06-09 16:10:04.000000000 
+0200
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "SIDPLAYFP 1"
-.TH SIDPLAYFP 1 "2024-03-29" "perl v5.34.0" "User Programs"
+.TH SIDPLAYFP 1 "2024-06-09" "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.7.0/doc/en/sidplayfp.ini.5 
new/sidplayfp-2.8.0/doc/en/sidplayfp.ini.5
--- old/sidplayfp-2.7.0/doc/en/sidplayfp.ini.5  2024-03-29 18:18:16.000000000 
+0100
+++ new/sidplayfp-2.8.0/doc/en/sidplayfp.ini.5  2024-06-09 16:10:04.000000000 
+0200
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "SIDPLAYFP.INI 5"
-.TH SIDPLAYFP.INI 5 "2024-03-29" "perl v5.34.0" "File formats"
+.TH SIDPLAYFP.INI 5 "2024-06-09" "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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/doc/en/stilview.1 
new/sidplayfp-2.8.0/doc/en/stilview.1
--- old/sidplayfp-2.7.0/doc/en/stilview.1       2024-03-29 18:18:16.000000000 
+0100
+++ new/sidplayfp-2.8.0/doc/en/stilview.1       2024-06-09 16:10:04.000000000 
+0200
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "STILVIEW 1"
-.TH STILVIEW 1 "2024-03-29" "perl v5.34.0" "User Programs"
+.TH STILVIEW 1 "2024-06-09" "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.7.0/src/IniConfig.cpp 
new/sidplayfp-2.8.0/src/IniConfig.cpp
--- old/sidplayfp-2.7.0/src/IniConfig.cpp       2024-03-29 18:18:10.000000000 
+0100
+++ new/sidplayfp-2.8.0/src/IniConfig.cpp       2024-06-09 16:09:57.000000000 
+0200
@@ -328,8 +328,8 @@
 #if !defined _WIN32
     if (sidplay2_s.database.empty())
     {
-        SID_STRING buffer(PKGDATADIR);
-        buffer.append("Songlengths.txt");
+        SID_STRING buffer(utils::getDataPath());
+        
buffer.append(SEPARATOR).append(DIR_NAME).append(SEPARATOR).append("Songlengths.txt");
         if (::access(buffer.c_str(), R_OK) == 0)
             sidplay2_s.database.assign(buffer);
     }
@@ -481,22 +481,22 @@
 void createDir(const SID_STRING& path)
 {
 #ifndef _WIN32
-       DIR *dir = opendir(path.c_str());
+    DIR *dir = opendir(path.c_str());
     if (dir)
-       {
-               closedir(dir);
-       }
-       else if (errno == ENOENT)
-       {
+    {
+        closedir(dir);
+    }
+    else if (errno == ENOENT)
+    {
         if (mkdir(path.c_str(), 0755) < 0)
         {
             throw iniError(strerror(errno));
         }
     }
-       else
-       {
-               throw iniError(strerror(errno));
-       }
+    else
+    {
+        throw iniError(strerror(errno));
+    }
 #else
     if (GetFileAttributes(path.c_str()) == INVALID_FILE_ATTRIBUTES)
     {
@@ -529,12 +529,12 @@
     debug(TEXT("Config path: "), configPath.c_str());
 
     // Make sure the config path exists
-       createDir(configPath);
+    createDir(configPath);
 
     configPath.append(SEPARATOR).append(DIR_NAME);
 
     // Make sure the app config path exists
-       createDir(configPath);
+    createDir(configPath);
 
     configPath.append(SEPARATOR).append(FILE_NAME);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/args.cpp 
new/sidplayfp-2.8.0/src/args.cpp
--- old/sidplayfp-2.7.0/src/args.cpp    2024-03-29 18:18:10.000000000 +0100
+++ new/sidplayfp-2.8.0/src/args.cpp    2024-06-09 16:09:57.000000000 +0200
@@ -136,7 +136,7 @@
     if (*str == '\0')
         return false;
 
-    long x = strtol(str, 0, 0);
+    long x = strtol(str, nullptr, 0);
 
     address = x;
     return true;
@@ -547,18 +547,19 @@
                 ? (m_iniCfg.sidplay2()).recordLength
                 : (m_iniCfg.sidplay2()).playLength;
 
-
+            songlengthDB = SLDB_NONE;
             bool dbOpened = false;
             if (hvscBase)
             {
                 if (tryOpenDatabase(hvscBase, "md5"))
                 {
                     dbOpened = true;
-                    newSonglengthDB = true;
+                    songlengthDB = SLDB_MD5;
                 }
                 else if (tryOpenDatabase(hvscBase, "txt"))
                 {
                     dbOpened = true;
+                    songlengthDB = SLDB_TXT;
                 }
             }
 
@@ -587,7 +588,9 @@
                     }
 
                     if ((m_iniCfg.sidplay2()).database.find(TEXT(".md5")) != 
SID_STRING::npos)
-                        newSonglengthDB = true;
+                        songlengthDB = SLDB_MD5;
+                    else
+                        songlengthDB = SLDB_TXT;
                 }
             }
         }
@@ -659,7 +662,7 @@
 #endif
         << " -r[i|r][f]   set resampling method (default: resample 
interpolate)" << endl
         << "              Use 'f' to enable fast resampling (only for reSID)" 
<< endl
-        << " --fcurve=<num>|auto Controls the filter curve in the ReSIDfp 
emulation" << endl
+        << " --fcurve=<num>|auto Controls the filter curve in the ReSIDfp 
emulation (0.0 to 1.0, default: 0.5)" << endl
 
         << " -w[name]     create wav file (default: <datafile>[n].wav)" << endl
         << " --au[name]   create au file (default: <datafile>[n].au)" << endl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/audio/AudioBase.h 
new/sidplayfp-2.8.0/src/audio/AudioBase.h
--- old/sidplayfp-2.7.0/src/audio/AudioBase.h   2024-03-29 18:18:10.000000000 
+0100
+++ new/sidplayfp-2.8.0/src/audio/AudioBase.h   2024-06-09 16:09:57.000000000 
+0200
@@ -65,7 +65,7 @@
     AudioBase(const char* name) :
         _backendName(name),
         _sampleBuffer(nullptr) {}
-    virtual ~AudioBase() {}
+    ~AudioBase() override = default;
 
     short *buffer() const override { return _sampleBuffer; }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/audio/AudioDrv.h 
new/sidplayfp-2.8.0/src/audio/AudioDrv.h
--- old/sidplayfp-2.7.0/src/audio/AudioDrv.h    2024-03-29 18:18:10.000000000 
+0100
+++ new/sidplayfp-2.8.0/src/audio/AudioDrv.h    2024-06-09 16:09:57.000000000 
+0200
@@ -33,16 +33,16 @@
     std::unique_ptr<AudioBase> audio;
 
 public:
-    virtual ~audioDrv() {}
+    ~audioDrv() override = default;
 
-    bool open(AudioConfig &cfg);
-    void reset() { audio->reset(); }
-    bool write(uint_least32_t size) { return audio->write(size); }
-    void close() { audio->close(); }
-    void pause() { audio->pause(); }
-    short *buffer() const { return audio->buffer(); }
-    void getConfig(AudioConfig &cfg) const { audio->getConfig(cfg); }
-    const char *getErrorString() const { return audio->getErrorString(); }
+    bool open(AudioConfig &cfg) override;
+    void reset() override { audio->reset(); }
+    bool write(uint_least32_t size) override { return audio->write(size); }
+    void close() override { audio->close(); }
+    void pause() override { audio->pause(); }
+    short *buffer() const override { return audio->buffer(); }
+    void getConfig(AudioConfig &cfg) const override { audio->getConfig(cfg); }
+    const char *getErrorString() const override { return 
audio->getErrorString(); }
 };
 
 #endif // AUDIODRV_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/audio/IAudio.h 
new/sidplayfp-2.8.0/src/audio/IAudio.h
--- old/sidplayfp-2.7.0/src/audio/IAudio.h      2024-03-29 18:18:10.000000000 
+0100
+++ new/sidplayfp-2.8.0/src/audio/IAudio.h      2024-06-09 16:09:57.000000000 
+0200
@@ -29,7 +29,7 @@
 class IAudio
 {
 public:
-    virtual ~IAudio() {}
+    virtual ~IAudio() = default;
 
     virtual bool open(AudioConfig &cfg) = 0;
     virtual void reset() = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/audio/alsa/audiodrv.cpp 
new/sidplayfp-2.8.0/src/audio/alsa/audiodrv.cpp
--- old/sidplayfp-2.7.0/src/audio/alsa/audiodrv.cpp     2024-03-29 
18:18:10.000000000 +0100
+++ new/sidplayfp-2.8.0/src/audio/alsa/audiodrv.cpp     2024-06-09 
16:09:57.000000000 +0200
@@ -54,7 +54,7 @@
 
 bool Audio_ALSA::open(AudioConfig &cfg)
 {
-    snd_pcm_hw_params_t *hw_params = 0;
+    snd_pcm_hw_params_t *hw_params = nullptr;
 
     try
     {
@@ -80,7 +80,7 @@
 
         {   // Gentoo bug #98769, comment 4
             unsigned int rate = tmpCfg.frequency;
-            checkResult(snd_pcm_hw_params_set_rate_near(_audioHandle, 
hw_params, &rate, 0));
+            checkResult(snd_pcm_hw_params_set_rate_near(_audioHandle, 
hw_params, &rate, nullptr));
             tmpCfg.frequency = rate;
         }
 
@@ -89,12 +89,12 @@
         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_set_period_size_near(_audioHandle, 
hw_params, &period_size, nullptr));
 
         checkResult(snd_pcm_hw_params(_audioHandle, hw_params));
 
         snd_pcm_hw_params_free(hw_params);
-        hw_params = 0;
+        hw_params = nullptr;
 
         try
         {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/audio/alsa/audiodrv.h 
new/sidplayfp-2.8.0/src/audio/alsa/audiodrv.h
--- old/sidplayfp-2.7.0/src/audio/alsa/audiodrv.h       2024-03-29 
18:18:10.000000000 +0100
+++ new/sidplayfp-2.8.0/src/audio/alsa/audiodrv.h       2024-06-09 
16:09:57.000000000 +0200
@@ -49,7 +49,7 @@
 
 public:  // --------------------------------------------------------- public
     Audio_ALSA();
-    ~Audio_ALSA();
+    ~Audio_ALSA() override;
 
     bool open  (AudioConfig &cfg) override;
     void close () override;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/audio/au/auFile.h 
new/sidplayfp-2.8.0/src/audio/au/auFile.h
--- old/sidplayfp-2.7.0/src/audio/au/auFile.h   2024-03-29 18:18:10.000000000 
+0100
+++ new/sidplayfp-2.8.0/src/audio/au/auFile.h   2024-06-09 16:09:57.000000000 
+0200
@@ -61,7 +61,7 @@
 
 public:
     auFile(const std::string &name);
-    ~auFile() { close(); }
+    ~auFile() override { close(); }
 
     static const char *extension () { return ".au"; }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/audio/null/null.h 
new/sidplayfp-2.8.0/src/audio/null/null.h
--- old/sidplayfp-2.7.0/src/audio/null/null.h   2024-03-29 18:18:10.000000000 
+0100
+++ new/sidplayfp-2.8.0/src/audio/null/null.h   2024-06-09 16:09:57.000000000 
+0200
@@ -45,7 +45,7 @@
 
 public:  // --------------------------------------------------------- public
     Audio_Null();
-    ~Audio_Null();
+    ~Audio_Null() override;
 
     bool open  (AudioConfig &cfg) override;
     void close () override;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/audio/oss/audiodrv.cpp 
new/sidplayfp-2.8.0/src/audio/oss/audiodrv.cpp
--- old/sidplayfp-2.7.0/src/audio/oss/audiodrv.cpp      2024-03-29 
18:18:10.000000000 +0100
+++ new/sidplayfp-2.8.0/src/audio/oss/audiodrv.cpp      2024-06-09 
16:09:57.000000000 +0200
@@ -22,10 +22,10 @@
 
 #ifdef HAVE_OSS
 
-#include <stdio.h>
-#include <unistd.h>
-#include <sys/ioctl.h>
+#include <cstdio>
 #include <fcntl.h>
+#include <sys/ioctl.h>
+#include <unistd.h>
 
 #include <new>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/audio/oss/audiodrv.h 
new/sidplayfp-2.8.0/src/audio/oss/audiodrv.h
--- old/sidplayfp-2.7.0/src/audio/oss/audiodrv.h        2024-03-29 
18:18:10.000000000 +0100
+++ new/sidplayfp-2.8.0/src/audio/oss/audiodrv.h        2024-06-09 
16:09:57.000000000 +0200
@@ -63,7 +63,7 @@
 
 public:  // --------------------------------------------------------- public
     Audio_OSS();
-    ~Audio_OSS();
+    ~Audio_OSS() override;
 
     bool open  (AudioConfig &cfg) override;
     void close () override;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/audio/out123/audiodrv.cpp 
new/sidplayfp-2.8.0/src/audio/out123/audiodrv.cpp
--- old/sidplayfp-2.7.0/src/audio/out123/audiodrv.cpp   2024-03-29 
18:18:10.000000000 +0100
+++ new/sidplayfp-2.8.0/src/audio/out123/audiodrv.cpp   2024-06-09 
16:09:57.000000000 +0200
@@ -51,12 +51,12 @@
 
     try
     {
-        if ((_audiofd = out123_new()) == NULL)
+        if ((_audiofd = out123_new()) == nullptr)
         {
             throw error("Could not init audio driver.");
         }
 
-        if (out123_open(_audiofd, NULL, NULL) == (-1))
+        if (out123_open(_audiofd, nullptr, nullptr) == (-1))
         {
             throw error(out123_strerror(_audiofd));
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/audio/out123/audiodrv.h 
new/sidplayfp-2.8.0/src/audio/out123/audiodrv.h
--- old/sidplayfp-2.7.0/src/audio/out123/audiodrv.h     2024-03-29 
18:18:10.000000000 +0100
+++ new/sidplayfp-2.8.0/src/audio/out123/audiodrv.h     2024-06-09 
16:09:57.000000000 +0200
@@ -41,7 +41,7 @@
 
 public:  // --------------------------------------------------------- public
     Audio_OUT123();
-    ~Audio_OUT123();
+    ~Audio_OUT123() override;
 
     bool open  (AudioConfig &cfg) override;
     void close () override;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/audio/wav/WavFile.h 
new/sidplayfp-2.8.0/src/audio/wav/WavFile.h
--- old/sidplayfp-2.7.0/src/audio/wav/WavFile.h 2024-03-29 18:18:10.000000000 
+0100
+++ new/sidplayfp-2.8.0/src/audio/wav/WavFile.h 2024-06-09 16:09:57.000000000 
+0200
@@ -100,7 +100,7 @@
 
 public:
     WavFile(const std::string &name);
-    ~WavFile() { close(); }
+    ~WavFile() override { close(); }
 
     static const char *extension () { return ".wav"; }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/codeConvert.cpp 
new/sidplayfp-2.8.0/src/codeConvert.cpp
--- old/sidplayfp-2.7.0/src/codeConvert.cpp     2024-03-29 18:18:10.000000000 
+0100
+++ new/sidplayfp-2.8.0/src/codeConvert.cpp     2024-06-09 16:09:57.000000000 
+0200
@@ -45,7 +45,7 @@
     }
 
     // flush
-    iconv(cd, NULL, &srcLeft, &outPtr, &outLeft);
+    iconv(cd, nullptr, &srcLeft, &outPtr, &outLeft);
 
     // terminate buffer string
     *outPtr = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/ini/iniHandler.cpp 
new/sidplayfp-2.8.0/src/ini/iniHandler.cpp
--- old/sidplayfp-2.7.0/src/ini/iniHandler.cpp  2024-03-29 18:18:10.000000000 
+0100
+++ new/sidplayfp-2.8.0/src/ini/iniHandler.cpp  2024-06-09 16:09:57.000000000 
+0200
@@ -163,7 +163,7 @@
 const TCHAR *iniHandler::getValue(const TCHAR *key) const
 {
     keys_t::const_iterator keyIt = std::find_if((*curSection).second.begin(), 
(*curSection).second.end(), compare<stringPair_t>(key));
-    return (keyIt != (*curSection).second.end()) ? keyIt->second.c_str() : 0;
+    return (keyIt != (*curSection).second.end()) ? keyIt->second.c_str() : 
nullptr;
 }
 
 void iniHandler::addSection(const TCHAR *section)
@@ -193,11 +193,11 @@
         return false;
     }
 
-    for (sections_t::iterator section = sections.begin(); section != 
sections.end(); ++section)
+    for (auto & section : sections)
     {
-        iniFile << "[" << (*section).first << "]" << std::endl;
+        iniFile << "[" << section.first << "]" << std::endl;
 
-        for (keys_t::iterator entry = (*section).second.begin(); entry != 
(*section).second.end(); ++entry)
+        for (keys_t::iterator entry = section.second.begin(); entry != 
section.second.end(); ++entry)
         {
             const SID_STRING key = (*entry).first;
             if (!key.empty())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/keyboard.cpp 
new/sidplayfp-2.8.0/src/keyboard.cpp
--- old/sidplayfp-2.7.0/src/keyboard.cpp        2024-03-29 18:18:10.000000000 
+0100
+++ new/sidplayfp-2.8.0/src/keyboard.cpp        2024-06-09 16:09:57.000000000 
+0200
@@ -25,14 +25,14 @@
 
 #ifndef _WIN32
 // Unix console headers
-#  include <ctype.h>
+#  include <cctype>
 // bzero requires memset on some platforms
-#  include <string.h>
-#  include <termios.h>
+#  include <cstring>
+#  include <fcntl.h>
+#  include <sys/stat.h>
 #  include <sys/time.h>
 #  include <sys/types.h>
-#  include <sys/stat.h>
-#  include <fcntl.h>
+#  include <termios.h>
 #  include <unistd.h>
 int _getch (void);
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/main.cpp 
new/sidplayfp-2.8.0/src/main.cpp
--- old/sidplayfp-2.7.0/src/main.cpp    2024-03-29 18:18:10.000000000 +0100
+++ new/sidplayfp-2.8.0/src/main.cpp    2024-06-09 16:09:57.000000000 +0200
@@ -21,8 +21,8 @@
 
 #include "player.h"
 
-#include <stdlib.h>
-#include <signal.h>
+#include <csignal>
+#include <cstdlib>
 
 #include <iostream>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/menu.cpp 
new/sidplayfp-2.8.0/src/menu.cpp
--- old/sidplayfp-2.7.0/src/menu.cpp    2024-03-29 18:18:10.000000000 +0100
+++ new/sidplayfp-2.8.0/src/menu.cpp    2024-06-09 16:09:57.000000000 +0200
@@ -23,8 +23,8 @@
 
 #include "codeConvert.h"
 
+#include <cctype>
 #include <cstring>
-#include <ctype.h>
 
 #include <iostream>
 #include <iomanip>
@@ -297,6 +297,8 @@
     }
     else if (m_timer.valid)
         cerr << "FOREVER";
+    else if (songlengthDB == SLDB_NONE)
+        cerr << "NO SLDB";
     else
         cerr << "UNKNOWN";
     if (m_timer.start)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/player.cpp 
new/sidplayfp-2.8.0/src/player.cpp
--- old/sidplayfp-2.7.0/src/player.cpp  2024-03-29 18:18:10.000000000 +0100
+++ new/sidplayfp-2.8.0/src/player.cpp  2024-06-09 16:09:57.000000000 +0200
@@ -33,7 +33,7 @@
 using std::cerr;
 using std::endl;
 
-#include <stdlib.h>
+#include <cstdlib>
 
 #ifdef HAVE_UNISTD_H
 #  include <unistd.h>
@@ -142,6 +142,7 @@
     { "Figge Wasberger (Fegolhuzz)",         0.25 },
     { "Fred Gray",                           0.18 },
     { "Geir Tjelta",                         0.5 },
+    { "Geoff Follin",                        0.85 },
     { "Georg Feil",                          0.2 },
     { "Glenn Rune Gallefoss",                0.2 },
     { "Graham Jarvis & Rob Hartshorne",      0.25 },
@@ -323,12 +324,12 @@
     m_name(name),
     m_tune(nullptr),
     m_state(playerStopped),
-    m_outfile(NULL),
+    m_outfile(nullptr),
     m_filename(""),
     m_fcurve(-1.0),
     m_quietLevel(0),
+    songlengthDB(SLDB_NONE),
     m_cpudebug(false),
-    newSonglengthDB(false),
     m_autofilter(false)
 {
 #ifdef FEAT_REGS_DUMP_SID
@@ -336,7 +337,7 @@
 #endif
     // Other defaults
     m_filter.enabled = true;
-    m_driver.device  = NULL;
+    m_driver.device  = nullptr;
     m_driver.sid     = EMU_RESIDFP;
     m_timer.start    = 0;
     m_timer.length   = 0; // FOREVER
@@ -433,7 +434,7 @@
 {
     std::string title;
 
-    if (m_outfile != NULL)
+    if (m_outfile != nullptr)
     {
         title = m_outfile;
         if (title.compare("-") != 0
@@ -617,6 +618,12 @@
                     cerr << "Recommended filter range: " << frange << endl;
             }
 
+            if ((frange < 0.0) || (frange > 1.0))
+            {
+                cerr << "Invalid 6581 filter range: " << frange << endl;
+                exit(EXIT_FAILURE);
+            }
+
             if (m_verboseLevel)
                 cerr << "6581 filter range: " << frange << endl;
             rs->filter6581Range(frange);
@@ -637,6 +644,12 @@
                 fcurve = m_fcurve;
             }
 
+            if ((fcurve < 0.0) || (fcurve > 1.0))
+            {
+                cerr << "Invalid 6581 filter curve: " << fcurve << endl;
+                exit(EXIT_FAILURE);
+            }
+
             if (m_verboseLevel)
                 cerr << "6581 filter curve: " << fcurve << endl;
             rs->filter6581Curve(fcurve);
@@ -648,6 +661,12 @@
                 fcurve = m_fcurve;
             }
 
+            if ((fcurve < 0.0) || (fcurve > 1.0))
+            {
+                cerr << "Invalid 8580 filter curve: " << fcurve << endl;
+                exit(EXIT_FAILURE);
+            }
+
             if (m_verboseLevel)
                 cerr << "8580 filter curve: " << fcurve << endl;
             rs->filter8580Curve(fcurve);
@@ -799,7 +818,7 @@
     if (!m_timer.valid)
     {
 #ifdef FEAT_NEW_SONLEGTH_DB
-        const int_least32_t length = newSonglengthDB ? 
m_database.lengthMs(m_tune) : (m_database.length(m_tune) * 1000);
+        const int_least32_t length = songlengthDB == SLDB_MD5 ? 
m_database.lengthMs(m_tune) : (m_database.length(m_tune) * 1000);
 #else
         const int_least32_t length = m_database.length(m_tune) * 1000;
 #endif
@@ -909,7 +928,12 @@
     switch (m_state)
     {
     case playerRunning:
-        m_driver.selected->write(retSize);
+        if (!m_driver.selected->write(retSize))
+        {
+            cerr << m_driver.selected->getErrorString();
+            m_state = playerError;
+            return false;
+        }
         // fall-through
     case playerPaused:
         // Check for a keypress (approx 250ms rate, but really depends
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/player.h 
new/sidplayfp-2.8.0/src/player.h
--- old/sidplayfp-2.7.0/src/player.h    2024-03-29 18:18:10.000000000 +0100
+++ new/sidplayfp-2.8.0/src/player.h    2024-06-09 16:09:57.000000000 +0200
@@ -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
@@ -92,6 +92,14 @@
     ERR_FILE_OPEN
 };
 
+// Songlength DB.
+typedef enum
+{
+    SLDB_NONE = 0,
+    SLDB_TXT,
+    SLDB_MD5
+} sldb_t;
+
 void displayError (const char *arg0, unsigned int num);
 
 
@@ -139,9 +147,9 @@
     uint_least8_t      m_quietLevel;
     uint_least8_t      m_verboseLevel;
 
-    bool               m_cpudebug;
+    sldb_t             songlengthDB;
 
-    bool               newSonglengthDB;
+    bool               m_cpudebug;
 
     bool               m_autofilter;
 
@@ -208,7 +216,7 @@
     void consoleRestore (void);
 
     // Command line args
-    void displayArgs    (const char *arg = NULL);
+    void displayArgs    (const char *arg = nullptr);
 
     bool createOutput   (OUTPUTS driver, const SidTuneInfo *tuneInfo);
     bool createSidEmu   (SIDEMUS emu, const SidTuneInfo *tuneInfo);
@@ -231,7 +239,7 @@
 
 public:
     ConsolePlayer (const char * const name);
-    virtual ~ConsolePlayer() {}
+    virtual ~ConsolePlayer() = default;
 
     int  args  (int argc, const char *argv[]);
     bool open  (void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/sidcxx11.h 
new/sidplayfp-2.8.0/src/sidcxx11.h
--- old/sidplayfp-2.7.0/src/sidcxx11.h  2024-03-29 18:18:10.000000000 +0100
+++ new/sidplayfp-2.8.0/src/sidcxx11.h  2024-06-09 16:09:57.000000000 +0200
@@ -37,10 +37,7 @@
 #endif
 
 #ifndef HAVE_CXX11
-#  define nullptr    0
-#  define override
-#  define final
-#  define unique_ptr auto_ptr
+#  error "This is not a C++11 compiler"
 #endif
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/stilview.cpp 
new/sidplayfp-2.8.0/src/stilview.cpp
--- old/sidplayfp-2.7.0/src/stilview.cpp        2024-03-29 18:18:10.000000000 
+0100
+++ new/sidplayfp-2.8.0/src/stilview.cpp        2024-06-09 16:09:57.000000000 
+0200
@@ -26,9 +26,9 @@
 #include <fstream>
 #include <iostream>
 
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
 
 #include <codeConvert.h>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sidplayfp-2.7.0/src/utils.h 
new/sidplayfp-2.8.0/src/utils.h
--- old/sidplayfp-2.7.0/src/utils.h     2024-03-29 18:18:10.000000000 +0100
+++ new/sidplayfp-2.8.0/src/utils.h     2024-06-09 16:09:57.000000000 +0200
@@ -39,7 +39,7 @@
 
 public:
     static SID_STRING getDataPath();
-    
+
     static SID_STRING getConfigPath();
 
 #ifdef _WIN32

Reply via email to