Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
b0c4ed2
alsamixer: remove dead fcn widget_handle_key() in widget.c
perexg Jan 11, 2021
e165d34
alsamixer: remove unused variable y in display_scroll_indicators()
perexg Jan 11, 2021
19cc5da
alsamixer: fix shift in parse_words()
perexg Jan 11, 2021
b8a1e95
aplay: fix the test position test for playback (avail > delay)
perexg Jan 19, 2021
8cd781b
alsa-info.sh: add audio keyword to the dmesg filter
perexg Jan 26, 2021
c990f9a
alsa-info.sh: add card number to the ALSA module list section
perexg Feb 22, 2021
c1f8cc2
alsa-info.sh: add sysfs card info section
perexg Feb 22, 2021
17b4129
alsactl: add 'clean' command to remove the application controls
perexg Feb 26, 2021
f67020a
alsa-info.sh: bumb version to 0.5.0
perexg Mar 5, 2021
30809f3
alsa-info.sh: add PipeWire daemon detection
perexg Mar 5, 2021
a4cff92
alsa-info.sh: Use HTTPS instead of HTTP
BrunoVernay Mar 5, 2021
c47e93f
amixer: Expand on channel docs in man page
mcampbellizo Feb 14, 2021
bdb10da
alsa-info.sh: Add jack2 (jackdbus) detection
bengan Jan 20, 2021
c867aa8
alsamixer: use background color instead of COLOR_BLACK
r-burns Feb 6, 2021
bccebc5
aplay: fix the wrong pointer dereference in playbackv_go()
perexg Mar 5, 2021
ade71cf
alsactl: fix some compiler warnings
perexg Mar 5, 2021
f8ce4f1
amidi, aseqnet: handle write errors
perexg Mar 5, 2021
e1551de
axfer: test - add run-test-in-tmpdir.sh script
perexg Mar 6, 2021
65453da
alsactl: honor ignore_nocards flag in init()
perexg Mar 6, 2021
09c04f8
alsactl: init command now honors -g flag as well
MichaIng Mar 6, 2021
c147459
alsactl: add dump-cfg and dump-state commands
perexg Mar 7, 2021
b137145
alsactl: fix the compiler warning (uninitialized variable res)
perexg Mar 7, 2021
c3f2344
alsactl: add 'clean' cmd to help, improve man page
perexg Mar 7, 2021
7f5622c
alsactl: fix possible memory leak for dump-cfg
perexg Mar 10, 2021
9a2115b
alsactl: Add ucm support for the FixedBootSequence
perexg Mar 10, 2021
eefc2c6
alsactl: use card iterator functions for all card loops
perexg Mar 10, 2021
d81a0f9
axfer: minor code arrangement for container module in a point of nonb…
takaswie Mar 11, 2021
81c93f6
axfer: minor code arrangement in a point of stdio detection
takaswie Mar 11, 2021
85ab708
axfer: minor code arrangement in a point of opened file descriptor
takaswie Mar 11, 2021
4bf9e26
axfer: minor code arrangement to allocate containers
takaswie Mar 11, 2021
5cb67b5
axfer: open file descriptor outside of container module
takaswie Mar 11, 2021
6b0f1b2
axfer: maintain lifetime of file descriptor outside of container module
takaswie Mar 11, 2021
e9a4d32
autotools: preparation to use memfd_create(2)
takaswie Mar 11, 2021
c45d994
axfer: test: minor code arrangement to use the same file descriptor f…
takaswie Mar 11, 2021
2314d74
axfer: test: use memfd_create() for container-test
takaswie Mar 11, 2021
5ab26fb
axfer: test: minor code arrangement to use the same file descriptor f…
takaswie Mar 11, 2021
9200442
axfer: test: use memfd_create() for mapper-test
takaswie Mar 11, 2021
0a03f06
axfer: test: reduce test case for maximum number of frame count
takaswie Mar 11, 2021
61c8622
Revert "axfer: test - add run-test-in-tmpdir.sh script"
takaswie Mar 11, 2021
c2d27ac
axfer: test: reduce test case for maximum number of samples per frame
takaswie Mar 11, 2021
00be486
speaker-test: add support for S24_LE and S24_BE
plbossart Mar 12, 2021
c9e9a79
aplay: avoid any further PCM writing if in abort
aditpape Mar 19, 2021
2c753a8
alsactl: snd_ctl_elem_id_compare was renamed to snd_ctl_elem_id_compa…
perexg Mar 23, 2021
69276d4
amixer: print error when snd_hctl_handle_events() fails
perexg Mar 29, 2021
204ae46
amixer: cleanups for valgrind
perexg Mar 30, 2021
7a7e064
alsaloop: samplerate - fix the wrong pointer operation
perexg Mar 31, 2021
0a6b63a
amixer/alsamixer: use sysdefault:<CARD> devices instead hw:<CARD>
perexg Apr 6, 2021
a589d88
alsactl: clean the boot / hotplug card specific configuration directory
perexg Apr 13, 2021
0fe5048
alsactl: ucm - try both fixed boot and boot sequences
perexg Apr 13, 2021
0369271
alsaloop: man page - correct "rate" option
nootc Mar 22, 2021
71003a2
alsamixer: increase control device name buffer (sysdefault)
perexg Apr 15, 2021
bc80344
amixer: don't show help on argument parsing error
perexg May 10, 2021
76b4af2
alsaucm: add 'getval' and 'getival' commands
perexg May 13, 2021
9af7148
axfer: fix regression of timeout in timer-based scheduling model
takaswie May 13, 2021
75e644d
amixer: link volume_mapping.c from alsamixer to amixer
perexg May 17, 2021
a82058e
topology: Add support for pre-processing Topology2.0 syntax
ranj063 Mar 26, 2021
d508b16
topology: pre-processor: Add debug print helpers
ranj063 Mar 27, 2021
94eaca1
topology: pre-processor: Add a couple of config helpers
ranj063 Apr 23, 2021
eb514c6
topology: pre-processor: Add a helper function to concat strings
ranj063 Apr 23, 2021
c832f48
topology: pre-process-class: Add helper function to look up class def…
ranj063 Apr 23, 2021
1422c09
topology: pre-process-class: Add function to look up attribute defini…
ranj063 Apr 23, 2021
7bf3109
topology: pre-process-class: Add functions to check attribute constra…
ranj063 Apr 23, 2021
0b0c16d
topology: pre-process-class: add funcion to get the name of the uniqu…
ranj063 Apr 23, 2021
d8e9466
topology: pre-process-class: function to get attribute type
ranj063 Apr 23, 2021
963578a
topology: pre-process-class: add function to look up token_ref for an…
ranj063 Apr 23, 2021
e3ad68b
topology: pre-process-class: add function to convert valid attribute …
ranj063 Apr 23, 2021
4d41356
topology: pre-process-object: Add support for pre-processing Objects
ranj063 Apr 26, 2021
624c814
topology/pre-process-object: update object config with attributes
ranj063 Apr 26, 2021
b2e85be
topology: pre-process-object: check attribute validity
ranj063 Apr 26, 2021
1ca07d8
topology: pre-process-object: construct object name from its construc…
ranj063 Apr 26, 2021
d999c26
topology: pre-process-object: Add support for processing Manifest object
ranj063 Apr 26, 2021
571d1fe
topology: pre-process-object: add data section for attributes with to…
ranj063 Apr 26, 2021
48fef7a
topology: pre-process-obejct: add helper function to get the section …
ranj063 Apr 26, 2021
cb65ce0
topology: pre-process-object: Add support for data objects
ranj063 Apr 26, 2021
d271972
topology: pre-process-base: add support for VendorToken objects
ranj063 Apr 26, 2021
032d125
topology: pre-process-dapm: Add support for DAPM Widget objects
ranj063 Apr 26, 2021
96b5e5a
topology: pre-process-dapm: Add support for tlv objects
ranj063 Apr 26, 2021
082015d
topology: pre-process-dapm: add support for scale/ops/channel objects
ranj063 Apr 26, 2021
79033ce
topology: pre-process-dapm: add support for widget control objects
ranj063 Apr 26, 2021
758e4db
topology: pre-process-dapm: add support for route objects
ranj063 Apr 26, 2021
b0be235
topology: pre-process-dai: add support for PCM and BE DAI objects
ranj063 Apr 26, 2021
4bc386b
topology: pre-process-dai: add support for hwcfg objects
ranj063 Apr 26, 2021
3719c80
topology: pre-process-dai: add support for fe_dai objects
ranj063 Apr 26, 2021
df6cfa7
topology: pre-process-dai: add support for pcm_caps objects
ranj063 Apr 26, 2021
1832f6f
topology: pre-process-object: add support for prepocessing child objects
ranj063 Apr 21, 2021
8037d48
topology: some whitespace fixups
perexg May 25, 2021
dc20c4b
amixer: add the volume_mapping.h link
perexg May 25, 2021
62f97bd
amixer: Makefile - add volume_mapping.h to noinst_HEADERS
perexg May 25, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 44 additions & 17 deletions alsa-info/alsa-info.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

