@CDrummond CDrummond released this Jun 5, 2018 · 27 commits to master since this release

  1. Update some translations.
  2. Set Smart rules 'files added in the last days' limit to 10*365
  3. Only sort playlists in folders view, and place these after tracks.
  4. Reduce width of statusbar spacer.
  5. Move scrobling 'love' button into toolbar. Use unfilled heart before loved, and filled when loved.
  6. Better control of playqueue status bar buttons when contracting/expanding.
  7. For windows, when adding local files (served via internal HTTP server) add the real file path as a query item.
  8. Use smaller text for help text in Tweaks section of preferences dialog.
  9. Fix playback of local non-MPD files under Windows.
  10. Stretching albums covers not working under Windows, so just remove option.
  11. Don't enable AA_EnableHighDpiScaling for windows builds, seems to interfere with fractional scaling.
  12. When playing, only poll MPD every 5 seconds.
  13. When updating play seekbar from MPDStatus, only upate if more than 1 second from calculated position.
  14. Slightly reduce height of toolbar.
  15. Add a slight border to context view.
  16. Update suru icon - was a little too small.
  17. Don't attempt to align main menu for Windows < 10, as Qt seems to add some menu animation that just looks weird when menu is moved.
  18. When searching on 'any', do a second search on 'file' and combine results. Looks as if MPD does not search filenames/paths when using 'any.'
  19. Fix UTF8 file saving under Windows.
  20. Fix preference dialog size under windows.
  21. Fix enabling of add/replace play queue actions for Jamendo/Magnatune.
  22. Use JSON to encode song details when adding online tracks.
  23. Don't allow slashes, asterisks, or question marks in collection name.
  24. Don't overwrite genre with file type for Jamendo.
  25. Allow adding Jamendo/Magnatune tracks to stored playlists.
  26. Add "--collection" commandline option to control the initial collection to use.
  27. Fix crash if try to expand dirble and --no-network passed to Cantata.
  28. Modify name of supplied font-awesome font to Cantata-FontAwesome, so as to avoid conflicts with any system installed font.
  29. Remove custom icon theme, and just use FontAwesome.
  30. Show technical info to the left of ratings.
  31. Embed FontAwesome into Cantata.
  32. Remove "New York Times" podcast directory - not available?
  33. Fix loading of FLAC images with older TagLib.
  34. Fix saving of 'Fadeout on stop' duration.
  35. Fix covers settings from wizard not being saved.
  36. Don't report errors when listing playlists, as MPD reports error if user has disabled these.
  37. Add genius.com to list of lyrics providers.
  38. Cache lyrics using 'basic' artist name - e.g. X ft. Y => X
  39. When looking for lyrics, remove "ft. X", "featuring X", etc, from song title as well as artist.
  40. Fix adding streams from provider dialog.
  41. Reduce number of confirmation dialogs.
  42. Remove group warning from initial wizard.
  43. Fix saving stream settings.
  44. Fix usage of podcast cover in title widget.
  45. Fix playback of downloaded podcasts.
  46. Simplify whitespace of podcast name and episode names.
  47. Fix saving of podcast images to JPG.
  48. Remove qt5ct work-around.
  49. When saving podcasts, remove queries from filename.
  50. Limit SoundCloud results to 200 matches.
  51. Fix loading of MPD playlists the very first time Cantata is started.
  52. Add file max-age to dynamic playlist rules.


