On Sun, 5 May 2002, Paul Davis wrote: > >On Sun, 5 May 2002, Paul Davis wrote: > > > >> >I suggest you to use the field index of struct sndrv_ctl_elem_id (one > >> >byte per dimension). > >> > > >> >id.index = (source << 8) | destination; > >> > >> but there are 1400+ possible id's ... > > > >I agree with Abramo. We can eventually optimize code to handle such amount > >of controls. > > there's no reason to do that. if you're going to require that the user > merge two values into a single variable (as above), the user can put > the merged result in control->value.integer.value[0]. i just wanted a > way to avoid the user having to do this, because otherwise, it will be > impossible to ever build an automated GUI for the control (you'll > never be able to figure out how to generate the correct values from > the control API's description of the control).
Do we need this? We need to drive hardware via the control API. So each controlled elements must be mapped to the user space. In user space, we can do more complex remapping for some GUIs in alsa-lib. > in addition, no automated GUI is possible with 1400+ controls given > the current API. > > in short, i really do not want to implement the H-DSP driver with this > kind of control over the matrix mixer. i raised this issue a month or > two ago, and there was (implicit) agreement then that it was silly to > represent all possible combinations with a 1:1 mapping between ALSA > controls and source/destination pairs. > > i guess i'll continue on trying to think of a different way to do > this. but it seems to me that if the control API cannot support > controls that need user data to read/write them, then we need to fix > the control API. If you use another system, you'll lose: - locking of elementary controls - notification of changes for elementary controls Jaroslav ----- Jaroslav Kysela <[EMAIL PROTECTED]> Linux Kernel Sound Maintainer ALSA Project http://www.alsa-project.org SuSE Linux http://www.suse.com _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: [EMAIL PROTECTED] _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel