Hello community,

here is the log from the commit of package ffado for openSUSE:Factory checked 
in at 2020-06-11 14:37:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ffado (Old)
 and      /work/SRC/openSUSE:Factory/.ffado.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ffado"

Thu Jun 11 14:37:35 2020 rev:39 rq:810421 version:2.4.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/ffado/ffado-mixer.changes        2020-01-05 
15:21:20.549566550 +0100
+++ /work/SRC/openSUSE:Factory/.ffado.new.3606/ffado-mixer.changes      
2020-06-11 14:37:38.708080011 +0200
@@ -1,0 +2,7 @@
+Fri May 29 15:12:31 UTC 2020 - Edgar Aichinger <[email protected]>
+
+- update to release 2.4.3
+- removed unneeded Patch (fixed upstream):
+  ffado-mixer-fixbuild.patch
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/ffado/ffado.changes      2020-01-05 
15:21:20.741566646 +0100
+++ /work/SRC/openSUSE:Factory/.ffado.new.3606/ffado.changes    2020-06-11 
14:37:39.244081569 +0200
@@ -1,0 +2,5 @@
+Fri May 29 15:31:44 UTC 2020 - Edgar Aichinger <[email protected]>
+
+- Update to release 2.4.3
+
+-------------------------------------------------------------------

Old:
----
  ffado-mixer-fixbuild.patch
  libffado-2.4.1.tgz

New:
----
  libffado-2.4.3.tgz

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

Other differences:
------------------
++++++ ffado-mixer.spec ++++++
--- /var/tmp/diff_new_pack.cQq0S7/_old  2020-06-11 14:37:41.700088614 +0200
+++ /var/tmp/diff_new_pack.cQq0S7/_new  2020-06-11 14:37:41.700088614 +0200
@@ -20,7 +20,7 @@
 %define docs 0
 %define tname libffado
 Name:           ffado-mixer
-Version:        2.4.1
+Version:        2.4.3
 Release:        0
 Summary:        FireWire 1394 support for audio devices, svn snapshot
 License:        GPL-2.0-or-later
@@ -32,8 +32,6 @@
 Patch0:         libffado-date_time.patch
 # PATCH-FIX-UPSTREAM ffado-nosys.patch [email protected] -- No import sys 
in SConstruct although functions are used.
 Patch4:         ffado-nosys.patch
-# PATCH-FIX-UPSTREAM ffado-mixer-fixbuild.patch [email protected] - 
python3 has os.walk to replace 2's os.path.walk.
-Patch6:         ffado-mixer-fixbuild.patch
 BuildRequires:  alsa-devel
 BuildRequires:  doxygen
 BuildRequires:  fdupes

++++++ ffado.spec ++++++
--- /var/tmp/diff_new_pack.cQq0S7/_old  2020-06-11 14:37:41.716088660 +0200
+++ /var/tmp/diff_new_pack.cQq0S7/_new  2020-06-11 14:37:41.720088671 +0200
@@ -20,7 +20,7 @@
 %define gcc7 0
 %define tname libffado
 Name:           ffado
-Version:        2.4.1
+Version:        2.4.3
 Release:        0
 Summary:        FireWire 1394 support for audio devices, svn snapshot
 License:        GPL-2.0-or-later

++++++ libffado-2.4.1.tgz -> libffado-2.4.3.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libffado-2.4.1/README new/libffado-2.4.3/README
--- old/libffado-2.4.1/README   2017-12-23 11:42:59.000000000 +0100
+++ new/libffado-2.4.3/README   2020-05-29 08:55:37.000000000 +0200
@@ -67,7 +67,7 @@
  * Presonus Firebox and Inspire1394
  * Presonus FireStudio Tube, FireStudio Project
  * M-Audio Ozonic, Firewire Solo
