[Fireworks] modify function for switching digital interface (server side
only)

Patch by Takashi Sakamoto. Here's his mail:

Hi,

This series of patch is for the function to switch digital interface.
AudioFire8A and AudioFirePre8 supports this function.

The current implementation of FFADO for this function is not good in two
points.
1. wrong flag name
2. lack of control

1. According to Echo's owners manual version 2.2, all of models based on
Fireworks have coaxial digital interface. But In
/src/fireworks/efc/efc_cmd.h, there is a flag named as
'EFC_CMD_HW_SPDIF_COAX_SUPPORTED'. This should be indicate 'optical',
not 'coaxial'.

Additionally, I know the actual value of flag for four devices below:
AF2: 0xA1
AF4: 0xE1
AFPre8: 0x625
AF12: 0x11
(special thanks to Doug McLain!)

Only AFPre8 set this flag as 1. So this flag means 'the device has
optical digital interface'.

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2389 2be59082-3212-0410-8809-b0798e1608f0
[Fireworks] Add script to switch digital interface

Script by Takashi Sakamoto.

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2390 2be59082-3212-0410-8809-b0798e1608f0
audiofire: correct reporting of sample rate for device firmware 5.8.  Patch (and the notes below) are from Takashi Sakamoto.

This is a patch for an issue which is not reported. I confirmed this issue with AudioFirePre8 and AudioFire4.

With firmware version 5.8, FFADO mixer fails to set sampling rate and clock source. This is related to the behaviour against EfcGetClock command just after EfcSetClock command.

With previous firmware version, the device can return the actual value with EfcGetClock command just after EfcSetClock. But with this version, there needs to be approximately 100msec. During this period, EfcGetClock return the PREVIOUS state of both of sampling rate and clock source.

This patch adds sleep during 150msec after deserializing response of EfcSetClock.



git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2391 2be59082-3212-0410-8809-b0798e1608f0
fireworks: add playback routing function, patch 1/4: add EFC ISOCMAP ioconfig commands.  From Takashi Sakamoto.

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2392 2be59082-3212-0410-8809-b0798e1608f0
fireworks: add playback routing function, patch 2/4: add playback routing control interface.  From Takashi Sakamoto.

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2393 2be59082-3212-0410-8809-b0798e1608f0
fireworks: add playback routing function, patch 3/4: add playback routing mixer elements in driver.  From Takashi Sakamoto.

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2394 2be59082-3212-0410-8809-b0798e1608f0
fireworks: add playback routing function, patch 4/4: add script to assist in testing the routing functionality.  From Takashi Sakamoto.

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2395 2be59082-3212-0410-8809-b0798e1608f0
MatrixMixer: introduce MatrixControlView() as a specific entity called by MatrixMixer(): first step for next introducing transpose of matrix view, it will allows an autonomous use in future. No real change of functionnality expected at that time, except no change of In or Out name when a line or column of the matrix is hidden.

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2396 2be59082-3212-0410-8809-b0798e1608f0
MatrixMixer: introduce SliderControlView() as a specific entity called by MatrixMixer(): second step for next introducing transpose of matrix view, it will allows an autonomous use in future. No real change of functionnality expected at that time.

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2397 2be59082-3212-0410-8809-b0798e1608f0
MatrixMixer: introduce the ability of transposing the matrix view.

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2398 2be59082-3212-0410-8809-b0798e1608f0
MatrixMixer/DICE EAP: adapt the look of ffado mixer.

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2399 2be59082-3212-0410-8809-b0798e1608f0
MatrixMixer: Set a minimal width for slider info widget width. Font size changing has been simplified since change in parent widget is intended to be propagated to child widgets. Tested with PyQt 4.10.1; possibly not working fine for older versions.

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2400 2be59082-3212-0410-8809-b0798e1608f0
MatrixMixer: introduce a hack to avoid the unfair behaviour of the first action button of the toolbar.

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2401 2be59082-3212-0410-8809-b0798e1608f0
matrixmixer: fix reference to 'interface' in refreshValues().

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2402 2be59082-3212-0410-8809-b0798e1608f0
matrixmixer: remove unnecessary setting of per-output controls since the changes in matrix view propagate automatically as needed (thanks to Philippe Carriere for the suggestion).  Ensure the correct matrix cells are set when the matrix is transposed.

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2403 2be59082-3212-0410-8809-b0798e1608f0
Yamaha GO4x: add device specific mixer GUIs for the GO44 and GO46.  Patch by Takashi Sakamoto.  While these devices are similar to the Phase24 their internal structures are different, necessitating a specific mixer GUI module.

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2404 2be59082-3212-0410-8809-b0798e1608f0
Yamaha GO4x: utilise the new mixer GUI added in r2404 for the GO44 and GO46 interfaces.  Patch by Takashi Sakamoto.

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2405 2be59082-3212-0410-8809-b0798e1608f0
rme: provide a proper fix in place of the temporary workaround committed in r2384.  This should restore correct handling of internal and external clocks while avoiding the issues that r2384 circumvented.  In addition, the debug report of the sample rate on start has been moved to resetForStreaming() since this is where 'stat' is being set as of r2077.  Since r2077 the 'rate on start' debug report has been based on an uninitialised variable (note that this issue only affected debug output: the content of 'stat' was not used for anything else within prepare() after r2077).

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2406 2be59082-3212-0410-8809-b0798e1608f0
dbus-util: add optional index to the discrete control set/get methods.  This will be used by a subsequent patch (r2408) to indicate the output channel for fireworks playback routing.  For all existing users this modification should not cause any behavioural changes.  Patch from Takashi Sakamoto.

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2407 2be59082-3212-0410-8809-b0798e1608f0
fireworks: add a GUI interface for control of playback routing and configuration of the digital audio interface (SPDIF).  The control code used by this was added in r2392-r2395 and r2389 respectively.  Collectively these patches are expected to permit the closure of ticket #335.  Patch from Takashi Sakamoto.

git-svn-id: http://subversion.ffado.org/ffado/trunk/libffado@2408 2be59082-3212-0410-8809-b0798e1608f0