From: Takashi Iwai <tiwai@suse.de>
To: Abramo Bagnara <abramo@alsa-project.org>
Cc: Paul Davis <pbd@op.net>, Jaroslav Kysela <perex@suse.cz>,
"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>
Subject: Re: how to define a 2-index control element?
Date: Tue, 07 May 2002 11:29:35 +0200 [thread overview]
Message-ID: <s5hit605mrk.wl@alsa2.suse.de> (raw)
In-Reply-To: <3CD6D54D.F1D32575@alsa-project.org>
At Mon, 06 May 2002 21:11:09 +0200,
Abramo wrote:
>
> Takashi Iwai wrote:
> >
> > so far, we have no way to distinguish the matrix elements from
> > others. imagine you implement all 1400+ elements as singletons.
> > what happens if you run alsamixer on that?
> > obviously showing all of them should be avoided.
>
> Already now alsamixer does not show all the controls. What's the
> problem?
really..? i thought alsamixer shows all normal controls except for
enum controls and ones with a volatile flag. i must read the source
again...
> >
> > > Your question is: how to represent the info that a set of elements may
> > > (should) be organized in a matrix?
> > >
> > > We have already discussed that some time ago (about topology stuff,
> > > etc., do you remember?) and we decided to keep out this mess from kernel
> > > space.
> >
> > yes.
> > please note that my proposal is based on the current implementation.
> > basically the matrix elements are mapped as 1:1 using a linear index
> > just like others. i proposed MATRIX_ELEM not to mix up it with other
> > normal controls. the mapping is done actually in alsa-lib.
> >
> > > We decided to have (if needed) card specific alsa-lib code to handle all
> > > that.
> >
> > ok, the problems are
> >
> > - showing all matrix elements on GUI as normal elements is
> > nonsense - there must be some flag to distinguish the matrix
> > elements from others even if we implement the matrix on a linear
> > array.
> >
> > - we have no info to define the size of indices.
> > without this info, the general mapping code cannot be implemented on
> > the alsa-lib.
>
> Card specific code may solve all that easily.
that's true.
but user may start alsamixer (or what else) and get huge amount of
bars (i thought), which should be avoided.
> We need to separate in our minds the _basic_ hardware access and
> layout/display consideration. Kernel is for the former, libraries and
> applications for the latter.
i reconsidered this issue yesterday.
in this case, we need to take also the number of controls in the
kernel space into accout. if we have an instance for each of 1400+
controls, there are really 1400+ mallocs, and we'll look for a control
by a linear search from them.
and most likely the hardware doesn't need them.
it will be a big drawback.
otoh, the indexed access as Paul's suggestion needs only one control.
the drawback of this method is, as Jaroslav pointed, the lack of
notification. the notification can be done but we cannot know which
element is affected.
Takashi
_______________________________________________________________
Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: bandwidth@sourceforge.net
next prev parent reply other threads:[~2002-05-07 9:29 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-05-04 12:45 how to define a 2-index control element? Paul Davis
2002-05-04 13:18 ` Abramo Bagnara
2002-05-05 13:48 ` Paul Davis
2002-05-05 15:50 ` Jaroslav Kysela
2002-05-06 1:32 ` Paul Davis
2002-05-06 6:46 ` Jaroslav Kysela
2002-05-06 11:22 ` Paul Davis
2002-05-06 11:44 ` Jaroslav Kysela
2002-05-06 12:03 ` Takashi Iwai
2002-05-06 12:19 ` Abramo Bagnara
2002-05-06 12:53 ` Takashi Iwai
2002-05-06 19:11 ` Abramo Bagnara
2002-05-07 9:29 ` Takashi Iwai [this message]
2002-05-07 9:55 ` Jaroslav Kysela
2002-05-07 10:34 ` Takashi Iwai
2002-05-07 17:17 ` Paul Davis
2002-05-07 22:06 ` Abramo Bagnara
2002-05-08 0:00 ` Paul Davis
[not found] <20020508000005.EB5AC59D35D@kerberos.suse.cz>
2002-05-08 7:52 ` Jaroslav Kysela
2002-05-08 9:52 ` Takashi Iwai
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=s5hit605mrk.wl@alsa2.suse.de \
--to=tiwai@suse.de \
--cc=abramo@alsa-project.org \
--cc=alsa-devel@alsa-project.org \
--cc=pbd@op.net \
--cc=perex@suse.cz \
/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.