Age | Commit message (Collapse) | Author |
|
- don't unmute input from a built-in mic on the main input mixer
intended to stop possible feedback loops between buit-in speakers
and built-in mics. built-in mics also tend to capture machine
noise, especially fans. actual recording should not be affected.
|
|
datasheets.
|
|
default, as long is the first output pin is not also connected to
that DAC. cleanup a bit now that there are multiple muting methods.
|
|
to special case the speaker dac ...
|
|
to be listed in other widgets' connection lists. if a beep
generator is found in another widget's connection list, treat it
as a dead end.
|
|
|
|
by default might not be in a converter group. make sure such a
dac is not disabled and gets a meaningful name.
|
|
create the converter group lists. start with converters that are
connected to pins by default, then add converters that can be
connected to pins.
|
|
be a non-generic version. move the prototype to azalia.h so it
can also be used in azalia.c in the future.
|
|
dmesg spam produced by the mistakes noticed by stsp@, thanks
|
|
nice mp3s.
From brad, ok jakemsr
|
|
channel of the speaker.
|
|
VRef level and be sure to turn VRef off when not set for input.
|
|
tested by danh@, thanks!
|
|
that don't have selectable inputs. all connections are active, always.
showing all connections in the set rather than just one makes a lot
more sense.
|
|
instead they use the connection list setting like selectors do.
this is somewhat common in Analog Devices codecs. it's extremely
rare in all other codecs.
|
|
longer direcly affect other widgets
- if an unsolicited response is received from a volume knob widget,
adjust outputs.master according to the measured change in level of the
volume knob widget
|
|
function for creating "master" volume control.
- apply gpio quirks separately from and prior to configuring the mixer.
gpio manipulation can cause noise on output channels. configuring
gpio before amps are unmuted in the mixer configuration is a good
thing.
from Alexey Suslikov, thanks
|
|
magic numbers
from Alexey Suslikov
|
|
* move quirk for Dell E6400 into the group of quirks that set GPIO 0
from Alexey Suslikov, thanks
|
|
are not really useful as output devices and fixed speakers are not
really useful as input devices
|
|
outputs by default it's nice to have a way to control multiple sources/
outputs with a single control setting.
so here's an implementation of "master" controls that uses selectable
control lists, because the biggest problem is figuring out what should
be "master".
outputs.master.slaves is the current set of output mixer controls
that settings for outputs.master and outputs.master will be applied
to. record.volume.slaves works similarly for recording inputs.
|
|
"master" volume controls coming shortly.
|
|
like the way it looks.
- run the speaker mute handler when a muter jack changes I/O direction
|
|
jacks which can mute speaker output are chosen with the new mixer item
'outputs.spkr_muters'. e.g.
$ mixerctl -v outputs.spkr_muters
outputs.spkr_muters=hp,mic,line-in { hp mic line-in }
if a jack is present in any listed "muter" plug, AND that plug is
configured for output (e.g. outputs.hp_dir=output) the speaker will
be muted. the list of muters is selectable, selecting none turns of
muting altogether.
|
|
|
|
mixers. problem noticed by Tas. thanks!
|
|
and use it in 6 places.
|
|
|
|
- beep and CD support for a few more realtek codecs (ALC268 verified by
Alexey Suslikov, the others are quite similar based on datasheets)
- "ALC662-GR" is a part number. "ALC662" is a codec identifier.
|
|
|
|
|
|
it is about codec gpio quirks. so rename it as azalia_codec_gpio_quirks,
and move it to where the rest of the codec specific code is.
|
|
|
|
|
|
|
|
more clear.
|
|
- remove the codec datasheet URLs. URLs change and these particular
datasheets are all easy to find.
|
|
b) members of the widget connection list may be invalid.
so,
- change azalia_nid_to_index to azalia_widget_enabled, and have it only
check that the given nid is valid, and that the corresponding widget
is enabled.
- use azalia_widget_enabled every time members of the connection list
are used.
|
|
to not be redundant. important for understanding how widgets are
connected.
|
|
|
|
values read from pin complex widgets.
|
|
e.g. the first DAC in the converter group is now dac, the second
is dac2, etc.
unused converters (not in a converter group) will have a "u-" prefix.
these will disappear completely in the near future, as they are useless.
if there is more than one converter group, converters in the second
group will have a "dig-" prefix, since they are digital converters.
|
|
classes in azalia.h instead of azalia_codec.c. this will allow
the mixer class to be determined outside of azalia_generic_mixer_init.
|
|
controls on the widget that need to be configured.
|
|
an ADC.
|
|
to change.
|
|
- don't try to create formats for converter groups that don't exist
- don't allow playback or recording if there is no corresponding
converter group
- don't try to set audio processing parameters on converter groups
that don't exist
allows playback (or record) only devices to work, such as the
azalias found on ATI graphics devices.
note, the ATI devices generally attach before the onboard devices
do. that means they will be audio0 and onboard devices will be audio1.
don't forget to make sure the /dev/{audio[ctl],mixer,sound} links
point to the nodes of the device you want to be the default.
tested by naddy@, thanks
|
|
usable. better (generalized) solution forthcoming, but this is a
reasonable check anyway.
problem noted and fix tested by Alexey Suslikov, thanks.
|
|
reminder from Alexey Suslikov, thanks
|