# # ChangeLog for /trunk # # Generated by Trac 0.10.4 # 03/28/24 23:30:11 # 06/03/17 01:33:37 jwoithe [2695] * trunk/libffado/support/mixer-qt4/ffado/mixer/maudio_bebob.py (modified) maudio_bebob: add missing licence description to the top of the mixer python source. 06/03/17 01:25:01 jwoithe [2694] * trunk/libffado/support/mixer-qt4/ffado/config.py.in (modified) * trunk/libffado/support/mixer-qt4/ffado/ffadowindow.py (modified) * trunk/libffado/support/mixer-qt4/ffado/import_pyqt.py (added) * trunk/libffado/support/mixer-qt4/ffado/logginghandler.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/audiofire.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/bcoaudio5control.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/dummy.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/edirolfa101control.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/edirolfa66control.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/generic_dice_eap.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/globalmixer.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/mackie_onyxmixer.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/maudio_bebob.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/motu.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/motu_mark3.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/nodevice.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/phase24control.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/phase88control.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/presonus_firebox.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/presonus_fp10.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/presonus_inspire1394.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/profire2626.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/quatafire.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffire.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffirepro.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffire_dice.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/yamahago.py (modified) * trunk/libffado/support/mixer-qt4/ffado/panelmanager.py (modified) * trunk/libffado/support/mixer-qt4/ffado/regdialog.py (modified) * trunk/libffado/support/mixer-qt4/ffado/registration.py (modified) * trunk/libffado/support/mixer-qt4/ffado/widgets/crossbarrouter.py (modified) * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) ffado-mixer: Centralise imports of PyQt modules and make compatible with PyQt5. In Xavier Forestier's patch set submitted to ffado-devel in November 2016, changes were required to every PyQt import statement if PyQt5 were to to be used instead. Since the current intent is to retain compatiblity to both PyQt4 and PyQt5 a slightly different approach was needed. All PyQt module imports are now handled by the newly added import_pyqt module. This transparently loads PyQt4 or PyQt5 modules depending on what is found on the system at runtime. Presently PyQt4 is tried first with a fallback to PyQt5 if PyQt4 is not found, but this could change in future. The result is that the ffado-mixer code should now be very close to being compatible with PyQt5 without additional patches. Having said that, some build system changes are still needed to make PyQt5 an option, along with some other minor fixes. This is perhaps not the neatest way of achieving the desired result, but it seems to work. It avoids the need to patch every ffado-mixer source file depending on the PyQt version in use, and allows ffado-mixer to adapt to the PyQt version found at runtime. The import_pyqt module also sets two global version variables: ffado_pyqt_version (the version of PyQt in use) and ffado_python3 (true if python3 is in use). These may be of use when addressing remaining PtQt4/PyQt5 and Python 2/3 issues. This patch has been tested with PyQt4 under Python 2.7. 06/03/17 01:08:05 jwoithe [2693] * trunk/libffado/src/rme/rme_avdevice.cpp (modified) rme: add a clarifying comment indicating that FFADO does not implement RME MIDI functionality yet. 05/14/17 03:54:21 jwoithe [2692] * trunk/libffado/src/rme/fireface_def.h (modified) * trunk/libffado/src/rme/fireface_hw.cpp (modified) rme: adjustments to maintain compatibility with the kernel snd- fireface driver for FF400 devices. This is a modified version of a patch submitted by Takashi Sakamoto. His original commit message follows. Changes from the original patch were: 1. Abbreviate comments added to fireface_def.h. This file was never intended to contain verbose protocol-level descriptions, so a briefer version is fine. 2. In fireface_def.h, omit the added "Not used in user land." comment attached to RME_FF400_MIDI_HIGH_ADDR. While FFADO does not utilise this at present, it doesn't mean that it couldn't in future (at least in principle). Since this file describes the programming interface implemented by the device, the proposed annotation could be confusing in the future. 3. Do not remove the "provide_midi" device field. This infrastructure field helps document the device's programming interface and could be used in future to allow FFADO to support MIDI on the FF400 device. In the meantime, its current setting (0) continues to allow FFADO and the kernel snd-fireface module (kernel >= 4.12) to co-exist. To this end, the changes to CR2 requested in the patch are carried out if provide_midi is 0. [Takashi Sakamoto's commit message] As of May 2017, FFADO library has no support for MIDI functionality as a driver for RME fireface series. ALSA fireface driver, a.k.a. snd-fireface were added to Linux kernel v4.12. This driver is designed to just support functionalities to handle PCM frames and MIDI messages for ALSA userspace applications. The other features should be implemented in user space to avoid complexity in kernel land. Additionally, due to design of target hardware, the driver request userspace applications to handle some registers. In RME Fireface series, some registers are write-only. Fortunately, none of the registers is relevant to packet streaming feature; i.e. isochronous communication on IEEE 1394 bus, while asynchronous communication is controlled by such registers. MIDI functionality in ALSA fireface driver gets influences from this specification. The driver need a care of userspace applications to set the registers correctly. For the above reason, this commit changes this library to configure the registers so that ALSA fireface driver can handle MIDI messages properly. The issue is an address to which the unit transfers asynchronous transactions for MIDI messages. 4 byte in MSB of the address is represented in 0x'0000'8010'03f4 with node ID. This is readable/writable by ALSA fireface driver. Rest of the address is decided by write transaction to 0x'0000'8010'051c with bit flags. This register is write-only, it includes effects for the other features than MIDI functionality. ALSA fireface driver doesn't touch it but expects userspace applications to configure the register to transfer MIDI messagess to a certain address. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> 05/09/17 05:55:47 jwoithe [2691] * trunk/libffado/src/bebob/bebob_avdevice.cpp (modified) * trunk/libffado/src/bebob/bebob_avdevice.h (modified) * trunk/libffado/src/bebob/bebob_dl_mgr.cpp (modified) * trunk/libffado/src/bebob/edirol/edirol_fa101.cpp (modified) * trunk/libffado/src/bebob/edirol/edirol_fa101.h (modified) * trunk/libffado/src/bebob/edirol/edirol_fa66.cpp (modified) * trunk/libffado/src/bebob/edirol/edirol_fa66.h (modified) * trunk/libffado/src/bebob/esi/quatafire610.cpp (modified) * trunk/libffado/src/bebob/esi/quatafire610.h (modified) * trunk/libffado/src/bebob/focusrite/focusrite_generic.cpp (modified) * trunk/libffado/src/bebob/focusrite/focusrite_generic.h (modified) * trunk/libffado/src/bebob/focusrite/focusrite_saffire.cpp (modified) * trunk/libffado/src/bebob/focusrite/focusrite_saffire.h (modified) * trunk/libffado/src/bebob/focusrite/focusrite_saffirepro.cpp (modified) * trunk/libffado/src/bebob/focusrite/focusrite_saffirepro.h (modified) * trunk/libffado/src/bebob/mackie/onyxmixer.cpp (modified) * trunk/libffado/src/bebob/mackie/onyxmixer.h (modified) * trunk/libffado/src/bebob/maudio/normal_avdevice.cpp (modified) * trunk/libffado/src/bebob/maudio/normal_avdevice.h (modified) * trunk/libffado/src/bebob/maudio/special_avdevice.cpp (modified) * trunk/libffado/src/bebob/maudio/special_avdevice.h (modified) * trunk/libffado/src/bebob/presonus/firebox_avdevice.cpp (modified) * trunk/libffado/src/bebob/presonus/firebox_avdevice.h (modified) * trunk/libffado/src/bebob/presonus/inspire1394_avdevice.cpp (modified) * trunk/libffado/src/bebob/presonus/inspire1394_avdevice.h (modified) * trunk/libffado/src/bebob/template/vendor_device.cpp (modified) * trunk/libffado/src/bebob/template/vendor_device.h (modified) * trunk/libffado/src/bebob/terratec/terratec_device.cpp (modified) * trunk/libffado/src/bebob/terratec/terratec_device.h (modified) * trunk/libffado/src/bebob/yamaha/yamaha_avdevice.cpp (modified) * trunk/libffado/src/bebob/yamaha/yamaha_avdevice.h (modified) * trunk/libffado/src/bounce/bounce_avdevice.cpp (modified) * trunk/libffado/src/bounce/bounce_avdevice.h (modified) * trunk/libffado/src/bounce/bounce_slave_avdevice.cpp (modified) * trunk/libffado/src/bounce/bounce_slave_avdevice.h (modified) * trunk/libffado/src/devicemanager.cpp (modified) * trunk/libffado/src/devicemanager.h (modified) * trunk/libffado/src/dice/dice_avdevice.cpp (modified) * trunk/libffado/src/dice/dice_avdevice.h (modified) * trunk/libffado/src/dice/focusrite/saffire_56.cpp (modified) * trunk/libffado/src/dice/focusrite/saffire_56.h (modified) * trunk/libffado/src/dice/focusrite/saffire_pro14.cpp (modified) * trunk/libffado/src/dice/focusrite/saffire_pro14.h (modified) * trunk/libffado/src/dice/focusrite/saffire_pro24.cpp (modified) * trunk/libffado/src/dice/focusrite/saffire_pro24.h (modified) * trunk/libffado/src/dice/focusrite/saffire_pro26.cpp (modified) * trunk/libffado/src/dice/focusrite/saffire_pro26.h (modified) * trunk/libffado/src/dice/focusrite/saffire_pro40.cpp (modified) * trunk/libffado/src/dice/focusrite/saffire_pro40.h (modified) * trunk/libffado/src/dice/maudio/profire_2626.cpp (modified) * trunk/libffado/src/dice/maudio/profire_2626.h (modified) * trunk/libffado/src/dice/presonus/firestudio_mobile.cpp (modified) * trunk/libffado/src/dice/presonus/firestudio_mobile.h (modified) * trunk/libffado/src/dice/presonus/firestudio_project.cpp (modified) * trunk/libffado/src/dice/presonus/firestudio_project.h (modified) * trunk/libffado/src/dice/presonus/firestudio_tube.cpp (modified) * trunk/libffado/src/dice/presonus/firestudio_tube.h (modified) * trunk/libffado/src/digidesign/digidesign_avdevice.cpp (modified) * trunk/libffado/src/digidesign/digidesign_avdevice.h (modified) * trunk/libffado/src/ffadodevice.cpp (modified) * trunk/libffado/src/ffadodevice.h (modified) * trunk/libffado/src/fireworks/audiofire/audiofire_device.cpp (modified) * trunk/libffado/src/fireworks/audiofire/audiofire_device.h (modified) * trunk/libffado/src/fireworks/fireworks_device.cpp (modified) * trunk/libffado/src/fireworks/fireworks_device.h (modified) * trunk/libffado/src/genericavc/avc_avdevice.cpp (modified) * trunk/libffado/src/genericavc/avc_avdevice.h (modified) * trunk/libffado/src/genericavc/stanton/scs.cpp (modified) * trunk/libffado/src/genericavc/stanton/scs.h (modified) * trunk/libffado/src/metrichalo/mh_avdevice.cpp (modified) * trunk/libffado/src/metrichalo/mh_avdevice.h (modified) * trunk/libffado/src/motu/motu_avdevice.cpp (modified) * trunk/libffado/src/motu/motu_avdevice.h (modified) * trunk/libffado/src/oxford/oxford_device.cpp (modified) * trunk/libffado/src/oxford/oxford_device.h (modified) * trunk/libffado/src/rme/rme_avdevice.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.h (modified) * trunk/libffado/support/firmware/fireworks-downloader.cpp (modified) * trunk/libffado/tests/scan-devreg.cpp (modified) Initial attempt to address deprecation of auto_ptr. C++11 deprecates auto_ptr, and gcc6 (and later versions) print compile time warnings to this effect whenever it is encountered in the source. The replacement type is either shared_ptr or unique_ptr depending on the usage. For almost all usages within FFADO it seems unique_ptr could be the appropriate choice, but the symantics are a little different to auto_ptr. Shared_ptr on the other hand can be a drop-in replacement, although it comes with considerable overheads which unique_ptr avoids. In the context of the current usage, the extra overhead incurred is not critical. The code-base cannot at this time change unconditionally to shared_ptr and unique_ptr because these are not available in gcc4 unless "-- std=c++11" is given. When gcc4 is used certain older versions of dependent libraries must be used and these in turn will cause compile failures in their header files if "--std=c++11" is used (libxml++ being an example). At present there are sufficient users of FFADO still on gcc4 to justify maintaining compatibility with that gcc version. The approach adopted at present is to define ffado_smartptr to be either auto_ptr (if c++11 is not in use) or shared_ptr if it is. All auto_ptr instances are then changed to ffado_smartptr. This should allow FFADO to be compiled without errors or warnings on systems using gcc4 and above. Gcc6 defaults to the c++14 standard, so ffado_smartptr will be shared_ptr in that case; thus the warnings will be avoided. In time, once gcc4 drops out of common use, the ffado_smartptr instances can be progressively migrated to unique_ptr or shared_ptr as is appropriate. It has been pointed out in the ffado-devel mailing list by Jano Svitok (2 May 2017, subject "smart pointers Was: [FFADO-devel] Liquid Saffire 56") that bebob_dl_mgr.cpp could use unique_ptr. shared_ptr should be ok in other auto_ptr sites, but futher analysis may show that at least some of them can use unique_ptr. The addressing of the auto_ptr issue was prompted by Xavier Forestier's patch set submitted to ffado-devel in November 2016. 03/28/17 05:26:52 jwoithe [2690] * trunk/libffado/support/mixer-qt4/ffado/registration.py (modified) ffado-mixer: deal with python 2/3 differences when converting registration email addresses to ascii. Code for python3 suggested by Xavier Forestier. 03/28/17 05:14:30 jwoithe [2689] * trunk/libffado/support/mixer-qt4/ffado/registration.py (modified) ffado-mixer: the registration code utilises urlopen() and urlencode() which have moved from urllib to urllib.request and urllib.parse respectively. urlencode() also requires additional treatment in python3. Allow for all this in a python2 compatible way. The original suggestion for the python3 code was from Xavier Forestier. 03/28/17 04:49:26 jwoithe [2688] * trunk/libffado/support/mixer-qt4/ffado/registration.py (modified) ffado-mixer: the ConfigParser module as used by the registration code has been renamed to configparser in python3. Allow for this in a way which maintains compatibility with python2. 03/28/17 04:42:25 jwoithe [2687] * trunk/libffado/support/mixer-qt4/ffado/registration.py (modified) registration: use a byte-string when comparing server responses for compatibility with python3. Suggested by Xavier Forestier. 03/28/17 04:38:34 jwoithe [2686] * trunk/libffado/support/mixer-qt4/ffado/configuration.py (modified) ffado-mixer: replace configuration key search with a construct which is compatible with both python2 and python3. Suggestion is from Xavier Forestier. 03/28/17 04:30:41 jwoithe [2685] * trunk/libffado/configuration (modified) configuration: remove a single extended ascii character to avoid the need to treat the file as utf-8 in python3, thereby keeping the python and C parsing consistent. 03/27/17 03:44:56 jwoithe [2684] * trunk/libffado/support/mixer-qt4/ffado/ffadowindow.py (modified) ffadowindow: catch exceptions in a way which is compatible with both python2 and python3. 03/27/17 03:39:34 jwoithe [2683] * trunk/libffado/support/tools/ffado_diag_helpers.py (modified) * trunk/libffado/support/tools/listirqinfo.py (modified) support/tools/: make allowances for the movement of getstatusoutput() from the 'commands' module in Python2 to the 'subprocess' module in Python3. This patch differs from an initial implementation by Xavier Forestier's in November 2016 in that the committed code should work in both python variants. 03/27/17 03:06:34 jwoithe [2682] * trunk/libffado/support/tools/listirqinfo.py (modified) listirqinfo.py: make use of the sorted() built-in as suggested by Xavier Forestier as part of his patchset readying FFADO for python3. This also works in python2. 03/27/17 03:01:35 jwoithe [2681] * trunk/libffado/src/libutil/Configuration.cpp (modified) configuration parser: provide extra information when parsing of the configuration file fails. Patch from Xavier Forestier. 03/27/17 02:52:30 jwoithe [2680] * trunk/libffado/support/mixer-qt4/ffado/configuration.py (modified) * trunk/libffado/support/mixer-qt4/ffado/ffadowindow.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/generic_dice_eap.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/globalmixer.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/profire2626.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffire_dice.py (modified) * trunk/libffado/support/mixer-qt4/ffado/panelmanager.py (modified) * trunk/libffado/support/mixer-qt4/ffado/widgets/crossbarrouter.py (modified) * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) * trunk/libffado/support/tools/ffado-sandbox-install.py (modified) * trunk/libffado/support/tools/ffado_diag_helpers.py (modified) * trunk/libffado/support/tools/helpstrings.py (modified) * trunk/libffado/support/tools/listirqinfo.py (modified) * trunk/libffado/tests/dbus_test.py (modified) * trunk/libffado/tests/python/test-eap-ctrl.py (modified) * trunk/libffado/tests/python/test-echo-digital.py (modified) * trunk/libffado/tests/python/test-echo-routing.py (modified) python: replace all "print ..." statements with "print( ... )", which is compatible with current versions of python2 and python3. The replacement was done with a straight-forward shell command: for i in $(find . -name \*.py) ; do sed -i.bak 's/print \(.*\)/print( \1 )/' $i ; done This will fail if any of the print statements extend beyond a single line. Inspection suggests there are none of these, but there is always a chance that one or two have been missed. If so they can obviously be fixed up later. The move to the new "print" syntax was included in Xavier Forestier's November 2016 patch set. The majority of the changes needed to make FFADO run under python3 involved fixing the "print" syntax. Other issues identified in that patch set will be dealt with in future patches. 03/26/17 04:55:01 jwoithe [2679] * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) matrixmixer: simplify the generation of colour keys. This was included in Xavier Forestier's Nov 2016 patch set as part of his Qt5/Python3 patchsets. The suggested form may be slightly more efficient and it works under Qt4/Python2 so it seems fine to apply. 03/26/17 04:37:26 jwoithe [2678] * trunk/libffado/support/mixer-qt4/ffado/ffadowindow.py (modified) ffado-mixer: rename the 'Edit' main menu item to 'View'. A similar rename was suggested by Xavier Forestier in his Nov 2016 patch set which focused on Qt5 issues. The new name used in Xavier's patch was 'Devices', but given the current content of the submenu 'View' is probably better. If the focus of the submenu's tasks changes this can always be revisited. 03/21/17 15:43:24 jwoithe [2677] * trunk/libffado/src/libieee1394/configrom.cpp (modified) configrom: there is no obvious reason why a space should be added to the end of the vendor and model strings returned from the interface. Retain the explicit null termination of these strings to cover for the case where an interface may not return any null bytes. Also fix indentation associated with the null termination code. The issue with the trailing space was noticed and reported by Nils Philippsen: its presence broke a test in the saffire_dice mixer python code. 03/20/17 17:11:33 jwoithe [2676] * trunk/libffado/support/mixer-qt4/ffado/mixer/saffire_dice.py (modified) saffire_dice: fix a typo in the Saffire Dice mixer python code introduced in r2653 which caused the global mute buttons for the line outs in the monitoring tab not to work. Thanks to Nils Philippsen for noticing this, tracking down the cause and providing the patch to fix it. 03/11/17 03:12:01 jwoithe [2675] * trunk/libffado/support/mixer-qt4/ffado/mixer/globalmixer.py (modified) globalmixer.py: use pyqtSlot (from the new-style PyQt signal API) in preference to pyqtSignature, for consistency with the use of the new style signal API elsewhere. 02/16/17 02:58:42 jwoithe [2674] * trunk/libffado/support/dbus/controlclient.h (modified) * trunk/libffado/support/dbus/controlserver.h (modified) * trunk/libffado/support/dbus/ffado-dbus-server.cpp (modified) * trunk/libffado/support/dbus/test-dbus.cpp (modified) support/dbus/: work around a bug in dbus-c++. dbus-c++ 0.9.0 and earlier has a bug which prevents compilation under gcc7 (and probably later versions). If DBUS_HAS_RECURSIVE_MUTEX is not defined the compiler identifies a type mismatch between the MutexFreeFn function typedef and the implemented Threading::mutex_free() method through the _init_threading() call. DBUS_HAS_RECURSIVE_MUTEX is defined in dbus-c++'s internal config.h but this is not installed for system wide use and is not referenced in any of the dbus-c++ include files. DBUS_HAS_RECURSIVE_MUTEX is defined in dbus-c++'s config.h for dbus 0.95 or later. The bool variation of the mutex functions are deprecated, and since dbus-0.95 dates from 2007 it is safe to assume that everyone is using the void versions. Therefore the simplistic approach of defining DBUS_HAS_RECURSIVE_MUTEX if it is not already defined prior to including dbus-c++/dbus.h should be safe. In addition it is necessary to do this before including any of the *-glue.h files. These include dbus-c++/dbus.h but because they are generated it's not easy to insert the workaround code into them. Thanks to Orcan Ogetbil for the initial report, looking into and identifying the true source of the problem in dbus-c++, and proposing the solution. The full discussion was on the FFADO-devel list, subject "gcc7 build fixes", 14-16 February 2017. 02/16/17 02:27:49 jwoithe [2673] * trunk/libffado/src/libieee1394/configrom.cpp (modified) libieee1394: fix incorrect comparisons when searching for the first zero byte in a string right-padded with zero bytes. Rather than comparing the string's characters, a pointer was compared instead. The problem came to light due to a warning from gcc7 as reported by Orcan Ogetbil. Thanks Orcan. 01/21/17 03:21:08 jwoithe [2672] * trunk/libffado/README (modified) README: fix URL to compilation guides. Thanks to Shalok Shalom for pointing out the error (via ffado-user mailing list). 01/09/17 05:28:05 jwoithe [2671] * trunk/libffado/configuration (modified) * trunk/libffado/src/bebob/bebob_avdevice.cpp (modified) bebob: make allowances for a variation of the ESI QuantaFire 610 which reports a different model ID to what others do. Thanks to Shalok Shalom for the report, information and initial testing. Further testing may highlight the need for additional code changes. 01/09/17 04:50:19 jwoithe [2670] * trunk/libffado/support/mixer-qt4/ffado/config.py.in (modified) * trunk/libffado/support/mixer-qt4/ffado/dbus_util.py (modified) * trunk/libffado/support/mixer-qt4/ffado/ffadowindow.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/profire2626.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffire_dice.py (modified) * trunk/libffado/support/mixer-qt4/ffado/panelmanager.py (modified) * trunk/libffado/support/mixer-qt4/ffado/widgets/crossbarrouter.py (modified) * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) Add the "-b" / "--bypassdbus" command line option to ffado-mixer. If given, no communication with ffado-dbus-server will be attempted. Instead, an instance of each supported mixer module will be created with stubs providing placeholder values in place of values obtained from hardware. This permits rudimentary debugging of mixer modules for interfaces which the developer does not have on hand. This commit amounts to a minor rework of a patch originally submitted by Xavier Forestier as part of a large series which is being slowly merged: https://sourceforge.net/p/ffado/mailman/message/35457569/. The most significant difference is that the bypassdbus functionality in Xavier's patch was a compile option whereas the commit implements it as a runtime option. It is felt that this will make things easier for developers in the long run: mixer modules can be tested without having to reconfigure ffado from source. Minor bug fixes were applied to the patch as it was reworked. Thanks to Xavier Forestier for the original patch. 01/09/17 04:19:00 jwoithe [2669] * trunk/libffado/support/mixer-qt4/ffado/mixer/saffire_dice.py (modified) saffire_dice mixer: fix typos introduced with the new signal style, take 2. 01/09/17 04:16:28 jwoithe [2668] * trunk/libffado/support/mixer-qt4/ffado/mixer/saffire_dice.py (modified) saffire_dice mixer: fix typos introduced with the new signal style. 01/09/17 03:23:47 jwoithe [2667] * trunk/libffado/support/mixer-qt4/ffado/mixer/saffire.py (modified) saffire mixer: fix typo introduced with the new signal style. 01/09/17 03:18:00 jwoithe [2666] * trunk/libffado/support/mixer-qt4/ffado/mixer/saffire_base.py (modified) saffire_base: fix typo introduced with the new signal style. 01/09/17 03:14:30 jwoithe [2665] * trunk/libffado/support/mixer-qt4/ffado/widgets/crossbarrouter.py (modified) crossbarrouter: fix typo introduced in the move to new signal style. 12/26/16 03:38:20 jwoithe [2664] * trunk/libffado/src/libstreaming/rme/RmeReceiveStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/rme/RmeTransmitStreamProcessor.cpp (modified) rme: add byte swapping to streaming data when required by the host architecture (needed on big-endian systems). 12/26/16 03:22:21 jwoithe [2663] * trunk/libffado/src/rme/rme_avdevice.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.h (modified) rme: move RME byteswap definitions into the header file to make them available to the streaming functions. 12/09/16 02:32:56 jwoithe [2662] * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) matrixmixer: fix the connection of the mapper's "mapped" signal to the directValues() slot. This makes the matrix cell right-click context menu items work again. Thanks to Daniel Cavalli for reporting the regression. 12/04/16 04:25:21 jwoithe [2661] * trunk/libffado/support/mixer-qt4/ffado/ffadowindow.py (modified) ffadowindow: add shortcut keys for main menu items and fetch menu item icons from the current theme. From Xavier Forestier's patch set. 12/04/16 03:41:32 jwoithe [2660] * trunk/libffado/support/mixer-qt4/ffado/ffadowindow.py (modified) ffadowindow: refinements in the constructor from Xavier Forestier's patch set. 11/26/16 05:17:03 jwoithe [2659] * trunk/libffado/support/mixer-qt4/ffado/mixer/audiofire.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffire_dice.py (modified) * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) Under python3 it is necessary to explicitly typecast the result of some divisions to integer types. Patch extracted from series by Xavier Forestier: https://sourceforge.net/p/ffado/mailman/message/35457569/. 11/25/16 02:33:39 jwoithe [2658] * trunk/libffado/support/mixer-qt4/ffado/mixer/audiofire.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/bcoaudio5control.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/edirolfa66control.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/motu.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/phase24control.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/phase88control.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/quatafire.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffire_base.py (modified) Use dict.items() rather than dict.iteritems() as suggested by the patch from Xavier Forestier[1]. The former is available in both python2 and python3 whereas the latter is only present in python2. In python2 there are differences between the two. Most significantly is that in python2 dict.iteritems() was implemented as an iterator-generator while dict.items() returned a list of tuples. For large dictionaries the latter could result in significant memory usage, which would have been why iteritems() was originally used. In python3 dict.items() uses iterators and dict.iteritems() was consequently removed. In the context of ffado-mixer the dictionaries are relatively small so the memory overhead incurred by dict.items() under python2 is not significant. The benefit is that the resulting code will be compatible with python3. [1] https://sourceforge.net/p/ffado/mailman/message/35457569/ 11/25/16 01:45:26 jwoithe [2657] * trunk/libffado/support/mixer-qt4/ffado/widgets/crossbarrouter.py (modified) crossbarrouter: fix some apparent errors in r2653. The crossbarrouter changes in r2653 are currently untested since I don't have access to a device which uses it. 11/24/16 05:11:36 jwoithe [2656] * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) matrixmixer: fader view sliders now appear operational, addressing the remaining visual troubles from r2652. Testing of the matrixmixer following the introduction of new-style signals in r2652 continues. 11/24/16 04:42:51 jwoithe [2655] * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) matrixmixer: correct a volume slider signal connection bug from r2652. 11/24/16 04:32:22 jwoithe [2654] * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) matrixmixer: changes in matrix view are now reflected in the fader views, partially fixing the issues mentioned in r2652. Fader view control is still broken. 11/22/16 05:25:21 jwoithe [2653] * trunk/libffado/support/mixer-qt4/ffado/ffadowindow.py (modified) * trunk/libffado/support/mixer-qt4/ffado/logginghandler.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/audiofire.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/bcoaudio5control.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/dummy.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/edirolfa101control.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/edirolfa66control.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/generic_dice_eap.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/mackie_onyxmixer.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/maudio_bebob.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/motu.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/motu_mark3.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/phase24control.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/phase88control.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/presonus_firebox.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/presonus_fp10.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/presonus_inspire1394.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/profire2626.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/quatafire.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffire.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffire_base.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffire_dice.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/yamahago.py (modified) * trunk/libffado/support/mixer-qt4/ffado/panelmanager.py (modified) * trunk/libffado/support/mixer-qt4/ffado/regdialog.py (modified) * trunk/libffado/support/mixer-qt4/ffado/widgets/crossbarrouter.py (modified) * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) This is a first pass at converting the signal handling of ffado-mixer to the new style implemented by pyqtSignal[1]. It is based on patches provided by Takashi Sakamoto in January 2015[2], Xavier Forestier in November 2016[3] and additional minor fixes. Note that this patchset breaks the matrix mixer due to problems with the treatment of the valueChanged signal from the MixerNode class. More work is needed to determine what the problem is and how best to fix it in the context of the new signal handling. [1] http://www.riverbankcomputing.co.uk/news/pyqt-45 [2] https://sourceforge.net/p/ffado/mailman/ffado-devel/thread /1421471004-13162-1-git-send- email-o-takashi%40sakamocchi.jp/#msg33244745 [3] https://sourceforge.net/p/ffado/mailman/message/35457569/ 11/12/16 02:20:38 jwoithe [2652] * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) matrixmixer: fix a typo introduced in r2649. Thanks to Stefan Richter for the report and patch. 11/11/16 02:53:52 jwoithe [2651] * trunk/libffado/src/bebob/bebob_avdevice.cpp (modified) * trunk/libffado/src/bebob/focusrite/focusrite_generic.cpp (modified) * trunk/libffado/src/bebob/focusrite/focusrite_saffire.cpp (modified) * trunk/libffado/src/debugmodule/debugmodule.cpp (modified) * trunk/libffado/src/DeviceStringParser.cpp (modified) * trunk/libffado/src/dice/dice_avdevice.cpp (modified) * trunk/libffado/src/dice/dice_eap.cpp (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_hardware.cpp (modified) * trunk/libffado/src/genericavc/stanton/scs.cpp (modified) * trunk/libffado/src/libieee1394/configrom.cpp (modified) * trunk/libffado/src/libieee1394/cycletimer.h (modified) * trunk/libffado/src/libieee1394/CycleTimerHelper.cpp (modified) * trunk/libffado/src/libieee1394/ieee1394service.cpp (modified) * trunk/libffado/src/libieee1394/IsoHandlerManager.cpp (modified) * trunk/libffado/src/libieee1394/test-cyclecalc.cpp (modified) * trunk/libffado/src/libstreaming/amdtp-oxford/AmdtpOxfordReceiveStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpTransmitStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/generic/StreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/motu/MotuReceiveStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/motu/MotuTransmitStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/rme/RmeReceiveStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/rme/RmeTransmitStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/StreamProcessorManager.cpp (modified) * trunk/libffado/src/libutil/Configuration.cpp (modified) * trunk/libffado/src/libutil/StreamStatistics.cpp (modified) * trunk/libffado/src/libutil/SystemTimeSource.cpp (modified) * trunk/libffado/src/libutil/TimestampedBuffer.cpp (modified) * trunk/libffado/src/motu/motu_avdevice.cpp (modified) * trunk/libffado/src/rme/fireface_flash.cpp (modified) * trunk/libffado/src/rme/fireface_hw.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.cpp (modified) * trunk/libffado/support/dbus/controlserver.cpp (modified) * trunk/libffado/support/firmware/fireworks-downloader.cpp (modified) * trunk/libffado/tests/systemtests/gen-loadpulses.cpp (modified) * trunk/libffado/tests/systemtests/test-clock_nanosleep.cpp (modified) * trunk/libffado/tests/systemtests/test-sysload.cpp (modified) * trunk/libffado/tests/test-bufferops.cpp (modified) * trunk/libffado/tests/test-ffado.cpp (modified) * trunk/libffado/tests/test-focusrite.cpp (modified) * trunk/libffado/tests/test-ieee1394service.cpp (modified) * trunk/libffado/tests/test-timestampedbuffer.cpp (modified) Fix some warnings emitted by recent versions of gcc. These are mostly connected with printf format strings: spaces are now required between string literals and PR* format macros. Patch from Xavier Forestier. 11/11/16 02:49:40 jwoithe [2650] * trunk/libffado/SConstruct (modified) * trunk/libffado/src/libutil/serialize_libxml.cpp (modified) * trunk/libffado/src/libutil/serialize_libxml.h (modified) * trunk/libffado/src/SConscript (modified) * trunk/libffado/support/dbus/SConscript (modified) * trunk/libffado/support/firmware/SConscript (modified) * trunk/libffado/support/tools/SConscript (modified) * trunk/libffado/tests/SConscript (modified) Add support for libxml++3.0 while retaining the option to use libxml++2.6 if that is what is available. Patch from Xavier Forestier. 11/08/16 03:59:05 jwoithe [2649] * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) matrixmixer: eliminate 'QtGui' suffixes from the python code body. 11/08/16 03:47:33 jwoithe [2648] * trunk/libffado/support/mixer-qt4/ffado/widgets/crossbarrouter.py (modified) crossbarrouter: eliminate 'QtGui' suffixes from the python code body. 11/08/16 03:42:57 jwoithe [2647] * trunk/libffado/support/mixer-qt4/ffado/mixer/generic_dice_eap.py (modified) generic_dice_eap: eliminate 'QtGui' suffixes in the mixer python code. 11/08/16 03:40:09 jwoithe [2646] * trunk/libffado/support/mixer-qt4/ffado/mixer/presonus_fp10.py (modified) presonus_fp10: QWidget is already imported, so eliminate the QtGui suffix when referring to QWidget in the mixer python body. Note that the reference to 'presonus_fp10' in r2645 should have been 'presonus_inspire1394'. 11/08/16 03:38:15 jwoithe [2645] * trunk/libffado/support/mixer-qt4/ffado/mixer/presonus_inspire1394.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffire_dice.py (modified) saffire_dice, presonus_fp10: import QWidget (and QScrollArea if used) to avoid needing to refer to QtGui within the code body. 11/08/16 03:35:10 jwoithe [2644] * trunk/libffado/support/mixer-qt4/ffado/mixer/profire2626.py (modified) profire2626.py: import QWidget and QScrollArea to avoid needing to refer to QtGui within the code body. 11/08/16 03:32:23 jwoithe [2643] * trunk/libffado/support/mixer-qt4/ffado/mixer/presonus_firebox.py (modified) presonus_firebox: the mixer python code already imports QWidget from QtGui so there's no need to refer to include the QtGui. suffix when using QWidget in the code body. 11/08/16 03:29:36 jwoithe [2642] * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) rme: in python mixer code, import QVBoxLayout from QtGui so there's no need to refer directly to the source of QVBoxLayout in the code body. This brings the treatment of QVBoxLayout into line with the rest of the Qt objects within this module. 11/08/16 03:14:36 jwoithe [2641] * trunk/libffado/support/mixer-qt4/ffado/mixer/phase88.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/phase88control.py (modified) phase88: updated mixer control to provide access to additional device functionality. Patch supplied by Andras Muranyi. 10/31/16 04:59:32 jwoithe [2640] * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) rme: label the optical SPDIF I/O as 'ADAT' rather than 'ADAT2' for the FF400, which has only one ADAT I/O. 10/31/16 04:15:09 jwoithe [2639] * trunk/libffado/src/rme/fireface_hw.cpp (modified) rme: infer the correct TCO sample rate during initial setup. 10/25/16 05:03:53 jwoithe [2638] * trunk/libffado/src/rme/fireface_settings_ctrls.cpp (modified) rme: correct TCO wordclock input rate reporting. 10/24/16 04:59:02 jwoithe [2637] * trunk/libffado/src/rme/fireface_def.h (modified) rme: clarify a comment. 10/24/16 02:59:34 jwoithe [2636] * trunk/libffado/src/rme/fireface_def.h (modified) rme: fix a typo in the TCO write address. This was the cause of the problems noted in r2630. The TCO is now being configured: there is an audible relay click when the termination status is changed. Some rough edges remain. 10/23/16 05:27:05 jwoithe [2635] * trunk/libffado/src/rme/fireface_settings_ctrls.cpp (modified) * trunk/libffado/src/rme/fireface_settings_ctrls.h (modified) * trunk/libffado/src/rme/rme_avdevice.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.h (modified) * trunk/libffado/src/rme/rme_avdevice_settings.cpp (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.ui (modified) rme: add word clock conversion control to the TCO tab in ffado-mixer. 10/23/16 05:08:00 jwoithe [2634] * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.ui (modified) rme: add display of TCO sync source lock status to the TCO tab in ffado-mixer. 10/23/16 05:01:09 jwoithe [2633] * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.ui (modified) rme: clarify content of TCO input status display in ffado-mixer, and don't display LTC parameters when LTC is not valid. 10/23/16 04:51:26 jwoithe [2632] * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.ui (modified) rme: include option to select word clock as the TCO input. If selected, word clock is expected on the 'Video In' BNC. 10/23/16 04:45:20 jwoithe [2631] * trunk/libffado/src/rme/fireface_settings_ctrls.cpp (modified) * trunk/libffado/src/rme/fireface_settings_ctrls.h (modified) * trunk/libffado/src/rme/rme_avdevice.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.h (modified) * trunk/libffado/src/rme/rme_avdevice_settings.cpp (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.ui (modified) rme: report word clock TCO input status via ffado-mixer. 10/22/16 07:59:48 jwoithe [2630] * trunk/libffado/src/rme/fireface_def.h (modified) * trunk/libffado/src/rme/fireface_hw.cpp (modified) * trunk/libffado/src/rme/fireface_settings_ctrls.cpp (modified) * trunk/libffado/src/rme/fireface_settings_ctrls.h (modified) * trunk/libffado/src/rme/rme_avdevice.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.h (modified) * trunk/libffado/src/rme/rme_avdevice_settings.cpp (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.ui (modified) rme: first pass at providing control of the optional TCO in the FF800 from ffado-mixer. There is presently a bug which causes TCO writes to start failing under circumstances which are yet to be fully defined. It is speculated that the TCO configuration bytes might contain an error in the fault condition which is causing the hardware to reject all subsequent writes to the TCO register until it is power cycled. 10/08/16 21:00:28 jwoithe [2629] * trunk/libffado/src/libutil/TimestampedBuffer.cpp (modified) TimestampedBuffer.cpp: move the include of math.h to the top of the file which is where most people would expect it to be. The patch comes from a Fedora RPM source package via Simon Lewis, who suggested that without it gcc6 had trouble with the file (the nature of the problem is not known by the FFADO project at this time). Earlier versions of gcc (for example, 4.8.2) had no trouble compiling this file without any math.h include, so the issue that some have seen with gcc6 must be due to math.h being removed from some other system- level include file at some point. 10/04/16 15:03:41 jwoithe [2628] * trunk/libffado/SConstruct (modified) SConstruct: fix a missing space, which appears to have been inadvertently removed in r2626. Thanks to Stefan Richter for the report. 08/13/16 03:46:45 jwoithe [2627] * trunk/libffado/support/xdg/ffado.org-ffadomixer.desktop (modified) xdg: add French translation to ffado-mixer's desktop file. Fix the icon file name in ffado-mixer's desktop file. Thanks to Olivier (via ffado-devel mailing list) for the translation and the icon suggestion. 08/13/16 03:41:09 jwoithe [2626] * trunk/libffado/SConstruct (modified) SConstruct: fix compilation on PowerPC-SPE. Patch by Roland Stigge via Debian bug 772937 (http://bugs.debian.org/772937). Thanks to Adrian Knoth for making us aware of this fix. 08/12/16 00:13:41 jwoithe [2625] * trunk/libffado/src/ffadotypes.h (modified) Fix compilation under gcc6. Patch by Adrian Knoth via Debian (https://anonscm.debian.org/cgit/pkg- multimedia/ffado.git/commit/?id=3d1be7d1a1b611115e15055ef5ca00c5be6793cc). 08/12/16 00:02:29 jwoithe [2624] * trunk/libffado/SConstruct (modified) SConstruct: Fix building on x32 systems (64-bit kernel, 32 bit userspace). Patch by Thorsten Glaser in response to Debian bug 778777 (https://bugs.debian.org/778777). Thanks to Adrian Knoth for notifying us of this issue. 08/11/16 23:55:26 jwoithe [2623] * trunk/libffado/SConstruct (modified) SConstruct: Fix parsing of /proc/cpuinfo to ensure it works on MIPs as well as everything else. Patch by Plamen Aleksandrov in response to Debian bug 751228 (https://bugs.debian.org/751228). Thanks also to Adrian Knoth for notifying us of this issue. 08/08/16 03:34:16 jwoithe [2622] * trunk/libffado/SConstruct (modified) SConstruct: set FFADO version in trunk to 2.3.9999 to indicate the start of the next development cycle. 08/08/16 03:31:03 jwoithe [2619] * trunk/libffado/SConstruct (modified) SConstruct: set FFADO version to 2.3.0. 08/04/16 00:13:23 jwoithe [2618] * trunk/libffado/configuration (modified) configuration: Scott Martin confirms that the generic EAP mixer can do some useful things with the Onxy Blackbird interface so this has been added. Thanks Scott. 07/04/16 04:18:30 jwoithe [2617] * trunk/libffado/support/mixer-qt4/ffado/mixer/Saffire_Pro40_monitoring.ui (modified) Saffire Pro40 monitoring: use Qt layouts, as for r2613. 07/04/16 04:06:47 jwoithe [2616] * trunk/libffado/support/mixer-qt4/ffado/mixer/Saffire_Pro26_monitoring.ui (modified) Saffire Pro26 monitoring: use Qt layouts, as for r2613. 07/04/16 04:01:01 jwoithe [2615] * trunk/libffado/support/mixer-qt4/ffado/mixer/Saffire_Pro14_monitoring.ui (modified) Saffire Pro14 monitoring: use Qt layouts, as for r2613. 07/04/16 03:57:00 jwoithe [2614] * trunk/libffado/support/mixer-qt4/ffado/mixer/Saffire_Pro24_monitoring.ui (modified) Saffire Pro24 monitoring: minor positioning correction of 'Dim level' label. 07/03/16 19:28:15 jwoithe [2613] * trunk/libffado/support/mixer-qt4/ffado/mixer/Saffire_Pro24_monitoring.ui (modified) Saffire Pro24 monitoring: use Qt layouts to ensure the widgets scale according to the needs of the local system. 07/03/16 17:09:56 jwoithe [2612] * trunk/libffado/src/rme/rme_avdevice.cpp (modified) rme: include shm ID when reporting the nature of the shared control setting object in use. 06/23/16 04:33:52 jwoithe [2611] * trunk/libffado/src/rme/rme_avdevice.cpp (modified) * trunk/libffado/src/rme/rme_shm.cpp (modified) * trunk/libffado/src/rme/rme_shm.h (modified) rme: create separate rme shared memory segments for each RME device found. This is needed if more than one RME device is to be used at the same time. Thanks to Christopher Brown for reporting the inability to use two RME devices simultaneously. 06/05/16 04:09:14 jwoithe [2610] * trunk/libffado/configuration (modified) Add configuration entry for Presonus StudioLive 16.0.2 as provided by Kim Tore Jensen. 05/22/16 04:46:31 jwoithe [2609] * trunk/libffado/SConstruct (modified) Fix for r2608: The gnu++11 option applies to C++ only, not C; therefore CXXFLAGS is the variable to use, not CFLAGS. 05/22/16 04:22:14 jwoithe [2608] * trunk/libffado/SConstruct (modified) As of version 2.39.1, libxml++-2.6 requires a c++11 compiler. Experiments to date indicate that the gnu++11 standard works with these later versions of libxml++ and the ffado codebase itself (albeit with a significant number of warnings). Activate the gnu++11 standard if an affected version of libxml++ is detected. The presence of an affected libxml++ version implies the installed compiler is new enough to have the gnu++11 option so there's no need to explicitly check for it. There may be better ways to resolve this problem, but for the moment this may do the trick. 04/29/16 00:21:42 jwoithe [2607] * trunk/libffado/tests/test-enhanced-mixer.cpp (modified) * trunk/libffado/tests/test-volume.cpp (modified) From Jano Svitok <jan.svitok@gmail.com> Ensure errno is always defined. Some combinations of system header files on some systems left errno undefined in these two source files. The problem was first observed on ubuntu 14.04. 04/19/16 16:09:55 jwoithe [2606] * trunk/libffado/src/dice/focusrite/saffire_pro26.cpp (modified) From Hector Martin <marcan@marcan.st> I got an ADAT device to test this input and it turns out I had botched the input selection. The ADAT port goes into the second ADAT receiver, not the first. This makes sense, as S/PDIF via ADAT is on the fourth AES receiver, which shares the same physical pin on the DICE chip. Signed-off-by: Hector Martin <marcan@marcan.st> 04/15/16 00:54:51 jwoithe [2605] * trunk/libffado/tests/test-enhanced-mixer.cpp (modified) * trunk/libffado/tests/test-volume.cpp (modified) From Stefan Richter <stefanr@s5r6.in-berlin.de> gcc 5.2.0 reports this as an error: function `int* __errno_location()' is initialized like a variable int errno = 0; ^ This patch fixes the problem. 02/17/16 15:11:41 jwoithe [2604] * trunk/libffado/configuration (modified) configuration: Casimir Westerholm has a SAFFIRE_PRO_40_1 interface which reports a model ID of 0x13, compared to the 0xde value which others have seen. The existence of two different model IDs is unexpected and the reason for the alternate value is unclear. Interestingly enough the newly observed 0x13 value is more consistent with earlier Saffire model IDs than 0xde. The new ID has been added; thanks to Casimir for the information. 01/31/16 03:53:56 jwoithe [2603] * trunk/libffado/src/rme/fireface_hw.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.h (modified) rme: introduce an RME device object flag to indicate whether midi should be provided. Make the programming of the device's MIDI high address register dependent on this flag. At present FFADO does not support MIDI on the RME family so this flag is hard coded to the value 0. If MIDI support is added then this flag would be set to 1 when streaming is to be initialised (it would remain off for mixer- only usages). 01/31/16 03:45:58 jwoithe [2602] * trunk/libffado/src/rme/fireface_hw.cpp (modified) rme: clarify comments about the method used to set the upper quadlet of the MIDI address. 12/31/15 21:44:49 jwoithe [2601] * trunk/libffado/configuration (modified) configuration: The ICON FireXon uses a BeBob chipset. 12/31/15 16:16:58 jwoithe [2600] * trunk/libffado/configuration (modified) configuration: add preliminary entry for the ICON FireXon using information provided by Philippe Ploquin. The appropriate driver is yet to be confirmed. 11/22/15 14:21:52 jwoithe [2599] * trunk/libffado/src/fireworks/fireworks_device.cpp (modified) From Stefan Richter. One of the reasons why fireworks_device's discover() may fail (thus failing jackd startup right away) is too old firmware. While such old firmwares are probably not very likely to be encountered in the field anymore these days, it cannot hurt to promote the corresponding error message from debug message to one which is always printed. 11/22/15 14:20:49 jwoithe [2598] * trunk/libffado/src/dice/focusrite/saffire_pro24.cpp (modified) * trunk/libffado/src/dice/focusrite/saffire_pro26.cpp (modified) From Stefan Richter. If the saffire_pro24/26 discover() methods detect an unsupported firmware version, they fail, and thus jackd startup fails. The reason of failure should be shown to users without them having to learn how to increase log verbosity. 11/21/15 23:56:28 jwoithe [2597] * trunk/libffado/src/dice/dice_avdevice.cpp (modified) dice: add additional include for recent gcc versions. This was in the initial patch which made up r2596 but for various reasons it did not make it into that commit. 11/21/15 23:51:58 jwoithe [2596] * trunk/libffado/src/dice/dice_avdevice.cpp (modified) From Stefan Richter. The DICE protocol involves "owner lock" register at the audio interface. The snd-dice kernel driver takes this lock as soon as the DICE device is being probed by the kernel (i.e. even before any application actually opens the ALSA device for streaming). Thus, the FFADO streaming driver fails to start when snd-dice is present on the system. So far this was only made known by a cryptic -v3 debug message. Reform it into a message which is always logged even without -v# command line parameter, and which proposes solutions to the problem in highlevel terms. Note, the condition which is triggering the message can have other causes, like a previous jackd+ffado session having crashed without locking out, or even another initiator PC being present on the bus. However, now that more and more distributions ship snd-dice, presence of the kernel driver is the far likelier reason. 11/20/15 23:37:19 jwoithe [2595] * trunk/libffado/configuration (modified) configuration: add entry for the RME Fireface 802 using details provided by Florian Hofmann via the ffado-user mailing list. Thanks Florian! 11/03/15 14:36:47 jwoithe [2594] * trunk/libffado/configuration (modified) configuration: add entry for a new version of the Saffire Pro-40 which is now available. Thanks to Mathieu Picot for providing the information through the ffado-devel mailing list.