- * M-Audio Profire 2626
+ * M-Audio Profire 2626, 610
  * M-Audio Audiophile and 410 (latest firmware and startup workaround needed,
    see http://sourceforge.net/p/ffado/mailman/message/30807938)
  * M-Audio 1814 and ProjectMix (mixer only, audio streaming not supported. and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libffado-2.4.1/SConstruct 
new/libffado-2.4.3/SConstruct
--- old/libffado-2.4.1/SConstruct       2018-03-04 07:13:17.000000000 +0100
+++ new/libffado-2.4.3/SConstruct       2020-05-29 09:00:58.000000000 +0200
@@ -25,7 +25,7 @@
 from __future__ import print_function
 
 FFADO_API_VERSION = "9"
-FFADO_VERSION="2.4.1"
+FFADO_VERSION="2.4.3"
 
 from subprocess import Popen, PIPE, check_output
 import os
@@ -609,9 +609,10 @@
                         (self.is_powerpc and \
                             ('970' in self.ppc_type or 'power8' in 
self.ppc_type.lower()))
 
-        # Hardware virtualization capable: vmx (Intel), svm (AMD)
+        # Hardware virtualization capable: vmx (Intel), svm (AMD, Hygon)
         self.has_hwvirt = self.is_x86 and (
-                            (self.is_amd and 'svm' in self.x86_flags) or
+                            ((self.is_amd or self.is_hygon) and 
+                                'svm' in self.x86_flags) or
                             (self.is_intel and 'vmx' in self.x86_flags))
 
         # Physical Address Extensions (support for more than 4GB of RAM)
@@ -627,9 +628,10 @@
                     # assume all CPUs are identical features, no need to
                     # parse all of them
                     continue
-            elif k == 'vendor_id': # AuthenticAMD, GenuineIntel
+            elif k == 'vendor_id': # AuthenticAMD, HygonGenuine, GenuineIntel
                 self.vendor_id = v
                 self.is_amd = v == 'AuthenticAMD'
+                self.is_hygon = v == 'HygonGenuine'
                 self.is_intel = v == 'GenuineIntel'
             elif k == 'flags':
                 self.x86_flags = v.split()
@@ -719,8 +721,8 @@
         # /bin/mount:     file format elf64-x86-64
         # or like this:
         # /bin/mount:     file format elf32-powerpc
-        for line in x.split(b'\n'):
-            line = line.strip().decode()
+        for line in x.split('\n'):
+            line = line.strip()
             if line.startswith(real_exe):
                 x, fmt = line.rsplit(None, 1)
                 answer = 'elf32' in fmt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libffado-2.4.1/configuration 
new/libffado-2.4.3/configuration
--- old/libffado-2.4.1/configuration    2017-03-28 13:30:41.000000000 +0200
+++ new/libffado-2.4.3/configuration    2020-05-29 08:55:37.000000000 +0200
@@ -356,7 +356,7 @@
     vendorname  = "M-Audio";
     modelname   = "ProFire 610";
     driver      = "DICE";
-    mixer       = "Generic_Dice_EAP";
+    mixer       = "Profire2626";
 },
 {
     vendorid    = 0x000aac;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libffado-2.4.1/src/dice/dice_avdevice.cpp 
new/libffado-2.4.3/src/dice/dice_avdevice.cpp
--- old/libffado-2.4.1/src/dice/dice_avdevice.cpp       2017-05-09 
14:55:47.000000000 +0200
+++ new/libffado-2.4.3/src/dice/dice_avdevice.cpp       2020-05-29 
08:55:37.000000000 +0200
@@ -147,7 +147,8 @@
             }
         case FW_VENDORID_MAUDIO:
             switch(modelId) {
-                case 0x00000010:
+                case 0x00000010:    // ProFire 2626
+                case 0x00000011:    // ProFire 610
                     return new Maudio::Profire2626(d, configRom);
                 default: // return a plain Dice device
                     return new Device(d, configRom);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libffado-2.4.1/src/dice/maudio/profire_2626.cpp 
new/libffado-2.4.3/src/dice/maudio/profire_2626.cpp
--- old/libffado-2.4.1/src/dice/maudio/profire_2626.cpp 2017-05-09 
14:55:47.000000000 +0200
+++ new/libffado-2.4.3/src/dice/maudio/profire_2626.cpp 2020-05-29 
08:55:37.000000000 +0200
@@ -359,6 +359,131 @@
     }
 }
 