@CDrummond CDrummond released this Apr 26, 2018 · 171 commits to master since this release

  1. Only disable system tray support if org.kde.StatusNotifierWatcher is not registered when running under Gnome.
  2. Add ability to change grid cover size - Ctrl+ / Ctrl-
  3. Avahi support (automatic mpd discovery)
  4. Make serving of files to MPD via HTTP configurable.
  5. If set to only transcode if source is different, or lossless, then only change extension if song is actually transcoded.
  6. Use a combo box for 'Transcode if...' options.
  7. Work-around Windows font issues.
  8. If dynamic playlists helper does not start, show link to wiki page detailing perl dependencies.
  9. Add "Add Local Files" to playqueue context menu.
  10. Add support for Haiku - thanks to miqlas
  11. Remember last loaded/saved playlist name - and use this as the default name when saving.
  12. Fix MPRIS length field.
  13. Add option to show bitrate, sample rate, and format in toolbar.
  14. Add support for forked-DAAP - thanks to Wolfgang Scherer.
  15. Add checkbox to indicate that server auto-updates when files changed. Thanks to Wolfgang Scherer.
  16. Add GUI option to control volume step.
  17. Add command-line options to set debugging and to disable network access.
  18. Reduce memory usage by correctly calculating cost of covers for in-memory cache.
  19. Make it possible to filter on year (or range of years) in library and playqueue search fields.
  20. Add filename and path to table style playqueue and playlist columns.
  21. Adjust library search debounce based upon number of tracks in DB.
  22. Fix potential issue with missing covers when switching collections.
  23. Fix opening Cantata maximized under Windows if the info view is in the sidebar.
  24. Use IO::Socket::IP and not IO::Socket::INET in cantata-dynamic to allow usage with IPv6. Thanks to Peter Marschall
  25. Improve appearance of scrollbar in play queue, and context view, under some styles (e.g. Adwaita-Qt)
  26. Enable remote (sshfs, samba) device support by default for Linux builds.
  27. Improve table style playqueue drop indicator - thanks to padertux.
  28. Don't show year for 'Single Tracks', and ignore any sort and musicbrainz values.
  29. Add missing 'configure' option to podcast menu.
  30. Add link in server settings page to wiki page on github explaining how files are accessed.
  31. Make more actions shortcut assignable.
  32. Adjust horizontal gap between icons in grid view to equal distribute icons over space.
  33. Update copy of ebur128
  34. Install QtMultimedia required dlls for windows.
  35. Re-add option to show menumbar for Linux builds if not run under GNOME.
  36. Work-around Cantata preventing logout under GNOME/KDE if set to minimise to system tray and main window is open.
  37. Make track links in context view work with CUE files.
  38. Support dragging folder of music files onto playqueue.
  39. Add original date to playlist table columns.
  40. Add option to use 'Original Year' to display and sort albums.
  41. Sort folder view items, as MPD does not seem to sort playlist names.
  42. In folder view, allow to add folders and files at the same time.
  43. Support dragging m3u and m3u8 playlists onto playqueue.
  44. Fix reading embedded covers from OGG files.
  45. Add root and home local browse models, allowing to add local files to play queue.
  46. Add volume control for HTTP stream playback.
  47. Update toolbar cover tooltip when song changes.
  48. Fix deleting of smart playlists.
  49. Center images and headers in context view.
  50. Add option to make album cover in context view fill the album details width.
  51. Cleanup some settings. No longer offer to save lyrics, artist images, and backdrops in MPD folder, just save in cache dir. Move cover filename setting into interface settings - in a new 'Covers' tab.
  52. Fetch missing covers from iTunes.
  53. Make sidebar change pages on mouse wheel events.
  54. Allow to specify the max age of files to use in smart playlists.
  55. Use same format for notifications as for now playing widget.
  56. Add 'Categorized' view for albums in library.
  57. Remove actions from desktop file - MPRIS should be used for these.
  58. Set message box icon size to 64px.
  59. Add settings page to configure API keys.
  60. Fix small side-bar when at top, or bottom.
  61. Try to make UI responsive to available width. Hide toolbar and statusbar items in insufficient space. Switch view type when narrow.
  62. For Linux GCC builds, print stack trace on crash.
  63. Add Suru icon for Ubuntu builds.
  64. Be more lenient when parsing times from CUE files.


@CDrummond CDrummond released this Sep 29, 2017 · 597 commits to master since this release

  1. Add option to specify number of play queue tracks for dynamic playlists.
  2. Add option to set application style.
  3. Fix potential issue with priority menu items being disabled.
  4. When adding items with a custom priority, or updating a custom priority, add option to have this priority decrease with each item.
  5. Remove unity menu icon work-around.
  6. To support older GNOME settings daemon installations, if fail to use the new MediaKeys DBUS interface then use the previous.
  7. Fix desktop detection via XDG_CURRENT_DESKTOP - check for colon separated values.
  8. If an error is to be shown, ensure Cantata is not minimised to system tray.
  9. If the initial start-up connection fails, try again every .5 second for a few seconds.
  10. In playlists page, internet, etc, allow back navigation to go fully back.
  11. Don't try to seek if no song loaded.
  12. Only use menubar for macOS builds.
  13. Smart playlists - like dynamic, but do not auto update.
  14. Use em-dash to as separator.
  15. Add device option to only transcode if source is FLAC or WAV (detection is solely extension based).
  16. Fix extraction of album names from DB - for use in tag editor and playlist rules dialogs.
  17. Fix some potential security issues - thanks to Jonas Wielicki for the patches.
  18. Only set Qt::AA_EnableHighDpiScaling for Windows builds.
  19. Fix sidebar highlight for windows (at least for Windows 10).
  20. Only enable system tray for Linux if org.kde.StatusNotifierWatcher DBUS service is registered.
  21. Fix MPRIS track path.
  22. Fix MPRIS can go next/previous state changes.
  23. When playing MPD's HTTP output, stop backend when MPD is paused.


