|
From: Jonathan W. <jw...@ju...> - 2016-05-23 23:21:21
|
On Mon, May 23, 2016 at 11:30:13PM +0900, it was written: > On May 23 2016 03:00, Marco Brignoli wrote: > > Yes, I have read the mails you have written in the past concerning the > > issues with FunctionBlockEnhancedMixer, etc and I' m aware there is some > > enhancement potential available in the ffadolib... > : > The function block requires at least four arguments. In detail, see > clause 10.4 of the specification[1]. On the other hand, FFADO's D-Bus > interface for the function block is for Control::Continuous. This type > of interface can get maximum 2 argumetns[2]. > > According to this restriction (maybe based on misunderstanding of the > specification), FFADO M-Audio driver uses an ugly hack, to multiplex > several arguments into an argument[3]. > > Changing the type of interface causes backward compatibility issue ... Ffado-mixer and libffado are packaged together and ffado-mixer is the only known program to make use of the dbus interface under discussion. If the dbus interface was enhanced to allow additional arguments ffado-mixer could be adjusted in parallel. Backwards compatibility is therefore not a major issue IMHO. Even if it was, if such an enhancement was proposed it could be dealt with by an increment of the library major version number corresponding to what is effectively an API change. Having said that, it can be argued that the mixer/control design should migrate away from the dbus/ffado-dbus-server approach and have ffado-mixer itself handle the relatively simple traffic scheme to/from the device. That is of course a discussion for another day. Regards jonathan |