v0.3.2
-minor fix: focus change when delete in queue
-invidious auto select
-update: add links to gstreamer and youtube-dl.
-Merge pull request #2 from jim4067/patch-1
v0.3.1
-refactor: avoid unwrap
Fixes:
-Fixed possible crash when playing library items with large amounts of tracks.
-Fixed not saving last playlist if application closed directly after.
-Fixed not properly handling loading invalid album art from API.
-Fixed not re-enabling the search box when pasting an ID.
-Fixed showing incorrect artist in context when track had multiple artists.
Changes:
-Added a new tab to search for searching in liked tracks.
-Search results for tracks now show album name.
-Both sidebars now have an adjustable width.
-Reworked audio features for improved accuracy.
-Search box is now automatically selected when opening search.
-Sorting in tracks list is now case-insensitive and ignores "The" prefixes.
-Added an option to embed title bar into toolbar (enabled by default).
-Album cover art, and artist covers, are now loaded asynchronously.
-Playlists no longer refresh if they haven't changed since last being loaded.
-Artist albums are now grouped by category.
pkgsrc changes:
---------------
* Add patches to explicitly include stdarg.h in header files that use
va_list. They could be removed if the following pull request is
accepted:
https://github.com/alsa-project/alsa-lib/pull/169
* Bump revision.
ver 0.22.10 (2021/08/06)
* protocol
- support "albumart" for virtual tracks in CUE sheets
* database
- simple: fix crash bug
- simple: fix absolute paths in CUE "as_directory" entries
- simple: prune CUE entries from database for non-existent songs
* input
- curl: fix crash bug after stream with Icy metadata was closed by peer
- tidal: remove defunct unmaintained plugin
* tags
- fix crash caused by bug in TagBuilder and a few potential reference leaks
* output
- httpd: fix missing tag after seeking into a new song
- oss: fix channel order of multi-channel files
* mixer
- alsa: fix yet more rounding errors
Lilypond is seemingly universally broken in pkgsrc builds at present.
(music21 upstream had considered removing it as a dependency for
another reason, but seem to have reversed course.)
libaudec (lib audio decoder) is a wrapper library over minimp3, sndfile and
libsamplerate for reading and resampling audio files, based on Robin Gareus'
audio_decoder code.
libaudec supports all formats supported by sndfile, in addition to MP3.
This library is meant to be linked in statically to larger projects.
Until version 1.0 is released, the API is subject to change.
libaudec is released under the GNU Affero GPLv3+.
0.8.1
-Release 0.8.0 had a minor bug which could result in a compilation error for
non-default build configurations, e.g. if notifications are disabled. 0.8.1
fixes this.
0.8.0
Maintenance:
-Show album art when playing 'similar tracks' (#354)
-Don't panic if user quits login process (#479)
-Handle commands (e.g. h, j, k l) in select artist modal (#560)
Features:
-Make command key configurable (#487)
-Add album cover to notification (#563)
-Add command line flag for custom config filename (#565)
21.08
New Features:
Introduced an experimental FNA-only DllMap implementation for .NET 5
Note that modern .NET is still not supported by FNA
Update to FNA3D 21.08
Update to FAudio 21.08
Fixes:
SDL2_FNAPlatform:
By default, minimize on focus loss when fullscreen on Windows
Fix a potential hole in Ctrl+V release detection
AudioEngine:
Constructor now properly throws NoAudioHardware when no audio hardware is present
Fix a memory leak on engine disposal
XACT: Invalid file paths properly throw FileNotFound again
* Convert to use meson to build.
Changelog:
1. Notes for end users
1. Support for LDAC and AptX bluetooth codecs, plus "SBC XQ" (SBC with
higher-quality parameters)
2. Support for HFP bluetooth profiles
3. Support for Bluetooth A2DP AVRCP Absolute Volume
4. ALSA path configuration files can now be placed in user home directory
5. module-virtual-surround-sink rewritten
6. More options for module-jackdbus-detect
7. Improved hardware support
1. SteelSeries Arctis 9
2. HP Thunderbolt Dock 120W G2
3. Behringer U-Phoria UMC22
4. OnePlus Type-C Bullets
5. Sennheiser GSX 1000/1200 PRO
8. New udev variable: PULSE_MODARGS
9. max_latency_msec argument added to module-null-source
10. module-filter-apply can take filter parameters from device properties
11. module-match can now be loaded multiple times
12. Improvements to FreeBSD support
13. Windows support added to Meson
14. Additional commands for pactl
15. Card profiles can be set to sticky
2. Notes for application developers
1. New API for sending messages from clients to PulseAudio objects
2. New mechanism for applications to disable shared memory on their
connection to PulseAudio
3. Notes for packagers
1. Autotools build system have been dropped
2. The startup script can now read additional configuration from the /etc/
pulse/default.pa.d/ directory
3. Option to build client library and utilities only
4. Avoid loading X11 modules on Wayland (GNOME-only for now)
5. OSS support is now configurable in Meson
6. Valgrind support is now configurable in Meson
A chorus effect inspired by the one found in certain well-known Japanese
vintage analog synthesizers (You Know which).
This audio effect supports a variety of audio and plug-in frameworks: DSSI,
JACK (stand-alone command line program), LADSPA, LV2, VST2
2.2.2
* The MIDI router now handles out-of-range parameters in a smarter manner (#891, thanks to @jjceresa)
* Keep pedaling effective when the same note is played more than once (#905, thanks to @jjceresa)
* Select soundfont samples by frequency instead of midi note numbers (#926, thanks to @Naturseptime)
* Fix the sequencer's event ordering for NoteOn vel=0 events (#907)
* libfluidsynth's import library was broken for MinGW builds (#874)
* fluidsynth.exe short option -Q not working (#915, thanks to @pedrolcl)
* Precompiled Android binaries didn't work (#894, #897)
* Fix openMP detection for XCode 12.5 (#917)
* Make audio.jack.autoconnect connect all available ports (#920)
* Prevent MIDI Player from continuously suppressing notes (#935, thanks to @albedozero)
* fluidsynth.pc now includes private libraries for static linking (#904)
* Fix typos in code and documentation (#939, thanks to @luzpaz)
ympd is a lightweight MPD (Music Player Daemon) web client that runs
without a dedicated webserver or interpreters like PHP, NodeJS or Ruby.
It's tuned for minimal resource usage and requires only few dependencies.
v0.2.11
-bugfix: status bar in main activity.
v0.2.10
-finished api for kugou.
v0.2.9
-bugfix: D in queue not working.
v0.2.8
-add License for GPLv3 for netease api code
-migu album cover works.
-migu lyric and download works.
Terminal Music Player written in Rust.
As a contributor of gomu, https://github.com/issadarkthing/gomu I met serious
problems during development. The main problem is data race condition.
So I basically rewrite the player in rust, and hope to solve the problem.
Changes since 50.2:
DIN Is Noise 51.1:
* improved DIN font *
! fixed drone arrow defaults save/load !
DIN Is Noise 51:
+ drone is anchored or launched on creation
anchored means stays fixed at the place of creation
launched means 'flies' off based on its velocity and gravity
try with Menu > Drone Tools > Add / Wand
set at Menu > Drone Params > Defaults
+ set velocity +/ acceleration vectors of drones to presets via Menu > Drone Params > Motion > Set velocity/acceleration
+ presets are +ve or -ve vertical, horizontal, velocity, acceleration and zero
+ auto flip (clock < > anti-clock) auto rotating velocity/acceleration vectors every some degrees
+ via Menu > Drone Params > Auto flip > Set / Unset / Toggle
+ default 'every some degrees' is 90 degrees
+ gravity
+ presets for gravity vector
0, left, right, up and down
+ gravity tracks mouse position
+ click Gravity > Mouse
+ gravity tracks the first among selected drones
+ click Gravity > Drone
! as drone selection changes, gravity may track a different drone !
- removed Menu Drone Params > Track gravity
+ mesh polygon filling per drone color
* color of a launched drone is same as color of the launcher
* try changing color of the launcher as drones are launched
* changed color of velocity/acceleration vectors to move away from green (used for selection) and red (used for errors)
* cyan = color of velocity vector of all drones
* (reddish) magenta = color of acceleration vector of all drones
* changed arrow visualisation of velocity +/ acceleration vector of all drones
* Head
* edit the position of the arrow tip
* can go 'above' the vector tip ie > 1.0
* can go 'below' the drone location ie < 0.0
* can be on the body ie 0 <= tip <= 1.0
* Shoulder Position
* edit position of the arrow's shoulder tips
* Shoulder Width
* edit width of the arrow's shoulder
+ Cap or Decap the arrow
+ set default arrow head, shoulder position and width, cap from Menu > Drone Params > Defaults
+ used when adding & wanding drones
+ change existing drone's velocity/acceleration vector arrow params via Menu > Drone Params > Visual
+ improved geometric chuck
+ on a chuck with N drones, the first N - 1 drones have trail set to 0
+ the last drone has trail set to 10000
+ toggle auto reset trails
+ Menu > Drone Params > Chuck > Auto reset trails
+ 2 changes above aid visualisation and experimentation instead of manual trail
resize/reset every time after changing a chuck param
+ toggle chuck outline
+ click Menu > Drone Params > Chuck > Draw chuck outline
+ aids screenshotting
+ chuck outline drawn per drone color
* default scale/rotate drones center to microtonal keyboard center
* default selected range to C Eb
+ mouse wheel on microtonal keyboard to scroll along horizontal
+ press SHIFT and scroll to scroll along vertical
* short form of echo command is .
* improved bpm handling of drone pendulums and meshes
* improved drone trail handling/display
* close menu after setting modulation direction
! fixed bug in zoom of curve editor when mouse slider is active !
! fixed draw crosshairs on drone mesh preview !
21.07
New Features:
Controller GUIDs and SDL_GameController mappings are printed on device connect
Update to FNA3D 21.07
Update to FAudio 21.07
Fixes:
Fix the Any CPU configuration in FNA.sln
### libopenmpt 0.5.10 (2021-07-04)
* S3M: Honor the Stereo flag not being set. This improves the sound of some
tunes like Turbulence by Purple Motion.
* S3M: Detect MPT 1.0 alpha versions which didn't set the Stereo flag. In this
case, the unset Stereo flag is also ignored because MPT 1.0 alpha used the
default S3M channel panning anyway.
* S3M: Only for OPL instruments the high sample rate bits should be ignored;
for PCM instruments they are clamped to 65535 Hz.
* MOD: Do not apply ProTracker loop length quirk to MODs that could have been
made with Scream Tracker (fixes Soul-O-Matic by Purple Motion).
* AMF (DSMI): Format revisions 1 and 9, as well as early (technically
malformed) revision 10 files, are now supported. Surround panning commands
and instrument number without note are now converted correctly.
* AMF (DSMI): Patterns and samples were not read correctly in some files
(e.g. AVOID.AMF).
* GDM: Correctly import extra-fine portamentos.
* mpg123: Update to v1.28.0 (2021-06-05).
* ogg: Update to v1.3.5 (2021-06-04).
* stb_vorbis: Update v1.21 commit 8e51be04dc7dcee462e1f09e410faceab52cc6d2
(2021-07-02).
Changelog:
Core
Release v1.2.5
A52 Output plugin
pcm_a52: Don't move bytes within the outbuf
pcm_a52: Don't pass EAGAIN errors from the slave to the caller
pcm_a52: Determine virtual hardware pointer upon slave pointer
Automatic upmix / downmix plugins
upmix: complete generalizing format
Jack PCM plugin
jack: add option to allow non-jack-aligned period size
OSS Mixer -> ALSA Control plugin
oss: fix the config (port -> device)
PulseAudio -> ALSA plugin
pulse: pcm - handle reading pulse stream hole
USB stream plugin
usb_stream: use snd_config_get_card() to decode the card number
Changelog:
Core
Release v1.2.5.1
ALSA Control (alsactl)
utils.c: Include limits.h explicitly to fix build on musl
alsactl: load_state: Only delete config if one was loaded
alsactl: load_state() - initialize config variable for the open_failed case
alsactl: fix lock_fd unlock in load_configuration() - error path
alsactl: state - fix ‘item’ may be used uninitialized gcc warning
alsactl: check for error values from snd_config_get...()
alsactl: init() - return error value from snd_card_iterator_sinit() call
alsactl: return error value in dump_config_tree()
alsactl: fix the nested iteration
Audio Transfer utility
axfer: fix wrong calloc() item size in allocate_containers()
alsatplg (topology)
topology: fix few coverity detected defects
topology: fix potential null pointer from strchr
aplay/arecord
arecord: Inform users when 8-bit sampling is used on tty
Revert "aplay: try to use 16-bit format to increase capture quality"
aseqnet
added an option to aseqnet to optionally set the midi process name
1.2.5.1
Core
Release v1.2.5.1
Fix EXPORT_SYMBOL attribute for clang
configure: check if eaccess() is available
Control API
control: remap - fix an infinite recursive call in the async callback
control: remap - fix uninitialized value in parse_map_vindex()
PCM API
pcm: direct - remove dead code
pcm: softvol - fix early exit in add_tlv_info()
pcm: remove extra NULL checks in snd_pcm_dshare_open()
pcm: remove extra NULL checks in snd_pcm_dsnoop_open()
pcm: remove extra NULL checks in snd_pcm_dmix_open()
pcm: direct - fix pcmp error path in _snd_pcm_direct_new()
Timer API
timer: remove dead code in _snd_timer_hw_open()
Use Case Manager API
configure: check if eaccess() is available
ucm: include sys/wait.h to fix build on Android
ucm_exec.c: Include limits.h explicitly to fix build on musl
ucm: compound_merge() - fix use after free (and logic)
ucm: fix possible memory leak in parse_verb_file()
ucm: fix out-of-array access in rval_device_lookup_init()
ucm: check error value in parse_lookup_query()
ucm: fix possible NULL pointer dereference in uc_mgr_exec()
ucm: find_exec() - fix memory leak (dir)
ucm: fix if_eval_path() - access NULL pointer
ucm: fix use after free in if_eval_regex_match()
ucm: fix error path in execute_cfgsave()
ucm: fix _alibpref string (add '.' delimiter to the end)
ucm: add _alibpref to get the private device prefix
Configuration
conf: snd_config_get_card() remove unused assignment
conf: remove dead code in snd_config_get_card()
conf: fix load_for_all_cards()
1.2.5
Core
Release v1.2.5
control: add missing src/conf/ctl/Makefile.am
ucm: add LibraryConfig support
control: remap plugin - initial version
configure: bumb version to 1.2.5pre1 (for CI tests)
Config API
conf: add snd_config_make_path() function
conf: add snd_config_is_empty() function
conf: add snd_config_merge() function
conf: introduce snd_config_get_card() function
Control API
control: remap - add no-op when the remapping is not active
control: remap - don't allow I/O on renamed IDs
ucm: add LibraryConfig support
control: add empty plugin
control: remap plugin - add docs
control: doc - create controls plugin page
control: remap plugin - initial version
control: add _snd_ctl_open_child()
control: shm - add missing continue to _snd_ctl_shm_open()
ucm: move __snd_ctl_ascii_elem_id_parse prototype to control_local.h
control: add __snd_ctl_add_elem_set() helper
control: add snd_ctl_elem_id_compare_numid() function
control: rename snd_ctl_elem_id_compare() to snd_ctl_elem_id_compare_set()
control: fix the subdevice fields comparison in snd_ctl_elem_id_compare()
control: better docs for snd_ctl_elem_id_compare()
control: add snd_ctl_elem_id_compare() function
control: snd_ctl_ascii_elem_id_get() - do not show unset numid
conf: introduce snd_config_get_card() function
control: improve snd_ctl_add_*_elem_set functions (access flags)
control: fix iformation -> information typos
Control Plugin API
control: remap plugin - add docs
control: doc - create controls plugin page
HWDEP API
conf: introduce snd_config_get_card() function
I/O API
output: Add snd_output_buffer_steal() function
Mixer API
mixer: simple - Fix "Capture Volume" and "Capture Switch" being seen as global controls
mixer: simple - use for loop in base_len()
mixer: simple - Unify simple_none: base_len() exception handling
PCM API
pcm: hw - correct the comment in snd_pcm_hw_state()
pcm: hw - fix again snd_pcm_hw_state() when the driver was disconnected
pcm: hw - fix snd_pcm_hw_state()
pcm: fix open in direct plugins - wrong pointer assignment
pcm: direct - move the direct struct init to _snd_pcm_direct_new()
pcm: dshare - fix shared memory pointer check
ucm: add LibraryConfig support
pcm: empty plugin - fix the docs
pcm: softvol - improve TLV data check for new configs
pcm: fix snd_pcm_plugin_status()
conf: introduce snd_config_get_card() function
pcm: softvol - make snd_pcm_parse_control_id private
pcm: softvol - do not set TLV access flags for the switch
pcm: pcm_ioplug - fix the avail_update mmap capture copy issue
pcm: share: Pass appl_ptr and hw_ptr in snd_pcm_status()
pcm: null: Pass appl_ptr and hw_ptr in snd_pcm_status()
pcm: ioplug: Pass appl_ptr and hw_ptr in snd_pcm_status()
pcm: direct: Fix the missing appl_ptr update
pcm: dmix/dshare - delay calculation fixes and cleanups
pcm_plugin: set the initial hw_ptr/appl_ptr from the child pcm
pcm: rate - fix the capture delay values
pcm: rate - use pcm_frame_diff() on related places
pcm: plugin - fix status code for capture
pcm: rate - use pcm_frame_diff() in snd_pcm_rate_playback_internal_delay()
pcm: ioplug - fix the delay calculation for old plugins
pcm: rate - tidy up snd_pcm_rate_avail_update()
pcm: ioplug - fix the delay calculation in the status callback
Revert "pcm_plugin: fix delay"
pcm: plugin - optimize sync in snd_pcm_plugin_status()
pcm: plugin - tidy snd_pcm_plugin_avail_update()
pcm: plugin status - revert the recent changes
pcm: plugin status - fix the return value (regression)
pcm: fix __snd_pcm_state() return value
pcm_multi: remove dead assignment from _snd_pcm_multi_open
pcm: remove dead assignments from snd_pcm_rate_(commit_area|grab_next_period)
pcm: Fix a typo in SND_PCM_AUDIO_TSTAMP_TYPE_LAST definition
pcm: Add snd_pcm_audio_tstamp_type_t constants
pcm: set the snd_pcm_ioplug_status() tstamp field
pcm: snd_pcm_mmap_readi - fix typo in comment
RawMidi API
ucm: add LibraryConfig support
conf: introduce snd_config_get_card() function
rawmidi: fix memory leak in snd_rawmidi_virtual_open
Sequencer API
seq: fix snd_seq_parse_address()
ucm: add LibraryConfig support
Timer API
timer: fix sizeof operator mismatch in snd_timer_query_hw_open
Topology API
topology/pcm.c: remove duplicated AC97 hw format
topology: fix 'parse_tuple_set() - remove dead condition code'
topology: sort_config() cleanups - use goto for the error path
topology: parse_tuple_set() - remove dead condition code
topology: tplg_decode_pcm() - add missing log argument (compress)
topology: tplg_add_widget_object() - do not use invalid elem_ctl
topology: tplg_pprint_integer() fix coverity uninitalized variable error
topology: use inclusive language in documentation
topology: use inclusive language for fsync
topology: use inclusive language for bclk
Use Case Manager API
ucm: compound_merge - use snd_config_merge()
ucm: recognize first '-' character as ignore error for exec/shell
ucm: cfg-save - allow to save the sub-tree including root keys
ucm: libconfig - merge not override items
ucm: libconfig parser - fix memory leaks
ucm: add cfg-save command
ucm: fix memory leak in execute_cset()
ucm: parse LibraryConfig also in the toplevel file
ucm: fix regexec() REG_NOMATCH state handling for define regex
ucm: add exec sequence command
ucm: Fix sysw sequence command not working when requesting to ignore errors
ucm: fix the local ucm control device name caching
ucm: limit the master config scan to conf.virt.d
ucm: fixed find-device substitution (non-continuous PCM devices)
ucm: allow to escape the trailing variable substitution character
ucm: find-device / pcm - the ctl_list may be empty
ucm: add missing uc_mgr_card_close() call to snd_use_case_mgr_open()
ucm: cosmetic code reshuffle in rval_lookup_main()
ucm: fix uc_mgr_has_local_config()
ucm: rewrite device value only when the local config exists
ucm: return error if fixedboot_list is empty
ucm: return error if boot_list is empty
ucm: ucm_filename() - avoid double //
ucm: handle better the system() call
ucm: add LibraryConfig support
ucm: add ${ConfLibDir} substitution
ucm: add ctl-remove sequence command to delete controls from UCM
ucm: add cset-new sequence command to create new controls from UCM
ucm: move __snd_ctl_ascii_elem_id_parse prototype to control_local.h
ucm: add Path condition type
ucm: rename sysset to sysw
ucm: warn about unknown sequence commands
ucm: implement sysset sequence command
ucm: ucm_main.c - cosmetic tab cleanups
ucm: add _fboot / FixedBootSequence
ucm: fix two error messages
ucm: add ${find-card} and ${find-device} substitutions
ucm: uc_mgr_substitute_tree() fix use after free
ucm: fix possible memory leak in parse_verb_file()
ucm: fix bad frees in get_list0 and get_list20
/Makefile.am
Makefile: Add README.md to EXTRA_DIST
/include/Makefile.am
include: try to fix the out-of-source-tree build
include: fix out-of-source-tree build
include: fix SND_LIB_VER() macro
include: add SND_LIB_VER() macro
control: remap plugin - add docs
Configuration
conf: snd_config_merge() - substitute non-compound config handles
conf: snd_config_merge() - merge (concat) correctly arrays
conf: return count of items in snd_config_is_array()
conf: print quoted string more wisely
ucm: cfg-save - allow to save the sub-tree including root keys
conf: fix snd_config_merge() - merge schema
conf: load the card specific configurations to the config sub-tree
conf: add snd_config_make_path() function
conf: add snd_config_is_empty() function
conf: _snd_config_evaluate - remove 'delete compound members' call
conf: fix snd_config_substitute() - memory leak
conf: fix snd_config_merge() - double free in overwrite mode
alsa: conf - use card number roots for device redirects
conf: extend load_for_all_cards hook (id/value table)
control: add missing src/conf/ctl/Makefile.am
conf: usb - correct 'SB Omni Surround 5.1' iec958 device
conf: USB - add "Cmedia Audio" to USB-Audio.pcm.iec958_device
Remove non-existent SPDIF output on Dell AE515
conf: No SPDIF on Plantronics 3220 headset
conf: add snd_config_merge() function
conf: add /var/lib/alsa/conf.d directory lookup
conf: add /var/lib/alsa/card<NUMBER>.conf.d directory lookups
conf: extend hook load_for_all_cards
conf: make ctl.default and sysdefault devices more universal
conf: Fix invalid free at parse_args()
conf: fix memory leak on the error path in parse_args()
conf: snd_config_save() - print arrays as [] not the internal representation
conf: improve the tabulator level prints
conf: introduce snd_config_get_card() function
conf: HDA-Intel: increase the max number of HDMI/DP output to 11
conf: USB - add "Xonar U7 MKII" to USB-Audio.pcm.iec958_device
conf: fix return code in _snd_config_load_with_include
confmisc: fix memory leak in snd_func_concat
conf: fix get_hexachar() return value
conf: fix use after free in _snd_config_load_with_include
Documentation
control: doc - create controls plugin page
Dynamic Loader helpers
dlmisc: fix snd_plugin_dir locking for not DL_ORIGIN_AVAILABLE
dlmisc: the snd_plugin_dir_set / snd_plugin_dir must be declared even for \!DL_ORIGIN_AVAILABLE
I/O subsystem
output: Add snd_output_buffer_steal() function
Kernel Headers
topology: use inclusive language for fsync
topology: use inclusive language for bclk
Test/Example code
test: audio_time - fix timestamp2ns() and usage()
test/audio_time: Make use of SND_PCM_AUDIO_TSTAMP_TYPE constants
Utils
utils/alsa.m4: another quick fix for the brackets
utils/alsa.m4: a quick fix for missing end brackets
utils/alsa.m4: update for newer autoconf.
ver 0.22.9 (2021/06/23)
* database
- simple: load all .mpdignore files of all parent directories
* tags
- fix "readcomments" and "readpicture" on remote files with ID3 tags
* decoder
- ffmpeg: support the tags "sort_album", "album-sort", "artist-sort"
- ffmpeg: fix build failure with FFmpeg 3.4
* Android
- fix auto-start on boot in Android 8 or later
* Windows
- fix build failure with SQLite
May 22 2021
abc2midi: treble-8 not applied in K: or V: commands after October 19 2020
update. For example,
X:1
T: transposition
L:1/2
M:C
K:none clef=treble-8
V:1
cz
V:2
zc
The note c should be played with midi pitch 60 instead of 72.
James Allwright made minor fixes to parseabc.c and store.c, in order
to get these options working again.
May 25 2021
James Allwright added more security checks to stop the
parser from reading numbers beyond the largest integer. Changes
were made to parserabc.c and midi2abc.c
The abc2abc -s spacing function was modified to ignore certain
time signatures like M: none or M:7/8. The code for dealing with
3/2, 3/4, 3/8 ... time signatures was improved.
Version 1.5.0
* added media library plugin (experimental)
* added PipeWire plugin (experimental)
* added built-in CUE editor
* added m4b support in the ffmpeg plugin
* added option to enable CRC checking in the mpeg plugin
* added ID3v1/ID3v2 charset detection using librcd library in the mpeg plugin
* added WebP format support for cover image
* added groups rebuilding after playlist updating
* added metadata formatter optimization
* added "%dir()" function in the metadata formatter
* added feature to integrate widgets to the main interface from plugins
* added feature to execute external command in the fileops plugin
* improved visualization synchronization
* improved lyrics plugin:
- added widget mode
- show text of the current playing song (in the widget mode only)
- changed user interface
* improved qsui plugin:
- added feature to add dock widgets from plugins
- added feature to change tab bar position
- added icons to the file system browser menu
- added feature to place dock widgets in the multiple lines
- removed "Actions" submenu, using "Tools" menu instead
* improved skinned plugin:
- added playlist color settings
- moved "Show playlists" option to "Playlist" submenu
- moved "group tracks" and "show header" options to "Playlist" submenu
* removed some deprecated API usage
* removed obsolete code
* changed minimal FFmpeg version to 3.4
* updated Portuguese translation (Sérgio Marques)
* updated Dutch translation (Heimen Stoffels)
* updated Polish translation (mrerexx)
* updated Galician translation (Delio Docampo Cordeiro)
* updated Spanish translation (Joel Barrios)
* updated Russian translation (Ilya Kotov)
* updated Ukrainian translation (Gennady Motsyo)
* updated French translation (Adrien Vigneron)
* updated Indonesian translation (Andika Triwidada)
* updated Greek translation (Dimitrios Glentadakis)
* updated Italian translation (Luigi Toscano)
* updated German translation (Ettore Atalan)
* updated Finnish translation (Jiri Grönroos, Kimmo Kujansuu)
Changes in Rubber Band v1.9.2
* Introduce a built-in FFT option to be a good default when no
requirements point to a particular external library preference
* Fix potential crash following some reconfigure options. Thanks
to Michael Tyson for reporting this
* Ensure Accelerate is listed in generated pkg-config if required
* Check for existence of sincos in configuration
* Fix host identification when cross-compiling
The API is unchanged and the library is binary compatible with
version 1.7.
1.28.0
------
- build:
-- Fix up the build to actually build all library objects with libtool
consistently, also ensuring no pointless static archives for output
modules.
-- Adapted things to autoconf 2.71, requiring 2.69 now (the latter tested
on Debian, with their patches).
-- Improved configure to be more useful --with-default-audio to define
the search order, fix static build for --with-audio being a list
(just choosing the first one).
-- Ensure consistent use of LINK_MPG123_DLL in headers.
- build (ports/cmake):
-- Thanks to Evgeni Poberezhnikov for working with us on that.
-- Fix up ports/cmake to really work in MSVC also for users of the lib
(tested in vcpkg, bug 310).
-- Hardcode ports/cmake CPU detection for x64 and ARM as
CMAKE_SYSTEM_PROCESSOR is useless crap (bug 298 for real).
-- Add missing io.h for _setmode() MSVC warned about (bug 311).
-- Added BUILD_NO_LARGENAME define to be used by MSVC builds. Note that
an MSVC build of libmpg123 does not support 64 bit file offsets.
That would need more morting to the explicit API. Thanks to MS for
making off_t even more messy and less useful.
-- Added JACK output, fixed handling of compat_str there and in win32_wasapi.
- libsyn123: Fix syn123_mix() to actually do intermediate conversion
when input and output encoding are the same but non-float. This makes
out123 --mix work with s16 input and output, which is not that special!
- libmpg123: Fix misguided handling of part2_3_length checks in
III_get_scale_factors_1() and III_get_scale_factors_2() which invalidated
decoding of a mono source encoded as ms+i-stereo (bug 312). This was
a regression introduced with version 1.25.7.
- libout123:
-- Print basic module loading errors only for last one in list.
This enables use of an output module search list that anticipates module
files not installed with the main package.
-- Fixes for win32_wasapi build with MSVC.
21.06
New Features:
Update to FNA3D 21.06
Update to FAudio 21.06
Fixes:
Removed the VS2019 app.config workaround
Fix a possible crash when opening the default Microphone
Maintenance:
-Fix connection issues by enabling the AP resolver in librespot (#535)
-Bump reqwest form 0.9 to 0.11 (#538#539)
-Fix nerdfont pause/stop glyphs (#540)
Summary of changes since 20200412 release:
- Add support for saving MOD files
- Fix conflict in MIDI setup when ALSA and OSS are both available
- Allow setting program on MIDI drums
- Fix instrument and sample panning overwriting channel panning
- Fix issues related to portamento with Amiga slides
- Support compressed stereo samples in ITI/ITS files
- Convert XM/MOD EA0/EB0 to D00 when loading
- Clamp S3M mixing volume to valid values on save
- Improve autovibrato accuracy
- Fix noteless instrument numbers updating instrument panning
- Fix handling of zero-value linear slides
- Read extended OpenMPT version information
- Fix instrument sample mapping in the IMF loader
- Fix memory access bug in the MTM loader
21.05
New Features:
Added SetAudioTrackEXT extension
Update to FNA3D 21.05
Update to FAudio 21.05
Fixes:
SDL2_FNAPlatform:
Changing window focus no longer unsets fullscreen, except on X11
Using "alt-tab" to switch focus out while fullscreen on Windows no longer causes error beeps when attempting to switch focus back in
Fix mouse support on Wayland
Changes since v1.46
v1.47 - xx.05.2021
- Bugfix: The Lxx (Set Envelope Pos) XM effect was broken :(
- Added support for loading FLAC samples (w/ loop/vol./name information)
- Added support for loading '8-bit unsigned/32-bit float/64-bit double' AIFFs
- Added support for loading XMs with ADPCM sample compression (ModPlug Tracker)
- The windowed-sinc LUT now has 8192 phases instead of 4096 for a theoretical
small interpolation precision improvement.
- Bugfix: Fixed a bug with "Save rng." (Smp. Ed.) related to data after/around
the loop end point.
- "Save rng." (Smp. Ed.) now asks if you want to overwrite an existing file
- Bugfix: The windowed-sinc interpolation was slightly wrong near the loop-start
point on looped samples. Was only audible on super-tight loops.
- Mixer now uses 32-bit single-precision floats instead of 64-bit
double-precision. The error difference in the audio output is +/- 1 (16-bit),
which is only -90dbFS and not really audible. This should give a performance
boost for devices that are slow with handling double-precision floats.
- Samples now have units of "samples" instead of bytes (in the sample editor).
This means that 16-bit samples will show the same numbers as 8-bit samples.
- The sample editor is now drawing interpolated sample points when zoomed in
- Fixed a bug where the "Range" button in Smp. Ed. had problems if you had
marked sample data after 65535 sample points.
- Fixed a problem where the mouse pointer could be broken in fullscreen mode
at some screen resolutions (f.ex. 1600x900).
- Windows bugfix: Prevent ever-increasing memory usage while minimized.
Possibly a bug in SDL_RenderClear(). Might've affected other systems too.
- Bugfix: Exit text edit mode when dropping a file onto the window. Fixes
possible text cursor overflow issues.
- Bugfix: Some instrument/sample names could contain junk at the end after being
saved (.XM/.XI).
- Bugfix: If you previously used an audio device that was disconnected before
starting the program, it will now resort to the default audio device without
reverting all your audio settings (buffer size, bit depth, frequency).
- Fixed possible crash if a channel's resampling rate/delta was zero (very rare)
- If you copy all the sample data in a sample, it will also copy over the sample
information (loop, volume, finetune, name etc.) when you paste it to a new
sample.
- The "Get maximum scale" button in the "Volume" tool in Smp. Ed. will now
get the actual scale instead of limiting it to the start/end vol max range.
This means that you need only one pass to normalize the amplitude on a very
quiet sample.
- The scopes now use linear interpolation for sample points in "Lined" mode
- Fixed a mistake in the S3M importer where "Set speed" commands with a
parameter of >$1F were removed instead of being clamped.
- Clearing the instrument (numpad delete key) also clears instrument name now
- Added new keybinding: Press Ctrl + "numpad+"/"numpad-" to increase or decrease
the master volume by 16.
- Updated the help text
- A *lot* of variable/function names have been changed to be easier to understand.
This causes a mega-commit to the GitHub repo, and I'm sorry for that if you
have a fork of it that you want to keep updated. :/
- Code cleanup (big one)
- mpg123-sun is, quite literally, impossible to install.
It's always built-in to mpg123 where it's available.
- mpg123-oss is built-in to mpg123 on operating systems where it's useful.
ok'd by thor.
This updates the mpg123 version and also removes packaging cruft.
Among that, a never-working patch for madvise and a very old i586
assembly source are gone. The output modules are now installed without
libtool files, just as .so (or .dylib). A future update to 1.28 will
probably also get rid of the static libraries (upstream fixed the build
to work around pkgsrc's wrapped libtool which ignores the autoconf
macros to trigger non-static default build).
These are the upstream changes:
1.27.2
------
(Trying some svn tag discipline: 1.27.1 has been tagged before, but
not released. Let's increment for any change.)
- Removed ports/Xcode, ports/cmake should handle that case.
- Ensure debug.h is included last where it matters to avoid
conflicts with debug/warning macros in system headers
(bug 308).
- Fix some debug/printf integer casts for 32 bit platforms (bug 309).
1.27.0
------
- libmpg123:
-- Running on precomputed tables now, no need to call
mpg123_init() anymore. That and mpg123_exit() are both just
empty shells. You can omit them if you do not care about earlier
libmpg123. You can check for MPG123_API_VERSION >= 46.
-- Added API that avoids enums, mapped-to by default unless
MPG123_ENUM_API is defined.
- libout123:
-- Added API that avoids enums, mapped-to by default unless
MPG123_ENUM_API is defined.
-- Added device enumeration for win32, win32_wasapi, alsa, pulse.
This increments the output module ABI version to 3.
-- You can choose output devices now on Windows.
-- Changed default output module order to put pulse before alsa since
we now ensure that pulse is not inadvertedly started by the
autospawn feature. This improves the experience on desktop
systems with pulse where the alsa to pulse use causes glitches.
Note that on a modern Linux desktop (Ubuntu), you will not
escape an instance of pulseaudio being started, with even the
enumeration of the ALSA default device summoning the daemon.
If you _want_ sound daemon autospawn behaviour on other platforms,
you need to trigger it outside of libout123.
- examples: Update for dropped mpg123_init(), more sensible
copyright notes.
- out123:
-- safer limiting of maximum playback rate
-- Added --list-devices.
- mpg123:
-- Fix --continue output to print track_count+1 as continue
position after hitting the end of playlist. Makes scripts/conplay
go to back to the beginning again (regression in 1.24.0, bug 250).
-- Remote control API version 9 with @I { .. @I } wrapping of ID3 and
playlist display.
-- Added --list-devices.
-- Fix console printout on Windows.
-- Fix terminal control logic to better handle cases where stdin or
stderr is not a terminal, also avoid enabling control if you specify
stdin as input file.
- Updated debugging/warning/error message macros to include the function
name.
ver 0.22.8 (2021/05/22)
* fix crash bug in "albumart" command (0.22.7 regression)
ver 0.22.7 (2021/05/19)
* protocol
- don't use glibc extension to parse time stamps
- optimize the "albumart" command
* input
- curl: send user/password in the first request, save one roundtrip
* decoder
- ffmpeg: fix build problem with FFmpeg 3.4
- gme: support RSN files
* storage
- curl: don't use glibc extension
* database
- simple: fix database corruption bug
* output
- fix crash when pausing with multiple partitions
- jack: enable on Windows
- httpd: send header "Access-Control-Allow-Origin: *"
- wasapi: add algorithm for finding usable audio format
- wasapi: use default device only if none was configured
- wasapi: add DoP support
### libopenmpt 0.5.9 (2021-05-16)
* `Makefile` `CONFIG=emscripten` does not pass linker options to the compiler
any more, which caused latest Emscripten to issue warnings.
* The retrigger effect didn't work correctly for OPL instruments in some cases
depending on the chosen output sample rate.
* S3M: Emulate IT short sample retrigger quirk in S3M files saved with
Impulse Tracker and Schism Tracker.
* ProTracker 3.6 doesn't support sample swapping. It is now disabled when
loading a ProTracker 3.6 IFF module.
* Some files with "hidden" garbage patterns were not played correctly since
libopenmpt 0.5.3.
* MOD: E9x retrigger now works the same way as in ProTracker 2.
* MDL: Improve auto-vibrato accuracy.
* 669: Reject files that contain any pattern tempo higher than 15.
* Reduce memory consumption of malformed XPK-compressed files.
* mpg123: Update to v1.27.2 (2021-05-08).
Maintenance:
-Fix build of cover feature
-Revert to old status indicator behavior and add configuration setting (#511)
-Fix volume normalization (#525)
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
pkgsrc changes:
- add many more package options.
- adjust the man page for device names on NetBSD.
01-03-2020 Darkice 1.4 released
o Shoutcast and Icecast 2 connection issues fixed.
04-08-2016 Darkice 1.3 released
o Small bugs fixed by Nicolas Boulenguez <nicolas@debian.org>.
o Bugs related to streaming to remote servers fixed. Patch by Kalle Kulonen
<kulonenk@gmail.com> and Mark Turner <jmarkturner@gmail.com>.
This changes the configuration file format. Use ezstream-cfgmigrate to
migrate.
Changes in 1.0.2, released on 2021-02-12:
* Fix a crash, if metadata placeholders are configured for input files
that do not contain the respective values. From gui-lux on Github (#16).
* Fix a crash in one instance of querying the metadata program. From taku0220
on Github (#23).
* Fix a crash when referencing an unconfigured intake in a stream. From
Optiqus on Github (#28).
* Documentation and example improvements
Changes in 1.0.1, released on 2020-02-22:
* Fix a crash, if there is a typo in the <encoder /> setting
* Fix regression setting the stream name. From zygmund2000 on Github.
* Minor example and documentation tweaks
Changes in 1.0.0, released on 2020-01-29:
* Major feature release with a new configuration file structure
* New configuration migration tool to help with the upgrade
(ezstream-cfgmigrate)
* Added support for modern libshout functionality:
- WebM and Matroska media formats
- ICY and RoarAudio streaming protocols
- TLS encryption
* Several bug fixes and an extensive unit test suite
* Support the new '@b@' placeholder for separate album metadata
* The command line option -p has been added, causing ezstream to write a
locked PID file to a given location
* The command line options -m and -n have been removed, and new configuration
file settings have been added accordingly
* The real-time status information is now enabled explicitly with the new
command line option -r
* The behaviour of the -s command line argument was changed:
To shuffle lines from standard input, the special file name "-" needs
to be provided.
* TagLib (its C wrapper library) is now a mandatory dependency
* Native support for MS Windows and certain legacy UNIX systems has been
removed
Changes in 0.6.1, released on 2020-01-29:
* src/util.c
- [FIX] Fix crash on missing <format/> element. From Petr Pisar.
(Ticket #2208)
### libopenmpt 0.5.8 (2021-04-11)
* [**Sec**] Possible null-pointer dereference read caused by a sequence of
`openmpt::module::read`, `openmpt::module::set_position_order_row` pointing
to an invalid pattern, and another `openmpt::module::read` call. To trigger
the crash, pattern 0 must not exist in the file and the tick speed before
the position jump must be lower than the initial speed of the module.
(r14530)
* [**Bug**] `libopenmpt.pc` did not list required system libraries `ole32.lib`
and `rpcrt4.lib` on Windows in `Libs.Private` field for static builds.
* [**Bug**] libopenmpt 0.5.7 broke seeking in some subsongs.
* The built-in LFO plugin did not load the correct initial LFO frequency.
* IT command S7x (instrument control) is now supported when seeking with
sample sync enabled.
* libopenmpt_ext `play_note` was cutting of channels even when there were
plenty of free channels to use.
* mpg123: Update to v1.26.5 (2021-03-22).
Maintenance:
-Refactorings + dependency updates
-Sort artist albums by year
-Store user state in binary CBOR format
-The state structure is growing a little too complex to store it as a TOML.
User state is now stored at ~/.config/ncspot/userstate.cbor.
-Improve synchronization of playback times
-Implement track preloading
-Don't save tracks AND album when saving an album (#488)
Features:
-(Re)store currently playing track + shuffle state from previous session (#448)
-Show display name owning the current library (#470)
-Add logout command (#470)
-Pagination for artist albums (#477)
-Split artist albums/singles into separate panel
-Play top tracks by artist instead of all tracks by artist
-Pagination for Podcast episodes
-Show tracks + duration of album, playlist, queue in the title bar (#475)
21.04
New Features:
* Added support for SDL_GetAudioDeviceSpec, coming in a future SDL release
* FACT: Implemented accurate Fast/Slow/SinCos RPC curve types
* Added support for XMA2 audio, for Xbox 360 data
Fixes:
* Voice filters/effects should be processed even when SendCount is 0
* FACT:
- Fix parsing/calculation of filter Q factors
- Enforce STOPPING flag for fade-outs or RPC releases
- Various fixes for parsing big-endian SoundBanks
Changes in Rubber Band v1.9.1
* Switch build system from Makefiles and Visual Studio project to
Meson/Ninja for all platforms. There are still Makefiles and VS
projects included in otherbuilds/ for those who wish to use them to
build the static library directly
* Make various fixes to improve sound quality when pitch-shifting
dynamically in real-time (requires libsamplerate)
* Fix floating-point exception when a very very long stretch factor
is presented
* Move the two directories that together provide the .NET interface
(rubberband-sharp and rubberband-dll) into their own subdir (dotnet)
* Ensure the library builds and runs correctly on ARM Mac (Apple
Silicon, M1), and also on Windows using the Visual C++ Clang
front-end
The API is unchanged and the library is binary compatible with
version 1.7.
version 27.4
- fix web server path traversal vulnerability
version 27.3
- support for AirPlay 2 speakers, incl. compressed ALAC
- web UI upgraded, now v0.8.5:
new design/layout
optimize "Recently added"
Spotify search dialogue improvements
drop separate admin web page, now integrated in main web
podcast deletion
make Radio a top level item
show release dates
new sorting options
prevent browser caching of playlists
additional settings
- improved Chromecast streaming (retransmisson, adaptive etc.)
- JSON api support for updating metadata of queue items
- JSON api new fields, e.g. time_added, time_played and seek
- fix for some Chromecasts disconnecting
- new algorithm for more natural ALSA volume adjustments
- new nickname option for AirPlay and Chromecast
- mpd fixes (nextsong, multiple commands)
- charset flexibility when getting ICY metadata from streams
- adaptive probing of radio streams
- libplist and libsodium now required
- fixes for library update events
- fixes to speaker selection and unintentional volume changes
- fix some minor memleaks
- support shairport-sync metadata pipe flush event
- misc logging fixup
4.1.1 (2021-03-28):
Restored Python 3.6 compatibility, broken since 4.1.0-beta1 (#749).
The last playlist export directory is now saved between calls and between sessions (#745, #747).
Added tooltip text to the Clear buttons in the Properties dialog (#744).
Plugins:
console: When encountering a very long "word", the console will now wrap between characters instead of widening the window to fit the word.
grouptagger: Fixed i18n issues in some strings. Translations for these strings may be broken until they are updated.
Translation updates: Catalan, Croatian, Greek, Sinhala, Spanish.
Changes since v1.44
v1.46 - 02.04.2021
- Fixed: Audio settings weren't correctly loaded from config in v1.45
v1.45 - 01.04.2021
- Fixed possible crash when starting the program on M1 Macs (thanks kode54)
- Fixed possible mouse cursor corruption when hovering over text boxes on
Linux.
- Fixed possibly buggy string operations
- Refactored some code that was doing unnecessary/wrong stuff
- Minor code cleanup
- Updated help text
Bug-fix and maintenance update after the previous version 0.4.3.
All users of wildmidi-0.4.x are strongly encouraged to upgrade.
What's new in 0.4.4:
Fixed integer overflow in midi parser sample count calculation (bug #200).
Fixed 8 bit ping pong GUS patch loaders (bug #207).
Fixed wrong variable use in reverb code (bug #210).
Reset block status of tty after playback (bug #211).
Fixed broken file name handling for 'save as midi' command during playback.
Clamp MUS volume commands (PR #226).
CMake project improvements (bugs: #214, #216, #217, #218) - cmake version 3.1 or newer is now required.
This release breaks ABI compatibility! Refer to the API docs for details.
A C++98 compliant compiler is now required to build fluidsynth (mailing list thread)
New features
Support loading SoundFonts >2GiB on Windows (#629)
Major overhaul of the sequencer and its event queue (#604)
Overlapping notes can be handled (#637)
Performance improvement, since the event queue no longer blocks the rendering thread
Time scale is not limited to 1000 anymore and can therefore be used for tempo changes
The following audio drivers have gained multi-channel support
DSound (#667, thanks to @jjceresa)
WaveOut (#667, thanks to @jjceresa)
The WinMIDI driver supports multiple devices (#677, thanks to @jjceresa)
Handle GS DT1 SysEx messages for setting whether a channel is used for rhythm part (#708, thanks to @chirs241097)
Support use of UTF-8 filenames under Windows (#718, thanks to @getraid-gg)
Improved support for overriding tempo of the MIDI player (#711, #713, thanks to @jjceresa)
Handle settings-related commands in user command file before initializing other objects (#739)
SoundFont loading has been parallelized (#746, #812, requires openMP)
The Oboe driver has gained a lower latency and other updates (#740, #741, #747)
WASAPI driver has been added (#754, thanks to @chirs241097)
General
Fix race condition in fluid_player_callback (#783, thanks to @arcln)
Improvements to LADSPA subsystem (#795, thanks to @mawe42)
This approaches a serious performance issue with 1.26.x when
resampling is used on certain platforms (observed on SPARC).
Floating point denormals crop up. This change approaches that
two-fold
1. Do not disable default optimization flags for GCC.
2. Update to 1.26.5 that contains code to avoid denormals.
The default flags are about code optimization (like -ffast-math),
not the target architecture, so should not affect portability.
They are also rather safe and tested as development of mpg123
always has them in place. This is how it is meant to be played;-)
Approved during freeze by wiz.
### libopenmpt 0.5.7 (2021-03-20)
* [**Sec**] Possible null-pointer dereference read caused by a sequence of
`openmpt::module::read`, `openmpt::module::set_position_seconds` with a
position past the song end, and another `openmpt::module::read` call.
(r14363)
* IT: Instrument / sample panning was reset on note-off / fade commands.
* IMF: Set Finetune is now implemented correctly.
* Fixed excessive memory consumption with malformed files in various formats.
openal-soft-1.21.1:
Improved alext.h's detection of standard types.
Improved slightly the local source position when the listener and source
are near each other.
Improved click/pop prevention for sounds that stop prematurely.
Fixed compilation for Windows ARM targets with MSVC.
Fixed ARM NEON detection on Windows.
Fixed CoreAudio capture when the requested sample rate doesn't match the
system configuration.
Fixed OpenSL capture desyncing from the internal capture buffer.
Fixed sources missing a batch update when applied after quickly restarting
the source.
Fixed missing source stop events when stopping a paused source.
Added capture support to the experimental Oboe backend.
openal-soft-1.21.0:
Updated library codebase to C++14.
Implemented the AL_SOFT_effect_target extension.
Implemented the AL_SOFT_events extension.
Implemented the ALC_SOFT_loopback_bformat extension.
Improved memory use for mixing voices.
Improved detection of NEON capabilities.
Improved handling of PulseAudio devices that lack manual start control.
Improved mixing performance with PulseAudio.
Improved high-frequency scaling quality for the HRTF B-Format decoder.
Improved makemhr's HRIR delay calculation.
Improved WASAPI capture of mono formats with multichannel input.
Reimplemented the modulation stage for reverb.
Enabled real-time mixing priority by default, for backends that use the
setting. It can still be disabled in the config file.
Enabled dual-band processing for the built-in quad and 7.1 output decoders.
Fixed a potential crash when deleting an effect slot immediately after the
last source using it stops.
Fixed building with the static runtime on MSVC.
Fixed using source stereo angles outside of -pi...+pi.
Fixed the buffer processed event count for sources that start with empty
buffers.
Fixed trying to open an unopenable WASAPI device causing all devices to
stop working.
Fixed stale devices when re-enumerating WASAPI devices.
Fixed using unicode paths with the log file on Windows.
Fixed DirectSound capture reporting bad sample counts or erroring when
reading samples.
Added an in-progress extension for a callback-driven buffer type.
Added an in-progress extension for higher-order B-Format buffers.
Added an in-progress extension for convolution reverb.
Added an experimental Oboe backend for Android playback. This requires the
Oboe sources at build time, so that it's built as a static library included
in libopenal.
Added an option for auto-connecting JACK ports.
Added greater-than-stereo support to the SoundIO backend.
Modified the mixer to be fully asynchronous with the external API, and
should now be real-time safe. Although alcRenderSamplesSOFT is not due to
locking to check the device handle validity.
Modified the UHJ encoder to use an all-pass FIR filter that's less harmful
to non-filtered signal phase.
Converted examples from SDL_sound to libsndfile. To avoid issues when
combining SDL2 and SDL_sound.
Worked around a 32-bit GCC/MinGW bug with TLS destructors. See:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83562
Reduced the maximum number of source sends from 16 to 6.
Removed the QSA backend. It's been broken for who knows how long.
Got rid of the compile-time native-tools targets, using cmake and global
initialization instead. This should make cross-compiling less troublesome.
21.03.05
Fixes a regression that caused SoundBanks to no longer parse correctly
21.03
New Features:
XACT:
Implemented FACT_FLAG_MANAGEDATA
Implemented the CUEPLAY and CUESTOP notification types
Added support for XACT 3.0 content
Added support for WaveBanks with endian-swapped PCM data
21.02
New Features:
XACT: All notification types with the PERSIST flag are now recorded
21.01
Fixes:
Enforce SDL 2.0.9 or newer as a build requirement
Micro-optimize byte swapping for XACT file parsing
20.12
New Features:
Added an x64 configuration to visualc
CMake project now generates a pkgconfig file
Fixes:
CMake:
Fix compatibility with CMake 2.8.12
GStreamer builds now explicitly check for >=1.9.2
Initialize the subformat for GetDeviceFormat, fixes a ton of Ubisoft games
Don't assert when FAudio_Initialize Flags includes FAUDIO_DEBUG_ENGINE
- Rapidly changing channel panning could have caused audible artifacts. Affects all versions back to at least 1.1.2.
- Fix a use-after-free when loading malformed soundfonts. Affects all versions back to at least 1.1.2.
- The number of allowed LADSPA effect units has been increased.
### libopenmpt 0.5.6 (2021-03-14)
* AMS: Avoid allocating excessive amount of memory for compressed song message
in malformed files.
* S3M: Some samples or OPL patches were imported with a too high sample rate
if module was saved with Scream Tracker 3.
* vorbis: Update to v1.3.7 (2020-07-04).
- Improved error handling
- Improved display of widgets with related controls
- Tested and corrected problems with a wide variety of drivers
- fixed widget parsing and mixing with legacy drivers like eap(4),
sb(4), various uaudio(4) hardware
Changes since 49.1:
DIN Is Noise 50:
/* Wand drones into existense using Drone Tools > Wand
/* tool toggles between Add and Wand modes
/* In Add mode (the only mode until DIN49.1), you add a new drone by
left clicking on the microtonal keyboard. You click and drag to
'spray' new drones.
/* In Wand mode (new in DIN 50), you simply wave the mouse to add drones on
the microtonal keyboard. Use the Wand distance (Drone Params > Defaults)
to control how close or spaced out the drones are to each other.
/* new Drone Params > Defaults tab to set defaults for some drone parameters:
/* wand distance - distance to move the mouse before DIN adds a drone in Wand mode.
! smaller distance means drones are created close together
! larger distance means drones are more spaced out
/* type of drones wanded/added:
1. immortal - drone forever until deleted << default and the only type until DIN49.1
2. mortal - die after their lifetime << drones launched from another drone are this type
3. reincarnate - die after their lifetime only to be (re)born immediately! << new to DIN 50!
-> type of sound made by drones:
-> moved from Drone > Tools in DIN 49.1
-> drones a pitch/volume
-> noise @ pitch/volume
-> Drone rise (min, max), fall (min, max), lifetime and handle size.
-> rise, fall times moved here from Settings screen
/* Drone Tools > Immortalize to make drones immortal
/* Drone Tools > Mortalize to kill drones after their lifetime
/* Drone Tools > Reincarnate - drones rebirth after their death, immediately!
/* Auto rotate Velocity or Acceleration or Both of selected drones from
Drone Params > Motion tab
/* @ RPM
/* Clockwise or Anti-clockwise
/* Start, Stop or Toggle
/* Set AM and FM directions to
/* Vertical, Horizontal, Velocity or Acceleration
/* Until DIN 49.1:
/* AM direction = Vertical
/* FM direction = Horizontal
!
interesting fx possible via auto rotating velocity +/ acceleration and using them
as modulation directions. also interesting to launch drones from auto rotating
velocities.
!
/*
DIN 50 introduces a virtual geometric chuck inspired by the geometric chuck,
a drawing machine from the 19th century! DIN's chuck, made with a bunch
of drones, not only draws (via drone trails) but also sounds notes
(via snapping), drones or noises!
To begin, select a bunch of drones and
choose Drone Tools > Chuck
DIN creates a geometric chuck with these drones
Minimum 2 drones
Good start = 3 drones
Each drone rotates about the other
1st drone is central, rotates about nothing, so stays still
You can move this drone around and move the whole chuck
The 2nd drone rotates about the 1st,
The 3rd drone rotates about the 2nd,
and so on
Browse the selected drones of the chuck with Drone Tools > Browse drone
or press <- and -> to select a drone in the chuck and
Adjust the speed at which this drone rotates about the other
(Drone Params > Chuck > Speed), the distance at which it rotates
(Drone Params > Chuck > Length), flip the direction of rotation
(anti-clockwise < > clockwise) (Drone Params > Flip), pause/go
(Drone Params > Chuck > Toggle) the rotation and draw a trail
(Drone Params > Chuck > Trail length). Recommend trail on the last
drone of a chuck to make drawing like the real geometric chuck
Set Angle per frame to speed up (large angle) or slow down (small angle) the rotation
of all the drones of (all) chuck(s).
The drones of the chuck sound the pitch/volume they are on the microtonal keyboard.
You can mute/unmute any / all of the drones of the chuck.
Drone Tools > Mute, Drone Tools > Unmute
You can convert any / all of the chuck's drones to noise (Drone Tools > Drone > Noise) or
vice-versa.
Drone Tools > Drone 2 Noise, Drone Tools > Noise 2 Drone
You can snap drones of the chuck to sound notes
Drone Params > Motion > Snap drones to notes > Set
*\
+ stop drone decay (and death) if frozen
+ retime decay time of deleted drone(s) if you select drone(s) and delete again
* change FM depth (like AM depth) by moving along vertical on mouse slider
* moved along horizontal until DIN 49.1
* change FM bpm (like AM bpm) by moving along vertical on mouse slider
* moved along horizontal until DIN 49.1
* helps with moving drones along circular paths at different speeds
* improved value spinner UI
* improved find_nearest_note (..) performance
* improved drone trail performance
* improved console text & value display
Fixes:
-Fixed showing "What's new" dialog, even if changes couldn't be loaded.
-Fixed a crash when trying to toggle dark theme.
-Fixed not sorting by track length properly (#66).
-Fixed tray icon options not showing error messages.
Changes:
-Improved high DPI support for icons (#57).
-Width of columns in track list can now be resized depending on window size
(enabled by default).
-Reworked device selection, which should improve performance and reduce
random crashes.
-Improved performance with track playing.
-Added tooltips to track list and search results.
-Tracks now always play in order of track number, except in library.
v2.3.0:
DEPRECATED
This project is no longer maintained. You can still use a REST client like Requests or other third-party Python library to access the Discogs REST API.
v2.2.2:
Updates dependencies to resolve security vulnerabilities, and modernizes Python versions under test.
Maintenance:
-Fix: correct positioning of search match highlight
-Improve album loading in artist view (#446)
-Fix display of PlayNext command (#445)
-More resilient playlist track deletion (f2bcfca)
-Remove plain-text credential store (#447)
Features:
-Clear search term when ESC is pressed (#384)
-Loop mode is now editable via MPRIS (#437)
-Persist sorting orders for playlists (#436)
-Persist volume and shuffle/repeat state across app restarts (#438)
-Persist track queue across app restarts (#438)
-Add config values to override shuffle/repeat state
-Previously these were set in the [saved_state] section of the configuration.
They can now be set using shuffle and repeat in the configuration's main
section. See the README for details.
-Implement cover drawing as optional feature (#451)
ncmpc 0.45 - (2021-02-12)
* make "tagtypes" errors non-fatal
* check which tag types are supported by MPD (fixes MPD 0.21 support)
* lyrics: update page title after loading has finished
* lyrics: fix path injection bug
* lyrics: load cached lyrics without plugin
* lyrics: use $XDG_CACHE_HOME/ncmpc/lyrics instead of ~/.lyrics
* lyrics/azlyrics: normalize accented letters (using the "unidecode" library)
* lyrics/azlyrics: unescape HTML entities
Changes since v1.43
v1.44 - 01.03.2021
- The second "Key Off" key (key next to left shift) didn't work on all keyboard
layouts.
- Added support for importing DIGI Booster (non-Pro) modules
- Added support for importing 8-channel StarTrekker modules
- Removed calculation of some big tables because they were not really that
important for performance after all, and also made the video/audio sync data
more compact. Saves around ~1.8MB of RAM. Not a whole lot, but still nice.
- Code refactoring in module/sample loaders. It's easier to add new loaders now!
- Minor code cleanup and code change
- Updated help text
Fixes bugs in lyric.search for working with "composite" lyrics, in the
export of piano scores with key signatures, and a bug in piano scores
and other part staffs that (a) prevented them from being flattened
properly and (b) did not allow flattened piano scores to call .show()
TagLib 1.12 (Feb 16, 2021)
==========================
* Added support for WinRT.
* Added support for Linux on POWER.
* Added support for classical music tags of iTunes 12.5.
* Added support for file descriptor to FileStream.
* Added support for 'cmID', 'purl', 'egid' MP4 atoms.
* Added support for 'GRP1' ID3v2 frame.
* Added support for extensible WAV subformat.
* Enabled FileRef to detect file types based on the stream content.
* Dropped support for Windows 9x and NT 4.0 or older.
* Check for mandatory header objects in ASF files.
* More tolerant handling of RIFF padding, WAV files, broken MPEG streams.
* Improved calculation of Ogg, Opus, Speex, WAV, MP4 bitrates.
* Improved Windows compatibility by storing FLAC picture after comments.
* Fixed numerical genres in ID3v2.3.0 'TCON' frames.
* Fixed consistency of API removing MP4 items when empty values are set.
* Fixed consistency of API preferring COMM frames with no description.
* Fixed OOB read on invalid Ogg FLAC files (CVE-2018-11439).
* Fixed handling of empty MPEG files.
* Fixed parsing MP4 mdhd timescale.
* Fixed reading MP4 atoms with zero length.
* Fixed reading FLAC files with zero-sized seektables.
* Fixed handling of lowercase field names in Vorbis Comments.
* Fixed handling of 'rate' atoms in MP4 files.
* Fixed handling of invalid UTF-8 sequences.
* Fixed possible file corruptions when saving Ogg files.
* Fixed handling of non-audio blocks, sampling rates, DSD audio in WavPack files.
* TableOfContentsFrame::toString() improved.
* UserTextIdentificationFrame::toString() improved.
* Marked FileRef::create() deprecated.
* Marked MPEG::File::save() with boolean parameters deprecated,
provide overloads with enum parameters.
* Several smaller bug fixes and performance improvements.
ver 0.22.6 (2021/02/16)
* fix missing tags on songs in queue
ver 0.22.5 (2021/02/15)
* protocol
- error for malformed ranges instead of ignoring silently
- better error message for open-ended range with "move"
* database
- simple: fix missing CUE sheet metadata in "addid" command
* tags
- id: translate TPE3 to Conductor, not Performer
* archive
- iso9660: another fix for unaligned reads
* output
- httpd: error handling on Windows improved
- pulse: fix deadlock with "always_on"
* Windows:
- enable https:// support (via Schannel)
* Android
- work around "Permission denied" on mpd.conf
Upstream does not provide a ChangeLog and, with six months since the previous
release, changes are too many to pick manually.
Unfortunately, the commit we have been pulling from, and that made it possible
to build without patches (a2f832dff171914935f7e1a98a5da3d7c8a0b789), has been
reverted.
The package again depends on get_if_addrs instead of if-addrs. get_if_addrs is
as an archived crate and needs to be patched to build on NetBSD.
It's not either possible to upstream patches. Actually, the needed patch has
already been upstremed and merged but, it didn't make it into the final release.
On the other hand, if-addrs is actively maintained and would be a better option.
I've contacted the developers by e-mail and asked for the revert reason.
### libopenmpt 0.5.5 (2021-01-31)
* [**New**] `Makefile` `CONFIG=emscripten` now supports
`EMSCRIPTEN_TARGET=audioworkletprocessor` which builds an ES6 module in
a single file with reduced dependencies suitable to be used in an
AudioWorkletProcessor.
* [**Bug**] stb_vorbis: Fix decoding of Vorbis streams without comments which
affected most Vorbis samples since stb_vorbis v1.20.
* `openmpt::ext::interactive::set_pitch_factor` wasn't applied to OPL voices.
* OPL channel state (in particular current patch) is now updated when seeking.
* The FT2 tremolo quirk is now also applied to MOD files. FT2 just copied the
quirky code from ProTracker!
* DMF: Preserve effects better in some situations where there is more than one
effect in a pattern cell.
* DMF: Improve import of finetune effect with parameters larger than +/-15.
* mpg123: Update to v1.26.4 (2020-12-24).
* pugixml: Update to v1.11.4 (2020-12-22).
Fixes
Fixed an issue with gap between staff and end barline with courtesy clef
#316502: Fixed an issue with accessibility of "score migration" dialog
#275837: Fixed a crash related to QtWebEngineProcess after update
#316373: Fixed an issue with appearance of part name in timeline rather than instrument name
#316125: Fixed an issue with handling of "dockable" windows focus on visibility toggle
#316096: Fixed an issue when custom gliss text reverts to default "gliss"
#315963: Added missing Flügelhorns to concert bands, orchestral and big bands, jazz combos and brass ensembles
#315677: Fixed an issue with unavailable beaming across crotchet rests
#316610: Fixed an issue when staff spacer does not work on last system of page
#316645: Fixed an issue with broken swapping notes/chords with Shift + Left/Right
#315904: Fixed an issue with incomplete import from ScoreScan XML file
Fixed an issue with unsaved default settings to pre 3.6 score after 'reset to defaults'
#316896: Fixed an issue with Banjo fifth string fret numbers
#316555: Fixed an issue when invisible breath impacted a layout
#316679: Fixed a crash during the opening a score with a missing section break
#305777: Applying tremolo is a toggle operation now
#315408: Fixed an issue when "Mixer" panel not fully shown when opened
#316754: Fixed an issue with empty rehearsal mark not deleted after entering a line break
#316869: Fixed an issue when multi-measure rest numbers can collide with other elements
#316797: Fixed an issue when deleting a breath/caesura leads to selection of the wrong note
#316559: Fixed an issue when part inherits non-default style from score
#316441: Fixed a crash when changing time signature in front of a corrupted measure
#316571: Updated a close icon for Import Midi Panel (and Find/GoTo)
#315779: Fixed an issue with auto-size of vertical frame when dragging the height handle
Change log:
Important bug fix: if you’ve had trouble loading music21 with an “importlib” error, this is fixed.
Composite lyrics changes to the implementation in 6.5: multiple syllables on one note in a single verse (like in Italian, “Il bianco e dolce cigno”) now are imported to MusicXML property, stored in a Lyric.components object, and export to MusicXML properly.
Lyrics searching finds all lyrics in all verses (and composite lyrics too)
More major improvements to piano staff imports (thanks to Jacob Tyler Walls = JTW)
RomanNumeral.isMixture() shows whether a chord is borrowed from the other mode (Mark Gotham)
Several improvements in chord symbols (JTW + Alexandre Papadopoulos)
More improvements to finding instrument names from MIDI (JTW)
Duration marks in chords in ABC import properly (Marian Schultz)
Documentation improvements.
MusicXML parse failures now more often give the part and measure context (JTW)
Substantial bug fixes in Stream.setElementOffset. Adds a new Stream.coreSetElementOffset for the dangerous but super fast version, and makes the original version safer. (JTW)
Bug fixes in MEI articulations (heinzer) and accidentals (JTW)
Bug fixes in external tools in windows including spaces (JTW)
Channels handle better in MIDI (bearpelican)
Humdrum files with positioned rests no longer crash (Phil Kirlin)
OctaveRepeatingScale and CyclicalScale now usable as abstract classes (JTW)
Articulations and expressions musicxml does not support are exported as (JTW)
Better support for .musicxml as a file name within compressed .mxl files.
Beaming in pickup measures is fixed.
Stem directions can now be set automatically to coincide with beam groups. This is very useful if you are creating your own notation from scratch (as in VexFlow output; m21j gets the same routines)
Spanner endHeight and startHeight are processed correctly (JTW)
NoChord objects (in Chord Symbols) now retain their text (like “N.C.”) in more situations (JTW)
All NotRest objects get a .pitches function – a small thing, but will be helpful in the future.
ncmpc 0.44 - (2021-02-01)
* fix scrolling problems on help page
* highlight find results on help page
* don't attempt IPv6 connection if IPv6 routing is disabled
# ncmpcpp-0.9.2 (2021-01-24)
* Revert suppression of output of all external commands as that makes e.g album
art addons no longer work.
* Gracefully handle failures when asking for a password.
vorbis-tools 1.4.2 -- 2021-01-21
* Cleanup of the build system
* Code cleanup
* Removed outdated debian/, and vorbis-tools.spec
* Updated po/ to reflect new code positions
* ogg123, ogginfo: Added support to decode METADATA_BLOCK_PICTURE
* ogginfo: Added support for decoding Skeleton