Cantata Changelog

What's new in Cantata 2.3.3

Jan 8, 2019
  • For Opus files, use R128_TRACK_GAIN and R128_ALBUM_GAIN to store replaygain values.
  • Remove user-agent checking when serving local files, this is easily fake-able and breaks playback to forked-daap (and mopidy?)
  • Add '.opus' to list of recognised extensions for local files.
  • Initialise network proxy factory when starting.
  • If artist, album, and title are empty in replaygain dialog, then show filename in title column.
  • Opus does not use replaygain peak tags, so do not write.
  • Use same 'album key' for all discs in an album, so that playqueue groups them together, and shuffle by albums keeps them together.
  • Remove confirmation dialog when saving replaygain tags.
  • Fix saving 'Descending' order for smart playlists.
  • When getting 'basic' title of song, also remove any 'prod. XXX', etc. values.
  • Allow .jpeg as extension from cover dialog.
  • Fix QMediaPlayer stuck with network streams - thanks to theirix
  • Always show volume control.
  • Fix 'Show Current Song Information' (i) toolbar button showing when interface is collpased and resized.
  • When expand intrface, don't shrink width. Conversely, when collapsing don't expand width.
  • In grouped style playqueue, only show album duration if there is more than one track from the album.
  • Don't try to reduce brackets when showing album name and year.
  • Add option to sort smart playlists by title.
  • Change toolbar colours if palette changes.
  • Add another qt5ct palette work-around.
  • Don't stop library scan just because of failure in 1 directory.
  • Handle empty VolumeIdentifier in MTP devices.
  • Add more actions to search page results.
  • For MPD>=21, use its albumart protocol to fetch covers.
  • When copying tracks to a device, only update cache if configured to do so.
  • Fix MusicBrainz disc ID calculation.
  • When loading URLs via commandline use AppendAndPlay.
  • MPRIS seeks command specifies an offset from current position.

New in Cantata 2.0.1 (Jun 5, 2016)

  • Delay creation of Jamendo and Magnatune DBs until required.
  • Fix 'Scroll to current track' in table style play queue if track number column is hidden.
  • Add icon for proxy config - if proxy settings enabled.
  • Fix possibly missing save play queue icon.
  • Install pre-rendered PNG icons for Linux builds.
  • Use last.fm 2.0 API for finding similar artists in dynamic playlists.
  • Fix listing of CUE files.
  • Only honour 'startHidden' setting if also configured to use system tray.
  • Folder page nolonger has a search field - so if upgrading from a 1.x config with folder search visible, then hide it.
  • Don't allow copying of cue file tracks to devices.
  • When calculating collapsed window height, take into account size of menubar, if it is visible.
  • Try to ensure menu button width is at least equal to height.
  • Fix compilation on some systems.
  • Remove usage of libavutil/audioconvert.h - its no longer in ffmpeg since 1.3, and Cantata does not need it anyway.
  • Fix playback of AudioCDs
  • Fix incorrect AudioCD cover
  • Fix Qt5 gcc5 compilation.
  • Fix wrong/missing ratings in toolbar.
  • Fix compilation with Qt5.7
  • Fix drag'n'drop of non-loaded playlists.
  • Use a single-shot timer to timeout obtaining current cover.
  • Fix AudioCD playback when MPD's curl is using IPv6
  • Fix current track display when chaging from one track with no meta-data to another with no meta-data.

New in Cantata 2.0.0 (Jan 25, 2016)

  • Use SQLite to cache MPD listing
  • Combine Artists and Albums into Library tab
  • Allow grouping by Genre
  • Merge Online and Streams into Internet tab
  • Merge Playlists and Dynamc Playlists tabs
  • Use 'Composer' tag to group albums of specified genres
  • Use mix of icon themes for flatter icon style - and use mono icons where appropriate

New in Cantata 1.5.2 (Mar 24, 2015)

  • Fix Ubuntu Touch builds.
  • When refreshing search menu, clear items first!
  • Fix setting of cover when existing cover is embedded in music file.
  • Fix OSX executable name for case-sensitive filesystems.
  • Hide ratings widgets, etc, in tag editor for devices and Mopidy, etc.
  • Use Control+Alt+Number as shortcut to toggle an output.
  • Don't allow to set short-cuts for actions that are menus.
  • Add high-dpi support to Linux and Windows Qt5.4 builds.
  • When calculating ReplayGain, if peak value is less than 0.00001 then assume the calculation is invalid.
  • When parsing podcast RSS, if episode is marked as video (e.g. video/mp4) but the url ends in an audio extension then it is proably an audio podcast.
  • Correctly initialise seach category.
  • Fix potential crashes on refresh.
  • Fix duplicate notification when Cantata is started whilst playing, or when 'Replace Play Queue' is used.
  • Only show output change notification if outputs menu was not previously empty.
  • Construct a new config object, rather than changing group, to avoid any race conditions.
  • If fading volume on stop, then reset volume just before stopping. Some outputs (e.g. pulse audio) only allow setting a volume whilst playing.
  • If 'url' entry is empty in 'enclosure' section of podcast RSS file, then use 'guid' text as url - if possible.
  • Fix copying of covers to UMS, etc, devices if song is transcoded.
  • Add an option for 64 bit non KDE linux builds to install helper apps to lib64 instead of just lib. Pass -DCANTATA_HELPERS_LIB_DIR=lib64 to cmake.
  • In tag editor, only mark rating as changed if it has been.
  • For Linux non-KDE builds, use login1 interface to detect system resuming.
  • Enable scrobble 'love' button even if scrobbling is disabled.
  • Don't crash when detecting an audio CD with no tracks.
  • When playing a digitally imported (or JazzRadiom, etc) stream from the favourites section, then modify the URL if the user has a premium account (to match what existing behaviour is stream is played from the station list)
  • Workaround build issues with SpeexDSP 1.2rc2
  • Use correct stream icon in playqueue for streams with no song details.
  • Fix FreeBSD build.
  • Respect carriage returns when displaying comments in context view.
  • Fix replaygain calculation when ffmpeg is using planar formats.
  • Enable 'save' button when reading ratings from multiple files.
  • Fix cantata-remote script (used for Unity launcher integration) when this uses qdbus.
  • Fix display of rating in tag dialog when only 1 file is being edited.
  • Fix fetching of ratings in table style playqueue.
  • Don't convert -ve track, disc, or years to unsigned - set to 0.
  • Bundle openSSL libs with windows builds.

