Version 1.4.6
* added application startup optimization
* added X11 session checking in the notifier plugin
* fixed provider settings parsing in the lyrics plugin
* fixed equalizer form in the qsui plugin
* fixed build with the latest ffmpeg version
* updated Portuguese translation (Sérgio Marques)
* updated Italian translation (Luigi Toscano)
* updated French translation (Adrien Vigneron)
Changes:
- Make ALSA the default driver on Linux
- Coreaudio driver failed to initialize on MacOS 11
- WaveOut driver failed to initialize
- COM initialization in WASAPI driver is no longer performed in the caller's context
- WASPI driver now supports reverb and chorus
- Handle SysEx GM/GM2 mode on, GS reset, and XG reset
- Old behaviour of fluid_player_join has been restored to prevent infinite loop in client code
- The Soundfont loader code has been refactored, illegal generators will now be skipped more consequently
Changelog:
1.2.2
Not available
1.2.1
Core
Release v1.2.1
PulseAudio -> ALSA plugin
pulse: Add DEVICE parameter
1.1.9
Core
Release v1.1.9
configure: Fix unexpanded ALSA_DATA_DIR
configure: use $sysconfdir instead of /etc
Alsa support for Maemo SDK (n770)
maemo: Fix a few crashing bugs
Documentation
doc: Add forgotten aaf.txt to EXTRA_DIST
Jack PCM plugin
jack: use correct port names in 50-jack.conf
jack: Support to connect multiple JACK ports with same ALSA channel
jack: Refactoring: Lower indentation
jack: Removing snd_pcm_jack_format_t as it is not used
jack: Replacing jack->channels with jack->num_ports
jack: Moving jack_deactivate() to snd_pcm_jack_hw_free() to speedup the XRUN Recovery
jack: Move jack_activate() and jack_connect() to snd_pcm_jack_prepare()
1.1.8
Core
Release v1.1.8
aaf: AVTPDU transmission periodicity
aaf: Implement Playback mode support
aaf: Load configuration parameters
aaf: Introduce plugin skeleton
/Makefile.am
aaf: Introduce plugin skeleton
A52 Output plugin
a52_close: set slave to NULL to avoid double pcm free in open fcn
AVTP Audio Format (AAF) PCM plugin
aaf: AVTPDU transmission periodicity
aaf: Tx multiple AVTPDUs per media clock tick
aaf: Refactor timeout routines
aaf: Refactor AVTPDU reception routines
aaf: Refactor AVTPDU transmission routines
aaf: Add presentation time tolerance
aaf: do not free twice aaf - snd_pcm_close() is called from snd_pcm_ioplug_delete()
aaf: Add support for direct read/write transfers
aaf: Implement dump() ioplug callback
aaf: Implement Capture mode support
aaf: Prepare for Capture mode support
aaf: Implement Playback mode support
aaf: Load configuration parameters
aaf: Introduce plugin skeleton
Documentation
aaf: AVTPDU transmission periodicity
aaf: Tx multiple AVTPDUs per media clock tick
aaf: Add presentation time tolerance
doc: Fix typo in AAF doc
aaf: Implement Capture mode support
aaf: Implement Playback mode support
aaf: Load configuration parameters
aaf: Introduce plugin skeleton
Jack PCM plugin
Revert "jack: Fix leaks when jack_set_hw_constraint() fails"
OSS Mixer -> ALSA Control plugin
Revert "oss: Fix leaks when oss_hw_constraint() fails"
USB stream plugin
Revert "usb_stream: Fix leaks when us_set_hw_constraint() fails"
pcm_usb_stream: fix signess issues
pcm_usb_stream: remove unused parameter in snd_pcm_us_read()
pcm_usb_stream: fix another leak in snd_pcm_us_open()
1.1.7
Core
Release v1.1.7
Fix typo in configure.ac (--disable-libav)
configure: Require alsa-lib 1.1.6 and newer
configure: change --with-alsaaddondir to --with-alsagconfdir and --with-alsalconfdir
Move rate-lavc to rate-lav subdirectory and update to use libavresample
config/Makefile: make everything modular
configure: add --with-alsaaddondir, add default config files for plugins
/Makefile.am
Move rate-lavc to rate-lav subdirectory and update to use libavresample
config/Makefile: make everything modular
A52 Output plugin
a52: Fix leaks when a52_set_hw_constraint() fails
configure: change --with-alsaaddondir to --with-alsagconfdir and --with-alsalconfdir
Move rate-lavc to rate-lav subdirectory and update to use libavresample
configure: add --with-alsaaddondir, add default config files for plugins
Arcam AV control plugin
arcam-av: Add explicit -lpthread to *_LIBADD
configure: change --with-alsaaddondir to --with-alsagconfdir and --with-alsalconfdir
configure: add --with-alsaaddondir, add default config files for plugins
Documentation
doc: fix makefile, the files should be included to the distribution package unconditionally
Move rate-lavc to rate-lav subdirectory and update to use libavresample
config/Makefile: make everything modular
Jack PCM plugin
jack: Fix leaks when jack_set_hw_constraint() fails
jack: Only allow ALSA periods multiple of JACKd period
jack: Allow build with older alsa-lib
jack: Update poll_fd also in draining state
jack: Avoid call to snd_pcm_avail_update() from JACK thread
configure: change --with-alsaaddondir to --with-alsagconfdir and --with-alsalconfdir
configure: add --with-alsaaddondir, add default config files for plugins
OSS Mixer -> ALSA Control plugin
oss: Fix leaks when oss_hw_constraint() fails
oss/Makefile.am: fix typo
Rate Converter plugins
samplerate: fix unused variable warning
USB stream plugin
usb_stream: Fix leaks when us_set_hw_constraint() fails
usb_stream: Add explicit -lpthread to *_LIBADD
1.1.6
Core
Release v1.1.6
Change FSF address (Franklin Street)
A52 Output plugin
Change FSF address (Franklin Street)
Arcam AV control plugin
Change FSF address (Franklin Street)
Jack PCM plugin
jack: Use correct parameter order for snd_pcm_areas_silence()
jack: Report Xruns to user application
jack: Do not Xrun the ALSA buffer
jack: Use boundary as hw_ptr wrap around
jack: Write only valid values to the internal hw_ptr
Change FSF address (Franklin Street)
1.1.5
Core
Release v1.1.5
PulseAudio -> ALSA plugin
pulse: prevent double-free when pulse_hw_constraint returns error
1.1.4
Core
Release v1.1.4
configure: Fix detection of avcodec.h
configure: enhancing configuration support for alsa plugins
Changelog:
1.2.4
Core
Release v1.2.4
ALSA Control (alsactl)
alsactl: 00main - fix typo in goto label
alsactl: add new -U argument text to man page
alsactl: init - add -U option to disable UCM based init
alsactl: fix the syslog message - add : delimiter after function:line
Audio Transfer utility
treewide: fix typos in manual pages
alsa-info.sh
alsa-info: provide DMI system sku
alsa-info.sh: command -v cleanups
alsa-info.sh: declare variables separately from the assign (coverity)
alsaloop
alsaloop: Fix the silence generation in xrun_sync
alsamixer
alsamixer: remove wrong free(buf) call in read_file()
alsamixer: small optimizations
alsamixer: added configuration file parser
alsamixer: Use a struct for storing color attributes
alsamixer: added mouse support
alsamixer: Replaced hardcoded keys by binding arrays
alsamixer: Fix window_size_changed()
alsatplg (topology)
topology: check for the remove() error (coverity)
topology: fix the error path in load()
alsaucm
alsaucm: Fix ending with quotes commands
aplay/arecord
aplay: fix the wrong count in compute_max_peak() for 16bit+ sample widths
minor aplay man page correction
aplay: Fix typo in error message
treewide: fix typos in manual pages
aplay: capture: write only the amount of read frames
aplay: pcm_read(): return read samples instead of requested upon abort
aplay: pcm_readv(): return read samples instead of requested upon abort
aplay: fix possible string overflow (coverity)
bat (basic audio tester)
alsabat: fix typo
1.2.3
Core
Release v1.2.3
github actions: ubuntu - fix the non-interactive build
github workflow: fix tag fetch
ALSA Control (alsactl)
alsactl: ucm - rename _once command to _boot command
alsactl: allow to compile alsactl without UCM support
alsactl: use the right priority for syslog messages
alsactl: add -D argument to execute also the UCM defaults section
alsactl: redirect alsa-lib errors
alsactl: add initial support for UCM init
alsactl: init - iterate through all cards for the initial settings
alsactl: daemon.c - fix gcc warning in write_pid_file()
alsactl: fix error handling for sched_setscheduler() call
alsactl: avoid needless wakeups in monitor loop.
alsactl: don't exit on EINTR from epoll_wait().
alsa-info.sh
alsa-info.sh: increase version to 0.4.65
alsa-info: initial rpm/deb package info
alsa-info.sh: add ALT to DISTRO list
alsaloop
alsaloop: reduce cumulative error caused by non-atomic samples calculation
alsamixer
alsamixer: suppress _XOPEN_SOURCE compile warning
alsaucm
alsaucm: remove custom rules, alsactl is UCM aware now
alsactl: ucm - rename _once command to _boot command
amixer
amixer: retype to double in convert_prange1() like in convert_prange()
amixer: improve the raw percentual volume rounding
1.1.9
Core
Release v1.1.9
axfer: add an entry of axfer to README
ALSA Control (alsactl)
alsactl: monitor - remove dead code in run_dispatcher() (coverity)
alsactl: simple coverity fix
Audio Transfer utility
axfer/test: fix uninitialized warning
axfer/test: fix uninitialized warning
axfer: Declare global variables as 'extern' in header
axfer: Fix creation of v1.2 headers on big-endian systems
xfer: fix possible minor memory leak in xfer_options_parse_args() (coverity)
axfer: return back unsigned avail variable, do proper retype in xfer-libasound-irq-mmap.c
axfer: coverity fixes
axfer: add missing header file of unit test to distribution
axfer: allow to be compiled with glibc-2.11 or former
axfer: correct invalid usage of escape of itaric text
axfer: supplement value of options for the manual of transfer subcommand
axfer: correct message to notice that help text is implemented
axfer: correct description about snoop mode of libffado
axfer: fulfill section for backward compatibitity for chmap option
axfer: add a section about unit test
alsa-info.sh
alsa-info.sh: cleanups
alsaloop
alsaloop: remove unused assignment warning (coverity)
alsamixer
alsamixer: define _GNU_SOURCE to get exp10
amixer
amixer: define _GNU_SOURCE to get exp10
aplay/arecord
aplay: check the return value for snd_pcm_sw_params_current() (coverity)
aplay: fix the multiple open file descriptors for the raw capture
aplaymidi/arecordmidi
arecordmidi: simple coverity fix
seq: arecordmidi: Add num-events option
1.1.8
Core
Release v1.1.8
Makefile.am: add README.md to EXTRA_DIST
axfer: add support for libffado transmission backend
axfer: add unit test for container interface
axfer: add an entry point for this command
initial version of .travis.yml
rename and update README.md
Audio Transfer utility
axfer: add an explanation about advantages/issues of Timer-based scheduling model
axfer: add an explanation about Timer-based scheduling model
axfer: add an explanation about IRQ-based scheduling model
axfer: add text for compatibility loss of sw parameter in libasound backend
axfer: fulfill manual section for libasound backend
axfer: print help for libasound backend
axfer: fulfill manual section for libffado backend
axfer: print help for libffado backend
axfer: correct description about signal handling
axfer: fix typo in axfer(1) manual
axfer: fix no return statement in print_help() function
axfer: enable each backend to print own help
axfer: print help text of transfer subcommand just for common options
axfer: print help text of list subcommand
axfer: print help text of command entry
axfer: add a section about design of transfer subcommand
axfer: add a section to describe compatibility to aplay(1)
axfer: add a manual for transfer subcommand
axfer: add a manual for list subcommand
axfer: add a manual for entry point
axfer: check whether a terminal is referred for stdio
axfer: truncate parsed arguments before operating subcommand
axfer: use transfer subcommand as a default for compatibility mode to aplay(1)
axfer: use second argument in command line for transmission direction
axfer: apply refactoring in list subcommand for new command system
axfer: apply refactoring to list subcommand for backward compatibility to aplay(1)
axfer: add support for libffado transmission backend
axfer: obsolete some unimplemented options
axfer: add support for timer-based scheduling model with MMAP operation
axfer: add an implementation of waiter for epoll(7)
axfer: add an implementation of waiter for select(2)
axfer: add an implementation of waiter for poll(2)
axfer: add an option for waiter type
axfer: add a common interface of waiter for I/O event notification
axfer: add options for plugins in alsa-lib
axfer: add options for software parameters of PCM substream
axfer: add options for buffer arrangement
axfer: add an option to suppress event waiting
axfer: add support for MMAP PCM operation
axfer: add support for non-blocking operation
axfer: add an option to finish transmission at XRUN
axfer: add options related to duration and obsolete '--max-file-size' option
axfer: add an option to dump available hardware parameters
axfer: add informative output and an option to suppress it
axfer: add a sub-command to transfer data frames
axfer: add support for blocking data transmission operation of alsa-lib PCM API
axfer: add support to transfer data frames by alsa-lib PCM APIs
axfer: add a parser for command-line options
axfer: add a common interface to transfer data frames
axfer: add a unit test for mapper interface
axfer: add support for a mapper for multiple target
axfer: add support for a mapper for single target
axfer: add a common interface to align data frames on different layout
axfer: add unit test for container interface
axfer: add support for a container of raw data
axfer: add support for a container of Creative Tech. voice format
axfer: add support for a container of Sparc AU format
axfer: add support for a container of Microsoft/IBM RIFF/Wave format
axfer: add a common interface to handle a file with audio-specific data format
axfer: add a sub-command to print list of PCMs/devices
axfer: add an entry point for this command
alsaloop
alsaloop: more avail_min cleanups
alsatplg (topology)
topology/topology.c: drop unneeded <dlfcn.h> include
aplay/arecord
aplay: improve available conditions for '--samples' and '--duration' options
aplay: add a paragraph for '--samples' ('-s') option to aplay manual
aplay: delete paragraph for obsoleted '--sleep-min' ('-s') option from aplay manual
1.1.7
Core
Release v1.1.7
Release v1.1.6
ALSA Control (alsactl)
alsactl: lock - fix the array size (gcc warning)
alsactl: use signalfd to catch UNIX signal
alsactl: handle detection of new sound card
alsactl: handle disconnection of sound card
alsactl: obsolete array for maintenance of handlers
alsactl: use a list of source for event dispatcher instead of an array of source
alsactl: use link list to maintain source of events
alsactl: use epoll(7) instead of poll(2)
alsactl: add an iterator of registered instances of sound card
alsactl: split event loop code to a function
Speaker Test
speaker-test: Allow sampling rates up to 768000
speaker-test: Remove unused variable
speaker-test: Support S24_3LE sample format
alsaloop
alsaloop: pcmjob - fix few warnings
alsamixer
alsamixer: fix gcc warnings
alsatplg (topology)
alsatplg: add man file
alsaucm
alsatplg: add man file
alsaucm: add alsa-ucm udev rules for PAZ00 (Toshiba AC100/Dynabook AZ).
aplay/arecord
aplay: add missing block brackets
aplay: Fix invalid file size check for non-regular files
bat (basic audio tester)
alsabat: Allow custom sample format for round trip latency test
bat: alsa.c - move the thread cleanup pop before goto exit3
1.1.6
Core
Release v1.1.6
ALSA Control (alsactl)
alsactl: Only start restore service when asoundrc file exists
Change FSF address (Franklin Street)
ALSA RawMidi Utility (amidi)
Change FSF address (Franklin Street)
Speaker Test
speaker-test: Refactor the tone-generator codes
alsaloop
alsaloop: fix a typo in the comparison
Change FSF address (Franklin Street)
amixer
Change FSF address (Franklin Street)
aplay/arecord
aplay: Fix wav file not being split on 32 bit platforms
aplay: Adjust sample rate limits to support newer hardware
bat (basic audio tester)
bat: alsa.c - move the thread cleanup pop before goto exit3
1.1.5
Core
Release v1.1.5
alsactl: Move systemd unit start-up from basic.target to sound.target
ALSA Control (alsactl)
alsactl: Move systemd unit start-up from basic.target to sound.target
alsatplg (topology)
alsatplg: fix topology compiler long option parsing
topology: delete output file if parsing fails.
aplay/arecord
aplay: Fix playback for small raw files
aplay: Refactor playback code
aplay: Add samples argument for playing/recording a given number of samples
aplay: interrupt streaming via signal in voc_pcm_write
aplay: Fix --max-file-time option 32 bits overflow
bat (basic audio tester)
alsabat: fix one uninitialized warning issue
1.1.4
Core
Release v1.1.4
ALSA Control (alsactl)
alsactl: Remove standard output definition in systemd unit
ALSA RawMidi Utility (amidi)
amidi: optarg might be NULL, fix 't' argument parsing
alsa-info.sh
alsa-info: add ACPI device status
alsa-info: provide more DMI information
alsaucm
alsaucm: Add alsaucm.rst to EXTRA_DIST
aplay/arecord
aplay: Introduce and use xwrite helper
1.1.3
Core
Release v1.1.3
INSTALL: document how to configure a build for installation in a local dir
configure.ac: add a check for rst2man, a reStructuredText man page generator
configure.ac: fix the check for xmlto availability
alsabat: add amixer config files
alsabat: automation test scripts
ALSA Control (alsactl)
alsactl: Fix potential NULL dereferences in daemon mode
ALSA RawMidi Utility (amidi)
amidi: add sysex-interval option
amidi: fix timeout handling
amidi: ignore not only Active Sensing but also Clock bytes
Speaker Test
speaker-test: Fix chmap wav file selection.
alsaloop
alsaloop: try adapt avail_min for playback to avoid 100% CPU usage
alsaucm
alsaucm: add a man page, generated from reStructuredText
alsaucm: mention the "list1" command in the usage output
aplay/arecord
aplay: Fix to handle pause when system is suspended/Resumed
bat (basic audio tester)
alsabat: add system power management S3 test
alsabat: fix alsabat -86 error
alsabat: add amixer config files
alsabat: automation test scripts
1.1.2
Core
Release v1.1.2
alsabat: align the data type on float
aplay/arecord
aplay: fix lurking capture file overwrite bug
bat (basic audio tester)
alsabat: make snr_is_valid static
alsabat: fix a missing break in switch
alsabat: add noise detection
alsabat: add a single channel sine wave generator
alsabat: add channels parameter for adjust_waveform()
alsabat: align the data type on float
alsabat: add round trip audio latency test
alsabat: fix a possible memory leak
alsabat: add buffer size and period size settings
alsabat: add terminate status check for capture thread
Changelog:
1.2.4
Core
Release v1.2.4
pcm: dmix: make lockless operation optional
Control API
control: Add documentation for snd_ctl_elem_value_*.
control: Improve general control interface documentation.
control: Add documentation for snd_ctl_elem_list_*.
control: ctlparse - fix enum values in or ""
ctl: improve documentation for identifier of control element
PCM API
pcm: file plugin - implement safe_write
pcm: fix the pcm_frames_diff -> pcm_frame_diff typo
pcm: dshare - apply the boundary wrap in snd_pcm_dshare_sync_area()
pcm: introduce pcm_frame_diff and pcm_frame_diff2 helpers
pcm: meter / s16 - add protection for the maximum copied frames
dlmisc, pcm: export the old symbols (for -flto)
pcm: fix the snd_pcm_plugin_status() avail and delay fields
pcm: dmix: fix access to sum-buffer in non-interleaved mixing mode
pcm: iec958: set channel status bits according to rate and format
pcm: iec958: implement HDMI HBR audio formatting
pcm: dmix: Fix semaphore usage with lockless operation
pcm: dmix: make lockless operation optional
Topology API
topology: straight printf and error path fixes
topology: save_config - fix the error path handling
tplg: fix the unaligned_get32/put32 helpers for big endian
topology: improve the printf buffer management
topology: fix the unaligned access
topology: fix sort_config()
topology: fix some gcc10 warnings (labs, signess)
topology: return correct value in tplg_save_printf()
topology: Make buffer for saving dynamic size
topology: decode: Add DAI name printing
topology: decode: Print sig_bits field in PCM capabilities section
topology: decode: Fix decoding PCM formats and rates
topology: decode: Change declaration of enum decoding function
topology: decode: Fix printing texts section
topology: decode: Add enum control texts as separate element
topology: decode: Remove decoding values for enum control
topology: decode: Fix infinite loop in decoding enum control
topology: decode: Fix channel map memory allocation
Use Case Manager API
ucm: handle correctly Linked configuration
ucm: rename once_list to boot_list
ucm: substitute the comment string also in the main configuration file
ucm: add a check for the empty configuration
ucm: Handle 'Error' keyword in the master file
ucm: substitute the merged tree completely
ucm: fix parse_get_safe_name() - safe name must be checked after substitution
ucm: substitution - remove duplicate allow_empty assignment
Configuration
conf: quote also strings with '*' and '#' characters in string_print()
conf: USB-Audio: Disable IEC958 on Lenovo ThinkStation P620
conf: pcm - USB - Added S/PDIF fix for Asus Xonar SE
Documentation
README: add patch submission instructions
Dynamic Loader helpers
dlsym: use the only alsa plugins directory for the internal modules
dlmisc, pcm: export the old symbols (for -flto)
dlsym: add support for ALSA_PLUGIN_DIR environment variable
1.2.3
Core
Release v1.2.3
snd_dlopen: implement the relocatable version for glibc
github actions: ubuntu - fix the non-interactive build
pcm: dmix: assembly: fix the interface for safety (mmx)
configure: add --embed for python3-config (python 3.8)
Config API
conf: add snd_config_is_array() function
Control API
tlv: implement nearest rounding in snd_tlv_convert_from_dB() for xdir == 0
control: use more precise rounding in snd_ctl_ascii_value_parse()
snd_dlopen: do not use absolute plugin path for snd_dlopen() calls
namehint: remember the direction from the upper levels
conf: namehint - add omit_noargs to the hint section
Mixer API
tlv: implement nearest rounding in snd_tlv_convert_from_dB() for xdir == 0
snd_dlopen: do not use absolute plugin path for snd_dlopen() calls
PCM API
pcm: Fix memory leak at snd_pcm_new when THREAD_SAVE_API is defined
pcm: clarify -ENODATA description (recovery, event)
pcm: fix spelling in documentation for -EBADFD
pcm: add documentation for -ENODATA error code
snd_dlopen: do not use absolute plugin path for snd_dlopen() calls
pcm: return immediately when the state is SETUP in snd_pcm_drain()
pcm: fix snd_pcm_drain() excluding SETUP state from valid states
pcm: rate: Fix uninitialized variable warning
pcm: rate: Fix compile warning wrt bit ops and comparison
pcm: dmix: assembly: give more freedom over the constraints
pcm: dmix: assembly: refactor the PIC mode
pcm: dmix: assembly: fix the interface for safety (mmx)
pcm: dmix: assembly: fix the interface for safety
pcm: dmix: assembly: change the token by symbolic names
fix infinite draining of the rate plugin in SND_PCM_NONBLOCK mode
pcm: rate - fix the remaining size calculation in snd_pcm_rate_drain()
pcm: dmix: fix sw_params handling of timestamp types in direct plugins
pcm: add chmap option to route plugin
Topology API
topology: Add missing ATTRIBUTE_UNUSED
topology: use snd_config_is_array() function
topology: Use bool parser to parse boolean value
topology: add back asrc to widget_map in dapm.c
Use Case Manager API
ucm: fix the wrong return value in uc_mgr_open_ctl()
ucm: remove strict: in ${OpenName} substitution
ucm: fix the error path in parse_toplevel_path()
ucm: fix the wrong uc_mgr_open_ctl() call in if_eval_control_exists()
use-case.h: define Linked variable
ucm: implement CardIdByName substitution
ucm: shuffle code in compound_merge()
ucm: substitute arguments in sequences only for syntax 3+
ucm: substitute RenameDevice and DeleteDevice lists
ucm: substitute Comment in Transition and Device
ucm: substitute verb name and file field
ucm: substitute component sequence string
ucm: substitute device strings in the device lists
ucm: substitute device / modifier names, too
ucm: implement the toplevel ucm configuration file parser
ucm: substitute ${CardNumber}
ucm: substitute ${OpenName}
ucm: Define/DefineRegex is supported in Syntax 3
ucm: String condition - implement Empty
ucm: handle strict: prefix correctly for the UCM card name
ucm: substitute also value strings
ucm: allow to specify the toplevel directory using '/' as first character in File path
ucm: config - change the in-place include evaluation order
ucm: allow syntax version 3
ucm: substitute arguments in sequences
ucm: configuration - add DefineRegex
ucm: configuration - allow to define the configuration variables
ucm: config - substitute File string to allow variables in include
ucm: configuration - substitute ${ConfDir} and ${ConfTopDir}
ucm: configuration - implement in-place Include
ucm: rename _once command to _boot command
ucm: rename SectionOnce to BootSequence
ucm: fix compilation error in set_defaults_user()
ucm: fix SectionOnce comment
ucm: initialize mgr->once_list
ucm: handle 'set _defaults' command
ucm: handle 'set _once' command
ucm: execute SectionDefaults lately (when the first verb is set)
ucm: parse SectionOnce section in the master UCM configuration file
ucm: merge the array items from the condition blocks
use-case.h: add USB as allowed device name
ucm: fix copy-n-paste typo (RemoveDevice list)
ucm: fix the device remove operation
usecase: allow indexes also for modifier names
ucm: fix uc_mgr_scan_master_configs()
ucm: clarify the index syntax for the device names
Configuration
conf: USB-Audio: Add HP Thunderbolt Dock in the IEC958 blacklist
conf: remove debug printf() in snd_config_hook_load()
conf: add support for XDG_CONFIG_HOME search path
conf: load function (hook) - add OR support
conf: USB-Audio.conf - add another card name for Asus Xonar 5
conf: add snd_config_is_array() function
conf: use bool type for the join member in the config structure
conf: change namehint for pcm.front
conf: USB-Audio: Fix S/PDIF output of ASUS Xonar AE
pcm: dmix: fix sw_params handling of timestamp types in direct plugins
conf: fix namehint for pcm.front and pcm.iec958
conf: USB-Audio: Add C-Media USB Headphone Set to the IEC958 blacklist
Change PCM device number of Asus Xonar U5
conf: namehint - add omit_noargs to the hint section
conf: changc Loader helpers
dlsym: fix the snd_dlopen(), incorrect variable use
dlsym: fix again snd_dlpath()
dlsym: fix the reference to the origin lib directory
snd_dlopen: implement the relocatable version for glibc
Kernel Headers
header: Fix build error with old kernel headers
Simple Abstraction Mixer Modules
snd_dlopen: implement the relocatable version for glibc
snd_dlopen: do not use absolute plugin path for snd_dlopen() calls
Test/Example code
test: pcm_min - add snd_pcm_drain() call and indentation fixes
1.2.1.2
Core
Release v1.2.1.2
local.h: remove sound/asoundef.h dependency
asoundef.h: add CEA861_AUDIO_INFOFRAME defines
Control API
control: ctlparse - accept enum values in or ""
PCM API
pcm_file: fix pipe stall when pclose() is called too early
Topology API
include/sound: sync with the kernel v5.4
Use Case Manager API
ucm: add support for ControlEnum in ControlExists condition
ucm: conditions - fix the wrong string/substring match
use-case: add priority values from pulseaudio
use-case: improve comment for mixer elements
ucm: rename mixer element identifiers
ucm: fix the cdev initialization sequence
ucm: remove the new-line for uc_error() calls
ucm: use-case.h - add <alsa/asoundlib.h> include
ucm: add ${CardDriver} substitution
ucm: implement ${sys:sysfs/path} substitution
Kernel Headers
include/sound/Makefile.am: remove asoundef.h
local.h: remove sound/asoundef.h dependency
include/sound: sync with the kernel v5.4
Utils
alsa.m4: Fix the detection of topology library availability 1.2.1.2
Core
Release v1.2.1.2
local.h: remove sound/asoundef.h dependency
asoundef.h: add CEA861_AUDIO_INFOFRAME defines
Control API
control: ctlparse - accept enum values in or ""
PCM API
pcm_file: fix pipe stall when pclose() is called too early
Topology API
include/sound: sync with the kernel v5.4
Use Case Manager API
ucm: add support for ControlEnum in ControlExists condition
ucm: conditions - fix the wrong string/substring match
use-case: add priority values from pulseaudio
use-case: improve comment for mixer elements
ucm: rename mixer element identifiers
ucm: fix the cdev initialization sequence
ucm: remove the new-line for uc_error() calls
ucm: use-case.h - add <alsa/asoundlib.h> include
ucm: add ${CardDriver} substitution
ucm: implement ${sys:sysfs/path} substitution
Kernel Headers
include/sound/Makefile.am: remove asoundef.h
local.h: remove sound/asoundef.h dependency
include/sound: sync with the kernel v5.4
Utils
alsa.m4: Fix the detection of topology library availability
1.2.1.1
Core
Release v1.2.1.1
PCM API
pcm: add braces to condition (coverity)
Use Case Manager API
ucm: quick fix for the previous commit when ALSA_CONFIG_UCM_VAR is set
ucm: fix again the long name configuration filename lookup
ucm: parser: Fix snprintf usage
ucm: Only look in ucm[1] or ucm2 dir once we've found a config file in one
ucm: Fix fallback to card_name (shortname) config for ucm1 profiles
ucm: Fix opening of master-configs by the card's longname
ucm: fix memory leaks detected by the coverity checker
Configuration
conf: check for include path duplicates
conf: fix the include paths support
1.2.1
Core
Release v1.2.1
conf: implement snd_config_add_before() and snd_config_add_after()
topology: remove configuration files (moved to alsa-topology-conf repository)
create separated libatopology library with the topology routines
ucm: remove configuration files (moved to alsa-ucm-conf repository)
conf: improve the include paths code
Use __func__ instead of __FUNCTION__
rawmidi: use snd_dlobj_cache_get2() in rawmidi open (coverity)
ucm: Add UCM profile for CX2072X codec on Baytrail/Cherrytrail profiles
Config API
conf: implement snd_config_add_before() and snd_config_add_after()
ucm: change the If block parsing
ucm: add If condition block
Control API
control_shm: add missing socket close to the error path (coverity)
control_shm: remove duplicate code (coverity)
Mixer API
mixer: simple - add snd_mixer_selem_id_parse() from amixer
PCM API
pcm: the maximal rate is 768000Hz, fix the remain code
pcm: fix the period_size for direct plugins (dmix, dsnoop, dshare)
pcm: Fix the wrong PCM object passed for locking/unlocking
pcm: chmap: Fix memory leak at snd_pcm_set_chmap()
pcm: dshare: allow missing bindings
pcm: return -ENOSYS when ops or fast_ops callback is NULL
pcm_file: improve error checking in write_wav_header function
pcm_file: in case of failed write clear file buffer variables
pcm_file: use EIO instead of EPIPE when failing to write output file
pcm_file: return errno in case of a failed write operation
pcm_file: remove double line
pcm_file: report write output file error to api user
pcm_file: do not disrupt playback on output file write fail
pcm: rate: Avoid pointer arithmetic on `void *`
pcm: direct: Remove unused empty struct
pcm: Make sure parameter qualifiers match between declaration and definition
pcm: hw: Don't return in a void function
Use __func__ instead of __FUNCTION__
pcm_file: another locking fix (coverity)
pcm_file: coverity fixes (including double locking)
pcm_hw: close file descriptor in the error path in snd_pcm_hw_open() (coverity)
pcm_file: call pclose() correctly for popen() (coverity)
pcm: fix memory leak in _snd_pcm_parse_config_chmaps() (coverity)
pcm: file: add infile read support for mmap mode
pcm: add mmap_begin callback to snd_pcm_fast_ops_t api
pcm: file: add missing unlock on early return
pcm: file: use snd_pcm_file_areas_read_infile for readi
pcm: file: add support for infile reading in non interleaved mode
pcm: dsnoop: Added "hw_ptr_alignment" option in configuration for slave pointer alignment
pcm: dshare: Added "hw_ptr_alignment" option in configuration for alignment of slave pointers
pcm: direct: Add generic hw_ptr_alignment function for dmix, dshare and dsnoop
PCM Plugin API
pcm: the maximal rate is 768000Hz, fix the remain code
RawMidi API
rawmidi_hw: add sanity check for the invalid stream arguments (coverity)
rawmidi: use snd_dlobj_cache_get2() in rawmidi open (coverity)
Topology API
create separated libatopology library with the topology routines
topology: Fix variable overflow in split_format
topology: add support to parse private data for pcm
topology: next round of coverity fixes
topology: various coverity fixes
Use Case Manager API
ucm: add possibility to keep order of childs for If blocks
ucm: change the If block parsing
ucm: docs: Add MinBufferLevel value
ucm: docs: Add EDID File value
use-case header file: add more references to correct ASCII ID parsers for CTL/mixer IDs
ucm: add snd_use_case_parse_selem_id()
ucm: add If.Condition.RegexMatch
ucm: add ${CardComponents} substitution to the value string processing
ucm: evaluate nested If blocks also in True/False blocks
ucm: add If.Condition.String to match strings and substrings
ucm: add snd_use_case_parse_ctl_elem_id()
ucm: add PlaybackCTL and CaptureCTL default values when they are not set
ucm: small cosmetic uc_error change in execute_sequence()
ucm: add If condition block
ucm: do not cache all control devices in get_card_long_name()
ucm: parser - use less memory for integer/real values in parse_value()
ucm: save the whole ctl info to the ctl_list structure
ucm: add the run-time variable substitution
ucm: fix memory leaks for cdev, bin-file and tlv elements
ucm: do not report failure when long name configuration does not exist
ucm: add support for multiple control devices, more aggresive caching
ucm: extend snd_use_case_mgr_open() to address the sound card directly
ucm: switch to ucm2 directory and v2 format, keep backward compatibility
conf: improve the include paths code
ucm: parse_verb_file() - remove folder_name variable and extra logic
ucm: fix uc_mgr_scan_master_configs() - skip correctly component directories
ucm: cosmetic fix in get_card_long_name()
ucm: another coverity fix in uc_mgr_config_load()
ucm: coverity fixes
/Makefile.am
create separated libatopology library with the topology routines
/src/Makefile.am
create separated libatopology library with the topology routines
ALSA Server
Use __func__ instead of __FUNCTION__
aserver: fix resource leak coverity
Configuration
conf: implement snd_config_a_config_add_after()
topology: remove configuration files (moved to alsa-topology-conf repository)
ucm: remove configuration files (moved to alsa-ucm-conf repository)
conf: improve the include paths code
conf: List cases in range explicitly
config: parse_string() fix the dynamic buffer allocation failure code (coverity)
src/conf.c: add missing va_end() call (coverity)
ucm: Add UCM profile for CX2072X codec on Baytrail/Cherrytrail profiles
Dynamic Loader helpers
rawmidi: use snd_dlobj_cache_get2() in rawmidi open (coverity)
Utils
create separated libatopology library with the topology routines
1.1.9
Core
Release v1.1.9
add support for GCC's LTO
add snd_strlcpy() and use it everywhere
ucm: Add ucm files for DB820c board
Control API
add support for GCC's LTO
Print unsigned ints with %u instead of %i. (snd_ctl_ascii_elem_id_get)
add snd_strlcpy() and use it everywhere
PCM API
add support for GCC's LTO
pcm: multi plugin: reset hw/appl pointers in prepare/reset functions
pcm: multi plugin: detach the hw_ptr and appl_ptr from master_slave
pcm: fix wait condition in snd_pcm_write_areas() to avoid return zero
pcm: multi plugin - fix wait_for_avail_min
pcm: null: Do not allow a period size of 0
pcm: rate plugin - fix signess in snd_pcm_rate_avail_update() comparison
add snd_strlcpy() and use it everywhere
pcm: add the missing <strings.h> include
pcm: dshare: Fix overflow when slave_hw_ptr rolls over boundary
pcm: Preserve period_event in snd_pcm_hw_sw_params() call
Sequencer API
add snd_strlcpy() and use it everywhere
Timer API
add support for GCC's LTO
Topology API
Close topology config file after parsing it.
add snd_strlcpy() and use it everywhere
Use Case Manager API
Android: avoid using versionsort
/include/Makefile.am
Drop -I$includedir/alsa from alsa.pc
ALSA Lisp
alisp: add the missing include
Configuration
Android: avoid using versionsort
conf: pcm dmix - add CHANNELS argument
ucm: bytcr/PlatformEnableSeq.conf update some comments
ucm: Add ucm files for DB820c board
Revert "conf/ucm: Add a UCM profile for Dell WD19 Dock USB-audio"
conf/ucm: Add a UCM profile for Dell WD19 Dock USB-audio
Dynamic Loader helpers
add support for GCC's LTO
Error handler
add snd_strlcpy() and use it everywhere
Test/Example code
Printf unsigned longs with %lu instead of %ld (playmidi1.c)
Printf unsigned ints with %u instead of %i (pcm.c)
Printf unsigned long longs with %llu (mixtest.c)
Printf unsigned longs with %lu instead of %li (midifile.c)
Printf unsigned long with %lu instead of %li (latency.c)
test/latency: use frame bytes correctly in writebuf()
Utils
Drop -I$includedir/alsa from alsa.pc
1.1.8
Core
Release v1.1.8
conf: rename snd_conf_load1() to _snd_config_load_with_include()
conf/ucm: bytcht-es8316: Add long-name UCM profiles
conf/ucm: Add UCM profile for bytcht-es8316 boards
Create shared {En,Dis}ableSeq.conf components for rt5645 variants
conf/ucm: bytcr-rt5651: Add bytcr-rt5651-stereo-spk-dmic-mic config
conf/ucm: kblrt5660: Add ucm setting for Dell Edge IoT platform
conf/ucm: chtrt5650: Add UCM config for chtrt5650
ucm: Set default include path
conf: Move UCM profile snippets into components subdirectory
initial version of .travis.yml file
Control API
control: fix the assert() in snd_ctl_elem_set_bytes
PCM API
pcm: ioplug: Fix the regression of pulse plugin drain
pcm: extplug: Keep format and channels the same if requested
pcm: dshare: Fix segfault when not binding channel 0
pcm: dmix: Add option to allow alignment of slave pointers
pcm: interval: Interpret (x x+1] correctly and return x+1
Use Case Manager API
conf: rename snd_conf_load1() to _snd_config_load_with_include()
ucm: Set default include path
conf: Move UCM profile snippets into components subdirectory
Configuration
conf: rename snd_conf_load1() to _snd_config_load_with_include()
conf/ucm: bytcht-es8316: Add long-name UCM profiles
conf/ucm: Add UCM profile for bytcht-es8316 boards
Create device component for rt5645 Internal Analog Mic UCM
Factor out rt5645 variants Headset+Digital Mic UCM shared {en,dis}able sequences
Factor out rt5645 variants Speaker+Headphones shared UCM enable sequences
Create shared {En,Dis}ableSeq.conf components for rt5645 variants
Update chtrt5645 ucm variants to use bytcr/PlatformEnableSeq.conf component
conf/ucm: bytcr-rt5651: Document mono speaker wiring
conf/ucm: bytcr-rt5651: Add bytcr-rt5651-stereo-spk-dmic-mic config
conf/ucm: bytcr-rt5651: Add digital mic support
conf/ucm: bytcr-rt5651: Add support for a headset-mic on IN2
conf/ucm: bytcr-rt5651: Enable Stereo? ADC MIXL ADC? switches when enabling inputs
conf/ucm: kblrt5660: Add ucm setting for Dell Edge IoT platform
conf/ucm: chtrt5650: Add UCM config for chtrt5650
ucm: Set default include path
conf: Move UCM profile snippets into components subdirectory
conf: USB-Audio: Add Dell WD19 Dock in the IEC958 blacklist
conf/ucm/Dell-WD15-Dock: Fix incorrect device names
Documentation
README.md: add link to www.alsa-project.org
initial version of README.md for github
External PCM Filter Plugin SDK
pcm: extplug: Keep format and channels the same if requested
Test/Example code
test/audio_time: remove unused variables
test: rename code to more approriate mixtest
test/code: make it work again
test/latecy: fix typo in tstamp compare
Utils
utils/alsa.m4: conditionally enable libdl in AM_PATH_ALSA m4 macro
1.1.7
Core
Release v1.1.7
conf/ucm: bytcr-rt5651: Add bytcr-rt5651-mono-spk-in2-mic-hp-swapped config
conf/ucm: bytcr-rt5651: Add long-name UCM profiles
conf/ucm: bytcr-rt5651: Use generic SSP enable + disable sequence, support SSP0
conf/ucm: chtnau8824: Add Cube iWork8 Air and Pipo W2S specific profiles
conf/ucm: chtnau8824: Add UCM profile for chtnau8824 boards
conf/ucm: bytcr-rt5640: Add long-name UCM profiles
conf/ucm: bytcr-rt5640: Add generic bytcr-rt5640 UCM profile
configure: Fix forgotten ucm entry
conf/ucm: chtrt5645: At config for the Lenovo Ideapad Miix 320
conf/ucm: chtrt5645: At config for the Asus T100HA
configure: remove src/conf/alsa.conf.d/Makefile
Control API
control_hw: Fix issue when applying seccomp policy
hcontrol: use position offset macro of TLV data
control: use position offset macro of TLV data
PCM API
pcm: ioplug: Transfer all available data
pcm: rate: Add error check for snd_pcm_avail_update()
pcm: ioplug: Provide avail helper function for plugins
pcm: snd_interval_refine_first/last: exclude value only if also excluded before
pcm: Define refine mask bits explicitly (and fix missing DSD support)
pcm: dmix: Fix hwptr updates at status call
pcm ioplug: fix some coverity issues (switch, missing unlock in snd_pcm_ioplug_drain())
pcm: add missing flags initialization for the fallback control data
pcm: softvol: use position offset macro of TLV data
pcm: hw: use position offset macro of TLV data
pcm: softvol: Allow up to 90 dB of gain
PCM Plugin API
pcm: Fix header guard in pcm_plugin.h
Sequencer API
seq: Fix signedness in MIDI encoder/decoder
Topology API
ASoC: topology: Add alias conf parameter names for hw_configs
ASoC: topology: Add definitions for mclk_direction values
ASoC: topology: Add missing clock gating parameter when parsing hw_configs
ASoC: topology: Fix bclk and fsync inversion in set_link_hw_format()
Use Case Manager API
ucm: adding the folder of card_long_name when finding verb conf file
Configuration
conf/ucm: bytcr-rt5640: Improve human readable input/output names
conf/ucm: bytcr-rt5651: Add bytcr-rt5651-mono-spk-in2-mic-hp-swapped config
conf/ucm: bytcr-rt5651: Add long-name UCM profiles
conf/ucm: bytcr-rt5651: Add mono speaker output profile
conf/ucm: bytcr-rt5651: Split into 1 .conf file per input / output
conf/ucm: bytcr-rt5651: Add support for mic input on various pins
conf/ucm: bytcr-rt5651: Fix ADC and Mic capture volumes
conf/ucm: bytcr-rt5651: Use generic SSP enable + disable sequence, support SSP0
conf/ucm: bytcr-rt5651: Change Speaker/Headphone en/disable sequences to fix switching
conf/ucm: bytcr-rt5651: Start with all outputs and inputs disabled
conf/ucm: bytcr-rt5651: Configure all volumes at 0dB
conf/ucm: bytcr-rt5651: Do not use both DAC1 and HPVOL inputs for HP
conf/ucm: bytcr-rt5645: Use the generic bytcr/PlatformEnableSeq.conf
conf/ucm: VEYRON-I2S: Add internal speakers and mic, other fixes
conf/ucm: chtnau8824: Add Cube iWork8 Air and Pipo W2S specific profiles
conf/ucm: chtnau8824: Add UCM profile for chtnau8824 boards
conf/ucm: bytcr-rt5640: Add default DisableSequence
conf/ucm: bytcr-rt5640: Add long-name UCM profiles
conf/ucm: bytcr-rt5640: Add generic bytcr-rt5640 UCM profile
conf: USB-audio: Fix for Xonar U7 SPDIF device
conf/ucm: Add a UCM profile for Dell WD15 Dock USB-audio
conf/ucm: chtrt5645: At config for the Lenovo Ideapad Miix 320
conf/ucm: chtrt5645: At config for the Asus T100HA
conf/ucm: chtrt5645: Fix recording from internal analog microphone
conf/ucm: chtrt5645: Microphone recording fixes
conf/ucm: chtrt5645: Cleanup and playback fixes
conf/ucm: increase the input volume for LineIn
ASoC: topology: Fix bclk and fsync inversion in set_link_hw_format()
conf: remove alsa.conf.d from the datadir
alsa.conf: change the location for add-on configs to /etc/alsa/conf.d
External PCM I/O Plugin SDK
ioplug: Fix comment in struct snd_pcm_ioplug
pcm: ioplug: Provide avail helper function for plugins
Kernel Headers
timer: fix wrong comment to refer to 'SNDRV_TIMER_PSFLG_*'
control: add a series of macro for offset of several types of TLV
ASoC: topology: Add definitions for mclk_direction values
ASoC: topology: Add missing clock gating parameter when parsing hw_configs
ASoC: topology: Fix bclk and fsync inversion in set_link_hw_format()
Test/Example code
test: use position offset macro of TLV data
1.1.6
Core
Release v1.1.6
a set of fixes to reduce gcc warnings
modules: smixer_python - add support for python3
conf/ucm: Add chtrt5645-mono-speaker-analog-mic configuration
core: Proper reference of internal snd_dlopen()
conf/ucm: Add Gigabyte mobo UCM profile with dual HD-audio codecs
conf/ucm: Add dual HD-audio codecs config for Lenovo
conf/ucm: Rearrange Makefile.am
configure.ac: do not enable alisp code by default
configure.ac: build extra mixer modules conditionally
Change snd_dlopen() function to return the error string
Change FSF address (Franklin Street)
Control API
control ext: fix the default .rawmidi_next_device callback
control: Proper reference of internal versioned functions
HWDEP API
core: Proper reference of internal snd_dlopen()
Mixer API
core: Proper reference of internal snd_dlopen()
PCM API
pcm: ioplug: Implement proper drain behavior
pcm: Skip avail_min check during draining
a set of fixes to reduce gcc warnings
pcm: hw: Keep control data from kernel when SND_PCM_APPEND
pcm: ioplug: update prepare and draining state correctly
pcm: Provide areas_copy function which handles buffer wrap around
pcm: ioplug: Provide hw_avail helper function for plugins
pcm: Do not access lock_enabled if thread safe API
pcm: ioplug: Use boundary for wrap around
pcm: another fix for the snd_pcm_area_silence() fast path
pcm: fix a bug to copy silent samples aligned to 64
pcm: Fix two bugs in snd_pcm_area_silence()
pcm: Return the consistent error code for unexpected PCM states
core: Proper reference of internal snd_dlopen()
timer: Proper reference of internal versioned symbols
pcm: fix wrong comments for some cases of linear interpolation of PCM samples
pcm: remove unused macros of NORMS_LABELS/NORMS_END
pcm: remove unused macros of GETU_LABELS/GETU_END
pcm: remove unused macros of COPY_LABELS/COPY_END
pcm: plug: add SND_PCM_FORMAT_{S, U}20 to linear_preferred_formats
pcm: linear, route: handle linear formats with 20-bit sample on 4 bytes
pcm: add and describe SND_PCM_FORMAT_{S, U}20
pcm: route: Fix use_getput flag computation for 3 byte formats
Timer API
timer: Proper reference of internal versioned symbols
Topology API
a set of fixes to reduce gcc warnings
topology: Fix parsing config with multiple hw_configs
topology: Fix to skip writing of header for compound elements
ALSA Lisp
control: Proper reference of internal versioned functions
Change FSF address (Franklin Street)
ALSA Server
a set of fixes to reduce gcc warnings
Change FSF address (Franklin Street)
Compatibility routines
Change FSF address (Franklin Street)
Configuration
conf: USB-Audio: Add second S/PDIF device on Phiree U2SX
conf/ucm: Add chtrt5645-mono-speaker-analog-mic configuration
core: Proper reference of internal snd_dlopen()
conf/ucm: Add Gigabyte mobo UCM profile with dual HD-audio codecs
conf/ucm: Add dual HD-audio codecs config for Lenovo
conf/ucm: Rearrange Makefile.am
configure.ac: build extra mixer modules conditionally
Change snd_dlopen() function to return the error string
Documentation
Change FSF address (Franklin Street)
Dynamic Loader helpers
core: Proper reference of internal snd_dlopen()
External PCM I/O Plugin SDK
pcm: ioplug: Provide hw_avail helper function for plugins
pcm: ioplug: Use boundary for wrap around
Kernel Headers
asound.h: add SNDRV_PCM_FORMAT_{S, U}20
Simple Abstraction Mixer Modules
modules: smixer_python - add support for python3
configure.ac: build extra mixer modules conditionally
Change snd_dlopen() function to return the error string
Test/Example code
test: correct emulation for channel-map TLV
1.1.5
Core
Release v1.1.5
conf/ucm: rt5651: Add UCM config for bytcr-rt5651
snd_user_file: avoid use wordexp
cleanup: fix poll.h includes
Release v1.1.4.1
conf: Check the availability of PTHREAD_MUTEX_RECURSIVE
Control API
ctl: deprecate APIs of dimensional information
ctl: ext: Fail with error code if snd_ctl_ext_callback::read_event() callback is not defined
cleanup: fix poll.h includes
PCM API
pcm: softvol: add support for S24_LE
cleanup: Use uint*_t instead of u_int*_t everythwere
cleanup: fix poll.h includes
pcm: hw: remove superfluous code to call of SNDRV_PCM_IOCTL_SYNC_PTR in snd_pcm_hw_forward()
pcm: hw: add a helper function to issue avail_min without side-effects
pcm: hw: add a helper function to issue appl_ptr without side-effects
pcm: hw: add a helper function to request hwsync without side-effects
pcm: hw: add a helper function just to query status data
pcm: hw: add a helper function to query status/control data
pcm: hw: minor refactoring for initialization of control data
pcm: hw: fix to initialize function local variable
pcm: hw: Call USER_PVERSION ioctl at open
pcm: hw: maintain fallback mode for control data mapping independently
pcm: hw: maintain fallback mode for status data mapping
pcm: hw: allocate fallback buffer in advance of trials of mapping
pcm: hw: deallocate fallback buffer when trials of unmapping finished
pcm: hw: add an arrangement for initialization of appl_ptr/avail_min
pcm: hw: add helper functions to map/unmap status/control data for runtime of PCM substream
pcm: hw: Remove superfluous call of snd_pcm_set_appl_ptr()
pcm: minor code cleanup for ioctl call
pcm: obsolete 'mmap_emulation' parameter of snd_pcm_hw_open_fd()
pcm: dmix: Fix the inconsistent PCM state
pcm: dshare: Call snd_pcm_dshare_state() directly
pcm: dmix: Workaround for binary incompatibility
conf: Check the availability of PTHREAD_MUTEX_RECURSIVE
build: Define __USE_UNIX98 for old glibc
RawMidi API
rawmidi: symbols: use rawmidi_virt only when available
Sequencer API
seq: fix snd_seq_set_queue_tempo() usage example in the documentation
cleanup: fix poll.h includes
Topology API
alsa-lib: topology: fix DSP_B mode string
topology: fix coverity issues
topology: fix usage of SND_TPLG_INDEX_ALL when checking routes
topology: Fix private data for BEs
topology: improve verbose output for block output.
topology: Add support for new widget types
topology: Add parsing for rates from conf
topology: disable alsa-lib topology debug output by default.
topology: Add support for missing fields parser.
ALSA Server
cleanup: fix poll.h includes
Compatibility routines
cleanup: Use uint*_t instead of u_int*_t everythwere
Configuration
conf/ucm: rt5651: Mute speakers on boot
conf/ucm: rt5651: Add missing cdev
conf/ucm: rt5651: Fix HiFi file name
conf/ucm: rt5651: Add UCM config for bytcr-rt5651
conf: HdmiLpeAudio: remove the "front" pcm definition
conf: HdmiLpeAudio: add support for 3 devices
conf/ucm: DB410c-HiFi: add CIC selection
conf: USB-Audio: allow custom definitions for "default" devices
conf: USB-Audio: fix dsnoop args for Audiophile USB card
conf: Check the availability of PTHREAD_MUTEX_RECURSIVE
Filename helpers
snd_user_file: avoid use wordexp
Kernel Headers
topology: Add support for new widget types
pcm: hw: Call USER_PVERSION ioctl at open
SHM helpers
cleanup: fix poll.h includes
Test/Example code
test: obsolete usage of APIs of dimensional information
test/seq-decoder: enable timestamping for external subscribers
test: apply optimization for v4.14 kernel about changes for TLV data handling on user-defined element set
test: add a test for list operation to user-defined element sets
1.1.4.1
Core
Release v1.1.4.1
conf: Check the availability of PTHREAD_MUTEX_RECURSIVE
PCM API
pcm: dmix: Fix the inconsistent PCM state
pcm: dshare: Call snd_pcm_dshare_state() directly
pcm: dmix: Workaround for binary incompatibility
conf: Check the availability of PTHREAD_MUTEX_RECURSIVE
build: Define __USE_UNIX98 for old glibc
Configuration
conf: Check the availability of PTHREAD_MUTEX_RECURSIVE
Test/Example code
test: add a test for list operation to user-defined element sets
Updates to latest librespot, bringing along some larger changes under the hood.
Maintenance:
-Display error when command can not be parsed (#161)
-Add rounding to volume percentage display (#493)
-Log warning instead of panicking on invalid color (#498)
-Update to librespot 0.2.0
-As part of this, a lot of the Future implementations were migrated to
async/.await and cleaned up
-Flip play/pause indicators (#511)
Features:
-Add audio_cache_size to set maximum cache size (#429)
ossrecord records audio in Microsoft RIFF (wav) format.
ossplay plays raw PCM, Microsoft RIFF (.wav), Sun ULaw (.au), Mac AIFF (.aif)
and other types of audio files. By default the application will try to
determine the audio file's format and play audio based on the stored
inforation about sample format, number of channels and sampling rate.
NOTE: On NetBSD, use audioplay(1) and audiorecord(1) instead.
This package primarily exists to test OSSv4 compatibility.
The osstest applet is a simple test application that can be used to test
functionality of the sound hardware installed in the system.
osstest performs a playback test for each installed audio device. If there
are any "machine detectable" problems they will be reported. You will first
hear an audio sample played on the left speaker, then the right speaker and
finally in stereo on both speakers.
NOTE: On NetBSD, use `audiocfg test 0` instead. This package primarily
exists to test OSSv4 compatibility.
Command line mixer application from the Open Sound System.
Compatible with: NetBSD 10, Solaris 11, FreeBSD.
NOTE: On NetBSD, use mixerctl(1) (included in base) instead.
This package primarily exists for testing OSSv4 compatibility.
Newer meson recognizes that a target uses rsync and fails to configure.
This target is for upstream website maintenance, so comment it out
to avoid this dependency (and configure failure) in pkgsrc.
BREAKING CHANGES
-Migrate to tokio 1.0. This required a wholesale refactor of the librespot
codebase (#606#649#658#665#674#687#691)
-Replaced fn instances with const in version.rs (#595)
-Option to choose between track and album normalisation added. Defaults to
album, was previously disabled by default (#573)
Features:
-Add preload event for new track playing soon (#546)
-Ogg passthrough support (#569#664)
-Add high resolution audio control & normalisation (#660)
-Add shuffle command handling (#666#708)
-Add cache size limit (#675)
Bug fixes:
-Fix streaming mode (#693)
-Fix normalisation (#698)
-Fix rodio warning for alsa (#696)
Maintenance:
-Bump MSRV to 1.48
-Bump dependencies (#710)
-Clean up imports (#652#667#668)
-Update examples (#663)
-Change panic! to error! when child process fails to start (onevent program)
(#684)
-Reduce boilerplate (#699)
Now it should be more obvious when a package needs it as a dependency,
as it will fail loudly if it isn't declared as a tool.
While here, some duplicate dependencies on itstool were removed from the
MATE packages
This yields one common package to provide libfftw3 (double) and libfftw3f
(single) by default and optionally the Fortran bindings as well as
OpenMP and MPI variants, and those with long double or quad precision.
This changes all packages depending on fftwf in the same commit to minimize
the time of inconsistency. Soon, math/fftwf will disappear.
Fixes:
-Fixed not loading all saved albums (#59).
-Fixed "Like" in track context menu not updating properly (#75).
-Fixed build on Qt 5.9 and older (#76).
-Fixed a crash when playing from artist (#83).
-Fixed a crash when the current user had no profile image (#86).
-Fixed not showing any error message when no devices were available.
-Fixed not loading all artist albums.
-Fixed deprecation warnings when using Qt 6.
-Fixed showing "What's new" on first start.
-Fixed playing a new track with the same name, not updating currently playing.
-Fixed not selecting last used device when resuming playback after being idle.
-Fixed style option not setting default style.
Changes:
-Progress bar can now be clicked to skip in the track (#62).
-Added support for multiple artists (#67).
-Now remembers your last used device and selects it on next start (#73).
-Improved theming in snap (#79).
-Added a desktop icon for snap (#80).
-All networking is now done asynchronously, which should improve performance.
-Spotify client can now be started and/or stopped from Spotify settings.
-Windows builds are now available (see #95).
most of these simply extend matching from "aarch64" to "aarch64eb"
in various forms of code. most remaining uses in pkgsrc of
"MACHINE_ARCH == aarch64" are because of missing aarch64eb support,
such as most of the binary-bootstrap requiring languages like rust,
go, and java.
no pkg-bump because this shouldn't change packages on systems that
could already build all of these.
0.9.3:
Bugfixes:
* Fix "Show in file browser" to work with thunar.
* Check that the clicked rating position is to the right or left of the rectangle.
* Fix rescan when collection directory is removed and readded.
* Create GLib main event loop on non-glib systems to fix stream discoverer.
* (macOS) Fix intermittent abort on startup.
* (macOS) Fix Tidal and Qobuz search field not showing.
* (macOS) Add tidal URL scheme to Info.plist.
* (macOS) Fix Tidal OAuth authentication.
Enhancements:
* Allow editing playlist metadata for radio streams.
* Make CollectionQuery subclass QSqlQuery, avoid copying QSqlQuery.
* Only enable FTS3 when schema needs upgrading, since FTS5 is used for search.
* Add setting for configuring the color for the currently playing song.
* Add setting to turn on OSD Pretty fading.
* Add commandline option to resize window.
* (macOS) Make macdeployqt work with Qt 5 too.
* (macOS) Show keep running option in behaviour settings.
0.9.2:
Bugfixes:
* Fix marking songs available.
* Fix crash when transcoding music, or copying music to devices with transcoding.
* Fix copying album covers to iPod.
* Fix playlist tabbar close and save right click actions.
* Fix slow opening of cover manager.
* (macOS) Fix crash when opening cover manager.
* (macOS) Fix broken Qt plugins resulting in album covers not showing.
0.9.1:
Bugfixes:
* Fix duplicating songs in the DB when organizing songs between 2 different collection directories.
* Fix overwriting existing newer last played when importing last played from last.fm.
* Fix memory leak on song change when moodbar is disabled.
* Fix playlist filter search for text with spaces with Qt 6.
* Fix 'Except between tracks on the same album' backend fade option always grayed out.
* Fix read and save vorbis comment grouping tag.
* Fix QAtomicInteger compile error on armv.
* Fix compile error with protobuf 3.15.0 and newer.
* Fix possible tagreader (messagereply) crashes.
* Fix save album cover when album directory and no overwrite is used for saving covers.
* Fix right click save cover action when album has embedded cover.
* Fix temporary art saved to /tmp.
* Fix playlist bitrate sometimes stuck when changing track to previous.
* (macOS) Fix minor compile errors with Qt 6.
* (macOS) Fix exclusively grabbing global media shortcuts.
Enhancements:
* Improve Musixmatch cover and lyrics search.
* Decode any HTML entities in some rare cases they appear in the retrieved lyrics from the API's.
* Use mimetype instead of description from stream metadata by default when updating song filetype.
* Set limits for collection pixmap cache based on size units.
* Convert all signal/slot connections to new Qt 5/6 syntax.
* Improve album cover management.
* Add right click actions to clear set cover, and option delete covers.
* Show artist and album underneath the albums in the cover manager when all Artists is selected.
* Disable unavailable right click cover actions.
* Remove 3rdparty TagLib now that TagLib 1.12 is available.
* (macOS) Update and improve build deployment/bundling for Qt 6.
New features:
* Add option and support for saving embedded covers for FLAC, Ogg Vorbis, MP3 and MP4/AAC.
Minimalistic, single-header library for decoding MP3. minimp3 is designed
to be small, fast (with SSE and NEON support), and accurate (ISO conformant).
Overview of changes in libgpod 0.8.3
====================================
* Add support for libimobiledevice 1.1.5 (there was an API/ABI break)
* Remove use of some deprecated glib functions
* Fix various issues found using clang/cppcheck
* Improve robustness of the iphone callout
2021-04-11 the hydrogen team <hydrogen-devel@lists.sourceforge.net>
* Release 1.0.2
* User-selectable translation language
* Bug fixes including critical startup bug on macOS Big Sur
Changes:
Better grapheme support for hundreds of new languages as part of Wilderness project (http://www.festvox.org/cmu_wilderness/)
Also includes updated G2P rules for indic