]> git.alsa-project.org Git - alsa-utils.git/log
alsa-utils.git
2 years agogithub: update build.yml
Jaroslav Kysela [Wed, 30 Aug 2023 11:13:45 +0000 (13:13 +0200)]
github: update build.yml

- use actions/checkout@v3
- improve code to generate a specific git version

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoaseqdump: fix MIDI 2.0 code - it compiles now
Jaroslav Kysela [Wed, 30 Aug 2023 13:55:06 +0000 (15:55 +0200)]
aseqdump: fix MIDI 2.0 code - it compiles now

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agogitcompile: set more verbose compilation warnings
Jaroslav Kysela [Wed, 30 Aug 2023 11:05:21 +0000 (13:05 +0200)]
gitcompile: set more verbose compilation warnings

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agonhlt-dmic-info: fix the verbose compilation warnings for latest gcc
Jaroslav Kysela [Wed, 30 Aug 2023 11:01:59 +0000 (13:01 +0200)]
nhlt-dmic-info: fix the verbose compilation warnings for latest gcc

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoalsaucm: fix the verbose compilation warnings for latest gcc
Jaroslav Kysela [Wed, 30 Aug 2023 11:01:30 +0000 (13:01 +0200)]
alsaucm: fix the verbose compilation warnings for latest gcc

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoaplaymidi: fix the verbose compilation warnings for latest gcc
Jaroslav Kysela [Wed, 30 Aug 2023 10:54:50 +0000 (12:54 +0200)]
aplaymidi: fix the verbose compilation warnings for latest gcc

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoaseqnet: fix the verbose compilation warnings for latest gcc
Jaroslav Kysela [Wed, 30 Aug 2023 10:55:41 +0000 (12:55 +0200)]
aseqnet: fix the verbose compilation warnings for latest gcc

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoaseqdump: fix the verbose compilation warnings for latest gcc
Jaroslav Kysela [Wed, 30 Aug 2023 10:55:12 +0000 (12:55 +0200)]
aseqdump: fix the verbose compilation warnings for latest gcc

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoaconnect: fix the verbose compilation warnings for latest gcc
Jaroslav Kysela [Wed, 30 Aug 2023 10:53:16 +0000 (12:53 +0200)]
aconnect: fix the verbose compilation warnings for latest gcc

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agospeaker-test: fix the verbose compilation warnings for latest gcc
Jaroslav Kysela [Wed, 30 Aug 2023 10:51:16 +0000 (12:51 +0200)]
speaker-test: fix the verbose compilation warnings for latest gcc

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoamidi: fix the verbose compilation warnings for latest gcc
Jaroslav Kysela [Wed, 30 Aug 2023 10:50:57 +0000 (12:50 +0200)]
amidi: fix the verbose compilation warnings for latest gcc

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agobat: fix the verbose compilation warnings for latest gcc
Jaroslav Kysela [Wed, 30 Aug 2023 10:44:37 +0000 (12:44 +0200)]
bat: fix the verbose compilation warnings for latest gcc

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoiecset: fix the verbose compilation warnings for latest gcc
Jaroslav Kysela [Wed, 30 Aug 2023 10:37:12 +0000 (12:37 +0200)]
iecset: fix the verbose compilation warnings for latest gcc

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoalsamixer: fix the verbose compilation warnings for latest gcc
Jaroslav Kysela [Wed, 30 Aug 2023 10:36:45 +0000 (12:36 +0200)]
alsamixer: fix the verbose compilation warnings for latest gcc

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoalsaloop: fix the verbose compilation warnings for latest gcc
Jaroslav Kysela [Wed, 30 Aug 2023 10:36:15 +0000 (12:36 +0200)]
alsaloop: fix the verbose compilation warnings for latest gcc

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoaxfer: fix the verbose compilation warnings for latest gcc
Jaroslav Kysela [Wed, 30 Aug 2023 10:35:57 +0000 (12:35 +0200)]
axfer: fix the verbose compilation warnings for latest gcc

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoalsactl: fix the verbose compilation warnings for latest gcc
Jaroslav Kysela [Wed, 30 Aug 2023 10:35:23 +0000 (12:35 +0200)]
alsactl: fix the verbose compilation warnings for latest gcc

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoamixer: fix the verbose compilation warnings for latest gcc
Jaroslav Kysela [Wed, 30 Aug 2023 10:35:03 +0000 (12:35 +0200)]
amixer: fix the verbose compilation warnings for latest gcc

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoaplay: fix the verbose compilation warnings for latest gcc
Jaroslav Kysela [Wed, 30 Aug 2023 10:34:36 +0000 (12:34 +0200)]
aplay: fix the verbose compilation warnings for latest gcc

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agotopology: fix the verbose compilation warnings for latest gcc
Jaroslav Kysela [Wed, 30 Aug 2023 10:33:19 +0000 (12:33 +0200)]
topology: fix the verbose compilation warnings for latest gcc

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoalsactl: fix the copy-n-paste typo (SND_RAWMIDI_STREAM_*)
Jaroslav Kysela [Wed, 30 Aug 2023 08:57:31 +0000 (10:57 +0200)]
alsactl: fix the copy-n-paste typo (SND_RAWMIDI_STREAM_*)

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoaseqdump: Add options to switch view mode
Takashi Iwai [Mon, 28 Aug 2023 14:36:17 +0000 (16:36 +0200)]
aseqdump: Add options to switch view mode