+Profire2626::Profire610EAP::Profire610EAP(Dice::Device & dev)
+    : Profire2626EAP(dev)
+{
+}
+
+//
+// Profire 610 has
+//  - 4 mic/line inputs
+//  - 2 coaxial SPDIF inputs
+//  - 32 ieee1394 inputs
+//  - 18 mixer inputs
+//  - 1 MIDI input
+//
+//  - 8 line outputs (first two pairs are also routed to 2 headphone jacks)
+//  - 2 coaxial SPDIF outputs
+//  - 32 ieee1394 outputs
+//  - 16 mixer outputs
+//  - 1 MIDI output
+//
+void Profire2626::Profire610EAP::setupSources_low()
+{
+    addSource("Mic/Line/In", 0, 4, eRS_InS0, 1);
+    addSource("SPDIF/In", 0, 2, eRS_AES, 1);
+    addSource("Mixer/Out", 0, 16, eRS_Mixer, 1);
+    addSource("1394/In", 0, 16, eRS_ARX0, 1);
+    addSource("1394/In", 0, 16, eRS_ARX1, 17);
+    addSource("Mute", 0, 1, eRS_Muted);
+}
+
+void Profire2626::Profire610EAP::setupDestinations_low()
+{
+    addDestination("Line/Out", 0, 8, eRD_InS0, 1);
+    addDestination("SPDIF/Out", 0, 2, eRD_AES, 1);
+    addDestination("Mixer/In", 0, 16, eRD_Mixer0, 1);
+    addDestination("Mixer/In", 0, 2, eRD_Mixer1, 17);
+    addDestination("1394/Out", 0, 16, eRD_ATX0, 1);
+    addDestination("1394/Out", 0, 16, eRD_ATX1, 17);
+    addDestination("Mute", 0, 1, eRD_Muted);
+}
+
+void Profire2626::Profire610EAP::setupSources_mid()
+{
+    setupSources_low();
+}
+
+void Profire2626::Profire610EAP::setupDestinations_mid()
+{
+    setupDestinations_low();
+}
+
+void Profire2626::Profire610EAP::setupSources_high()
+{
+    setupSources_low();
+}
+
+void Profire2626::Profire610EAP::setupDestinations_high()
+{
+    setupDestinations_low();
+}
+
+void Profire2626::Profire610EAP::setupDefaultRouterConfig_low()
+{
+    unsigned int i;
+
+    // ======== the 1394 stream receivers
+
+    // LINE IN
+    for (i=0; i<4; i++) {
+        addRoute(eRS_InS0, i, eRD_ATX0, i);
+    }
+
+    // SPDIF IN
+    for (i=0; i<2; i++) {
+        addRoute(eRS_AES, i, eRD_ATX0, i+4);
+    }
+
+
+    // ======== Mixer inputs
+
+    // LINE IN
+    for (i=0; i<4; i++) {
+        addRoute(eRS_InS0, i, eRD_Mixer0, i);
+    }
+
+    // SPDIF IN
+    for (i=0; i<2; i++) {
+        addRoute(eRS_AES, i, eRD_Mixer0, i+4);
+    }
+
+    // IEEE1394 channels
+    for (i=0; i<10; i++) {
+        addRoute(eRS_ARX0, i, eRD_Mixer0, i+6);
+    }
+    for (i=0; i<2; i++) {
+        addRoute(eRS_ARX0, i+10, eRD_Mixer1, i);
+    }
+
+    // ======== Outputs
+
+    // LINE OUT
+    for (i=0; i<8; i++) {
+        addRoute(eRS_ARX0, i, eRD_InS0, i);
+    }
+
+    // SPDIF OUT
+    for (i=0; i<2; i++) {
+        addRoute(eRS_ARX0, i+8, eRD_AES, i);
+    }
+
+    // Mixer is muted
+    for (i=0; i<16; i++) {
+        addRoute(eRS_Mixer, i, eRD_Muted, 0);
+    }
+}
+
+void Profire2626::Profire610EAP::setupDefaultRouterConfig_mid()
+{
+    setupDefaultRouterConfig_low();
+}
+
+void Profire2626::Profire610EAP::setupDefaultRouterConfig_high()
+{
+    setupDefaultRouterConfig_low();
+}
+
 /**
   Device
 */
