All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lennart Poettering <mznyfn@0pointer.de>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org
Subject: Re: Softvol controls
Date: Sat, 22 Dec 2007 23:48:30 +0100	[thread overview]
Message-ID: <20071222224830.GC13486@tango.0pointer.de> (raw)
In-Reply-To: <s5h8x4gf6rt.wl%tiwai@suse.de>

On Fri, 30.11.07 09:59, Takashi Iwai (tiwai@suse.de) wrote:

> > > Check snd_ctl_elem_info_is_user().  All softvol controls are
> > > implemented as user elements.
> > 
> > Hmm, how am I supposed to get the snd_ctl_elem_info_t from a
> > snd_mixer_elem_t or snd_mixer_selem_id_t?
> 
> No, there is no API to get the id mapping.
> And I guess we can't do it because there is no 1:1 mapping between
> ctl_elem and mixer_selem.  It's N:1.

May I simply suggest some kind of enumeration API? If it's 1:1 or N:1
doesn't really matter. Either you have a simple _get() function or a
set of enumeration functions. Only a tiny bit more complicated...

> > I figure there is no useful documentation or even example how this is
> > supposed to work? Hmm, is there any real documentation available which
> > describes the relation of ctl, hctl, mixer and smixer at all? For the
> > uninitated the whols structure looks overly complex and redundant.
> 
> Yes, it's overly complex.  The mixer abstracion is what I'd really
> love to clean up, maybe better to write from scratch.
> 
> I guess PA could use ctl API better than mixer API because it requires
> only certain elements like Master or PCM.  You can simply take
> "Master Playback Control" with MIXER iface for master volume and
> "Master Playback Switch" for master mute switch.  Of course, you'll
> take care of number of channels or value range, but it's also same for
> mixer API, too.

Oh my! the lack of useful documentation or examples for using the ctl
interface is a real issue. It takes up so much time for me to make
sense of your APIs by guessing and trying to understand what you were
thinking when you designed it, guys! :-(

/me gumbly studies the ALSA sources a bit more.

Lennart

-- 
Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net         ICQ# 11060553
http://0pointer.net/lennart/           GnuPG 0x1A015CC4

  parent reply	other threads:[~2007-12-22 22:48 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-20  0:51 [lennart@poettering.net: Status of ALSA "simple" mixer interface] Lennart Poettering
2007-11-21 11:09 ` Takashi Iwai
2007-11-21 11:11 ` Takashi Iwai
2007-11-21 15:23   ` Clemens Ladisch
2007-11-25 19:56     ` The sense or non-sense of the device listing API (was: Status of ALSA "simple" mixer interface]) Lennart Poettering
2007-11-25 20:38       ` Jaroslav Kysela
2007-11-21 11:14 ` Mono device definition Takashi Iwai
2007-11-21 11:20 ` Analog-SPDIF dup Takashi Iwai
2007-11-21 11:22 ` Softvol controls Takashi Iwai
2007-11-29 23:28   ` Lennart Poettering
2007-11-29 23:46     ` John Utz
2007-11-30  0:08       ` Lennart Poettering
2007-11-30  0:34         ` John Utz
2007-11-30  8:59     ` Takashi Iwai
2007-12-04 15:42       ` Jaroslav Kysela
2007-12-13 10:39         ` Takashi Iwai
2007-12-22 22:54         ` Lennart Poettering
2007-12-23 10:21           ` Jaroslav Kysela
2007-12-22 22:48       ` Lennart Poettering [this message]
2007-11-21 11:40 ` Disable conversions Takashi Iwai
2007-11-21 14:29   ` Takashi Iwai
2007-11-21 15:16     ` Jaroslav Kysela
2007-11-21 14:51       ` Takashi Iwai
2007-11-25 20:41   ` Lennart Poettering
2007-11-26 15:55     ` Jaroslav Kysela
2007-12-22 22:37       ` Lennart Poettering
2007-11-21 11:42 ` Channel mapping Takashi Iwai
2007-11-21 15:17   ` Clemens Ladisch
2007-11-21 14:57     ` Takashi Iwai
2007-11-21 15:27     ` Jaroslav Kysela
2007-11-21 15:04       ` Takashi Iwai
2007-11-27 16:54         ` Takashi Iwai
2007-11-21 15:52       ` Clemens Ladisch
2007-11-21 15:36         ` Takashi Iwai
2007-11-21 18:37           ` Jaroslav Kysela
2007-11-22  9:17             ` Clemens Ladisch
2007-11-22  8:55           ` 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=20071222224830.GC13486@tango.0pointer.de \
    --to=mznyfn@0pointer.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=tiwai@suse.de \
    /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.