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
