  <?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.alsa-project.org/main/index.php?action=history&amp;feed=atom&amp;title=Detailed_changes_v1.2.9_v1.2.10</id>
	<title>Detailed changes v1.2.9 v1.2.10 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.alsa-project.org/main/index.php?action=history&amp;feed=atom&amp;title=Detailed_changes_v1.2.9_v1.2.10"/>
	<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Detailed_changes_v1.2.9_v1.2.10&amp;action=history"/>
	<updated>2026-04-04T18:05:30Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.0</generator>
	<entry>
		<id>https://www.alsa-project.org/main/index.php?title=Detailed_changes_v1.2.9_v1.2.10&amp;diff=9463&amp;oldid=prev</id>
		<title>Perex: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Detailed_changes_v1.2.9_v1.2.10&amp;diff=9463&amp;oldid=prev"/>
		<updated>2023-09-01T19:18:37Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:18, 1 September 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Perex</name></author>
	</entry>
	<entry>
		<id>https://www.alsa-project.org/main/index.php?title=Detailed_changes_v1.2.9_v1.2.10&amp;diff=9462&amp;oldid=prev</id>
		<title>Main&gt;Perex at 19:18, 1 September 2023</title>
		<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Detailed_changes_v1.2.9_v1.2.10&amp;diff=9462&amp;oldid=prev"/>
		<updated>2023-09-01T19:18:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
=Detailed changelog between 1.2.9 and 1.2.10 releases=&lt;br /&gt;
=Changelog between 1.2.9 and 1.2.10 releases=&lt;br /&gt;
==alsa-lib==&lt;br /&gt;
===Core===&lt;br /&gt;
- Release v1.2.10&lt;br /&gt;
- Fix symver build error on non-ELF platforms&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 The following error is observed on Microblaze [1] build:&lt;br /&gt;
 &lt;br /&gt;
     error: symver is only supported on ELF platforms&lt;br /&gt;
 &lt;br /&gt;
 due to using __attribute__((symver)) on non-ELF platform.&lt;br /&gt;
 &lt;br /&gt;
 [1] http://autobuild.buildroot.net/results/1e9/1e965d83d75615f35308440c5db044314a349357/build-end.log&lt;br /&gt;
 &lt;br /&gt;
 ac_check_attribute_symver.m4 was downloaded from&lt;br /&gt;
 https://github.com/smuellerDD/libkcapi/blob/master/m4/ac_check_attribute_symver.m4&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: include docs for shmarea functions&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: silence warning from asoundlib.h&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: global: silence 'not documented' warnings&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: Fix missing group end markers&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- configure: add AC_SYS_LARGEFILE&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 The support for the large files may be disabled using&lt;br /&gt;
 --disable-largefile configure parameter.&lt;br /&gt;
 &lt;br /&gt;
 Related: https://github.com/alsa-project/alsa-lib/pull/333&amp;lt;/code&amp;gt;&lt;br /&gt;
- seq: Add UMP 1.1 features&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Add APIs for groupless message filtering.&amp;lt;/code&amp;gt;&lt;br /&gt;
- seq: Add UMP support&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 This patch adds the basic support of UMP on ALSA sequencer API.&lt;br /&gt;
 An extended event type, snd_seq_ump_event_t, is defined.  It's&lt;br /&gt;
 compatible with the existing type, snd_seq_event_t, but it has a&lt;br /&gt;
 larger payload of 16 bytes instead of 12 bytes, for holding the full&lt;br /&gt;
 128bit UMP packet.&lt;br /&gt;
 &lt;br /&gt;
 The new snd_seq_ump_event_t must have the bit SND_SEQ_EVENT_UMP in the&lt;br /&gt;
 event flags.&lt;br /&gt;
 &lt;br /&gt;
 A few new API functions have been added such as&lt;br /&gt;
 snd_seq_ump_event_output() and snd_seq_ump_event_input() for&lt;br /&gt;
 reading/writing this new event object.&lt;br /&gt;
 &lt;br /&gt;
 The support of UMP in the sequencer client is switched by the function&lt;br /&gt;
 snd_seq_client_set_midi_version().  It can switch from the default&lt;br /&gt;
 legacy MIDI to UMP MIDI 1.0 or 2.0 on the fly.&lt;br /&gt;
 &lt;br /&gt;
 The automatic event conversion among UMP and legacy clients can be&lt;br /&gt;
 suppressed via snd_seq_client_set_ump_conversion().&lt;br /&gt;
 &lt;br /&gt;
 The inquiry of the associated UMP Endpoints and UMP Blocks can be done&lt;br /&gt;
 via snd_seq_get_ump_endpoint_info() and snd_seq_get_ump_block_info().&amp;lt;/code&amp;gt;&lt;br /&gt;
- ump: Add helpers to parse / set UMP packet data&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 This patch defines the structs / unions that can be used for encoding&lt;br /&gt;
 and decoding UMP packets, as well as inline helper functions.&amp;lt;/code&amp;gt;&lt;br /&gt;
- control: Add UMP Endpoint and Block info query support&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Add functions to query the UMP Endpoint and Block info via control&lt;br /&gt;
 interface.&amp;lt;/code&amp;gt;&lt;br /&gt;
- control: Add UMP device query support&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Add a function to query the next available UMP device via control&lt;br /&gt;
 interface, just like the existing one for rawmidi.  As the UMP rawmidi&lt;br /&gt;
 is compatible with the standard rawmidi, no extra helper for the&lt;br /&gt;
 rawmidi_info is present.  Ditto for the preferred subdevice, too.&amp;lt;/code&amp;gt;&lt;br /&gt;
- ump: Add initial support&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 This patch adds the initial support for UMP rawmidi access.&lt;br /&gt;
 It's merely the wrapper for the standard rawmidi to access to the UMP&lt;br /&gt;
 rawmidi device.&amp;lt;/code&amp;gt;&lt;br /&gt;
