# # ChangeLog for /trunk # # Generated by Trac 0.10.4 # 03/28/24 10:18:53 # 04/16/12 05:21:40 jwoithe [2119] * trunk/libffado/support/mixer-qt4/ffado/mixer/globalmixer.py (modified) If streaming is started when ffado-mixer is running, make ffado- mixer's sample rate agree with that in use (jackd can change this on startup independently of ffado-mixer). 04/14/12 05:55:26 jwoithe [2118] * trunk/libffado/configuration (modified) apply configuration file patch from yellius for the Tascam IF-FW/DM device. See ticket #338 and #340 for the ongoing discussion about this device. 04/05/12 08:04:06 pnoffke [2117] * trunk/libffado/support/dbus/control-interface.xml (modified) Add annotation for qdbusxml2cpp. 04/03/12 05:35:23 jwoithe [2116] * trunk/libffado/README (modified) README: update jack version requirements 04/03/12 01:36:58 adi [2115] * trunk/libffado/SConstruct (modified) Introduce ENABLE_SETBUFFERSIZE_API_VER=force We now have: * false: use API_VER 8 * auto: use API_VER 8 or 9 depending on the installed jackd version or API_VER 9 if no jackd is installed * true: use API_VER 9, but abort if detected jackd is too old * force: use API_VER 9 04/03/12 01:36:49 adi [2114] * trunk/libffado/SConstruct (modified) Revert "Don't abort on ENABLE_SETBUFFERSIZE_API_VER=true" This reverts commit 487d76efa4df33c9bdf9be4c4264b54105f895b1. 04/02/12 07:21:47 adi [2113] * trunk/libffado/SConstruct (modified) Don't abort on ENABLE_SETBUFFERSIZE_API_VER=true Power to the people. If they ask for APIv9, they get APIv9. Reserve the "I know what's good for you" attitude to the 'auto' case. 04/02/12 07:21:39 adi [2112] * trunk/libffado/src/libstreaming/amdtp/AmdtpReceiveStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/amdtp/AmdtpTransmitStreamProcessor.cpp (modified) Fix failing assertion in AMDTP streamer when increasing bufsize Closes #348 04/02/12 05:51:10 jwoithe [2111] * trunk/libffado/support/mixer-qt4/ffado/mixer/phase24control.py (modified) Terratec Producer Phase 24FW: possibly fix a few mixer settings which were not working. Patch from 'maxi' via trac. Addresses ticket #323. 04/02/12 05:28:04 jwoithe [2110] * trunk/libffado/support/mixer-qt4/ffado/ffadowindow.py (modified) * trunk/libffado/support/mixer-qt4/ffado/panelmanager.py (modified) Patch from Philippe Carriere. refreshPanels is the 'orthogonal' function to updatePanels; it permits the reconfiguration and redrawing of the current mixer panels under user request. This may be useful when some hardware settings have been changed that ffado- mixer is unaware of but which can affect the options offered by the mixer. 04/02/12 05:21:03 jwoithe [2109] * trunk/libffado/support/mixer-qt4/ffado/panelmanager.py (modified) Patch from Philippe Carriere. This is just a simple re-writing of updatePanels, intended to have no effects on the behaviour of ffado- mixer. Sub-functions will be used in a future, additional, 'refresh currents' panels function. 04/01/12 16:10:12 jwoithe [2108] * trunk/libffado/configuration (modified) firestudio project: activate the generic DICE mixer since according to Walt Baldwin via the ffado-user mailing list, this works. Apparently it is a touch cryptic though, so an alternative mixer may be on the cards at some point. 04/01/12 07:03:55 jwoithe [2107] * trunk/libffado/src/devicemanager.cpp (modified) * trunk/libffado/src/libstreaming/StreamProcessorManager.cpp (modified) * trunk/libffado/src/libstreaming/StreamProcessorManager.h (modified) The firewire and FFADO architectures impose some lower limits on the number of buffers and buffer size. Test for these and raise an error if an attempt is made to violate these limits. If an error condition is detected print a message using printMessage() so the user has some hope of seeing it. debugFatal() isn't used because it will only print its message if debug was enabled at compile-time and a non-zero debug level is set. Addresses ticket #324. Thanks to 'paradox uncreated' for the initial bug report. 04/01/12 05:24:44 jwoithe [2106] * trunk/libffado/SConstruct (modified) If ffado is compiled on a machine without jack, permit compilation and default to the setbuffersize-compatible API version return when ENABLE_SETBUFFERSIZE_API_VER is set to auto (the default). Having jackd on the system should not be a prerequisite for compiling, but r2104 effectively made it so. Also note that the commit message for r2105 wrongly referred to r2104 as 2014. 03/31/12 05:10:58 jwoithe [2105] * trunk/libffado/SConstruct (modified) Correct/clarify messages related to r2014. Add a suggestion to upgrade jack in the case where r2014's 'auto' setting detects an older jack version. 03/31/12 04:35:39 jwoithe [2104] * trunk/libffado/SConstruct (modified) Allow the FFADO API reported at runtime to be downgraded to the pre- setbuffersize version (8). This will permit newer FFADO snapshots to be run on a system with a jack which predates the setbuffersize API version (9). The resulting FFADO will continue to work if jack is subsequently upgraded, but dynamic setbuffersize support will require FFADO be recompiled. 03/31/12 02:46:33 jwoithe [2103] * trunk/libffado/src/dice/dice_eap.cpp (modified) typecast size_t printf() parameters to prevent format warnings and use an appropriate format specifier. The cast is to 'unsigned long long' because size_t is an unsigned type, and we need to allow for the possibility that size_t is 64-bit (as it will be on 64-bit systems) - even though in this context the value of the size_t object won't go anywhere near the maximum of an unsigned 32-bit integer. Thanks to Yves Grenier for pointing out the warnings. 03/30/12 04:32:03 jwoithe [2102] * trunk/libffado/src/libavc/audiosubunit/avc_function_block.cpp (modified) Remove some unused variables. They become unused in r2090. 03/30/12 04:20:10 jwoithe [2101] * trunk/libffado/tests/test-cycle-time.c (added) Take 2: this time make sure test-cycle-time.c has been added to version control. 03/30/12 04:18:06 jwoithe [2100] * trunk/libffado/tests/SConscript (modified) add test-cycle-time from Stefen Richter to tests/. This tests a host card for a firmware bug whereby the cycle timer can go backwards. If this happens, FFADO's streaming system gets upset. Fortunately there's a simple kernel workaround that can be applied if necessary. 03/30/12 03:33:40 jwoithe [2099] * trunk/libffado/configuration (modified) Add configuration file entries for the Presonus Firestudio Project, and the Presonus StudioLive 2442. Both entries come from Walt Baldwin - thanks! 03/29/12 13:29:32 adi [2098] * trunk/libffado/src/dice/dice_eap.cpp (modified) DICE-EAP avoid adding an empty destination Patch by Philippe Carriere. 03/29/12 13:29:22 adi [2097] * trunk/libffado/src/dice/focusrite/saffire_pro24.cpp (modified) * trunk/libffado/src/dice/focusrite/saffire_pro40.cpp (modified) DICE-EAP Undefine Mute destinations for Saffire Pro40 and 24 By Philippe Carriere: Mute destinations, while existing in the hardware are confusing and not user meaningful; then avoid to define them in the destinations. If some usefulness will be provided in the future, just uncommenting the corresponding line would be required. 03/29/12 13:29:11 adi [2096] * trunk/libffado/src/dice/dice_eap.cpp (modified) * trunk/libffado/src/dice/dice_eap.h (modified) DICE-EAP Mute rather than remove route when disabling a destination By Philippe Carriere: Really removing a route is not fully supported by all devices; then muting is preferable when one just want to set a different connection state (as part of a modification of one source for another one for a given destination). A getMuteId() function is introduced so as to be easily customized for specific devices, if necessary. 03/29/12 13:29:03 adi [2095] * trunk/libffado/src/dice/dice_eap.cpp (modified) * trunk/libffado/src/dice/dice_eap.h (modified) DICE-EAP Use vector of pair rather than map for router config By Philippe Carriere: router config (m_routes2) is the image of what is really written in the flash. The meaning of the router and peak space flash content is entirely manufacturer dependent. Then even the ordering followed by the destinations may be of importance so it must be a priori preserved. 03/29/12 13:28:55 adi [2094] * trunk/libffado/src/dice/dice_eap.cpp (modified) * trunk/libffado/src/dice/dice_eap.h (modified) * trunk/libffado/tests/test-dice-eap.cpp (modified) DICE-EAP Add (possibly) printing the full peak space with test-dice- eap By Philippe Carriere: Further information (peak space) for test purposes 03/29/12 13:28:46 adi [2093] * trunk/libffado/src/dice/dice_eap.cpp (modified) * trunk/libffado/src/dice/dice_eap.h (modified) * trunk/libffado/tests/test-dice-eap.cpp (modified) DICE-EAP add (possibly) printing the full router content with test- dice-eap By Philippe Carriere. Additional debug information. 03/29/12 13:28:37 adi [2092] * trunk/libffado/src/dice/dice_eap.cpp (modified) * trunk/libffado/src/dice/dice_eap.h (modified) DICE-EAP Corrects the number of router entries for clearing in EAP::RouterConfig::write By Philippe Carriere: EAP::RouterConfig::write assumes the router has 128 entries, something which is not part of the Dice EAP specifications. This number is replaced by the maximal number of entries as read in the rom; introduce the function getMaxNbRouterEntries() as a public function of EAP. Then use it in EAP::RouterConfig::write. 03/28/12 01:14:50 jwoithe [2091] * trunk/libffado/src/bebob/bebob_functionblock.cpp (modified) Enable the EnhancedMixer for all Bebob devices. From Orania in ticket #341. As for commit r2090, this has apparently only been tested with an Ozonic, so it would be good to confirm that there are no ill-effects for uses of other Bebob-based devices (Wagi doesn't expect regressions on other devices). Together with r2090, this commit closes ticket #341. 03/28/12 01:11:56 jwoithe [2090] * trunk/libffado/src/libavc/audiosubunit/avc_function_block.cpp (modified) Fixes to the AVC EnhancedMixer functional block which are needed for use with the M-Audio Ozonic. This patch has only been tested against an Ozonic, so it's probably wise for owners of other Bebob-based devices to test this to ensure there are no regressions. From Orania in ticket #341. 03/27/12 07:06:15 jwoithe [2089] * trunk/libffado/SConstruct (modified) * trunk/libffado/support/dbus/ffado-dbus-server.1 (added) * trunk/libffado/support/dbus/SConscript (modified) * trunk/libffado/support/firmware/ffado-bridgeco-downloader.1 (added) * trunk/libffado/support/firmware/ffado-dice-firmware.1 (added) * trunk/libffado/support/firmware/ffado-fireworks-downloader.1 (added) * trunk/libffado/support/firmware/SConscript (modified) * trunk/libffado/support/mixer-qt4/ffado-mixer.1 (added) * trunk/libffado/support/mixer-qt4/SConscript (modified) * trunk/libffado/support/tools/ffado-diag.1 (added) * trunk/libffado/support/tools/SConscript (modified) Provide manpages for commonly used FFADO programs. Closes #294. 03/23/12 04:29:32 jwoithe [2088] * trunk/libffado/src/dice/dice_firmware_loader.cpp (modified) * trunk/libffado/tests/test-dice-eap.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-scs.cpp (modified) * trunk/libffado/tests/test-shm.cpp (modified) * trunk/libffado/tests/test-streamdump.cpp (modified) More fixes for compilation under gcc 4.7. Patch supplied by "oget". Fixes reopened ticket #344. 03/19/12 15:50:49 jwoithe [2087] * trunk/libffado/libffado/ffado.h.in (moved) * trunk/libffado/libffado/SConscript (modified) define FFADO_API_VERSION publically so users of libffado can check the API version at compile time, making it easier to maintain a code base which can compile against older API versions if necessary. 03/18/12 16:12:21 jwoithe [2086] * trunk/libffado/configuration (modified) Add configuration entry for the TC Electronic Impact Twin. Patch provided by mzuther, ticket #349. 03/16/12 03:41:17 jwoithe [2085] * trunk/libffado/src/motu/motu_avdevice.cpp (modified) motu: another 828mk1 packet format correction. This one moves the SPDIF channels to the correct location. This change was meant to be made between r2083 and r2084 but somehow I managed to avoid checking it in. 03/14/12 22:27:12 jwoithe [2084] * trunk/libffado/src/motu/motu_avdevice.cpp (modified) motu: correction to packet size calculations in getEventSize() and initDirPortGroups(), primarily in connection with the 828mk1. 03/14/12 20:33:59 jwoithe [2083] * trunk/libffado/src/libstreaming/motu/MotuReceiveStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/motu/MotuReceiveStreamProcessor.h (modified) * trunk/libffado/src/motu/motu_avdevice.cpp (modified) motu: adjustments to 828mk1 packet layout. When parsing received packets make allowances for the lack of control events in the data stream. Compile-tested only. 03/13/12 02:17:31 jwoithe [2082] * trunk/libffado/src/motu/motu_avdevice.cpp (modified) motu: another small debug output for 828mk1 work 03/12/12 04:17:19 jwoithe [2081] * trunk/libffado/libffado/ffado.h (modified) export ffado_driver_bufsize() using weak linkage so-as to not break newer library clients (eg: jackd) when running on systems with an older libffado. 03/12/12 03:38:11 jwoithe [2080] * trunk/libffado/SConstruct (modified) bump API version to account for the new ffado_streaming_set_period_size() function added in r2078. 03/10/12 19:39:36 jwoithe [2079] * trunk/libffado/src/libstreaming/motu/MotuReceiveStreamProcessor.cpp (modified) motu: slight change to debug output to facilitate further investigations into the 828mk1 packet format. 03/10/12 06:03:53 jwoithe [2078] * trunk/libffado/libffado/ffado.h (modified) * trunk/libffado/src/devicemanager.cpp (modified) * trunk/libffado/src/devicemanager.h (modified) * trunk/libffado/src/ffado.cpp (modified) * trunk/libffado/src/libstreaming/generic/Port.cpp (modified) * trunk/libffado/src/libstreaming/generic/StreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/generic/StreamProcessor.h (modified) * trunk/libffado/src/libstreaming/StreamProcessorManager.cpp (modified) * trunk/libffado/src/libstreaming/StreamProcessorManager.h (modified) * trunk/libffado/src/libutil/TimestampedBuffer.cpp (modified) A first pass at infrastructure required to support jack's runtime setbufsize functionality. It has been tested with exactly one interface (RME Fireface-800) and it seems to work, but there's stacks which can go wrong so wider testing is encouraged. Note that to make use of this a revised firewire jack driver will be required. I'm going to talk to the jack guys about how to proceed with this (it's slightly tricky because the libffado API is changed by this patch to add a new function - ffado_streaming_set_period_size()). 03/09/12 00:14:17 jwoithe [2077] * trunk/libffado/src/libstreaming/rme/RmeTransmitStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/rme/RmeTransmitStreamProcessor.h (modified) * trunk/libffado/src/rme/rme_avdevice.cpp (modified) rme: the streaming system can now be restarted after being stopped without having to exit ffado first. This means that the RME interfaces are now tolerant of jackd coming out of freewheeling mode. It may also improve things in the face of bus resets. We'll see. 03/08/12 14:49:56 jwoithe [2076] * trunk/libffado/src/libieee1394/IsoHandlerManager.cpp (modified) isohandlermanager: whitespace cleanup around changes from r2074 and add an explanatory comment. As per the comments, the change prevents getPacket() being called prior to the housekeeping data being properly reset. When these were only reset at the end of the enable() method this was observed. This change may make restarts more reliable on certain devices, which occurs (for example) when jackd is switched out of freewheeling mode. 03/08/12 10:22:58 adi [2075] * trunk/libffado/src/dice/dice_eap.cpp (modified) DICE EAP Corrects destination name in EAP::Mixer::getColname Add a missing string append Insert a \n in concatenation for better appearance in ffado-mixer 03/08/12 05:27:34 jwoithe [2074] * trunk/libffado/src/devicemanager.cpp (modified) * trunk/libffado/src/ffadodevice.h (modified) * trunk/libffado/src/libieee1394/IsoHandlerManager.cpp (modified) * trunk/libffado/src/libstreaming/rme/RmeTransmitStreamProcessor.cpp (modified) * trunk/libffado/src/libstreaming/rme/RmeTransmitStreamProcessor.h (modified) * trunk/libffado/src/rme/rme_avdevice.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.h (modified) Maybe improve streaming restart reliability by ensuring IsoHandler fields are reset during enable. Move RME run/dryrun flags into transmit streaming object so they can be reset. Add new device method resetForStreaming() which is called just before streaming is started; devices can use this to initialise streaming related details. RME uses new resetForStreaming() method to ensure the run/dryrun transmit stream flags are set up correctly. Despite these changes, attempts to make the RME driver restart after jack freewheels have been unsuccessful so far. 03/06/12 06:08:10 adi [2073] * trunk/libffado/support/firmware/dice-firmware-utility.cpp (moved) * trunk/libffado/support/firmware/SConscript (modified) * trunk/libffado/tests/SConscript (modified) DICE: Move firmware utility to support/firmware 03/06/12 03:28:17 adi [2072] * trunk/libffado/src/dice/dice_avdevice.cpp (modified) * trunk/libffado/src/dice/dice_avdevice.h (modified) DICE: drop superfluous read/writeRegFL functions This shouts code duplication, everything can be done with the existing functions. 03/06/12 03:28:09 adi [2071] * trunk/libffado/src/dice/dice_firmware_loader.cpp (modified) DICE: Drop global constant "offset" in firmware utility Instead of a global variable, use the pre-processor replacement. 03/06/12 03:28:00 adi [2070] * trunk/libffado/src/dice/dice_firmware_loader.cpp (modified) DICE: Replace read/writeFL functions with generic functions To reduce code duplication, use generic register access functions with the appropriate offset. 03/06/12 03:27:52 adi [2069] * trunk/libffado/src/dice/dice_firmware_loader.h (modified) DICE: Introduce DICE_FL_OFFSET This is supposed to be used in conjunction with readReg, writeReg and the corresponding block functions. They all use DICE_REGISTER_BASE as a constant offset, to which we have to add an offset when talking to the firmware interface. If you feel a minus is more readable than xor, feel free to change the definition. 03/06/12 03:27:42 adi [2068] * trunk/libffado/src/dice/dice_avdevice.cpp (modified) * trunk/libffado/src/dice/dice_avdevice.h (modified) * trunk/libffado/src/dice/dice_firmware_loader.cpp (added) * trunk/libffado/src/dice/dice_firmware_loader.h (added) * trunk/libffado/src/SConscript (modified) * trunk/libffado/tests/dice-firmware-utility.cpp (added) * trunk/libffado/tests/SConscript (modified) DICE: add DICE firmware utility Peter Hinkel has contributed a DICE firmware utility. I'll add it as is, any modifications will come later. 03/05/12 05:17:12 jwoithe [2067] * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.ui (modified) rme: try to get the control mixer pane to look a bit better by putting a vertical spacer under the last frame. It's an improvement, but the new vertical spacer doesn't seem to have enough priority to push all the higher frames towards their minimum size. More experimentation will be needed. 03/05/12 04:53:49 jwoithe [2066] * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) rme: request smaller fonts in input, playback and output matrix mixer widgets. 03/05/12 04:51:56 jwoithe [2065] * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) matrixmixer: provide an option to use smaller fonts for column/row names and fader values, which is useful for devices with large matrix mixers. 03/05/12 04:07:18 jwoithe [2064] * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) matrixmixer: only label rows/columns if there is more than one row/column; a single row/column label is pointless. 03/05/12 04:01:51 jwoithe [2063] * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) rme: don't make the output matrix mixer take up the full vertical extent of the window - that just looks silly. The solution's a bit of a hack, but I can't see any other way which works at present. Note too that the fix in r2062 works - sending works to all channels now. 03/04/12 17:20:37 jwoithe [2062] * trunk/libffado/src/rme/rme_avdevice.cpp (modified) rme: fix misconfiguration of packet layout data caused by offsets which didn't adapt as the number of inputs changed (the fixed offsets were applicable to the FF400 only). Not compile-tested yet. 03/03/12 20:48:56 jwoithe [2061] * trunk/libffado/src/rme/rme_avdevice.cpp (modified) rme: fixes to FF800 streaming initialisation code. Streaming starts now and playback to channels 1-6 has been verified but higher channels do not get output at present - probably due to a silly error in my part within the encoder. 03/03/12 08:15:13 adi [2060] * trunk/libffado/src/dice/dice_avdevice.cpp (modified) DICE: Fix typo in debug message. 03/03/12 08:15:04 adi [2059] * trunk/libffado/src/dice/dice_avdevice.cpp (modified) DICE: Use nicknames instead of GUID Change all channel names to use a device's nickname. Historically, we've used the GUID to distinguish different devices on the bus. In case of colliding nicknames, we'd fail to register the jack port, so owners of multiple devices have to make sure to use different nicknames. Patch by Philippe Carriere 03/03/12 08:14:55 adi [2058] * trunk/libffado/src/dice/focusrite/saffire_pro40.cpp (modified) DICE-EAP: [pro40] Use same source/dest names as the manufacturer Modify Sources/Destinations names to match the manufacturer names on Pro40. Start numbering at 1 instead of 0 as used in ffado-mixer. Patch by Philippe Carriere 03/03/12 08:14:46 adi [2057] * trunk/libffado/src/dice/dice_avdevice.cpp (modified) * trunk/libffado/src/dice/dice_avdevice.h (modified) * trunk/libffado/src/dice/dice_eap.cpp (modified) * trunk/libffado/src/dice/dice_eap.h (modified) DICE-EAP: Get Capture/Playback names when EAP router is present. When a router is available, Capture/Playback, i.e. inputs/outputs for jack, are related to the corresponding entries in the router table. When no router is available (no initialized router or no initialized EAP) Capture/Playback are receivers/transmitters respectively. Patch by Philippe Carriere 03/03/12 07:39:47 adi [2056] * trunk/libffado/src/dice/dice_eap.cpp (modified) * trunk/libffado/src/dice/dice_eap.h (modified) DICE EAP Implements EAP::Mixer::getRowName and EAP::getColName 03/03/12 07:39:36 adi [2055] * trunk/libffado/src/dice/focusrite/saffire_pro40.cpp (modified) DICE EAP Saffire Pro 40 corrects ieee1394 routing sources (12 receiver 0, 8 receiver 1) for Pro40 03/03/12 07:15:53 jwoithe [2054] * trunk/libffado/src/rme/fireface_def.h (modified) * trunk/libffado/src/rme/fireface_hw.cpp (modified) * trunk/libffado/src/rme/fireface_settings_ctrls.cpp (modified) * trunk/libffado/src/rme/fireface_settings_ctrls.h (modified) * trunk/libffado/src/rme/rme_avdevice.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.h (modified) * trunk/libffado/src/rme/rme_avdevice_settings.cpp (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.ui (modified) rme: implement new ffado-mixer features needed for the FF800 - all FF800 controls should now be functional (with the same caveats as for the FF400). Fixed various bugs in ffado-mixer's FF800 code. Hopefully this doesn't break anything on the FF400. 03/01/12 03:04:13 jwoithe [2053] * trunk/libffado/support/tools/helpstrings.py (modified) ffado-diag: reword the comment displayed if the new firewire kernel stack is loaded; since kernels these days only have the new stack it's a little pointless suggesting people try the old one. Besides, using the new stack isn't really experimental anymore. 02/28/12 04:58:17 adi [2052] * trunk/libffado/src/dice/focusrite/saffire_pro40.cpp (modified) DICE: speed-dependent EAP routing for Saffire Pro40 Patch by Philippe Carriere 02/28/12 04:58:08 adi [2051] * trunk/libffado/src/dice/focusrite/saffire_pro24.cpp (modified) DICE: speed-dependent EAP functions for Saffire Pro24 Patch by Philippe Carriere 02/28/12 04:57:59 adi [2050] * trunk/libffado/src/dice/focusrite/saffire_pro24.h (modified) * trunk/libffado/src/dice/focusrite/saffire_pro40.h (modified) DICE: speed-dependent EAP routing prototypes for Saffire Pro40/24 Patch by Philippe Carriere 02/28/12 04:57:45 adi [2049] * trunk/libffado/src/dice/dice_eap.cpp (modified) * trunk/libffado/src/dice/dice_eap.h (modified) DICE: generic speed-dependent EAP routing prototypes Patch by Philippe Carriere Routing depends on the sample rate, so Philippe has introduced three different setup functions for single/double/quad speed. 02/28/12 04:57:36 adi [2048] * trunk/libffado/src/dice/dice_avdevice.cpp (modified) DICE: Initiliaze I/O functions and EAP Patch by Philippe Carriere 02/28/12 04:57:27 adi [2047] * trunk/libffado/src/dice/dice_avdevice.cpp (modified) DICE: Always print sample rate Patch by Philippe Carriere 02/28/12 04:57:17 adi [2046] * trunk/libffado/src/dice/dice_avdevice.cpp (modified) DICE: Fix shown number of receivers This patch doesn't change functionality. 02/27/12 04:40:34 jwoithe [2045] * trunk/libffado/src/rme/rme_avdevice_settings.cpp (modified) rme: signal an error if a FF400 is instructed to limit bandwidth by omitting the second ADAT interface (only FF800s have a second ADAT port, so dropping the second ADAT port makes no sense on a FF400). 02/27/12 04:34:27 jwoithe [2044] * trunk/libffado/src/rme/fireface_settings_ctrls.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.h (modified) * trunk/libffado/src/rme/rme_avdevice_settings.cpp (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) rme: make the bandwidth limit control do something. This is yet to be extensively tested. This change means that all the FF400 mixer controls are now implemented, although some are yet to be tested and verified as working. 02/27/12 03:49:40 jwoithe [2043] * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) rme: remove unnecessary import in rme mixer 02/27/12 03:47:01 jwoithe [2042] * trunk/libffado/src/rme/rme_avdevice.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.h (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.ui (modified) rme: implement getStreamingState() so the generic mixer streaming state widgets work. Monitor the streaming state within the mixer; disable selected controls when streaming is active (presently only the non-functional bandwidth limit control). 02/27/12 03:14:08 jwoithe [2041] * trunk/libffado/README (modified) README: move RME devices to the new 'work in progress' classification, since they aren't really 'unsupported' anymore. 02/13/12 03:58:09 jwoithe [2040] * trunk/libffado/src/rme/fireface_settings_ctrls.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.h (modified) * trunk/libffado/src/rme/rme_avdevice_settings.cpp (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.ui (modified) rme: added TCO option to the preferred sync ref control set (it's disabled for the ff400 since the TCO can't be fitted to this interface - it's ff800 only). The preferred sync ref control in ffado-mixer is now active. As for the other sync controls it is yet to be tested with real sync sources connected to the ff400. This completes the first pass of the device controls for the ff400 within ffado-mixer. 02/07/12 04:23:56 jwoithe [2039] * trunk/libffado/src/rme/fireface_settings_ctrls.cpp (modified) rme: for completeness, include the sysclock mode control type in the write case; it was overlooked earlier. 02/07/12 04:11:19 jwoithe [2038] * 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/support/mixer-qt4/ffado/mixer/rme.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.ui (modified) rme: various information panes are now active in ffado-mixer: sync check, autosync reference, spdif freqency and system clock. The function of these in the presence of actual external sync sources is yet to be confirmed. The system clock information has been confirmed to update when the clock mode and/or sample rate controls are altered. 02/05/12 03:47:14 jwoithe [2037] * trunk/libffado/src/rme/fireface_settings_ctrls.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.h (modified) * trunk/libffado/src/rme/rme_avdevice_settings.cpp (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.ui (modified) rme: make clock mode control active. Note that this isn't overly useful without the other clock-related controls and indicators being active. They will follow soon. 02/03/12 22:09:33 jwoithe [2036] * trunk/libffado/AUTHORS (modified) Adjust my email address 02/03/12 04:03:09 jwoithe [2035] * trunk/libffado/src/rme/rme_avdevice.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.h (modified) rme: clock source selection and management on the RME devices is a bit trickier than a simple list implies. Down the track it might be possible to use the standard clock source list functionality in some way, but for now fake it out with a dummy clock source to prevent warnings about no clock sources being active (and so on). 02/03/12 03:20:28 jwoithe [2034] * trunk/libffado/src/rme/fireface_settings_ctrls.cpp (modified) rme: a return value of 0 from set*() indicates no error, so fix those locations where it was assumed a zero denoted an error. This is really only to prevent confusion later on: at present none of the affected controls rely on m_value being set. 02/03/12 03:15:10 jwoithe [2033] * trunk/libffado/src/rme/fireface_settings_ctrls.cpp (modified) * trunk/libffado/src/rme/fireface_settings_ctrls.h (modified) * trunk/libffado/src/rme/rme_avdevice.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.h (modified) * trunk/libffado/src/rme/rme_avdevice_settings.cpp (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.ui (modified) rme: implement SPDIF output option control via ffado-mixer. Again, I haven't the means to confirm whether these settings have the desired effect on the SPDIF bitstream yet. 02/03/12 02:35:02 jwoithe [2032] * trunk/libffado/src/rme/fireface_settings_ctrls.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.h (modified) * trunk/libffado/src/rme/rme_avdevice_settings.cpp (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.ui (modified) rme: implement SPDIF input mode selection via ffado-mixer. Whether this has the desired effect on the device remains to be seen - I do not have anything to test the mode of the optical port right now. 02/02/12 04:36:30 jwoithe [2031] * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) matrixmixer: don't allow column headers to expand beyond the size required to fit the text. Otherwise the vertical size of the column headers can be very large in the case where a matrix has only a few rows. 02/02/12 04:19:11 jwoithe [2030] * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) matrixmixer: comment out debug output 02/02/12 04:18:37 jwoithe [2029] * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) matrixmixer: include graphical indicators for mute and invert status. Muted faders are displayed with a dark gray background, while inverted channels have a phi (the universally recognised phase symbol) in the top left corner. 02/02/12 03:33:52 jwoithe [2028] * trunk/libffado/src/rme/fireface_hw.cpp (modified) * trunk/libffado/src/rme/rme_avdevice_settings.cpp (modified) rme: remove mixer debug output which is no longer required 02/02/12 02:38:03 jwoithe [2027] * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) rme: add mute/invert controls to playback mixer faders, and mute controls to the output faders 02/02/12 02:23:55 jwoithe [2026] * trunk/libffado/README (modified) Minor updates to MOTU references in README. The official spelling of Traveler uses the US convention (ie: one l). Remove references to the qt3 mixer since that's no longer in trunk. 02/01/12 13:18:59 adi [2025] * trunk/libffado/README (modified) Update requirements in README Patch provided by Stefan Richter. He writes: While libraw1394 v1.3.0 is indeed the minimum build requirement, and v2.0.5 the minimum runtime requirement in absence of the raw1394 kernel driver of kernel 2.6.36 and older, the only realistic requirement today is libraw1394 v2.0.7. The older versions lack bug fixes that are important for use with FFADO. Not sure whether the current libiec61883 v1.2.0 contains anything relevant to FFADO, compared to v1.1.0. 02/01/12 09:24:55 adi [2024] * trunk/libffado/support/tools/ffado-diag.in (modified) ffado-diag: check the juju device IDs and group membership 02/01/12 09:24:44 adi [2023] * trunk/libffado/support/tools/ffado_diag_helpers.py (modified) ffado-diag: helper functions for juju device permissions and group membership 02/01/12 09:24:32 adi [2022] * trunk/libffado/support/tools/ffado_diag_helpers.py (modified) ffado-diag: [cosmetics] remove code duplication 01/30/12 05:02:09 jwoithe [2021] * trunk/libffado/src/rme/fireface_hw.cpp (modified) * trunk/libffado/src/rme/rme_avdevice.cpp (modified) * trunk/libffado/src/rme/rme_avdevice_settings.cpp (modified) * trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) * trunk/libffado/support/mixer-qt4/ffado/widgets/matrixmixer.py (modified) matrixmixer: complete initial implementation of optional mute functionality. A graphical indication of mute state (beyond the toggled menu item) is still needed. matrixmixer: implement optional phase inversion interface. Again, a graphical indication of this state is still required. rme: make use of the mute/invert functionality of the matrix mixer. Currently this is only connected for the input faders. 01/19/12 10:09:35 adi [2020] * trunk/libffado/.gitignore (deleted) Remove .gitignore. This file is only necessary in the git repository.