New in Cantata 1.5.0 (Oct 27, 2014)

  • Remove cover size setting, set automatically.
  • Artist images only shown in grid view.
  • No images, or icons, shown in basic tree view.
  • Remove GUI option to control saving of scaled covers. This is enabled by default, and can be toggled via the config file.
  • Don't re-load view when sort changes.
  • 6. Simplify view config pages.
  • 7. Use QUrl with server details to build HTTP address used to compare MPD http file paths against.
  • Store song ratings in MPD's sticker DB. Ratings stored using 'rating' key and values 0 to 10. In the UI, ratings are show as 5 stars.
  • If we fail to download a cover, don't keep trying next time song is played.
  • Simplify toolbar cover widget, no border.
  • Allow preference dialog to shrink smaller. If screen size is less than 800px, then views page is re-arranged to allow much smaller dialog, category selector uses smaller icons, and headers are removed.. You can check this setting by calling cantata as follows: CANTATA_NETBOOK=1 cantata
  • Support MPDs "find modified-since" with MPD 0.19 and newer. If a number is entered it is taken to be 'modified since X days in past', otherwise a date should be entered (e.g. 01/12/2001 to find all tracks since 1st Dec 2001) Cantata will first try to convert from your locale date format, default date format, and then ISO date format.
  • Show covers in search results.
  • Show performer in cover tooltip if this is set and different to album artist.
  • Always large action icons for grid view.
  • Increase gap between add and play icons in grid view.
  • Disable volume fade on stop by default - this is really something MPD itself should implement.
  • Remove 'Add albums in random order' from view context menus.
  • Reorganize playqueue context menu.
  • Use 'Metadata' and not 'Tags' as metadata/tags view in context song pane.
  • Minor changes to song progress slider.
  • Show covers in playlist tree and list views.
  • Use read-only editable combo for filename in tag editor, so that text can be selected.
  • Also read /com/canonical/desktop/interface/scrollbar-mode to determine if overlay scrollbars have been disabled.
  • Add note about 'AlbumArtist' tag to initial settings wizard.
  • Use QDesktopWidget::logicalDpiX()/96.0 to set DPI scale factor.
  • Expand ~/ to QDir::homePath() when read from UI.
  • Save QDir::homePath()/ as ~ in config file, and convert when read.
  • Allow all bar title and artist columns to be hidden in playqueue.
  • Add option to disable song info tooltips.
  • Only show icons in message widget buttons if style uses icons for dialog buttons.
  • Add option to have separate play queue search action - enabled by default.
  • Revert back to storing scaled covers as JPG. PNG is taking too much space, especially with retina displays.
  • Read ArtistSort, AlbumArtistSort, and AlbumSort from MPD. If found, use these to sort items.
  • Add 'Full Refresh' action - cuases caches to be removed, and models to be completely refreshed.
  • Add actions to mark podcast as episode as listened or new.
  • Add action to cancel podcast downloads.
  • Download podcasts sequentially.
  • Configurable limit to auto podcast downloading.
  • When starting, remove any previous partial podcast downloads.
  • Don't make media keys backend configurable, auto detect the best one.
  • Remove Gtk combo popup size hack.
  • Fix Qt5 translations.
  • Add button to status bar to eanble/disable playback of MPD HTTP output stream.
  • Show notification when outputs changed.
  • Connect MPRIS stopAfterCurrent signal to correct action.
  • Add prev/play/pause/etc actions to Unity launcher, and to windows taskbar entry.
  • Fix current track highlight in grouped view under windows for header item.
  • Use same selection drawing for all views.
  • Fix size of collapsed window in windows builds.
  • If run under Unity or OSX, then place close buttons on left.
  • Fix auto-marking of played downloaded podcasts when connected via a local socket.
  • Fix playback of local files by inbuilt HTTP server.
  • In catata-tags.exe set unhandled exception handler, to prevent windows crash dialog appearing.
  • If a command fails to be sent to MPD, and the socket is in an error state, then reconnect and update status and playqueue.
  • For windows builds, when window is not focused, draw sidebar selection as a darkened background.
  • If MPD supports https, then there is no need to convert SoundCould URLs.
  • If playlist is loaded and replaces playqueue, then start playback of first track.
  • Custom/thin scrollbars for context view.
  • If fail to read a Gtk setting from DConf then try GSettings.
  • Send a message (default to 'status') at least once every 30 seconds to keep command connection alive.
  • Fix inconsistent default cover sizes.
  • French translation - thanks to Jaussoin Timothée.
  • Seek 5seconds when control (or command for Mac) and lef/right arrow keys are pressed. (Seek setting may be changed via config file - refer to README for more details.)