- include: fix SND_DLSYM_BUILD_VERSION() for static build&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Correct the dlsym_name string for nested macros. See Fixes:.&amp;lt;/code&amp;gt;&lt;br /&gt;
===Config API===&lt;br /&gt;
- doxygen: conf: silence 'not documented' warnings&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
===Control API===&lt;br /&gt;
- doxygen: namehint: silence 'not documented' warnings&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Also creates a new module within the Configuration interface&lt;br /&gt;
 documentation in which to present the name hint docs.&lt;br /&gt;
 &lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: control: silence 'not documented' item warnings&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: include external control docs&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- reshuffle included files to include config.h as first&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 config.h may contain defines like _FILE_OFFSET_BITS which influence&lt;br /&gt;
 the system wide include files (off_t types, open -&amp;amp;gt; open64 function&lt;br /&gt;
 usage etc.).&lt;br /&gt;
 &lt;br /&gt;
 Related: https://github.com/alsa-project/alsa-lib/pull/333&amp;lt;/code&amp;gt;&lt;br /&gt;
- control: Add UMP Endpoint and Block info query support&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Add functions to query the UMP Endpoint and Block info via control&lt;br /&gt;
 interface.&amp;lt;/code&amp;gt;&lt;br /&gt;
- control: Add UMP device query support&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Add a function to query the next available UMP device via control&lt;br /&gt;
 interface, just like the existing one for rawmidi.  As the UMP rawmidi&lt;br /&gt;
 is compatible with the standard rawmidi, no extra helper for the&lt;br /&gt;
 rawmidi_info is present.  Ditto for the preferred subdevice, too.&amp;lt;/code&amp;gt;&lt;br /&gt;
- remove extra trailing new line in SNDMSG and SNDERR calls&lt;br /&gt;
===Mixer API===&lt;br /&gt;
- topology: fix src/mixer/mixer.c return value warning&lt;br /&gt;
- doxygen: fix broken parameter name tags&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
===PCM API===&lt;br /&gt;
- doxygen: fix broken examples links&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: pcm: silence 'not documented' warnings&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: fix inadvertent link requests&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: fix broken parameter name tags&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- pcm: hw: fix minor bug in sw_params ioctl&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Commit 2115cdb added a new call to the `SNDRV_PCM_IOCTL_SW_PARAMS`&lt;br /&gt;
 ioctl on line 675 of src/pcm/pcm_hw.c, but passed the `sw_params`&lt;br /&gt;
 argument by value; this should be passed by pointer.&lt;br /&gt;
 &lt;br /&gt;
 I ran across this in the context of the direwolf software modem&lt;br /&gt;
 for amateur radio; debugging details are in&lt;br /&gt;
 https://groups.io/g/direwolf/message/8286&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
- remove extra trailing new line in SNDMSG and SNDERR calls&lt;br /&gt;
- pcm: hw - prevent divide by zero for broken apps&lt;br /&gt;
===RawMidi API===&lt;br /&gt;
- doxygen: fix broken examples links&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: rawmidi: silence 'not documented' warnings&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: fix broken parameter name tags&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- rawmidi: Suppress error messages for non-fatal errors&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Align the behavior of rawmidi errors at open &amp;amp; co with PCM, i.e. use&lt;br /&gt;
 SYSMSG() instead of SYSERR() for suppressing the error messages as&lt;br /&gt;
 default.&lt;br /&gt;
 &lt;br /&gt;
 Closes: https://github.com/alsa-project/alsa-lib/issues/344&amp;lt;/code&amp;gt;&lt;br /&gt;
- ump: Add UMP 1.1 features&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Add a few new features for UMP 1.1:&lt;br /&gt;
 - New attributes in UMP Endpoint and Block info&lt;br /&gt;
 - Static block bit flag for EP info&amp;lt;/code&amp;gt;&lt;br /&gt;
- ump: Add helpers for handling SysEx data&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Yet a few more helpers for handling SysEx data with UMP packets.&amp;lt;/code&amp;gt;&lt;br /&gt;
- ump: Add helpers to parse / set UMP packet data&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 This patch defines the structs / unions that can be used for encoding&lt;br /&gt;
 and decoding UMP packets, as well as inline helper functions.&amp;lt;/code&amp;gt;&lt;br /&gt;
- ump: Add initial support&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 This patch adds the initial support for UMP rawmidi access.&lt;br /&gt;
 It's merely the wrapper for the standard rawmidi to access to the UMP&lt;br /&gt;
 rawmidi device.&amp;lt;/code&amp;gt;&lt;br /&gt;
- rawmidi: Add UMP ioctl support&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Just implement internal callbacks for two new ioctls for UMP&lt;br /&gt;
 (ump_endpoint_info and ump_block_info).  No public API functions are&lt;br /&gt;
 added yet here.&amp;lt;/code&amp;gt;&lt;br /&gt;
===Rawmidi API===&lt;br /&gt;
- ump: Add initial support&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 This patch adds the initial support for UMP rawmidi access.&lt;br /&gt;
 It's merely the wrapper for the standard rawmidi to access to the UMP&lt;br /&gt;
 rawmidi device.&amp;lt;/code&amp;gt;&lt;br /&gt;
===Sequencer API===&lt;br /&gt;
- doxygen: seq: silence 'not documented' warnings&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- seq: Fix wrong seq version update at snd_seq_hw_get_client_info()&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 snd_seq_hw_get_client_info() calls mistakenly update_midi_version()&lt;br /&gt;
 that leads to the update of seq-&amp;amp;gt;version from another client info.&lt;br /&gt;
 It may lead to the inconsistent packet size calculation and the&lt;br /&gt;
 unaligned read, eventually a program may hit segfault.&lt;br /&gt;
 &lt;br /&gt;
 Drop the incorrect call of update_midi_version() for fixing it.&lt;br /&gt;
 &lt;br /&gt;
 Closes: https://github.com/alsa-project/alsa-utils/issues/232&amp;lt;/code&amp;gt;&lt;br /&gt;
