Cantata

Software Screenshot:
Cantata
Software Details:
Version: 2.0.1 updated
Upload Date: 19 Jun 16
Developer: Craig Drummond
Distribution Type: Freeware
Downloads: 129

Rating: nan/5 (Total Votes: 0)

Cantata is an open source application that provides users with a GUI (Graphical User Interface) front-end for the Music Player Daemon (MPD) command-line program. It supports the GNU/Linux and Microsoft Windows operating systems.

Designed for KDE

On Linux, the application has been designed for the KDE desktop environment and it’s available for download only as a source archive, which allows users to configure, compile and install the application on any Linux distribution. It can also be used on other open source desktop environments, as long as all requirements are installed.

First time configuration

The software will require users to set up the application from the get-go, through a straightforward wizard-based interface where they will have to add the host, port, password and music folder. It is important to mention here that the MPD program should run in background if you want to use this application. Once the connection has been established, you will be able to continue setting up the program.

Offers several view modes

The application offers several view modes, including Library, Albums, Folders, Playlists, Dynamic, Streams, Online, and Devices. In addition, the sidebar includes a context menu, which lets users to control the program's style and what items are displayed.

Under the hood

Under the hood, we can report that the application’s user interface is written with the Qt GUI toolkit and has been designed from the ground up to be used under the KDE desktop environment, which means that it requires the KDE runtime libraries and supports both Qt4 and Qt5 toolkits.

Bottom line

All in all, Cantata is a nice, cross-platform and stable application that allows users to play music files distributed by MPD (Music Player Daemon). It comes with a simple tag editor, a file organizer, support for MTP and USB-Mass-Storage devices, and many other attractive features.

Too bad that one needs to install the some core KDE components to use the program on other open source desktop environments, such as GNOME, Xfce, Cinnamon, MATE or LXDE.

What is new in this release:

  • 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

What is new in version 1.5.2:

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

What is new in version 1.5.1:

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

What is new in version 1.4.2:

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

What is new in version 1.4.1:

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

What is new in version 1.4.0:

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

What is new in version 1.3.4:

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

What is new in version 1.3.3:

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

What is new in version 1.3.0.1:

  • Compile fix for KDE builds

What is new in version 1.3.0:

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

What is new in version 1.2.2:

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

Requirements:

  • KDE Plasma
  • Qt

Screenshots

cantata_1_69649.png

Similar Software

abcMIDI
abcMIDI

9 Dec 15

fookebox
fookebox

14 Apr 15

ScPlayer
ScPlayer

20 Feb 15

KRadio for KDE4.x
KRadio for KDE4.x

20 Feb 15

Other Software of Developer Craig Drummond

KGtk
KGtk

11 May 15

Comments to Cantata

Comments not found
Add Comment
Turn on images!