All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC] Extra info via the TLV interface
@ 2006-09-04 12:48 James Courtier-Dutton
  2006-09-04 13:04 ` Jaroslav Kysela
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: James Courtier-Dutton @ 2006-09-04 12:48 UTC (permalink / raw)
  To: alsa-devel

Hi,

I would like to now pass extra info regarding the controls via the TLV
interface.
1) Whether the control is Playback, Capture or Both.
2) Whether the control is digital or analog.
3) Some description of the routing of the control. i.e. how it links to
other controls.
4) Both "short" and "long" mixer control names.
5) Control grouping. I.e. to have mixer controls "Front" and "Surround"
next to each other.

I know (1) sort of works just by adding playback or capture to the
control name, but it seems to fail in some ambiguous cases. E.g.
"Capture feedback", "Mic Boost", "HD Source", "HD Channel"

Any comments?

James

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC] Extra info via the TLV interface
  2006-09-04 12:48 [RFC] Extra info via the TLV interface James Courtier-Dutton
@ 2006-09-04 13:04 ` Jaroslav Kysela
  2006-09-04 13:30   ` Liam Girdwood
  2006-09-04 13:14 ` Liam Girdwood
  2006-09-04 14:13 ` Takashi Iwai
  2 siblings, 1 reply; 11+ messages in thread
From: Jaroslav Kysela @ 2006-09-04 13:04 UTC (permalink / raw)
  To: James Courtier-Dutton; +Cc: alsa-devel

On Mon, 4 Sep 2006, James Courtier-Dutton wrote:

> Hi,
> 
> I would like to now pass extra info regarding the controls via the TLV
> interface.
> 1) Whether the control is Playback, Capture or Both.
> 2) Whether the control is digital or analog.
> 3) Some description of the routing of the control. i.e. how it links to
> other controls.
> 4) Both "short" and "long" mixer control names.
> 5) Control grouping. I.e. to have mixer controls "Front" and "Surround"
> next to each other.

In my opinion, all these GUI hints should be elsewhere (userspace), 
otherwise we'll end up with drivers containing digital photos of 
sound chips in the TLV structure :-)

						Jaroslav

-----
Jaroslav Kysela <perex@suse.cz>
Linux Kernel Sound Maintainer
ALSA Project, SUSE Labs

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC] Extra info via the TLV interface
  2006-09-04 12:48 [RFC] Extra info via the TLV interface James Courtier-Dutton
  2006-09-04 13:04 ` Jaroslav Kysela
@ 2006-09-04 13:14 ` Liam Girdwood
  2006-09-04 14:13 ` Takashi Iwai
  2 siblings, 0 replies; 11+ messages in thread
From: Liam Girdwood @ 2006-09-04 13:14 UTC (permalink / raw)
  To: James Courtier-Dutton; +Cc: alsa-devel

On Mon, 2006-09-04 at 13:48 +0100, James Courtier-Dutton wrote:
> Hi,
> 
> I would like to now pass extra info regarding the controls via the TLV
> interface.
> 1) Whether the control is Playback, Capture or Both.

Agreed, it would also be nice to know about sidetone/bypass.

> 2) Whether the control is digital or analog.
> 3) Some description of the routing of the control. i.e. how it links to
> other controls.

Fwiw, I've created a patch for ASoC that uses the audio routing map
(includes how controls are linked to other controls) within ASoC to
enable easy scenario setting. This allows a route to be be automatically
created (and powered) by specifing the source and sink e.g.

"Left DAC" --> "Left Headphone"

It wouldn't be difficult to add code here that could also specify the
active controls for that route. i.e. active route controls could be
highlighted to make using the mixer tools easier.

If anyone is interested, patch is here:-

http://www.rpsys.net/openzaurus/patches/alsa/asoc-scenario-v0.3.patch

Atm, it's ASoC only as it requires a map of the machine audio subsystem.

> 4) Both "short" and "long" mixer control names.
> 5) Control grouping. I.e. to have mixer controls "Front" and "Surround"
> next to each other.
> 
> I know (1) sort of works just by adding playback or capture to the
> control name, but it seems to fail in some ambiguous cases. E.g.
> "Capture feedback", "Mic Boost", "HD Source", "HD Channel"
> 
> Any comments?
> 