New in Cantata 1.4.2 (Sep 29, 2014)

  • When guessing song details from filename (due to missing tags), remove any extension - not just three letter extensions!
  • In tag editor, only show '(Various)' hint for the 'All tracks' entry.
  • Also capitalise composer in tag editor.
  • Resize device properties dialog when changing transcoder.
  • Initialise sidebar icon sizes before constructing.
  • Display multiple genres as separate entries in playlists page genre combo.
  • Resize cover in grouped view if it is too wide.
  • In context view, when creating links to similar artists compare artists names case-insensitively.
  • Fix downloading of podcasts when url is redirected.
  • If 'force single click' is disabled, then double-click on icon view will not add artist/album to playqueue but navigate into.
  • When using Cache config page to clear disk cover/scaled-cover cache, also clear memory cache.
  • Allow to change stream, and online-service, filter search category without closing current search field.
  • Fix combo-box text changed signal for Qt5 builds.
  • Don't have double spacer when cover-widget is hidden.
  • Fix crash in context view if song tracks changed quickly.
  • Better method of setting disabled opacity for monochrome icons.
  • Fix parsing of podcast RSS files containing "content" tag.
  • Set user-agent for podcast URL queries, otherwise requests can fail.
  • Use https://googledrive.com/host/XXX and not https://drive.google.com/uc?export=download&id=XXX for stream provider URLs, etc. Seems like the drive.google.com URLs have download limits.
  • Fix crash when changing buttons of dialogs in Qt builds.
  • Fix setting of played state for podcasts.
  • Fix display of unplayed podcast episode counts.
  • Check if downloading podcasts in closeEvent() as well as quit()
  • If initial settings wizard is canceled, ensure that it is shown at next start.
  • Ignore empty station names in shoutcast and dirble.
  • Fix potential crash when parsing cue files.
  • Replace any of (/ ? < > \ : * | ") with underscore when creating cover file cache names under windows.

New in Cantata 1.4.1 (Aug 27, 2014)

  • Remove unused var warning when compiling without online services.
  • Remove some moc/QObject warnings in KDE builds without streams or http server.
  • Update current song to scrobble, even if disabled, so that when enabled we can scrobble.
  • Seems like MPDSribble itself is broken with regards to sending "love" status, so remove MPDScribble from list of scrobblers.
  • Last.fm replies are XML, so decode these properly!
  • Don't log scrobbler session key to debug file.
  • Remove extra margin in podcast settings dialog.
  • When adjusting track numbers in tag editor, start from first actual track.
  • Only enable 'center on current track' action if there is a current track.
  • Use comma to split multiple genres in tooltip and table views.
  • Don't URL encode scrobble keys, just values.
  • If now playing has been sent, track has not been scrobbled, then when track is played after beeing paused for more than 5 seconds resend now playing.
  • Rescrobble, and re-send now playing, if track is repeated.
  • Exceptions are required for all non Qt5 builds.
  • Fix crash in settings dialog when some system-tray options removed.
  • Use QIcon::fromTheme to set system-tray icon.
  • Fix compilation with older ffmpeg versions.
  • Fix compilation with taglib versions older than 1.8
  • Use KDE cmake macro to enable exceptions in KDE builds.
  • Don't alter text of 'Other Views' tab in preferences dialog if streams, online, and device support are disabled - as there are still 2 views; folders and search.
  • Only remove cached scaled covers if updated via cover dialog.
  • If auto-splitter hide is disabled, then restore sizes.
  • ReplayGain settings only valid for MPD v0.16 onwards.
  • Don't center align context view headers and images - as this does not always work for images.
  • Attempt to align song view selector with header.
  • Remove 'Add albums in random order' from search view context menu.
  • Remove mention of streams from initial settings wizard file settings.
  • Fix updating of playqueue background when option changed in preferences dialog.
  • Fix reading of playqueue, and context, backdrop settings.
  • Fix uneven view heights when touch friendly setting is enabled.

New in Cantata 1.4.0 (Jul 29, 2014)

  • Use external helper app to read/write tags. Isolates Cantata from TagLib crashes.
  • Lyrics auto-scroll.
  • Option to auto-switch to context view.
  • Toolbar reorganisation.
  • Comment tag support for tag-editor and dynamic playlists.
  • Attempt to respect menubar usage of current DE.
  • Reduce memory used by covers.
  • Artists and albums with new tracks shown in bold.
  • 'Touch Friendly' option - increases button widths, and makes views flickable.
  • Multiple genre support.
  • Streams now stored in '[Radio Streams]' MPD playlist. Compatible with MPDroid development version.
  • Use MusicBrainz AlbumId (if set) to differentiate albums. This helps if you have multiple releases of the same album.
  • Search for streams via dirble.
  • Reduce supplied stream providers to IceCast, ShoutCast, Drible, and TuneIn. Provide dialog to download others from Google drive.
  • Qt-only by default.
  • Scrobbling.
  • Show song lyrics, information, and tags, in context view.

New in Cantata 1.3.4 (Apr 9, 2014)

  • Fix adding songs to playqueue with priority when playqueue is not empty.
  • When loading covers, if load fails, check to see if this is because of an incorrect extension. e.g. load a .jpg file with PNG type, and vice versa.
  • Fix showing of time-slider when Cantata is started minimized to system tray and MPD is playing.
  • Remove unused 'Back' action.
  • Don't treat albums with artists such as 'AlbumArtist ft Other' as multiple artist albums.
  • Fix updating of playqueue sidebar tooltip and icon.
  • Add playqueue action to main window, so that shortcut works.
  • When using track organizer, also try to move artist images, backdrop images, and playlist files.
  • After altering filename scheme from track organizer, save settings.
  • Don't set year or disc in tag editor for 'All Tracks' unless they are non zero.
  • In tag-editor, when obtaining values to use for 'All Tracks' entry, don't ignore empty fields.
  • When determining album year, ignore playlist files!
  • If MPD database is refreshed whilst listview is not at top level, then reset view to top level.
  • When TrackOrganizer is called after TagEditor, only perform MPD update once.
  • When editing filename scheme, after inserting a variable set cursor position to after newly inserted text and give focus back to line edit.

New in Cantata 1.3.3 (Mar 26, 2014)

  • If Cantata is started whilst an instance is also running, raise window of current instance. (Linux only fix)
  • Add song to playqueue from albums page when double-clicked.
  • Fix display of online-service track album-artist in copy dialog.
  • Ensure library is loaded the very first time Cantata is run (ie. after connected to MPD via initial settings wizard).
  • When song is updated in context view, abort any current network jobs.
  • Fix expand all / collapse all actions. Expand all will only expand 1 level for main browsers.
  • When reading lines from user mpd.conf file, read as utf-8.
  • Reset devices and online-services models when artist-view cover size changes.
  • If downloading online-service track listing fails, then stop loader and show error.
  • Use new location of Jamendo DB listing.

New in Cantata 1.3.0.1 (Feb 21, 2014)

  • Compile fix for KDE builds

New in Cantata 1.3.0 (Feb 21, 2014)

  • Basic undo/redo for playqueue.
  • Search tab - searches performed via MPD. This tab is hidden by default.
  • Optionally cache scaled covers, to improve loading of albums view. (Displaying of covers should be faster after 1st run, when the scaled contents are saved)
  • Only start internal HTTP server when required, and stop after last non-MPD track removed from playqueue.
  • If listallinfo fails then use lsinfo recursively to retrieve the music collection. listallinfo requires more memory with MPD 0.18, and has been reported to fail for large collections.
  • Cache folder listing (as per music collection), if folders view is used.
  • Better support for Mopidy (requires Mopidy 0.18, or newer)

New in Cantata 1.2.2 (Jan 6, 2014)

  • Fix British English translation.
  • Improve internal HTTP security - only serve files to MPD host, and only files in playqueue.
  • Also remove CDDA files when Cantata exits.
  • Improve error message if 'playlist_directory' does not exist.
  • If icon theme does not have network-server, then use audio file icon for HTTP server settings page.
  • Fix truncated files served from internal HTTP server.
  • When adding songs to an existing play lists, dont allow play list files to be added.
  • If Ctrl-F is activated again whilst search widget is visible, then select all current text.
  • When MPD seeks a Cantata HTTP stream, set the Content-Range header field. This fixes seeking of FLAC files.
  • Fix toggling of checkboxes via short-cut.
  • Fix short-cuts in preferences dialog.
  • Dont clear the playqueue when Cantata is passed a song as a commandline at start-up.
  • Fix broken spinboxes in some dialogs with Gtk style.
  • Correctly style treeview in CD details dialog.
  • Only show artist name of CD track if it does not start with main CD artist.
  • Show track numbers in CD listing.

New in Cantata 1.2.0 (Dec 16, 2013)

  • Podcasts
  • Opus audio format
  • User-installable stream categories
  • ShoutCast search
  • Composer tag
  • Slimmer toolbar (new time slider and volume control)

New in Cantata 1.1.3 (Oct 9, 2013)

  • (Hopefully) fix selection order of items - and order added to playqueue.
  • Updated translations: German, Spanish.
  • Add Russian translation, thanks to Julia Dronova.
  • Online services support does not require taglib.
  • Fix changing of Music folder for 'Personal' mpd collection.
  • Use QDesktopServices/QStandardPaths to ascertain default music folder for 'Personal' collections.
  • If no icon is to be used on a message-box button, then ensure the icon is cleared.
  • Fix display of album year in playqueue for KDE builds.
  • If we recieve an error from MPD via status, then display this in the main window.
  • Don't react twice to every volume change. Volume was changing in 10% increments, whereas it should have been (and is now) 5%
  • Bind increase volume, decrease volume, and mute actions to main window, so that shortcuts work.
  • Fix number display in replaygain dialog in Qt-only builds.
  • When reading default MPD music folder, ensure this has a trailing slash.
  • Only enable 'Edit Song Tags' on playqueue if MPD music folder is readable.
  • Slightly improve tag-guessing from tracks without tags. Now the following are acceptable:
  • Artist/Album/TrackTitle.mp3
  • Artist/Album/TrackNo TrackTitle.mp3
  • Artist/Album/TrackNo-TrackTitle.mp3
  • Artist/Album/TrackNo. TrackTitle.mp3
  • Artist - Album/TrackTitle.mp3
  • Artist - Album/TrackNo TrackTitle.mp3
  • ...etc.
  • Fix artist and album genres.
  • Show albums by artist, etc, even if wiki/last.fm search fails.

New in Cantata 1.1.2 (Sep 3, 2013)

  • Fix build due to broken translation files.
  • After toggling various artists grouping, or group single tracks, update list of genres associated with artists.
  • Fix decoding of details for Online service URLs sent to MPD, and subsequently read back.
  • Dont allow dragging of stream categories onto playqueue.
  • Replace # in stream names with ${hash} when passing to MPD, and revert when URL is displayed.
  • Fix covers when using album artist for multiple artist albums, and album artist name is "Various Artists" - but this has been translated in Cantata.
  • Dont draw item divider in icon views.
  • For Qt4 less than 4.8.4, then use old dbus Qt type annotations.
  • Default to exporting favourites streams XML into home folder.
  • Reset the covers-requested-per-iteration counter after each event loop iteration. This should fix the case where sometimes the system tray notifications would not have a cover image.

New in Cantata 1.1.0 (Aug 15, 2013)

  • New context view - shows artist info, album info, and lyrics of current track. Optionally also displays large artist image as background. Retrieves info from wikipedia, as EchoNest seems to be English only.
  • Optionally show current album cover as backdrop to playqueue.
  • Add support for a per-user, Cantata controlled, MPD instance.
  • Option to toggle usage of monochrome sidebar icons.
  • Simplify, config UI. Only show HTTP settings if more than 1 active interface, dont build Proxy config by default.
  • Automatically play AudioCD if started with cdda:// URL
  • Automatically assign accelarators in Qt bulds, to match KDE behaviour.
  • HTTP stream playback for Qt5 builds with QtMultiMedia. (Disabled from default builds, pass -DENABLE_HTTP_STREAM_PLAYBACK=ON to cmake)
  • Simplified streams page. Search for streams via TuneIn.
  • Place search fields at bottom, hidden by default.
  • With MPD 0.17 and above, attempt to split cue files into separate tracks.

New in Cantata 1.0.3 (May 27, 2013)

  • 1. Dont display codec settings in copy dialog unless we are copying to a device, or from an AudioCD.
  • 2. Save size of Track Organiser, Tag Editor, and ReplayGain dialogs.
  • 3. Fix consistency of default button in messageboxes between Qt and KDE builds.
  • 4. Unless using a dark toolbar, use same colour for toolbar menu icon as per menu icon in views.
  • 5. Document how to make a release build.
  • 6. When searching for artist information, if song's album artist contains artist, then use album artist. This is for tracks that have an artist such
  • as "abc featuring 123", and album artist is "abc"
  • 7. Improve comsume icon at larger sizes.
  • 8. Fix lyrics background when we toggle from showing cover to not showing.
  • 9. Replace multiple blank lines with single blank line when showing lyrics.
  • 10. Fix AudioCD playback.
  • 11. Remove time remaining from action dialog - its not accurate enough to be meaningful.
  • 12. Fix detection of whether streams file is writable or not.

New in Cantata 1.0.0 (May 3, 2013)

  • Basic cover manager.
  • AudioCD suport - playback and rip.
  • Better MTP support - handles multiple storage locations, fixed creation of folders.
  • First run wizard.
  • Option to embed covers in music files when copied to device.
  • Import of Radio, IceCast, and SomaFM streams.
  • Jamendo and Magnatune support.
  • Ambiance theme support - dark toolbar, move window via toolbar, and overlay-ish scrollbars.
  • Remove WebKit usage. Use EchoNest to retrieve artist biography, and list of similar artists.
  • Stop after current track.
  • Monochrome sidebar icons.
  • Speed up play queue searches.

New in Cantata 0.9.2 (Jan 17, 2013)

  • (Qt-Only) Dont show clear button for read-only line-edits.
  • Fix 'Locate In Library' when library is not set to tree mode.
  • Use grid layout for transcoder slider, removes Qt layout warning.
  • Simplified Chinese translation - thanks to 薛景
  • Fix restoring of splitter sizes when we start minimized to system tray.
  • Fix decoding of Cantata HTTP stream URLs.
  • Work-around issue of non display of main window when using transparent QtCurve theme.
  • Fix playing of some non-MP3 files external to MPD database via Cantata's simple HTTP server.
  • Fix playing of files containing square brackets, etc, that are external to MPD database via Cantata's simple HTTP server.
  • Fix detection of some filetypes.
  • Prevent multiple KDE Cantata windows appearing if app is attempted to be started repeatedly in quick succession.
  • For streams, if we have a 'name' but no artist or album title, then just display the name (this is usually the Radio Station)
  • For a song to be 'empty', artist, album, title, and name need to be empty. This fixes detection of updates to the name field when playing streams.
  • Fix potential memory leak when stopping threads.
  • Only enable play queue save-as and clear buttons if there are items in the play queue!
  • Fix detection of streams in play queue when current song is updated.

New in Cantata 0.9.0 (Dec 7, 2012)

  • Add a 'server' mode to cantata-dynamic. This contains a basic HTTP API to list rules, update rules, and start/stop the dynamic mode.
  • Allow use of 'dynamic' playlists in windows builds, but only for server mode cantata-dynamic.
  • Add support for 'Similar Artists' in dynamic mode.
  • Add a gui setting to control the enforcement of single-click.
  • When sorting tracks, sort on duration after sorting on name, title, and genre. This way if tracks do not have a track number, disc, year, etc, then we will sort on the name/title before duration.
  • When refreshing DB, make sure Albums view is at top level.
  • Set Artist, AlbumArtist, and Album of cue files to that of assigned album.
  • Improve item-view mouse over for Gtk+ style - when hovering, draw selection into a QPixmap and set painter's opacity before drawing image.
  • Workaround issue of sometimes having an item (in icon view) staying in mouse-over state, even though mouse has left view.
  • For Qt translations, provide two strings for plural translation. One for singular (e.g. "1 Track") and one for plural (e.g. "%1 Tracks"). For languages that have more than 1 plural form, it is suggested that BOTH strings are translatated to the format "Items: %1" - e.g. "1 Track" becomes "Tracks: 1", and "%1 Tracks" becomes "Tracks: %1"
  • Device sync support for Qt-only builds. To support this, a cut-down version of Solid is included.
  • Don't enforce oxygen icons for Qt-only (Linux) builds. Check for missing icons, and use alternatives.
  • Use a random icon that matches the repeat icon better.
  • Draw the consume icon in code, so that it matches random and repeat better.
  • Add a ON/OFF style checkbox for linux builds when NOT run under KDE, and using QGtkStyle.
  • Add a custom spinbox to closer match Gtk3's large button spinbox style. Only for linux builds NOT run under KDE, and using QGtkStyle.
  • Add 'Show Window' action to Linux builds - so that we have a way of restoring the Cantata window from the Unity menubar.
  • Use freedesktop.org notifications for Qt-only Linux builds.
  • Show menubar when run under Unity (Qt-only build).
  • Improve MPRISv2 interface - signal when proprties change.
  • Play/Pause track when middle click on tray icon for Qt-only builds (KDE builds already have this). Thanks to spartanj for the patch.
  • Remove faded icons from background of sync dialog views (as these did not render correctly with all styles), and enforce alternate row colours - as per other views.
  • Fix image/icon size, and spacing issues, in sync dialog when the library view is set to use icon/list style.
  • Add 'Add To Playlist' action to playqueue context menu.
  • Fix retrieval of covers from file-system based devices.
  • Support for modifiable keyboard shortcuts in Qt-only builds. (Code stolen from Quassel!)
  • Add option to control whether Cantata should minimise to the notification area when closed (default), or terminate.
  • Only save settings when modified.
  • Add option to support GNOME media keys.
  • Add setting to control name (without extension) of downloaded cover files.
  • For KDE builds, if run under Unity set KStatusNotifierItem status to Active - otherwise no item appears.
  • Truncate error messages to 150 characters. Set message (up to 500 characters) as tooltip of message widget.
  • Remove setting of dockmanager item to current cover. This is better handled by an external dockmanager helper script, as per amarok, etc.
  • Remove option to enable/disable MPRIS interface, and always have enabled.
  • Disable Phonon stream playback support by default. Currently not all Phonon backends seem to work reliably, and there can be delays between pressing a button (e.g. start) and the action occuring (due to buffering?). To re-enable pass -DENABLE_PHONON=ON to cmake.
  • Handle UTF-8 playlist names.
  • Sort selected playqueue indexes before adding to stored playlist.
  • Update 'Add To Playlist' menu when rename a playlist.
  • Only need to download/parse streams (to check if they are a playlist) when added from the streams page. (Streams in an MPD playlist will not be playlists themselves, as MPD does not support this.)
  • Allow building of replaygain support with either ffmpeg or mpg123, or both.
  • Display extra information texts in messageboxs and not whats-this popups, as QGtkStyle seems to have issues with the palette in these.
  • Fix dynamic playlists with UTF-8 strings.
  • Remove unreferenced library cache's each time connection details are saved.
  • When KDE version is closed via quit action, ensure main window destructor is called - so that settings are saved.
  • Compile windows build against taglib 1.8 - enables tag editing and track reorganisation.
  • Korean translation - thanks to Min Ho Park.
  • Fix detection of audio codecs for ffmpeg 1.0.
  • Remove libmaia usage.
  • For Linux Qt builds, use dbus to determine single app status.
  • Add connect/disconnect functionality for UMS devices.
  • Fix crash when calling QFileDialog in Qt-only builds when Oxygen or QtCurve themes are used.
  • In devices view, only show covers that come from device.
  • Remove folders, albums, and cover art, when deleting tracks from MTP devices.
  • Copy covers from MTP devices. (Copying to the device is not currently supported.)
  • Show track listing progress when loading MTP devices.
  • For Qt-only Linux builds, check if current icon theme has the "document-save-as" icon. If not, then if the user has ether oxugen or gnome icon theme installed - set the icon theme name to this.
  • For Qt-only builds, allow to configure the icon theme name via Cantata's config file (~/.config/cantata/cantata.conf on Linux). Edit file and add (e.g.) the following in the "[General]" section:
  • iconTheme=oxygen
  • ...there is no GUI for this, as its only a work-around for some window managers.
  • If group single tracks, or multiple artists, settings are changed, then rebuild library and device models from existing set of songs - as opposed to re-reading all songs from mpd/device.
  • If window is minimized to system tray when Cantata is terminated, then restore to this state when restarted.
  • Add search line-edits, and expand/collapse all, to sync dialog.
  • Add a 1 pixel border around large cover in top-left corner.
  • When refresh button is pressed send an update and stats request to MPD.
  • Hard-code black background and gray text for cover widget tooltip.
  • Ignore quit action if we have open dialogs.
  • Fix crash when copying items to devices after a rescan has been performed.
  • Use UPower (Linux/Qt) to detect when being resumed, and if so reconnect to MPD.
  • In sync dialog, when detecting items unique to library/device, revert various artist work-around for each track if it is enabled on the device.
  • Fix memleak when copying items to/from devices.
  • When creating temp files, ensure these are in /tmp!
  • If applying various artist workaround for a remote device, apply the workaround to a local temp file, and send this.

New in Cantata 0.8.3 (Sep 4, 2012)

  • Add CMake options to disable 'automagic' dependencies - required for gentoo USE flags (http://www.gentoo.org/proj/en/qa/automagic.xml). Because of this WANT_KDE_SUPPORT option has been renamed to ENABLE_KDE
  • When requesting covers from a HTTP server, use QUrl::toPercentEncoding.
  • Fix multiple download attempts when getting covers from HTTP.
  • With KDE builds (4.7 or later), and Windows Qt builds, reconnect to MPD when system is resumed. (A reconnect attempt is made every half second for a max
  • of 15 seconds)
  • To help with windows build, embed pre-rendered versions of main icon.
  • When restoring window from notification area, also raise and activate the window.
  • Fix issue with certain styles not drawing selection background in icon view.
  • If we show an error, or info, message whilst using compact interface - then adjust size to take message widget into account.
  • If we lose MPD connection, then show error widget.
  • Reset status when connection lost.
  • Don't attempt to send commands if not connected.
  • In Qt-builds, if we fail to update files (tag editor, replaygain) then show the list of failures in the 'detailed text' section.
  • In Qt (Linux) build, also register org.kde.cantata service - so that messages from dynamic helper can be received.
  • Update version of KMessageWidget
  • Update Polish translation.
  • Use 'avcodec' if 'ffmpeg' is not found.
  • Show current song details in tooltip of notification icon for Qt builds as per KDE builds.
  • If 'showPage' is called (via DBUS interface), ensure interface is expanded.
  • Save MPD filename scheme settings with MPD server settings.
  • Use QWIDGETSIZE_MAX and not INT_MAX to set maximum height of expanded interface.
  • More consistent control of prev/next buttons.
  • Allow 'showPage' dbus command to also show playqueue (if this has been placed in the sidebar)
  • Fix handling of filename's with quotes.
  • Fix track order when adding newly added album, via folders page, to playqueue.
  • Don't split albums based upon year - this messes up compilation albums, where each track may have a different year.
  • To be consistent, use the year of the lowest track number to be an album's year.
  • Use "users" group and not "audio" when setting the group ID of covers, lyrics, and audio files.
  • If we have no song tag details, show filename in playqueue.
  • In KDE builds, check if MPD is readable each time we get a device added or removed signal from Solid if using KDE4.9. If we are using an older KDE, or using Qt-only (on Linux) then watch for changes to /proc/mounts
  • If the date string received from MPD is longer than 4 characters, just use the first 4 - as we are only interested in the year.
  • If not changing artist/albumartist/album of a track in tag editor, then just update track if possible - as opposed to removing and adding to list (which causes a complete refresh of list)
  • When displaying cover tooltip, if image is too big or image file is not found (as is the case for embedded covers), then save the image into a base64 array as a PNG - and have Qt use this in the 'img' tag.
  • Package Qt's jpeg image plugin with windows zip file - otherwise jpeg cover images cannot be loaded!
  • Package missing edit-clear-locationbar-rtl.png icons so that clear button appears in windows line-edits.
  • Use correct palette (Active/Inactive) when drawing item text.
  • Force single-click activation in views. To enable double-click mode (which depends upon the style), edit cantatarc (KDE) or cantata.conf (Qt only) and set 'forceSingleClick=false' in the '[General]' section.
  • When looking for album covers, also check for "${file}.jpg/png", "${albumArtist} - ${album}.jpg/png" and "${album}.jpg/png" within current songs folder. (These are checked AFTER cover.jpg/png, etc.)
  • Improve FancyTabWidget appearance for Gtk+ style - when hovering, draw selection into a QImage and set painter's opacity before drawing image.
  • Elide to right (or left for RTL) strings in sidebar.
  • Implement support for translations in Qt-only builds. These use the KDE translations. Plural forms not supported correctly, hence instead of
  • "1 Track" / "2 Tracks" Qt will have "Tracks: 1" / "Tracks: 2" The existing translations will need to be updated to handle the Qt specific cases.
  • Dont clear genre list when clearing music library model.
  • If we are grouping multiple-artists albums under 'Various Artists', then we also need to place 'Various Artists' albums there as well. This oddity can occur when i18n('Various Artists') != 'Various Artists'
  • Add 'Back' action to context menu of list/icon views.

New in Cantata 0.8.0 (Jul 9, 2012)

  • Add ability to play MPD HTTP output stream via phonon. Thanks to Marcel Bosling for the idea and initial patch.
  • Implement Ctrl+MouseWheel zoom for Qt-only info view.
  • Initial attempt at a Windows port. (This is my 1st EVER windows build, so don't expect much!). See README.
  • Add Track Organizer dialog to Qt-only build.
  • Disable 'Edit Tags' and 'Organize Files' actions if MPD dir is not readable.
  • No need to check if playqueue song exists in MPD dir when performing a 'locate in library'. Its possible that the configured MPD dir does not exist - but 'locate in library' should still work.
  • Implement a basic spinner widget for item views in Qt-only builds.
  • Make Qt-only builds single instance apps, as per KDE build.
  • Add commandline file loading support to Qt-only builds.
  • Remove ThreadWeaver usage, and add ReplayGain calculation support to Qt-only builds.
  • Fix size of playback buttons in qt-only build. Force icons to have a 28x28 setting.
  • Add support for listing playlist files in folder view. Thanks to Aleksandr Beliaev for the patch.
  • When adding items to the playqueue, sort the selected items based upon their QModelIndex.
  • Add support for multiple MPD servers. Only 1 is ever active. If there are 2 or more servers defined, the settings menu will contain a sub menu to allow quick access to each server.
  • If an MPD connection has more than 1 output, show an 'Outputs' sub menu in the settings menu.
  • Disable volume control if MPD returns a volume of -1 - as it does when the mixer is disabled.
  • Read images from mp3 (ID3v2), mp4, flac, and ogg files.
  • Read lyrics from mp3 (ID3v2) files.
  • Fix genre filtering in albums view - filter was not updated when genre was changed.
  • Fix background painting in lyrics view for non-oxygen styles.
  • Enable mouse-tracking for all list/tree views.
  • Allow Icon/List for library view.
  • Add option to show artist images in library view.
  • Dont allow selection to overlap tab-widget border-lines in preferences dialog (Qt-only build).
  • Show playlists in library and album views (requires MPD 0.17)
  • Update ultimate_providers.xml to match Clementine 1.0.1
  • When clicking on a label associated with a combobox, show the combo popup.
  • Fix spacing issues of compact interface with some styles. If the style(such as the Qt Gtk style) returns -1 for its spacing, assume a spacing of 4 pixels instead.
  • Workaround tab-widget issues with Gtk style. Only draw highlight for selected item, and item curretly under mouse - no fade in/out.
  • Fix/workaround issues with fetching lyrics from letras.mus.br
  • Add option to specify HTTP server listen address/interface.
  • Support MPD queue functionality. Add an 'Add With Priority' to menu of library, etc, views. Add a 'Set Priority' to play queue. Requires MPD 0.17.0 or newer.
  • Only ignore closeEvent if this is a 'spontaneous' event and we have a tray icon.
  • Drastically reduce replay-gain calculation memory usage.
  • Make more columns italic in replaygain dailog to make entries that will be modified.
  • Make TagLib optional.
  • Adjust size of covers in grouped view, icons in views, and main cover preview based upon font size.
  • Add an extra cover-size setting (Automatic) which will adjust the covers in library and albums view based upon font size.
  • Add option to place playqueue in sidebar.
  • Add keyboard short-cut for 'back' icon in listviews.
  • Fix issue (in Qt-builds) where messge widget sometimes (mainly at start-up) is not not as wide as the main window.
  • Provide sub-text for all items in folderview, fixes corruption of list mode.
  • Add option to have sidebar on the sides, top, or bottom.
  • Only show number of tracks, and duration, in playqueue status - consistent with other players.
  • Fix compile with avcodec v54
  • If KWallet is disabled, store password in config file.
  • When fetching lyrics or info for a song which has had the 'various artists' workaround applied - revert this before requesting data.
  • When reading mpd.conf file, if bind_to_address is set to "any", then use default of "locahost".
  • Fix noticing of tag changes when MPD database is updated. When comparing songs need to check all fields - not just filename!
  • Fix usage of tekstowo.pl and vagalume.com.br in lyrics settings.
  • Stop position timer whilst dragging slider.