This patch adds to switch the operation mode of aseqdump to specify
how the values are shown.  Namely, it allows to show the MIDI 2.0
values in two more different ways: compatible "normalized" view and
percentage view, in addition to the default "raw" view.

The "raw" view mode just shows the value found in the event almost as
is.  The MIDI 2.0 values are shown in 16 or 32bit hex numbers.
The channel and UMP group numbers are 0-based, taking from 0 to 15.

OTOH, in the normalized view, the 16bit or 32bit velocity and data
values of MIDI 2.0 are normalized to the value fit in MIDI 1.0,
i.e. from 0 to 127, but with decimal points.  Similarly, the pitch
wheel values are normalized between -8192 to 8191.
Also, the channel numbers and UMP group numbers are 1-based, taking
from 1 to 16.

In the percentage view, the velocity and data values are normalized
and shown in percentage, from 0% to 100%.  The pitch wheel is
normalized from -100% to 100%.  The channel and UMP groups are 1-based
as well as in normalized view mode.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2 years agoaseqdump: Correct wrong channel number
Takashi Iwai [Tue, 4 Jul 2023 15:49:25 +0000 (17:49 +0200)]
aseqdump: Correct wrong channel number

Correct the wrong value shown in MIDI2 default output (status instead
of channel).  Also adjust the printf formats to use %2d consistently
for the channel numbers.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2 years agoaseqdump: Align outputs of UMP MIDI 1.0 with legacy MIDI 1.0
Takashi Iwai [Tue, 4 Jul 2023 15:42:44 +0000 (17:42 +0200)]
aseqdump: Align outputs of UMP MIDI 1.0 with legacy MIDI 1.0

The outputs from UMP MIDI 1.0 are slightly differently shown as the
legacy MIDI 1.0 (the velocities and values are in hex), which is
rather confusing.  Let's make them look more similar.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2 years agospeaker-test: allow large buffer and period time setup - up to 100 seconds
Jaroslav Kysela [Sun, 13 Aug 2023 17:19:53 +0000 (19:19 +0200)]
speaker-test: allow large buffer and period time setup - up to 100 seconds

BugLink: https://github.com/alsa-project/alsa-utils/issues/224
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agotopology: plugins: nhlt: remove dmic error print
Jaska Uimonen [Tue, 30 May 2023 14:09:13 +0000 (17:09 +0300)]
topology: plugins: nhlt: remove dmic error print

Remove "fs not set" print from dmic processing. The message is printed out
when pdm is enabled but not configured. Many sof topologies enable all
pdms even if not used as it is a requirement for some Intel firmware
versions to work correctly.

Fixes: https://github.com/alsa-project/alsa-utils/pull/218
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoTopology: NHLT: Intel: Update DMIC FIR coefficients
Seppo Ingalsuo [Fri, 21 Apr 2023 11:07:33 +0000 (14:07 +0300)]
Topology: NHLT: Intel: Update DMIC FIR coefficients

The previous version contained some hand edit mistakes those
impacted the filter frequency response. The used generator script
is found from directory:

https://github.com/thesofproject/sof/tree/main/tools/tune/dmic .

Use command "dmic_batch.h" to generate these and copy new version
to alsa-utils.

Fixes: https://github.com/alsa-project/alsa-utils/pull/218
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agotopology: nhlt: intel: support more device types and directions
Brent Lu [Tue, 25 Jul 2023 14:58:17 +0000 (22:58 +0800)]
topology: nhlt: intel: support more device types and directions

In current NHLT table the device type of all SSP endpoints are set to
BT Sideband(0) instead of SSP Analog Codec(4) and the direction only
supports Render(0) and Capture(1).

Here we introduce two new quirks from topology to set the device type
correctly and support two more directions: Render with loopback(2)
and Feedback for render(3) for speakers with echo reference or IV
sense feedback.

Fixes: https://github.com/alsa-project/alsa-utils/pull/226
Signed-off-by: Brent Lu <brent.lu@intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agotopology: pre-processor: Add support for CombineArrays
Ranjani Sridharan [Wed, 24 May 2023 01:13:35 +0000 (18:13 -0700)]
topology: pre-processor: Add support for CombineArrays

Introduce a new keyword, "CombineArrays" to instantiate multiple nodes
of the type specified. For example:

CombineArrays.Object.Base.input_audio_format [
{
in_rate [
8000
16000
48000
]
in_bit_depth [
32
]
in_valid_bit_depth [
24
32
]
}
]

This would be expanded into 6 objects with the rate, bit_depth and
valid_bit_depth combinations of the arrays of values above.

Object.Base.input_audio_format [
{
in_rate 8000
in_bit_depth 32
in_valid_bit_depth 32
}
{
in_rate 16000
in_bit_depth 32
in_valid_bit_depth 32
}
{
in_rate 48000
in_bit_depth 32
in_valid_bit_depth 32
}
{
in_rate 8000
in_bit_depth 32
in_valid_bit_depth 24
}
{
in_rate 16000
in_bit_depth 32
in_valid_bit_depth 24
}
{
in_rate 48000
in_bit_depth 32
in_valid_bit_depth 24
}
]

The CombineArrays definition is an array so that multiple combinations can
be specified in order to deal with only valid combinations. For example,
16-bit bit_depth is only valid with 16-bit valid_bit_depth. So if we
also want to add those combinations with the multiple rates, the
definition would look like:

