i've been working on an an audio driver for the kirkwood for a while now,
indeed it's been working well for a while now. at this point i'm mostly
struggling to figure out the mixer/controls/codec filesystem interface.
if any of this is incorrect, please correct me.
the soundblaster driver has audio for data and volume for control:
name [in l r] [out l r]
usb/audio has audio and audioin for data and audioctl for control:
name (in|out) val min [max [res]]
with writes looking like volume
as yet, i have audio and audioin with audioctl and audioinctl:
name min max( val)+
mostly this just feels better to me. it has both single and multiple
values, it can handle cards with more than one channel in or out (not
that i'm working with one), and it's simple. but it doesn't indicate
card-wide controls (i have a few), and it's yet another incompatable
do any of you folks have opinions on these interfaces? i would like to
use a simple and extendible interface for the kirkwood driver, and am
willing to convert the soundblaster and usb drivers and sound programs
(though i don't have the hardware to test).
All original matter is hereby placed immediately under the public domain.
Changing a device's file format in a backwards-incompatible way
is not something to be done lightly. In addition to changing all
drivers you'd have to change every user program that reads from
or writes to them, even ones that you don't know exist.