Changes for version 2.3.3:
--------------------------
- New RAD player replacing the old one
- Bug fixes: (huge thanks to Alexander Miller for these)
- CVE-2019-14690 - buffer overflow in .bmf
- CVE-2019-14691 - buffer overflow in .dtm
- CVE-2019-14692 - buffer overflow in .mkj
- CVE-2019-14732 - buffer overflow in .a2m
- CVE-2019-14733 - buffer overflow in .rad
- CVE-2019-14734 - buffer overflow in .mtk
- CVE-2019-15151 - double free and OOB reads in .u6m
- OOB reads in .xad
- OOB reads in .rix
0.6.12:
Bugfixes:
* Fixed height of about dialog.
Enhancements:
* Only save settings for pages that actually has been changed.
* Replaced use of deprecated Qt functionality as of 5.15.
* Made scrobbler show error dialog for all errors when show error dialog option is on.
* Dont append disc to album titles for Subsonic and Tidal.
* Sort folders added from file view.
* Changed default collection grouping to album - disc.
Qt interface changes:
* Fixed files being moved instead of copied when dragged to a file
manager (#986)
* Added keyboard shortcuts for Open/Add Folder (#989)
* Fixed space being reserved for disabled infobar visualization (#990)
* Fixed playlist rows sometimes changing height at song change
Qt Winamp Classic interface changes:
* Enabled window snapping to screen edges (#985)
* Enabled dragging files from file manager (contributed by GitHub user
iDarkTemplar)
Other changes:
* Fixed warnings when building Audacious with link-time optimizations
* Fixed stuck startup notification under MATE when Audacious was already
running
* Updated translations
1.26.1
------
- Fix cmake build by actually including the read_api_version file in the distro.
- Fix big-endian build, stupid omission of a variable declaration, semicolon.
- Silence a harmless warning for build without realtime priority.
1.26.0
------
- Starting to intentionally use C99 in the codebase. API headers are still
supposed to be compatible to C89.
- There is a make check target now with some simple tests.
It is an open question how that should be developed in relation to the
external regression and compliance test suite.
- Finally silenced memory checkers about leaking memory from getlopt()
(main code overwriting values without freeing strdup() strings).
- AUTHORS now in UTF-8;-)
- CMake build files in ports/cmake, as an alternative to create MSVC
project files and the like (thanks to Vitaly Kirsanov)
- Default build with proper integer rounding (--enable-int-quality) now.
- Cygwin/midipix autoconf fixes (thanks to Redfoxmoon).
- Updated Windows build script, notably renaming .dll.def to .def.
Requires an argument now for build type, an optional one for
parallel make (not that useful on MinGW).
- Rework library dependency handling to avoid unnecessary linking for
lib*123. Also add proper Libs.private to .pc files to enable static
usage (especially on Windows with shlwapi).
- Updated support for OS/2 in the form of ArcaOS.
- Removed outdated Pascal port (ports/mpg123_.pas). There are others
out there.
- Updated man pages, been a while.
- mpg123:
-- Fixed-rate playback now prefers the libsyn123 resampler instead of NtoM
in libmpg123, see --resample parameter.
-- Drop --STDOUT (never properly implemented, use pipe to out123 instead).
-- Make --streamdump use unintr_write() to avoid inconsistencies.
-- Now sets non-zero exit code when any one track of the playlist
fails to either produce at least one frame of playback, if there
is data that should produce such (i.e. /dev/zero is bad, /dev/null is
fine). See man page for details.
-- Print out MPEG header info for each frame for mpg123 -vvvv.
-- Added --no-visual to disable cursor/inverse video games explicitly.
-- Clear progress bar before printing updated metadata within a stream.
-- Filter control/non-printable characters from user data printout, reduce
ID3v1 data to 7-bit ASCII (no way to know correct 8-bit encoding for sure).
This should cover bug 267.
-- Set MPG123_NO_PEEK_END when opening special file '-' (standard input).
That helps Windows where attempting to seek on the non-seekable stream
is undefined behaviour (bug 285).
-- Print errors in player code also for --quiet operation (just no messages
from the libraries).
-- Ignore ID3v1 once a Frankenstein stream was detected.
-- Prevent a cosmetic use-after-free in audio playback during program abortion just after
starting playback (prebuffer still in use, implication a blip of bad sound and
a complaining sanitizer).
-- Reformat audio capabilities table, more condensed, fits into 80 columns.
Forced rate on a separated line.
-- Make --pitch actually work, not just interactive changes. Pitching uses
a resampler now if a fixed output rate is specified.
-- Added --no-frankenstein.
-- Frameflags as long variable, 32 bits are needed since some time now.
- out123:
-- Document --STDOUT, make it more robust regarding fwrite() interruptions.
-- Removed the implicit phase shift that made generated waves exactly at
Nyquist freq non-silent, but made little sense overall.
-- Less high-frequency shifts to make waves fit into the table (not insisting
on even number of samples).
-- Option to work without wave table (setting the limit to zero).
-- Added --wave-direction to also enable backward time without phase shift.
-- Waves now generated by re-usable little synthethizer library dubbed
libsyn123.
-- Pink noise from libsyn123 added (using code from Phil Burk).
-- White noise from libsyn123.
-- Geiger-Mueller counter simulation from libsyn123.
-- Wave sweep generator from libsyn123.
-- Some rearrangement in help text.
-- Changed output of --test-encodings to list of encoding names
instead of raw bitmask value.
-- Added --endian, --inputend, and --byteswap.
- libsyn123:
-- Created the library to host some simple signal generators for testing
output.
-- It also hosts sample format conversions as a necessity to be able to
directly produce the format output devices need.
-- Well, also channel mixing while we're at it.
-- Oh, and a minimal-latency-and-reasonably-efficient resampler that only
took me over a year to figure out. I should write a paper about it.
- libout123:
-- Added out123_free() for the benefit of library wrappers. (bug 276)
-- Removed change of effective user ID in the WAV/RAW/AU/CDR writer.
This was intended as a safeguard to avoid creating files with root
priviledges. But: Other output modules still allowed root-level
access to various devices and files, so it was never safe to do
something awful like installing mpg123 with suid bit or configure
sudo to allow users to run mpg123 with arbitrary arguments.
You should treat out123_open just like the regular open(): You can
write to any file/device depending on your permissions.
-- Finally maybe fixed the damaged playback when using pulse hidden
behind the ALSA API (on Ubuntu, for example) by setting a high value
for device start threshold.
-- Fixed out_play() abortion logic to better detect fatal situations
(broken pipe). Needed on FreeBSD, while Linux buffers the issue away.
Should resolve bug 283.
-- Limit size of buffer block being written in out123_play to 16K, avoiding
unnecessary failure with ALSA at least.
-- Using SDL2 now if found. Output module code unchanged.
-- Added hex and txt (plain text) printout.
-- Eliminated spots where error messages would still be printed
also for OUT123_QUIET being effect.
-- Dummy output accepts any encoding now.
- libmpg123:
-- Added mpg123_open_fixed() to ease API for applications that just
want to decode well-behaved local files.
-- The user buffers for audio output data are now declared as void* for
mpg123_read(), mpg123_decode(), and mpg123_replace_buffer() to avoid
the useless need for casting your nice int16_t buffer to unsigned char
for decoding MPG123_ENC_SIGNED_16 data to it.
-- Added mpg123_free() for the benefit of library wrappers. (bug 276)
-- Add mpg123_format2() and mpg123_fmt2() supporting special value 0 for all
rates.
-- Fix changing of decoder (and output format along with that) after stream
opening. This was never recommened and only now should work at all.
-- Also mpg123_decode_frame() now sets return buffer to NULL and returned byte
count to zero in case of MPG123_NEED_MORE (or any other early abort).
-- MPG123_NEED_MORE not returned anymore for non-feeder streams. Got in
there for generic partial frame body reads, but was only intended for
feeder API.
-- Added mpg123_set_moreinfo() to support the Lame project's frame analyzer,
disabled by ./configure --disable-moreinfo.
-- Added optional storage and retrieval of raw ID3 data.
-- Fix skipping of ID3v2 footers (too much was attempted to be skipped). This
is of not much practical consequence as a tag with footer would appear on
the end of files anyway and files with ID3v2 tags at the end seem to be
rather rare.
-- Add mpg123_new_string() and mpg123_delete_string() to avoid confusion
about what mpg123_init_string() and mpg123_free_string() do.
-- Make mpg123_resize_string() terminate the string if shrinking (fill now
limited to new size).
-- Improve layer III frame parsing/error reporting for bad part2_3_length.
-- Fix crashing on stupidly low NtoM rates (exceeding downsampling factor 31).
This was only triggered by you specifying a forced sampling rate below 1550 Hz.
-- Do not remove CRC bits twice from possibly available bit reservoir.
This move needed recomputation of the layer3is reference data for 8 and
24 kHz. Old mpg123 is _wrong_ in the first few frames.
-- Generally more tight control and early bail out on reading bits of
frame data for all layers. This reduces the count of error messages
on badly damaged files a lot and feels a lot safer, too. Note that
we already silently returned zero bytes instead of actually over-reading
the frame buffer before, but now it happens with diagnostics and more
checks before it may happen.
-- Optionally enforce output endianess (big/little) away from native.
-- Fix build without error messages.
-- Fix build without gapless decoding.
-- Disable buffer when neither mmap nor shm functions detected (fixes
build for Android, thanks to vquicksilver).
-- Some support for extremely small streams (below 128 bytes). Those are
too short to contain anything useful besides some tiny metadata, but
serve to find/reproduce parser bugs.
-- Fix mpg123_read() for builds without feeder. It calls mpg123_decode()
without feeding input, which was disabled by mistake. The use of
mpg123_read() (instead of mpg123_decode_frame()) with mpg123_open()
was broken in feederless builds since those were fixed in version 1.15.
-- Fix ID3v2 parser logic for multiple ID3v2 tags being encountered in one
stream. New tags replace old data instead of appending to it when the
extended header update flag is not set (ID3v2.4). Update tags only
replace data that shall be unique. So far, I have never seen an update
tag in the wild, so the check for the flag is untested. The mechanism
of replacing parts of existing tag data has been tested, though.
Note that the updated libmpg123 also avoids a growing ID3 data structure
when repeatedly seeking back to the beginning in a file with disabled
seek index.
-- Eliminated a spots where error messages would still be printed
also for MPG123_QUIET being effect.
-- Added MPG123_NO_FRANKENSTEIN, MPG123_FLOAT_FALLBACK flags.
-- Now actually try floating point encoding if format matrix allows it
(can be disabled by unsetting MPG123_FLOAT_FALLBACK).
-- Added mpg123_feature2() that takes an int, as enums are not ABI-safe,
also added feature queries for floating point output.
working around the inability of the netbsd 9 kernel (at least) to
handle 24-bit lpcm directly in its default configuration. this
fixes problems playing 24-bit flac in cmus, at least.
with the kernel compiled with AUDIO_SUPPORT_LINEAR24 this is not
actually necessary and we should maybe consider doing that by default.
Changes:
- fix a cross-compilation failure from Win32 to WinARM
- fix issues while fluid_player is seeking
- fix a NULL pointer dereference if synth.dynamic-sample-loading is enabled
- fix a NULL pointer dereference in delete_rvoice_mixer_threads()
- fix a NULL pointer dereference in the soundfont loader
- fix dsound driver playing garbage when terminating fluidsynth
- avoid memory leaks when using libinstpatch
0.6.11:
Bugfixes:
* Fixed MPRIS missing art url when playing albums with embedded cover.
* Fixed updating local non collection songs when manually unsetting cover.
* Fixed infinite loop and preceding crash when CSS background-color was set in qt5ct.
* Fixed UI freeze when updating the database from a large Subsonic or Tidal collection.
* Fixed crash when CD loading fails in devices.
* Fixed CD devices showing up with having 0 songs after loading.
* Fixed the album cover loading indicator being stuck if no cover providers were available.
* Fixed the playing widget not updating artist, album or title after metadata has changed for a song when no album cover was loaded.
Enhancements:
* Sort songs in collection by song title instead of track if previous grouping is not the album.
* Added option to switch on/off automatically searching for album covers to context settings.
* Reset last played song when playlist is finished.
* Checking content type of received HTTP request for image when receiving album covers.
* Added option to scrobbler setting for turning off login error popup.
* Made MusicBrainz and Discogs cover providers respect rate limiting.
New features:
* Added option to show/hide sidebar.
* Added settings for selecting album cover and lyrics providers.
* Added album covers from Musixmatch and Spotify.
* Added lyrics from Genius, Musixmatch and ChartLyrics.
ChangeLog:
### libopenmpt 0.5.0 (2020-05-24)
* [**New**] OggMod compressed FastTracker 2 XM (OXM) modules are now
supported.
* [**New**] The emulated Amiga type when Amiga resampler emulation is enabled
can now be selected via ctl `render.resampler.emulate_amiga_type`. Possible
values are: `"auto"`, `"a500"`, `"a1200"`, and an experimental option
`"unfiltered"`.
* [**New**] libopenmpt: New API `openmpt::module::get_current_estimated_bpm()`
(C++), and `openmpt_module_get_current_estimated_bpm()` (C) which provides
accurate beats per minute information for module formats with time signature
and an educated guess based on speed and tempo for others.
* [**New**] libopenmpt: New type-aware ctl APIs that do not require memory
allocations and are thus realtime-safe:
`openmpt::module::ctl_get_boolean()`, `openmpt::module::ctl_get_integer()`,
`openmpt::module::ctl_get_floatingpoint()`,
`openmpt::module::ctl_get_text()`, `openmpt::module::ctl_set_boolean()`,
`openmpt::module::ctl_set_integer()`,
`openmpt::module::ctl_set_floatingpoint()` (C++), and
`openmpt_module_ctl_get_boolean()`, `openmpt_module_ctl_get_integer()`,
`openmpt_module_ctl_get_floatingpoint()`, `openmpt_module_ctl_get_text()`,
`openmpt_module_ctl_set_boolean()`, `openmpt_module_ctl_set_integer()`,
`openmpt_module_ctl_set_floatingpoint()` (C).
* [**New**] libopenmpt C++ New API `openmpt::is_extension_supported2()` which
takes a `std::string_view` parameter instead of `std::string`.
* [**New**] libopenmpt C++: New API
`openmpt::module::module(std::vector<std::byte> data)`,
`openmpt::module::module(const std::byte * data, std::size_t size)`,
`openmpt::module::module(const std::byte * beg, const std::byte * end)`.
* [**New**] libopenmpt C++: New API
`openmpt::probe_file_header(flags, const std::byte * data, std::size_t size, filesize)`,
`openmpt::probe_file_header(flags, const std::byte * data, std::size_t size)`.
* [**New**] libopenmpt_ext C++: New API
`openmpt::module_ext::module_ext(std::vector<std::byte> data)`,
`openmpt::module_ext::module_ext(const std::byte * data, std::size_t size)`,
`openmpt::module_ext::module_ext(std::vector<std::uint8_t> data)`,
`openmpt::module_ext::module_ext(const std::uint8_t * data, std::size_t size)`.
* [**Change**] std::istream based file I/O has been speed up.
* [**Change**] Dependency on iconv on Linux has been removed.
* [**Regression**] libmodplug: The libmodplug emulation layer has been removed
from the libopenmpt tree. Please use the separate `libopenmpt-modplug`
package instead.
* [**Regression**] foo_openmpt: foo_openmpt is discontinued. Please use
Kode54's fork foo_openmpt54:
<https://www.foobar2000.org/components/view/foo_openmpt54>.
* [**Regression**] Support for building with C++11 or C++14 has been removed.
C++17 is now required to build libopenmpt.
* [**Regression**] Support for client code using C++11 or C++ 14 has been
removed. C++17 is now required to build libopenmpt client applications.
* [**Regression**] Support for Visual Studio 2015 has been removed.
* [**Regression**] Support for GCC 4.8, 4.9, 5, 6 has been removed.
* [**Regression**] Support for Clang 3.6, 3.7, 3.8, 3.9, 4 has been removed.
* [**Regression**] Support for Emscripten versions older than 1.39.1 has been
removed.
* [**Regression**] Building with Android NDK older than NDK r18b is not
supported any more.
* [**Regression**] openmpt123: Support for SDL1 (but not SDL2) output has been
removed.
* [**Regression**] openmpt123: Support for SDL2 older than 2.0.4 has been
removed.
* [**Regression**] Windows XP and Windows Vista are no longer supported.
* [**Regression**] It is no longer possible to optionally use iconv for
character set conversions.
* [**Bug**] openmpt123: openmpt123 now honors the current locale and outputs
text appropriately.
* [**Bug**] openmpt123: Piping text output to other than console window
targets on Windows has been fixed.
* Greatly improved MED import. Synthesized instruments are still not supported
but support was added for: Multisampled instruments, delta samples, more
pattern commands, Hold and Decay, VSTi and MIDI output, multiple songs and
many other small changes.
* Improved OPL channel allocation when more than 18 notes are active, so that
channels that have completely faded out are prioritized over channels that
have already been released but have not faded out yet.
* Interactively triggering an OPL instrument could cause the first pattern
channel to no longer be played back correctly.
* Fix some inaccuracies in OPL emulator.
* Fix overflow of OPL amplification happening at a synth volume level of 510.
* End-of-sample pop reduction of surround channels was applied to front
channels instead, causing a pop on the front channels instead of removing it
on the back channels.
* IT: Disable retrigger with short notes quirk for modules saved with
Chibi Tracker, as it does not implement that quirk.
* IT: Instrument and sample panning should not override channel panning for
following notes.
* IT: SBx is now prioritized over Bxx commands that are to the left of it.
* IT: Duplicate Check Type "Sample" should only be applied if the instruments
match, too.
* IT: Duplicate Check Type "Note" should compare pattern notes, but it was
comparing the new pattern note against the old translated note.
* IT: Various fixes for envelope resetting.
* IT / S3M: When combining SBx and EEx effects, don't skip the first row of
the loop like in FastTracker 2.
* S3M: Empty pattern commands now affect effect memory as well.
* S3M: Offset beyond loop end wraps around to loop start like in
Scream Tracker 3 + GUS (previously it just keep playing from the loop start,
which is neither what GUS nor Sound Blaster drivers do).
* S3M: Notes cannot be retriggered after they have been cut.
* S3M: Fix portamento after note cut (fixes antediluvian_song.s3m).
* S3M / MOD: Previous note offset is no longer used for retriggered notes if
there was no instrument number next to the Qxy effect.
* MOD: Sample swapping now also works if the sample that is being swapped from
does not loop. Swapping to a non-looped sample now stops playback once the
swapped-from sample reaches its (loop) end.
* MOD: Fix early song ending due to ProTracker pattern jump quirk
(EEx + Dxx on same row) if infinite looping is disabled.
Fixes Haunted Tracks.mod by Triace.
* MOD: Previous note offset is no longer used for retriggered notes if there
was no instrument number next to the E9x effect.
* MOD: Vibrato type "ramp down" was upside down.
* XM: If a file contains patterns longer than 1024 rows, they are now clamped
to 1024 rows instead of 64 rows.
* XM: Do not reset note-off status on portamento if there is no instrument
number.
Minor description fix.
Changes since 46.3:
DIN Is Noise 47 @ Chennai, India
+ Menu > Drone Params now split into 3 tabs:
+ Modulation:
+ has controls to edit drone modulation parameters like AM/FM depth, BPM
+ Visual:
+ has controls to edit drone trail length, handle size,
connection stiffness (see below), colors (see below) etc
+ Motion:
+ controls to edit drone parameters like velocity, acceleration,
drones per minute, lifetime etc
+ On the mouse slider
+ when you can slide both horizontally and vertically:
+ press SHIFT to slide just vertically
+ press CTRL to slide just horizontally
/* connect and disconnect drones
+ Workflow:
+ select a bunch of drones (eg., Menu > Drone Tools > Select all drones)
+ Menu > Drone Tools > Connect
+ DIN connects drones in selection order
+ points one drone to next
+ last drone points in the direction second last drone points
+ To select drones in desired order, select drones one at a time by
click+moving a box around a drone and use SHIFT / CTRL keys while
selecting to add to existing selection or remove a drone from selection
+ Steps @ 1 connects drones successively, this is default
Steps @ 2 connects alternate drones
Steps @ 1 2 does both
try other steps sequences:
eg., 1 3 5 OR 1 2 4 etc
!note! separate steps with SPACE not comma
+ Just select a drone and move (Menu > Drone Tools > Move) and all the
connected drones move to keep their original distance on connection.
'But then one lizard (or iguana) moved, and all moved'
- VS Naipaul, Among the Believers
+ Use Connection Stiffness parameter to control the 'elasticity' of
the connections (Menu > Drone Params > Visual)
+ This is a global parameter, affects all connections among all drones
+ Menu > Drone Tools > Disconnect to disconnect the connected drones
+ Select a drone in the middle of a chain and disconnect splits the chain in two
+ Select the 'head' drones of two different chains and connect to merge the two
chains into one
/* new curve & curve editor to sculpt amplitude (aka depth) & bpm of
drone pendulum's drones
+ access using Menu > Editors > Drone Pendulum
+ edit curves even after creating drone pendulums!
+ affects drone pendulums selected drones belong to
+ use Menu > Overlay Instrument on the editor to see the effects of the
edits while making them.
/* new color sliders to set the color of selected drones
+ 2 sets of 3 sliders (1 for Red, Green and Blue).
+ Top set called Top
+ Bottom set called Bottom
+ Select some drones and
+ change color to Top to set color of all selected drones to the RGB of Top sliders
+ change color to Bottom to set color of all selected drones to RGB of Bottom sliders
+ change color to Blend to set color of all selected drones to RGB blended from Top to Bottom sliders
+ first selected drone color is from the Top sliders
+ last selected drone is from the Bottom sliders
+ other drones take inbetween colors
+ To select drones in desired order, select drones one at a time by click+moving a box
around a drone and use SHIFT / CTRL keys while selecting to add or remove drone to an
existing selection
+ change color to Random to set random colors on all selected drones
+ not truly random but a random color between RGB of Top and Bottom sliders
+ useful as colors are random but still from a certain part of the spectrum
+ If drones are noise, their color is grayscale, derived from just the Red channel of Top
and/or/both Bottom sliders, based on the chosen scheme.
+ If you edit a color slider, DIN hides the menu so you can see the edits better, hit ESC or click on Close
to finish/abort
/* abort octave shift
+ useful to take the key note away from 'piano notes' into 'weird' pitches yet still have 'scales' based on
this new key 'note'.
+ without Abort this was still possible by editing the octave shift curve
(Menu > Editors > Octave Shift)
+ to set the key back to a note, goto Settings screen and use the Key spinner
+ click Menu > Misc > Abort on Microtonal-Keyboard, Mondrian and Binaural Drones instruments
+ or press SHIFT + ESC
+ click Abort button on Keyboard-Keyboard
+ or press n
/* edit arrow width, depth for each drone
+ until DIN46, this was global
+ very useful for snake/centepede like visualisations of connected drones
* scale drones
* press CTRL to scale along horizontal
* press SHIFT to scale along vertical
+ moved Scale, Rotate drones to join Move in Menu > Drone Tools
+ SHIFT + e to scale selected drones
+ CTRL + e to rotate selected drones
+ press ` to flip between current instrument and last used curve editor
+ detach Spinners from Menu when using the < and > buttons to decrease/increase values
* Optimised GUI controls
* field, spinner etc
\0/ fixed crash when browsing waveforms on keyboard-keyboard
\0/ fixed search field in countries
\0/ fixed value field in number for bits of char
Changes in version 2.4.1:
Critical Bug Fix:
* Audacity 2.4.0 was released with a critical bug, (Bug 2436),
which is fixed in 2.4.1. The bug caused loss of data when using two projects at the same time.
Improvements
* Audacity now runs on Mac Catalina.
* A new Time Toolbar showing current record/playback time has been
split from the Selection Toolbar. It can be resized large.
* Presets for more effects can be imported and exported.
* A new Multi-View mode for tracks. In this mode both
spectrogram and waveform views are shown at the same time.
* Opus available as a new audio export format on Windows and Linux.
* Easier to convert labels between point labels and range labels.
* New Loudness Normalization effect.
* New RMS measurement analyzer.
* New Noise Gate effect.
* New Spectral Delete effect.
See also: https://wiki.audacityteam.org/wiki/New_features_in_Audacity_2.4.1
Bug Fixes
Over 100 bugs in 2.3.3 fixed, including:
* 2237 - Equalization effects have no Import or Export for curves
* 2261 - Graphic EQ sliders have no frequency labels
* 2265 - Track heights are reset to default on project re-opening
* 2303 - Playback does not start at the saved cursor position on reopening a saved project.
* 2314 - Zoom in fail when playing
- The package does not build due to a hard requirement on mysql55.
- The product line this package supports was discontinued in 2012.
- The package itself has not been touched since import in 2010.
- The package comes with a big scary box of warnings at the top
indicating woe on anyone who might want to touch it.
This has been persistently broken and is stuck on the old KDE 4 release.
If you're interested in an Amarok-like audio player, audio/strawberry
might fit (it's a fork of a fork of it).
Interested parties are invited to try packaging a newer version of
Amarok.
Fri Mar 27 15:18:06 2020
* Release 1.0 Patchlevel 19
Make it easier to include gsm.h from C++ by wrapping it with macros.
Throw a #define _POSIX_C_SOURCE 200809L into toast.h to make it
possible for Linux glibc to just work.
(Thanks to enh@google.com for the suggestion; errors are mine.)
Switch from compress/.Z to gzip/.gz
This is FAudio, an XAudio reimplementation that focuses solely on developing
fully accurate DirectX Audio runtime libraries for the FNA project, including
XAudio2, X3DAudio, XAPO, and XACT3.
Summary of changes since 20190805 release:
Fix problem with switching tabs on the Instrument List page using the keyboard, introduced in 20190722 release.
Implement incremental search on Load Instrument page, like on the Load Sample and Load Module pages.
Correctly display size of exported mono files before exporting.
Add "AudioVideo" category to Linux desktop entry.
These packages are susceptible to bugs when confronted with non-ASCII
characters.
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94182.
It takes some time to analyze and fix these individually, therefore they
are only marked as "needs work".
v0.9.5 (2020-03-28) : I Knew Her, She Knew Me
----------------------------------------------
Fix
~~~
- `eyeD3 --genre ""` to clear genre frame restored.
- Genre id->name mapping for non-standard genres and custom maps.
v0.9.4 (2020-03-21) : The Devil Made Me Do It
-----------------------------------------------
New
~~~
- Relative volume adjustments (RVA2 and RVAD) (#399)
- Tag properties copyright and encoded_by
- Support GRP1 (Apple) frames.
Changes
~~~~~~~
- Genre serialization not ID3 v2.3 format by default, and other genre cleanup (#402)
fixes#382
Fix
~~~
- Date correctness between ID3 versions (#396)
- PopularityFrame email encoding bug.
- Plugins more featured in docs
v0.9.3 (2020-03-01) : It Dawned On Me
--------------------------------------
Changes
~~~~~~~
- Track/disc numbers can be set with integer strings.
- Disc number getter and setter hooks
v0.9.2 (2020-02-10) : Into The Future
--------------------------------------
Fix
~~~
- Removed setting of PYTHONIOENCODING, it breaks MacOS.
Fixes#388
v0.9.1 (2020-02-09) : Dead and Gone
------------------------------------
Fix
~~~
- Docs and pep8.
Other
~~~~~
- Experiment with setting utf-8 writer for stdout and stderr.
v0.9 (2020-01-01) : Favorite Thing
-----------------------------------
Major Changes
~~~~~~~~~~~~~
- Dropped support for Python versions 2.7, 3.4, and 3.5.
- File scanning is no longer recursive by default; use `-r / --recursive`.
- Default log-level changed from WARNING to ERROR.
New
~~~
- Mime-type detection uses filetype.py (libmagic no longer required)
- setFileScannerOpts function accepts `default_recursive` option.
- A new `jsontag` plugin for converting tags to JSON.
- A new `extract` plugin for extracting tags from media.
- A new `yamltag` plugin for converting tags to YAML.
- A new `mimetypes` plugin for listing file mime-types / measuring performance
- Original artist support (TOPE frame, --orig-artist)
- Added support for Python 3.8 and pypy3.
Changes
~~~~~~~
- Log warning when ID3 v1.x text truncation occurs. Fixes#299.
- Accept (invalid) date strings for the form YYYYMMDD. Fixes#379
- Adjust replay gain correctly for lame >= 3.95.1 headers.
- Added -r/--recursive argument. eyeD3 is no longer recursive by default (#378)
- Regenerated grako parser.
- New ValueError for _setNum when unknown type/values are passed.
- Moved src/* to top-level repo directory.
Fix
~~~
- PRIV data type checking, fixed examples, etc.
- Use tox for `make test`
- ID3 v2.3 to v2.4 date conversion.
- Match mp3 mime-types against all possible mime-types.
Specifically, application/x-font-gdos. Fixes#338
- Fix simple typo: titel -> title. <tim.gates@iress.com>
- Fixed: load the right config file in arguments. <zhumumu@gmail.com>
- Fix issue tracker link. Fixes#333.
- Fixed art plugin when `pylast` is not installed.
- Unbound variable for track num/total. Fixes#327.
- Fixed MP3 header search to not false match on BOMs.
- Honor APIC text encoding when description is "". #200.
- Fixed bug with improper types when re-rendering unique file ID. (#324)
<gabrieldiegoteixeira@gmail.com>
- UFID fixes, update (#325) <gabrieldiegoteixeira@gmail.com>
Other
~~~~~
- Deprecation of eyed3.utils.guessMimeType
- Removed ipdb from dev requirements
v0.8.12 (2019-12-27)
---------------------
Changes
~~~~~~~
- Accept (invalid) date strings for the form YYYYMMDD. Fixes#379
Other
~~~~~
- Test with py38
v0.8.11 (2019-11-09)
------------------------
Fix
~~~
- ID3 v2.3 to v2.4 date conversion.
- Match mp3 mime-types against all possible mime-types.
Specifically, application/x-font-gdos. Fixes#338
v0.8.10 (2019-03-07) : Apples
------------------------------
New
~~~
- Log warning when ID3 v1.x text truncation occurs. Fixes#299.
Fix
~~~
- Honor APIC text encoding when description is "". #200.
- Fixed bug with improper types when re-rendering unique file ID. (#324)
<gabrieldiegoteixeira@gmail.com>
v0.8.9 (2019-01-12) : Descent Into...
--------------------------------------
Changes
~~~~~~~
- Fixup plugin: -t changed to --type.
- Pin pathlib to latest version 1.0.1 (#304) <github-bot@pyup.io>
Fix
~~~
- Force no-color output when stdout is not a terminal (#297)
<gaetano.guerriero@gmx.com>
- Requirements.txt: pathlib is only needed for older python versions
(#284) <Mic92@users.noreply.github.com>
- Art plugin: Pin pylast to 2.x to preserve Python2 support.
v0.8.8 (2018-11-28) : In Ruins
------------------------------
New
~~~
- Follow symlink directories. Fixes#224
Changes
~~~~~~~
- Eyed3.core.AudioInfo `time_secs` is now a float and non-lossy. Fixes#210
- Removed Python 3.3 support.
Fix
~~~
- Better type handling during TLEN [fixup plugin].
- Don't tweak logging by default, only thru `main`. Fixes#243
Other
~~~~~
- Added a separate example for Windows (--add-image <url>) [Addresses
the issue #219] (#220) <chamatht@gmail.com>
v0.8.7 (2018-06-11) : Aeon
---------------------------
Fix
~~~
- Only use os.fwalk where supported.
v0.8.6 (2018-05-27) : Robot Man
--------------------------------
New
~~~
- Art plugin can now download album covers from last.fm.
Changes
~~~~~~~
- Use os.fwalk for its better performance (esp. >= py37) Fixes#166
- TagTemplate `path_friendly` is now a string, namely the delimiter to use.
Fix
~~~
- Classic plugin: --write-image will work with --quiet. Fixes#188
- Multiple fixes for display plugin %images% replacements. Fixes#176
- Allow --remove-* options to work when there are no tags. Fixes#183
v0.8.5 (2018-03-27) : 30$ Bag
-----------------------------
New
~~~
- Mp3AudioFile.initTag now returns the new tag.
- Eyed3.core.EP_MAX_SIZE_HINT.
- Added docs for install devel dependencies and test data.
Changes
~~~~~~~
- Similarly to TextFrame, fallback to latin1 for invalid encodings.
- Removed paver as a dep.
- Removed fabfile and mkenv.
- Clean pytest_cache.
- Nicfit.py cc update.
Fix
~~~
- Handle missing `fcntl` on Windows. Fixes#135.
- In addition to None, "" will now clear dates.
- Update index.rst to reflect the code is in a Git repo, not Mercurial (#164)
<deoren@users.noreply.github.com>
Other
~~~~~
- Update pytest from 3.2.2 to 3.5.0 (#175) <github-bot@pyup.io>
- Update twine from 1.9.1 to 1.11.0 (#173) <github-bot@pyup.io>
- Update sphinx from 1.6.5 to 1.7.2 (#174) <github-bot@pyup.io>
- Update sphinxcontrib-paverutils from 1.16.0 to 1.17.0 (#172) <github-
bot@pyup.io>
- Update pytest-runner from 3.0 to 4.2 (#171) <github-bot@pyup.io>
- Update nicfit.py from 0.7 to 0.8 (#161) <github-bot@pyup.io>
- Update ipdb from 0.10.3 to 0.11 (#159) <github-bot@pyup.io>
- Update factory-boy from 2.9.2 to 2.10.0 (#150) <github-bot@pyup.io>
- Update pyaml from 17.10.0 to 17.12.1 (#138) <github-bot@pyup.io>
- Update python-magic to 0.4.15 (#130) <github-bot@pyup.io>
- Update pip-tools from 1.10.1 to 1.11.0 (#129) <github-bot@pyup.io>
- Update check-manifest from 0.35 to 0.36 (#125) <github-bot@pyup.io>
v0.8.4 (2017-11-17) : The Cold Vein
-------------------------------------
New
~~~
- Composer (TCOM) support (#123)
- Check for version incompatibilities during version changes.
Changes
~~~~~~~
- More forgiving of invalid text encoding identifiers (fixes#101)
- More forgiving of bad Unicode in text frames (fixes#105)
- EyeD3 cmd line helper turned not session-scoped fixture.
- Only warn about missing grako when the plugin is used. Fixes#115.
Fix
~~~
- Fix python3 setup when system encoding is not utf-8 (#120)
<x.guerriero@tin.it>
- Fix bad frames detection in stats plugin for python3 (#113)
<x.guerriero@tin.it>
- Script exits with 0 status when called with --version/--help (#109)
<x.guerriero@tin.it>
- Help pymagic with poorly encoded filenames.
- [display plugin] Handle comments.
- [display plugin] Handle internal exception types. Fixes#118.
- IOError (nor OSError) have a message attr.
Other
~~~~~
- Set theme jekyll-theme-slate.
- Update pytest to 3.2.5 (#122) <github-bot@pyup.io>
- Update pytest-runner to 3.0 (#108) <github-bot@pyup.io>
- Update sphinx to 1.6.5 (#106) <github-bot@pyup.io>
- Update flake8 to 3.5.0 (#107) <github-bot@pyup.io>
v0.8.3 (2017-10-22) : So Alone
-------------------------------
Fix
~~~
- Reload and process after tag removals, fixes#102. (PR #103)
- Display incorrectly encoded strings (usually filenames)
Other
~~~~~
- Make the classic output span the actual width of the tty so you can
see the actual path with a long file name. (#92) <redshodan@gmail.com>
v0.8.2 (2017-09-23) : Standing At the Station
----------------------------------------------
New
~~~
- Pypy and pypy3 support.
Changes
~~~~~~~
- 'nose' is no longer used/required for testing.
Fix
~~~
- Fix for Unicode paths when using Python2. Fixes#56.
v0.8.1 (2017-08-26) : I Can't Talk To You
------------------------------------------
New
~~~
- ``make pkg-test-data`` target.
- Sample mime-type tests.
Fix
~~~
- Added ``python-magic`` as a dependency for reliable mime-type detection.
Fixes#61
- Add pathlib to requirements. Fixes#43.
- [doc] Fixed github URL.
v0.8 (2017-05-13) : I Don't Know My Name
-----------------------------------------
.. warning::
This release is **NOT** API compatible with 0.7.x. The majority
of the command line interface has been preserved although many options
have either changed or been removed. Additionally, support for Python 2.6
has been dropped.
New
~~~
- Python 3 support (version 2.7 and >= 3.3 supported)
- The Display plugin (-P/--plugin display) enables complete control over tag
output. Requires ``grako``. If using pip, ``pip install eyeD3[display]``.
Contributed by Sebastian Patschorke.
- Genre.parse(id3_std=False) (and --non-std-genres) to disable genre #
mapping.
- eyed3.load accept pathlib.Path arguments.
- eyed3.core.AudioFile accept pathlib.Path arguments.
- eyed3.utils.walk accept pathlib.Path arguments.
- New manual page. Contributed by Gaetano Guerriero
- ``make test-data``
Changes
~~~~~~~~
- Project home from to GitHub: https://github.com/nicfit/eyeD3
Fix
~~~
- Lang fixes, and no longer coerce invalids to eng.
Other
~~~~~
- Moved to pytest, although unittest not yet purged.
lilv (0.24.8) stable;
* Allow passing strings for URIs in Python API when unambiguous
* Fix cases where incorrect translation is used
* Fix deleting state bundles loaded from the model
* Fix memory leak when dyn-manifest has no plugins (thanks Michael Fisher)
* Implement state:freePath feature