2023-06-08 Jeremy Evans * Aqualung 1.2 http://aqualung.jeremyevans.net * Support libavcodec API 59 and later * Drop support for libavcodec API < 53 * Avoid MAP_STACK errors in the lavc decoder on OpenBSD * Move mpeg decoder above sndfile decoder to fix issues when using sndfile 1.1+ * Avoid a few double free errors * Fix possible error when creating the ~/.config/aqualung directory * Translation updates: Italian 2020-08-29 Jeremy Evans * Aqualung 1.1 http://aqualung.jeremyevans.net * Use the default skin by default, instead of the plain skin * Work correctly when ~/.config does not exist * Update CDDB query feature to use gnudb.org and port 8880 * Remove CDDB local lookup feature as it was broken * Remove CDDB submission feature as it was broken * Consider m4a as a LAVC file extension * Reinitialize sndio backend if there is a low-level audio error * Support libavcodec API 55 and later * Translation additions/updates: Czech, French 2015-07-26 Tom Szilagyi * Aqualung 1.0 http://aqualung.jeremyevans.net The project homepage has moved to http://aqualung.jeremyevans.net Please upgrade your pointers and bookmarks. * Work with and prefer Lua 5.2, but remaining compatible with Lua 5.1 * Work with libmac-dev 4.11 * Translation additions/updates: Chinese (simplified), German, Czech 2014-06-03 Tom Szilagyi * Aqualung 1.0-rc1 http://aqualung.factorial.hu * Add support for custom playlist menu commands (via Lua extension) * Add ability to define custom remote commands in Lua * Add support for custom keybindings in the main window * Add a current_file() Lua extension method for the currently playing file * Add support for hooks for executing extension code when certain events occur * Add track_position_change hook * Add option to use cover art from external graphics file instead of image embedded in audio file * Add export track template flag %x for including original audio filename (without extension) in exported filename * Dialog boxes made non-modal for improved user experience and workflow: About, Export, File info, Search, Settings * File info dialog now has buttons to jump to prev/next track without closing dialog, makes editing multiple tracks' metadata much easier * Allow the ladspa plugin code to work on OpenBSD * Support multimedia keys * Support custom character encodings in metadata * Handle JACK disconnect more gracefully * Automatic save/restore of JACK connections to/from config.xml * Ogg stream metadata changes are really sent upstream. Track changes in Ogg internet radios are picked up by the GUI * Recognize audio/ogg as Ogg Vorbis streaming format * Seeking via arrow keys is +- 5 seconds regardless of track length * Resume alsa stream after suspend to ram * Add -b (--buffer-size) option to set ALSA output buffer size * Fix musepack replaygain values when using a recent libmpcdec * Build with current versions of ffmpeg/libav* * CDDA: add support for libcdio 0.90 API changes * Require GTK+2 >= 2.18 The Linux distribution cutoff era becomes something like: Debian 6.0 "squeeze" / Fedora 12 "constantine" / RHEL 6 / Ubuntu 9.10 "karmic" * Big overhaul of configure system (still using autotools, but much improved) * Fixes: memory leaks, regressions, crashes, etc. * Code cleanup: includes, macros, library functions, threading, portability * Documentation updates and fixes to the doc build system * Translation additions/updates: Chinese (simplified), Dutch, French, Polish, Russian, Spanish, Ukrainian 2010-01-31 Tom Szilagyi * Aqualung 0.9beta11 http://aqualung.factorial.hu * Add PulseAudio support as contributed by PCMan plus a few minor fixes. * Added option for starting Aqualung hidden in tray. Useful when running Aqualung automatically after login. * Implement auto roll to active track functionality. Thanks to Chris Craig for the excellent patch. * Support new Musepack API (patch by Yavor Doganov) * New keybinding: Ctrl-S to stop after currently playing song has ended. Thanks to cobines for the patch. * Add support for more versatile mouse-systray interaction. Thanks to cobines for the excellent patch. * Added support for new GtkTooltip API (since 2.12). Fixed tooltip disappearing issue because of too frequent tooltip updates. * Automatically add/remove stores when they become available or disappear (most likely due to mount/unmount operations). Modified stores will not be removed automatically. * Add support for an application_title lua function separate from the playlist_title lua function, so that the window title and the main title label of the player is configurable from Lua. * Don't require restart to update programmable title format file * Don't use sndfile's Ogg decoder (always use native Ogg library) * Fix FFmpeg headers detection in configure script * Fix compiler warnings on 64 bit. Thanks to Zoltan Kovacs for the patch. * Fix crash on 64 bit when Aqualung is compiled without SRC support and file contains metadata. Thanks to Zoltan Kovacs for tracking the problem and providing the patch. * Fixed crash when pasting into playlist without copying first (empty clipboard). * Fix a suspected regression: space toggles state of combined play/pause button when a file is loaded. * Fix lockup at end of playlist. * Fixed a crash that occurred when clicked on a picture of a file in the File Info dialog and the file format did not support metadata. * Fix playlist column size allocation by eliminating manual/delayed calculations and utilizing the built-in COLUMN_AUTOSIZE feature instead. * Fix crash when invoking the File Info dialog for an MPEG internet radio. * Fix inversion of enabled/diasbled state of tooltips. * Fix crash when loading .m3u with invalid filename. * Updated translations: German, Hungarian, Russian, Ukrainian * New translations: Japanese by Norihiro Yoneda French by Julien Lavergne * Up-to-date user documentation 2009-02-08 Tom Szilagyi * Aqualung 0.9beta10 http://aqualung.factorial.hu * Add programmable title format support. This commit embeds a Lua interpreter inside of Aqualung for the purpose of allowing the user full control over the title format. It allows the user to use any metadata field that Aqualung recognizes, as well as a few fields from the file info in order to compose a title field. See the documentation update included in this release for usage information for this feature. * Loop playback enhancements: New key bindings '<' and '>' for adjusting loop range start and end (respectively) to the current playing position. Active only when track repeat mode is on and a track is currently playing or paused. Added tooltip showing loop range in percentage and time (if there is a track loaded). Tooltips must be globally enabled for this feature. * Allow the systray to be disabled even if support is compiled in. * Add support for saving single playlists in M3U format. If the playlist file name ends with .m3u, it will save in M3U format (one filename per line) instead of the Aqualung XML format. This only affects the logic around saving single playlists; if you save all playlists at once, it will always use the XML format, because the M3U format does not support multiple playlists. * Add support for sndio backend, bringing the total number of backends to five. libsndio was recently introduced in OpenBSD as a simple audio API that supports OpenBSD's builtin sound server, aucat. * Add playlist context menu option 'Roll to active song'. * Optionally combine Play and Pause buttons into a single button. * Fix gapless MPEG audio playback (correct offset calculation) when ID3v2 tag is present. * Export can now copy files instead of reencoding them using the new target format "Copy". * A subset of input files can be forced to be copied instead of being reencoded. There are two criteria for this: when the source file is already in the target format, and when the source file matches any of a comma-separated list of wildchards (similarly to the builder exclusion list). Both options can be enabled/disabled from the Export dialog. * Handle HTTP/1.0 responses. * When updating all feeds, insert 1 second delay between individual feeds. * Added right-click menu items for adding only new podcasts to playlist. * Music Stores can now use relative paths instead of absolute ones, allowing users to mount the same collection on different mount points (just one use case). Implementation is based on the patch by Russell Johnston, big thanks for both the idea and the contribution. A checkbox for toggling this feature is added to the Edit Store dialog (accessible via the right-click menu of stores). * All filenames use the GLib filename encoding instead of locale encoding. This is the proper and official way of doing it; if you have issues using filenames with special characters, consider setting the G_FILENAME_ENCODING or G_BROKEN_FILENAMES environment variables. If you are using an UTF-8 locale (a very wise choice), you have nothing to worry about. * Add extra check for mad.h presence to configure. * New store builder option to automatically remove non-existing files from the store. It is disabled by default. * Added new Swedish translation by Niklas Grahn. * Numerous minor bugfixes. 2008-02-10 Tom Szilagyi * Aqualung 0.9beta9.1 http://aqualung.factorial.hu This is a bugfix, stability and performance oriented release also containing a few updates to existing functionality. By using this version, your Aqualung will be more stable, and in some cases significantly faster. All users are encouraged to upgrade. The project homepage has moved to http://aqualung.factorial.hu Please upgrade your pointers and bookmarks. Notable changes: * Playlist code refactoring for improved performance. Please note that incompatible changes have been made to the playlist format: this means that your old playlists won't be parsed, you'll have to re-create them. (NOTE: Music Store contents are unaffected. If we ever change the Music Store format in a backward-incompatible way, we will provide tools to migrate your precious store data.) * Fix threading problems that caused random crashes for some users. * Fix lurking bug that sometimes resulted in getting stuck at the beginning of a track when Sinc interpolator sample rate converters were used. * Modified the way of opening ALSA output to achieve non-exclusive driver access. * New, more versatile title string generating templates. Make sure to check the documentation. * Added option to periodically save playlist. * Several fixes concerning command line file and playlist loading, esp. with the -L flag. * Better metadata handling for external files in playlist. * Increment CDDB revision number on resubmitting an existing disc. This is essential for correcting existing CDDB entries, otherwise the CDDB server rejects the submission. The latest CVS version from http://libcddb.sf.net is required for this to work (Aqualung-Win32 is built with this version). * OpenBSD-related portability fixes. Aqualung should now compile cleanly and be fully functional OOTB on OpenBSD 4.2. * Updated German, Hungarian and Italian translations. Added Russian translation. 2007-12-19 Tom Szilagyi * Aqualung 0.9beta9 http://aqualung.sf.net This is a major release bringing significant new functionality and many important fixes. All users are encouraged to upgrade. As always, the up-to-date User Manual is available at: http://aqualung.sourceforge.net/?tab=docs Major additions: * Fundamentally new Metadata system, using native decoders and private code instead of TagLib to provide complete support for reading and writing metadata, including ID3v1, ID3v2.3, ID3v2.4, APE, Ogg Xiph comments and FLAC picture frames, as well as read-only support for ReplayGain in Musepack stream data and various metadata received in internet radio streams. Aqualung also provides a batch tagger facility to quickly propagate Music Store metadata to file metadata. * Support for podcasts. Aqualung can subscribe to RSS and Atom audio podcasts, and automatically download and add new files to the Music Store. Optional limits for the age, size and number of downloaded files can be set. * Support for exporting files from Music Store or Playlist with audio transcoding and intelligent metadata transfer. Useful for burning your favourite tracks to CD, filling your portable player, etc. * Aqualung now compiles and runs on OpenBSD. * Smoother skin changing. * Option to disable skin support (for themed environments). * Lots of fixes, cleanups & refactoring. DROPPED DEPENDENCIES: * TagLib is not used anymore. 2007-07-07 Tom Szilagyi * Aqualung 0.9beta8 http://aqualung.sf.net This is a major release bringing significant new functionality and many important fixes. All users are encouraged to upgrade. Major additions: * Support for internet radio streams using Ogg Vorbis and MP3 audio encoding. * Tabbed playlist support, very similar in concept to the tabbed browsing feature of Firefox. Smaller fixes, rewrites and additions have been also done, particularly to the following areas: * Cut/copy/paste functionality implemented in playlist. Works with the usual Ctrl-X/C/V key combinations. * MPEG decoder: more robust in case of corrupt UBR files. * Command-line local and remote file loading. * M3U and PLS parsers. * HTTP proxy handling. * RVA handling: now supports setting a default value for unmeasured tracks. * Icons and Documentation. * Added Italian translation. 2007-02-18 Tom Szilagyi * Aqualung 0.9beta7.1 http://aqualung.sf.net This is a bugfix release, for some important fixes that were found due to the greater user coverage after the beta7 release. * Fixed drag and drop from external applications. * Remove selected tracks and invert selection in Playlist are now fast (optimized and improved). * Shortcut 'A' (show active song) doesn't interfere with CTRL+A (select all). * Added checks for NULL pointers as a workaround for a TagLib bug. * Added native WavPack decoder contributed by Maarten Maathuis. 2007-02-05 Tom Szilagyi * Aqualung 0.9beta7 http://aqualung.sf.net This release introduces important new features and bugfixes. Main reasons for upgrading: * CD Audio support, complete with CDDB, CD-Text, etc. You can play Audio CDs directly, or rip them to WAV, FLAC, Ogg Vorbis or MP3 (CBR/VBR, gapless via LAME) complete with tagging, on the fly. * Revamped Music Store Builder: better operation, greater flexibility. * Support FFmpeg library enabling the recognition of numerous formats e.g. AC3, AAC, WMA, WavPack, and the soundtrack of many video files. * Replaygain support for APEv2 tags. * Ability to set looping range when looping a single file. Should be useful for people playing along a recording, trying to learn phrases of a song. * Adding music to the playlist is now a non-blocking, interruptible background operation. * Drag-and-drop files from external sources (Nautilus, Konqueror, etc) into the Aqualung playlist. * Several critical memory leak fixes. * Numerous GUI refinements; fixed some rare bugs in engine, too. * Support for building against the new FLAC 1.1.3 API. * Aqualung operates correctly on bigendian systems (32 and 64 bit). * Running natively on MS Windows. A port of TAP-plugins is included in the installer. See http://aqualung.sf.net/win32 for more. NEW LIBRARY DEPENDENCIES: All of these are optional; Aqualung will build without them, disabling the functionality they provide. * libcdio >= 0.76 is required for CD audio support. http://www.gnu.org/software/libcdio/ * libvorbisenc for ripping into Ogg Vorbis. http://www.xiph.org/ogg/vorbis/ * libmp3lame for ripping into MP3. http://lame.sourceforge.net/ 2006-10-03 Tom Szilagyi * Aqualung 0.9beta6 http://aqualung.sf.net This release introduces a fair number of substantial improvements: * Music Store builder: automatically build a Music Store by scanning the files on disk. Perform CDDB lookups & extract metadata on the fly. * MPEG decoder enhancements: robust file recognition, VBR and UBR file support, frame-accurate seeking, true gapless playback via eliminating encoder padding+delay read from LAME headers. * Fully revamped metadata support using TagLib. The result is a more complete implementation also supporting APE tags in Musepack files. * Automatic output driver detection: ability to startup without command line arguments (using default driver parameters). * Systray (a.k.a. Notification Area) support. * Handling of compressed MOD files (.gz and .bz2). * Resolved issue with JACK memory locking (which previously resulted in runaway memory consumption). * Aqualung compiles & runs under FreeBSD and Cygwin. NEW LIBRARY DEPENDENCIES: * TagLib >= 1.4 is now required for metadata support. http://developer.kde.org/~wheeler/taglib.html * GTK+ >= 2.10 is needed for the (optional) Systray support. DROPPED DEPENDENCIES: * libid3tag library is not required anymore (succeeded by TagLib). 2006-06-30 Tom Szilagyi * Aqualung 0.9beta5 http://aqualung.sf.net This is a new milestone release after 17 months of silent development. Large parts of the program have been rewritten, refactored, fixed, etc. A multitude of new features have been added to the software, which now weighs into Open Source with about 30,000 lines of GPL'ed source code written by a handful of free-time developers (no, you won't need your whole hand). It won't make too much sense to precisely list every change made to the sources during this period - the list would be prohibitively lengthy. For the curious, the mailing list archive is recommended. The most important, high-level changes are summarized below. * Group CDs in the Playlist via "Album mode". Shuffle between records but play their contents in order! * Statusbars in Playlist and Music Store display statistics and other data. * Multiple Music Stores are supported - useful for separate genres, file formats or for music mounted from different file servers via NFS. * CDDB support! * iFP driver support for integrating with iRiver HW players! * Completely reworked Settings dialog, the new control center! * Embed Playlist into Main window for a more compact look! * Search facility for Music Store and Playlist. * Add support for Musepack (via libmpcdec), Monkey's Audio, Ogg Speex. * Rudimentary album art (cover display) support. * RVA-related work, improved metadata support. * Fixed a boatload of bugs concerning cyrillic filenames, etc. * MP3 improvements (file recognition, clipping, seeking...) * Better fault tolerance in Ogg Vorbis decoder. * Various GUI fixes, new command line options, etc, etc. * Improved build system for skins, icons, etc. * New skins (Ocean, Plain), new Logo (see About box)! ;-) * Better RT behaviour with Jack output * Compiles and runs on AMD64 (thanks to Mark Knecht for testing)! 2005-01-30 Tom Szilagyi * Aqualung 0.9beta4.1 This minor release fixes a crashing bug discovered shortly after the release of beta4. No new functionality was added. 2005-01-28 Tom Szilagyi * Aqualung 0.9beta4 http://aqualung.sf.net INCOMPATIBLE CHANGES: [none] NEW LIBRARY DEPENDENCIES: * liblrdf 0.4.0 is now required (was: 0.3.7) http://lrdf.sourceforge.net * libid3tag library required if you want ID3v2 support http://sourceforge.net/project/showfiles.php?group_id=12349 MAJOR CHANGES: * Internationalization support via gettext. German, Hungarian and Ukrainian translations available; new translations for any language happily accepted at any time * Implemented read support for .m3u and .pls playlist formats. The formats are distinguished using file extensions (case insensitive). Now you can supply .m3u or .pls files on the command line, or select one in the Load/Enqueue Playlist option of the playlist window's popup menu. Aqualung does not implement shoutcast ATM, so URLs will be simply discarded. * new 'File info' dialog box (accessible from the Music Store and the Playlist) displays FLAC stream metadata, Ogg Vorbis comments and ID3v2 tags found in the soundfiles. * playback RVA support. Aqualung has its own system for this, from volume level calculation of files in the Music Store, to adjusting the dynamics characteristics to your listening environment. * Import FLAC/Vorbis/ID3v2 metadata into the Music Store via the 'File info' dialog accessed from the Music Store. On the right side of the tag data fields, there are buttons to import every piece of information into relevant fields of the Music Store database. In particular, ID3v2.4 RVA tags can be imported as manual RVA adjustment values. * many changes to enable displaying track lengths and RVA values in the Playlist. You can configure the column order in the Playlist, and displaying Lengths and RVA values can be turned off. (Track lengths are shown on the right side, RVA is hidden by default.) * New Settings notebook page "Playlist" for configuring the behavior of this stuff. * new remote option to terminate an already running instance: the -Q or --quit option will cause the instance specified by -N, or the 0-th instance by default, to terminate (just as if you exited it normally). * added support for remotely changing the volume via the --volume or -V option. Defaults to the 0th running instance. * major code rearrangement of Aqualung Core (file decoder is abstracted, runnable in multiple instances at the same time, separated in file_decoder.[ch]) * added all four basic aqualung skins (dark, default, metal, woody) to CVS. These are automatically available after a make install from now, no need to install them separately. * also, the skins have been updated to match recent new dialogs & widgets * docs update (manpage, HTML) for the beta4 release. MINOR CHANGES: * ./configure won't stop anymore if an optional library is missing, unless --with-PACKAGE is applied. Closes mantis bug #16. * Changes to the interface for adding files to the playlist locally or remotely * Implemented conversion from/to UTF8/locale charset. (Closes mantis bug #7). Note: please set the environment variable G_BROKEN_FILENAMES or G_FILENAME_ENCODING appropriately if your filesystem encoding is not UTF8. See http://developer.gimp.org/api/2.0/glib/glib-running.html for details. * Starting playback of a new track via double-clicking on it in the playlist is now allowed when another track is being paused. (Closes bug #14) * Implemented cue-from-paused-state functions (re: bug #15) as suggested by SGh. * Added check for pkg-config -exist "jack" to configure.ac. Up till now, the ./configure script failed to detect the condition when the jack daemon is present, but development files are not. (As if you installed JACK from a distro, but forgot to include the corresponding -dev package.) * Implement trashlist object to collect and eventually free pieces of memory that are malloc'ed in an ad-hoc manner in different places, but need to be freed sometime. * Use the trashlist to collect and free some memory that was leaked until now in LADSPA plugin dialogs and the File info dialog. * renamed "Options" dialog to "Settings". This name better suits the purpose of this dialog. * minor rearrangement of "Add Artist", "Edit Artist", "Add Record", "Edit Record", "Add Track" & "Edit Track" dialogs, hopefully for the better. * changed About box font to normal (Courier is not always available) * Workaround LADSPA plugin loading bug on ReiserFS (use the --with-brokenplfix configure option) 2004-09-09 Tom Szilagyi * Added support for remotely controlling running instances as well as adding new files to their playlists. * Added support for adding files to playlist from the command line. * Display instance numbers in title bar (except for the first instance) * Minor fixes to the internal cueing logic. * Aqualung 0.9beta3 2004-09-06 Tom Szilagyi * Added support for MOD file formats (MOD, S3M, XM, IT, etc.) * When using JACK output with custom client name, this client name is displayed in the title bar of the main window * Aqualung 0.9beta2 2004-09-03 Tom Szilagyi * First public release: Aqualung 0.9beta1