Switch to meson build framework since autoconf one was removed.
libmpdclient 2.13 (2017/07/25)
* fix build with meson > 0.38.1
* fix connect error "Operation now in progress"
libmpdclient 2.12 (2017/07/21)
* support MPD protocol 0.21
- support tag "OriginalDate"
- command "tagtypes" plus "disable", "enable", "clear"
* support MPD protocol 0.20
- support "plchanges" and "plchangesposid" with range
* support MPD protocol 0.19
- commands "addtagid", "cleartagid"
- command "listfiles"
- grouping for "list" and "count"
- tag "AlbumSort"
- "seekid" with float time
* use relative #include paths to avoid clashes with other libmpdclient copies
* build with Meson instead of autotools
libopenmpt 0.2-beta27 (2017-08-12)
[Bug] libmodplug: The CSoundFile::Read function in the emulated libmodplug C++ API returned the wrong value, causing qmmp (and possibly other software) to crash.
The ProTracker note delay quirk should not retrigger already stopped samples (fixes "Subi loses the Cops" by Subi).
ProTracker portamento between already stopped sample and another sample kept playing the old sample (fixes "anarchy-main" by Jester).
Playback fix for instruments with custom tunings and transposed note maps in MPTM format.
ProTracker quirk: If there is a note with a out-of-range note delay, it is played on the next row (with an instant portamento), unless there is a new note on that row.
ProTracker quirk: Apply tempo changes after the first tick of the row.
libopenmpt 0.2-beta26 (2017-07-07)
[Bug] Possible crashes with malformed PLM and PSM files.
[Bug] mktime() and localtime() were used for song date parsing. These functions are not guaranteed to be thread-safe by the standard. Furthermore, some standard library implementations are buggy and may cause the program to abort in out-of-memory situations. These functions are now no longer used.
Loops shorter than four sample points at the end of a sample could cause the sample data before the loop to become corrupted.
libopenmpt 0.2-beta25 (2017-07-02)
PT36: Enable VBlank timing as specified in file and read song comment.
M15: Loosen heuristics to allow a few more semi-damaged files to play.
MT2: If there were instruments with both sample and plugin assignments, sample data was not read correctly.
Set PKG_SYSCONFSUBDIR where appropriate, and use {MAKE,OWN}_DIRS to
create the directory tree under ${PKG_SYSCONFDIR} instead of using
INSTALLATION_DIRS.
Bump the PKGREVISION of packages that changed due to changes in the
package install scripts.
Properly clean up the file handle when a backend fails to decode a file. Fix parsing of "N.M" channel counts in the FFmpeg backend (thanks to @piem). Avoid a crash in the raw backend when a file uses an unsupported number of bits per sample (namely, 24-bit samples in Python < 3.4). Add a __version__ value to the package.
Version 1.4.5 adds some oft-requested features. When you're importing files,
you can now manually set fields on the new music. Date queries have gotten
much more powerful: you can write precise queries down to the second, and we
now have *relative* queries like ``-1w``, which means *one week ago*.
Here are the new features:
* You can now set fields to certain values during :ref:`import-cmd`, using
either a ``--set field=value`` command-line flag or a new :ref:`set_fields`
configuration option under the `importer` section.
* :ref:`Date queries <datequery>` can now include times, so you can filter
your music down to the second.
* :ref:`Date queries <datequery>` can also be *relative*. You can say
``added:-1w..`` to match music added in the last week, for example.
* A new :doc:`/plugins/gmusic` lets you interact with your Google Play Music
library.
* :doc:`/plugins/replaygain`: We now keep R128 data in separate tags from
classic ReplayGain data for formats that need it (namely, Ogg Opus). A new
`r128` configuration option enables this behavior for specific formats.
* The :ref:`move-cmd` command gained a new ``--export`` flag, which copies
files to an external location without changing their paths in the library
database.
There are also some bug fixes:
* :doc:`/plugins/lastgenre`: Fix a crash when using the `prefer_specific` and
`canonical` options together.
* :doc:`/plugins/web`: Fix a crash on Windows under Python 2 when serving
non-ASCII filenames.
* :doc:`/plugins/metasync`: Fix a crash in the Amarok backend when filenames
contain quotes.
* More informative error messages are displayed when the file format is not
recognized.
- MP4 tag options improved
- fixed MP4 'meta' atom bug
- new option to set verbosity (-v0 to silence output)
1.29.2:
- new mp4 output code
1.29:
- various patches applied and bugs fixed
1.25.2
------
- libmpg123:
-- Extend pow tables for layer III to properly handle files with i-stereo and
5-bit scalefactors. Never observed them for real, just as fuzzed input to
trigger the read overflow. Note: This one goes on record as CVE-2017-11126,
calling remote denial of service. While the accesses are out of bounds for
the pow tables, they still are safely within libmpg123's memory (other
static tables). Just wrong values are used for computation, no actual crash
unless you use something like GCC's AddressSanitizer, nor any information
disclosure.
-- Avoid left-shifts of negative integers in layer I decoding.
1.25.1: Hot Fuzz
-------
- libmpg123:
-- Avoid memset(NULL, 0, 0) to calm down the paranoid.
-- Fix bug 252, invalid read of size 1 in ID3v2 parser due to forgotten
offset from the frame flag bytes (unnoticed in practice for a long
time). Fuzzers are in the house again. This one got CVE-2017-10683.
-- Avoid a mostly harmless conditional jump depending on uninitialised
fr->lay in compute_bpf() (mpg123_position()) when track is not ready yet.
-- Fix undefined shifts on signed long mask in layer3.c (worked in practice,
never right in theory). Code might be a bit faster now, even.
Thanks to Agostino Sarubbo for reporting.
1.25.0: MP3 now patent-free worldwide!
-------
- Silence test for artsc-config if it is not there.
- Make sure -static-libgcc from LDFLAGS gets through libtool,
fixing 32 bit Windows builds (depend on libgcc DLL otherwise).
- Fix build with non-GNU make by using plain rm -f instead of silly $(RM)
in libout123/modules makefile fragment.
- Make build work on iOS, including coreaudio backend.
- libmpg123:
-- Finally provide position-independent code for x86 with assembly
optimisations.The textrels are gone thanks to Won Kyu Park and Taihei Momma.
-- Clarify some license language in files descending from the original MMX
optimisation.
-- Fix return value overflow check for MPG123_BUFFERFILL.
-- Introduced mpg123_getformat2() to enable the FORMAT command
for the generic control not stealing MPG123_NEW_FORMAT from the main
playback loop. The sequence LOADPAUSED-FORMAT-PAUSE (play) is supposed
to work now.
-- Enable aarch64 optimisations on *BSD by default, too. You can always
override that stupid OS whitelist using --with-optimization, anyway.
-- Use of the i486 decoder is now discouraged more prominently, in configure
output.
- out123: Fix stupid crash with verbose mode and tone generation (print
the string if the pointer is non-null, not if it is null).
- libout123: More consistent error messages for dynamic and legacy
(built-in) modules. Namely, you get a hint how if you choose a different
module than the built-in ones for a static libout123.
1.2.1
This Opus 1.2.1 minor release fixes a relatively rare issue where
the 1.2 encoder would wrongly assume a signal to be bandlimited to
12 kHz and not encode frequencies between 12 and 20 kHz. This only
happens on a few clips, but it is good to update to avoid a potential
loss of quality.
1.2.
This Opus 1.2 major release brings many quality improvements, new
features, and bug fixes. You can read all the details in this release
demo page. Changes since 1.1.x include:
Speech quality improvements especially in the 12-20 kbit/s range
Improved VBR encoding for hybrid mode
More aggressive use of wider speech bandwidth, including fullband speech starting at 14 kbit/s
Music quality improvements in the 32-48 kb/s range
Generic and SSE CELT optimizations
Support for directly encoding packets up to 120 ms
DTX support for CELT mode
SILK CBR improvements
Support for all of the fixes in draft-ietf-codec-opus-update-06 (the mono downmix and the folding fixes need --enable-update-draft)
Many bug fixes, including integer wrap-arounds discovered through fuzzing (no security implications)
- Fixed several warnings from clang static analyzer.
- Fixed a misleading indentation warning from gcc6.
- A few minor OS/2 fixes.
- Support for building the Windows version using Open Watcom compiler.
- Other minor fix/tidy-ups.
- Fixed lots of possible crashes in the IT, XM, S3M, STM, STX, AMF, IMF,
GDM and MED module loaders.
- Fixed a possible endless loop in the IT loader with malformed files.
- Fixed signed integer overflow leading to crashes in the sample loader.
- Fixed a possible crash in MMCMP depacker with malformed files.
- Fixed the broken fixed-line comment reader which might possibly lead
to crashes, and also badly translated several song messages. The new
code is adapted from libopenmpt.
- Support for building the Windows version using Open Watcom compiler.
- A few minor OS/2 fixes.
- CMake updates.
- Other minor fixes/tidy-ups.
* Note: New release tarballs are now hosted on github:
https://github.com/quodlibet/mutagen/releases
* ID3:
* Add iTunes grouping frame `id3.GRP1`
* Fix exposing text frames where the text can't be encoded with the
reported encoding due to merging of frames
* OGG: Fix wrong StreamInfo.length (small negative value) for all
ogg based formats in rare cases.
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
ver 0.20.9 (2017/06/04)
* decoder
- ffmpeg: support *.adx
* fix byte order detection on FreeBSD/aarch64
* fix more random crashes when compiled with clang
0.04 Tue 13 Jun 2017 22:27:29 BST
- Use ExtUtils::MakeMaker instead of Module::Build
- Fixed encoding in POD (RT#85212)
- Fixed stack corruption in discid_put (RT#98179)
- Updated tests for libdiscid 0.6.x (RT#89285)
- Fixed typo in POD (RT#85212)
Core
Release v1.1.4
Drop ppc64-specific workaround for versioned symbols
conf/ucm: broxton: add broxton-rt298 conf files
Config API
conf: Allow dynamic top-level config directory
HWDEP API
hwdep: add support for MOTU FireWire series and RME Fireface series
hwdep: add Line6 USB series support
Mixer API
conf: Allow dynamic top-level config directory
PCM API
ALSA: pcm: Use recursive mutex
pcm: dmix: Disable var_periodsize as default
pcm:plugin: Fix sound capture via MMAP access
plugin:dshare: wrong state reporting
pcm:file: delegate htimestamping to slave instead of always getting real_htimestamp
pcm:plug: save converter config
dmix plugin: drain - quickfix for the previous patch
dmix plugin: fix drain for nonblock mode
pcm file plugin: handle snd_pcm_mmap_begin() error path in snd_pcm_file_mmap_commit()
always handle return value from snd_config_get_id() (coverity)
pcm_plugin: unify the snd_pcm_mmap_begin result value checking
pcm: rate: Add capability to pass configuration node to plugins
pcm: extplug: refinement of masks in extplug
pcm: status dump fix timestamp formatting
pcm: file: Enable file writing for capture path
pcm: direct: fix race on clearing timer events
pcm: dmix_rewind corrupts application pointer fix
pcm: dmix: Allow disabling x86 optimizations
pcm: Disable locking in async mode
pcm: Avoid lock for snd_pcm_nonblock()
pcm: multi: Drop the fixed slave_map[] in snd_pcm_multi_open()
pcm: direct: Fix deadlock in poll_descriptors
pcm: direct: don't return bogus buffer levels in xrun state
pcm: direct: check state before enter poll on timer
pcm: direct: Fix for sync issue on xrun recover
pcm: direct: returning semop error code for semaphore up/down failures
rate: dynamic update avail_min on slave
plugin: dynamically update avail_min on slave
pcm: rate: fix the hw_ptr update until the boundary available
pcm: dshare: enable silence
pcm: direct: allow users to configure different period sizes
RawMidi API
rawmidi: virtual: fix reading into a small buffer
Sequencer API
seq: improve documentation about new get pid/card functions
Timer API
timer: obsolete legacy rtctimer instance
Topology API
topology: Fix issue in parsing routes when generating topology binary
conf: Allow dynamic top-level config directory
topology: Allow a data section to contain multiple tuples objects
topology: Group elements with the same index value into a block
topology: Look up references for an object based on its index
topology: Remove code parsing index value in paring each object
topology: Insert new element based on its index value
topology: coverity - remove dead code
always handle return value from snd_config_get_id() (coverity)
topology: Fix incorrect license in source comments.
topology: fix unused-const-variable warning
Use Case Manager API
ucm parser: fix possible string overflow in uc_mgr_import_master_config()
ucm: Add command 'get _file' to get the config file name of the opened card
ucm: Load device-specific configuration file based on the card long name
ucm: Assure the user input card name not to exceed max size of card long name
ucm: parser needs limits.h
ucm: Add ATTRIBUTE_UNUSED for unused parameters of execute_component_seq()
ALSA Lisp
conf: Allow dynamic top-level config directory
Configuration
conf: topology: Fix index mismatch for skl and bxt
conf: Allow dynamic top-level config directory
conf: Remove dmix.direct_memory_access setup
conf/cards: add VC4-HDMI card
pcm: dmix: Allow disabling x86 optimizations
conf: Add card config for Intel HDMI/DP LPE audio
conf/cards: add support for pistachio-card.
conf/ucm: broxton: add broxton-rt298 conf files
External Rate Converter Plugin SDK
pcm: rate: Add capability to pass configuration node to plugins
Kernel Headers
hwdep: add support for MOTU FireWire series and RME Fireface series
hwdep: add Line6 USB series support
timer: obsolete legacy rtctimer instance update to libtool 1.3.3
libopenmpt 0.2-beta24 (2017-05-22)
[Bug] localtime() was used to determine the version of Schism Tracker used to save IT and S3M files. This function is not guaranteed to be thread-safe by the standard and is now no longer used.
[Bug] Compilation with GCC 4.1 was broken since 0.2-beta20.5.
Improvements to seeking: Channel panning was not always updated from instruments / samples when seeking, and out-of-range global volume was not applied correctly in some formats.
Work-around for reading MIDI macros and plugin settings in some malformed IT files written by old UNMO3 versions.
Improve tracker detection in IT format.
ver 0.20.8 (not yet released)
* output
- osx: fix build failure due to missing "noexcept"
* playlist
- m3u: support MIME type `audio/mpegurl`
* fix build failure with GCC 4.x
ver 0.20.7 (2017/05/15)
* database
- simple: fix false positive directory loop detection with NFS
* enforce a reasonable minimum audio_buffer_size setting
* cap buffer_before_play at 80% to prevent deadlock
* fix random crashes when compiled with clang
----------------------------
2016-11-28 (0.8.7) Robin Gareus <robin@gareus.org>
* fix release builds (mistake in 0.8.6)
2016-11-28 (0.8.6) Robin Gareus <robin@gareus.org>
* explicitly request single-screen fullscreen on OSX
* weak-link against libjack (binaries)
* add NetBSD support
(pkgsrc changes)
- Drop two patches, upstream nos supports NetBSD
(although the one patch still necessary)
- (note) Does this really fit to audio category ?
This application shows video syncing to audio.
pkgsrc changes:
- Update MASTER_SITES to MASTER_SITE_PYPI
- Update HOMEPAGE
- Get rid of PYTHON_VERSIONS_INCOMPATIBLE
(beets is now compatible with Python 3 too)
- Misc cosmetic fixes and simplifications
Changes:
1.4.3 (January 9, 2017)
-----------------------
Happy new year! This new version includes a cornucopia of new features from
contributors, including new tags related to classical music and a new
:doc:`/plugins/absubmit` for performing acoustic analysis on your music. The
:doc:`/plugins/random` has a new mode that lets you generate time-limited
music---for example, you might generate a random playlist that lasts the
perfect length for your walk to work. We also access as many Web services as
possible over secure connections now---HTTPS everywhere!
1.4.2 (December 16, 2016)
-------------------------
This is just a little bug fix release. With 1.4.2, we're also confident enough
to recommend that anyone who's interested give Python 3 a try: bugs may still
lurk, but we've deemed things safe enough for broad adoption. If you can,
please install beets with ``pip3`` instead of ``pip2`` this time and let us
know how it goes!
1.4.1 (November 25, 2016)
-------------------------
Version 1.4 has **alpha-level** Python 3 support. Thanks to the heroic efforts
of :user:`jrobeson`, beets should run both under Python 2.7, as before, and
now under Python 3.4 and above. The support is still new: it undoubtedly
contains bugs, so it may replace all your music with Limp Bizkit---but if
you're brave and you have backups, please try installing on Python 3. Let us
know how it goes.
1.3.19 (June 25, 2016)
----------------------
This is primarily a bug fix release: it cleans up a couple of regressions that
appeared in the last version. But it also features the triumphant return of the
:doc:`/plugins/beatport` and a modernized :doc:`/plugins/bpd`.
It's also the first version where beets passes all its tests on Windows! May
this herald a new age of cross-platform reliability for beets.
1.3.18 (May 31, 2016)
---------------------
This update adds a new :doc:`/plugins/hook` that lets you integrate beets with
command-line tools and an :doc:`/plugins/export` that can dump data from the
beets database as JSON. You can also automatically translate lyrics using a
machine translation service.
The ``echonest`` plugin has been removed in this version because the API it
used is `shutting down`_. You might want to try the
:doc:`/plugins/acousticbrainz` instead.
.. _shutting down: https://developer.spotify.com/news-stories/2016/03/29/api-improvements-update/
1.3.17 (February 7, 2016)
-------------------------
This release introduces one new plugin to fetch audio information from the
`AcousticBrainz`_ project and another plugin to make it easier to submit your
handcrafted metadata back to MusicBrainz.
The importer also gained two oft-requested features: a way to skip the initial
search process by specifying an ID ahead of time, and a way to *manually*
provide metadata in the middle of the import process (via the
:doc:`/plugins/edit`).
Also, as of this release, the beets project has some new Internet homes! Our
new domain name is `beets.io`_, and we have a shiny new GitHub organization:
`beetbox`_.
1.3.16 (December 28, 2015)
--------------------------
The big news in this release is a new :doc:`interactive editor plugin
</plugins/edit>`. It's really nifty: you can now change your music's metadata
by making changes in a visual text editor, which can sometimes be far more
efficient than the built-in :ref:`modify-cmd` command. No more carefully
retyping the same artist name with slight capitalization changes.
This version also adds an oft-requested "not" operator to beets' queries, so
you can exclude music from any operation. It also brings friendlier formatting
(and querying!) of song durations.
1.3.15 (October 17, 2015)
-------------------------
This release adds a new plugin for checking file quality and a new source for
lyrics. The larger features are:
* A new :doc:`/plugins/badfiles` helps you scan for corruption in your music
collection. Thanks to :user:`fxthomas`. 🐛`1568`
* :doc:`/plugins/lyrics`: You can now fetch lyrics from Genius.com.
Thanks to :user:`sadatay`. 🐛`1626` 🐛`1639`
* :doc:`/plugins/zero`: The plugin can now use a "whitelist" policy as an
alternative to the (default) "blacklist" mode. Thanks to :user:`adkow`.
🐛`1621` 🐛`1641`
1.3.14 (August 2, 2015)
-----------------------
This is mainly a bugfix release, but we also have a nifty new plugin for
`ipfs`_ and a bunch of new configuration options.
1.3.13 (April 24, 2015)
-----------------------
This is a tiny bug-fix release. It copes with a dependency upgrade that broke
beets.
1.3.12 (April 18, 2015)
-----------------------
This little update makes queries more powerful, sorts music more
intelligently, and removes a performance bottleneck. There's an experimental
new plugin for synchronizing metadata with music players.
Packagers should also note a new dependency in this version: the `Jellyfish`_
Python library makes our text comparisons (a big part of the auto-tagging
process) go much faster.
1.3.11 (April 5, 2015)
----------------------
In this release, we refactored the logging system to be more flexible and more
useful. There are more granular levels of verbosity, the output from plugins
should be more consistent, and several kinds of logging bugs should be
impossible in the future.
There are also two new plugins: one for filtering the files you import and an
evolved plugin for using album art as directory thumbnails in file managers.
There's a new source for album art, and the importer now records the source of
match data. This is a particularly huge release---there's lots more below.
There's one big change with this release: **Python 2.6 is no longer
supported**. You'll need Python 2.7. Please trust us when we say this let us
remove a surprising number of ugly hacks throughout the code.
libopenmpt 0.2-beta23 (2017-04-23)
[Change] The libmpg123 binary download script on Windows now downloads libmpg123 1.24.0.
[Change] MSVC builds of libopenmpt will now only load known DMO plugins.
[Bug] foo_openmpt: Interpolation filter and volume ramping settings were confused in previous versions. This version resets both to the defaults.
Upstream changes:
0.98 2017-04-28
- RT #119101, stop including MYMETA files in the tarball.
0.97 2017-04-27
- WAV: GH #2, fixed an integer overflow error that could result in an incorrect song_length_ms
for >16-bit files.
0.96 2016-11-21
- Ogg: RT #118888, fixed crash when trying to read Vorbis comments in an
incorrectly framed file with a bad terminal header page.
- Removed hints/darwin.pl, don't try to be smarter than Perl about how to build things.
- Fixed various minor compiler warnings output by the latest clang on macOS.
0.95 Unreleased community build
- Improved DFF parsing for files which end with corrupted chunk. (Adrian Smith)
- Improved ID3 support for DFF files. (Adrian Smith)
0.94 Unreleased community build
- DSF/DFF: Support dsd file scanning for dsd and dsdiff files. (Kimmo Taskinen)
- AIFF: Fixed scanning of 24 bit files. (Adrian Smith)
Version 1.0.28 (2017-04-02)
* Fix buffer overruns in FLAC and ID3 handling code.
* Move to variable length header storage.
* Fix detection of Large File Support for 32 bit systems.
* Remove large stack allocations in ALAC handling code.
* Remove all use of Variable Length Arrays.
* Minor bug fixes and improvements.
------
- Avoid repeating genre in metadata printout for specifications like
(144)Thrash Metal.
- In remote control mode, only enforce --quiet if no verbosity was required.
- Prevent --loop and --shuffle or --random from messing with the remote
control LOADLIST command (printout of the list would loop without reason).
- Fix the mpg123 command (esp. our provided binaries on Windows) to now find
modules again relative to the executable directory, not the current working
directory. This was a regression in 1.23 and might be security-relevant if
you called mpg123 in working directories with untrusted content.
Note that mpg123 1.23 looked for modules relative to the current working
directory only if the installation prefix for modules did not exist.
So, usage on an intact installation (with /usr/lib/mpg123 or the like) was
safe. Nevertheless this new version fixes the search to be relative to the
binary path as it was with 1.22 and before.
- At least consistent behaviour of playlist code in the face of looping.
Looping is about individual tracks, always. They are looped also in random
mode. Jumping (prev/next keys) is between tracks and resets the loop counter.
The display of currently playing track in the playlist is fixed for random
and looped play now (bug 198).
- Looping is now mentioned for a to-be-repeated track with --verbose.
- Move some compiler nagging from --enable-debug to --enable-nagging, fix up
some new build failures by adding some pesky feature test macros.
- Try not to pollute the terminal buffer with old progress bars in inverse
video. Only the currently live one shall be seen. That one is pretty. The
others are not.
- Using plain dlopen()/LoadLibrary() for opening modules instead of libltdl.
This also means that --with-module-suffix is gone in configure.
- Windows builds only work when Unicode support is there (older than Windows
2000/XP will definitely not work anymore).
- The out123 tool now features tone generation, with a mix of differing
wave patterns. Makes sense to be able to test the audio output by itself,
and it's fun. See --wave-freq and related parameters.
- libmpg123 version 43:
-- Add flags MPG123_NO_PEEK_END and MPG123_FORCE_SEEKABLE, as suggested
by Bent Bisballe Nyeng.
-- Build fix for MSVC (consistent definition of ssize_t, spotted by manx,
bug 243).
-- Build fix for --with-cpu=ppc_nofpu (thanks to Michael Kostylev, bug 244).
-- Add asm optimized MSVC++ Win32|x64 and UWP|x64 builds
-- Remove old, broken MSVC++ builds
- libout123 version 2:
-- Added OUT123_BINDIR.
-- New search order for output plugin directory: MPG123_MODDIR, or (relative
to executable directory OUT123_BINDIR) ../lib/mpg123, plugins
libout123/modules/.libs, libout123/modules, ../libout123/modules/.libs,
../libout123/modules, and at last the installation prefix $libdir/mpg213/.
This shall ensure that a build inside a source tree does not try to use old
modules from the system prefix. The normal libtool wrapper deals with the
shared libout123 or libmpg123 only, not modules.
Note that if you set MPG123_MODDIR to a non-existing directory, no modules
will be found (earlier versions fell back to other choices).
-- The OUT123_NAME parameter is now copied by out123_param_from(), as is
the newly added OUT123_BINDIR.
-- Coreaudio: Use AudioComponents API on OSX >= 10.6 (thanks to Michael Weiser).
-- Coreaudio: Fix behaviour of out123_drop(), not killing the output anymore
without re-opening the device (bug 236, thanks to Taihei for the fix).
Version 0.1.9 (2016-09-23)
* Relicense under 2 clause BSD license.
* Minor bug fixes and upates.
Also fixes CVE-2017-7697: global buffer overflow in calc_output_single
libmpdclient 2.11 (2017/03/20)
* fix heap corruption with mpd_connection_new_async()
* add space before "window" search argument
* detect getaddrinfo() at configure time
* add support for ArtistSort and AlbumArtistSort tags
* support MPD protocol 0.21
- audio format specifications "dsd64" etc.
- the "sort" parameter for commands "find"/"search"
New Features:
* Repo and issue tracker moved to GitHub: https://github.com/nicfit/eyeD3
Bug Fixes:
[issue 78] - ‘NoneType’ object has no attribute ‘year’
[issue 108] - Multiple date related fixes.
[issue 110] - Allow superfluous –no-tagging-ttme-frame option for backward compatibility.
[issue 111] - The –version option now prints a short, version-only, message.
[issue 116] - Allow –year option for backward compatibility. Converts to –release-year.
[issue 117] - Fixes for –user-text-frame with multiple colons and similar fixes.
[issue 125] - ID3 v1.1 encoding fixes.
* don't require authentication when getting public collections
* allow submit_ratings() and submit_tags() to submit for all supported entities
* allow 'tags' and 'user-tags' includes on releases
* set the parser when the webservice format is changed
* read the error message from musicbrainz and return it in
a raised exception
* send authenticaion headers when required
* added get_series_by_id(), search_areas(), search_series()
* updated options for get_releases_by_discid() to support 'media-format'
and discid-less requests
* parse work attributes
* added various methods to retrieve data from the Cover Art Archive
* added support for pregap tracks
* return 'offset-list' and 'offset-count' for get_releases_by_discid()
* added support for search and browse of events
* added support for 'data-track-list' elements
* added support for get and search instruments
* added support to read all collection types
* added support for search and browse of places
* allow single strings to be used as includes for browse requests
* allow single strings to be used at tag submission
* added support for browse artist by work and work by artist
* added support for 'track-count' elements in 'medium-list's returned by search
* added support to read xml attributes in 'attribute-list' elements
ver 0.20.6 (2017/03/10)
* input
- curl: fix headers after HTTP redirect to Shoutcast server
* decoder
- ffmpeg: re-enable as fallback
- mpcdec: fix crash (division by zero) after seeking
- sidplay: make compatible with libsidplayfp < 1.8
* fix stream tags after automatic song change
* workaround for GCC 4.9.4 / libstdc++ bug (build failure)
libopenmpt 0.2-beta22 (2017-03-11)
[Bug] Possible NULL-pointer dereference read during obscure out-of-memory situations while handling exceptions in the C API.
[Bug] libmodplug: libmodplug.pc was wrong.
[Bug] Cross-compiling libopenmpt with autotools for Windows now properly sets -municode and -mconsole as well as all required Windows system libraries.
[Bug] Excessive loading times with malformed ITP / truncated AMS files.
[Bug] libopenmpt on Windows did not properly guard against current working directory DLL injection attacks.
[Change] The Makefile and Autotools build system got new options USE_DLOPEN and --enable-dlopen respectively which are required to be set in order to load 3rd-party libraries dynamically. Additionally, the defaults for detecting libdl and libltdl now also default to off with autotools. This change has been made in order to make the default configuration as secure as possible. Both build systems default to dependencies that facilitate native MO3 decoding internally anyway, thus there is actually no practical disadvantage with the new default settings at all.
[Change] Un4seen unmo3 support is now completely disabled by default in all configurations and build systems.
[Regression] In order to securely load libmpg123, the Windows binary packages only support the precise libmpg123 binary that is downloaded by the download_mpg123.vbs script. Other binaries might also work, but this has neither been tested nor is officially supported from now on.
Autotools build system now has options --disable-openmpt123, --disable-tests and --disable-examples which may be desireable when cross-compiling.
Windows binary packages now include a script download_mpg123.vbs which downloads libmpg123 and copies it to the appropriate directories relative to the uncompressed binary archive.
Do not set note volume to 0 on out-of-range offset in XM files.
Better import of some slide commands in SFX files.
Sample 15 in "Crew Generation" by Necros requires short loops at the beginning of the sample to not be ignored. Since we need to ignore them in some (non-ProTracker) modules, we heuristically disable the old loop sanitization behaviour based on the module channel count.
Both normal and percentage offset in PLM files were handled as percentage offset.
seek.sync_samples=1 did not apply PTM reverse offset effect and the volume slide part of combined volume slide + vibrato commands.
libopenmpt 0.2-beta21 (skipped)
Version 0.2-beta21 has been skipped in order to avoid confusion with libtool version of libopenmpt 0.3.0-pre.0 and 0.3.0-pre.1 development versions.
Changelog between 1.1.2 and 1.1.3 releases
alsa-lib
Core
Release v1.1.3
conf/ucm: skylake: add skylake-rt286 conf files
conf: bxtrt298: Add topology conf file for bxt
conf: sklrt286: Remove tool to generate private data blobs
ucm: Add ucm files for DB410c board.
Control API
ctl: correct documentation about TLV feature
ctl: improve documentation about TLV-related APIs
ctl: improve API documentation for TLV operation
Mixer API
mixer: Fix rounding mode documentation
PCM API
pcm: fix get_stop_threshold alsa-lib 0.9 alias
pcm: file: update linked hw_ptr and appl_ptr
pcm_rate: Do not discard slave reported delay in status result.
pcm: fix wrong document references to PCM APIs which perform direct memory access with frame copying
pcm: dmix: Do not discard slave reported delay in status result
pcm: Add the PCM state checks to plugins
Revert "pcm: file: Add htimestamp operation in plugin file"
pcm: file: Add htimestamp operation in plugin file
pcm: dshare: Fix endless playback of buffer
pcm: direct: Protect from freeing semaphore when already in use
pcm_dshare: Do not discard slave reported delay in status result.
pcm_plug: Clear plugins on all error conditions
pcm: Better understandable locking code
pcm: Fix shm initialization race-condition
Topology API
topology: fix unused-variable warnings introduced to build_link()
topology: Store number of strings of a text section
topology: Merge private data before embedded controls of a widget
topology: Revise document and comments for ABI v5
topology: Export physical DAIs to the binary for kernel
topology: Support configuring physical DAIs by C API
topology: Parse physical DAIs in text conf file
topology: Remove BE or CC in comments of physical links C API template
topology: Parse name and stream name of physical DAI links
topology: Parse and build private data of physical links
topology: Parse link flags of physical DAI links
topology: Parse HW configurations of physical DAI links in text conf file
topology: Parse HW configurations of physical DAI links defined by C API
topology: Define new type and section name to configure physical links
topology: Rename varaibles for add physical links by C API
topology: Define a function to build a single physical DAI link
topology: Merge an element's be & cc pointer to one link pointer
topology: Use snd_config_get_bool to simplify boolean flag parsing
topology: tplg_elem_lookup() checks parameter before searching
topology: Parse and build private data for PCM
topology: Define a function to build a single PCM element
topology: Parse flags for PCM
topology: Parse sig_bits of stream caps
topology: Add doc for including other files in the text conf file
topology: Fix missing stream name of widgets in text conf file
Use Case Manager API
ucm: Execute sequence of component devices
ucm: Parse sequence of component devices
ucm: Skip component directories when scanning sound card configuration files
ucm: docs: typeset lists of identifiers explicitly
ucm: fix crash when calling snd_use_case_geti() with no device or modifier
Configuration
conf: don't install smixer.conf when python is not available
topology: Update physical link configurations in Broadwell text conf file
conf: Search included files under user specified configuration directories
conf/ucm: skylake: add skylake-rt286 conf files
conf: bxtrt298: Add topology conf file for bxt
conf: sklrt286: Remove tool to generate private data blobs
conf: sklrt286: define module private data through tuples in skylake
ucm: Add ucm files for DB410c board.
Kernel Headers
topology: ABI - Add voice wake up flag for DAI links
topology: ABI - Define new types for physical DAI
topology: ABI - Update manifest and pump ABI version to 5
topology: ABI - Update physical DAI link configurations to ABI v5
topology: ABI - Define DAI physical PCM data formats
topology: ABI - Update stream caps and PCM objects to ABI v5
Update include/sound/tlv.h from 4.9-pre kernel uapi
Simple Abstraction Mixer Modules
mixer: Don't install smixer modules unless python is enabled
Test/Example code
test: use actual information for TLV operation
Changelog between 1.1.1 and 1.1.2 releases
alsa-lib
Core
Release v1.1.2
pcm: Remove home brew atomic operations
pcm: Add thread-safety to PCM API
conf/ucm: chtrt5645: Add UCM config for chtrt5645
conf/ucm: ROCKCHIP-I2S: rename to VEYRON-I2S
conf/ucm: ROCKCHIP-I2S: add Rockchip I2S UCM config.
conf: topology: Generate Private data binary blobs
conf: topology: Add Skylake i2s conf
Config API
conf: Add thread-safe global tree reference
Control API
ctl: use condition statements instead of assert() for new APIs to add an element set
ctl: rename APIs to add an element set so that their names are appropriate
ctl: add compatibility information for snd_ctl_elem_info_set_dimension()
hctl: remove assertion from element event handler because removal event overwrites all of queued events
ctl: improve documentation of APIs to add an element set
ctl: add dimension validator
ctl: add an API to set dimension levels to element information
ctl: support extra information to user-defined element set
ctl: use consistent name for second argument of snd_ctl_elem_read/write
ctl: use automatic variable instead of call of alloca(3)
ctl: fix returning zero for dimension level 4
ctl: improve API documentation for threshold level operations
ctl: add explanation about threshold level feature
ctl: change former APIs as wrapper functions of element set APIs
ctl: improve comments for API to add an element of IEC958 type
ctl: add functions to add an element set
ctl: improve comments for handling element data
ctl: add an overview for design of ALSA control interface
conf: Add thread-safe global tree reference
namehint: Don't enumerate as duplex if only a single direction is defined
HWDEP API
conf: Add thread-safe global tree reference
Mixer API
mixer: remove alloca() from simple_event_add()
mixer: change code formatting for simple_event_add()
mixer: remove alloca() from simple_add1()
mixer: change code formatting for simple_add1()
mixer: remove alloca() from set_enum_item_ops()
mixer: remove alloca() from get_enum_item_ops()
mixer: remove alloca() from enum_item_name_ops()
mixer: remove alloca() from init_db_range()
mixer: change code formatting for init_db_range()
mixer: remove alloca() from selem_write_main()
mixer: change code formatting for selem_write_main()
mixer: remove alloca() from elem_write_route()
mixer: change code formatting for elem_write_route()
mixer: remove alloca() from elem_write_enum()
mixer: change code formatting for elem_write_enum()
mixer: remove alloca() from elem_write_switch_constant()
mixer: remove alloca() from elem_write_switch()
mixer: change code formatting for elem_write_switch()
mixer: remove alloca() from elem_write_volume()
mixer: change code formatting for elem_write_volume()
mixer: remove alloca() from selem_read()
mixer: change code formatting for selem_read()
mixer: remove alloca() from elem_read_enum()
mixer: change code formatting for elem_read_enum()
mixer: remove alloca() from elem_read_route()
mixer: change code formatting for elem_read_route()
mixer: remove alloca() from elem_read_volume()
mixer: change code formatting for elem_read_volume()
mixer: include library local header to find layout of structures
PCM API
ctl: rename APIs to add an element set so that their names are appropriate
pcm: remove alloca() from _snd_pcm_softvol_open()
pcm: change code formatting for _snd_pcm_softvol_open()
pcm: remove alloca() from softvol_load_control()
pcm: change code formatting for softvol_load_control()
pcm: remove alloca() from snd_spcm_init_duplex()
pcm: remove alloca() from snd_spcm_init()
pcm: remove alloca() from snd_pcm_hw_set_chmap()
pcm: remove alloca() from snd_pcm_hw_get_chmap()
pcm: remove alloca() from snd_pcm_query_chmaps_from_hw()
pcm: remove alloca() from snd_pcm_hw_change_timer()
pcm: change code formatting for snd_pcm_hw_change_timer()
pcm: remove alloca() from _snd_pcm_hook_ctl_elems_install()
pcm: remove alloca() from snd_pcm_direct_set_timer_params
pcm: change code formatting for snd_pcm_direct_set_timer_params()
pcm: remove alloca() from snd_pcm_direct_initialize_poll_fd()
pcm: change code formatting for snd_pcm_direct_initialize_poll_fd()
pcm: remove alloca() from snd_pcm_direct_initialize_slave
pcm: change code formatting for snd_pcm_direct_initialize_slave()
pcm: remove alloca() from snd_pcm_get_params
pcm: change code formatting for snd_pcm_get_params()
pcm: remove alloca() from snd_pcm_set_params()
pcm: change code formatting for snd_pcm_set_params()
pcm: fix return value of snd_pcm_ioplug_sw_params()
pcm: fix missing return value of snd_pcm_status()
pcm: Add LIBASOUND_THREAD_SAFE env variable check
pcm: Remove home brew atomic operations
pcm: Add thread-safety to PCM API
pcm: add 'default' case for switch statement
pcm: set error code at failure path
pcm: Remove superfluous rmb() from PCM meter plugin
ctl: support extra information to user-defined element set
pcm: use new APIs to add a control element set for softvol plugin
pcm: dmix: Return error when slave is in OPEN or DISCONNECTED
pcm: dmix: Prepare slave when it's in SETUP, too
pcm: dmix: resume workaround for buggy driver
pcm: Fix secondary retry in dsnoop and dshare
pcm: Remove resume support from dmix & co
conf: Add thread-safe global tree reference
pcm: dmix: Fix doubly resume of slave PCM
pcm: Fix suspend/resume regression with dmix & co
pcm: softvol: fix conversion of TLVs min_db and max_dB value
pcm: Fallback open as the first instance for dmix & co
pcm: Clean up error paths in snd_pcm_plugin_*() helpers
pcm_plugin: fix appl pointer not correct when mmap_commit() return error
RawMidi API
conf: Add thread-safe global tree reference
Topology API
topology: Fix the missing referenced elem ptr when merging private data
topology: Fix inaccurate message on failure to find a widgets's reference
topology: Check address and length before string copy
topology: Add ATTRIBUTE_UNUSED for unused parameters to fix compiler warning
topology: Remove support for control flag SNDRV_CTL_ELEM_ACCESS_USER
topology: Tuple type can have an extenstion
topology: Parse vendor private data for manifest
topology: Change uuid value to 16 separate characters in text conf file
topology: Merge lookup for data reference into tplg_copy_data()
topology: An element can refer to multipe data sections in text conf file
topology: initialize variable for error output
topology: apply the same type to compared two variables
topology: remove unused variable in get_tokens()
topology: remove unused variable in tplg_parse_fe_dai()
topology: Parse front-end DAI name and ID for the PCM
topology: Fix pcm ID & name parsing
topology: Use generic pointer to realloc buffer for private data
topology: Refactor functions to parse and build streams
topology: Set manifest size for ABI
topology: Build data objects with tuples
topology: Add support for parsing vendor tuples
topology: Add support for vendor tokens
topology: Add doc for vendor tuples
topology: Define a free handler for the element
topology: Use the generic pointer to free an element's object
Use Case Manager API
ucm: add cset-tlv
/include/Makefile.am
pcm: Remove home brew atomic operations
ALSA Lisp
alisp: remove alloca() from FA_pcm_info()
alisp: remove alloca() from FA_hctl_elem_write()
alisp: remo: remove alloca() from FA_card_info()
Async helpers
async: Handle previously installed signal handler
Configuration
Makefile: fix sklrt286 dist files
conf: remove alloca() from snd_func_private_pcm_subdevice()
conf: remove alloca()y_class()
conf: remove alloca() from snd_func_pcm_id()
conf: remove alloca() from snd_func_card_name()
conf: remove alloca() from snd_func_card_id()
conf: remove alloca() from snd_determine_driver()
conf/ucm: chtrt5645: Add UCM cote PCM configurations in Broadwell text conf file
conf: topology: Generate Private data binary blobs
conf: topology: Add Skylake i2s conf
Documentation
pcm: Add thread-safety to PCM API
doxygen: Suppress timestamp
INSTALL: updat
topology: ABI - Define types for vendor tuples
Simple Abstraction Mixer Modules
mixer: remove assignment to unused variable
Test/Example code
ctl: rename APIs to add an element set so that their names are appropriate
test: add linkpport dimension test for user-defined element set
ctl: optimize a test for user-defined element set to changes of APIs
ctl: optimize a test for user-defined element set to older kernels
ctl: add test program for control element set
All Platforms
- Add new version number API (see above)
- Updated version number to 19.6.0 (due to extension added to WASAPI
host-API specific)
- pa_process: Fix output channel adaption by not skipping the conversion
when the host and user number-of-channels are not equal.
Leif Asbrink. c0c0cb1414
- Fixed bug that would result in open streams not being closed when
Pa_Terminate() is called
- C++ binding: make operator == and != const.
- Moved repository to Git
Various documentation improvements, including:
- Update docs for building on Linux
- Clarified safety of operations in callback
- Document API Version Availability (e.g. `Available as of 19.5.0`)
Build Systems
- CMake support for Unix platforms
- Fix PA_LIBRARY_DEPENDENCIES problem with CMake/WMME.
Linux
- pa_linux_alsa: fix hang in callback caused by abort.
Mac
- Update configure files for Mac OS X El Capitan, 10.11 SDK
pa_mac_core_blocking: fix hang when running stream stopped (add
timeout).
- pa_mac_core: Fix assert when reading or writing with non-power of 2
channels. Now Scarlett 6i6 works.
- pa_mac_core: stop stream instead of asserting (crashing) under certain
conditions, e.g. when device is unplugged.
- pa_mac_core: fixed copy-pasto: last host error was being associated
with paInDevelopment host api not paCoreAudio
- pa_mac_core: Fix for truncated device names e.g. 'Built-in
Microph'
libopenmpt 0.2-beta20.5 (2017-02-05)
[Bug] libmodplug: C++ API did not build with MSVC2008 in 0.2-beta20.4.
libopenmpt 0.2-beta20.4 (2017-02-05, not released)
[Bug] Possible hangs with malformed files containing cyclic plugin routings.
libmodplug: Added all missing C++ API symbols that are accessable via the public libmodplug header file.
Channel frequency could wrap around after some excessive portamento / down in some formats since libopenmpt 0.2-beta17.
Playback improvements for S3M files made with Impulse Tracker and Schism Tracker.
0.7.10 - 12.10.2016 (Hollow)
Bug Fixes:
[issue 97] - Missing import
[issue 105] - Fix the rendering of default constructed id3.TagHeader
Fixed Tag.frameiter
0.7.9 - 11.27.2015 (Collapse/Failure)
New Features:
process files and directories in a sorted fashion. <Hans-Peter Jansen>
display the ellipsis file name and path, and the file size right justified in printHeader. <Hans-Peter Jansen>
stating to be unable to find a valid mp3 frame without a hint, where this happened is rather unfortunate. I noticed this from using eyed3.load() calls. <Hans-Peter Jansen>
[fixup plugin] - Better compilation support.
Bug Fixes:
Fixed missing ‘math’ import.
[issue 81] - Replaced invalid Unicode.
[issue 91] - Disabled ANSI codes on Windows
[issue 92] - More friendly logging (as a module)
0.7.8 - 05.25.2015 (Chartsengrafs)
New Features:
[pymod plugin] – A more procedural plugin interface with modules.
[art plugin] – Extract tag art to image files, or add images to tags.
eyed3.utils.art - High level tag art API
eyed3.id3.frames.ImageFrame.makeFileName produces the file extension .jpg instead of .jpeg for JPEG mime-types.
Added eyed3.utils.makeUniqueFileName for better reuse.
[statistics plugin] – Less score deduction for lower bit rates.
Split example plugins module into discrete plugin modules.
[fixup plugin] – Added –fix-case for applying title() to names
[fixup plugin] – Detects and optionally removes files determined to be cruft.
eyed3.id3.Tag – Added frameiter method for iterating over tag frames.
Added optional preserve_file_time argument to eyed3.id3.Tag.remove.
Removed python-magic dependency, it not longer offers any value (AFAICT).
Bug Fixes:
[issue 50] Crashing on –remove-frame PRIV
[issue 75] Parse lameinfo even if crc16 is not correct
[issue 77] Typo in docs/installation.rst
[issue 79] Request to update the GPL License in source files
Fixes to eyed3.id3.tag.TagTemplate when expanding empty dates.
eyed3.plugins.Plugin.handleDone return code is not actually used.
[classic plugin] – Fixed ID3v1 –verbose bug.
[fixup plugin] – Better date handling, album type, and many bug fixes.
0.7.6 / 0.7.7 - Skipped
ver 0.20.4 (2017/02/01)
* input
- nfs: fix freeze after reconnect
* output
- sndio: work around a libroar C++ incompatibility
* workaround for GCC 4.9 "constexpr" bug
* fix FreeBSD build failure
ver 0.20.3 (2017/01/25)
* protocol
- "playlistadd" creates new playlist if it does not exist, as documented
* database
- proxy: fix error "terminate called after throwing ..."
- proxy: make connect errors during startup non-fatal
* neighbor
- upnp: fix premature expiry
* replay gain: don't reset ReplayGain levels when unpausing playback
* silence surround channels when converting from stereo
* use shortcuts such as "dsd64" in log messages
--------------------------------
libdiscid-0.6.2:
- ISRC and MCN support on BSD
- LIB-60: fix make check for default device on generic/unknown platform
- make Doxygen output reproducible (no timestamps)
- remove newline for Linux device "1" from proc
added: all new command-line tagging utility (wvtag)
added: option to import ID3v2.3 tags from Sony DSF files
fixed: fuzz test failures from AFL reported on SourceForge
improved: DSD decimation filter (less HF rolloff & CPU use)
fixed: non-byte audio depths (12-bit, 20-bit) not showing
fixed: rare case of noise-shaping triggering a lossy mute
fixed: recognize UTF-8 BOM when reading text files
fixed: a few portability issues
This Opus 1.1.4 release fixes a single bug. A specially-crafted
Opus packet could cause an integer wrap-around in the SILK LSF
stabilization code. This would cause an out-of-bounds read 256
bytes before a constant table. In most circumstances, the consequences
are harmless and the result is simply noise in the audio.
This was reported as CVE-2017-0381. Contrary to that report, our
own analysis shows that no remote code execution is possible.
However, we are making this release as a precaution.
abcde 2.8.1.
* Fix silly error introduced in abcde-musicbrainz-tool when fixing bug
30. Thanks to Thomas Klausner for the bug/patch. Closes Issue 52:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=52
-- Steve McIntyre <93sam@debian.org> Wed, 18 Jan 2017 11:02:38 +0000
Changelog:
# PulseAudio 10.0 release notes
## Changes at a glance
* Automatically switch Bluetooth profile when using VoIP
applications
* New module for prioritizing passthrough streams
(module-allow-passthrough)
* Fixed hotplugging support for USB surround sound cards
* Separate volumes for Bluetooth A2DP and HSP profiles
* memfd-based shared memory mechanism enabled by default
* Removed module-xenpv-sink
* Dropped dependency to json-c
* When using systemd to start PulseAudio, pulseaudio.socket is
always started first
* Compatibility with OpenSSL 1.1.0
* Clarified qpaeq license
## Notes for end users
### Automatically switch Bluetooth profile when using VoIP applications
Bluetooth headsets typically support both the A2DP profile, which is
suitable for music, and the HSP profile, which is suitable for
telephony use cases. module-bluetooth-policy will now automatically
switch the profile of a Bluetooth headset from A2DP to HSP/HFP when an
application creates a recording stream with property media.role=phone
(telephony applications should set that property for their
streams). When the stream goes away, the profile gets restored back to
A2DP. This way the user doesn't have to manually switch the profiles
when starting and stopping a call. This behaviour can be disabled by
giving argument auto_switch=false to module-bluetooth-policy.
### New module for prioritizing passthrough streams (module-allow-passthrough)
Passthrough streams are streams whose content must go completely unaltered from the application to the sound card, and they are mainly used for playing back compressed audio through an S/PDIF connection. When a passthrough stream is playing to a device, no other streams can play at the same time to the same device, and if there's already something playing when a passthrough stream is created, the passthrough stream creation will normally fail. Now we have a new module, called module-allow-passthrough, which will give higher priority to passthrough streams, so that if there are other streams playing when a passthrough stream is created, those other streams will be moved out of the way to a dummy device.
### Fixed hotplugging support for USB surround sound cards
A long-standing bug that prevented PulseAudio from using any
hotplugged USB surround sound cards has been fixed.
### Separate volumes for Bluetooth A2DP and HSP profiles
The Bluetooth sink and source names are now different depending on
whether the active profile is A2DP or HSP. This allows PulseAudio to
store different volumes for A2DP and HSP. Due to different mechanisms
for implementing volume control between the profiles, trying to use
the same volume value in PulseAudio doesn't actually result in the
same perceived volume, so it's better not to try to use the same
volume.
As an unfortunate transition effect, volumes saved earlier with an
older PulseAudio version won't have effect in the new PulseAudio
version, so all Bluetooth devices will have their volume reset to the
default value when running the new PulseAudio version for the first
time.
This only affects BlueZ 5 users. The same change was done already
earlier for PulseAudio's BlueZ 4 code.
### memfd-based shared memory mechanism enabled by default
The memfd-based shared memory mechanism that was implemented in 9.0 is
now enabled by default. This shouldn't cause any user-visible changes
in behaviour, except if you're using the Firejail sandboxing software,
which doesn't work with PulseAudio's old shared memory mechanism.
If desired, the feature can still be disabled by setting "enable-memfd
= no" either in daemon.conf (for disabling it at the server side) or
in client.conf (for disabling it at the client side).
### Removed module-xenpv-sink
module-xenpv-sink was removed, because it's probably not used by
anyone. If you use it, please let us know.
## Notes for packagers
### Dropped dependency to json-c
libpulse previously used json-c internally, which forced applications
to link to json-c too. That caused crashing in some GLib applications,
because json-c and json-glib both use the same name for some
functions. To solve this, we implemented the necessary JSON
functionality directly in libpulse, so we don't depend on json-c any
more.
### When using systemd to start PulseAudio, pulseaudio.socket is always started first
The pulseaudio.service unit now depends on pulseaudio.socket, meaning
that before systemd starts PulseAudio, it will always first set up the
socket. This is done to avoid confusing behaviour in certain corner
cases (see the comments in pulseaudio.service for a more detailed
explanation).
### Compatibility with OpenSSL 1.1.0
OpenSSL, which is used by module-raop-sink, broke backwards
compatibility in the 1.1.0 release. PulseAudio now supports both 1.1.0
and older versions.
### Clarified qpaeq license
Most of PulseAudio is licensed under LGPL, but the "qpaeq" equalizer
GUI is licensed under AGPL. That hasn't previously been mentioned
anywhere else than in the qpaeq source code itself. Therefore,
distributions that tag their packages with license information have
likely used incorrect information. The license of qpaeq hasn't
changed, but the use of AGPL is now correctly noted in the top-level
LICENSE file.
MASTER_SITES= site1 \
site2
style continuation lines to be simple repeated
MASTER_SITES+= site1
MASTER_SITES+= site2
lines. As previewed on tech-pkg. With thanks to rillig for fixing pkglint
accordingly.
abcde 2.8
* Make fdkaac the default for m4a encoding. Faac can still be selected
for m4a encding via ~/.abcde.conf file but best not to :).
* Split user-definable mungefilename function into mungetrackname,
mungeartistname, and mungealbumname, each of which default to
mungefilename Thanks to Gerald Turner for the patch and enhancement
request. This closes Issue 39:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=39
* FAQs: Clarify the exit from multi-result CDDB search.
* Fix to allow multiple output formats when aac fallback is triggered.
Thanks to Birk Bremer for the bug report. This closes Issue 35:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=35
* Fix for some erroneous error and status logging. Thanks to Christian
Wasem for the bug report and fix. This closes Issue 32:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=32
* Add support for trying multiple CD lookup services in order. Thanks to
Gabriel Rosenkoetter for the patch. Closes Issue 42:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=42
* Add Recommends on glyrc and imagemagick in Debian packaging. Closes
Debian Bug #827626
* Fix up handling of the first few sectors when reading
from a whole-CD flac file or using cdparanoia in one-track
mode. Thanks to Matthias König for the patch. Closes Issue 44:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=44
* Tweak the fix in musicbrainz for handling sketchy returned data
some more. Hopefully closes Issue 30:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=30
* Re-enable some commented out cdparanoia/debug code in do_discid.
Closes Issue 14:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=14
* Add "-a" to lots of grep calls in case of "binary" looking data,
e.g. non-ascii text in track titles!
Closes Issue 24:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=24
* Add "-L" to default curl options, to follow redirects if needed
Closes Issue 40:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=40
Thanks to Gabriel Rosenkoetter for the patch.
* Switch default from "cddb" to "musicbrainz" for track lookup
Closes Debian Bug #842178
ver 0.20.2 (2017/01/15)
* input
- alsa: fix crash bug
- alsa: fix buffer overruns
* decoder
- flac: add options "probesize" and "analyzeduration"
* resampler
- libsamplerate: reset state after seeking
* output
- fix static noise after changing to a different audio format
- alsa: fix the DSD_U32 sample rate
- alsa: fix the DSD_U32 byte order
- alsa: support DSD_U16
- recorder: fix error "Failed to create : No such file or directory"
* playlist
- cue: fix skipping songs
ver 0.20.1 (2017/01/09)
* input
- curl: fix crash bug
- curl: fix freeze bug
* decoder
- wavpack: fix crash bug
* storage
- curl: new storage plugin for WebDAV (work in progress)
* mixer
- alsa: normalize displayed volume according to human perception
* fix crash with volume_normalization enabled
ver 0.20 (2017/01/04)
* protocol
- "commands" returns playlist commands only if playlist_directory configured
- "search"/"find" have a "window" parameter
- report song duration with milliseconds precision
- "sticker find" can match sticker values
- drop the "file:///" prefix for absolute file paths
- add range parameter to command "plchanges" and "plchangesposid"
- send verbose error message to client
* input
- curl: fix memory leak
* tags
- ape, ogg: drop support for non-standard tag "album artist"
affected filetypes: vorbis, flac, opus & all files with ape2 tags
(most importantly some mp3s)
- id3: remove the "id3v1_encoding" setting; by definition, all ID3v1 tags
are ISO-Latin-1
- ape: support APE replay gain on remote files
- read ID3 tags from NFS/SMB
* decoder
- improved error logging
- report I/O errors to clients
- ffmpeg: support ReplayGain and MixRamp
- ffmpeg: support stream tags
- gme: add option "accuracy"
- gme: provide the TRACK tag
- gme: faster scanning
- mad: reduce memory usage while scanning tags
- mpcdec: read the bit rate
- pcm: support audio/L16 (RFC 2586) and audio/x-mpd-float
- sidplay: faster scanning
- wavpack: large file support
- wavpack: support DSD (WavPack 5)
- wavpack: archive support
* playlist
- cue: don't skip pregap
- embcue: fix last track
- flac: new plugin which reads the "CUESHEET" metadata block
* output
- alsa: fix multi-channel order
- alsa: remove option "use_mmap"
- alsa: support DSD_U32
- alsa: disable DoP if it fails
- jack: reduce CPU usage
- pulse: set channel map to WAVE-EX
- recorder: record tags
- recorder: allow dynamic file names
- sndio: new output plugin
* mixer
- null: new plugin
* resampler
- new block "resampler" in configuration file
replacing the old "samplerate_converter" setting
- soxr: allow multi-threaded resampling
* player
- reset song priority on playback
- reduce xruns
* write database and state file atomically
* always write UTF-8 to the log file.
* remove dependency on GLib
* support libsystemd (instead of the older libsystemd-daemon)
* database
- proxy: add TCP keepalive option
* update
- apply .mpdignore matches to subdirectories
* switch the code base to C++14
- GCC 4.9 or clang 3.4 (or newer) recommended
- Updated upstream sources
- Fixed building with GCC 3.3 and 3.4
- Fixed building with GCC 6
- AArch64 optimizations
- Makefiles for building with MSVC
- Support building the code in C++11 mode
Tue Nov 1 20:16:59 CET 2016 Urs Fleisch <ufleisch@users.sourceforge.net>
* Release 3.4.3
* New:
+ The RIFF track field name is configurable (IPRT, ITRK, TRCK)
for better interoperability.
+ The RIFF chunk name for ID3v2 tags in WAV files is configurable
(ID3, id3) for better interoperability.
+ ID3v2 tags in WAV files can have version 2.3.0 or 2.4.0.
* Improved:
+ Support new classical music frames introduced with iTunes 12.5.
* Fixed:
+ Use the last sort order and column for the file list on startup.
+ Display expected ID3v2 version if no ID3v2 tag exists yet.
+ Tag 3 can be addressed in kid3-cli by number "3".
+ Support translated display frame names in kid3-cli.
+ Avoid crash when pictures in FLAC files are empty or too large.
Wed Aug 24 14:44:04 CEST 2016 Urs Fleisch <ufleisch@users.sourceforge.net>
* Release 3.4.2
* Fixed:
+ Embed Lyrics works again with makepersonal.co and
lyrics.wikia.com.
+ Do not add an empty frame when deleting a non existant frame
in kid3-cli.
+ Support setting multiple frames of the same type with
copy/paste.
+ Allow editing of quick access frames which are not yet present
in the file.
+ Reset shortcuts and appearance configuration when the defaults
are restored in the settings.
* Improved:
+ Do not show any disabled tag values in the Tag 1 section
for files which do not support an ID3v1 tag.
+ Set the file filter for the file list in the file settings,
not with the filter used in the open dialog.
+ Disable the global app menu on Ubuntu's Unity desktop.
Fri Jun 24 20:20:20 CEST 2016 Urs Fleisch <ufleisch@users.sourceforge.net>
* Release 3.4.1
* Fixed:
+ Avoid wrong marking of ID3v2 Date frames as modified.
+ Enable setting M4A, Vorbis date with ISO date/time also when no
tag exists.
+ Windows: Fix separators and relative file names in playlists.
+ Windows: Install missing SSL DLLs, needed for Discogs import.
+ Windows: Fix temporary file creation in id3lib.
Sat Apr 23 16:30:36 CEST 2016 Urs Fleisch <ufleisch@users.sourceforge.net>
* Release 3.4.0
* New:
+ Support more than two tags for MP3 files with ID3v1, ID3v2 and APE
tags, FLAC files with ID3v1, ID3v2 and Vorbis tags.
+ Support RIFF INFO tags in WAV files.
+ Filename to tag format can be defined as a regular expression with
captures.
+ Perl regular expressions with Qt 5.
* Improved:
+ Import from tags is also available from CLI, QML and D-Bus.
+ Help for editing synchronized lyrics.
+ Handle redirects when downloading.
* Fixed:
+ Windows: Saving files which are open in player, e.g. when editing
synchronized lyrics.
+ Windows: Timestamp preservation with non-ASCII file names.
+ KDE 5: Jumping to a specific help topic.
+ Enable setting ID3v2.4 date with ISO date/time also when no tag
exists.
+ Crash when writing to a FLAC file which cannot be opened.
Thu Mar 10 17:55:29 CET 2016 Urs Fleisch <ufleisch@users.sourceforge.net>
* Release 3.3.2
* New:
+ Setting for text encoding used in playlists and exports.
* Improved:
+ Support removing tags in MPC, WavPack with TagLib 1.11.
* Fixed:
+ Windows: Fix plugin name in qmldir.
+ Windows: Crash when adding large pictures to Ogg files.
+ Windows: Go back to older Qt 5.4.2 to avoid random crashes.
+ Stripping of ID3v2 tags from WAV files with TagLib 1.11.
+ Adapted to Discogs server update.
Thu Dec 17 14:53:06 CET 2015 Urs Fleisch <ufleisch@users.sourceforge.net>
* Release 3.3.1
* New:
+ Package for Android.
+ Support setting of data in GEOB frames from CLI and scripts.
+ Icons for high pixel density displays.
* Improved:
+ Trim values from tags in format strings to avoid whitespace when
setting file names from tags.
+ Updated Czech translation.
* Fixed:
+ List picture in get command of kid3-cli also if its description
is empty.
+ Set configured text encoding in picture frames.
+ Make file renaming work when saving non writable files.
+ Use high resolution icon in task switcher.
+ Avoid cropping in picture preview window on high pixel density
displays.
General:
* Fix undefined behaviour using GCC/Clang UBSAN (erikd).
* General hardening via fuzz testing with AFL (erikd and others).
* General code improvements (lvqcl, erikd and others).
* Add FLAC in MP4 specification docs (Ralph Giles).
* MSVS build cleanups (lvqcl).
* Fix some cppcheck warnings (erikd).
* Assume all currently used OSes support SSE2.
flac:
* Fix potential infinite loop on flac-to-flac conversion (erikd).
* Add WAVEFORMATEXTENSIBLE to WAV (as needed) when decoding (lvqcl).
* Only write vorbis-comments if they are non-empty.
* Error out if decoding RAW with bits != (8|16|24).
metaflac:
* Add --scan-replay-gain option.
build system:
* Fixes for MSVC and Makefile.lite build systems.
libraries:
* CPU detection cleanup and fixes (Julian Calaby, erikd and lvqcl).
* Fix two stream decoder bugs (Max Kellermann).
* Fix a NULL dereference bug (on a malformed file).
* Changed the LPC order guess for a slight compression improvement, particularly for classical music (Martijn van Beurden).
* Improved encoding speed on older Intel CPUs.
* Fixed a seeking bug when decoding certain files (Miroslav Lichvar).
* Put an upper bound (32768) on the number of seek points.
* Fix potential memory leaks.
* Support 64bit brword/bwword allowing FLAC__BYTES_PER_WORD to be set to 8 (disabled by default).
* Fix an out-of-bounds heap read.
* Win32: Only use large buffers when writing to disk.
Version 1.4.1 -- December 12, 2016
==================================
- Restored the -v/-version parameter for fpcalc that got accidentally removed in 1.4.
- Fixed processing of some short audio files. They were ignored in 1.4.
- The DURATION field in the default output of fpcalc is now printed as an integer again.
- Added missing version number to libchromaprint.pc.
- Mac OS X fpcalc builds are done with clang/libc++ and should work on 10.7+.
- Linux fpcalc builds are now fully static.
isn't actually a cstatic. switch to just defining it in the accessor.
GCC optimized this UB away leading to an undefined reference in the builds.
Also use a function which is right for int32 too (same as upstream)
Thanks joerg for the help
Many of these definitely do not depend on readline.
So there must be a different underlying problem, and that
should be tracked down instead of papering over it.
Switch to ffmpeg3.
Version 1.4 -- December 3, 2016
===============================
- Fully streaming audio processing without any post-processing step for the fingerprint generation.
- Many performance optimizations. Especially when processing long streams, operations should be faster and use less memory.
- C++11 compiler is now required for building the library.
- The public C API now uses standard fixed-size int types from stdint.h (breaks backwards compatibility).
- All code written for the library is now distributed under the MIT license.
- Kiss FFT is now included with the library and automatically used if no other FFT library is found.
- Added support for using the FFTW3F version of FFTW3.
- Boost is no longer used.
added: multiple input formats, including RF64, Wave64, and CAF
added: lossless DSD audio in Philips DSDIFF and Sony DSF files
fixed: seeking in > 2GB WavPack files (new stream reader)
fixed: accept > 4GB source audio files (all formats)
improved: increase maximum samples from 2^32 to 2^40
added: block checksums for robustness to corruption
added: support for non-standard channel identities
removed: support for legacy WavPack files (< 4.0)
added: block decoder for streaming applications
fixed: many small fixes and improvements
added: all new pdf documentation
Solves:
/usr/libexec/binutils225/elf/ld.gold: error: cannot find -lreadline
The missing specification is obvious on DragonFly because there's
no publically accessible version of readline in base.
PulseAudio builds on DragonFly but doesn't function correctly (one
core spins at 100% and sound still doesn't work. PA has been banished
from DPorts, so follow suit here.
2016-11-01 the hydrogen team <hydrogen-devel@lists.sourceforge.net>
* Release 0.9.7
* The color of the SongEditors squares is now configurable
* Added support for midi cymbal choking
* Added support for midi hihat pressure control
* Added hihat pressure groups
* Added basic non session manager support
* Added instrument components
* Basic lilypond export
* New windows cross compilation script
* Support for soundlibrary images
* Configurable sample selection algorithm
* Support for soundlibraries with images
* Donation dialog
* New midi action:
* SELECT_PREV_PATTERN_RELATIVE
libopenmpt 0.2-beta20.3 (2016-11-20)
[Bug] Possible crashes with malformed ITP and MED files.
Pattern loops ending on the last row a pattern were not executed correctly in S3M files.
Playback fixes for 8-channel MED files
Tremolo on quiet notes was broken in 0.2-beta20.2.
Snd 16.9:
Anders Vinjar provided tankrev.scm
Tito Latini fixed a bug in clm's tap generator (discovered by AV).
Snd: removed snd13.scm
s7: make-keyword -> string->keyword
checked: FC 25, gtk 3.21.6 3.22.0|1, sbcl 1.3.10
in gtk 3.22.0, the basic display mechanism changed again(!) so
(at least today) the window-manager close decoration is messed up,
and I probably missed other troubles -- please let me know
as you encounter them.
Thanks!: Anders Vinjar, IOhannes m zmölnig, Tito Latini.
Changes:
The license of glyr changed from GPLv3 to LGPLv3 (See also #82).
Additionally the lyricswiki provider was fixed (thanks @bugdone)
and quite some typos were fixed (thanks @emillon).
There are more broken providers, but sadly I lack the time/motivation to
maintain glyr on a regular base.
Therefore I would happily pass the development of glyr to a new maintainer.
Please mail me if you are interested.
- Fixed windows builds when UNICODE is defined. (Thanks S. Michel).
libmikmod v3.3.9:
- Amiga, AHI driver: Fixed a crash upon driver shutdown.
- Amiga: Updates. Added standalone makefiles with cross-build support.
- RAW file writer: Changed to use ansi stdio functions instead of
posix unistd, for better portability.
- Playercode: Allocate the right channel reverb buffers only if the
mixer is setup for stereo mode. (Helps with ports to memory-tight
platforms. Patch from Andrew Rossignol.)
- Fixed access to uninitialized memory in the simpleplayMEM example
program.
- Added a configuration option to exclude the hqmixer (off by default.)
- Using locale-insensitive ctype.h and casecmp functions in library.
- Configury: New --disable-alldrv option to disable all of the audio
output drivers. If additional --enable-xxx options are given, the
specified drivers will be enabled.
Avoids failure to notice clang (and use tls workaround) when
PKGSRC_COMPILER is "ccache clang" or similar. Resolves build failure;
binary should be unchanged if it built before.
TagLib 1.11.1 (Oct 24, 2016)
============================
* Fixed binary incompatible change in TagLib::String.
* Fixed reading ID3v2 CTOC frames with a lot of entries.
* Fixed seeking ByteVectorStream from the end.
From the 6.0 release notes (https://freedesktop.org/wiki/Software/PulseAudio/Notes/6.0/):
The libsamplerate based resamplers are now deprecated, because they
offer no particular advantage over speex. Packagers can drop the
dependency to libsamplerate, unless they specifically want to keep
enabling the libsamplerate based resamplers for some reason.
libopenmpt 0.2-beta20.2 (2016-10-22)
[Bug] The C API could crash instead of failing gracefully in out-of-memory situations.
[Bug] libopenmpt_stream_callbacks_fd.h and libopenmpt_stream_callbacks_file.h were missing in Windows development packages.
[Bug] Plugins did not work correctly when changing the sample rate between two render calls.
[Bug] Possible crashes with malformed IT, AMS, MDL, MED, MPTM, PSM and Startrekker files.
[Bug] Possible hangs with malformed DBM, MPTM and PSM files.
ParamEq plugin emulation didn't do anything at full gain (+15dB).
Avoid enabling some ProTracker-specific quirks for MOD files most likely created with ScreamTracker 3.
Tremolo effect only had half the intended strength in MOD files.
openmpt123: Improved section layout in man page.
to be illegal (and is on netbsd.) this fixes 100% cpu usage seen
while doing nothing at all. (it still writes nul to /dev/audio while
doing nothing, but that takes little cpu :)
"This release adds a new function ebur128_relative_threshold(), adds the
new channel definitions from ITU R-REC-BS 1770-4 to the channel enum, and
fixes some build issues."
Updated options to match supported ones, removing the guile one.
Many more options could be handled:
ruby, forth, alsa, oss, jack, pulseaudio, gmp, ladspa
but are not right now.
The default extension language is now s7 (a scheme), included.
Snd 16.8.
cmn: Michael Edwards got cmn to work in ECL.
s7: object->let
changed ->byte-vector to string->byte-vector
let-temporarily is now built-in
checked: sbcl 1.3.8|9, gtk 3.21.5
Thanks!: Michael Edwards.Snd change log
6-Sep: Snd 16.8.
28-Jul: Snd 16.7.
14-Jun: Snd 16.6.
30-May: snd-lint.scm, symbol takes any number of args.
6-May: Snd 16.5.
29-Mar: --with-webserver configuration (Kjetil Matheussen)
28-Mar: Snd 16.4.
18-Mar: s7webserver directory (Kjetil Matheussen)
20-Feb: Snd 16.3.
11-Jan-16: Snd 16.2.
2015 ----------------------------------------------------------------
30-Nov: Snd 16.1.
19-Oct: Snd 16.0.
11-Sep: Snd 15.9.
1-Aug: Snd 15.8.
15-Jun: Snd 15.7.
11-May: Snd 15.6.
3-Apr: Snd 15.5.
20-Mar: changed the no-gui repl to use repl.scm in the s7 case.
27-Feb: Snd 15.4.
25-Jan: Snd 15.3.
2015 ----------------------------------------------------------------
18-Dec: Snd 15.2.
5-Nov: moved all the motif stuff (xm.c, snd-motif.scm etc) to the *motif* environment,
OpenGL (gl.c, snd-gl.scm) to *gl*, and gtk (xg.c, snd-gtk.scm etc) to *gtk*.
4-Nov: Snd 15.1.
25-Sep: Snd 15.0.
17-Sep: moved snd-x*.c to snd-motif.c
18-Aug: Snd 14.9.
9-July: Snd 14.8.
31-May: Snd 14.7.
23-Apr: Snd 14.6.
18-Mar: Snd 14.5.
12-Feb: Snd 14.4.
4-Jan: Snd 14.3.
2014 ----------------------------------------------------------------
22-Nov: Snd 14.2.
15-Oct: Snd 14.1.
11-Oct: removed frame.scm and mixer.scm: frames and mixers are obsolete in the scheme version of Snd.
11-Sep: Snd 14.0. Homogenous vectors, write readably, libc.scm, libgsl.scm.
5-Sep: removed kmenu.scm and oscope.scm.
9-Aug: write.scm, removed pretty-print.scm.
3-Aug: Snd 13.9.
17-Jul: many changes to the configure script, added tools/make-config-pc.rb.
30-Jun: Snd 13.8.
11-Jun: removed the view files dialog from the gtk version, including all the
related extension language functions, and view-files-select-hook.
25-May: Snd 13.7.
14-May: glistener.c/h (gtk listener).
22-Apr: Snd 13.6.
12-Mar: Snd 13.5.
4-Feb: Snd 13.4.
2013 ----------------------------------------------------------------
25-Dec: Snd 13.3.
30-Oct: Snd 13.2.
20-Sep: Snd 13.1.
8-Aug: Snd 13.0.
3-July: removed ptree-channel and max-virtual-ptrees, optimization, run.c.
(clm 5.0, sndlib 22.0).
26-Jun: Snd 12.12.
4-Jun: removed the --with-static-* configuration switches.
21-May: Snd 12.11.
11-May: all scheme-side hook code changed. removed print-hook.
1-May: removed mus-audio-describe, ESD audio support, audinfo.
12-Apr: Snd 12.10.
5-Mar: Snd 12.9.
Feb: s7: added random-state?, hash-table-iterator?, and morally-equal?
clm/cmn/snd/s7: removed snd1.html and snd-contents.html (these were
using Javascript for stuff that is now built into html), and
translated the rest of the html files to html5.
snd: removed the recorder, recorder-dialog, snd-g|xrec.c,
changed various menu names and added a view:with-grid menu
moved dialog buttons around at random,
removed save-macros and named keyboard macros,
added context-sensitive tooltips to the gtk version,
changed the gtk listener default font to Monospace 11,
the "minibuffer" is now a "statusbar". This means it is not
editable, so all the key sequences that used to prompt for
info are either undefined now, or use a dialog instead.
removed minibuffer-history-length, prompt-in-minibuffer, clear-minibuffer,
and report-in-minibuffer. Replaced the latter two with status-report.
removed sound-specific search-procedures (i.e. there is only one search procedure)
removed the bomb function
2-Feb: Snd 12.8.
27-Jan: removed snd10.scm.
2012 ----------------------------------------------------------------
30-Dec: Snd 12.7.
8-Nov: Snd 12.6.
29-Sep: Snd 12.5.
19-Aug: Snd 12.4.
18-Aug: removed snd9.scm.
14-Jul: removed thread stuff.
11-Jul: Snd 12.3.
30-May: Snd 12.2.
24-Apr: Snd 12.1.
5-Apr: lint.scm.
25-Mar: show-full-range, info-popup-hook.
21-Mar: with-interrupts.
18-Mar: Snd 12.0.
18-Mar: removed time-graph-hook; replaced by combined-data-color.
10-Mar: space=play or pause, tracking-cursor stuff changed.
4-Mar: 'src' button in Save-as dialogs to do automatic sampling rate conversion.
1-Mar: delete-selection-and-smooth, delete-samples-and-smooth.
23-Feb: sync-style variable: sync-none, sync-all, or sync-by-sound (the new default).
Options:Controls menu item, and Edit:Unselect
show-selection and unselect-all.
show-full-duration, initial-beg, initial-dur, ask-about-unsaved-edits.
with-toolbar, with-tooltips, remember-sound-state, with-smpte-label.
new built-in toolbars, removed toolbar.scm and panic.scm.
removed Snd.gtkrc, Snd.ad, and the totally obsolete X resources stuff.
The built-in popup menus are now context sensitive, and the files popup.scm
and gtk-popup.scm have been removed.
with-menu-icons (Gtk only).
play-arrow-size
12-Feb: Snd 11.13.
7-Jan: Snd 11.12.
2011 ----------------------------------------------------------------
29-Nov: Snd 11.11.
5-Nov: add|delete-watchers removed, replaced by effects-hook.
25-Oct: Snd 11.10.
22-Sep: def-clm-struct is now just a synonym for defgenerator.
19-Sep: removed snd7.scm and snd8.scm.
18-Sep: Snd 11.9.
19-Aug: removed the Gdk backend option; cairo is now the only choice.
12-Aug: Snd 11.8.
9-Aug: make-index.scm (replaces index.cl and indexer.scm).
30-Jul: removed *-button-color.
8-July: Snd 11.7.
12-Jun: removed window-property, window-property-changed-hook, send-mozilla.
removed snd-gxutils.c.
7-June: Snd 11.6.
27-May: removed snd6.scm. added binary-io.scm.
29-Apr: Snd 11.5.
7-Apr: autoload support via s7's *unbound-variable-hook*.
20-Mar: Snd 11.4.
27-Feb: the run macro's argument no longer has to be a thunk.
11-Feb: Snd 11.3.
9-Feb: removed NLS support (the po directory and so on).
8-Feb: moved sound|channel|mix|mark|edit-property to C.
23-Jan: The rest of the Guile-dependent files have been removed.
This includes pd-*, rt-*, and the --with-snd-as-pd-external
--with-hobbit, and --with-rt configuration switches.
5-Jan: Snd 11.2.
2010 ----------------------------------------------------------------
26-Dec: tools/sam.c.
21-Dec: moved focus-follows-mouse to C as with-pointer-focus.
removed def-optkey-fun and def-optkey-instrument (use define* and definstrument).
16-Dec: make-current-window-display (draw.scm) moved to C as with-inset-graph.
removed Guile support.
14-Dec: peak-env support moved to C, added peak-env-dir, removed peak-env.*,
peak-env-info, read-peak-env-info-file, and write-peak-env-info-file.
11-Dec: removed midi.c and Alsa < 1.0 support.
7-Dec: removed SGI support.
4-Dec: portaudio support.
1-Dec: removed --with-modules configuration switch.
30-Nov: Snd 11.1.
23-Nov: colormaps are objects now. integer->colormap, colormap->integer.
transforms are also objects. integer->transform, transform->integer.
20-Nov: play is generic now, "old-play" is the previous form.
6-Nov: removed all support for gtkglext.
2-Nov: selection function/object. selection->mix.
28-Oct: pretty-print.scm.
22-Oct: Snd 11.0.
16-Oct: clm.rb and grani.rb (thanks to Mike Scholz).
12-Oct: generic length, srate, channels, frames, file-name, sync, maxamp.
7-Oct: removed run-safety; the run macro only works in s7.
6-Oct: removed *snd-loaded-files* and *snd-remember-paths*.
removed tools/sed-href, tools/lines.scm, and tools/check-gtk.scm.
29-Sep: mixes are objects (not ints), integer->mix and mix->integer.
all "sample-reader" and "sample_reader" names changed to "sampler".
marks are objects (not ints), integer->mark and mark->integer.
regions are objects, integer->region, region->integer.
several region functions now take the region argument first:
insert-region, make-region-sampler, mix-region, region-sample,
region->vct, region->frame, make-region-frame-reader.
sounds are objects, but integers are still ok, integer->sound and sound->integer.
players are objects.
removed export-all.scm, snd4.scm, snd5.scm.
17-Sep: Snd 10.9.
10-Sep: removed show-backtrace. default optimization is 6.
9-Aug: Snd 10.8.
6-Jul: Snd 10.7.
2-Jul: default audio in Linux is now ALSA.
28-May: Snd 10.6.
17-Apr: Snd 10.5.
26-Feb: Snd 10.4.
30-Jan: big-gens.scm (scheme-only versions of the built-in generators).
15-Jan: Snd 10.3.
8-Jan: multiprecision math support for all scheme (s7) numeric
types and functions via gmp, mpfr, and mpc. In configure,
use --with-gmp.
2009 ----------------------------------------------------------------
29-Dec: jcvoi.scm.
11-Dec: snd10.scm for sum-of-sines and friends.
28-Nov: Snd 10.2.
17-Nov: removed s7-optargs.scm -- define* is now built-in in s7.
11-Nov: removed s7-format.scm -- format is now built-in in s7.
4-Nov: moved snd-run.c to run.c (for sndlib).
29-Oct: osc.scm thanks to Kjetil.
16-Oct: removed Gauche support.
15-Oct: Snd 10.1.
3-Sep: Snd 10.0.
1-Sep: S7 extension language.
14-Jul: Snd 9.11.
7-July: with-threaded-channels.
30-Jun: flatten-partials.
27-Jun: axis-color.
20-Jun: time-graph-hook.
6-June: with-threaded-sound (ws.scm)
2-June: Snd 9.10.
30-May: peak-phases.scm.
20-May: rt-various.[ch], rt-coroutines.scm, rt-stalin.scm, rt-DotEmacs, and
many other changes thanks to Kjetil.
many const char* changes for g++ 4.3.0.
17-May: normalize-partials is now built-in.
12-May: expandn (clm-ins.scm) thanks to Michael Klingbeil.
10-May: merged green.scm into generators.scm.
5-May: music5 port: music5.f, music5-examples, old-music5.f
1.8.3
The third 1.8 bug-fix release (1.8.3) was released on 19 August 2016. This release only contains bugfixes and it should be safe to update from 1.8.x.
Major bugfixes in 1.8.3
Fix Android build scripts on OS X and Windows
Fix stepping in PAUSED state in certain circumstances
Fix jackaudiosink hang when exiting
Fix udpsrc receiving multicast packets not only from the selected multicast group
Fix unnecessary decoding of unselected streams in GES
Fix (multi)udpsink randomly not sending to clients
Fix ALL_BOTH probes not considering EVENT_FLUSH
Fix average input rate calculations in queue2
Fix various locking issues causing deadlock in adaptivedemux
Fix gst-libav encoders to correctly produce codec_data in caps
Add Wayland, Windows and Rasberry Pi support to the QML GL video sink
Add support for building with OpenH264 1.6
Add support for controlling deinterlacing in GES video sources
... and many, many more!
For a full list of bugfixes see Bugzilla. Note that this is not the full list of changes. For the full list of changes please refer to the GIT logs or ChangeLogs of the particular modules.
Known Issues
gst-rtsp-server does not take address pool configuration into account for sending unicast UDP. Bugzilla #766612
vp8enc crashes on 32 bit Windows, but was working fine in 1.6. 64 bit Windows is unaffected. Bugzilla #763663
libopenmpt 0.2-beta20.1
[Bug] The test suite could fail on MacOSX or FreeBSD in non-fatal ways when no locale was active.
[Bug] Possible crashes with malformed IT, MED, MPTM, PSM and Startrekker files.
'Makefile' has now explicit support for FreeBSD with no special option or configuration required.
of a header.
Default compiler setup in netbsd disables SSE, we cannot compile stuff
that uses it - but we do have the headers for it.
Allows us to get rid of SSE disabling for sunpro compiler, it should
fail the compile test as well.
Patch from FreeBSD (pointed out by John D. Baker)
Fixes PR pkg/51209: audio/lame build fails on i386-7.99.30
This is a major milestone release!
We worked hard over the years to improve WildMIDI by looking at
how it is used downstream and working with them to offload their
MIDI-related burdens and pushing them to WildMIDI. We've included
support for the following MIDI-like formats: HMI, HMP, KAR, MIDI
Type 2, MUS and XMI. We've expanded our API to help facilitate
error detection, logging and on-the-fly conversion from MIDI-likes
to MIDI without having to initialize the library first.
What's new in 0.4.0:
API change: The library now returns audio data in host-endian format, not little-endian.
API change: WildMidi_GetVersion() added to the api, along with new numeric version macros in the wildmidi_lib.h header. the dso version is changed from 1 to 2.
API change: All long or unsigned long type _WM_Info fields changed into strictly 32bit fields (int32_t or uint32_t.)
API change: WildMidi_OpenBuffer() and WildMidi_GetOutput() changed to accept strictly 32bit size parameters, i.e. uint32_t, instead of unsigned long.
API change: WildMidi_ConvertToMidi() and WildMidi_ConvertBufferToMidi() added for MIDI-like files to be converted to MIDI.
API change: WildMidi_SetCvtOption() added to support conversion options.
API change: WildMidi_SongSeek() added to support Type 2 MIDI files.
API change: WildMidi_GetLyric() added to support embedded text, such as KAR files.
API change: WildMidi_GetError() and WildMidi_ClearError() added to cleanly check for, retrieve and clear error messages. They no longer go to stderr.
Support for loading XMI (XMIDI format) files, thanks Ryan Nunn for releasing his code under the LGPL.
Support for loading MUS (MUS Id format) files, such as from Doom.
Support for loading HMP/HMI files, such as from Arena and Daggerfall.
Support for loading KAR (MIDI with Lyrics) and Type 2 MIDI files.
Build requires cmake-2.8.11 or newer now.
ver 0.19.19 (2016/08/23)
* decoder
- ffmpeg: bug fix for FFmpeg 3.1 support
- wildmidi: support libWildMidi 0.4
* output
- pulse: support 32 bit, 24 bit and floating point playback
* support non-x86 NetBSD
* fix clang 3.9 warnings
1.0.0
-----
- Development taken over by Peter Pentchev.
- Import a Debian patch by Stefan Ott <stefan@ott.net> to
avoid backquotes in the usage string.
- Import a Debian patch by Stefan Ott <stefan@ott.net> and
Peter Pentchev to let the compiler and linker flags be
overridden.
- Let the install program and the strip flag also be overridden.
- Check some more functions' return values for errors.
- Add some preprocessor and compiler flags to specify certain
POSIX and C environment standards.
- Reorder the #include statements.
- Also include <strings.h> for strncasecmp().
- Mark the list of genres in genre.h as "const char".
- Add a lot of GCC-specific compiler warning flags.
- Use the err(3) and warn(3) functions, they're portable enough.
- Mark several global variables as static.
- Break the display of the ID3 tags out into a separate function.
- Use "return" from main(), remove unreachable "break" statements.
- Avoid possible out-of-bound copying when storing command-line
arguments into the new tag structure.
- Expect a C99 compiler and reduce the scope of some variables.
- Use the C99 "bool" type for, well, boolean flags.
- Convert the id3.1 manual page to the mdoc format.
- Fix the fields length in the manual page - only the comment is
limited to 28 characters, the rest of the text fields are at 30.
- Use the more common "file..." instead of "file1 [file2 [file3...]]"
- Fill in some commonly-used manual page sections.
- Validate number-to-string conversions for the genre and track number.
- Fix a signedness error in the track number display.
libopenmpt 0.2-beta20 (2016-08-07)
[Bug] PSM loader was broken on big-endian platforms since forever.
[Bug] load.skip_samples ctl did not work for PSM16 modules.
There is a new "subsong" ctl, which can return the currently selected subsong.
More accurate ProTracker arpeggio wrap-around emulation.
More accurate sample tuning in PSM16 files.
Samples in DSM files were sometimes detuned and some pattern commands were not imported correctly.
More accurate import of MDL 7-bit panning command.
Only import pattern commands supported by the UltraTracker version that was used to save ULT files. Add support for command 5-C (end loop).
DMF sample loop lengths were off by one.
Unis 669 pan slide effect was too deep.
Several valid (but slightly corrupted possibly due to disk failures or data transfer errors) SoundTracker files were no longer loading since libopenmpt 0.2-beta18.
Changelog:
PulseAudio 9.0
Changes at a glance:
* Automatic routing improvements
* Beamforming and various other new features in the WebRTC echo canceller
* Various improvements in module-role-cork and module-role-ducking
* LFE remixing disabled by default
* memfd-backed shared memory transport
* Support for sample rates up to 384 kHz
* webrtc-audio-processing dependency minimum version bumped to 0.2
* Changed the C standard from C99 to C11.
Detailed change log:
http://www.freedesktop.org/wiki/Software/PulseAudio/Notes/9.0
Contributors
Ahmed S. Darwish
Alexander E. Patrakov
Arun Raghavan
Barun Kumar Singh
David Henningsson
Deepak Srivastava
Gabor Kelemen
Georg Chini
Jeremy Huddleston Sequoia
Jonathan Perkin
Juho Hämäläinen
Jungsup Lee
Kamil Rytarowski
Marcin Lewandowski
Milo Casagrande
Muhammet Kara
Nazar Mokrynskyi
Peter Meerwald
Piotr Drąg
Sachin Kumar Chauhan
Sangchul Lee
Tanu Kaskinen
YunQiang Su
Major new features:
- conditionals in format strings, with syntax %{?CONDITION?A[?B]}
- sndio output plugin (OpenBSD)
- VTX (libayemu) input plugin
- optional mouse support (:set mouse=true to enable)
Notable changes:
- lots of new formatting options:
- format_treewin
- format_treewin_artist
- format_trackwin_album
- format_statusline
- play count support (%X or %{play_count} in format strings)
- Bash completion support for cmus and cmus-remote
- support for CMUS_SOCKET environment variable
- format_print remote command
- pwd command
- auto_expand_albums option is split into
- auto_expand_albums_follow
- auto_expand_albums_search
- auto_expand_albums_selcur
libopenmpt 0.2-beta19 (2016-07-23)
[Change] libopenmpt now uses C++14 [[deprecated]] attribute
instead of compiler-specific solutions when appropriate.
[Change] libopenmpt C++ header now uses C++11 noexcept instead
of C++98 throw() exception specification when supported. throw()
is deprecated since C++11. This does not change API or ABI as
they are equivalent. Use LIBOPENMPT_ASSUME_CPLUSPLUS_NOEXCEPT
to override the default.
[Change] The preprocessor macro LIBOPENMPT_ANCIENT_COMPILER_STDINT
is gone. Please use LIBOPENMPT_ASSUME_CPLUSPLUS_CSTDINT instead.
Additionally, the typedefs moved from illegal namespace ::std
into somewhat less dangerous namespace ::openmpt::std. You can
test #ifdef LIBOPENMPT_QUIRK_NO_CSTDINT client-side to check
whether libopenmpt.hpp used the non-standard types. (Note: Of
all supported compilers, this change only affects the 3 compilers
with only limited support: MSVC 2008, GCC 4.1, GCC 4.2.)
[Bug] xmp-openmpt: Crash when viewing sample texts.
The public libopenmpt C++ header has auto-detection logic for
the used C++ standard now. In case your client code compiler
misreports the standard version or you want to override it for
other reasons, #define LIBOPENMPT_ASSUME_CPLUSPLUS to the value
of the standard version you desire to be used. There is also a
macro for each individual aspect, like
LIBOPENMPT_ASSUME_CPLUSPLUS_CSTDINT,
LIBOPENMPT_ASSUME_CPLUSPLUS_DEPRECATED,
LIBOPENMPT_ASSUME_CPLUSPLUS_NOEXCEPT which take precedence over
the general macro.
Portamento with sample swap behaviour was wrong for ProTracker
MODs.
Rewritten loader and various playback fixes for MDL files.
libopenmpt 0.2-beta18 broke import of many pattern commands in
DBM, DMF and ULT files.
Add pulseaudio option, default on to follow upstream.
libopenmpt 0.2-beta18 (2016-07-11)
[Change] openmpt123: Add PulseAudio output support. Autotools and
Makefile build systems now depend on libpulse and libpulse-simple
by default. Disable with --without-pulseaudio or NO_PULSEAUDIO=1
respectively. When enabled, PulseAudio will be the default output
driver,
[Change] xmp-openmpt: Settings are now stored in xmplay.ini like
with every other plugin.
[Regression] openmpt123: Support for FLAC < 1.3.0 has been removed.
FLAC before 1.3.0 is broken beyond repair as it provides assert.h
in the include path.
[Bug] Generated pkg-config file libopenmpt.pc by both Makefile and
Autotools build systems was totally broken.
[Bug] libopenmpt no longer uses the non-thread-safe global std::rand()
function.
[Bug] Sample loops in GDM modules did not work when using Emscripten.
[Bug] XM and MO3 loaders could crash due to unaligned memory accesses.
[Bug] Fixed incorrect handling of custom MPTM tunings on big endian
platforms.
[Bug] Fixed various problems found with clang 3.8 static analyzer,
address sanitizer and undefined behaviour sanitizer.
[Bug] File header probing functionality was broken for most formats.
[Bug] With non-seekable streams, the entire file was almost always
cached even if it was not of any supported module type.
Seeking in allsubsongs-mode now works correctly.
openmpt123: Added subsong support.
Various playback fixes for 669, IT, MT2 and MTM files.
Some MOD files with more than 128 patterns (e.g. NIETNU.MOD) were
not loaded correctly.
A new example libopenmpt_example_c_probe has been added which
demonstrates the usage and flexibility of openmpt_could_open_propability()
in the C API under various constraints.
This Opus 1.1.3 release focuses mainly on optimizations and bug
fixes. Changes include:
* Neon optimizations improving performance on ARMv7 and ARMv8 by up to 15%
* Fixes some issues with 16-bit platforms (e.g. TI C55x)
* Fixes to comfort noise generation (CNG)
* Documenting that PLC packets can also be 2 bytes
* Includes experimental ambisonics work (--enable-ambisonics)
Version 1.3.2 -- July 9, 2016
=============================
- Fixed crash on an invalid audio file that FFmpeg could not decode.
- Fixed build on Ubuntu 14.04 with libav.
Speech Dispatcher:
Key features:
* Common interface to different TTS engines
* Handling concurrent synthesis requests -- requests may come
assynchronously from multiple sources within an application and/or
from different applications
* Subsequent serialization, resolution of conflicts and priorities of
incomming requests
* Context switching -- state is maintained for each client connection
independently, event for connections from within one application
* High-level client interfaces for popular programming languages
* Common sound output handling -- audio playback is handled by Speech
Dispatcher rather than the TTS engine, since most engines have limited
sound output capabilities
What is a very high level GUI library to graphics, Speech Dispatcher is
to speech synthesis. The application neither needs to talk to the devices
directly nor to handle concurrent access, sound output and other tricky
aspects of the speech subsystem.
-----------------------------
Version 3.9:
* support full covariance for 'gmmp' command.
* add -B, -c1 and -c2 option to 'gmmp' command to specify block size and structure of covariance matrix.
* change temporary file path for csh.
* bug fixes.
Version 3.8:
* add 'c2ndps' command for transform from cepstrum to negative derivative of phrase spectrum.
* add 'mgclsp2sp' command for transform from LSP to spectrum.
* add 'ndps2c' command for transform from negative derivative of phrase spectrum to cepstrum.
* add 'wavjoin' command to save stereo wav file.
* add 'wavsplit' command to load stereo wav file.
* add -V option to 'dtw' command for loading DTW results.
* add -e option to calculate inverse matrix stably for 'delta' and 'vc' commands.
* support MAP estimation in 'gmm' command.
* replace -i option to -q option for 'lsp2lpc,' 'lspcheck,' and 'mgclsp2mgc' commands.
* change -c option of 'mlsacheck' command.
* update swipe and hts_engine API.
* bug fixes.
Version 3.7:
* add 'vc' command to perform GMM-based voice conversion.
* add 'lsp2sp' command to transform LSP coefficients to spectrum.
* add -R option to 'mlsacheck' command to specify threshold value.
* add -f option to 'gmmp' command to specify full covariance matrix.
* add -M, -c1 and -c2 option to 'gmm' command to specify block size and structure of covariance matrix.
* add -n option to 'delta' command to specify order of regression polynomial.
* add -magic and -MAGIC option to 'rmse' command to delete and substitute magic number.
* add -n and -t option to 'rmse' command to specify order and number of vector, respectively.
* add -POWX, -LOGX option, and new constant (semitone) to 'sopr' command.
* add -l option to 'decimate' and 'interpolate' command to specify length of vector.
* add -g and -G option to 'lspcheck' command to check value of gain.
* add -L option to 'lspcheck' command to specify log gain.
* add -n option to 'mgc2mgclsp' command to specify split number of unit circle.
* add -p and -d to 'mgc2mgclsp' command to specify maximum number and end condition of interpolation.
* add -x 16, 22, 24 and 48 option of 'glogsp' and 'grlogsp' command to specify more x-axis scales.
* add filter coefficients for 7:4 down-sampling, 3:5 and 7:8 up-sampling.
* unify option to specify log gain into -L option.
* fix -c option of 'mlsacheck' command to specify the type of modification of filter coefficients.
* bug fixes.
Version 1.0.27 (2016-06-19)
* Fix an SF_INFO seekable flag regression introduced in 1.0.26.
* Fix potential infinite loops on malformed input files.
* Add string metadata read/write for CAF and RF64.
* Add handling of CUE chunks.
* Fix enaian-ness issues in PAF files.
* Minor bug fixes and improvements.