- seq: Add overflow check in snd_seq_ev_set_ump_data()&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 It's better to add a sanity check than sorry for breaking.&lt;br /&gt;
 Now the function return -EINVAL.&lt;br /&gt;
 &lt;br /&gt;
 Closes: https://github.com/alsa-project/alsa-lib/issues/346&amp;lt;/code&amp;gt;&lt;br /&gt;
- seq: ump: Fix typo in function name containing &amp;quot;group&amp;quot;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 In a couple places the function names were misspelled as &amp;quot;gruop&amp;quot;&lt;br /&gt;
 instead of &amp;quot;group&amp;quot;.  Fix them.&amp;lt;/code&amp;gt;&lt;br /&gt;
- seq: Add UMP 1.1 features&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Add APIs for groupless message filtering.&amp;lt;/code&amp;gt;&lt;br /&gt;
- seq: Add UMP support&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 This patch adds the basic support of UMP on ALSA sequencer API.&lt;br /&gt;
 An extended event type, snd_seq_ump_event_t, is defined.  It's&lt;br /&gt;
 compatible with the existing type, snd_seq_event_t, but it has a&lt;br /&gt;
 larger payload of 16 bytes instead of 12 bytes, for holding the full&lt;br /&gt;
 128bit UMP packet.&lt;br /&gt;
 &lt;br /&gt;
 The new snd_seq_ump_event_t must have the bit SND_SEQ_EVENT_UMP in the&lt;br /&gt;
 event flags.&lt;br /&gt;
 &lt;br /&gt;
 A few new API functions have been added such as&lt;br /&gt;
 snd_seq_ump_event_output() and snd_seq_ump_event_input() for&lt;br /&gt;
 reading/writing this new event object.&lt;br /&gt;
 &lt;br /&gt;
 The support of UMP in the sequencer client is switched by the function&lt;br /&gt;
 snd_seq_client_set_midi_version().  It can switch from the default&lt;br /&gt;
 legacy MIDI to UMP MIDI 1.0 or 2.0 on the fly.&lt;br /&gt;
 &lt;br /&gt;
 The automatic event conversion among UMP and legacy clients can be&lt;br /&gt;
 suppressed via snd_seq_client_set_ump_conversion().&lt;br /&gt;
 &lt;br /&gt;
 The inquiry of the associated UMP Endpoints and UMP Blocks can be done&lt;br /&gt;
 via snd_seq_get_ump_endpoint_info() and snd_seq_get_ump_block_info().&amp;lt;/code&amp;gt;&lt;br /&gt;
===Timer API===&lt;br /&gt;
- doxygen: fix broken examples links&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
===Topology API===&lt;br /&gt;
- dogyxen: fix topology.h warnings&lt;br /&gt;
- doxygen: topology: silence 'not documented' warnings&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: fix inadvertent link requests&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: escape xml tags&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: Fix missing group end markers&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- remove extra trailing new line in SNDMSG and SNDERR calls&lt;br /&gt;
===Use Case Manager API===&lt;br /&gt;
- ucm: main - remove cast to pointer from integer of different size warning&lt;br /&gt;
- ucm: mark internal functions static&lt;br /&gt;
- doxygen: ucm: silence warnings&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Removes duplicate documentation blocks and fixes 'not documented' warnings&lt;br /&gt;
 &lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: fix list indentation errors&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: escape xml tags&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: fix broken parameter name tags&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- usecase: add CaptureMicInfoFile field to documentation&lt;br /&gt;
===/include/Makefile.am===&lt;br /&gt;
- ump: Add helpers to parse / set UMP packet data&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 This patch defines the structs / unions that can be used for encoding&lt;br /&gt;
 and decoding UMP packets, as well as inline helper functions.&amp;lt;/code&amp;gt;&lt;br /&gt;
- ump: Add initial support&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 This patch adds the initial support for UMP rawmidi access.&lt;br /&gt;
 It's merely the wrapper for the standard rawmidi to access to the UMP&lt;br /&gt;
 rawmidi device.&amp;lt;/code&amp;gt;&lt;br /&gt;
===ALSA Lisp===&lt;br /&gt;
- reshuffle included files to include config.h as first&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 config.h may contain defines like _FILE_OFFSET_BITS which influence&lt;br /&gt;
 the system wide include files (off_t types, open -&amp;amp;gt; open64 function&lt;br /&gt;
 usage etc.).&lt;br /&gt;
 &lt;br /&gt;
 Related: https://github.com/alsa-project/alsa-lib/pull/333&amp;lt;/code&amp;gt;&lt;br /&gt;
===ALSA Server===&lt;br /&gt;
- reshuffle included files to include config.h as first&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 config.h may contain defines like _FILE_OFFSET_BITS which influence&lt;br /&gt;
 the system wide include files (off_t types, open -&amp;amp;gt; open64 function&lt;br /&gt;
 usage etc.).&lt;br /&gt;
 &lt;br /&gt;
 Related: https://github.com/alsa-project/alsa-lib/pull/333&amp;lt;/code&amp;gt;&lt;br /&gt;
===Async helpers===&lt;br /&gt;
- doxygen: global: silence 'not documented' warnings&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
===Configuration===&lt;br /&gt;
- doxygen: conf: do not hide PCM specific function&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: conf: silence 'not documented' warnings&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: fix broken parameter name tags&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- reshuffle included files to include config.h as first&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 config.h may contain defines like _FILE_OFFSET_BITS which influence&lt;br /&gt;
 the system wide include files (off_t types, open -&amp;amp;gt; open64 function&lt;br /&gt;
 usage etc.).&lt;br /&gt;
 &lt;br /&gt;
 Related: https://github.com/alsa-project/alsa-lib/pull/333&amp;lt;/code&amp;gt;&lt;br /&gt;
===Documentation===&lt;br /&gt;
- doxygen: include docs for shmarea functions&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: namehint: silence 'not documented' warnings&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Also creates a new module within the Configuration interface&lt;br /&gt;
 documentation in which to present the name hint docs.&lt;br /&gt;
 &lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: seq: silence 'not documented' warnings&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: conf: silence 'not documented' warnings&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: include external control docs&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- doxygen: fix image path&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
