{
int i,j,k;
int err;
- void *handle;
+ snd_ctl_t *handle;
cards = snd_cards();
card = calloc(cards, sizeof(Card));
}
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],
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 */