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