@@ -396,7 +521,10 @@
 
 Dice::EAP* Profire2626::createEAP()
 {
-    return new Profire2626EAP(*this);
+    if (getConfigRom().getModelId() == 0x00000011)
+        return new Profire610EAP(*this);
+    else
+        return new Profire2626EAP(*this);
 }
 
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libffado-2.4.1/src/dice/maudio/profire_2626.h 
new/libffado-2.4.3/src/dice/maudio/profire_2626.h
--- old/libffado-2.4.1/src/dice/maudio/profire_2626.h   2017-05-09 
14:55:47.000000000 +0200
+++ new/libffado-2.4.3/src/dice/maudio/profire_2626.h   2020-05-29 
08:55:37.000000000 +0200
@@ -98,6 +98,22 @@
         };
     };
 
+    class Profire610EAP : public Profire2626EAP
+    {
+    public:
+        Profire610EAP(Dice::Device& dev);
+
+        void setupSources_low() override;
+        void setupDestinations_low() override;
+        void setupSources_mid() override;
+        void setupDestinations_mid() override;
+        void setupSources_high() override;
+        void setupDestinations_high() override;
+        void setupDefaultRouterConfig_low() override;
+        void setupDefaultRouterConfig_mid() override;
+        void setupDefaultRouterConfig_high() override;
+    };
+
 private:
     Dice::EAP* createEAP();
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libffado-2.4.1/support/mixer-qt4/SConscript 
new/libffado-2.4.3/support/mixer-qt4/SConscript
--- old/libffado-2.4.1/support/mixer-qt4/SConscript     2015-04-12 
13:18:15.000000000 +0200
+++ new/libffado-2.4.3/support/mixer-qt4/SConscript     2019-09-21 
08:40:01.000000000 +0200
@@ -29,16 +29,12 @@
 if env['BUILD_MIXER'] == 'true':
     e = env.Clone()
 
-    def findfiles( arg, dirname, names ):
-        for name in names:
-            if name.startswith("."):
-                names.remove(name)
-        for name in names:
-            if '.pyc' not in name and '.in' not in name:
-                arg.append( os.path.join( dirname, name ) )
-
     pythonfiles = [ 'ffado/config.py' ]
-    os.path.walk( "ffado", findfiles, pythonfiles )
+    for root, dirs, files in os.walk( "ffado" ):
+        for name in files:
+            if name.endswith( '.pyc' ) or '.in' in name or 
name.startswith("."):
+                continue
+            pythonfiles.append( os.path.join( root, name ) )
 
     e.ScanReplace( "ffado/config.py.in" )
     e.Depends( "ffado/config.py", "#/SConstruct" )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libffado-2.4.1/support/mixer-qt4/ffado/configuration.py 
new/libffado-2.4.3/support/mixer-qt4/ffado/configuration.py
--- old/libffado-2.4.1/support/mixer-qt4/ffado/configuration.py 2017-03-28 
13:38:34.000000000 +0200
+++ new/libffado-2.4.3/support/mixer-qt4/ffado/configuration.py 2020-05-29 
08:58:47.000000000 +0200
@@ -20,7 +20,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-import re, os
+import os
+import dbus
 
 import shlex
 
@@ -53,6 +54,11 @@
                 self.addDevice( dev )
 
     def getDeviceById( self, vendor, model ):
+        if isinstance(vendor, dbus.Int32):
+            vendor = str(int(vendor))
+        if isinstance(model, dbus.Int32):
+            model = str(int(model))
+
         log.debug("DeviceList::getDeviceById( %s, %s )" % (vendor, model ))
         for dev in self.devices:
             if int("%s" % dev['vendorid'], 0) == int("%s" % vendor, 0) and \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libffado-2.4.1/support/mixer-qt4/ffado/ffadowindow.py 
