Garrett D'Amore wrote:
> Bart Smaalders wrote:
>> Garrett D'Amore wrote:
>>> Please let us know if there are any concerns about any of the above.
>>>
>>
>>
>> This looks good, Garrett.  Can we also obsolete the ability to
>> disable the mixer in mixerctl?  I don't want to force all applications
>> to have to deal with open calls to /dev/audio blocking indefinitely.
>
> Yes, I'm sorry -- I thought I had already indicated this in the 
> inception materials.  It is not possible to disable the mixer.  All 
> support for any kind of "exclusive mode" access was removed in the 
> Boomer gate a long time ago. :-)
>
> I suppose there might be certain *ancient* applications this breaks... 
> but such applications would not have played well with other uses of 
> the audio device anyway (include any use by desktop environments like 
> gnome!)
>
>    -- Garrett
>
>
A few more notes on this topic:

mixerctl has other changes:

-e is silently ignored (and no longer documented)
-i has very slightly different output (the format was never documented)
-o returns a failure (you can't disable the mixer!)
-v no longer dumps a meaningful audio_info structure -- this structure 
was intrinsic to SADA, and doesn't work well with OSS.  The -v flag 
still means "verbose", but the details are quite different.  When used 
by itself or with -i, no additional output is given:

    gdamore at tabasco{27}> mixerctl -iv
    Device: /dev/sound/0mixer
      Name    = audio810#0
      Config  = NVIDIA AC'97 (CK804)
      HW Info = AC'97 codec: Avance Logic ALC655


And when used with new options, it tells you more about it.  For 
example, with -c volume to query information about the volume control:

    gdamore at tabasco{30}> mixerctl -c volume
    DEVICE           CONTROL                  VALUE     
    POSSIBLE           
    audio810#0       volume                   75        
    0-100              

    gdamore at tabasco{32}> mixerctl -v -c volume
    Device: /dev/sound/0mixer
      Name    = audio810#0
      Config  = NVIDIA AC'97 (CK804)
      HW Info = AC'97 codec: Avance Logic ALC655

    CONTROL                  VALUE      TYPE     POSSIBLE           
    volume                   75         mono     0-100              


With -C (dump all controls) it will show lots of information about each 
control:

    gdamore at tabasco{33}> mixerctl -v -C
    Device: /dev/sound/sndstat
      Name    = audio#0
      Config  = Audio Common Code (pseudo)

    CONTROL                  VALUE      TYPE     POSSIBLE           

    Device: /dev/sound/0mixer
      Name    = audio810#0
      Config  = NVIDIA AC'97 (CK804)
      HW Info = AC'97 codec: Avance Logic ALC655

    CONTROL                  VALUE      TYPE     POSSIBLE           
    volume                   75         mono     0-100              
    front                    75:75      stereo   0-100:0-100        
    surround                 75:75      stereo   0-100:0-100        
    center                   75         mono     0-100              
    lfe                      75         mono     0-100              
    record-gain              18:12      stereo   0-100:0-100        
    mic                      0:0        stereo   0-100:0-100        
    line-in                  0:0        stereo   0-100:0-100        
    cd                       0:0        stereo   0-100:0-100        
    aux1-in                  0:0        stereo   0-100:0-100        
    phone                    0          mono     0-100              
    beep                     75         mono     0-100              
    micboost                 off        boolean  on,off             
    loopback                 off        boolean  on,off             
    record-source            mic        enum     mic,cd,aux1-in     
                                                 line-in,stereo-mix 
                                                 mono-mix,phone     
    mic-source               mic1       enum     mic1,mic2          
    jack1                    line-in    enum     line-in,surround   
    jack2                    mic        enum     mic,center/lfe     


And, when used with -c <control>  -w <value>, it shows the effect being 
changed:

    gdamore at tabasco{34}> mixerctl -v -c volume -w 50
    audio810#0: 'volume' set to '50'

The fact is, that dumping the audio_info_t structure, while documented, 
was unlikely to have ever been particularly useful to anyone.  We 
believe that the new output formats are far more useful, and somewhat in 
line with other commands like dladm.  (And yes, we're working on a 
"parseable" version of the above formats, as well.  That work is still 
not complete yet.)

    -- Garrett

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://mail.opensolaris.org/pipermail/opensolaris-arc/attachments/20090128/6ffdf91c/attachment.html>

Reply via email to