I'd also like to pass in log time values for ALC/AGC.

Liam



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC] Extra info via the TLV interface
  2006-09-04 13:04 ` Jaroslav Kysela
@ 2006-09-04 13:30   ` Liam Girdwood
  0 siblings, 0 replies; 11+ messages in thread
From: Liam Girdwood @ 2006-09-04 13:30 UTC (permalink / raw)
  To: Jaroslav Kysela; +Cc: alsa-devel, James Courtier-Dutton

On Mon, 2006-09-04 at 15:04 +0200, Jaroslav Kysela wrote:
> On Mon, 4 Sep 2006, James Courtier-Dutton wrote:
> 
> > Hi,
> > 
> > I would like to now pass extra info regarding the controls via the TLV
> > interface.
> > 1) Whether the control is Playback, Capture or Both.
> > 2) Whether the control is digital or analog.
> > 3) Some description of the routing of the control. i.e. how it links to
> > other controls.
> > 4) Both "short" and "long" mixer control names.
> > 5) Control grouping. I.e. to have mixer controls "Front" and "Surround"
> > next to each other.
> 
> In my opinion, all these GUI hints should be elsewhere (userspace), 
> otherwise we'll end up with drivers containing digital photos of 
> sound chips in the TLV structure :-)
> 

We've almost got a "digital photo" of each sound chip in ASoC atm. It's
good for a few things (including GUI hints) :-

 o Power Management. Knowing when to enable/disable individual chip and
machine audio components (based on any active streams and current mixer
settings).
 o Scenario setting. Allowing a route to be set from source to sink
within a machine. I'd like to eventually have some kind of scenario
description in the card conf file for each use case. 

Atm, the audio map is within the driver code, but it could eventually be
moved into userspace. The only question is whether the PM will work well
in userspace.

Liam


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC] Extra info via the TLV interface
  2006-09-04 12:48 [RFC] Extra info via the TLV interface James Courtier-Dutton
  2006-09-04 13:04 ` Jaroslav Kysela
  2006-09-04 13:14 ` Liam Girdwood
@ 2006-09-04 14:13 ` Takashi Iwai
  2006-09-04 15:31   ` James Courtier-Dutton
  2 siblings, 1 reply; 11+ messages in thread
From: Takashi Iwai @ 2006-09-04 14:13 UTC (permalink / raw)
  To: James Courtier-Dutton; +Cc: alsa-devel

At Mon, 04 Sep 2006 13:48:48 +0100,
James Courtier-Dutton wrote:
> 
> Hi,
> 
> I would like to now pass extra info regarding the controls via the TLV
> interface.
> 1) Whether the control is Playback, Capture or Both.

This could be, in theory, achieved by re-defining every control
strictly with a Playback/Capture modifier.  But, the problem is that
alsactl (and likely other programs) won't handle correctly the name
mismatch as default.

> 2) Whether the control is digital or analog.

This could be embedded in a name string, too, although the external
info might be a better choice.  But, we'd be better to be careful
about this classification.  For example, is this only digital and
analog? What about the cases with SPDIF and ADAT? etc etc...

> 3) Some description of the routing of the control. i.e. how it links to
> other controls.

I suppose it's optional?  Good for some devices, though.

> 4) Both "short" and "long" mixer control names.

I understand the demand but this would be better in the user-space,
IMO.  The long name is basically a mapped string from the short name,
especially if you consider the internationalization...

> 5) Control grouping. I.e. to have mixer controls "Front" and "Surround"
> next to each other.

I feel this is too much for the driver, too.
How would you use this information, BTW?  Even if we have grouping, it
doesn't make any sense unless the apps use such information.  That is,
we should begin with the change of alsa-lib mixer abstraction before
the driver side.


Note that I'm not against implementation using TLV.  (Of course,
depending on the implementation.  If the driver-side implementaion is
much easier, why not?)
I'm just against the too much standardization in the driver side.

IMO, the abstraction of such meta information quite often results in
a too complicated but rarely used data protocol.  For example, USB
audio device has a compehensive description for most of the things
above.  But, no-one wants to implement details nowadays (Creative
tried once with Extigy but seems giving up) because it simply
increases the complexity in the driver handling.