new/libffado-2.4.3/support/mixer-qt4/ffado/ffadowindow.py
--- old/libffado-2.4.1/support/mixer-qt4/ffado/ffadowindow.py   2018-03-04 
07:12:18.000000000 +0100
+++ new/libffado-2.4.3/support/mixer-qt4/ffado/ffadowindow.py   2020-05-29 
08:59:52.000000000 +0200
@@ -160,7 +160,7 @@
         except dbus.DBusException as ex:
             if hasattr(self, "retry"):
                 self.retry.setEnabled(False)
-            subprocess.Popen(['ffado-dbus-server', '-v3']).pid
+            subprocess.Popen(['ffado-dbus-server', '-v3'], close_fds=True).pid
             QTimer.singleShot(5000, self.connectToDBUS)
 
     def setupDeviceManager(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libffado-2.4.1/support/mixer-qt4/ffado/import_pyqt.py 
new/libffado-2.4.3/support/mixer-qt4/ffado/import_pyqt.py
--- old/libffado-2.4.1/support/mixer-qt4/ffado/import_pyqt.py   2017-06-03 
10:34:29.000000000 +0200
+++ new/libffado-2.4.3/support/mixer-qt4/ffado/import_pyqt.py   2019-09-21 
08:40:01.000000000 +0200
@@ -20,27 +20,35 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-ffado_pyqt_version = 4
-
-# This module handles the importing of PyQt modules for both PyQt4 and PyQt5.
-# The idea is to first try importing PyQt4.  If there's an import error it's
-# assumed PyQt5 is present instead and that is tried.
+# This module handles the importing of PyQt modules for both PyQt4 and PyQt5
+# under Python2 or Python3.  If Python3 is installed it is assumed that
+# PyQt5 is in use (this is reasonable because PyQt5 is what everyone wants
+# to use under Python3).  Otherwise (that is, under Python2), an import of
+# PyQt4 is tried first; if an import error occurs then PyQt5 is assumed.
 #
 # All modules used by any part of ffado-mixer are imported.  This greatly
 # simplifies the process.  Otherwise the modules to import would be delivered
 # by string variables, and there isn't a supported way to do this across 
 # Python2 and Python3.
-try:
+
+import sys
+ffado_python3 = sys.version_info >= (3,)
+
+if ffado_python3:
+    ffado_pyqt_version = 5
+else:
+    try:
+        from PyQt4 import QtGui
+        ffado_pyqt_version = 4
+    except ImportError:
+        ffado_pyqt_version = 5
+
+if ffado_pyqt_version == 4:
     from PyQt4 import QtGui, QtCore, Qt, uic
     from PyQt4.QtCore import QByteArray, QObject, QTimer, Qt, pyqtSignal, 
QString, pyqtSlot
     from PyQt4.QtGui import *
-    ffado_pyqt_version = 4
-except ImportError:
+else:
     from PyQt5 import QtGui, Qt, QtCore, Qt, QtWidgets, uic
     from PyQt5.QtCore import QByteArray, QObject, pyqtSignal, pyqtSlot, 
QTimer, Qt
     from PyQt5.QtGui import *
     from PyQt5.QtWidgets import *
-    ffado_pyqt_version = 5
-
-import sys
-ffado_python3 = sys.version_info >= (3,)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libffado-2.4.1/support/mixer-qt4/ffado/mixer/profire2626.py 
new/libffado-2.4.3/support/mixer-qt4/ffado/mixer/profire2626.py
--- old/libffado-2.4.1/support/mixer-qt4/ffado/mixer/profire2626.py     
2017-06-03 10:25:01.000000000 +0200
+++ new/libffado-2.4.3/support/mixer-qt4/ffado/mixer/profire2626.py     
2020-05-29 08:55:37.000000000 +0200
@@ -106,7 +106,7 @@
             l.widget.toggled.connect(l.Interface.select)
 
     def getDisplayTitle(self):
-        return "M-Audio Profire 2626 Mixer"
+        return "M-Audio Profire 2626 and 610 Mixer"
 
 #
 # vim: et ts=4 sw=4


Reply via email to