05-27-2021, 10:25 PM
Point 1) Is probably a quick task (copy of a few files).
Point 3) Is a little bit of test/trials and errors but does not requires very special competencies ... except beeing the owner of a Cirrus card to make the tests, of course. Exactly something I could do if I know how/where to tweak the settings that Moode send to MPD.
Points 2) and 4) are somewhat linked, as a specific interface must be developped in the GUI to configure inputs and outputs.
This is where the major work is I suppose but, if designed correctly, it can be reused for all the cards with multiple inputs and/or outputs.
If the GUI part is made generic, the card specific settings could be specified into individual "scripts library" files wearing the same name as the overlay file for any given card.
That way, in the moode DB file, the table with the different I2S cards just needs 2 additional numeric fields : "number of outputs" and "number of inputs" ; if value is "0" (for inputs) or "1", the GUI page for selection is disabled, if the value is superior then the selector page is enabled and the names of the inputs/outputs can be found at the beginning of the "script library" files.
By using those separate "scripts library", anyone with such a card could write and test the scripts for his own type of card - based on a skeleton file - and easily contribute back when the scripts are working well.
Another complex part is probably the link with MPD settings if each output has a separate hardware volume mixer name, but if a framework is given, it could maybe be treated like point 3 ?
... Well , this is just a quick and dirty analysis.
And yes there are probably dozens of other todo's and nice feature requests already waiting. (DAB+ radio with integration of Welle.io would be top for example !
)
Point 5) : No idea about the quantity of work involved into this point, but I suppose it is not massive once other points have been fixed.
Now, there is maybe a "not so nice" but probably easier way to use cards with multiple outputs : to configure multiple entries for the same card into the "I2S cards" table of the DB, with differents settings depending on the output enabled ; so for the Cirrus/Wolfson card, it would mean 4 different DB entries (for SPDIF, Line Out, Headphones and Speakers), each with specific settings for the MPD mixer and, possibly, calling an (existing) specific setup script to activate the right output (only needed once).
A little bit dirty, but this would not require any change in the GUI part nor any heavy developement I suppose.
That said, I'm listening to some nice Jazz Streaming Radio via Moode and the Cirrus card for more than an hour now ... it is already a pleasure !
Point 3) Is a little bit of test/trials and errors but does not requires very special competencies ... except beeing the owner of a Cirrus card to make the tests, of course. Exactly something I could do if I know how/where to tweak the settings that Moode send to MPD.
Points 2) and 4) are somewhat linked, as a specific interface must be developped in the GUI to configure inputs and outputs.
This is where the major work is I suppose but, if designed correctly, it can be reused for all the cards with multiple inputs and/or outputs.
If the GUI part is made generic, the card specific settings could be specified into individual "scripts library" files wearing the same name as the overlay file for any given card.
That way, in the moode DB file, the table with the different I2S cards just needs 2 additional numeric fields : "number of outputs" and "number of inputs" ; if value is "0" (for inputs) or "1", the GUI page for selection is disabled, if the value is superior then the selector page is enabled and the names of the inputs/outputs can be found at the beginning of the "script library" files.
By using those separate "scripts library", anyone with such a card could write and test the scripts for his own type of card - based on a skeleton file - and easily contribute back when the scripts are working well.
Another complex part is probably the link with MPD settings if each output has a separate hardware volume mixer name, but if a framework is given, it could maybe be treated like point 3 ?
... Well , this is just a quick and dirty analysis.
And yes there are probably dozens of other todo's and nice feature requests already waiting. (DAB+ radio with integration of Welle.io would be top for example !
![Tongue Tongue](https://moodeaudio.org/forum/images/smilies/tongue.png)
Point 5) : No idea about the quantity of work involved into this point, but I suppose it is not massive once other points have been fixed.
Now, there is maybe a "not so nice" but probably easier way to use cards with multiple outputs : to configure multiple entries for the same card into the "I2S cards" table of the DB, with differents settings depending on the output enabled ; so for the Cirrus/Wolfson card, it would mean 4 different DB entries (for SPDIF, Line Out, Headphones and Speakers), each with specific settings for the MPD mixer and, possibly, calling an (existing) specific setup script to activate the right output (only needed once).
A little bit dirty, but this would not require any change in the GUI part nor any heavy developement I suppose.
That said, I'm listening to some nice Jazz Streaming Radio via Moode and the Cirrus card for more than an hour now ... it is already a pleasure !