So, first of all, let's think twice whether the proposed things are
really needed inevitablly.  At next, think about the implementation in
the alsa-lib and apps, what we'd need for that.  (I don't only mean
user-space solutions but the necessary changes in user-space for
additional kernel changes.)  Then, at last, consider the modification
of the driver side.  That is, the proposal for the kernel change
should be always coupled with the corresponding user-space changes.

Looking around the driver code, you'll find many rotten stuff that had
been implemented but actually never used, just because there are no
apps/infrastructures to use such features.  We should avoid it any
more...


Takashi

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC] Extra info via the TLV interface
  2006-09-04 14:13 ` Takashi Iwai
@ 2006-09-04 15:31   ` James Courtier-Dutton
  2006-09-04 15:42     ` Takashi Iwai
  0 siblings, 1 reply; 11+ messages in thread
From: James Courtier-Dutton @ 2006-09-04 15:31 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Takashi Iwai wrote:
> At Mon, 04 Sep 2006 13:48:48 +0100,
> James Courtier-Dutton wrote:
>> Hi,
>>
>> I would like to now pass extra info regarding the controls via the TLV
>> interface.
>> 1) Whether the control is Playback, Capture or Both.
> 
> This could be, in theory, achieved by re-defining every control
> strictly with a Playback/Capture modifier.  But, the problem is that
> alsactl (and likely other programs) won't handle correctly the name
> mismatch as default.
Where is the name mismatch. It is just extra information.

> 
>> 2) Whether the control is digital or analog.
> 
> This could be embedded in a name string, too, although the external
> info might be a better choice.  But, we'd be better to be careful
> about this classification.  For example, is this only digital and
> analog? What about the cases with SPDIF and ADAT? etc etc...

For "digital or analog", I mean this should tell the user whether the
control is before of after the ADC/DAC. I.e. Analog if it is on the
analog side, digital if it is on the digital side. For example, for
sound capture, it is better to get the pre-amp before the ADC set to the
correct gain level, and leave and post ADC (i.e. digital) controls at
0dB. As you can see, from my explanation, we don't need SPDIF and ADAT
specific options.

> 
>> 3) Some description of the routing of the control. i.e. how it links to
>> other controls.
> 
> I suppose it's optional?  Good for some devices, though.
> 
>> 4) Both "short" and "long" mixer control names.
> 
> I understand the demand but this would be better in the user-space,
> IMO.  The long name is basically a mapped string from the short name,
> especially if you consider the internationalization...
> 
>> 5) Control grouping. I.e. to have mixer controls "Front" and "Surround"
>> next to each other.
> 
> I feel this is too much for the driver, too.
> How would you use this information, BTW?  Even if we have grouping, it
> doesn't make any sense unless the apps use such information.  That is,
> we should begin with the change of alsa-lib mixer abstraction before
> the driver side.

I think this option is probably low priority, but certainly useful when
one has sound cards with many controls.

> 
> 
> Note that I'm not against implementation using TLV.  (Of course,
> depending on the implementation.  If the driver-side implementaion is
> much easier, why not?)
> I'm just against the too much standardization in the driver side.
> 
> IMO, the abstraction of such meta information quite often results in
> a too complicated but rarely used data protocol.  For example, USB
> audio device has a compehensive description for most of the things
> above.  But, no-one wants to implement details nowadays (Creative
> tried once with Extigy but seems giving up) because it simply
> increases the complexity in the driver handling.
> 
> So, first of all, let's think twice whether the proposed things are
> really needed inevitablly.  At next, think about the implementation in
> the alsa-lib and apps, what we'd need for that.  (I don't only mean
> user-space solutions but the necessary changes in user-space for
> additional kernel changes.)  Then, at last, consider the modification
> of the driver side.  That is, the proposal for the kernel change
> should be always coupled with the corresponding user-space changes.
> 
> Looking around the driver code, you'll find many rotten stuff that had
> been implemented but actually never used, just because there are no
> apps/infrastructures to use such features.  We should avoid it any
> more...

Well, if it has never been used, we can just remove it.

> 
> 
> Takashi

James

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC] Extra info via the TLV interface
  2006-09-04 15:31   ` James Courtier-Dutton
