Some nits on the CLI: On Mon, 2009-11-16 at 16:54 -0800, Garrett D'Amore wrote: > audioctl list-devices > > audioctl show-device [-v] [-d device ] > > audioctl show-control [-v] [-d device] [control ...]
I find it odd that the object specifier for show-device requires an option, but that show-control does not. It seems that all of the subcommands operate on a device, so it would be natural to simply specify that device as the final (perhaps optional) argument to each subcommand (without a -d), and require options for everything else. For example: audioctl list-devices audioctl show-device [-v] [device ] audioctl show-control [-v] [-c control[,...]] [device] audioctl set-control [-v] -c control=value[,...] device audioctl save-controls -f file [device] audioctl load-controls -f file [device] The use of plural objects in subcommands is odd to me as well, but that's not a big deal. > audioctl set-control [-v] [-d device] control value > What would a -v option print in a set operation? Also, the syntax proposed seems awkward. Why not use something more common such as is parsed by getsubopt() like (for example): -c <name>=<value>[,<name>=<value>...] Is the device really optional here? -Seb