# # ChangeLog for /trunk/libffado/support # # Generated by Trac 0.10.4 # 03/29/24 01:23:37 # 09/30/23 05:36:37 jwoithe [2842] * trunk/libffado/support/mixer-qt4/ffado/registration.py (modified) Deal with SafeConfigParser removal in Python 3.12. Python 3.12 finally removed SafeConfigParser which has been deprecated since Python 3.2, this prevents ffado-mixer from being used on systems where this version is the default (like Fedora 39). The attached patch (from Nils Philippsen) switches to using ConfigParser instead. 07/05/23 22:59:43 jwoithe [2841] * 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/yamahago.py (modified) mixer: additional python 3.10 type-related casts. Following on from r2840, Andrew Scherkus provided similar fixes for the Presonus FP10, Presonus Inspire1394 and Yamaha Go mixer modules. These were based on code inspection. Thanks to Andrew for providing the patch. 07/03/23 16:19:26 jwoithe [2840] * trunk/libffado/support/mixer-qt4/ffado/mixer/presonus_firebox.py (modified) presonus firebox mixer: add casts required in python 3.10 and later. Like many others, the Presonus Firebox mixer module requires float to int casts in setValue() calls associated with volume controls when running under python 3.10 and later. Thanks to Andrew Scherkus for the patch. 09/04/22 01:06:42 jwoithe [2835] * trunk/libffado/support/mixer-qt4/ffado/widgets/crossbarrouter.py (modified) ffado-mixer: Fix Python 3.10 type error in the crossbar router. Thanks to Nils Philippsen for supplying this patch. It fixes an int/float type-related crash in the crossbar router associated with widget geometry calculations. 07/13/22 04:28:14 jwoithe [2832] * trunk/libffado/support/mixer-qt4/ffado/mixer/maudio_bebob.py (modified) ffado-mixer: fix another python 3.10 type checking issue in the m-audio mixer. Thanks to Salvador O.G. for reporting the problem. 05/05/22 06:36:09 jwoithe [2828] * trunk/libffado/support/mixer-qt4/ffado/mixer/maudio_bebob.py (modified) ffado-mixer: Python 3.10 type fixes for M-Audio device mixer. Thanks to Salvador O.G. for the report posted to the ffado-users mailing list which showed this change to be necessary. 04/29/22 03:59:49 jwoithe [2827] * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) matrixmixer: another set of python 3.10 type-related fixes. Thanks to Edmund Raile for providing these. 04/26/22 05:49:22 jwoithe [2826] * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) matrixmixer.py: more python 3.10 type fixes. Some additional type fixes are required to matrixmixer.py to allow for the more stringent type checking in the python 3.10 environment. These were identified by Edmund Raile via the ffado-devel mailing list. 04/15/22 02:28:05 jwoithe [2825] * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) ffado-mixer: more python 3.10 int/float type fixes. Additional int/float type fixes are required to address crashes encountered when click-dragging values in the matrix mixer. Thanks to Nils Philippsen for the patch and his ongoing testing under python 3.10. 02/15/22 02:16:48 jwoithe [2821] * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) matrixmixer: avoid passing a float to font.setPointSize(). In newer versions of python a type error is thrown if font.setPointSize() is given a floating point number. Fix this by rounding the size to the nearest integer. Thanks to Daniel Baeuerlein on the FFADO-user mailing list for pointing out the need for this. 02/15/22 02:05:14 jwoithe [2820] * trunk/libffado/support/mixer-qt4/ffado/dbus_util.py (modified) ControlInterface: int typecasts for getDiscrete() and getMatrixMixerValue(). Add explicit typecasts to int to work around type-related changes seemingly introduced in python 3.10. These changes are closely related to those in r2817. Thanks to Nils Philippsen for drawing our attention to these methods and their need for the typecast. 11/27/21 18:14:03 jwoithe [2818] * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) Additional fixes for python 3.10 / PyQt 5.x type handling. Nils Philippsen posted to the ffado-devel list that additional fixes were needed beyond what was in r2817. He pointed out that https://github.com/spyder-ide/spyder/issues/16571#issuecomment- 940753647 suggests that this might be a PyQt issue rather than python 3.10. This patch was supplied by Nils. As FFADO receives wider testing under python 3.10 and later PyQt 5.x versions it is possible that further fixes along these lines may be needed. 11/27/21 18:09:50 jwoithe [2817] * trunk/libffado/support/mixer-qt4/ffado/dbus_util.py (modified) ControlInterface::getContignuous(): explicitly return an integer type. Code which calls this function treats the return type from getContignuous() as an integer. However, this only works if explicit type conversion is in place because the underlying interface returns a float. In python 3.10 and/or later versions of pyqt 5 this is not the case. To avoid the need to make changes to every caller of getContignuous() it seems best to alter getContignuous() itself so an integer is explicitly returned. Thanks to Filippo Bardelli for pointing out the problem on the ffado- devel list, providing an initial patch and for testing the suggested fix. 06/07/21 06:44:15 jwoithe [2814] * trunk/libffado/support/mixer-qt4/ffado/mixer/Saffire_Pro24_monitoring.ui (modified) ffado-mixer: reduce the need for scrolling of the Pro24 mixer panel. A reduction in the size of the Pro24 mixer panel better matches the size available within ffado-mixer to display it, and thus minimises the amount of vertical scrolling required to access the controls. Patch from Pander via the ffado-devel mailing list. 06/01/21 17:11:47 jwoithe [2811] * trunk/libffado/doc/motu_firewire_protocol.txt (modified) * trunk/libffado/doc/rme_notes/rme_config_register_map.txt (modified) * trunk/libffado/libffado/ffado.h.in (modified) * trunk/libffado/README (modified) * trunk/libffado/src/devicemanager.cpp (modified) * trunk/libffado/src/digidesign/digidesign_avdevice.cpp (modified) * trunk/libffado/src/libieee1394/ieee1394service.cpp (modified) * trunk/libffado/src/libieee1394/ieee1394service.h (modified) * trunk/libffado/src/libieee1394/IsoHandlerManager.cpp (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpReceiveStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/digidesign/DigidesignReceiveStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/digidesign/DigidesignTransmitStreamProcessor.cpp (modified) * trunk/libffado/src/rme/fireface_flash.cpp (modified) * trunk/libffado/support/firmware/bridgeco-downloader.cpp (modified) * trunk/libffado/support/firmware/ffado-fireworks-downloader.1 (modified) * trunk/libffado/support/tools/ffado-diag.1 (modified) * trunk/libffado/tests/scan-devreg.cpp (modified) * trunk/libffado/tests/systemtests/test-isorecv-1.cpp (modified) * trunk/libffado/tests/systemtests/test-isoxmit-1.cpp (modified) * trunk/libffado/tests/test-ieee1394service.cpp (modified) Cosmetic: "firewire" should be "FireWire" when used as the bus name. Similarly to r2802 and r2810, "FireWire" should be used when referring to the name of the bus. This patch corrects this throughout the source tree for completeness. While there are a small number of mostly debug output strings affected, most of the changes are to comments or developer documents where they are of little consequence. Thanks to Pander who suggested the need to look into this on the ffado-devel mailing list. At least in theory, remaining instances of "firewire" in the source tree should remain as they are because they refer to case-sensitive identifiers defined externally (such as the "firewire" jackd backend name). 05/30/21 05:44:32 jwoithe [2808] * trunk/libffado/support/mixer-qt4/ffado/mixer/Saffire_Pro14_monitoring.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/Saffire_Pro24_monitoring.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/Saffire_Pro26_monitoring.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/Saffire_Pro40_monitoring.ui (modified) Saffire mixers: minor capitalisation consistency fixes. Patch from Pander via the ffado-devel mailing list. 05/30/21 05:41:30 jwoithe [2807] * trunk/libffado/support/mixer-qt4/ffado/mixer/Saffire_Pro14_monitoring.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/Saffire_Pro24_monitoring.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/Saffire_Pro26_monitoring.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/Saffire_Pro40_monitoring.ui (modified) Saffire mixers: include additional tool tips. Additional tool tips are added to the ffado-mixer panels for the Saffire Pro14, Pro24, Pro26 and Pro40 devices to make their description a little more obvious. Patch from Pander via the ffado-devel mailing list. 05/30/21 05:34:18 jwoithe [2806] * trunk/libffado/support/xdg/ffado.org-ffadomixer.desktop (modified) Provide Dutch translations in the ffado-mixer desktop file. Thanks to Pander via the ffado-devel mailing list for the patch. 05/22/21 17:02:38 jwoithe [2805] * trunk/libffado/support/mixer-qt4/ffado/ffadowindow.py (modified) ffado-mixer: default to dark theme, save and restore the user's theme choice. Dark themes are often preferred when working with audio software. If the "ukui-dark" theme is present on the system, use this as ffado-mixer's default theme. While ffado-mixer has permitted the user to choose a theme for some time, this choice was not recalled when ffado-mixer was next started. Avoid this obvious inconvenience for cases where the default theme is not the user's preference. This functionality was contributed by "pander" via the ffado-devel mailing list. 05/16/21 17:47:21 jwoithe [2804] * trunk/libffado/support/mixer-qt4/ffado/ffadowindow.py (modified) ffado-mixer: use "FireWire" (rather than "firewire") in the "About" window. This is a cosmetic change made to maintain consistency with earlier patches which standardised on "FireWire". 05/16/21 17:45:29 jwoithe [2803] * trunk/libffado/admin/dbus.py (modified) * trunk/libffado/admin/doxygen.py (modified) * trunk/libffado/admin/pkgconfig.py (modified) * trunk/libffado/admin/pyuic.py (modified) * trunk/libffado/admin/pyuic4.py (modified) * trunk/libffado/admin/pyuic5.py (modified) * trunk/libffado/admin/scanreplace.py (modified) * trunk/libffado/deb/SConscript (modified) * trunk/libffado/doc/streaming.xmi (modified) * trunk/libffado/libffado/ffado.h.in (modified) * trunk/libffado/libffado/SConscript (modified) * trunk/libffado/src/bebob/bebob_avdevice.cpp (modified) * trunk/libffado/src/bebob/bebob_avdevice.h (modified) * trunk/libffado/src/bebob/bebob_avdevice_subunit.cpp (modified) * trunk/libffado/src/bebob/bebob_avdevice_subunit.h (modified) * trunk/libffado/src/bebob/bebob_avplug.cpp (modified) * trunk/libffado/src/bebob/bebob_avplug.h (modified) * trunk/libffado/src/bebob/bebob_dl_bcd.cpp (modified) * trunk/libffado/src/bebob/bebob_dl_bcd.h (modified) * trunk/libffado/src/bebob/bebob_dl_codes.cpp (modified) * trunk/libffado/src/bebob/bebob_dl_codes.h (modified) * trunk/libffado/src/bebob/bebob_dl_mgr.cpp (modified) * trunk/libffado/src/bebob/bebob_dl_mgr.h (modified) * trunk/libffado/src/bebob/bebob_functionblock.cpp (modified) * trunk/libffado/src/bebob/bebob_functionblock.h (modified) * trunk/libffado/src/bebob/bebob_mixer.cpp (modified) * trunk/libffado/src/bebob/bebob_mixer.h (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_cmd.cpp (modified) * trunk/libffado/src/bebob/focusrite/focusrite_cmd.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/maudio/special_mixer.cpp (modified) * trunk/libffado/src/bebob/maudio/special_mixer.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_cmd.cpp (modified) * trunk/libffado/src/bebob/terratec/terratec_cmd.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/bebob/yamaha/yamaha_cmd.cpp (modified) * trunk/libffado/src/bebob/yamaha/yamaha_cmd.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/debugmodule/debugmodule.cpp (modified) * trunk/libffado/src/debugmodule/debugmodule.h (modified) * trunk/libffado/src/debugmodule/test_debugmodule.cpp (modified) * trunk/libffado/src/devicemanager.cpp (modified) * trunk/libffado/src/devicemanager.h (modified) * trunk/libffado/src/DeviceStringParser.cpp (modified) * trunk/libffado/src/DeviceStringParser.h (modified) * trunk/libffado/src/dice/dice_avdevice.cpp (modified) * trunk/libffado/src/dice/dice_avdevice.h (modified) * trunk/libffado/src/dice/dice_defines.h (modified) * trunk/libffado/src/dice/dice_eap.cpp (modified) * trunk/libffado/src/dice/dice_eap.h (modified) * trunk/libffado/src/dice/dice_firmware_loader.cpp (modified) * trunk/libffado/src/dice/dice_firmware_loader.h (modified) * trunk/libffado/src/dice/focusrite/focusrite_eap.cpp (modified) * trunk/libffado/src/dice/focusrite/focusrite_eap.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/fbtypes.h (modified) * trunk/libffado/src/ffado.cpp (modified) * trunk/libffado/src/ffadodevice.cpp (modified) * trunk/libffado/src/ffadodevice.h (modified) * trunk/libffado/src/ffadotypes.h (modified) * trunk/libffado/src/fireworks/audiofire/audiofire_device.cpp (modified) * trunk/libffado/src/fireworks/audiofire/audiofire_device.h (modified) * trunk/libffado/src/fireworks/efc/efc_avc_cmd.cpp (modified) * trunk/libffado/src/fireworks/efc/efc_avc_cmd.h (modified) * trunk/libffado/src/fireworks/efc/efc_cmd.cpp (modified) * trunk/libffado/src/fireworks/efc/efc_cmd.h (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_flash.cpp (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_flash.h (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_hardware.cpp (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_hardware.h (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_hardware_ctrl.cpp (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_hardware_ctrl.h (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_ioconfig.cpp (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_ioconfig.h (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_mixer.cpp (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_mixer.h (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_monitor.cpp (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_monitor.h (modified) * trunk/libffado/src/fireworks/fireworks_control.cpp (modified) * trunk/libffado/src/fireworks/fireworks_control.h (modified) * trunk/libffado/src/fireworks/fireworks_device.cpp (modified) * trunk/libffado/src/fireworks/fireworks_device.h (modified) * trunk/libffado/src/fireworks/fireworks_firmware.cpp (modified) * trunk/libffado/src/fireworks/fireworks_firmware.h (modified) * trunk/libffado/src/fireworks/fireworks_session_block.cpp (modified) * trunk/libffado/src/fireworks/fireworks_session_block.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/libavc/audiosubunit/avc_audiosubunit.cpp (modified) * trunk/libffado/src/libavc/audiosubunit/avc_audiosubunit.h (modified) * trunk/libffado/src/libavc/audiosubunit/avc_descriptor_audio.cpp (modified) * trunk/libffado/src/libavc/audiosubunit/avc_descriptor_audio.h (modified) * trunk/libffado/src/libavc/audiosubunit/avc_function_block.cpp (modified) * trunk/libffado/src/libavc/audiosubunit/avc_function_block.h (modified) * trunk/libffado/src/libavc/avc_definitions.cpp (modified) * trunk/libffado/src/libavc/avc_definitions.h (modified) * trunk/libffado/src/libavc/ccm/avc_signal_source.cpp (modified) * trunk/libffado/src/libavc/ccm/avc_signal_source.h (modified) * trunk/libffado/src/libavc/descriptors/avc_descriptor.cpp (modified) * trunk/libffado/src/libavc/descriptors/avc_descriptor.h (modified) * trunk/libffado/src/libavc/descriptors/avc_descriptor_cmd.cpp (modified) * trunk/libffado/src/libavc/descriptors/avc_descriptor_cmd.h (modified) * trunk/libffado/src/libavc/general/avc_connect.cpp (modified) * trunk/libffado/src/libavc/general/avc_connect.h (modified) * trunk/libffado/src/libavc/general/avc_extended_cmd_generic.cpp (modified) * trunk/libffado/src/libavc/general/avc_extended_cmd_generic.h (modified) * trunk/libffado/src/libavc/general/avc_extended_plug_info.cpp (modified) * trunk/libffado/src/libavc/general/avc_extended_plug_info.h (modified) * trunk/libffado/src/libavc/general/avc_extended_subunit_info.cpp (modified) * trunk/libffado/src/libavc/general/avc_extended_subunit_info.h (modified) * trunk/libffado/src/libavc/general/avc_generic.cpp (modified) * trunk/libffado/src/libavc/general/avc_generic.h (modified) * trunk/libffado/src/libavc/general/avc_plug.cpp (modified) * trunk/libffado/src/libavc/general/avc_plug.h (modified) * trunk/libffado/src/libavc/general/avc_plug_info.cpp (modified) * trunk/libffado/src/libavc/general/avc_plug_info.h (modified) * trunk/libffado/src/libavc/general/avc_signal_format.cpp (modified) * trunk/libffado/src/libavc/general/avc_signal_format.h (modified) * trunk/libffado/src/libavc/general/avc_subunit.cpp (modified) * trunk/libffado/src/libavc/general/avc_subunit.h (modified) * trunk/libffado/src/libavc/general/avc_subunit_info.cpp (modified) * trunk/libffado/src/libavc/general/avc_subunit_info.h (modified) * trunk/libffado/src/libavc/general/avc_unit.cpp (modified) * trunk/libffado/src/libavc/general/avc_unit.h (modified) * trunk/libffado/src/libavc/general/avc_unit_info.cpp (modified) * trunk/libffado/src/libavc/general/avc_unit_info.h (modified) * trunk/libffado/src/libavc/general/avc_vendor_dependent_cmd.cpp (modified) * trunk/libffado/src/libavc/general/avc_vendor_dependent_cmd.h (modified) * trunk/libffado/src/libavc/musicsubunit/avc_descriptor_music.cpp (modified) * trunk/libffado/src/libavc/musicsubunit/avc_descriptor_music.h (modified) * trunk/libffado/src/libavc/musicsubunit/avc_musicsubunit.cpp (modified) * trunk/libffado/src/libavc/musicsubunit/avc_musicsubunit.h (modified) * trunk/libffado/src/libavc/streamformat/avc_extended_stream_format.cpp (modified) * trunk/libffado/src/libavc/streamformat/avc_extended_stream_format.h (modified) * trunk/libffado/src/libcontrol/BasicElements.cpp (modified) * trunk/libffado/src/libcontrol/BasicElements.h (modified) * trunk/libffado/src/libcontrol/ClockSelect.cpp (modified) * trunk/libffado/src/libcontrol/ClockSelect.h (modified) * trunk/libffado/src/libcontrol/CrossbarRouter.cpp (modified) * trunk/libffado/src/libcontrol/CrossbarRouter.h (modified) * trunk/libffado/src/libcontrol/Element.cpp (modified) * trunk/libffado/src/libcontrol/Element.h (modified) * trunk/libffado/src/libcontrol/MatrixMixer.cpp (modified) * trunk/libffado/src/libcontrol/MatrixMixer.h (modified) * trunk/libffado/src/libcontrol/Nickname.cpp (modified) * trunk/libffado/src/libcontrol/Nickname.h (modified) * trunk/libffado/src/libieee1394/ARMHandler.cpp (modified) * trunk/libffado/src/libieee1394/configrom.cpp (modified) * trunk/libffado/src/libieee1394/configrom.h (modified) * trunk/libffado/src/libieee1394/csr1212.c (modified) * trunk/libffado/src/libieee1394/csr1212.h (modified) * trunk/libffado/src/libieee1394/cycletimer.h (modified) * trunk/libffado/src/libieee1394/CycleTimerHelper.cpp (modified) * trunk/libffado/src/libieee1394/CycleTimerHelper.h (modified) * trunk/libffado/src/libieee1394/IEC61883.cpp (modified) * trunk/libffado/src/libieee1394/IEC61883.h (modified) * trunk/libffado/src/libieee1394/ieee1394service.cpp (modified) * trunk/libffado/src/libieee1394/ieee1394service.h (modified) * trunk/libffado/src/libieee1394/IsoHandlerManager.cpp (modified) * trunk/libffado/src/libieee1394/IsoHandlerManager.h (modified) * trunk/libffado/src/libieee1394/test-cyclecalc.cpp (modified) * trunk/libffado/src/libieee1394/vendor_model_ids.h (modified) * trunk/libffado/src/libstreaming/amdtp-oxford/AmdtpOxfordReceiveStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/amdtp-oxford/AmdtpOxfordReceiveStreamProcessor.h (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpBufferOps.h (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpPort.cpp (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpPort.h (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpPortInfo.cpp (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpPortInfo.h (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpReceiveStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpReceiveStreamProcessor.h (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpStreamProcessor-common.h (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpTransmitStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpTransmitStreamProcessor.h (modified) * trunk/libffado/src/libstreaming/digidesign/DigidesignPort.cpp (modified) * trunk/libffado/src/libstreaming/digidesign/DigidesignPort.h (modified) * trunk/libffado/src/libstreaming/digidesign/DigidesignPortInfo.cpp (modified) * trunk/libffado/src/libstreaming/digidesign/DigidesignPortInfo.h (modified) * trunk/libffado/src/libstreaming/digidesign/DigidesignReceiveStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/digidesign/DigidesignReceiveStreamProcessor.h (modified) * trunk/libffado/src/libstreaming/digidesign/DigidesignTransmitStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/digidesign/DigidesignTransmitStreamProcessor.h (modified) * trunk/libffado/src/libstreaming/generic/Port.cpp (modified) * trunk/libffado/src/libstreaming/generic/Port.h (modified) * trunk/libffado/src/libstreaming/generic/PortManager.cpp (modified) * trunk/libffado/src/libstreaming/generic/PortManager.h (modified) * trunk/libffado/src/libstreaming/generic/StreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/generic/StreamProcessor.h (modified) * trunk/libffado/src/libstreaming/motu/MotuPort.cpp (modified) * trunk/libffado/src/libstreaming/motu/MotuPort.h (modified) * trunk/libffado/src/libstreaming/motu/MotuPortInfo.cpp (modified) * trunk/libffado/src/libstreaming/motu/MotuPortInfo.h (modified) * trunk/libffado/src/libstreaming/motu/MotuReceiveStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/motu/MotuReceiveStreamProcessor.h (modified) * trunk/libffado/src/libstreaming/motu/MotuTransmitStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/motu/MotuTransmitStreamProcessor.h (modified) * trunk/libffado/src/libstreaming/rme/RmePort.cpp (modified) * trunk/libffado/src/libstreaming/rme/RmePort.h (modified) * trunk/libffado/src/libstreaming/rme/RmePortInfo.cpp (modified) * trunk/libffado/src/libstreaming/rme/RmePortInfo.h (modified) * trunk/libffado/src/libstreaming/rme/RmeReceiveStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/rme/RmeReceiveStreamProcessor.h (modified) * trunk/libffado/src/libstreaming/rme/RmeTransmitStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/rme/RmeTransmitStreamProcessor.h (modified) * trunk/libffado/src/libstreaming/StreamProcessorManager.cpp (modified) * trunk/libffado/src/libstreaming/StreamProcessorManager.h (modified) * trunk/libffado/src/libutil/Atomic.h (modified) * trunk/libffado/src/libutil/ByteSwap.h (modified) * trunk/libffado/src/libutil/cmd_serialize.cpp (modified) * trunk/libffado/src/libutil/cmd_serialize.h (modified) * trunk/libffado/src/libutil/Configuration.cpp (modified) * trunk/libffado/src/libutil/Configuration.h (modified) * trunk/libffado/src/libutil/DelayLockedLoop.cpp (modified) * trunk/libffado/src/libutil/DelayLockedLoop.h (modified) * trunk/libffado/src/libutil/Functors.h (modified) * trunk/libffado/src/libutil/IpcRingBuffer.cpp (modified) * trunk/libffado/src/libutil/IpcRingBuffer.h (modified) * trunk/libffado/src/libutil/Mutex.h (modified) * trunk/libffado/src/libutil/OptionContainer.cpp (modified) * trunk/libffado/src/libutil/OptionContainer.h (modified) * trunk/libffado/src/libutil/PacketBuffer.cpp (modified) * trunk/libffado/src/libutil/PacketBuffer.h (modified) * trunk/libffado/src/libutil/PosixMessageQueue.cpp (modified) * trunk/libffado/src/libutil/PosixMessageQueue.h (modified) * trunk/libffado/src/libutil/PosixMutex.cpp (modified) * trunk/libffado/src/libutil/PosixMutex.h (modified) * trunk/libffado/src/libutil/PosixSharedMemory.cpp (modified) * trunk/libffado/src/libutil/PosixSharedMemory.h (modified) * trunk/libffado/src/libutil/PosixThread.cpp (modified) * trunk/libffado/src/libutil/PosixThread.h (modified) * trunk/libffado/src/libutil/ringbuffer.c (modified) * trunk/libffado/src/libutil/ringbuffer.h (modified) * trunk/libffado/src/libutil/serialize.h (modified) * trunk/libffado/src/libutil/serialize_expat.cpp (modified) * trunk/libffado/src/libutil/serialize_expat.h (modified) * trunk/libffado/src/libutil/serialize_expat_xml.cpp (modified) * trunk/libffado/src/libutil/serialize_expat_xml.h (modified) * trunk/libffado/src/libutil/serialize_libxml.cpp (modified) * trunk/libffado/src/libutil/serialize_libxml.h (modified) * trunk/libffado/src/libutil/StreamStatistics.cpp (modified) * trunk/libffado/src/libutil/StreamStatistics.h (modified) * trunk/libffado/src/libutil/SystemTimeSource.cpp (modified) * trunk/libffado/src/libutil/SystemTimeSource.h (modified) * trunk/libffado/src/libutil/test-dll.cpp (modified) * trunk/libffado/src/libutil/Thread.h (modified) * trunk/libffado/src/libutil/Time.h (modified) * trunk/libffado/src/libutil/TimestampedBuffer.cpp (modified) * trunk/libffado/src/libutil/TimestampedBuffer.h (modified) * trunk/libffado/src/libutil/unittests.cpp (modified) * trunk/libffado/src/libutil/Watchdog.cpp (modified) * trunk/libffado/src/libutil/Watchdog.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/motu/motu_controls.cpp (modified) * trunk/libffado/src/motu/motu_controls.h (modified) * trunk/libffado/src/motu/motu_mark3_controls.cpp (modified) * trunk/libffado/src/motu/motu_mark3_controls.h (modified) * trunk/libffado/src/motu/motu_mark3_mixerdefs.cpp (modified) * trunk/libffado/src/motu/motu_mark3_mixerdefs.h (modified) * trunk/libffado/src/motu/motu_mixer.cpp (modified) * trunk/libffado/src/motu/motu_mixerdefs.cpp (modified) * trunk/libffado/src/motu/motu_mixerdefs.h (modified) * trunk/libffado/src/oxford/oxford_device.cpp (modified) * trunk/libffado/src/oxford/oxford_device.h (modified) * trunk/libffado/src/rme/fireface_def.h (modified) * trunk/libffado/src/rme/fireface_flash.cpp (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/src/rme/rme_shm.cpp (modified) * trunk/libffado/src/rme/rme_shm.h (modified) * trunk/libffado/src/SConscript (modified) * trunk/libffado/support/alsa/SConscript (modified) * trunk/libffado/support/dbus/controlclient.cpp (modified) * trunk/libffado/support/dbus/controlclient.h (modified) * trunk/libffado/support/dbus/controlserver.cpp (modified) * trunk/libffado/support/dbus/controlserver.h (modified) * trunk/libffado/support/dbus/ffado-dbus-server.cpp (modified) * trunk/libffado/support/dbus/SConscript (modified) * trunk/libffado/support/dbus/test-dbus-server.cpp (modified) * trunk/libffado/support/dbus/test-dbus.cpp (modified) * trunk/libffado/support/firmware/bridgeco-downloader.cpp (modified) * trunk/libffado/support/firmware/dice-firmware-utility.cpp (modified) * trunk/libffado/support/firmware/downloader.cpp (modified) * trunk/libffado/support/firmware/downloader.h (modified) * trunk/libffado/support/firmware/fireworks-downloader.cpp (modified) * trunk/libffado/support/firmware/SConscript (modified) * trunk/libffado/support/mixer-qt4/ffado-mixer-profiler.in (modified) * trunk/libffado/support/mixer-qt4/ffado-mixer.in (modified) * trunk/libffado/support/mixer-qt4/ffado/configuration.py (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/import_pyqt.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/audiofire_settings.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/audiofire_strip.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/bcoaudio5.ui (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/dummy.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/edirolfa101.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/edirolfa101control.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/edirolfa66.ui (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/globalmixer.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/mackieonyx.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/mackieonyx.ui (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.ui (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/phase24.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/phase24control.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/phase88.ui (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/quatafire.ui (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/saffirele_large.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffirele_small.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffirepro.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffirepro_large.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffirepro_small.ui (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/saffire_mono.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffire_stereo.ui (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) * trunk/libffado/support/mixer-qt4/SConscript (modified) * trunk/libffado/support/SConscript (modified) * trunk/libffado/support/tools/ffado-set-nickname.cpp (modified) * trunk/libffado/support/tools/SConscript (modified) * trunk/libffado/tests/dbus_test.py (modified) * trunk/libffado/tests/python/test-eap-ctrl.py (modified) * trunk/libffado/tests/scan-devreg.cpp (modified) * trunk/libffado/tests/SConscript (modified) * trunk/libffado/tests/set-default-router-config-dice-eap.cpp (modified) * trunk/libffado/tests/streaming/SConscript (modified) * trunk/libffado/tests/streaming/test-ipcclient.cpp (modified) * trunk/libffado/tests/streaming/test-isohandling.cpp (modified) * trunk/libffado/tests/streaming/teststreaming-ipc.cpp (modified) * trunk/libffado/tests/streaming/teststreaming3.cpp (modified) * trunk/libffado/tests/systemtests/gen-loadpulses.cpp (modified) * trunk/libffado/tests/systemtests/realtimetools.cpp (modified) * trunk/libffado/tests/systemtests/realtimetools.h (modified) * trunk/libffado/tests/systemtests/SConscript (modified) * trunk/libffado/tests/systemtests/test-clock_nanosleep.cpp (modified) * trunk/libffado/tests/systemtests/test-isorecv-1.cpp (modified) * trunk/libffado/tests/systemtests/test-isoxmit-1.cpp (modified) * trunk/libffado/tests/systemtests/test-sysload.cpp (modified) * trunk/libffado/tests/test-avccmd.cpp (modified) * trunk/libffado/tests/test-bufferops.cpp (modified) * trunk/libffado/tests/test-devicestringparser.cpp (modified) * trunk/libffado/tests/test-dice-eap.cpp (modified) * trunk/libffado/tests/test-echo.cpp (modified) * trunk/libffado/tests/test-echomixer.cpp (modified) * trunk/libffado/tests/test-enhanced-mixer.cpp (modified) * trunk/libffado/tests/test-extplugcmd.cpp (modified) * trunk/libffado/tests/test-ffado.cpp (modified) * trunk/libffado/tests/test-focusrite.cpp (modified) * trunk/libffado/tests/test-fw410.cpp (modified) * trunk/libffado/tests/test-ieee1394service.cpp (modified) * trunk/libffado/tests/test-ipcringbuffer.cpp (modified) * trunk/libffado/tests/test-messagequeue.cpp (modified) * trunk/libffado/tests/test-mixer.cpp (modified) * trunk/libffado/tests/test-pan.cpp (modified) * trunk/libffado/tests/test-scs.cpp (modified) * trunk/libffado/tests/test-shm.cpp (modified) * trunk/libffado/tests/test-streamdump.cpp (modified) * trunk/libffado/tests/test-timestampedbuffer.cpp (modified) * trunk/libffado/tests/test-volume.cpp (modified) * trunk/libffado/tests/test-watchdog.cpp (modified) * trunk/libffado/tests/unmute-ozonic.cpp (modified) Cosmetic: capitalise "L" in "Linux". "Linux" is a proper noun so it should start with a capital letter. These changes are almost all within comments. This patch was originally proposed by pander on the ffado-devel mailing list. It has been expanded to cover all similar cases to maintain consistency throughout the source tree. 05/16/21 17:37:39 jwoithe [2802] * trunk/libffado/admin/dbus.py (modified) * trunk/libffado/admin/doxygen.py (modified) * trunk/libffado/admin/pkgconfig.py (modified) * trunk/libffado/admin/pyuic.py (modified) * trunk/libffado/admin/pyuic4.py (modified) * trunk/libffado/admin/pyuic5.py (modified) * trunk/libffado/admin/scanreplace.py (modified) * trunk/libffado/deb/SConscript (modified) * trunk/libffado/doc/mainpage.dox (modified) * trunk/libffado/doc/rme_notes/rme_config_register_map.txt (modified) * trunk/libffado/doc/streaming.xmi (modified) * trunk/libffado/libffado/60-ffado.rules (modified) * trunk/libffado/libffado/ffado.h.in (modified) * trunk/libffado/libffado/SConscript (modified) * trunk/libffado/src/bebob/bebob_avdevice.cpp (modified) * trunk/libffado/src/bebob/bebob_avdevice.h (modified) * trunk/libffado/src/bebob/bebob_avdevice_subunit.cpp (modified) * trunk/libffado/src/bebob/bebob_avdevice_subunit.h (modified) * trunk/libffado/src/bebob/bebob_avplug.cpp (modified) * trunk/libffado/src/bebob/bebob_avplug.h (modified) * trunk/libffado/src/bebob/bebob_dl_bcd.cpp (modified) * trunk/libffado/src/bebob/bebob_dl_bcd.h (modified) * trunk/libffado/src/bebob/bebob_dl_codes.cpp (modified) * trunk/libffado/src/bebob/bebob_dl_codes.h (modified) * trunk/libffado/src/bebob/bebob_dl_mgr.cpp (modified) * trunk/libffado/src/bebob/bebob_dl_mgr.h (modified) * trunk/libffado/src/bebob/bebob_functionblock.cpp (modified) * trunk/libffado/src/bebob/bebob_functionblock.h (modified) * trunk/libffado/src/bebob/bebob_mixer.cpp (modified) * trunk/libffado/src/bebob/bebob_mixer.h (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_cmd.cpp (modified) * trunk/libffado/src/bebob/focusrite/focusrite_cmd.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/maudio/special_mixer.cpp (modified) * trunk/libffado/src/bebob/maudio/special_mixer.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_cmd.cpp (modified) * trunk/libffado/src/bebob/terratec/terratec_cmd.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/bebob/yamaha/yamaha_cmd.cpp (modified) * trunk/libffado/src/bebob/yamaha/yamaha_cmd.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/debugmodule/debugmodule.cpp (modified) * trunk/libffado/src/debugmodule/debugmodule.h (modified) * trunk/libffado/src/debugmodule/test_debugmodule.cpp (modified) * trunk/libffado/src/devicemanager.cpp (modified) * trunk/libffado/src/devicemanager.h (modified) * trunk/libffado/src/DeviceStringParser.cpp (modified) * trunk/libffado/src/DeviceStringParser.h (modified) * trunk/libffado/src/dice/dice_avdevice.cpp (modified) * trunk/libffado/src/dice/dice_avdevice.h (modified) * trunk/libffado/src/dice/dice_defines.h (modified) * trunk/libffado/src/dice/dice_eap.cpp (modified) * trunk/libffado/src/dice/dice_eap.h (modified) * trunk/libffado/src/dice/dice_firmware_loader.cpp (modified) * trunk/libffado/src/dice/dice_firmware_loader.h (modified) * trunk/libffado/src/dice/focusrite/focusrite_eap.cpp (modified) * trunk/libffado/src/dice/focusrite/focusrite_eap.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/fbtypes.h (modified) * trunk/libffado/src/ffado.cpp (modified) * trunk/libffado/src/ffadodevice.cpp (modified) * trunk/libffado/src/ffadodevice.h (modified) * trunk/libffado/src/ffadotypes.h (modified) * trunk/libffado/src/fireworks/audiofire/audiofire_device.cpp (modified) * trunk/libffado/src/fireworks/audiofire/audiofire_device.h (modified) * trunk/libffado/src/fireworks/efc/efc_avc_cmd.cpp (modified) * trunk/libffado/src/fireworks/efc/efc_avc_cmd.h (modified) * trunk/libffado/src/fireworks/efc/efc_cmd.cpp (modified) * trunk/libffado/src/fireworks/efc/efc_cmd.h (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_flash.cpp (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_flash.h (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_hardware.cpp (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_hardware.h (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_hardware_ctrl.cpp (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_hardware_ctrl.h (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_ioconfig.cpp (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_ioconfig.h (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_mixer.cpp (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_mixer.h (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_monitor.cpp (modified) * trunk/libffado/src/fireworks/efc/efc_cmds_monitor.h (modified) * trunk/libffado/src/fireworks/fireworks_control.cpp (modified) * trunk/libffado/src/fireworks/fireworks_control.h (modified) * trunk/libffado/src/fireworks/fireworks_device.cpp (modified) * trunk/libffado/src/fireworks/fireworks_device.h (modified) * trunk/libffado/src/fireworks/fireworks_firmware.cpp (modified) * trunk/libffado/src/fireworks/fireworks_firmware.h (modified) * trunk/libffado/src/fireworks/fireworks_session_block.cpp (modified) * trunk/libffado/src/fireworks/fireworks_session_block.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/libavc/audiosubunit/avc_audiosubunit.cpp (modified) * trunk/libffado/src/libavc/audiosubunit/avc_audiosubunit.h (modified) * trunk/libffado/src/libavc/audiosubunit/avc_descriptor_audio.cpp (modified) * trunk/libffado/src/libavc/audiosubunit/avc_descriptor_audio.h (modified) * trunk/libffado/src/libavc/audiosubunit/avc_function_block.cpp (modified) * trunk/libffado/src/libavc/audiosubunit/avc_function_block.h (modified) * trunk/libffado/src/libavc/avc_definitions.cpp (modified) * trunk/libffado/src/libavc/avc_definitions.h (modified) * trunk/libffado/src/libavc/ccm/avc_signal_source.cpp (modified) * trunk/libffado/src/libavc/ccm/avc_signal_source.h (modified) * trunk/libffado/src/libavc/descriptors/avc_descriptor.cpp (modified) * trunk/libffado/src/libavc/descriptors/avc_descriptor.h (modified) * trunk/libffado/src/libavc/descriptors/avc_descriptor_cmd.cpp (modified) * trunk/libffado/src/libavc/descriptors/avc_descriptor_cmd.h (modified) * trunk/libffado/src/libavc/general/avc_connect.cpp (modified) * trunk/libffado/src/libavc/general/avc_connect.h (modified) * trunk/libffado/src/libavc/general/avc_extended_cmd_generic.cpp (modified) * trunk/libffado/src/libavc/general/avc_extended_cmd_generic.h (modified) * trunk/libffado/src/libavc/general/avc_extended_plug_info.cpp (modified) * trunk/libffado/src/libavc/general/avc_extended_plug_info.h (modified) * trunk/libffado/src/libavc/general/avc_extended_subunit_info.cpp (modified) * trunk/libffado/src/libavc/general/avc_extended_subunit_info.h (modified) * trunk/libffado/src/libavc/general/avc_generic.cpp (modified) * trunk/libffado/src/libavc/general/avc_generic.h (modified) * trunk/libffado/src/libavc/general/avc_plug.cpp (modified) * trunk/libffado/src/libavc/general/avc_plug.h (modified) * trunk/libffado/src/libavc/general/avc_plug_info.cpp (modified) * trunk/libffado/src/libavc/general/avc_plug_info.h (modified) * trunk/libffado/src/libavc/general/avc_signal_format.cpp (modified) * trunk/libffado/src/libavc/general/avc_signal_format.h (modified) * trunk/libffado/src/libavc/general/avc_subunit.cpp (modified) * trunk/libffado/src/libavc/general/avc_subunit.h (modified) * trunk/libffado/src/libavc/general/avc_subunit_info.cpp (modified) * trunk/libffado/src/libavc/general/avc_subunit_info.h (modified) * trunk/libffado/src/libavc/general/avc_unit.cpp (modified) * trunk/libffado/src/libavc/general/avc_unit.h (modified) * trunk/libffado/src/libavc/general/avc_unit_info.cpp (modified) * trunk/libffado/src/libavc/general/avc_unit_info.h (modified) * trunk/libffado/src/libavc/general/avc_vendor_dependent_cmd.cpp (modified) * trunk/libffado/src/libavc/general/avc_vendor_dependent_cmd.h (modified) * trunk/libffado/src/libavc/musicsubunit/avc_descriptor_music.cpp (modified) * trunk/libffado/src/libavc/musicsubunit/avc_descriptor_music.h (modified) * trunk/libffado/src/libavc/musicsubunit/avc_musicsubunit.cpp (modified) * trunk/libffado/src/libavc/musicsubunit/avc_musicsubunit.h (modified) * trunk/libffado/src/libavc/streamformat/avc_extended_stream_format.cpp (modified) * trunk/libffado/src/libavc/streamformat/avc_extended_stream_format.h (modified) * trunk/libffado/src/libcontrol/BasicElements.cpp (modified) * trunk/libffado/src/libcontrol/BasicElements.h (modified) * trunk/libffado/src/libcontrol/ClockSelect.cpp (modified) * trunk/libffado/src/libcontrol/ClockSelect.h (modified) * trunk/libffado/src/libcontrol/CrossbarRouter.cpp (modified) * trunk/libffado/src/libcontrol/CrossbarRouter.h (modified) * trunk/libffado/src/libcontrol/Element.cpp (modified) * trunk/libffado/src/libcontrol/Element.h (modified) * trunk/libffado/src/libcontrol/MatrixMixer.cpp (modified) * trunk/libffado/src/libcontrol/MatrixMixer.h (modified) * trunk/libffado/src/libcontrol/Nickname.cpp (modified) * trunk/libffado/src/libcontrol/Nickname.h (modified) * trunk/libffado/src/libieee1394/ARMHandler.cpp (modified) * trunk/libffado/src/libieee1394/configrom.cpp (modified) * trunk/libffado/src/libieee1394/configrom.h (modified) * trunk/libffado/src/libieee1394/csr1212.c (modified) * trunk/libffado/src/libieee1394/csr1212.h (modified) * trunk/libffado/src/libieee1394/cycletimer.h (modified) * trunk/libffado/src/libieee1394/CycleTimerHelper.cpp (modified) * trunk/libffado/src/libieee1394/CycleTimerHelper.h (modified) * trunk/libffado/src/libieee1394/IEC61883.cpp (modified) * trunk/libffado/src/libieee1394/IEC61883.h (modified) * trunk/libffado/src/libieee1394/ieee1394service.cpp (modified) * trunk/libffado/src/libieee1394/ieee1394service.h (modified) * trunk/libffado/src/libieee1394/IsoHandlerManager.cpp (modified) * trunk/libffado/src/libieee1394/IsoHandlerManager.h (modified) * trunk/libffado/src/libieee1394/test-cyclecalc.cpp (modified) * trunk/libffado/src/libieee1394/vendor_model_ids.h (modified) * trunk/libffado/src/libstreaming/amdtp-oxford/AmdtpOxfordReceiveStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/amdtp-oxford/AmdtpOxfordReceiveStreamProcessor.h (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpBufferOps.h (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpPort.cpp (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpPort.h (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpPortInfo.cpp (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpPortInfo.h (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpReceiveStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpReceiveStreamProcessor.h (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpStreamProcessor-common.h (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpTransmitStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpTransmitStreamProcessor.h (modified) * trunk/libffado/src/libstreaming/digidesign/DigidesignPort.cpp (modified) * trunk/libffado/src/libstreaming/digidesign/DigidesignPort.h (modified) * trunk/libffado/src/libstreaming/digidesign/DigidesignPortInfo.cpp (modified) * trunk/libffado/src/libstreaming/digidesign/DigidesignPortInfo.h (modified) * trunk/libffado/src/libstreaming/digidesign/DigidesignReceiveStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/digidesign/DigidesignReceiveStreamProcessor.h (modified) * trunk/libffado/src/libstreaming/digidesign/DigidesignTransmitStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/digidesign/DigidesignTransmitStreamProcessor.h (modified) * trunk/libffado/src/libstreaming/generic/Port.cpp (modified) * trunk/libffado/src/libstreaming/generic/Port.h (modified) * trunk/libffado/src/libstreaming/generic/PortManager.cpp (modified) * trunk/libffado/src/libstreaming/generic/PortManager.h (modified) * trunk/libffado/src/libstreaming/generic/StreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/generic/StreamProcessor.h (modified) * trunk/libffado/src/libstreaming/motu/MotuPort.cpp (modified) * trunk/libffado/src/libstreaming/motu/MotuPort.h (modified) * trunk/libffado/src/libstreaming/motu/MotuPortInfo.cpp (modified) * trunk/libffado/src/libstreaming/motu/MotuPortInfo.h (modified) * trunk/libffado/src/libstreaming/motu/MotuReceiveStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/motu/MotuReceiveStreamProcessor.h (modified) * trunk/libffado/src/libstreaming/motu/MotuTransmitStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/motu/MotuTransmitStreamProcessor.h (modified) * trunk/libffado/src/libstreaming/rme/RmePort.cpp (modified) * trunk/libffado/src/libstreaming/rme/RmePort.h (modified) * trunk/libffado/src/libstreaming/rme/RmePortInfo.cpp (modified) * trunk/libffado/src/libstreaming/rme/RmePortInfo.h (modified) * trunk/libffado/src/libstreaming/rme/RmeReceiveStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/rme/RmeReceiveStreamProcessor.h (modified) * trunk/libffado/src/libstreaming/rme/RmeTransmitStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/rme/RmeTransmitStreamProcessor.h (modified) * trunk/libffado/src/libstreaming/StreamProcessorManager.cpp (modified) * trunk/libffado/src/libstreaming/StreamProcessorManager.h (modified) * trunk/libffado/src/libutil/Atomic.h (modified) * trunk/libffado/src/libutil/ByteSwap.h (modified) * trunk/libffado/src/libutil/cmd_serialize.cpp (modified) * trunk/libffado/src/libutil/cmd_serialize.h (modified) * trunk/libffado/src/libutil/Configuration.cpp (modified) * trunk/libffado/src/libutil/Configuration.h (modified) * trunk/libffado/src/libutil/DelayLockedLoop.cpp (modified) * trunk/libffado/src/libutil/DelayLockedLoop.h (modified) * trunk/libffado/src/libutil/Functors.h (modified) * trunk/libffado/src/libutil/IpcRingBuffer.cpp (modified) * trunk/libffado/src/libutil/IpcRingBuffer.h (modified) * trunk/libffado/src/libutil/Mutex.h (modified) * trunk/libffado/src/libutil/OptionContainer.cpp (modified) * trunk/libffado/src/libutil/OptionContainer.h (modified) * trunk/libffado/src/libutil/PacketBuffer.cpp (modified) * trunk/libffado/src/libutil/PacketBuffer.h (modified) * trunk/libffado/src/libutil/PosixMessageQueue.cpp (modified) * trunk/libffado/src/libutil/PosixMessageQueue.h (modified) * trunk/libffado/src/libutil/PosixMutex.cpp (modified) * trunk/libffado/src/libutil/PosixMutex.h (modified) * trunk/libffado/src/libutil/PosixSharedMemory.cpp (modified) * trunk/libffado/src/libutil/PosixSharedMemory.h (modified) * trunk/libffado/src/libutil/PosixThread.cpp (modified) * trunk/libffado/src/libutil/PosixThread.h (modified) * trunk/libffado/src/libutil/ringbuffer.c (modified) * trunk/libffado/src/libutil/ringbuffer.h (modified) * trunk/libffado/src/libutil/serialize.h (modified) * trunk/libffado/src/libutil/serialize_expat.cpp (modified) * trunk/libffado/src/libutil/serialize_expat.h (modified) * trunk/libffado/src/libutil/serialize_expat_xml.cpp (modified) * trunk/libffado/src/libutil/serialize_expat_xml.h (modified) * trunk/libffado/src/libutil/serialize_libxml.cpp (modified) * trunk/libffado/src/libutil/serialize_libxml.h (modified) * trunk/libffado/src/libutil/StreamStatistics.cpp (modified) * trunk/libffado/src/libutil/StreamStatistics.h (modified) * trunk/libffado/src/libutil/SystemTimeSource.cpp (modified) * trunk/libffado/src/libutil/SystemTimeSource.h (modified) * trunk/libffado/src/libutil/test-dll.cpp (modified) * trunk/libffado/src/libutil/Thread.h (modified) * trunk/libffado/src/libutil/Time.h (modified) * trunk/libffado/src/libutil/TimestampedBuffer.cpp (modified) * trunk/libffado/src/libutil/TimestampedBuffer.h (modified) * trunk/libffado/src/libutil/unittests.cpp (modified) * trunk/libffado/src/libutil/Watchdog.cpp (modified) * trunk/libffado/src/libutil/Watchdog.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/motu/motu_controls.cpp (modified) * trunk/libffado/src/motu/motu_controls.h (modified) * trunk/libffado/src/motu/motu_mark3_controls.cpp (modified) * trunk/libffado/src/motu/motu_mark3_controls.h (modified) * trunk/libffado/src/motu/motu_mark3_mixerdefs.cpp (modified) * trunk/libffado/src/motu/motu_mark3_mixerdefs.h (modified) * trunk/libffado/src/motu/motu_mixer.cpp (modified) * trunk/libffado/src/motu/motu_mixerdefs.cpp (modified) * trunk/libffado/src/motu/motu_mixerdefs.h (modified) * trunk/libffado/src/oxford/oxford_device.cpp (modified) * trunk/libffado/src/oxford/oxford_device.h (modified) * trunk/libffado/src/rme/fireface_def.h (modified) * trunk/libffado/src/rme/fireface_flash.cpp (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/src/rme/rme_shm.cpp (modified) * trunk/libffado/src/rme/rme_shm.h (modified) * trunk/libffado/src/SConscript (modified) * trunk/libffado/support/alsa/SConscript (modified) * trunk/libffado/support/dbus/controlclient.cpp (modified) * trunk/libffado/support/dbus/controlclient.h (modified) * trunk/libffado/support/dbus/controlserver.cpp (modified) * trunk/libffado/support/dbus/controlserver.h (modified) * trunk/libffado/support/dbus/ffado-dbus-server.cpp (modified) * trunk/libffado/support/dbus/SConscript (modified) * trunk/libffado/support/dbus/test-dbus-server.cpp (modified) * trunk/libffado/support/dbus/test-dbus.cpp (modified) * trunk/libffado/support/firmware/bridgeco-downloader.cpp (modified) * trunk/libffado/support/firmware/dice-firmware-utility.cpp (modified) * trunk/libffado/support/firmware/downloader.cpp (modified) * trunk/libffado/support/firmware/downloader.h (modified) * trunk/libffado/support/firmware/fireworks-downloader.cpp (modified) * trunk/libffado/support/firmware/SConscript (modified) * trunk/libffado/support/mixer-qt4/ffado-mixer-profiler.in (modified) * trunk/libffado/support/mixer-qt4/ffado-mixer.in (modified) * trunk/libffado/support/mixer-qt4/ffado/configuration.py (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/import_pyqt.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/audiofire_settings.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/audiofire_strip.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/bcoaudio5.ui (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/dummy.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/edirolfa101.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/edirolfa101control.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/edirolfa66.ui (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/globalmixer.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/mackieonyx.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/mackieonyx.ui (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.ui (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/phase24.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/phase24control.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/phase88.ui (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/quatafire.ui (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/saffirele_large.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffirele_small.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffirepro.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffirepro_large.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffirepro_small.ui (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/saffire_mono.ui (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/saffire_stereo.ui (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) * trunk/libffado/support/mixer-qt4/SConscript (modified) * trunk/libffado/support/SConscript (modified) * trunk/libffado/support/tools/ffado-diag.in (modified) * trunk/libffado/support/tools/ffado-set-nickname.cpp (modified) * trunk/libffado/support/tools/SConscript (modified) * trunk/libffado/support/xdg/ffado-mixer.appdata.xml (modified) * trunk/libffado/support/xdg/ffado.org-ffadomixer.desktop (modified) * trunk/libffado/tests/dbus_test.py (modified) * trunk/libffado/tests/python/test-eap-ctrl.py (modified) * trunk/libffado/tests/scan-devreg.cpp (modified) * trunk/libffado/tests/SConscript (modified) * trunk/libffado/tests/set-default-router-config-dice-eap.cpp (modified) * trunk/libffado/tests/streaming/SConscript (modified) * trunk/libffado/tests/streaming/test-ipcclient.cpp (modified) * trunk/libffado/tests/streaming/test-isohandling.cpp (modified) * trunk/libffado/tests/streaming/teststreaming-ipc.cpp (modified) * trunk/libffado/tests/streaming/teststreaming3.cpp (modified) * trunk/libffado/tests/systemtests/gen-loadpulses.cpp (modified) * trunk/libffado/tests/systemtests/realtimetools.cpp (modified) * trunk/libffado/tests/systemtests/realtimetools.h (modified) * trunk/libffado/tests/systemtests/SConscript (modified) * trunk/libffado/tests/systemtests/test-clock_nanosleep.cpp (modified) * trunk/libffado/tests/systemtests/test-isorecv-1.cpp (modified) * trunk/libffado/tests/systemtests/test-isoxmit-1.cpp (modified) * trunk/libffado/tests/systemtests/test-sysload.cpp (modified) * trunk/libffado/tests/test-avccmd.cpp (modified) * trunk/libffado/tests/test-bufferops.cpp (modified) * trunk/libffado/tests/test-devicestringparser.cpp (modified) * trunk/libffado/tests/test-dice-eap.cpp (modified) * trunk/libffado/tests/test-echo.cpp (modified) * trunk/libffado/tests/test-echomixer.cpp (modified) * trunk/libffado/tests/test-enhanced-mixer.cpp (modified) * trunk/libffado/tests/test-extplugcmd.cpp (modified) * trunk/libffado/tests/test-ffado.cpp (modified) * trunk/libffado/tests/test-focusrite.cpp (modified) * trunk/libffado/tests/test-fw410.cpp (modified) * trunk/libffado/tests/test-ieee1394service.cpp (modified) * trunk/libffado/tests/test-ipcringbuffer.cpp (modified) * trunk/libffado/tests/test-messagequeue.cpp (modified) * trunk/libffado/tests/test-mixer.cpp (modified) * trunk/libffado/tests/test-pan.cpp (modified) * trunk/libffado/tests/test-scs.cpp (modified) * trunk/libffado/tests/test-shm.cpp (modified) * trunk/libffado/tests/test-streamdump.cpp (modified) * trunk/libffado/tests/test-timestampedbuffer.cpp (modified) * trunk/libffado/tests/test-volume.cpp (modified) * trunk/libffado/tests/test-watchdog.cpp (modified) * trunk/libffado/tests/unmute-ozonic.cpp (modified) Cosmetic: "Firewire" becomes "FireWire". Officially both the "F" and "W" were capitalised in the FireWire name, so reflect this throughout FFADO's source tree. This mostly affects comments. This patch originated from pander on the ffado-devel mailing list. To maintain consistency, the committed version has been expanded to include files not originally included in the original patch. 05/16/21 16:41:16 jwoithe [2798] * trunk/libffado/README (modified) * trunk/libffado/support/xdg/ffado-mixer.appdata.xml (modified) * trunk/libffado/support/xdg/ffado.org-ffadomixer.desktop (modified) Use capital "F" for "Firewire" in non-code settings. Since "Firewire" is a proper noun it should technically be started with a capital letter. Thanks to Pander on the ffado-devel mailing list for providing the patch. When discussing the "firewire" backend of JACK a capitial is not used because the respective command line option of jackd is "firewire", not "Firewire". 05/10/21 05:37:39 jwoithe [2797] * trunk/libffado/support/mixer-qt4/ffado/ffadowindow.py (modified) ffado-mixer: include project site URLs in "About" window text. Idea suggested by "pander" on the ffado-devel mailing list. 04/29/21 18:55:03 jwoithe [2796] * trunk/libffado/support/dbus/ffado-dbus-server.cpp (modified) * trunk/libffado/support/mixer-qt4/ffado/ffadowindow.py (modified) * trunk/libffado/tests/test-ffado.cpp (modified) Update displayed copyright year range where relevant. There is little doubt that the copyright year range of some components of FFADO have not been kept up to date. For those where this can be clearly demonstrated, update the range to include the current year (2021). Others can be addressed in future once it is determined that they were affected by later changes. There are certainly some FFADO utilities not linked against libffado which have not received code changes since the years currently claimed. Thanks to Pander (via the ffado-devel list) for drawing our attention to this issue. 08/09/20 00:27:32 jwoithe [2791] * trunk/libffado/support/mixer-qt4/ffado/panelmanager.py (modified) ffado-mixer: disable the optional registration prompt. While usage statistics were useful in the past when discussing Linux support with vendors, in 2020 this is no longer the case. Vendors are generally no longer shipping Firewire-based products so these statistics are not of practical value anymore. Since they are no longer used there is little point to collect them, so disable the registration dialog box. While this change has been pondered for a while, it has been brought to a head by the changes to the website infrastructure in 2020. To continue to support the device registration, the website services used by the registration code would need to be supported. Given the limited utility of the data produced, the time required to do this does not seem worthwhile. 05/12/20 01:12:28 jwoithe [2784] * trunk/libffado/support/mixer-qt4/ffado/ffadowindow.py (modified) ffado-mixer: prevent ffado-dbus-server holding the ffado-mixer lock socket. If ffado-dbus-server is not running when ffado-mixer is started, ffado-mixer will start it. On some systems, ffado-mixer could not be run a second time after exiting if it needed to start ffado-dbus-server during its first run. This has been reported by a small number of users over time, but it has been difficult to debug because it did not happen on systems used by FFADO developers. Testing by Claudia Krelm indicates that on affected systems, the subprocess.Popen() call passes file descriptors to the child process. If this is done, ffado-dbus-server obtains a file descriptor to the unix socket used as the ffado-mixer lock file. When ffado-mixer is stopped, ffado-dbus-server still holds the lock's file descriptor open and therefore the socket is not closed. In this scenario, the ffado-mixer lock file (socket) would only be closed if ffado-dbus-server were shut down. This was demonstrated on Claudia's system by explicitly requesting the closure of file descriptors in the subprocess.Popen() call. Without this change, ffado-mixer could not be restarted due to the continued presence of the lock file even after ffado-mixer had been shut down. If file descriptor closure was requested, ffado-mixer could be restarted whenever the previous invocation had been exitted. On this basis, the bug can be fixed by explicitly requesting file descriptors be closed when subprocess.Popen() is used to spawn ffado-dbus-server. While many systems evidently do this by default, there are clearly some which do not. Thanks to Claudia Krelm for running the tests needed to identify the problem. 11/26/19 03:46:31 jwoithe [2783] * trunk/libffado/support/mixer-qt4/ffado/configuration.py (modified) mixer-qt4: type cast fix for python 3.8 in configuration.py. Patch from David Runge: After rebuilding against python 3.8 ffado-mixer crashes right after starting when a device is connected: ---- File "/usr/lib/python3.8/site-packages/ffado/panelmanager.py", line 273, in addPanel dev = self.devices.getDeviceById( vendorId, modelId ) File "/usr/lib/python3.8/site-packages/ffado/configuration.py", line 58, in getDeviceById if int("%s" % dev['vendorid'], 0) == int("%s" % vendor, 0) and \ ValueError: invalid literal for int() with base 0: 'dbus.Int32(2613)' ---- It seems that in the DeviceList class in defined in support/mixer-qt4/ffado/configuration.py, the member function getDeviceById() accespts the "vendor" and "model" parameters to be of type "str" or "dbus.Int32". The attempt to cast a dbus.Int32 to an int fails. This patch constains a somewhat rudimentary approach which casts "vendor" and "model" to string if either are found to be of type dbus.Int32. In addition to David's testing of python 3.8 the fix has been tested against python 2.7.16. The code works against these two python versions, so no difficulties are expected with any versions between them. 11/26/19 03:27:03 jwoithe [2782] * trunk/libffado/support/mixer-qt4/ffado/configuration.py (modified) mixer-qt4: remove unused "re" import in configuration.py. Thanks to David Runge for the suggestion. 11/09/19 23:38:07 jwoithe [2781] * trunk/libffado/configuration (modified) * trunk/libffado/README (modified) * trunk/libffado/src/dice/dice_avdevice.cpp (modified) * trunk/libffado/src/dice/maudio/profire_2626.cpp (modified) * trunk/libffado/src/dice/maudio/profire_2626.h (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/profire2626.py (modified) profire-610: Add support for setting master volume controlled line outs. This has been implemented as an "extension" of the Profire 2626 version, since much is shared between them (and the 610 is even advertised as a cut-down version of the 2626). Patch supplied by Donny Yang. 06/26/18 06:38:39 jwoithe [2775] * trunk/libffado/support/mixer-qt4/SConscript (modified) mixer-qt4: fix for building with scons under python 3. This is a quick fix to use os.walk instead of os.path.walk, since the latter is gone in Python 3. Python 2 has both, so it should work fine. Note that this is about running SCons itself on Python 3, not running ffado-mixer et al on Python 3. There is another problem building with SCons on Py3, which seems to be a SCons bug. The workaround is to disable CacheDir in SConstruct. This has been reported that one upstream to SCons. Thanks to Hector Martin for the report and the patch. 03/06/18 14:39:36 jwoithe [2774] * trunk/libffado/support/mixer-qt4/ffado/import_pyqt.py (modified) ffado-mixer: don't try loading PyQt4 if Python3 is in use. While defaulting to PyQt4 is reasonable if Python2 is in use, this is not generally applicable under Python3. In the Python3 case, PyQt5 should be used because the python3 code assumes the newer API offered by PyQt5. This patch applies this logic in a way which works on Python3 systems which have both PyQt4 and PyQt5 installed. Thanks to David Runge for notifying us about this issue and for an initial patch. 02/20/18 06:06:31 jwoithe [2769] * trunk/libffado/support/xdg/ffado-mixer.appdata.xml (modified) appdata: adjust screenshot URL. The URL of the appdata screenshot has been adjusted to improve clarity on the web server and provide more flexibility in the future if it's needed. 02/15/18 02:25:32 jwoithe [2764] * trunk/libffado/deb/SConscript (modified) * trunk/libffado/doc/SConscript (modified) * trunk/libffado/SConstruct (modified) * trunk/libffado/src/SConscript (modified) * trunk/libffado/support/tools/SConscript (modified) * trunk/libffado/tests/SConscript (modified) * trunk/libffado/tests/streaming/SConscript (modified) * trunk/libffado/tests/systemtests/SConscript (modified) Delete trailing whitespaces. Indent with spaces instead tabs. Patch from Nicolas Boulenguez. 02/11/18 01:43:53 jwoithe [2763] * trunk/libffado/support/tools/ffado-diag.in (modified) ffado-diag: correct regex used to find firewire controllers in lspci output. The previous re.findall() regex expected the PCI bus ID to be within literal parentheses, while the intent was probably to specify a subexpression (or "group" as python calls it). When a subexpression (group) is included in the regex passed to re.findall(), the values produced re.findall() are the contents of the subexpression. A call to the group() method is not required. These changes have been tested on python2. 02/09/18 19:38:53 jwoithe [2761] * trunk/libffado/support/xdg/ffado-mixer.appdata.xml (modified) ffado-mixer.appdata.xml: fix a typo in the caption. Thanks to Jano Svitok for noticing it. 02/09/18 04:30:13 jwoithe [2760] * trunk/libffado/support/xdg/ffado-mixer.appdata.xml (modified) ffado-mixer.appdata.xml: add "OR GPLv3" to project licence. Jano Svitok has determined that the project licence field of the appdata file can specify multiple licences separated with "OR". I haven't yet seen that in the appdata specification documentation but apparently it passes the validator. Since many files in FFADO are currently GPLv2 or GPLv3 (without the "or later" clause) it is fair to add "OR GPL-3.0" to the project licence field for the moment. Following the next release, the licence comments in some FFADO files should be cleaned up to ensure consistency across the project. Thanks to Jano for the patch (via ffado-devel). 02/09/18 04:24:12 jwoithe [2759] * trunk/libffado/support/xdg/ffado-mixer.appdata.xml (modified) ffado-mixer.appdata.xml: Shorten screenshot caption. Jano Svitok informs us (via ffado-devel) that the screenshot captions in appdata files are apparently limited to 50 characters. This contradicts the advice given at https://www.freedesktop.org/software/appstream/docs/chap- Quickstart.html which states the limit is 180. Oh well, if the limit is 50 that's what we have to run with. Thanks to Jano for the information. 02/09/18 02:54:33 jwoithe [2758] * trunk/libffado/support/xdg/ffado-mixer.appdata.xml (modified) ffado-mixer.appdata.xml: add a screenshot. According to the appdata specification at least one screenshot must be supplied. This patch adds a URL to such a screenshot. A single screenshot will do for now: since the appearance varies significantly depending on the audio interface in use there isn't a lot of point in providing too many detailed screenshots. 02/08/18 22:00:15 jwoithe [2757] * trunk/libffado/support/xdg/ffado-mixer.appdata.xml (modified) ffado-mixer.appdata.xml: fix project licence identifier. While the table at http://spdx.org/licenses/ indicates that "GLP-2.0-only" is the appropriate tag for GPLv2 software, an alternative specification at https://spdx.org/spdx-specification-21-web-version#h.1jlao46 says otherwise. The "appstream-util validate" command on Fedora reports "GPL-2.0-only" as invalid, so we'll run with "GPL-2.0" instead. Thanks to Orcan Ogetbil for running the appstream-util on his system and pointing out the URL with the alternative SPDX licence identifier definitions. 02/08/18 03:29:13 jwoithe [2756] * trunk/libffado/SConstruct (modified) * trunk/libffado/support/xdg/ffado-mixer.appdata.xml (added) Add support for a ffado-mixer.appdata.xml file. Distributions are starting to rely on appdata files to present applications in package management systems. Add an appdata file for ffado-mixer since this is the only significant component of FFADO which counts as a user application. Thanks to Orcan Ogetbil for raising the issue on ffado- devel and providing an initial appdata file. For the moment this appdata file contains no screenshot, mostly because the screen content is dependent on the firewire interface in use at the time. We may revisit this in future if there's a call to do so. 02/05/18 03:31:26 jwoithe [2753] * trunk/libffado/SConstruct (modified) * trunk/libffado/support/tools/ffado-diag.in (modified) * trunk/libffado/support/tools/SConscript (modified) static_info.txt: install under LIBDIR/libffado/ rather than PYTHONDIR/. PYTHONDIR is usually located in a share hierarchy which (according to the fhs) should contain architecture-independent data. To address this, introduce the LIBDATADIR directory (which defaults to LIBDIR/libffado/) and place static_info.txt there instead. Being under LIBDIR, architecture- dependent data can be placed there. Since information about libraries and paths is included in static_info.txt it clearly falls into the architecture-dependent category. Patch by Nicolas Boulenguez with minor changes by Jonathan Woithe. 02/05/18 02:25:05 jwoithe [2752] * trunk/libffado/support/tools/ffado-diag-static (deleted) * trunk/libffado/support/tools/ffado_diag_helpers.py (deleted) * trunk/libffado/support/tools/helpstrings.py (deleted) * trunk/libffado/support/tools/listirqinfo.py (deleted) Remove support files obsoleted by r2751. These files were inadvertently left in place when r2751 was committed. 02/03/18 00:30:56 jwoithe [2751] * trunk/libffado/support/tools/ffado-diag.1 (modified) * trunk/libffado/support/tools/ffado-diag.in (modified) * trunk/libffado/support/tools/SConscript (modified) Simplify and optimize ffado-diag.in. Executing ffado-diag after preprocessing ensures that the shebang python version is used without keeping SConscript in sync with ffado- diag.in. Merging all *.py modules into a single script will help any contributor figuring the big picture, and spares the sys.path trick. The rewrite is more resilient to missing dependencies, and hopefully more readable. Patch contributed by Nicolas Boulenguez with minor adjustments by Jonathan Woithe. It has been tested under python3 and python2. 01/31/18 15:41:51 jwoithe [2750] * trunk/libffado/support/tools/ffado-diag.in (modified) * trunk/libffado/support/tools/ffado_diag_helpers.py (modified) Add comment explaining the "__future__" print_function imports. While Python 2.7 natively supports the print() function syntax of Python3, it is convenient to also make use of the "print(..., end='')" feature. This is not available under Python2 by default, but can be accessed in Python2 by way of the "from __future__ import print_function" statement. Include a brief comment to this effect in the relevant source files to make the purpose of the "__future__" import clear in future when the need for such lines might be deemed unnecessary. 01/31/18 02:47:36 jwoithe [2749] * trunk/libffado/support/tools/SConscript (modified) [PATCH 13/13] Run ffado-diag-static with PYTHON_INTERPRETER. From Nicolas Boulenguez. 01/31/18 02:45:59 jwoithe [2748] * trunk/libffado/support/tools/ffado-diag.in (modified) * trunk/libffado/support/tools/ffado_diag_helpers.py (modified) * trunk/libffado/support/tools/listirqinfo.py (modified) [PATCH 12/13] ffado-diag: tolerate python3 or missing external tools. From Nicolas Boulenguez. 01/31/18 02:19:30 jwoithe [2746] * trunk/libffado/support/tools/ffado-diag.in (modified) * trunk/libffado/support/tools/ffado-sandbox-install.py (modified) * trunk/libffado/support/tools/ffado_diag_helpers.py (modified) [PATCH 10/13] tools: Fix python file indents in a separate commit. From Nicolas Boulenguez. 01/31/18 02:17:49 jwoithe [2745] * trunk/libffado/support/tools/ffado-sandbox-install.py (modified) [PATCH 09/13] tools: sandbox-install: use context managers for log files. From Nicolas Boulenguez. 01/31/18 02:16:45 jwoithe [2744] * trunk/libffado/support/tools/ffado-diag.in (modified) [PATCH 08/13] Let ffado-diag go on if static_info.txt is not installed. From Nicolas Boulenguez. The static_info.txt file contains locale- and architecture-dependent data. It prevents reproducible builds, and should probably move to /usr/lib/ARCH instead of /usr/share. Some distributors may want to remove it from their packages. 01/31/18 02:14:24 jwoithe [2743] * trunk/libffado/support/tools/ffado-diag.in (modified) * trunk/libffado/support/tools/ffado-sandbox-install.py (modified) * trunk/libffado/support/tools/ffado_diag_helpers.py (modified) * trunk/libffado/support/tools/listirqinfo.py (modified) [PATCH 07/13] Switch to recent python structures, attempting python2&3 compatibility. From Nicolas Boulenguez. * Use subprocess, context managers and file iterators when possible. * Python can open files, rename files, glob directories, remove directories, grep lines without subprocesses. * sandbox-install: - os.path is used, not only os. - trick to handle renaming of raw_input by python3 * Some changes require indentation changes. They are in next commit. * int ("1") is more readable, faster than eval ("1"). It also provides more accurate error messages. * documentation says that "a in b" should be preferred to "b.find (a) > -1". * For functions checking that each name of a list is available, we may conclude at first failure. * check_1394oldstack_devnode_permissions assumed that open() returns 0 on failure as in C, while it raises an exception. 01/31/18 00:41:31 jwoithe [2742] * trunk/libffado/support/tools/ffado-diag.in (modified) [PATCH 06/13] tools: use print in a way compatible with python3. From Nicolas Boulenguez. Somehow these print() calls were missed in the earlier patches which dealt with the issue in other locations throughout the code base. 01/31/18 00:39:32 jwoithe [2741] * trunk/libffado/support/tools/ffado-diag-static (modified) * trunk/libffado/support/tools/ffado-diag.in (modified) * trunk/libffado/support/tools/ffado_diag_helpers.py (modified) [PATCH 05/13] tools: make helpers from shared parts of ffado-diag.in and -static.py. From Nicolas Boulenguez. 01/31/18 00:22:28 jwoithe [2740] * trunk/libffado/support/tools/listirqinfo.py (modified) [PATCH 04/13] tools: listirqinfo: avoid creating a temporary list. A function call can also be eliminated as a result. From Nicolas Boulenguez 01/31/18 00:19:47 jwoithe [2739] * trunk/libffado/support/tools/ffado-diag.in (modified) * trunk/libffado/support/tools/listirqinfo.py (modified) [PATCH 03/13] python tools: simplify listirqinfo. * A full import and calls with dot notation allows reference searchs. The previous import from listirqinfo in ffado-diag refers to 3 functions but only one is used. * __str__() and str() introduce unneeded complexity. * import os is not used. * subprocess module is available since python2.4. * Reading a file from python is easier and more readable than spawning a cat command. From Nicolas Boulenguez. 01/31/18 00:16:26 jwoithe [2738] * trunk/libffado/support/tools/ffado-diag.in (modified) * trunk/libffado/support/tools/helpstrings.py (modified) [PATCH 02/13] python tools: simplify helpstrings. From Nicolas Boulenguez. 01/31/18 00:10:14 jwoithe [2737] * trunk/libffado/support/tools/ffado-diag-static (modified) * trunk/libffado/support/tools/ffado-diag.in (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) [PATCH 01/13] python tools: delete trailing whitespaces. From Nicolas Boulenguez. 01/29/18 03:23:31 jwoithe [2736] * trunk/libffado/SConstruct (modified) * trunk/libffado/support/mixer-qt4/ffado-mixer.in (modified) * trunk/libffado/support/tools/ffado-diag.in (modified) Allow python interpreter to be specified at build time. Patch from Nicolas Boulenguez (forwarded to ffado-devel by Benoit Delcour) which allows packagers to directly specify the python interpreter which should be used by FFADO components. This is useful for systems which do not have /usr/bin/python due to only python 3 being installed. 01/29/18 03:08:24 jwoithe [2735] * trunk/libffado/support/mixer-qt4/ffado/ffadowindow.py (modified) Remove executable property and shebang line from ffadowindow.py. This python module is imported by ffado-mixer and as a result does not need to be executable. Similarly it does not require a shebang line. 01/29/18 03:01:46 jwoithe [2734] * trunk/libffado/support/tools/listirqinfo.py (modified) listirqinfo.py does not need to be executable. This python module is imported by ffado-diag but is never executed in its own right. It therefore does not require the execute property, nor does it require the shebang line at the top of the script. 01/27/18 21:35:50 jwoithe [2731] * trunk/libffado/support/xdg/ffado.org-ffadomixer.desktop (modified) Add "Keywords" entry to desktop file. Include the "Keywords" entry in the FFADO desktop file. This benefits Debian and possibly others. Patch by Nicolas Boulenguez for Debian and provided to FFADO by Benoit Delcour via the ffado-user mailing list. 01/11/18 17:19:17 jwoithe [2729] * trunk/libffado/support/mixer-qt4/ffado/mixer/audiofire.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/phase88control.py (modified) * trunk/libffado/support/tools/ffado-diag-static (modified) Python3 syntax fixes From Hector Martin via the FFADO-devel mailing list. Fix 3 syntax issues required by python 3: sloppy use of whitespace which python2 was evidently happy with, some missed print() conversions, and an unused import that no longer exists. Tested on Python 2.7, 3.4, 3.5 with Qt5, and Python 2.7 with Qt4. 01/11/18 17:15:12 jwoithe [2728] * trunk/libffado/support/mixer-qt4/ffado/widgets/crossbarrouter.py (modified) Crossbar router fix Patch provided by Hector Martin via the FFADO-devel mailing list. From Hector: IIRC this was broken since at least mid last year if not earlier, in PyQt4 too. Tested on Python 2.7, 3.4, 3.5 with Qt5. 01/11/18 17:12:33 jwoithe [2727] * 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) Additional Python 3 fixes Apply additional Python 3 fixes from Hector Martin via the FFADO- devel mailing list. The exec() based approach in panelmanager.py no longer works (it is replaced with importlib). Fix what looks like a typo in crossbarrouter.py which just happened to work in Python 2.7 (Hector understands the intent is to avoid negative values, not "negative" keys which are actually strings). Clarify float/truncating division. Tested on Python 2.7, 3.4, 3.5 with Qt5, and Python 2.7 with Qt4. 01/05/18 01:56:40 jwoithe [2726] * trunk/libffado/support/mixer-qt4/ffado/ffadowindow.py (modified) * trunk/libffado/support/mixer-qt4/ffado/logginghandler.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) Further Python3/PyQt5 compatibility fixes, enhance "About" dialog box. This patch was prepared by Orcan Ogetbil on Fedora and tested on that distribution with PyQt4-4.12.1 and PyQt5-5.9.1. It is primarily concerned with additional compatibility between Python2/3 and PyQt4/5. It has also been tested under python 2 with pyqt 4.11.4. Further testing under different python/pyqt environments would be welcomed. An enhancement to the "About" dialog is also included which adds version strings and updates the copyright year range. The patch was submitted to the ffado-devel mailing list. 11/08/17 02:45:42 jwoithe [2718] * trunk/libffado/SConstruct (modified) * trunk/libffado/src/SConscript (modified) * trunk/libffado/support/alsa/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) * trunk/libffado/tests/systemtests/SConscript (modified) Additional scons3 compatibility fixes (add implicit bytes/string conversions). Within the scons scripts, some of the env[VAR] calls return bytes under scons3. Implicit conversion of bytes to strings has been removed in python3 which necessitates the use of decode() in some instances which expect strings to prevent type mismatch errors. This change does not affect compatibility with scons2. Thanks to Orcan Ogetbil for his scons3 tests and the patch (via the ffado-devel mailing list). 11/06/17 01:54:30 jwoithe [2714] * trunk/libffado/admin/doxygen.py (modified) * trunk/libffado/support/alsa/SConscript (modified) * trunk/libffado/tests/SConscript (modified) Remove some additional "has_key()" calls which were omitted from r2713. 11/06/17 01:23:03 jwoithe [2711] * trunk/libffado/SConstruct (modified) * trunk/libffado/support/dbus/SConscript (modified) Use "print()" rather than "print ..." in scons build scripts. As a first step towards potentially supporting scons3, convert print statements into function calls within the scons build scripts so as to be compatible with both scons2 (python2) and scons3 (python3). This change should not affect functionality under scons2; please report any regressions. 10/12/17 16:11:49 jwoithe [2709] * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) rme: correctly save playback and output mixer settings. A cut-and-paste oversight at the time the save/restore code was written resulted in the input matrix values being saved for the playback and output matrix mixers as well. Currect this so the right matrix mixer will be read when writing the respective parts of the saved configuration. Thanks to Vince who reported the symptoms on ffado-devel and identified the cause. 08/26/17 22:07:23 jwoithe [2708] * trunk/libffado/support/mixer-qt4/ffado/mixer/saffire_dice.py (modified) saffire_dice: allow for trailing space in ConfigROM model name. Under certain conditions, the model name returned by configrom.getModelName() can include trailing spaces. There is a vague recollection that a change in the kernel or libraw1394 at some point in the past might give rise to this, but no reference can be immediately tracked down. To address this, simply use the rstrip() method to remove trailing white space. This ensures that the code continues to work with or without the trailing white space. This issue caused ffado-mixer to exit with an error complaining that GlobalMute was not defined for the Saffire mixer widget. Due to the unexpected white space, the device name never matched any of the expected names and therefore the appropriate UI file (which created the GlobalMute objects, among many others) was never loaded. Thanks to Dominik Meister for reporting the problem, running further tests to confirm the fundamental cause and suggesting the fix. 06/06/17 17:01:25 jwoithe [2705] * trunk/libffado/support/mixer-qt4/ffado/dbus_util.py (modified) dbus_util: import DBusQtMainLoop from dbus.mainloop.pyqt5 if dbus.mainloop.qt fails. While "dbus.mainloop.qt" appears to have been present in earlier versions of the PyQt5 dbus modules for compatibility reasons, it seems it has been removed in recent versions. Therefore if use of "dbus.mainloop.qt" fails, try using "dbus.mainloop.pyqt5" instead. This issue was noticed by Xavier Forestier and reported (with the suggested fix) via the ffado-devel mailing list on 6 June 2017. 06/06/17 05:22:20 jwoithe [2704] * trunk/libffado/support/mixer-qt4/ffado-mixer.1 (modified) ffado-mixer: update manpage with information about the "-b" option. Commit r2670 added the "-b" option to ffado-mixer but the manpage was overlooked. This commit adds documentation about the "-b" option to the ffado-mixer manpage. 06/06/17 04:56:21 jwoithe [2703] * trunk/libffado/support/mixer-qt4/ffado/mixer/mackieonyx.py (moved) * trunk/libffado/support/mixer-qt4/ffado/mixer/mackieonyx.ui (moved) mackieonyx: fix mixer module name inconsistency. The name of the python module implementing the Mackie Onyx mixer ("mackie_onyxmixer") was inconsistent with the class name as defined in the "configuration" file ("MackieOnyx"). The class as defined in "mackie_onyxmixer" ("MackieOnyx") was fine though. To avoid causing unnecessary churn in existing "configuration" files, the mixer module was renamed to "mackieonyx", thus matching what is expected in the "configuration" file definition. This name mismatch was spotted by Xavier Forestier, who implemented a slightly different fix in his November 2016 patch set. 06/04/17 00:40:48 jwoithe [2702] * trunk/libffado/support/mixer-qt4/ffado/panelmanager.py (modified) ffado_mixer: use graphical icon instead of name for mixer pane if available. From Xavier Forestier's November 2016 patchset. In amongst the Qt5 changes was this code to utilise a device-specific graphical image instead of the textual device model name in the global mixer pane. The only change from Xavier's patch is the omission of a statement to set the nickname placeholder text to the name of the device. The nickname field is present to support a particular feature of some interfaces, so it shouldn't really be repurposed like this. Otherwise there is a high likelihood of it introducing confusion when used with devices which support the nickname feature. FFADO does not currently ship with any device graphics. Contributions are welcome but care will be needed to ensure that copyrighted images from vendors are not used. The use of official images could give an incorrect impression that ffado-mixer is officially sanctioned by the vendors which is not generally the case. 06/04/17 00:23:13 jwoithe [2701] * trunk/libffado/support/mixer-qt4/ffado/ffadowindow.py (modified) * trunk/libffado/support/mixer-qt4/ffado/panelmanager.py (modified) ffado-mixer: add device mixers to "View" menu. Xavier Forestier's November 2016 patchset included code which added an entry for each active device's mixer to the "View" menu. For users with a number of different devices this may prove useful. This commits Xavier's original patch was with some minor changes to ensure the guid key is resolvable by setTabVisible() under PyQt4. It has not been tested under PyQt5. 06/03/17 04:58:55 jwoithe [2700] * trunk/libffado/support/mixer-qt4/ffado/ffadowindow.py (modified) ffado_mixer: add a "Themes" submenu to the "View" menu. Xavier Forestier's November 2016 patchset included code to add themes under the "Help" menu which could be selected by the user. The code to do this is relatively simple so there seems little reason to hold it back. The only change compared to the submitted patch is to move the themes to a submenu of the "View" menu since conceptually this is a better place than the top of the "Help" menu. 06/03/17 04:29:20 jwoithe [2699] * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) matrixmixer.py: attempt to deal with UTF8 string changes in python3. PyQt5 under python3 does not implement QString and instead relies on the native python UTF string type. Attempt to deal with this when drawing mixer elements which make use of UTF characters. This has not yet been tested under python3 due to the author not having access to a system with python3, so testing may yet prove that the approach taken in this commit is insufficient. This commit is based on the suggestion from Xavier Forestier in his patch set from November 2016 submitted via the ffado-devel mailing list. 06/03/17 04:17:13 jwoithe [2698] * trunk/libffado/admin/pyuic5.py (added) * trunk/libffado/SConstruct (modified) * trunk/libffado/support/tools/ffado-diag-static (modified) * trunk/libffado/support/tools/ffado-diag.in (modified) A first pass at optionally supporting PyQt5 in the build system. This is an initial implementation of changes in the build system to support the use of PyQt5 when building ffado-mixer. They are based on the patch set submitted to ffado-devel by Xavier Forestier in November 2016. However, rather than removing PyQt4 support, the idea is that either PyQt4 or PyQt5 can be used. This patch has been tested on a machine with only PyQt4 installed. Testing with only PyQt5 is yet to be done (the author presently does not have access to such a system). It is not known how well this patch will work on a machine with both PyQt4 and PyQt5 installed. r2694 assumes that PyQt4 will be used in this situation on the basis that it has had the most testing, but it's unclear whether the build system will select pyuic4 over pyuic5 in this case. Further testing will be required, and adjustments will be made if problems are found. 06/03/17 04:01:17 jwoithe [2697] * trunk/libffado/support/tools/ffado_diag_helpers.py (modified) ffado_diag_helpers.py: get_version_first_line(): print "Not found" if the command is available. Previously a shell error message would be shown which may be a little misleading in some situations. 06/03/17 01:34:29 jwoithe [2696] * trunk/libffado/support/mixer-qt4/ffado/import_pyqt.py (modified) import_pyqt.py: make licence format consistent with the rest of FFADO. 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. 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/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 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/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. 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.