@ 2006-09-04 15:42     ` Takashi Iwai
  2006-09-05  6:30       ` Jaroslav Kysela
  0 siblings, 1 reply; 11+ messages in thread
From: Takashi Iwai @ 2006-09-04 15:42 UTC (permalink / raw)
  To: James Courtier-Dutton; +Cc: alsa-devel

At Mon, 04 Sep 2006 16:31:12 +0100,
James Courtier-Dutton wrote:
> 
> Takashi Iwai wrote:
> > At Mon, 04 Sep 2006 13:48:48 +0100,
> > James Courtier-Dutton wrote:
> >> Hi,
> >>
> >> I would like to now pass extra info regarding the controls via the TLV
> >> interface.
> >> 1) Whether the control is Playback, Capture or Both.
> > 
> > This could be, in theory, achieved by re-defining every control
> > strictly with a Playback/Capture modifier.  But, the problem is that
> > alsactl (and likely other programs) won't handle correctly the name
> > mismatch as default.
> Where is the name mismatch. It is just extra information.

Sorry, I meant to re-define every control "name" that is not
conforming in the above.  Renaming a mixer element _always_ results in
a name mismatch _error_ in alsactl.  It's handled as an error, not a
warning.

> >> 2) Whether the control is digital or analog.
> > 
> > This could be embedded in a name string, too, although the external
> > info might be a better choice.  But, we'd be better to be careful
> > about this classification.  For example, is this only digital and
> > analog? What about the cases with SPDIF and ADAT? etc etc...
> 
> For "digital or analog", I mean this should tell the user whether the
> control is before of after the ADC/DAC. I.e. Analog if it is on the
> analog side, digital if it is on the digital side. For example, for
> sound capture, it is better to get the pre-amp before the ADC set to the
> correct gain level, and leave and post ADC (i.e. digital) controls at
> 0dB. As you can see, from my explanation, we don't need SPDIF and ADAT
> specific options.

OK, then I misinterepreted from the words analog/digital.
Still, I'd like to see the real use-cases by applications...


> >> 3) Some description of the routing of the control. i.e. how it links to
> >> other controls.
> > 
> > I suppose it's optional?  Good for some devices, though.
> > 
> >> 4) Both "short" and "long" mixer control names.
> > 
> > I understand the demand but this would be better in the user-space,
> > IMO.  The long name is basically a mapped string from the short name,
> > especially if you consider the internationalization...
> > 
> >> 5) Control grouping. I.e. to have mixer controls "Front" and "Surround"
> >> next to each other.
> > 
> > I feel this is too much for the driver, too.
> > How would you use this information, BTW?  Even if we have grouping, it
> > doesn't make any sense unless the apps use such information.  That is,
> > we should begin with the change of alsa-lib mixer abstraction before
> > the driver side.
> 
> I think this option is probably low priority, but certainly useful when
> one has sound cards with many controls.

Yes, I know such cases, too.  But, as I mentioned, we should start
from the idea how to improve the mixer apps (or alsa-lib API), then.
The top-down method would be more efficient for defining a protocol.


> > Note that I'm not against implementation using TLV.  (Of course,
> > depending on the implementation.  If the driver-side implementaion is
> > much easier, why not?)
> > I'm just against the too much standardization in the driver side.
> > 
> > IMO, the abstraction of such meta information quite often results in
> > a too complicated but rarely used data protocol.  For example, USB
> > audio device has a compehensive description for most of the things
> > above.  But, no-one wants to implement details nowadays (Creative
> > tried once with Extigy but seems giving up) because it simply
> > increases the complexity in the driver handling.
> > 
> > So, first of all, let's think twice whether the proposed things are
> > really needed inevitablly.  At next, think about the implementation in
> > the alsa-lib and apps, what we'd need for that.  (I don't only mean
> > user-space solutions but the necessary changes in user-space for
> > additional kernel changes.)  Then, at last, consider the modification
> > of the driver side.  That is, the proposal for the kernel change
> > should be always coupled with the corresponding user-space changes.
> > 
> > Looking around the driver code, you'll find many rotten stuff that had
> > been implemented but actually never used, just because there are no
> > apps/infrastructures to use such features.  We should avoid it any
> > more...
> 
> Well, if it has never been used, we can just remove it.