===Dynamic Loader helpers===&lt;br /&gt;
- doxygen: global: silence 'not documented' warnings&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
- reshuffle included files to include config.h as first&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 config.h may contain defines like _FILE_OFFSET_BITS which influence&lt;br /&gt;
 the system wide include files (off_t types, open -&amp;amp;gt; open64 function&lt;br /&gt;
 usage etc.).&lt;br /&gt;
 &lt;br /&gt;
 Related: https://github.com/alsa-project/alsa-lib/pull/333&amp;lt;/code&amp;gt;&lt;br /&gt;
===Kernel Headers===&lt;br /&gt;
- seq: Add UMP 1.1 features&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Add APIs for groupless message filtering.&amp;lt;/code&amp;gt;&lt;br /&gt;
- uapi: Update rawmidi API to 2.0.4&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Sync with the kernel change of rawmidi API for supporting UMP 1.1&lt;br /&gt;
 features.&amp;lt;/code&amp;gt;&lt;br /&gt;
- uapi: Update asequencer.h definitions for 1.0.3&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Updated from kernel for supporting UMP on sequencer API.&amp;lt;/code&amp;gt;&lt;br /&gt;
- uapi: Update control API to 2.0.9&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Copied from the kernel uapi header for control API.&lt;br /&gt;
 A few new ioctls have been added for the support of UMP next device&lt;br /&gt;
 and inquiries of UMP Endpoint and Block info.&amp;lt;/code&amp;gt;&lt;br /&gt;
- uapi: Update rawmidi API to 2.0.3&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Copied from the kernel uapi header for rawmidi API.&lt;br /&gt;
 A few new structs and constants for UMP are defined in addition to a&lt;br /&gt;
 few new ioctls.&amp;lt;/code&amp;gt;&lt;br /&gt;
===MIDI 2.0 (UMP)===&lt;br /&gt;
- ump: Add UMP 1.1 features&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Add a few new features for UMP 1.1:&lt;br /&gt;
 - New attributes in UMP Endpoint and Block info&lt;br /&gt;
 - Static block bit flag for EP info&amp;lt;/code&amp;gt;&lt;br /&gt;
- ump: Add helpers for handling SysEx data&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Yet a few more helpers for handling SysEx data with UMP packets.&amp;lt;/code&amp;gt;&lt;br /&gt;
- ump: Add helpers to parse / set UMP packet data&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 This patch defines the structs / unions that can be used for encoding&lt;br /&gt;
 and decoding UMP packets, as well as inline helper functions.&amp;lt;/code&amp;gt;&lt;br /&gt;
- ump: Add initial support&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 This patch adds the initial support for UMP rawmidi access.&lt;br /&gt;
 It's merely the wrapper for the standard rawmidi to access to the UMP&lt;br /&gt;
 rawmidi device.&amp;lt;/code&amp;gt;&lt;br /&gt;
===SHM helpers===&lt;br /&gt;
- doxygen: global: silence 'not documented' warnings&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-lib/pull/340&amp;lt;/code&amp;gt;&lt;br /&gt;
===Test/Example code===&lt;br /&gt;
- test: oldapi - fix the clang-16 compilation error&lt;br /&gt;
==alsa-utils==&lt;br /&gt;
===Core===&lt;br /&gt;
- Release v1.2.10&lt;br /&gt;
- github: update build.yml&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 - use actions/checkout@v3&lt;br /&gt;
 - improve code to generate a specific git version&amp;lt;/code&amp;gt;&lt;br /&gt;
- aseqdump: Add UMP support&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Add the support for showing the UMP events to aseqdump.&lt;br /&gt;
 With the new option -u, the program can start as a UMP sequencer&lt;br /&gt;
 client and receive UMP events instead of the legacy MIDI events.&lt;br /&gt;
 &lt;br /&gt;
 Also, the automatic event conversion among legacy and UMP clients can&lt;br /&gt;
 be suppressed by the new -r option, too.&amp;lt;/code&amp;gt;&lt;br /&gt;
- nhlt: add nhlt-dmic-info utility&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 The microphone arrays for Intel platforms are described in the&lt;br /&gt;
 ACPI NHLT table. This table is available in sysfs. Parse this&lt;br /&gt;
 information and use a more common format (json) for output. This&lt;br /&gt;
 information is usable for the further DSP processing.&amp;lt;/code&amp;gt;&lt;br /&gt;
===ALSA Control (alsactl)===&lt;br /&gt;
- alsactl: fix compilation when building in a subdir&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 Compile errors when building in a subdir:&lt;br /&gt;
 alsactl/alsactl.c:33:10: fatal error: os_compat.h: No such file or directory&lt;br /&gt;
    33 | #include &amp;quot;os_compat.h&amp;quot;&lt;br /&gt;
       |          ^~~~~~~~~~~~~&lt;br /&gt;
 alsactl/lock.c:34:10: fatal error: os_compat.h: No such file or directory&lt;br /&gt;
    34 | #include &amp;quot;os_compat.h&amp;quot;&lt;br /&gt;
       |          ^~~~~~~~~~~~~&amp;lt;/code&amp;gt;&lt;br /&gt;
- alsactl: fix the verbose compilation warnings for latest gcc&lt;br /&gt;
- alsactl: fix the copy-n-paste typo (SND_RAWMIDI_STREAM_*)&lt;br /&gt;
- alsactl: add define to compile with glibc 2.38&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 strlcat and strlcpy have been added to glibc 2.38.&lt;br /&gt;
 update the defines to use the glibc versions, and not conflict with&lt;br /&gt;
 string.h.&lt;br /&gt;
 &lt;br /&gt;
 ref:&lt;br /&gt;
 - https://sourceware.org/git/?p=glibc.git;a=commit;h=454a20c8756c9c1d55419153255fc7692b3d2199&amp;lt;/code&amp;gt;&lt;br /&gt;
