depending on libmodplug.
Anyway, it doesn't work against the latest libmodplug, so remove plugin from
PLIST, explicitly disable libmodplug, and bump PKGREVISION.
ver 0.18.10 (2014/04/10)
* decoder
- ffmpeg: fix seeking bug
- ffmpeg: handle unknown stream start time
- gme: fix memory leak
- sndfile: work around libsndfile bug on partial read
* don't interrupt playback when current song gets deleted
ver 0.18.9 (2014/03/02)
* protocol
- "findadd" requires the "add" permission
* output
- alsa: improved workaround for noise after manual song change
* decoder
- vorbis: fix linker failure when libvorbis/libogg are static
* encoder
- vorbis: fix another linker failure
* output
- pipe: fix hanging child process due to blocked signals
* fix build failure due to missing signal.h include
ver 0.18.8 (2014/02/07)
* decoder
- ffmpeg: support libav v10_alpha1
* encoder
- vorbis: fix linker failure
* output
- roar: documentation
* more robust Icy-Metadata parser
* fix Solaris build failure
ver 0.18.7 (2014/01/13)
* playlist
- pls: fix crash after parser error
- soundcloud: fix build failure with libyajl 2.0.1
* decoder
- faad: fix memory leak
- mpcdec: reject libmpcdec SV7 in configure script
* daemon: don't initialize supplementary groups when already running
as the configured user
ver 0.18.6 (2013/12/24)
* input
- cdio_paranoia: support libcdio-paranoia 0.90
* tags
- riff: recognize upper-case "ID3" chunk name
* decoder
- ffmpeg: use relative timestamps
* output
- openal: fix build failure on Mac OS X
- osx: fix build failure
* mixer
- alsa: fix build failure with uClibc
* fix replay gain during cross-fade
* accept files without metadata
ver 0.18.5 (2013/11/23)
* configuration
- fix crash when db_file is configured without music_directory
- fix crash on "stats" without db_file/music_directory
* database
- proxy: auto-reload statistics
- proxy: provide "db_update" in "stats" response
* input
- curl: work around stream resume bug (fixed in libcurl 7.32.0)
* decoder
- fluidsynth: auto-detect by default
* clip 24 bit data from libsamplerate
* fix ia64, mipsel and other little-endian architectures
* fix build failures due to missing includes
* fix build failure with static libmpdclient
ver 0.18.4 (2013/11/13)
* decoder
- dsdiff: fix byte order bug
* fix build failures due to missing includes
* libc++ compatibility
ver 0.18.3 (2013/11/08)
* fix stuck MPD after song change (0.18.2 regression)
ver 0.18.2 (2013/11/07)
* protocol:
- "close" flushes the output buffer
* input:
- cdio_paranoia: add setting "default_byte_order"
- curl: fix bug with redirected streams
* playlist:
- pls: fix reversed song order
* decoder:
- audiofile: require libaudiofile 0.3 due to API breakage
- dsf: enable DSD128
* enable buffering when starting playback (regression fix)
* fix build failures due to missing includes
* fix big-endian support
ver 0.18.1 (2013/11/04)
* protocol:
- always ignore whitespace at the end of the line
* networking:
- log UNIX domain path names instead of "localhost"
- open listener sockets in the order they were configured
- don't abort if IPv6 is not available
* output:
- alsa: avoid endless loop in Raspberry Pi workaround
* filter:
- autoconvert: fix "volume_normalization" with mp3 files
* add missing files to source tarball
ver 0.18 (2013/10/31)
* configuration:
- allow tilde paths for socket
- default filesystem charset is UTF-8 instead of ISO-8859-1
- increase default buffer size to 4 MB
* protocol:
- new command "readcomments" lists arbitrary file tags
- new command "toggleoutput"
- "find"/"search" with "any" does not match file name
- "search" and "find" with base URI (keyword "base")
- search for album artist falls back to the artist tag
- re-add the "volume" command
* input:
- curl: enable https
- soup: plugin removed
* playlist:
- lastfm: remove defunct Last.fm support
* decoder:
- adplug: new decoder plugin using libadplug
- dsf: don't play junk at the end of the "data" chunk
- ffmpeg: drop support for pre-0.8 ffmpeg
- flac: require libFLAC 1.2 or newer
- flac: support FLAC files inside archives
- opus: new decoder plugin for the Opus codec
- vorbis: skip 16 bit quantisation, provide float samples
- mikmod: add "loop" configuration parameter
- modplug: add "loop_count" configuration parameter
- mp4ff: obsolete plugin removed
* encoder:
- opus: new encoder plugin for the Opus codec
- vorbis: accept floating point input samples
* output:
- new option "tags" may be used to disable sending tags to output
- alsa: workaround for noise after manual song change
- ffado: remove broken plugin
- httpd: support HEAD requests
- mvp: remove obsolete plugin
- osx: disabled by default because it's unmaintained and unsupported
* improved decoder/output error reporting
* eliminate timer wakeup on idle MPD
* fix unresponsive MPD while waiting for stream
* port of the source code to C++11
ver 0.17.6 (2013/10/14)
* mixer:
- alsa: fix busy loop when USB sound device gets unplugged
* decoder:
- modplug: fix build with Debian package 1:0.8.8.4-4
* stored playlists:
- fix loading playlists with references to local files
- obey filesystem_charset for URLs
This library has been stripped down from replaygain.
ReplayGain is the name of a technique invented to achieve the same
perceived playback loudness of audio files. It defines an algorithm
to measure the perceived loudness of audio data.
1.3.5 (April 15, 2014)
----------------------
This is a short-term release that adds some great new stuff to beets. There's
support for tracking and calculating musical keys, the ReplayGain plugin was
expanded to work with more music formats via GStreamer, we can now import
directly from compressed archives, and the lyrics plugin is more robust.
One note for upgraders and packagers: this version of beets has a new
dependency in `enum34`_, which is a backport of the new `enum`_ standard
library module.
The major new features are:
* Beets can now import `zip`, `tar` and `rar` archives. Just type ``beet
import music.zip`` to have beets transparently extract the files to import.
* :doc:`/plugins/replaygain`: Added support for calculating ReplayGain values
with GStreamer as well the mp3gain program. This enables ReplayGain
calculation for any audio format. Thanks to Yevgeny Bezman.
* :doc:`/plugins/lyrics`: Lyrics should now be found for more songs. Searching
is now sensitive to featured artists and parenthesized title suffixes.
When a song has multiple titles, lyrics from all the named songs are now
concatenated. Thanks to Fabrice Laporte and Paul Phillips.
In particular, a full complement of features for supporting musical keys are
new in this release:
* A new `initial_key` is available in the database and files' tags. You can
set the field manually using a command like ``beet modify
initial_key=Am``.
* The :doc:`/plugins/echonest` sets the `initial_key` field if the data is
available.
* A new :doc:`/plugins/keyfinder` runs a command-line tool to get the key from
audio data and store it in the `initial_key` field.
There are also many bug fixes and little enhancements:
* :doc:`/plugins/echonest`: Truncate files larger than 50MB before uploading for
analysis.
* :doc:`/plugins/fetchart`: Fix a crash when the server does not specify a
content type. Thanks to Lee Reinhardt.
* :doc:`/plugins/convert`: The ``--keep-new`` flag now works correctly
and the library includes the converted item.
* The importer now logs a message instead of crashing when errors occur while
opening the files to be imported.
* :doc:`/plugins/embedart`: Better error messages in exceptional conditions.
* Silenced some confusing error messages when searching for a non-MusicBrainz
ID. Using an invalid ID (of any kind---Discogs IDs can be used there too) at
the "Enter ID:" importer prompt now just silently returns no results. More
info is in the verbose logs.
* :doc:`/plugins/mbsync`: Fix application of album-level metadata. Due to a
regression a few releases ago, only track-level metadata was being updated.
* On Windows, paths on network shares (UNC paths) no longer cause "invalid
filename" errors.
* :doc:`/plugins/replaygain`: Fix crashes when attempting to log errors.
* The :ref:`modify-cmd` command can now accept query arguments that contain =
signs. An argument is considered a query part when a : appears before any
=s. Thanks to mook.
.. _enum34: https://pypi.python.org/pypi/enum34
.. _enum: https://docs.python.org/3.4/library/enum.html
1.3.4 (April 5, 2014)
---------------------
This release brings a hodgepodge of medium-sized conveniences to beets. A new
:ref:`config-cmd` command manages your configuration, we now have :ref:`bash
completion <completion>`, and the :ref:`modify-cmd` command can delete
attributes. There are also some significant performance optimizations to the
autotagger's matching logic.
One note for upgraders: if you use the :doc:`/plugins/fetchart`, it has a new
dependency, the `requests`_ module.
New stuff:
* Added a :ref:`config-cmd` command to manage your configuration. It can show
you what you currently have in your config file, point you at where the file
should be, or launch your text editor to let you modify the file. Thanks to
geigerzaehler.
* Beets now ships with a shell command completion script! See
:ref:`completion`. Thanks to geigerzaehler.
* The :ref:`modify-cmd` command now allows removing flexible attributes. For
example, ``beet modify artist:beatles oldies!`` deletes the ``oldies``
attribute from matching items. Thanks to brilnius.
* Internally, beets has laid the groundwork for supporting multi-valued
fields. Thanks to geigerzaehler.
* The importer interface now shows the URL for MusicBrainz matches. Thanks to
johtso.
* :doc:`/plugins/smartplaylist`: Playlists can now be generated from multiple
queries (combined with "or" logic). Album-level queries are also now
possible and automatic playlist regeneration can now be disabled. Thanks to
brilnius.
* :doc:`/plugins/echonest`: Echo Nest similarity now weights the tempo in
better proportion to other metrics. Also, options were added to specify
custom thresholds and output formats. Thanks to Adam M.
* Added the :ref:`after_write <plugin_events>` plugin event.
* :doc:`/plugins/lastgenre`: Separator in genre lists can now be
configured. Thanks to brilnius.
* We now only use "primary" aliases for artist names from MusicBrainz. This
eliminates some strange naming that could occur when the `languages` config
option was set. Thanks to Filipe Fortes.
* The performance of the autotagger's matching mechanism is vastly improved.
This should be noticeable when matching against very large releases such as
box sets.
* The :ref:`import-cmd` command can now accept individual files as arguments
even in non-singleton mode. Files are imported as one-track albums.
Fixes:
* Error messages involving paths no longer escape non-ASCII characters (for
legibility).
* Fixed a regression that made it impossible to use the :ref:`modify-cmd`
command to add new flexible fields. Thanks to brilnius.
* :doc:`/plugins/echonest`: Avoid crashing when the audio analysis fails.
Thanks to Pedro Silva.
* :doc:`/plugins/duplicates`: Fix checksumming command execution for files
with quotation marks in their names. Thanks again to Pedro Silva.
* Fix a crash when importing with both of the :ref:`group_albums` and
:ref:`incremental` options enabled. Thanks to geigerzaehler.
* Give a sensible error message when ``BEETSDIR`` points to a file. Thanks
again to geigerzaehler.
* Fix a crash when reading WMA files whose boolean-valued fields contain
strings. Thanks to johtso.
* :doc:`/plugins/fetchart`: The plugin now sends "beets" as the User-Agent
when making scraping requests. This helps resolve some blocked requests. The
plugin now also depends on the `requests`_ Python library.
* The :ref:`write-cmd` command now only shows the changes to fields that will
actually be written to a file.
* :doc:`/plugins/duplicates`: Spurious reports are now avoided for tracks with
missing values (e.g., no MBIDs). Thanks to Pedro Silva.
* The default :ref:`replace` sanitation options now remove leading whitespace
by default. Thanks to brilnius.
* :doc:`/plugins/importfeeds`: Fix crash when importing albums
containing ``/`` with the ``m3u_multi`` format.
* Avoid crashing on Mutagen bugs while writing files' tags.
* :doc:`/plugins/convert`: Display a useful error message when the FFmpeg
executable can't be found.
.. _requests: http://www.python-requests.org/
1.3.3 (February 26, 2014)
-------------------------
Version 1.3.3 brings a bunch changes to how item and album fields work
internally. Along with laying the groundwork for some great things in the
future, this brings a number of improvements to how you interact with beets.
Here's what's new with fields in particular:
* Plugin-provided fields can now be used in queries. For example, if you use
the :doc:`/plugins/inline` to define a field called ``era``, you can now
filter your library based on that field by typing something like
``beet list era:goldenage``.
* Album-level flexible attributes and plugin-provided attributes can now be
used in path formats (and other item-level templates).
* :ref:`Date-based queries <datequery>` are now possible. Try getting every
track you added in February 2014 with ``beet ls added:2014-02`` or in the
whole decade with ``added:2010..``. Thanks to Stig Inge Lea Bjørnsen.
* The :ref:`modify-cmd` command is now better at parsing and formatting
fields. You can assign to boolean fields like ``comp``, for example, using
either the words "true" or "false" or the numerals 1 and 0. Any
boolean-esque value is normalized to a real boolean. The :ref:`update-cmd`
and :ref:`write-cmd` commands also got smarter at formatting and colorizing
changes.
For developers, the short version of the story is that Item and Album objects
provide *uniform access* across fixed, flexible, and computed attributes. You
can write ``item.foo`` to access the ``foo`` field without worrying about
where the data comes from.
Unrelated new stuff:
* The importer has a new interactive option (*G* for "Group albums"),
command-line flag (``--group-albums``), and config option
(:ref:`group_albums`) that lets you split apart albums that are mixed
together in a single directory. Thanks to geigerzaehler.
* A new ``--config`` command-line option lets you specify an additional
configuration file. This option *combines* config settings with your default
config file. (As part of this change, the ``BEETSDIR`` environment variable
no longer combines---it *replaces* your default config file.) Thanks again
to geigerzaehler.
* :doc:`/plugins/ihate`: The plugin's configuration interface was overhauled.
Its configuration is now much simpler---it uses beets queries instead of an
ad-hoc per-field configuration. This is *backwards-incompatible*---if you
use this plugin, you will need to update your configuration. Thanks to
BrainDamage.
Other little fixes:
* :doc:`/plugins/echonest`: Tempo (BPM) is now always stored as an integer.
Thanks to Heinz Wiesinger.
* Fix Python 2.6 compatibility in some logging statements in
:doc:`/plugins/chroma` and :doc:`/plugins/lastgenre`.
* Prevent some crashes when things go really wrong when writing file metadata
at the end of the import process.
* New plugin events: ``item_removed`` (thanks to Romuald Conty) and
``item_copied`` (thanks to Stig Inge Lea Bjørnsen).
* The ``pluginpath`` config option can now point to the directory containing
plugin code. (Previously, it awkwardly needed to point at a directory
containing a ``beetsplug`` directory, which would then contain your code.
This is preserved as an option for backwards compatibility.) This change
should also work around a long-standing issue when using ``pluginpath`` when
beets is installed using pip. Many thanks to geigerzaehler.
* :doc:`/plugins/web`: The ``/item/`` and ``/album/`` API endpoints now
produce full details about albums and items, not just lists of IDs. Thanks
to geigerzaehler.
* Fix a potential crash when using image resizing with the
:doc:`/plugins/fetchart` or :doc:`/plugins/embedart` without ImageMagick
installed.
* Also, when invoking ``convert`` for image resizing fails, we now log an
error instead of crashing.
* :doc:`/plugins/fetchart`: The ``beet fetchart`` command can now associate
local images with albums (unless ``--force`` is provided). Thanks to
brilnius.
* :doc:`/plugins/fetchart`: Command output is now colorized. Thanks again to
brilnius.
* The :ref:`modify-cmd` command avoids writing files and committing to the
database when nothing has changed. Thanks once more to brilnius.
* The importer now uses the album artist field when guessing existing
metadata for albums (rather than just the track artist field). Thanks to
geigerzaehler.
* :doc:`/plugins/fromfilename`: Fix a crash when a filename contained only a
track number (e.g., ``02.mp3``).
* :doc:`/plugins/convert`: Transcoding should now work on Windows.
* :doc:`/plugins/duplicates`: The ``move`` and ``copy`` destination arguments
are now treated as directories. Thanks to Pedro Silva.
* The :ref:`modify-cmd` command now skips confirmation and prints a message if
no changes are necessary. Thanks to brilnius.
* :doc:`/plugins/fetchart`: When using the ``remote_priority`` config option,
local image files are no longer completely ignored.
* :doc:`/plugins/echonest`: Fix an issue causing the plugin to appear twice in
the output of the ``beet version`` command.
* :doc:`/plugins/lastgenre`: Fix an occasional crash when no tag weight was
returned by Last.fm.
* :doc:`/plugins/mpdstats`: Restore the ``last_played`` field. Thanks to
Johann Klähn.
* The :ref:`modify-cmd` command's output now clearly shows when a file has
been deleted.
* Album art in files with Vorbis Comments is now marked with the "front cover"
type. Thanks to Jason Lefley.
- add support for XM with ADPCM samples
- add OctaMED effect 2E
- fix MMD2/3 note event mapping
- fix XM set pan effect
- fix IT disabled instrument pan
Changes since 2.1.10:
* Several stability fixes, found with Valgrind and the Fedora retrace
server
* Use GTK+ 3 by default, but still allow building against GTK+ 2
* Support extended tag fields in MP4 files
* Support GIF images in tags
* Abhinav Jangda’s Ogg Opus support, asynchronous image loading, scanner
function tests and new Vorbis cover art support
* Santtu Lakkala’s MP4 cover art and GIO support, fix for Roman numeral
capitalization
* Ask for confirmation before overwriting during renaming
* Ekaterina Gerasimova’s Mallard help updates
* Avoid truncating Vorbis audio data when saving
* Gianvito Cavasoli’s Italian translation update
* Alexandre Franke’s French translation updates and typo fix
* Wolfgang Stöggl’s German translation updates
* Piotr Drąg’s Polish translation updates
* Мирослав Николић’s Serbian translation update
* Daniel Mustieles’ Spanish translation updates
* Balázs Úr and Attila Hammer’s Hungarian translation updates
* Enrico Nicoletto and Rafael Ferrera’s Brazilian Portuguese translation
updates
* Marek Černocký’s Czech translation updates
* Aurimas Černius’s Lithuanian translation update
Opus is a totally open, royalty-free, highly versatile audio codec.
Opus is unmatched for interactive speech and music transmission
over the Internet, but also intended for storage and streaming
applications. It is standardized by the Internet Engineering Task
Force (IETF) as RFC 6716 which incorporated technology from Skype's
SILK codec and Xiph.Org's CELT codec.
This package contains a high level API for decoding and seeking in
opus files.
libmikmod v3.3.6 was released on 20-Mar-2014.
- UMX loader: Minor corrections to the container parse code with
relation to upkg file format. (for correctness' sake only...)
- ALSA and ESD drivers: Fixed a dlopen() issue.
- PulseAudio driver: Simplified its command line parser procedure,
so that it always sets server and sink to some value, NULL or
otherwise, and fix a very minor memory leak on some occasions.
- Configury, OSS driver: Removed useless check for /dev/sndstat
presence, added <soundcard.h> check to cover all our bases for
less common setups.
- Configury, NAS driver: Use the configury detected X header and
library locations when necessary, not just hardcoded /usr/X11R6/.
- Several configury and makefile clean-ups.
- Added Dreamcast driver from the old 3.2.0b2 dreamcast.es port.
0.3.5:
While we've not added any additional functionality, we have fixed
many bugs from internal testing (clang static analysis and valgrind)
and also downstream distribution issues. We've also reduced the
memory thrashing dramatically. Going from 16,000 reallocations and
about 400MiB memory usage when playing a 2 minute midi down to
about 600 reallocations and only 8MiB memory usage!
What is new in this release:
Greatly reduced the heap usage (was a regression introduced in
0.2.3)
OpenAL support: Fixed audio output on big-endian systems. Fixed
audio skips at song start.
OSS support: No longer uses mmap mode for better compatibility.
This gains us NetBSD and OpenBSD support.
Worked around an invalid memory read found by valgrind when
playing Beethoven's Fur Elise.rmi at 44100 Hz using the old
MIDIA patch-set from 1994.
Build fixes for MSVC. Revised visibility attributes usage.
0.3.4:
This release marks the end of further development in the 0.3 branch.
We will do bug-fixes to help stabilize platforms, but no new
functionality will be added after this.
What is new in this release:
OpenAL support: This gains us OSX and other platforms that
OpenAL supports for sound output!
DOS DJGPP support: This goes a long way to helping other DOS
based applications like UHexen2.
MinGW support: This gains us win32 and win64 support using this
toolchain.
Fedora support: We are now ready to see this get pushed upstream
to Fedora.
New portable file and path-name system to handle cross-platform
support.
Support for Debian/kFreeBSD, Debian/Hurd and other Debian archs.
Many bug fixes, code clean-ups and cosmetic fixes.
0.3.3:
This is the first package to be officially uploaded to Debian.
default to hidden visibility and only export our API functions
windows lean and mean to help compile times on Windows
cli and xcode work now on OSX
better FreeBSD support
Supported platforms are Debian, FreeBSD, Windows and OSX (but only
for WAV output)
0.3.2:
Now with Microsoft Visual Studio support.
10 March 2014: libmodplug 0.8.8.5
A very long time between the last release (although some
occasional activity occured in git)
The code is now in both the sourceforge git tree (as a full
project), as well as github (only libmodplug): Here.
Some security patches: CVE-2013-4233, CVE-2013-4234, as well
as many fixes suggested by static analyzers: clang build-scan,
and coverity.
A few patches to ease compilation in windows environments,
including a CMakeLists file.
17.01.2014 - 1.2.01
- 1.2 as the new stable branch
- build fix for clang and for Solaris
- fixed broken links in documentation and moved alternate downloads from Dropbox to my ISP
31.03.2013 - 1.2.00
- new version number to support the new "stable" branch
01.12.2012 - 1.1.21.080
- fixed bug that caused a "%s" to be shown instead of the list of files
about to be changed
Bugfixes:
- Major fixes for the pattern handling in the soundlibrary
- A memory leak was fixed which appeared when using note-off notes
- A note-off related segmentation fault was fixed
- The path of instrumens is now set correctly if a song gets saved
(solves the abs. vs. rel. path problem)
- lots of smaller fixes..
New features:
- New midi action: SELECT_NEXT_PATTERN_RELATIVE
- Show a layers velocity informations in a tooltip
- Added a description field for patterns
- Jack session support
- Jack midi out
- Undo history
- Tabbed interface (aimed at netbooks)
- CMake for build