With cost of API/ABI incompatibility?  Most likely not...


Takashi

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC] Extra info via the TLV interface
  2006-09-04 15:42     ` Takashi Iwai
@ 2006-09-05  6:30       ` Jaroslav Kysela
  2006-09-05 10:44         ` Takashi Iwai
  0 siblings, 1 reply; 11+ messages in thread
From: Jaroslav Kysela @ 2006-09-05  6:30 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, James Courtier-Dutton

On Mon, 4 Sep 2006, Takashi Iwai wrote:

> Sorry, I meant to re-define every control "name" that is not
> conforming in the above.  Renaming a mixer element _always_ results in
> a name mismatch _error_ in alsactl.  It's handled as an error, not a
> warning.

Note that alsactl or probably alsa-lib should be improved. We cannot 
expect that names won't change and name cleanups are preferred. I would 
propose to create a database with name change description to prevent these 
errors and allow users switching between two ALSA driver versions more 
nicely.

The question is, if applications use these names to do something special
(if they compares them with own strings). Of course, we will break the 
compatibility in this case. I would like to discuss, if adding a function
like

int snd_mixer_compat_control_name(const char *name,
				  const char *alsa_version,
			          char *new_name, int new_name_size)

would be sufficient to ALSA API.

						Jaroslav

-----
Jaroslav Kysela <perex@suse.cz>
Linux Kernel Sound Maintainer
ALSA Project, SUSE Labs

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC] Extra info via the TLV interface
  2006-09-05  6:30       ` Jaroslav Kysela
@ 2006-09-05 10:44         ` Takashi Iwai
  2006-09-05 15:32           ` Jaroslav Kysela
  0 siblings, 1 reply; 11+ messages in thread
From: Takashi Iwai @ 2006-09-05 10:44 UTC (permalink / raw)
  To: Jaroslav Kysela; +Cc: alsa-devel, James Courtier-Dutton

At Tue, 5 Sep 2006 08:30:42 +0200 (CEST),
Jaroslav Kysela wrote:
> 
> On Mon, 4 Sep 2006, Takashi Iwai wrote:
> 
> > Sorry, I meant to re-define every control "name" that is not
> > conforming in the above.  Renaming a mixer element _always_ results in
> > a name mismatch _error_ in alsactl.  It's handled as an error, not a
> > warning.
> 
> Note that alsactl or probably alsa-lib should be improved. We cannot 
> expect that names won't change and name cleanups are preferred. I would 
> propose to create a database with name change description to prevent these 
> errors and allow users switching between two ALSA driver versions more 
> nicely.
> 
> The question is, if applications use these names to do something special
> (if they compares them with own strings). Of course, we will break the 
> compatibility in this case. I would like to discuss, if adding a function
> like
> 
> int snd_mixer_compat_control_name(const char *name,
> 				  const char *alsa_version,
> 			          char *new_name, int new_name_size)
> 
> would be sufficient to ALSA API.

Hmm...  How would this function be used?
I still don't get it.  Is it a function to be called by apps, or a
function used in alsa-lib internaly?