===ALSA RawMidi Utility (amidi)===&lt;br /&gt;
- reshuffle included files to include config.h as first&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 config.h may contain defines like _FILE_OFFSET_BITS which influence&lt;br /&gt;
 the system wide include files (off_t types, open -&amp;amp;gt; open64 function&lt;br /&gt;
 usage etc.).&lt;br /&gt;
 &lt;br /&gt;
 Related: https://github.com/alsa-project/alsa-utils/pull/223&amp;lt;/code&amp;gt;&lt;br /&gt;
- amidi: fix the verbose compilation warnings for latest gcc&lt;br /&gt;
===Audio Transfer utility===&lt;br /&gt;
- reshuffle included files to include config.h as first&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 config.h may contain defines like _FILE_OFFSET_BITS which influence&lt;br /&gt;
 the system wide include files (off_t types, open -&amp;amp;gt; open64 function&lt;br /&gt;
 usage etc.).&lt;br /&gt;
 &lt;br /&gt;
 Related: https://github.com/alsa-project/alsa-utils/pull/223&amp;lt;/code&amp;gt;&lt;br /&gt;
- axfer: fix the verbose compilation warnings for latest gcc&lt;br /&gt;
===NHLT ACPI parser===&lt;br /&gt;
- nhlt-dmic-info: fix the verbose compilation warnings for latest gcc&lt;br /&gt;
- nhlt: add nhlt-dmic-info utility&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 The microphone arrays for Intel platforms are described in the&lt;br /&gt;
 ACPI NHLT table. This table is available in sysfs. Parse this&lt;br /&gt;
 information and use a more common format (json) for output. This&lt;br /&gt;
 information is usable for the further DSP processing.&amp;lt;/code&amp;gt;&lt;br /&gt;
===Speaker Test===&lt;br /&gt;
- speaker-test: fix the verbose compilation warnings for latest gcc&lt;br /&gt;
- speaker-test: allow large buffer and period time setup - up to 100 seconds&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 BugLink: https://github.com/alsa-project/alsa-utils/issues/224&amp;lt;/code&amp;gt;&lt;br /&gt;
===aconnect===&lt;br /&gt;
- aconnect: fix the verbose compilation warnings for latest gcc&lt;br /&gt;
- aconnect: Add UMP support&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 This patch extends the aconnect program for supporting UMP.&lt;br /&gt;
 Now the verbose output can show the UMP client version.&lt;br /&gt;
 &lt;br /&gt;
 Also, a new option -a is added to control the behavior whether to show&lt;br /&gt;
 the all ports including the inactive ports or not.  As default, only&lt;br /&gt;
 the active ports are shown, but UMP clients allow to hide some ports&lt;br /&gt;
 as inactive.&amp;lt;/code&amp;gt;&lt;br /&gt;
===alsaloop===&lt;br /&gt;
- reshuffle included files to include config.h as first&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 config.h may contain defines like _FILE_OFFSET_BITS which influence&lt;br /&gt;
 the system wide include files (off_t types, open -&amp;amp;gt; open64 function&lt;br /&gt;
 usage etc.).&lt;br /&gt;
 &lt;br /&gt;
 Related: https://github.com/alsa-project/alsa-utils/pull/223&amp;lt;/code&amp;gt;&lt;br /&gt;
- alsaloop: fix the verbose compilation warnings for latest gcc&lt;br /&gt;
===alsamixer===&lt;br /&gt;
- alsamixer: fix the verbose compilation warnings for latest gcc&lt;br /&gt;
===alsatplg (topology)===&lt;br /&gt;
- topology: fix the verbose compilation warnings for latest gcc&lt;br /&gt;
- topology: plugins: nhlt: remove dmic error print&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Remove &amp;quot;fs not set&amp;quot; print from dmic processing. The message is printed out&lt;br /&gt;
 when pdm is enabled but not configured. Many sof topologies enable all&lt;br /&gt;
 pdms even if not used as it is a requirement for some Intel firmware&lt;br /&gt;
 versions to work correctly.&amp;lt;/code&amp;gt;&lt;br /&gt;
- Topology: NHLT: Intel: Update DMIC FIR coefficients&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 The previous version contained some hand edit mistakes those&lt;br /&gt;
 impacted the filter frequency response. The used generator script&lt;br /&gt;
 is found from directory:&lt;br /&gt;
 &lt;br /&gt;
 https://github.com/thesofproject/sof/tree/main/tools/tune/dmic .&lt;br /&gt;
 &lt;br /&gt;
 Use command &amp;quot;dmic_batch.h&amp;quot; to generate these and copy new version&lt;br /&gt;
 to alsa-utils.&amp;lt;/code&amp;gt;&lt;br /&gt;
- topology: nhlt: intel: support more device types and directions&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 In current NHLT table the device type of all SSP endpoints are set to&lt;br /&gt;
 BT Sideband(0) instead of SSP Analog Codec(4) and the direction only&lt;br /&gt;
 supports Render(0) and Capture(1).&lt;br /&gt;
 &lt;br /&gt;
 Here we introduce two new quirks from topology to set the device type&lt;br /&gt;
 correctly and support two more directions: Render with loopback(2)&lt;br /&gt;
 and Feedback for render(3) for speakers with echo reference or IV&lt;br /&gt;
 sense feedback.&amp;lt;/code&amp;gt;&lt;br /&gt;
