On Mon, May 09, 2011 at 02:56:28PM +0300, Sviatoslav Chagaev wrote:
> On Mon, May 9, 2011 at 4:48 AM, Jacob Meuser <[email protected]>
> wrote:
> > On Mon, May 09, 2011 at 01:32:49AM +0300, Sviatoslav Chagaev wrote:
> >> * sorted output looks cleaner, prettier;
> >> * it's easier to find the variable you're looking for in a sorted
> >> output;
> >> * hierarchical variable names yet unordered? doesn't make sense;
> >> * this way mixerctl's behaviour will be closer to other *ctl programs
> >> which output variables in an ordered fashion (audioctl, sysctl,
> >> wsconsctl).
> >
> > these are all matters of opinion, except for "hierarchical variable names"
> > which is not technically the case here.
> >
> 
> Okay, but what about making mixerctl more similar to other *ctl?

*sigh*

$ wsconsctl
(blah) Permission denied

$ usbhidctl
usage: (blah)

$ ikectl
missing argument:

$ gpioctl
usage: (blah)

or how about, what other *ctl program is almost entirely hardware
dependent?

> >> Before:
> >
> > note how the controls are grouped (mostly) by "widget".  please read
> > azalia(4).
> 
> I did notice that.
> Unfortunately, I can't access my amd64 machine right now. It has
> like 2 to 3 times the amount of variables shown here and I think I saw
> some vars there, for which I couldn't figure out by which criteria were they
> ordered.
> If mixerctl's intention is that the most important thing is the widget,
> then the widget's name should've been placed in front.
> I tried this just now, putting widget in front, then the mixer class --
> it looks horrible, completely unscannable.
> Maybe the mixer class is the most important thing after all, since
> this is the most generic thing you can group various widgets by.

ok then, why do some devices have 'outputs.dac' yet others have
'inputs.dac'?  what is the difference to the user?  which is more
correct?  why?

this has been the case since long before azalia(4).  if you cannot
explain this, then you just don't understand.

> >
> >> s@d630:0:/usr/src/usr.bin/mixerctl$ mixerctl
> >> outputs.hp_source=dac-0:1
> >> outputs.hp_dir=output
> >> outputs.hp_boost=off
> >> outputs.line-in_source=dac-2:3
> >> outputs.line-in_dir=input
> >> outputs.mic_dir=input-vr80
> >> outputs.spkr_source=dac-2:3
> >> outputs.spkr_dir=none
> >> outputs.spkr_boost=off
> >> inputs.dac-2:3_mute=off
> >> inputs.dac-2:3=152,152
> >> inputs.dac-0:1_mute=off
> >> inputs.dac-0:1=152,152
> >> inputs.sel_source=mic
> >> outputs.sel=126,126
> >> inputs.sel2_source=line-in
> >> outputs.sel2=126,126
> >> inputs.sel3_source=sel
> >> inputs.sel3_sel=119,119
> >> inputs.sel4_source=sel2
> >> inputs.sel4_sel2=119,119
> >> record.adc-0:1_source=sel3
> >> record.adc-0:1_mute=off
> >> record.adc-2:3_source=sel4
> >> record.adc-2:3_mute=off
> >> inputs.beep=85
> >
> > and at the end are the "pseudo" controls.  the ones most people are
> > most interested in.  so even if the rest of the controls scroll by
> > when you do a simple "mixerctl", you see these controls.
> >
> 
> Just by looking at these variables, I cannot distinguish which ones are
> "pseudo" and which aren't. This is an implementation detail, I think
> the user of an interface shouldn't have to care about implementation
> details.
> I cannot provide any evidence that most people are or are not
> interested in those "pseudo" vars, but I thought most of the time
> people are interested in something like "play an mp3 file", "watch a
> video", simple stuff like that. In this case one would probably be most
> interested in outputs, volume controls...

