soundcards, under ALSA.
.SH SYNOPSIS
-\fBenvy24control\fP [\fI-D\fP control-name]
+\fBenvy24control\fP [\fI-c\fP card-number] [\fI-D\fP control-name]
.SH DESCRIPTION
\fBenvy24control\fP allows control of the digital mixer, channel gains
.SH INVOKING
-\fBenvy24control\fP [\fI-D\fP control-name]
+\fBenvy24control\fP [\fI-c\fP card-number] [\fI-D\fP control-name]
.TP
If no control-name is given, then the first sound card is used.
.SS Options
.TP
+\fI-c\fP card-number
+Use the card specified by card-number rather than the first card.
+This is equivalent with \fI-Dhw:n\fP option where \fIn\fP is the card number.
+.TP
\fI-D\fP control-name
Use the card specified by control-name rather than the first card,
normally this will be of the form hw:\fIn\fP where \fIn\fP is the sound
static void usage(void)
{
- fprintf(stderr, "usage: envy24control [-D control-name]\n");
+ fprintf(stderr, "usage: envy24control [-c card#] [-D control-name]\n");
}
int main(int argc, char **argv)
{
GtkWidget *notebook;
- char *name, title[128];
+ char *name, tmpname[8], title[128];
int i, c, err;
snd_ctl_card_info_t *hw_info;
snd_ctl_elem_value_t *val;
int page;
static struct option long_options[] = {
{"device", 1, 0, 'D'},
+ {"card", 1, 0, 'c'},
};
snd_ctl_card_info_alloca(&hw_info);
gtk_init(&argc, &argv);
name = "hw:0";
- while ((c = getopt_long(argc, argv, "D:", long_options, NULL)) != -1) {
+ while ((c = getopt_long(argc, argv, "D:c:", long_options, NULL)) != -1) {
switch (c) {
+ case 'c':
+ i = atoi(optarg);
+ if (i < 0 || i >= 8) {
+ fprintf(stderr, "envy24control: invalid card number %d\n", i);
+ exit(1);
+ }
+ sprintf(tmpname, "hw:%d", i);
+ name = tmpname;
+ break;
case 'D':
name = optarg;
break;