- topology: pre-processor: Add support for CombineArrays&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Introduce a new keyword, &amp;quot;CombineArrays&amp;quot; to instantiate multiple nodes&lt;br /&gt;
 of the type specified. For example:&lt;br /&gt;
 &lt;br /&gt;
 CombineArrays.Object.Base.input_audio_format [&lt;br /&gt;
         {&lt;br /&gt;
                 in_rate [&lt;br /&gt;
                         8000&lt;br /&gt;
                         16000&lt;br /&gt;
                         48000&lt;br /&gt;
                 ]&lt;br /&gt;
                 in_bit_depth [&lt;br /&gt;
                         32&lt;br /&gt;
                 ]&lt;br /&gt;
                 in_valid_bit_depth [&lt;br /&gt;
                         24&lt;br /&gt;
                         32&lt;br /&gt;
                 ]&lt;br /&gt;
         }&lt;br /&gt;
 ]&lt;br /&gt;
 &lt;br /&gt;
 This would be expanded into 6 objects with the rate, bit_depth and&lt;br /&gt;
 valid_bit_depth combinations of the arrays of values above.&lt;br /&gt;
 &lt;br /&gt;
 Object.Base.input_audio_format [&lt;br /&gt;
         {&lt;br /&gt;
                 in_rate 8000&lt;br /&gt;
                 in_bit_depth 32&lt;br /&gt;
                 in_valid_bit_depth 32&lt;br /&gt;
         }&lt;br /&gt;
         {&lt;br /&gt;
                 in_rate 16000&lt;br /&gt;
                 in_bit_depth 32&lt;br /&gt;
                 in_valid_bit_depth 32&lt;br /&gt;
         }&lt;br /&gt;
         {&lt;br /&gt;
                 in_rate 48000&lt;br /&gt;
                 in_bit_depth 32&lt;br /&gt;
                 in_valid_bit_depth 32&lt;br /&gt;
         }&lt;br /&gt;
         {&lt;br /&gt;
                 in_rate 8000&lt;br /&gt;
                 in_bit_depth 32&lt;br /&gt;
                 in_valid_bit_depth 24&lt;br /&gt;
         }&lt;br /&gt;
         {&lt;br /&gt;
                 in_rate 16000&lt;br /&gt;
                 in_bit_depth 32&lt;br /&gt;
                 in_valid_bit_depth 24&lt;br /&gt;
         }&lt;br /&gt;
         {&lt;br /&gt;
                 in_rate 48000&lt;br /&gt;
                 in_bit_depth 32&lt;br /&gt;
                 in_valid_bit_depth 24&lt;br /&gt;
         }&lt;br /&gt;
 ]&lt;br /&gt;
 &lt;br /&gt;
 The CombineArrays definition is an array so that multiple combinations can&lt;br /&gt;
 be specified in order to deal with only valid combinations. For example,&lt;br /&gt;
 16-bit bit_depth is only valid with 16-bit valid_bit_depth. So if we&lt;br /&gt;
 also want to add those combinations with the multiple rates, the&lt;br /&gt;
 definition would look like:&lt;br /&gt;
 &lt;br /&gt;
 CombineArrays.Object.Base.input_audio_format [&lt;br /&gt;
         {&lt;br /&gt;
                 in_rate [&lt;br /&gt;
                         8000&lt;br /&gt;
                         16000&lt;br /&gt;
                         48000&lt;br /&gt;
                 ]&lt;br /&gt;
                 in_bit_depth [&lt;br /&gt;
                         32&lt;br /&gt;
                 ]&lt;br /&gt;
                 in_valid_bit_depth [&lt;br /&gt;
                         24&lt;br /&gt;
                         32&lt;br /&gt;
                 ]&lt;br /&gt;
         }&lt;br /&gt;
         {&lt;br /&gt;
                 in_rate [&lt;br /&gt;
                         8000&lt;br /&gt;
                         16000&lt;br /&gt;
                         48000&lt;br /&gt;
                 ]&lt;br /&gt;
                 in_bit_depth [&lt;br /&gt;
                         16&lt;br /&gt;
                 ]&lt;br /&gt;
                 in_valid_bit_depth [&lt;br /&gt;
                         16&lt;br /&gt;
                 ]&lt;br /&gt;
         }&lt;br /&gt;
 ]&amp;lt;/code&amp;gt;&lt;br /&gt;
- topology: plugins: nhlt: set dmic stereo mode only in hw version 1&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Dmic stereo mode should be set only in hw version 1. In later hw&lt;br /&gt;
 versions this bit is reserved.&amp;lt;/code&amp;gt;&lt;br /&gt;
===alsaucm===&lt;br /&gt;
- alsaucm: fix the verbose compilation warnings for latest gcc&lt;br /&gt;
===amixer===&lt;br /&gt;
- reshuffle included files to include config.h as first&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 config.h may contain defines like _FILE_OFFSET_BITS which influence&lt;br /&gt;
 the system wide include files (off_t types, open -&amp;amp;gt; open64 function&lt;br /&gt;
 usage etc.).&lt;br /&gt;
 &lt;br /&gt;
 Related: https://github.com/alsa-project/alsa-utils/pull/223&amp;lt;/code&amp;gt;&lt;br /&gt;
- amixer: fix the verbose compilation warnings for latest gcc&lt;br /&gt;
===aplay/arecord===&lt;br /&gt;
- aplay: fix the verbose compilation warnings for latest gcc&lt;br /&gt;
===aplaymidi/arecordmidi===&lt;br /&gt;
- aplaymidi: fix the verbose compilation warnings for latest gcc&lt;br /&gt;
- aplaymidi: Add UMP support&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 By switching via the new option -u, aplaymidi can behave as a UMP&lt;br /&gt;
 client and output UMP packets instead of legacy sequencer events.&lt;br /&gt;
 As of now, the only supported version is 1.&amp;lt;/code&amp;gt;&lt;br /&gt;