as in, 'outputs.master' ... the one that's tied to the keyboard keys on
laptops.  this is by far the most important, most used mixer control.

 It's possible to adjust
> sorting and output these vars last, by modifying the cmp function.

that is ridiculous.

> And I can argue that it is still easier to find what you're looking for
> when the output is sorted, especially considering that the output of
> mixerctl can vary widely between different computers.

please do give an example of how sorting them makes "finding what you're
looking for" easier.  please.  and it better be easier than piping
through sort/grep.  I'll repeat that you cannot rely on 'inputs' or
'outputs' having true meaning.  sorry, but you can't.  trust me on
that one.

> >> outputs.hp_sense=plugged
> >> outputs.line-in_sense=unplugged
> >> outputs.spkr_muters=hp,line-in
> >> outputs.master=153,153
> >> outputs.master.mute=off
> >> outputs.master.slaves=dac-2:3,dac-0:1
> >> record.volume=0,0
> >> record.volume.mute=off
> >> record.volume.slaves=adc-0:1,adc-2:3
> >>
> >> After:
> >> s@d630:0:/usr/src/usr.bin/mixerctl$ ./mixerctl
> >> inputs.beep=85
> >> inputs.dac-0:1=152,152
> >> inputs.dac-0:1_mute=off
> >> inputs.dac-2:3=152,152
> >> inputs.dac-2:3_mute=off
> >> inputs.sel2_source=line-in
> >> inputs.sel3_sel=119,119
> >> inputs.sel3_source=sel
> >> inputs.sel4_sel2=119,119
> >> inputs.sel4_source=sel2
> >> inputs.sel_source=mic
> >> outputs.hp_boost=off
> >> outputs.hp_dir=output
> >> outputs.hp_sense=plugged
> >> outputs.hp_source=dac-0:1
> >> outputs.line-in_dir=input
> >> outputs.line-in_sense=unplugged
> >> outputs.line-in_source=dac-2:3
> >> outputs.master=153,153
> >> outputs.master.mute=off
> >> outputs.master.slaves=dac-2:3,dac-0:1
> >> outputs.mic_dir=input-vr80
> >> outputs.sel=126,126
> >> outputs.sel2=126,126
> >> outputs.spkr_boost=off
> >> outputs.spkr_dir=none
> >> outputs.spkr_muters=hp,line-in
> >> outputs.spkr_source=dac-2:3
> >> record.adc-0:1_mute=off
> >> record.adc-0:1_source=sel3
> >> record.adc-2:3_mute=off
> >> record.adc-2:3_source=sel4
> >> record.volume=0,0
> >> record.volume.mute=off
> >> record.volume.slaves=adc-0:1,adc-2:3
> >
> > I do not find this more useful.  prettier, perhaps, but not more useful.
> > in particular, this (further) breaks the widget-wise grouping on some
> > devices.  please read azalia(4), "inputs" and "outputs" is really just
> > a hint, and making it more precise is much more difficult than adding
> > sorting to mixerctl ...
> >
> 
> Well it doesn't add any new functionality or anything, sure. I'm just
> trying to improve my user experience.
> For me, this would be useful because I wouldn't have to append "| sort"
> to mixerctl every time I use it, and because I wouldn't have to
> remember that it works slightly differently than other *ctl programs.

*sigh*

THE MIXER CONTROLS ARE NOT HEIRARCHICAL.

> It would also be more aesthetically pleasing, making my computer just
> that little bit friendlier, easier to use.
> Besides, there's "correctness" mentioned in project goals, the reason
> it looks prettier is because it is more correct, I think.

ok, now I'm absolutely positive know you don't understand the issue
and just want to add more junk to what is supposed to be a VERY SIMPLE
program.  write yourself a new mixer program if you feel the need;
adding sorting to mixerctl IS NOT GOING TO HAPPEN.

-- 
[email protected]
SDF Public Access UNIX System - http://sdf.lonestar.org

Reply via email to