CombineArrays.Object.Base.input_audio_format [
        {
                in_rate [
                        8000
                        16000
                        48000
                ]
                in_bit_depth [
                        32
                ]
                in_valid_bit_depth [
                        24
                        32
                ]
        }
        {
                in_rate [
                        8000
                        16000
                        48000
                ]
                in_bit_depth [
                        16
                ]
                in_valid_bit_depth [
                        16
                ]
        }
]

Fixes: https://github.com/alsa-project/alsa-utils/pull/216
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoalsactl: add define to compile with glibc 2.38
Rudi Heitbaum [Sat, 22 Jul 2023 15:36:09 +0000 (15:36 +0000)]
alsactl: add define to compile with glibc 2.38

strlcat and strlcpy have been added to glibc 2.38.
update the defines to use the glibc versions, and not conflict with
string.h.

ref:
- https://sourceware.org/git/?p=glibc.git;a=commit;h=454a20c8756c9c1d55419153255fc7692b3d2199

Fixes: https://github.com/alsa-project/alsa-utils/pull/225
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agotopology: plugins: nhlt: set dmic stereo mode only in hw version 1
Jaska Uimonen [Wed, 21 Jun 2023 15:02:24 +0000 (18:02 +0300)]
topology: plugins: nhlt: set dmic stereo mode only in hw version 1

Dmic stereo mode should be set only in hw version 1. In later hw
versions this bit is reserved.

Fixes: https://github.com/alsa-project/alsa-utils/pull/222
Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.ntel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoaplaymidi: Add UMP support
Takashi Iwai [Wed, 22 Mar 2023 07:55:10 +0000 (08:55 +0100)]
aplaymidi: Add UMP support

By switching via the new option -u, aplaymidi can behave as a UMP
client and output UMP packets instead of legacy sequencer events.
As of now, the only supported version is 1.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2 years agoaconnect: Add UMP support
Takashi Iwai [Wed, 22 Mar 2023 07:45:54 +0000 (08:45 +0100)]
aconnect: Add UMP support

This patch extends the aconnect program for supporting UMP.
Now the verbose output can show the UMP client version.

Also, a new option -a is added to control the behavior whether to show
the all ports including the inactive ports or not.  As default, only
the active ports are shown, but UMP clients allow to hide some ports
as inactive.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2 years agoaseqdump: Add UMP support
Takashi Iwai [Thu, 17 Nov 2022 16:48:23 +0000 (17:48 +0100)]
aseqdump: Add UMP support

Add the support for showing the UMP events to aseqdump.
With the new option -u, the program can start as a UMP sequencer
client and receive UMP events instead of the legacy MIDI events.

Also, the automatic event conversion among legacy and UMP clients can
be suppressed by the new -r option, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2 years agonhlt: add nhlt-dmic-info utility
Jaroslav Kysela [Tue, 16 May 2023 13:38:24 +0000 (15:38 +0200)]
nhlt: add nhlt-dmic-info utility

The microphone arrays for Intel platforms are described in the
ACPI NHLT table. This table is available in sysfs. Parse this
information and use a more common format (json) for output. This
information is usable for the further DSP processing.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoRelease v1.2.9 v1.2.9
Jaroslav Kysela [Thu, 4 May 2023 07:16:17 +0000 (09:16 +0200)]
Release v1.2.9

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoalsa-info.sh: increase version to 0.5.3
Jaroslav Kysela [Wed, 3 May 2023 14:41:21 +0000 (16:41 +0200)]
alsa-info.sh: increase version to 0.5.3

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoalsa-info.sh: uname - reduce execs by four, and eliminate a logic bug
wileyhy [Sat, 29 Apr 2023 02:57:20 +0000 (19:57 -0700)]
alsa-info.sh: uname - reduce execs by four, and eliminate a logic bug

Per `info uname`, `uname` always prints its data in the same order.
Also, "note that A && B || C is not if-then-else. C may run when A is true."
https://www.shellcheck.net/wiki/SC2015

set -x; read -r KERNEL_VERSION < <(uname -v); smp=x; \
  [[ "$KERNEL_VERSION" = *SMP* ]] && \
  { smp=y; readonly smp; false;} || smp=n; set -

  ... https://github.com/koalaman/shellcheck

Fixes: https://github.com/alsa-project/alsa-utils/pull/207
From: wileyhy @ github
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoalsa-info.sh: Update `test` '-a' and '-o' to '&&' and '||'
wileyhy [Sat, 29 Apr 2023 02:49:48 +0000 (19:49 -0700)]
alsa-info.sh: Update `test` '-a' and '-o' to '&&' and '||'