@CDrummond CDrummond released this Jul 30, 2017 · 2 commits to 2.1 since this release

  1. Re-add all album sorts from Cantata 1.x
  2. Try to detect DLNA streams (e.g. when using upmpdcli), and show as regular
    albums in grouped view.
  3. Add filename / path to list of dynamic rule properties.
  4. Flat current track highlight.
  5. When adding tracks from folders view, only add playlists if these have been
    explicitly selected.
  6. Allow to set keyboard shortcuts for ratings actions. Default to Alt+0 (No
    rating), Alt+1 (1 star), etc.
  7. Re-add genre combo to library view. Only visible if grouping by artist or
  8. When adding a podcast (or other track from an internet service), remove
    any new-lines from metadata.
  9. When configuring streams, clear list of providers before re-populating.
  10. If a 'Basic' mode connection fails, re-start spawned MPD instance (and
    remove any previous pid file).
  11. Fix Jamendo and Magnatune covers.
  12. Fix various issues with 'Personal' MPD instance.
  13. Fix saving, and restoring, of podcast 'played' status.
  14. When adding streams to play queue via add dialog, always allow setting of
  15. Use Pulse Audio for 'Personal' MPD instance.
  16. Always return true for MPRIS CanPlay, CanPause, etc.
  17. Work-around KDE 5.7 MPRIS issues.
  18. If can't load SQLite db, then show error.
  19. Don't show custom actions menu entry if there are no actions.
  20. Fix add/set priority menus.
  21. Match view mono icons to text colour.
  22. Use FontAwesome icons for all action icons.
  23. Send a message at least once every 5 seconds to MPD, to ensure connection
    is still valid.
  24. Fix updating of playlists if these contain duplicates and are modified by
    another client.
  25. Cache up to 4 genres in SQL db.
  26. Fix crash when changinh playqueue view type.
  27. Use same sidebar inactive tab mouse-over for all styles.
  28. Fix colouring issues with some Kvantum styles.
  29. Abort network connections before closing.
  30. When listing albums where composer is used for artist grouping, place
    album artist name after album name if different from composer.
  31. If file has embedded cover, save this to the cache folder - so that this
    file path can be used with MPRIS.
  32. Fix scrobbling when Album is empty.
  33. Fix duration of last track for split CUE files.
  34. Move stream listings to github.
  35. Fix local file playback on remote MPD when MPD's curl is using IPv6.
  36. Install symbolic icon for GNOME shell.
  37. Add sort by track title to playqueue.
  38. Read lyrics from MP4 files.
  39. Only scroll playqueue if current song changed.
  40. Support disc number in CUE files.
  41. Remove Gtk themeing hacks. Qt styles such as Kvantum should be used to
    mimic better Gtk support.
  42. Japanese translation.
  43. Allow single-key shortcuts.
  44. Improve Mopidy support.
  45. Enable support for Opus tags if enabled in TagLib.
  46. URL encode online stream URLs before passing to MPD.
  47. Show podcast descriptions in tooltips.
  48. Parse name field in playlists.
  49. Use 32-bit int for bitrate and samplerate staus values.
  50. Remove Qt4, KDE4, and Ubuntu touch support.
  51. When playing MPD's HTTP output stream, check periodically (for up to 2
    seconds) to confirm backend is playing.
  52. When playing MPD's HTTP output stream, don't stop playback on pause.
  53. Add button on podcasts page to show only unplayed podcasts.
  54. Add min/max duration to dynamic playlist rules.
  55. Use Qt5's translation framework - ts files, not po files.
  56. When trying to read lyrics files; check for .txt extension as well as
    .lyrics. Also check ~/.lyrics/Artist - Track.txt
  57. Add 3 seek levels (5 seconds, 30 seconds, and 60 seconds), with assignable
  58. When adding files to playqueue, and in btaches of up to 2000 files.
  59. Make all of Cantata's internal actions accessible via DBUS. See README for
  60. Add support for OriginalDate tag.
  61. Bundle newer openSSL with macOS builds.
  62. Update copy of libebur128
  63. Use libcdio_cdparanoia
  64. If 'composer genre' is set in tweaks, then use composer to sort artists.
  65. Add 'Sort by track number' to playqueue.
  66. Enable retina support for all builds.
  67. Store replaygain settings in Cantata's config file, as it appears MPD does
    not persist changes.
  68. If HTTP requests are redirected, copy over original headers.
  69. When AudioCD changed, delete its cached downloaded cover.
  70. Fix adding covers to MTP devices when transcoding.


@CDrummond CDrummond released this Jun 3, 2016 · 1012 commits to master since this release

  • 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.

    In addition to the source code, Windows and Mac installers (listed below), you can also download a Linux AppImage. This is not built by myself, but kindly provided by Thomas Leitz.


@CDrummond CDrummond released this Jan 24, 2016 · 1012 commits to master since this release

Initial release of 2.0, main changes:

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