SCRIPT_VERSION=0.4.65
CHANGELOG="http://www.alsa-project.org/alsa-info.sh.changelog"
SCRIPT_VERSION=0.5.0
CHANGELOG="https://www.alsa-project.org/alsa-info.sh.changelog"

#################################################################################
#Copyright (C) 2007 Free Software Foundation.
Expand Down Expand Up @@ -45,7 +45,7 @@ update() {
test -z "$WGET" -o ! -x "$WGET" && return

SHFILE=$(mktemp -t alsa-info.XXXXXXXXXX) || exit 1
wget -O $SHFILE "http://www.alsa-project.org/alsa-info.sh" >/dev/null 2>&1
wget -O $SHFILE "https://www.alsa-project.org/alsa-info.sh" >/dev/null 2>&1
REMOTE_VERSION=$(grep SCRIPT_VERSION $SHFILE | head -n1 | sed 's/.*=//')
if [ -s "$SHFILE" -a "$REMOTE_VERSION" != "$SCRIPT_VERSION" ]; then
if [[ -n $DIALOG ]]
Expand Down Expand Up @@ -233,7 +233,7 @@ withdmesg() {
echo "!!ALSA/HDA dmesg" >> $FILE
echo "!!--------------" >> $FILE
echo "" >> $FILE
dmesg | grep -C1 -E 'ALSA|HDA|HDMI|snd[_-]|sound|hda.codec|hda.intel' >> $FILE
dmesg | grep -C1 -E 'ALSA|HDA|HDMI|snd[_-]|sound|audio|hda.codec|hda.intel' >> $FILE
echo "" >> $FILE
echo "" >> $FILE
}
Expand Down Expand Up @@ -425,9 +425,11 @@ get_alsa_library_version
ALSA_UTILS_VERSION=$(amixer -v | awk '{ print $3 }')

ESDINST=$(command -v esd)
PWINST=$(command -v pipewire)
PAINST=$(command -v pulseaudio)
ARTSINST=$(command -v artsd)
JACKINST=$(command -v jackd)
JACK2INST=$(command -v jackdbus)
ROARINST=$(command -v roard)
DMIDECODE=$(command -v dmidecode)

Expand Down Expand Up @@ -461,7 +463,7 @@ if [ -d /sys/bus/acpi/devices ]; then
done
fi

cat /proc/asound/modules 2>/dev/null | awk '{ print $2 }' > $TEMPDIR/alsamodules.tmp
awk '{ print $2 " (card " $1 ")" }' < /proc/asound/modules > $TEMPDIR/alsamodules.tmp 2> /dev/null
cat /proc/asound/cards > $TEMPDIR/alsacards.tmp
if [[ ! -z "$LSPCI" ]]; then
for class in 0401 0402 0403; do
Expand Down Expand Up @@ -555,6 +557,13 @@ echo "" >> $FILE
echo "!!Sound Servers on this system" >> $FILE
echo "!!----------------------------" >> $FILE
echo "" >> $FILE
if [[ -n $PWINST ]];then
[[ $(pgrep '^(.*/)?pipewire$') ]] && PWRUNNING="Yes" || PWRUNNING="No"
echo "PipeWire:" >> $FILE
echo " Installed - Yes ($PWINST)" >> $FILE
echo " Running - $PWRUNNING" >> $FILE
echo "" >> $FILE
fi
if [[ -n $PAINST ]];then
[[ $(pgrep '^(.*/)?pulseaudio$') ]] && PARUNNING="Yes" || PARUNNING="No"
echo "Pulseaudio:" >> $FILE
Expand Down Expand Up @@ -583,6 +592,13 @@ echo " Installed - Yes ($JACKINST)" >> $FILE
echo " Running - $JACKRUNNING" >> $FILE
echo "" >> $FILE
fi
if [[ -n $JACK2INST ]];then
[[ $(pgrep '^(.*/)?jackdbus$') ]] && JACK2RUNNING="Yes" || JACK2RUNNING="No"
echo "Jack2:" >> $FILE
echo " Installed - Yes ($JACK2INST)" >> $FILE
echo " Running - $JACK2RUNNING" >> $FILE
echo "" >> $FILE
fi
if [[ -n $ROARINST ]];then
[[ $(pgrep '^(.*/)?roard$') ]] && ROARRUNNING="Yes" || ROARRUNNING="No"
echo "RoarAudio:" >> $FILE
Expand Down Expand Up @@ -611,8 +627,7 @@ echo "" >> $FILE
echo "" >> $FILE
fi

if [ "$SNDOPTIONS" ]
then
if [ "$SNDOPTIONS" ]; then
echo "!!Modprobe options (Sound related)" >> $FILE
echo "!!--------------------------------" >> $FILE
echo "" >> $FILE
Expand All @@ -635,6 +650,18 @@ if [ -d "$SYSFS" ]; then
echo "" >> $FILE
done
echo "" >> $FILE
echo "!!Sysfs card info" >> $FILE
echo "!!---------------" >> $FILE
echo "" >> $FILE
for cdir in $(echo $SYSFS/class/sound/card*); do
echo "!!Card: $cdir" >> $FILE
driver=$(readlink -f "$cdir/device/driver")
echo "Driver: $driver" >> $FILE
echo "Tree:" >> $FILE
tree --noreport $cdir -L 2 | sed -e 's/^/\t/g' >> $FILE
echo "" >> $FILE
done
echo "" >> $FILE
fi

if [ -s "$TEMPDIR/alsa-hda-intel.tmp" ]; then
Expand Down Expand Up @@ -796,7 +823,7 @@ if [ -n "$1" ]; then
echo " --update (check server for script updates)"
echo " --upload (upload contents to remote server)"
echo " --no-upload (do not upload contents to remote server)"
echo " --pastebin (use http://pastebin.ca) as remote server"
echo " --pastebin (use https://pastebin.ca) as remote server"
echo " instead www.alsa-project.org"
echo " --stdout (print alsa information to standard output"
echo " instead of a file)"
Expand Down Expand Up @@ -825,28 +852,28 @@ if ! wget --help 2>/dev/null | grep -q post-file; then
:
elif [ -n "$DIALOG" ]; then
if [ -z "$PASTEBIN" ]; then
dialog --backtitle "$BGTITLE" --msgbox "Could not automatically upload output to http://www.alsa-project.org.\nPossible reasons are:\n\n 1. Couldn't find 'wget' in your PATH\n 2. Your version of wget is less than 1.8.2\n\nPlease manually upload $NFILE to http://www.alsa-project.org/cardinfo-db/ and submit your post." 25 100
dialog --backtitle "$BGTITLE" --msgbox "Could not automatically upload output to https://www.alsa-project.org.\nPossible reasons are:\n\n 1. Couldn't find 'wget' in your PATH\n 2. Your version of wget is less than 1.8.2\n\nPlease manually upload $NFILE to https://www.alsa-project.org/cardinfo-db/ and submit your post." 25 100
else
dialog --backtitle "$BGTITLE" --msgbox "Could not automatically upload output to http://www.pastebin.ca.\nPossible reasons are:\n\n 1. Couldn't find 'wget' in your PATH\n 2. Your version of wget is less than 1.8.2\n\nPlease manually upload $NFILE to http://www.pastebin.ca/upload.php and submit your post." 25 100
dialog --backtitle "$BGTITLE" --msgbox "Could not automatically upload output to https://www.pastebin.ca.\nPossible reasons are:\n\n 1. Couldn't find 'wget' in your PATH\n 2. Your version of wget is less than 1.8.2\n\nPlease manually upload $NFILE to https://www.pastebin.ca/upload.php and submit your post." 25 100
fi
else
if [ -z "$PASTEBIN" ]; then
echo ""
echo "Could not automatically upload output to http://www.alsa-project.org"
echo "Could not automatically upload output to https://www.alsa-project.org"
echo "Possible reasons are:"
echo " 1. Couldn't find 'wget' in your PATH"
echo " 2. Your version of wget is less than 1.8.2"
echo ""
echo "Please manually upload $NFILE to http://www.alsa-project.org/cardinfo-db/ and submit your post."
echo "Please manually upload $NFILE to https://www.alsa-project.org/cardinfo-db/ and submit your post."
echo ""
else
echo ""
echo "Could not automatically upload output to http://www.pastebin.ca"
echo "Could not automatically upload output to https://www.pastebin.ca"
echo "Possible reasons are:"
echo " 1. Couldn't find 'wget' in your PATH"
echo " 2. Your version of wget is less than 1.8.2"
echo ""
echo "Please manually upload $NFILE to http://www.pastebin.ca/upload.php and submit your post."
echo "Please manually upload $NFILE to https://www.pastebin.ca/upload.php and submit your post."
echo ""
fi
fi
Expand Down Expand Up @@ -900,9 +927,9 @@ else
fi

if [[ -z $PASTEBIN ]]; then
wget -O - --tries=5 --timeout=60 --post-file=$FILE "http://www.alsa-project.org/cardinfo-db/" &>$TEMPDIR/wget.tmp
wget -O - --tries=5 --timeout=60 --post-file=$FILE "https://www.alsa-project.org/cardinfo-db/" &>$TEMPDIR/wget.tmp
else
wget -O - --tries=5 --timeout=60 --post-file=$FILE "http://pastebin.ca/quiet-paste.php?api=$PASTEBINKEY&encrypt=t&encryptpw=blahblah" &>$TEMPDIR/wget.tmp
wget -O - --tries=5 --timeout=60 --post-file=$FILE "https://pastebin.ca/quiet-paste.php?api=$PASTEBINKEY&encrypt=t&encryptpw=blahblah" &>$TEMPDIR/wget.tmp
fi

if [ $? -ne 0 ]; then
Expand Down Expand Up @@ -945,7 +972,7 @@ fi # dialog
if [ -z "$PASTEBIN" ]; then
FINAL_URL=$(grep "SUCCESS:" $TEMPDIR/wget.tmp | cut -d ' ' -f 2)
else
FINAL_URL=$(grep "SUCCESS:" $TEMPDIR/wget.tmp | sed -n 's/.*\:\([0-9]\+\).*/http:\/\/pastebin.ca\/\1/p')
FINAL_URL=$(grep "SUCCESS:" $TEMPDIR/wget.tmp | sed -n 's/.*\:\([0-9]\+\).*/https:\/\/pastebin.ca\/\1/p')
fi

# See if tput is available, and use it if it is.
Expand Down
2 changes: 1 addition & 1 deletion alsactl/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ EXTRA_DIST=alsactl.1 alsactl_init.xml
AM_CFLAGS = -D_GNU_SOURCE

alsactl_SOURCES=alsactl.c state.c lock.c utils.c init_parse.c init_ucm.c \
daemon.c monitor.c
daemon.c monitor.c clean.c

alsactl_CFLAGS=$(AM_CFLAGS) -D__USE_GNU \
-DSYS_ASOUNDRC=\"$(ASOUND_STATE_DIR)/asound.state\" \
Expand Down
64 changes: 53 additions & 11 deletions alsactl/alsactl.1
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ alsactl \- advanced controls for ALSA soundcard driver

\fBalsactl\fP \fImonitor\fP <card # or id>

\fBalsactl\fP [\fIclean\fP] <card # or id or device> [[control identifiers]]

.SH DESCRIPTION
\fBalsactl\fP is used to control advanced settings for the ALSA
soundcard drivers. It supports multiple soundcards. If your card has
Expand All @@ -16,31 +18,67 @@ you have come to the right place.

.SH COMMANDS

\fIstore\fP saves the current driver state for the selected soundcard
.SS Introduction

The \fI<card>\fP argument is optional. If no soundcards are specified,
setup for all cards will be saved, loaded or monitored.

.SS store <card>

This command saves the current driver state for the selected soundcard
to the configuration file.

\fIrestore\fP loads driver state for the selected soundcard from the
.SS restore <card>

This command loads driver state for the selected soundcard from the
configuration file. If restoring fails (eventually partly), the init
action is called.

\fInrestore\fP is like \fIrestore\fP, but it notifies also the daemon
.SS nrestore <card>

This command is like \fIrestore\fP, but it notifies also the daemon
to do new rescan for available soundcards.

\fIinit\fP tries to initialize all devices to a default state. If device
.SS init <card>

This command tries to initialize all devices to a default state. If device
is not known, error code 99 is returned.

\fIdaemon\fP manages to save periodically the sound state.
.SS daemon

This command manages to save periodically the sound state.

.SS rdaemon

This command is like \fIdaemon\fP but restore the sound state at first.

\fIrdaemon\fP like \fIdaemon\fP but restore the sound state at first.
.SS kill <cmd>

\fIkill\fP notifies the daemon to do the specified operation (quit,
This command notifies the daemon to do the specified operation (quit,
rescan, save_and_quit).

\fImonitor\fP is for monitoring the events received from the given
.SS monitor <card>

This command is for monitoring the events received from the given
control device.

If no soundcards are specified, setup for all cards will be saved,
loaded or monitored.
.SS clean <card> [filter]

This command cleans the controls created by applications.

The optional element identifiers are accepted as a filter. One extra
argument is parsed as an element identifiers.

\fIExample:\fP alsactl clean 0 "name='PCM'" "name='Mic Phantom'"

.SS dump-state

This command dumps the current state (all cards) to stdout.

.SS dump-cfg

This command dumps the current configuration (all cards) to stdout.
Note that the configuration hooks are evaluated.

.SH OPTIONS

Expand All @@ -60,6 +98,10 @@ Print alsactl version number.
\fI\-f, \-\-file\fP
Select the configuration file to use. The default is /var/lib/alsa/asound.state.

.TP
\fI\-a, \-\-config-dir\fP
Select the boot / hotplug ALSA configuration directory to use. The default is /var/lib/alsa.

.TP
\fI\-l, \-\-lock\fP
Use the file locking to serialize the concurrent access to the state file (this
Expand All @@ -81,7 +123,7 @@ as much as possible. This option is set as default now.

.TP
\fI\-g, \-\-ignore\fP
Used with store and restore commands. Do not show 'No soundcards found'
Used with store, restore and init commands. Do not show 'No soundcards found'
and do not set an error exit code when soundcards are not installed.

.TP
Expand Down
Loading