lines 50, 103: in two compound ['s, replace '-a' with '] && ['
  SC2166 – Prefer `[ p ] && [ q ]` as `[ p -a q ]` is not well defined.
  SC2107 – Instead of `[ a && b ]`, use `[ a ] && [ b ]`.

line 45: in a compound test command, change '-o' to '|| test'
  SC1139 – Use `||` instead of `-o` between test commands.
  SC2109 – Instead of `[ a || b ]`, use `[ a ] || [ b ]`.

 ... https://github.com/koalaman/shellcheck

Fixes: https://github.com/alsa-project/alsa-utils/pull/206
From: wileyhy @ github
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoarecord: use correct duration
Tj [Sat, 15 Apr 2023 09:25:16 +0000 (10:25 +0100)]
arecord: use correct duration

When a duration is specified but the the capture device cannot use the
requested sample rate and an alternative rate is used the duration
sample count must be (re)calculated.

Fixes: https://github.com/alsa-project/alsa-utils/pull/200
Signed-off-by: Tj <hacker@iam.tj>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agotopology: pre-processor: fix regular expression flags
Chao Song [Mon, 13 Mar 2023 05:38:37 +0000 (13:38 +0800)]
topology: pre-processor: fix regular expression flags

The REG_ICASE flag is a compile-time flag (cflags), it
should be used with regcomp() instead of regexec(). Also
add the REG_EXTENDED flag in this patch to make patterns
like 'tgl|adl' work.

Fixes: https://github.com/alsa-project/alsa-utils/pull/195
Signed-off-by: Chao Song <chao.song@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoalsa-info.sh: print ctl-led list from sysfs
Jaroslav Kysela [Fri, 24 Mar 2023 08:07:29 +0000 (09:07 +0100)]
alsa-info.sh: print ctl-led list from sysfs

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoalsaloop: fix loopcount condition
Jaroslav Kysela [Mon, 27 Feb 2023 12:35:17 +0000 (13:35 +0100)]
alsaloop: fix loopcount condition

BugLink: https://github.com/alsa-project/alsa-utils/issues/185
Fixes: e61f35b ("alsaloop: try adapt avail_min for playback to avoid 100% CPU usage")
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoalsabat: improve error handling in bat_init()
Jaroslav Kysela [Mon, 27 Feb 2023 12:23:12 +0000 (13:23 +0100)]
alsabat: improve error handling in bat_init()

Fix 'LC_ALL=C.UTF-8 ./alsabat' command.

Fixes: https://github.com/alsa-project/alsa-utils/issues/192
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoalsactl: fix OpenBSD compilation (add include of os_compat.h)
SASANO Takayoshi [Sat, 25 Feb 2023 09:29:01 +0000 (18:29 +0900)]
alsactl: fix OpenBSD compilation (add include of os_compat.h)

Fixes: https://github.com/alsa-project/alsa-utils/pull/193
Signed-off-by: SASANO Takayoshi <uaa@uaa.org.uk>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoalsaucm: fix typo in docs (can can)
Jay-716 [Thu, 9 Feb 2023 13:47:43 +0000 (21:47 +0800)]
alsaucm: fix typo in docs (can can)

Fixes: https://github.com/alsa-project/alsa-utils/pull/191
Signed-off-by: Jay-716 <13422525511@163.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoinclude: fix package - add bswap.h and os_compat.h to noinst_HEADERS
Jaroslav Kysela [Mon, 27 Feb 2023 12:05:17 +0000 (13:05 +0100)]
include: fix package - add bswap.h and os_compat.h to noinst_HEADERS

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoalsaucm: add also card index for '-c' argument
Jaroslav Kysela [Mon, 27 Feb 2023 11:54:49 +0000 (12:54 +0100)]
alsaucm: add also card index for '-c' argument

Make semantics for this argument in sync with other ALSA utilities.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoalsamixer: add -B,--black-background option
Jaroslav Kysela [Fri, 10 Feb 2023 12:34:17 +0000 (13:34 +0100)]
alsamixer: add -B,--black-background option

Fixes: https://github.com/alsa-project/alsa-utils/issues/176
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agotopology: pre-process-object: Expand definitions within strings
Jyri Sarha [Mon, 16 Jan 2023 21:17:23 +0000 (23:17 +0200)]
topology: pre-process-object: Expand definitions within strings

Expand the pre-processor to allow for expanding the definitions,
object attribute references and arithmetic expressions within strings.

With this extension its possible to embedded definitions or attribute
references into topology string objects. For example:

Define {
       PCM_NUMBER 1
}

Object.Pipeline {
pcm-playback.0 {

Object.Widget {
copier.1 {
copier_type "host"
}
gain.1 {
Object.Control.mixer.1 {
name 'hw:$[$PCM_NUMBER - 1] Playback Volume'
}
}

Object.Base {
route.1 {
source copier.host.$index.1
sink gain.$index.1
}
}
}

In the example the $[$PCM_NUMBER - 1] would be replaced with the
result of arithmetic expression '1 - 1' in other words '0' , and
$index in all occurrences with index attribute found from pipeline
object. Any non alpha numeric or '_' character are treated as
delimiters for variable names if $[]-notation is not used.

Fixes: https://github.com/alsa-project/alsa-utils/pull/189
Signed-off-by: Jyri Sarha <jyri.sarha@intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agotopology: pre-process-object: Remove all trailing white space
Jyri Sarha [Wed, 18 Jan 2023 19:41:47 +0000 (21:41 +0200)]
topology: pre-process-object: Remove all trailing white space

Signed-off-by: Jyri Sarha <jyri.sarha@intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoAdd OpenBSD support
SASANO Takayoshi [Sat, 31 Dec 2022 07:03:34 +0000 (16:03 +0900)]
Add OpenBSD support

- ERESTART not supported platform: use EINTR instead
- add include/os_compat.h, well-used OS specific definition
- copied include/bswap.h from alsa-lib

- EPIPE and ESTRPIPE are different usage, but currently
  EPIPE is used when ESTRPIPE is not defined.

  To fix this problem, assign ESPIPE instead.

Fixes: https://github.com/alsa-project/alsa-utils/pull/186
Signed-off-by: SASANO Takayoshi <uaa@uaa.org.uk>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agotopology: pre-processor: support to include conf block with IncludeByKey
Chao Song [Tue, 17 Jan 2023 12:52:18 +0000 (20:52 +0800)]
topology: pre-processor: support to include conf block with IncludeByKey

Currently, The IncludeByKey mechanism only supports conditionally
including a topology conf file. Even if we only
want to conditionally include a small conf block, we have
to use a conf file and in the end we will have a lot of
trivial conf files that only contain a single conf blocks.

This patch extends the use of IncludeByKey ito support including conf
blocks conditionally. For example, the block below will include the route
conditionally based on the variable definition COPIER_ROUTE.

Define {
COPIER_ROUTE 1
}

IncludeByKey.COPIER_ROUTE {
        "1" {
Object.Base.route.11 {
source copier.module.8.2
sink copier.module.17.2
}
    }
}

Fixes: https://github.com/alsa-project/alsa-utils/pull/187
Signed-off-by: Chao Song <chao.song@linux.intel.com>
Co-authored-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agotopology: nhlt: intel: add support for ssp blob ver 1.5
Jaska Uimonen [Fri, 16 Dec 2022 16:25:35 +0000 (18:25 +0200)]
topology: nhlt: intel: add support for ssp blob ver 1.5

Ssp plugin had already a definition for newer nhlt blob version 1.5.
Add support to generate that instead of legacy blob. Never blob can be
generated by adding "version" field in SSP dai topology2 definition and
setting it to lower 16 bits of SSP_BLOB_VER_1_5 (0xee000105) -> 0x105
i.e 8 bits for major and 8 bits for minor version.

SSP."0" {
id              0
dai_index       0
direction       "duplex"
name            NoCodec-0
version         0x105
}

Fixes: https://github.com/alsa-project/alsa-utils/pull/184
Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agotopology: plugins: nhlt: add ssp aux controls
Jaska Uimonen [Wed, 12 Oct 2022 10:44:55 +0000 (13:44 +0300)]
topology: plugins: nhlt: add ssp aux controls

Intel ssp blob can have auxiliary controls catenated as tlv array at the
end of its "normal" data blob. These are needed in some platforms for
example to enable hardware clocks earlier than streaming starts.

In topology the auxiliary data classes are embedded into hw_config and
can be instantiated like:

Object.Base.hw_config."SSP0_0" {
id              0
mclk_freq       38400000
bclk_freq       256000
tdm_slot_width  16
format          "DSP_A"
bclk            "codec_provider"
fsync           "codec_provider"
fsync_freq      16000

Object.Base.mn_config."MN_0" {
m_div   100
n_div   200
}

Object.Base.clk_config."CLK_0" {
clock_warm_up          1
mclk                   2
warm_up_ovr            3
clock_stop_delay       4
keep_running           5
clock_stop_ovr         6
}
}

Fixes: https://github.com/alsa-project/alsa-utils/pull/184
Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoaplay,axfer: Replace off64_t with off_t
Khem Raj [Thu, 15 Dec 2022 22:04:10 +0000 (14:04 -0800)]
aplay,axfer: Replace off64_t with off_t

Also replace lseek64 with lseek.

_FILE_OFFSET_BITS=64 is passed to needed platforms since configure uses
AC_SYS_LARGEFILE macro. Therefore off_t is already 64-bit and lseek is
same as lseek64.

Additionally this fixes buils with latest musl where these lfs64
functions are moved out from _GNU_SOURCE and under _LARGEFILE64_SOURCE
macro alone. This makes the builds fail on 32-bit platforms even though
default off_t on musl is 64-bit always.

Fixes: https://github.com/alsa-project/alsa-utils/pull/183
Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agotopology: propagate nhlt plugin error to main program
Chao Song [Thu, 8 Dec 2022 06:40:04 +0000 (14:40 +0800)]
topology: propagate nhlt plugin error to main program

Let's propagate nhlt plugin error to main program,
so that we don't generate a wrong nhlt blob silently.

Fixes: https://github.com/alsa-project/alsa-utils/pull/181
Signed-off-by: Chao Song <chao.song@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agotopology: plugins: nhlt: fix ssp debug
Jaska Uimonen [Wed, 7 Dec 2022 13:32:10 +0000 (15:32 +0200)]
topology: plugins: nhlt: fix ssp debug

Nhlt ssp plugin debug feature was broken due to recent change in ssp
indexing, thus fix it.

Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoaplay: Fix parsing of format with WAV_FMT_EXTENSIBLE header
Amadeusz Sławiński [Thu, 10 Nov 2022 23:45:01 +0000 (00:45 +0100)]
aplay: Fix parsing of format with WAV_FMT_EXTENSIBLE header

WAV_FMT_EXTENSIBLE header contains valid bits per sample, which can be
different than bits per sample. Make sure it is taken into account when
parsing headers and choosing playback format.

BugLink: https://github.com/alsa-project/alsa-utils/pull/178
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agotopology: nhlt: intel: ssp: fix obvious typo for 'codec_provider'
Pierre-Louis Bossart [Mon, 10 Oct 2022 20:18:39 +0000 (15:18 -0500)]
topology: nhlt: intel: ssp: fix obvious typo for 'codec_provider'

Looks like a bad search and replace?

Fixes: https://github.com/alsa-project/alsa-utils/pull/174
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoAdd Georgian translation
NorwayFun [Fri, 9 Sep 2022 08:29:41 +0000 (10:29 +0200)]
Add Georgian translation

Fixes: https://github.com/alsa-project/alsa-utils/pull/169
Signed-off-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agobat: Add 'readcapture' option to support analyzing external audio
Tim Bird [Tue, 17 May 2022 15:50:49 +0000 (09:50 -0600)]
bat: Add 'readcapture' option to support analyzing external audio

If audio data is captured on another device (ie we are NOT using
loopback mode), then allow alsabat to analyze that data, by passing
a filename reference on the command line.

Add the '--readcapture' option to the argument parser. When
this option is specified, avoid doing a local capture, and instead
just read the audio data from the indicated file, and analyze that.

Fixes: https://github.com/alsa-project/alsa-utils/pull/166
Signed-off-by: Tim Bird <tim.bird@sony.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoconfigure.ac: fix build without dlfcn.h
Fabrice Fontaine [Sun, 14 Aug 2022 18:31:30 +0000 (20:31 +0200)]
configure.ac: fix build without dlfcn.h

Fix the following static build failure (i.e. without dlfcn.h) raised
since version 1.2.7 and
https://github.com/alsa-project/alsa-utils/commit/44d3e8aa44fc12f95bfeef0e3a1051e8f77047b5:

pre-processor.c:28:10: fatal error: dlfcn.h: No such file or directory
   28 | #include <dlfcn.h>
      |          ^~~~~~~~~

Fixes:
 - http://autobuild.buildroot.org/results/1173a1ee28a58ce565a3274f35e868c35bb2e04e

Fixes: https://github.com/alsa-project/alsa-utils/pull/165
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agotopology: plugins: nhlt: fix ssp dai index
Jaska Uimonen [Fri, 5 Aug 2022 07:26:16 +0000 (10:26 +0300)]
topology: plugins: nhlt: fix ssp dai index

There was a conceptual error in handling the separate ssp dais, so fix
it.

Fixes: https://github.com/alsa-project/alsa-utils/pull/164
Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agotopology: plugins: nhlt: add dmic dai index
Jaska Uimonen [Fri, 5 Aug 2022 07:19:53 +0000 (10:19 +0300)]
topology: plugins: nhlt: add dmic dai index

Dmic might have multiple configurations for the same hw, so add them to
nhlt blob. The configurations are separated by dai_index.

Fixes: https://github.com/alsa-project/alsa-utils/pull/164
Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agotopology: plugins: fix off by 1 mem allocation error
Yong Zhi [Sat, 30 Jul 2022 01:05:56 +0000 (20:05 -0500)]
topology: plugins: fix off by 1 mem allocation error

Fix valgrind memcheck error:

==1337389== Invalid write of size 1
==1337389==    at 0x4A4AFAB: __vsnprintf_internal (vsnprintf.c:117)
==1337389==    by 0x4AECF40: __snprintf_chk (snprintf_chk.c:38)
==1337389==    by 0x484B870: snprintf (stdio2.h:67)
==1337389==    by 0x484B870: print_as_hex_bytes (nhlt-processor.c:112)
==1337389==    by 0x484B870: merge_manifest_data (nhlt-processor.c:154)
==1337389==    by 0x484B870: do_nhlt (nhlt-processor.c:420)
==1337389==    by 0x484B870: _snd_topology_nhlt_process (nhlt-processor.c:484)

The consecutive snprintf overwrites always the previous terminator until
it hits the very last call of:

snprintf(dst, ALSA_BYTE_CHARS + 1, "0x%02x,", *nhlt_buffer);

when the size n given to snprintf is 1 more than allocated.

Fixes: https://github.com/alsa-project/alsa-utils/pull/162
Signed-off-by: Yong Zhi <yong.zhi@intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agochore: Add link to master branch on GitHub Actions
Tomohiro IKEDA [Thu, 28 Jul 2022 12:52:28 +0000 (21:52 +0900)]
chore: Add link to master branch on GitHub Actions

Fixes: https://github.com/alsa-project/alsa-utils/pull/161
Singed-off-by: Tomohiro IKEDA <tomohiro.ikeda@justincase-tech.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agochore: Delete .travis.yml because of using not Travis CI but GitHub Actions
Tomohiro IKEDA [Sat, 23 Jul 2022 11:25:06 +0000 (20:25 +0900)]
chore: Delete .travis.yml because of using not Travis CI but GitHub Actions

Fixes: https://github.com/alsa-project/alsa-utils/pull/160
Signed-off-by: Tomohiro IKEDA <tomohiro.ikeda@justincase-tech.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoamidi: restore space between bytes
John Keeping [Wed, 13 Jul 2022 15:04:09 +0000 (16:04 +0100)]
amidi: restore space between bytes

Commit 9a8fcec ("amidi: add timestamp option for dump") removed the
space between bytes when dumping MIDI, changing the output from:

90 45 40
80 45 00

to:

904540
804500

It seems that this was an unintentional side effect of refactoring the
code to add the new timestamp output but the result is less readable
than it was before.

Restore the space between bytes in the same message.

Fixes: 9a8fcec ("amidi: add timestamp option for dump")
Fixes: https://github.com/alsa-project/alsa-utils/pull/158/
Signed-off-by: John Keeping <john@metanate.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoaxfer: fix typo in manual
Takashi Sakamoto [Tue, 12 Jul 2022 00:51:57 +0000 (09:51 +0900)]
axfer: fix typo in manual

The spelling of 'aborted' was 'aboeted' in the manual. This commit fixes
it.

Fixes: a37703614a90 ("axfer: fulfill manual section for libffado backend")
Fixes: https://github.com/alsa-project/alsa-utils/pull/156
Reported-by: Chao Song chao.song@linux.intel.com
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoRelease v1.2.8 v1.2.8
Jaroslav Kysela [Mon, 24 Oct 2022 08:17:28 +0000 (10:17 +0200)]
Release v1.2.8

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agoalsactl: Print driver name in info
Jaroslav Kysela [Tue, 27 Sep 2022 17:06:04 +0000 (19:06 +0200)]
alsactl: Print driver name in info

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agoamixer: fix the help for 'events' command
Jaroslav Kysela [Thu, 25 Aug 2022 07:33:58 +0000 (09:33 +0200)]
amixer: fix the help for 'events' command

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agoaplay: remove wrongly merged UCM code
Jaroslav Kysela [Wed, 3 Aug 2022 20:46:47 +0000 (22:46 +0200)]
aplay: remove wrongly merged UCM code

The code origin comes from me. Unfortunately, it was merged
by mistake to another commit. Remove it for now.

Fixes: https://github.com/alsa-project/alsa-utils/issues/153
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agoaplay: fix the capture file length regression
Jaroslav Kysela [Wed, 3 Aug 2022 20:09:45 +0000 (22:09 +0200)]
aplay: fix the capture file length regression

The commit 4b959a4 ("aplay: Fix for arecord recording ghost data")
intruduced a regression (file may contain more samples than
expected). Correct this.

Fixes: https://github.com/alsa-project/alsa-utils/issues/163
Fixes: 4b959a4 ("aplay: Fix for arecord recording ghost data")
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agoconfigure: automake - use subdir-objects option
Jaroslav Kysela [Thu, 2 Jun 2022 06:31:33 +0000 (08:31 +0200)]
configure: automake - use subdir-objects option

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agoconfigure: use AC_DISABLE_STATIC (for topology modules)
Jaroslav Kysela [Thu, 2 Jun 2022 06:25:49 +0000 (08:25 +0200)]
configure: use AC_DISABLE_STATIC (for topology modules)

Fixes: https://github.com/alsa-project/alsa-utils/issues/152
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agoRelease v1.2.7 v1.2.7
Jaroslav Kysela [Tue, 31 May 2022 16:24:24 +0000 (18:24 +0200)]
Release v1.2.7

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agotopology: nhlt plugin: second attempt to fix the .so linking
Jaroslav Kysela [Tue, 31 May 2022 16:23:47 +0000 (18:23 +0200)]
topology: nhlt plugin: second attempt to fix the .so linking

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agotopology: nhlt plugin: fix the .so linking
Jaroslav Kysela [Tue, 31 May 2022 16:11:50 +0000 (18:11 +0200)]
topology: nhlt plugin: fix the .so linking

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agoalsamixer: add alsamixer.rc.example file
Jaroslav Kysela [Tue, 31 May 2022 12:16:28 +0000 (14:16 +0200)]
alsamixer: add alsamixer.rc.example file

Fixes: https://github.com/alsa-project/alsa-utils/issues/112
From: Bertram Felgenhauer / int-e / github
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agotopology: plugins: nhlt: fix intel dmic mode calculation
Jaska Uimonen [Fri, 20 May 2022 04:51:37 +0000 (07:51 +0300)]
topology: plugins: nhlt: fix intel dmic mode calculation

Dmic find_modes function was used with same sampling rate for both fifo
a and b parameter calculations. This bug was found in testing two
simultaneous dmic dais in topology. Fix this by introducing a sampling
rate argument for find_modes.

Fixes: https://github.com/alsa-project/alsa-utils/pull/148
Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agoaplay: Fix for arecord recording ghost data
Amadeusz Sławiński [Thu, 5 May 2022 11:08:33 +0000 (13:08 +0200)]
aplay: Fix for arecord recording ghost data

When recording we should only write the amount of data read to output
file instead of copying whole buffer. This fixes glitches appearing at
the end of recorded file, when stopping recording.

Fixes: https://github.com/alsa-project/alsa-utils/pull/150
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agoalsactl: implement 'info' command
Jaroslav Kysela [Mon, 9 May 2022 07:34:22 +0000 (09:34 +0200)]
alsactl: implement 'info' command

It may be useful to collect the basic sound card information.
The output is in the YAML structured syntax (human and machine readable).

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agotopology: add missing nhlt headers to Makefile.am
Jaroslav Kysela [Tue, 3 May 2022 12:16:43 +0000 (14:16 +0200)]
topology: add missing nhlt headers to Makefile.am

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agotopology: add missing pre-process-external.h to Makefile.am
Jaroslav Kysela [Tue, 3 May 2022 12:06:13 +0000 (14:06 +0200)]
topology: add missing pre-process-external.h to Makefile.am

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agogithub workflow: add libtoolize call for alsa-utils
Jaroslav Kysela [Tue, 3 May 2022 11:33:14 +0000 (13:33 +0200)]
github workflow: add libtoolize call for alsa-utils

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agoaplay: fix a typo in warning (inaudiable -> inaudible)
Matthias Braun [Wed, 27 Apr 2022 17:21:32 +0000 (19:21 +0200)]
aplay: fix a typo in warning (inaudiable -> inaudible)

From: Matthias Braun (https://github.com/mb720)
Fixes: https://github.com/alsa-project/alsa-utils/pull/143
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agotopology: do not pass pre_processor_defs to pre_process_plugins()
Jaroslav Kysela [Tue, 3 May 2022 11:20:24 +0000 (13:20 +0200)]
topology: do not pass pre_processor_defs to pre_process_plugins()

This parameter is not used.

Link: https://github.com/alsa-project/alsa-utils/pull/129
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agotopology: plugins - add Intel nhlt encoder plugin
Jaska Uimonen [Tue, 14 Dec 2021 15:20:50 +0000 (17:20 +0200)]
topology: plugins - add Intel nhlt encoder plugin

Add Intel nhlt acpi table encoder plugin into topology2.0 processing.
Nhlt internal structure is defined in:
https://01.org/sites/default/files/595976_intel_sst_nhlt.pdf
Nhlt acpi table contain vendor specific binary data blobs that are used
in some Intel dsp platforms for configuring the dmic and ssp hardware.

The function of this code is mainly to generate the vendor specific
binary blobs, but as there is existing nhlt parser code and header in
kernel there's no point of re-inventing the container: just use the
existing nhlt acpi table format. Basically this code is creating similar
nhlt acpi table that you would get from: cat
/sys/firmware/acpi/tables/NHLT

This code will have implementation for dmic and ssp endpoints. Thus the
code will translate the topology dai tokens into vendor specific binary
blobs and pack them into nhlt acpi table. Ssp and dmic code is lifted
from Sound Open Firmware (sof) code base, thus it will have BSD-3
license.

This plugin can be enabled from command line with:

alsatplg -DPREPROCESS_PLUGINS="nhlt" -c foo.conf -p -o bar.tplg

You can also dump the nhlt binary into a file with additional define:

-DNHLT_BIN="nhlt.bin"

Link: https://github.com/alsa-project/alsa-utils/pull/129
Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agotopology: add simple topology plugin mechanism
Jaska Uimonen [Tue, 14 Dec 2021 15:11:51 +0000 (17:11 +0200)]
topology: add simple topology plugin mechanism

Add a simple plugin interface for processing the topology tree. There
can be cases where parts of the topology need to be translated from the
original format into something else. For example one could calculate
some kind of filter coefficients from filter parameters or some other
binary interface parameters from plain text topology tokens.

Mechanism is similar as in alsa-plugins and in the plugin there should
be only 1 function exported of the form:

int _snd_topology_##pluginname##_process (snd_config_t *input, snd_config_t *output)

Input and output parameters are snd_config tree before and after topology2
pre-processing. So the plugin can modify both if needed. There are cases
where the plugin may need to get information from input tree, but make
modifications to the output.

The plugins to be used can be defined in command line with:

alsatplg -DPREPROCESS_PLUGINS="foobar" -c topology.conf -p -o topology.tplg

Multiple plugins should be separated by ":".

Plugins to be used can also be defined with "Define" clause inside the
topology file (but command line takes precedence):

Define {
       PREPROCESS_PLUGINS "foobar"
}

Link: https://github.com/alsa-project/alsa-utils/pull/129
Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agoalsactl: add locking for per-card initialization
Jaroslav Kysela [Wed, 2 Feb 2022 14:31:33 +0000 (15:31 +0100)]
alsactl: add locking for per-card initialization

Introduce the -K,--lock-dir parameter to specify the locking
directory. If the locking is active, files card<NUM>.lock
are used to serialize the multiple initialization requests
(udev, service).

Allow the relative -O,--lock-file argument (it's default now).

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agoalsactl: lock - use alarm signal and F_SETLKW rather polling
Jaroslav Kysela [Tue, 1 Feb 2022 19:45:27 +0000 (20:45 +0100)]
alsactl: lock - use alarm signal and F_SETLKW rather polling

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agoalsactl: remove unused argument for state_lock_()
Jaroslav Kysela [Tue, 1 Feb 2022 19:01:08 +0000 (20:01 +0100)]
alsactl: remove unused argument for state_lock_()

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agoalsactl: add dbg() prints to init_ucm()
Jaroslav Kysela [Tue, 1 Feb 2022 18:47:53 +0000 (19:47 +0100)]
alsactl: add dbg() prints to init_ucm()

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agotopology: pre-processor: fix seg fault when there no command line defines
Ranjani Sridharan [Fri, 28 Jan 2022 21:36:03 +0000 (13:36 -0800)]
topology: pre-processor: fix seg fault when there no command line defines

In case there are not command line definitions, there is nothing to
merge or delete.

Fixes: https://github.com/alsa-project/alsa-utils/pull/141
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agotopology: use a copy of the command line defines
Jaroslav Kysela [Fri, 28 Jan 2022 17:53:39 +0000 (18:53 +0100)]
topology: use a copy of the command line defines

Fixes: a9b3525 ("topology: don't fail when Define section is missing in the included file")
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agotopology: don't fail when Define section is missing in the included file
Jaroslav Kysela [Fri, 28 Jan 2022 17:07:46 +0000 (18:07 +0100)]
topology: don't fail when Define section is missing in the included file

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agotopology: create Define subtree for command line defines only
Jaroslav Kysela [Fri, 28 Jan 2022 17:01:03 +0000 (18:01 +0100)]
topology: create Define subtree for command line defines only

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 years agotopology: the includes should be deleted not removed
Jaroslav Kysela [Fri, 28 Jan 2022 16:50:33 +0000 (17:50 +0100)]
topology: the includes should be deleted not removed

Signed-off-by: Jaroslav Kysela <perex@perex.cz>