Hi Philippe,

this is what I've got so far:


48 kHz should be ok, I'm not sure about the higher rates. I'm also not sure about the mixer outputs - I'll check them later.

I've created also http://subversion.ffado.org/wiki/Maudio

Question: is 192 kHz supported at all? A comment in the code suggests that it is not (I've not tested it yet).

Do you want me to store test-dice-eap outputs somewhere?


On Tue, Nov 20, 2012 at 8:23 PM, Philippe Carriere <la-page-web-of-phil.contact@orange.fr> wrote:
Le mardi 20 novembre 2012 à 14:27 +0100, Jano Svitok a écrit :
Hi all,

Hi Jano,

I'm owner of Maudio profire 2626. I'm thinking about adding proper
mixer GUI for this card. 
Nice idea. I planned to extend the work I have yet done for Focusrite devices and Presonus Firestudio Tube but help is welcome (since I whatever have no such devices for testing) !

Before I dive deep in the sources, can you
give me any hints how should I proceed?
First have a look to changes revision 2251 and 2252 of the trunk (involving Firestudio Tube).
You will create a "maudio" sub-directory in libffado/src/dice, then create a cpp and a header file for customization.
You will have to follow the lines of the two yet existing files for firestudio, for instance.

Is there any howto?
So after the preliminaries, you will have to find by yourself the correct configuration of the routing, that is essentially find the registers corresponding to each source and each destination.

For this, you will use the information given in the output (redirect this to file) of:

$ test-dice-eap -c1 -a --port=fw1

and more particularly to the "showFullRouter output". All destinations will be listed with their routed sources like

1348247999745837:  (dice_eap.cpp)[ 843] showFullRouter:  128 entries to read
1348247999747426:  (dice_eap.cpp)[ 854] showFullRouter:   Current Configuration:
1348247999748913:  (dice_eap.cpp)[ 861] showFullRouter:    60 routes
1348247999751026:  (dice_eap.cpp)[ 872] showFullRouter:     0: 0xb0 <- 0x50;
1348247999751129:  (dice_eap.cpp)[ 872] showFullRouter:     1: 0xb1 <- 0x51;
1348247999751200:  (dice_eap.cpp)[ 872] showFullRouter:     2: 0xb2 <- 0x52;
1348247999751240:  (dice_eap.cpp)[ 872] showFullRouter:     3: 0xb3 <- 0x53;
1348247999751291:  (dice_eap.cpp)[ 872] showFullRouter:     4: 0xb4 <- 0x54;

Not all sources are necessarily listed, so it would be better first to set up your device under Windows or Mac, routing all the "DAW" sources to some destinations so as to be able to detect them in the output (either you would have to do this several times).
What is routed is not important but by the way you will be able to detect how are configured all destinations and all sources.
Care that this is not necessarily straightforward. Also, it might depend on the samplerate (you will see "low", "mid" and "high" configuration, and just have a look to Pro 24 or 40 to see that differences may exist).

 Any DICE/EAP documentation?

I have seen that I have to write python class 
You will first use the generic EAP mixer, so you don't need to change anything in the python support at first.
When the customization will work, well, that depends. I am far from fond of the matrix mixer as it stands.
On the other hand, it is useful so as to have a general look at a glance, so that it must be kept as it is presently.
What would be nice would be the possibility to switch, inside the mixer, from the existing global view to a more per output view with a more friendly interface (and vice versa).

for the card, and I
suppose also Dice EAP subclass in C++.


You can join me for any additional questions, when you will have had a first look to this.

Good cheers,


Philippe Carriere <la-page-web-of-phil.contact@orange.fr>