From 2a4fa6ef112b4892432759e4cbf7f78db074ddc2 Mon Sep 17 00:00:00 2001 From: Christopher Lansdown Date: Sun, 27 Jun 1999 22:17:37 +0000 Subject: [PATCH] applied Anders Semb Hermansen's patch --- xamixer2/cinit.c | 15 ++++++++------- xamixer2/structs.h | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/xamixer2/cinit.c b/xamixer2/cinit.c index 3399917..7915c37 100644 --- a/xamixer2/cinit.c +++ b/xamixer2/cinit.c @@ -51,7 +51,7 @@ int init_cards() { int i,j,k; int err; - void *handle; + snd_ctl_t *handle; cards = snd_cards(); card = calloc(cards, sizeof(Card)); @@ -256,12 +256,13 @@ int misc_group_hack(Mixer *mixer, int index) } mixer->group[index].element[idx].eid = mixer->group[index].group.pelements[idx]; - if((err = snd_mixer_element_build(mixer->handle, - &mixer->group[index].element[idx])) < 0) { - printf("Unable to read element %s! ", - mixer->group[index].group.pelements[idx].name); - printf("Error: %s.\n", snd_strerror(err)); - } + if(snd_mixer_element_has_control(&mixer->group[index].element[idx].eid)) + if((err = snd_mixer_element_build(mixer->handle, + &mixer->group[index].element[idx])) < 0) { + printf("Unable to read element %s! ", + mixer->group[index].group.pelements[idx].name); + printf("Error: %s.\n", snd_strerror(err)); + } init_element_route(mixer->handle, &mixer->group[index].routes[idx], diff --git a/xamixer2/structs.h b/xamixer2/structs.h index a8381f0..4b019d2 100644 --- a/xamixer2/structs.h +++ b/xamixer2/structs.h @@ -21,7 +21,7 @@ typedef struct _Group Group; struct _Mixer { int number; /* The number of the mixer device */ - void *handle; + snd_mixer_t *handle; snd_mixer_info_t info; /* The info for the mixer */ int cnum; /* The number of channels present */ int snum; /* The number of mixer switches present */ -- 2.47.1