Takashi

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC] Extra info via the TLV interface
  2006-09-05 10:44         ` Takashi Iwai
@ 2006-09-05 15:32           ` Jaroslav Kysela
  2006-09-05 15:37             ` Takashi Iwai
  0 siblings, 1 reply; 11+ messages in thread
From: Jaroslav Kysela @ 2006-09-05 15:32 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, James Courtier-Dutton

On Tue, 5 Sep 2006, Takashi Iwai wrote:

> At Tue, 5 Sep 2006 08:30:42 +0200 (CEST),
> Jaroslav Kysela wrote:
> > 
> > On Mon, 4 Sep 2006, Takashi Iwai wrote:
> > 
> > > Sorry, I meant to re-define every control "name" that is not
> > > conforming in the above.  Renaming a mixer element _always_ results in
> > > a name mismatch _error_ in alsactl.  It's handled as an error, not a
> > > warning.
> > 
> > Note that alsactl or probably alsa-lib should be improved. We cannot 
> > expect that names won't change and name cleanups are preferred. I would 
> > propose to create a database with name change description to prevent these 
> > errors and allow users switching between two ALSA driver versions more 
> > nicely.
> > 
> > The question is, if applications use these names to do something special
> > (if they compares them with own strings). Of course, we will break the 
> > compatibility in this case. I would like to discuss, if adding a function
> > like
> > 
> > int snd_mixer_compat_control_name(const char *name,
> > 				  const char *alsa_version,
> > 			          char *new_name, int new_name_size)
> > 
> > would be sufficient to ALSA API.
> 
> Hmm...  How would this function be used?
> I still don't get it.  Is it a function to be called by apps, or a
> function used in alsa-lib internaly?

An application should decide (thus this API would be exported).. I would 
like to know if we have also other apps depending on the control name 
strings these days or if it's only the alsactl problem (which makes the 
situation easier).

						Jaroslav

-----
Jaroslav Kysela <perex@suse.cz>
Linux Kernel Sound Maintainer
ALSA Project, SUSE Labs

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC] Extra info via the TLV interface
  2006-09-05 15:32           ` Jaroslav Kysela
@ 2006-09-05 15:37             ` Takashi Iwai
  0 siblings, 0 replies; 11+ messages in thread
From: Takashi Iwai @ 2006-09-05 15:37 UTC (permalink / raw)
  To: Jaroslav Kysela; +Cc: alsa-devel, James Courtier-Dutton

At Tue, 5 Sep 2006 17:32:33 +0200 (CEST),
Jaroslav Kysela wrote:
> 
> On Tue, 5 Sep 2006, Takashi Iwai wrote:
> 
> > At Tue, 5 Sep 2006 08:30:42 +0200 (CEST),
> > Jaroslav Kysela wrote:
> > > 
> > > On Mon, 4 Sep 2006, Takashi Iwai wrote:
> > > 
> > > > Sorry, I meant to re-define every control "name" that is not
> > > > conforming in the above.  Renaming a mixer element _always_ results in
> > > > a name mismatch _error_ in alsactl.  It's handled as an error, not a
> > > > warning.
> > > 
> > > Note that alsactl or probably alsa-lib should be improved. We cannot 
> > > expect that names won't change and name cleanups are preferred. I would 
> > > propose to create a database with name change description to prevent these 
> > > errors and allow users switching between two ALSA driver versions more 
> > > nicely.
> > > 
> > > The question is, if applications use these names to do something special
> > > (if they compares them with own strings). Of course, we will break the 
> > > compatibility in this case. I would like to discuss, if adding a function
> > > like
> > > 
> > > int snd_mixer_compat_control_name(const char *name,
> > > 				  const char *alsa_version,
> > > 			          char *new_name, int new_name_size)
> > > 
> > > would be sufficient to ALSA API.
> > 
> > Hmm...  How would this function be used?
> > I still don't get it.  Is it a function to be called by apps, or a
> > function used in alsa-lib internaly?
> 
> An application should decide (thus this API would be exported).. I would 
> like to know if we have also other apps depending on the control name 
> strings these days or if it's only the alsactl problem (which makes the 
> situation easier).

I'm very much skeptical that apps would take this function.

But, this is surely not the problem of only alsactl.  For example,
kmix would suffer from the renaming similarly since it saves/restores
the setting in own config file for each session like alsactl.


Takashi

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2006-09-05 15:37 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-04 12:48 [RFC] Extra info via the TLV interface James Courtier-Dutton
2006-09-04 13:04 ` Jaroslav Kysela
2006-09-04 13:30   ` Liam Girdwood
2006-09-04 13:14 ` Liam Girdwood
2006-09-04 14:13 ` Takashi Iwai
2006-09-04 15:31   ` James Courtier-Dutton
2006-09-04 15:42     ` Takashi Iwai
2006-09-05  6:30       ` Jaroslav Kysela
2006-09-05 10:44         ` Takashi Iwai
2006-09-05 15:32           ` Jaroslav Kysela
2006-09-05 15:37             ` Takashi Iwai

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.