===aseqdump===&lt;br /&gt;
- aseqdump: fix MIDI 2.0 code - it compiles now&lt;br /&gt;
- aseqdump: fix the verbose compilation warnings for latest gcc&lt;br /&gt;
- aseqdump: Add options to switch view mode&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 This patch adds to switch the operation mode of aseqdump to specify&lt;br /&gt;
 how the values are shown.  Namely, it allows to show the MIDI 2.0&lt;br /&gt;
 values in two more different ways: compatible &amp;quot;normalized&amp;quot; view and&lt;br /&gt;
 percentage view, in addition to the default &amp;quot;raw&amp;quot; view.&lt;br /&gt;
 &lt;br /&gt;
 The &amp;quot;raw&amp;quot; view mode just shows the value found in the event almost as&lt;br /&gt;
 is.  The MIDI 2.0 values are shown in 16 or 32bit hex numbers.&lt;br /&gt;
 The channel and UMP group numbers are 0-based, taking from 0 to 15.&lt;br /&gt;
 &lt;br /&gt;
 OTOH, in the normalized view, the 16bit or 32bit velocity and data&lt;br /&gt;
 values of MIDI 2.0 are normalized to the value fit in MIDI 1.0,&lt;br /&gt;
 i.e. from 0 to 127, but with decimal points.  Similarly, the pitch&lt;br /&gt;
 wheel values are normalized between -8192 to 8191.&lt;br /&gt;
 Also, the channel numbers and UMP group numbers are 1-based, taking&lt;br /&gt;
 from 1 to 16.&lt;br /&gt;
 &lt;br /&gt;
 In the percentage view, the velocity and data values are normalized&lt;br /&gt;
 and shown in percentage, from 0% to 100%.  The pitch wheel is&lt;br /&gt;
 normalized from -100% to 100%.  The channel and UMP groups are 1-based&lt;br /&gt;
 as well as in normalized view mode.&amp;lt;/code&amp;gt;&lt;br /&gt;
- aseqdump: Correct wrong channel number&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Correct the wrong value shown in MIDI2 default output (status instead&lt;br /&gt;
 of channel).  Also adjust the printf formats to use %2d consistently&lt;br /&gt;
 for the channel numbers.&amp;lt;/code&amp;gt;&lt;br /&gt;
- aseqdump: Align outputs of UMP MIDI 1.0 with legacy MIDI 1.0&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 The outputs from UMP MIDI 1.0 are slightly differently shown as the&lt;br /&gt;
 legacy MIDI 1.0 (the velocities and values are in hex), which is&lt;br /&gt;
 rather confusing.  Let's make them look more similar.&amp;lt;/code&amp;gt;&lt;br /&gt;
- aseqdump: Add UMP support&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Add the support for showing the UMP events to aseqdump.&lt;br /&gt;
 With the new option -u, the program can start as a UMP sequencer&lt;br /&gt;
 client and receive UMP events instead of the legacy MIDI events.&lt;br /&gt;
 &lt;br /&gt;
 Also, the automatic event conversion among legacy and UMP clients can&lt;br /&gt;
 be suppressed by the new -r option, too.&amp;lt;/code&amp;gt;&lt;br /&gt;
===aseqnet===&lt;br /&gt;
- aseqnet: fix the verbose compilation warnings for latest gcc&lt;br /&gt;
===bat (basic audio tester)===&lt;br /&gt;
- bat: fix the verbose compilation warnings for latest gcc&lt;br /&gt;
===gitcompile===&lt;br /&gt;
- gitcompile: set more verbose compilation warnings&lt;br /&gt;
===iecset===&lt;br /&gt;
- iecset: fix the verbose compilation warnings for latest gcc&lt;br /&gt;
==alsa-ucm-conf==&lt;br /&gt;
===Configuration===&lt;br /&gt;
- mtk-rt5650: remove duplicate JackControl &amp;quot;Headset Jack&amp;quot; lines&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 We cannot judge which device should be activated in this case.&amp;lt;/code&amp;gt;&lt;br /&gt;
- USB-Audio: ALC4080 - 26ce:0a08 - Z790 PG-ITX/TB4&lt;br /&gt;
- USB-Audio: ALC4080 - 26ce:0a06 - ASRock X670E Taichi&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 BugLink: https://github.com/alsa-project/alsa-ucm-conf/issues/229&lt;br /&gt;
 Co-developed-by: Hon Weng Chong &amp;amp;lt;hon@corticallabs.com&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
- tegra: Add UCM for MAX98089 based LG Optimus 4X HD and Vu&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Maxim MAX98089 based LG Optimus 4X HD and Vu are powered by&lt;br /&gt;
 NVIDIA Tegra30 SoC. They feature 2-channel speaker, built-in&lt;br /&gt;
 stereo microphone and 4-pin 3.5mm jack for headphones and&lt;br /&gt;
 headset.&lt;br /&gt;
 &lt;br /&gt;
 Tested-by: Andreas Westman Dorcsak &amp;amp;lt;hedmoo@yahoo.com&amp;amp;gt; # LG P880 T30&lt;br /&gt;
 Tested-by: Svyatoslav Ryhel &amp;amp;lt;clamor95@gmail.com&amp;amp;gt; # LG P895 T30&amp;lt;/code&amp;gt;&lt;br /&gt;
- tegra: Add UCM for WM8903 based ASUS Transformers&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Wolfson Microelectronics WM8903 based ASUS Transformer tablet devices&lt;br /&gt;
 are powered by NVIDIA Tegra30 SoC. They feature 2-channel speaker,&lt;br /&gt;
 built-in mono microphone and 4-pin 3.5mm jack for headphones and&lt;br /&gt;
 headset.&lt;br /&gt;
 &lt;br /&gt;
 Tested-by: Robert Eckelmann &amp;amp;lt;longnoserob@gmail.com&amp;amp;gt; # ASUS TF101 T20&lt;br /&gt;
 Tested-by: Andreas Westman Dorcsak &amp;amp;lt;hedmoo@yahoo.com&amp;amp;gt; # ASUS TF300T T30&lt;br /&gt;
 Tested-by: Svyatoslav Ryhel &amp;amp;lt;clamor95@gmail.com&amp;amp;gt; # ASUS TF300T T30&amp;lt;/code&amp;gt;&lt;br /&gt;
