From: Takashi Iwai <tiwai@suse.de>
To: Bram Bos <buramu@gmail.com>
Cc: alsa-devel@alsa-project.org
Subject: Re: Simple Mixer help
Date: Thu, 30 Apr 2015 11:53:35 +0200 [thread overview]
Message-ID: <s5hvbgedjs0.wl-tiwai@suse.de> (raw)
In-Reply-To: <CAPaK8baiMvLVkn5=Q8RkR-v0TjAugaYBZR9+=tnbtCv2xa84KA@mail.gmail.com>
At Thu, 30 Apr 2015 10:29:14 +0200,
Bram Bos wrote:
>
> Ok, so perhaps this is not the forum to ask support for using ALSA in
> application development.
It's no wrong place, but not everybody has enough time, so be patient
:)
> Can anyone point me to a place where I can ask such questions.?
>
> The existing ALSA documentation is not sufficient to help me out here.
The device name concept isn't written so much, although it's a quite
basic idea. Maybe someone should work on it.
As you have already noticed, ALSA device may contain the card number.
For the control / mixer API, you can get the direct access to a
certain hardware with "hw:X" name string where X is the card number.
Takashi
>
> Thanks!
>
> 2015-04-29 16:15 GMT+02:00 Bram Bos <buramu@gmail.com>:
>
> > I want to get access to the ALSA Simple Mixer interface, but rather than
> > the 'default' sound device I want to target a specific USB sound device.
> >
> > I'm at a loss how to refer to it... I am using a modified version of the
> > code below but I have no idea what to replace the "card" and "selem_name"
> > strings with. The device name? The 'hwX.Y' string?
> >
> > And do I need to change the index#?
> >
> > Too many variables to solve this by trial and error.
> > Any hints appreciated!
> >
> > void SetAlsaMasterVolume(long volume){
> > long min, max;
> > snd_mixer_t *handle;
> > snd_mixer_selem_id_t *sid;
> > const char *card = "default";
> > const char *selem_name = "Master";
> >
> > snd_mixer_open(&handle, 0);
> > snd_mixer_attach(handle, card);
> > snd_mixer_selem_register(handle, NULL, NULL);
> > snd_mixer_load(handle);
> >
> > snd_mixer_selem_id_alloca(&sid);
> > snd_mixer_selem_id_set_index(sid, 0);
> > snd_mixer_selem_id_set_name(sid, selem_name);
> > snd_mixer_elem_t* elem = snd_mixer_find_selem(handle, sid);
> >
> > snd_mixer_selem_get_playback_volume_range(elem, &min, &max);
> > snd_mixer_selem_set_playback_volume_all(elem, volume * max / 100);
> >
> > snd_mixer_close(handle);}
> >
> >
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
next prev parent reply other threads:[~2015-04-30 9:53 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-29 14:15 Simple Mixer help Bram Bos
2015-04-30 8:29 ` Bram Bos
2015-04-30 9:53 ` Takashi Iwai [this message]
2015-04-30 11:51 ` Bram Bos
2015-04-30 14:39 ` Clemens Ladisch
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=s5hvbgedjs0.wl-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=alsa-devel@alsa-project.org \
--cc=buramu@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.