- tegra: Add UCM for RT5631 based ASUS Transformers&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Realtek RT5631 based ASUS Transformer tablet devices are powered by&lt;br /&gt;
 NVIDIA Tegra30 SoC. They feature 2-channel built-in speaker, built-in&lt;br /&gt;
 1-channel microphone and 4-pin 3.5mm jack for headphones/headset.&lt;br /&gt;
 &lt;br /&gt;
 Tested-by: Andreas Westman Dorcsak &amp;amp;lt;hedmoo@yahoo.com&amp;amp;gt; # ASUS TF700T T30&lt;br /&gt;
 Tested-by: Svyatoslav Ryhel &amp;amp;lt;clamor95@gmail.com&amp;amp;gt; # ASUS TF201 T30&amp;lt;/code&amp;gt;&lt;br /&gt;
- ucm2: Rockchip: Add UCM support for ES8316 on Rock 5B&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Add UCM configuration for the RK3588 SoC based Rock 5B board to enable&lt;br /&gt;
 the analog audio support provided by the Everest Semi ES8316 codec.&amp;lt;/code&amp;gt;&lt;br /&gt;
- USB-Audio: Added Universal Audio Volt 2 config&lt;br /&gt;
- SplitPCM: Fix Device variable in SplitPCMDevice macro&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Currently, the variable name is dev instead of Device as the comment&lt;br /&gt;
 would suggest, update the name to fit the comment. Also, the variable&lt;br /&gt;
 gets ignored due to it getting set to nothing right away, remove that&lt;br /&gt;
 line to allow the variable to work as intended.&amp;lt;/code&amp;gt;&lt;br /&gt;
- USB-Audio: Do not use 4ch playback stream for stereo Focusrite Scarlet devices&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-ucm-conf/pull/309&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-ucm-conf/issues/329&lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-ucm-conf/issues/314&amp;lt;/code&amp;gt;&lt;br /&gt;
- ucm2: USB-Audio: Add support for more Focusrite Scarlet 2-input devices&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Adds USB ids for several more 2i2 and 2i4 devices, along with the Solo&lt;br /&gt;
 devices. Solo is basically identical to the 2i2 devices of the same&lt;br /&gt;
 generation; the difference is that the first input can only be used for&lt;br /&gt;
 a mic, and the second input can only be used for line/instrument. (On&lt;br /&gt;
 the 2i devices, both inputs are the same - they both have mic preamps,&lt;br /&gt;
 and both support line/instrument input.)&lt;br /&gt;
 &lt;br /&gt;
 The conditions in the main configuration have been rewritten to assign&lt;br /&gt;
 properties by device model and generation to simplify things and allow&lt;br /&gt;
 setting comments on the playback/capture devices to better indicate&lt;br /&gt;
 their functionality on different models.&amp;lt;/code&amp;gt;&lt;br /&gt;
- USB-Audio: Arturia: set S32_LE format for SplitPCM&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Improve quality with forcing the S32_LE format. Apparently,&lt;br /&gt;
 current pipewire does not handle correctly the conflicting&lt;br /&gt;
 PCM streams - not all splitted streams are closed before&lt;br /&gt;
 rate / format change.&lt;br /&gt;
 &lt;br /&gt;
 Link: https://github.com/alsa-project/alsa-ucm-conf/issues/333&amp;lt;/code&amp;gt;&lt;br /&gt;
- Intel/sof-essx8336: Fix HiFi.conf&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 1. Switch Headphone on/off in Headphones enable/disable sequence.  This&lt;br /&gt;
    should be obvious.&lt;br /&gt;
 2. &amp;quot;Headset Switch&amp;quot; is not recognized and triggers errors running&lt;br /&gt;
    &amp;quot;alsaucm -c hw:0 set _verb Hifi&amp;quot;.  Change it to &amp;quot;Headset Mic Switch&amp;quot;.&lt;br /&gt;
    And in the disable sequence we should turn it off, not on.&amp;lt;/code&amp;gt;&lt;br /&gt;
- USB-Audio: ALC4080: Add USB ID 0b05:1a5c (ASUS ROG Strix B650E-I)&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Added configuration for ASUS ROG Strix B650E-I Gaming WiFi and ALC4080&amp;lt;/code&amp;gt;&lt;br /&gt;
- Add Asus ROG STRIX X670E-F Gaming Wifi to USB-Audio.conf&lt;br /&gt;
- ucm2: PinePhone: use &amp;quot;Mix Mono&amp;quot; routing for earpiece&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 The earpiece speaker is a mono device, using only a single channel (in&lt;br /&gt;
 our case, the left one) from the DA0 output. This causes loss of&lt;br /&gt;
 information as the right channel is completely discarded when playing&lt;br /&gt;
 stereo audio.&lt;br /&gt;
 &lt;br /&gt;
 In order to avoid this issue, set `AIF1 DA0 Stereo Playback Route` to&lt;br /&gt;
 `Mix Mono` when using the &amp;quot;Earpiece&amp;quot; output port (and only in this&lt;br /&gt;
 case).&amp;lt;/code&amp;gt;&lt;br /&gt;
- Add support for Steinberg UR44C&lt;br /&gt;
- ucm2: Qualcomm: sc8280xp: fix device numbers&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Due to a bug in the Qualcomm ASoC drivers, we ended up with card device&lt;br /&gt;
 numbers starting at some number that is not dai-link id. This bug is now&lt;br /&gt;
 fixed, so update the ucm files inline with this.&amp;lt;/code&amp;gt;&lt;br /&gt;
- acp62: add initial support for AMD ACP v6.2 RPL&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Also simplify the regex for AcpCardId.&amp;lt;/code&amp;gt;&lt;br /&gt;
- acp63.conf: use symbolic link&lt;br /&gt;
- acp63: add initial support for AMD Pink Sardine - ACP63&lt;br /&gt;
- sof-hda-dsp: move card-init include to top&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ... otherwise the rm is called after the nhlt-dmic-info&amp;lt;/code&amp;gt;&lt;br /&gt;
- sof-hda-dsp,sof-soundwire: add CaptureMicInfoFile fields for dmics&lt;br /&gt;
- sof-essx8336: Dmic is not a valid UCM device identifier, use Mic&lt;br /&gt;
===Description===&lt;br /&gt;
- Release v1.2.10&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Main&gt;Perex</name></author>
	</entry>
</feed>