Cantata

Audioplayers

Source (link to git-repo or to original if based on someone elses unmodified work): https://github.com/CDrummond/cantata/

31
8.8
Description:

Cantata is a (yet another!) client for the music player daemon (MPD). Originally started as a fork of QtMPC, the code is now *very* different. Cantata can be compiled with KDE support, or as a pure Qt4 application. The interface is very configurable - most views can be shown as either a list or tree structure.

Currently Cantata has the following views:

1. Library - Group by either Genre, Album Artist (or Artist if Album Artist not set), or Album
2. Folders - displays MPDs virtual filesystem. (This view is hidden by default)
3. Playlists - standard, dyamic, and smart
4. Internet - Radio Streams (allows saving of internet radio URLs, searching for stations via TuneIn or ShoutCast, station listings from; Digitally Imported (+Sky, JazzRadio, RockRadio), TuneIn, IceCast, ShoutCast, SomaFM, etc.) and Online services (Jamendo, Magnatune, SoundCloud, and Podcasts)
5. Devices - enables copying from/to USB-Mass-Storage (UMS) and MTP devices, and ripping AudioCDs
6. Search - search via MPD

The sidebar has a context menu, allowing you to control its style and what items are shown.

Refer to http://mpd.wikia.com/wiki/Client:Cantata, and https://raw.githubusercontent.com/CDrummond/cantata/master/README, for further information.


******************
******************

NOTE: The screenshots on this page are out of date, and only reflect the 1.x codebase

******************
******************

################################################################
################################################################

Releases may be downloaded from: https://github.com/CDrummond/cantata/releases

################################################################
################################################################
Last changelog:

2.3.0 2 years ago

Changelog is available at https://raw.githubusercontent.com/CDrummond/cantata/master/ChangeLog

9

AozRoon

8 years ago

Do your currently generate the .ts files when compiling ? If so, you should spread them for the translators to use linguist software to fill the translations within those .ts files.

After that, you could generate .qm files (by compiling the .ts files ) containing the binary language files.

http://qt-project.org/doc/qt-4.8/linguist-manual.html

Report

C

CraigD

8 years ago

The only translations currently generated are the KDE ones. Is there no way to convert these into Qt ones? Seems silly to ask a translator to do both KDE and Qt...

Report

9

AozRoon

8 years ago

I am sorry I do not know the KDE translation process. I only know the Qt one.

Report

9

yuri-karadzhov

8 years ago

It would be great to have ability to change essential MPD options (like music folder or mixer type) from cantata interface.

Report

thenktor

8 years ago

When adding an album the CD numbers are not used. So tracks of double CDs are sorted like this in the playlist:
01 - track 1 of cd1
01 - track 1 of cd2
02 - track 2 of cd1
02 - track 2 of cd2
...

Report

C

CraigD

8 years ago

Oops! I see what you mean. This should be fixed for 0.8

Report

thenktor

8 years ago

Thanks :)

Report

trap000d

8 years ago

I've added playlist files (asx, cue, m3u, pls, xspf) support to cantata. Here the patch for last svn revision:
Index: mpd/mpdparseutils.cpp
===================================================================
--- mpd/mpdparseutils.cpp (revision 1197)
+++ mpd/mpdparseutils.cpp (working copy)
@@ -426,6 +426,15 @@
} else {
static_cast<DirViewItemDir *>(currentDir)->insertFile(parts.at(parts.size() - 1));
}
+ } else if (line.startsWith("playlist: ")) {
+ line.remove(0, 10);
+ QStringList parts = line.split("/");
+
+ if (currentDir->type() == DirViewItem::Type_Root) {
+ static_cast<DirViewItemRoot *>(currentDir)->insertFile(parts.at(parts.size() - 1));
+ } else {
+ static_cast<DirViewItemDir *>(currentDir)->insertFile(parts.at(parts.size() - 1));
+ }
} else if (line.startsWith("directory: ")) {
line.remove(0, 11);
QStringList parts = line.split("/");
Index: mpd/mpdconnection.cpp
===================================================================
--- mpd/mpdconnection.cpp (revision 1197)
+++ mpd/mpdconnection.cpp (working copy)
@@ -34,6 +34,7 @@
#include <QtCore/QDebug>
#include <QtCore/QThread>
#include <QtCore/QStringList>
+#include <QtCore/QFileInfo>
#include "debugtimer.h"

// #define DBUG qWarning() << "MPDConnection" << QThread::currentThreadId()
@@ -397,7 +398,14 @@

QByteArray send = "command_list_begin\n";
for (int i = 0; i < files.size(); i++) {
- send += "add ";
+ QFileInfo fi( files.at(i) );
+ QString ext = fi.suffix ( );
+ if ( QString::compare(ext,"asx", Qt::CaseInsensitive)==0
+ ||QString::compare(ext,"cue", Qt::CaseInsensitive)==0
+ ||QString::compare(ext,"m3u", Qt::CaseInsensitive)==0
+ ||QString::compare(ext,"pls", Qt::CaseInsensitive)==0
+ ||QString::compare(ext,"xspf", Qt::CaseInsensitive)==0
+ ) {send+="load ";} else { send += "add ";}
send += encodeName(files.at(i));
send += "\n";
}

Report

C

CraigD

8 years ago

Thanks for this, I'll add apply it for 0.8.

Martin is correct though, its easier to track things if you create a bug/wishlist item on the googlecode page.

Report

9

xdarklight

8 years ago

Hi Aleksandr,

thanks for the patch.
I'd put the patch in a new ticket at http://code.google.com/p/cantata/issues/list
Craig does not always follow the comments here, but creating a new ticket makes sure that he gets your patch
(and as a bonus the patches formatting does not break when you attach it to a ticket).

Regards,
Martin

Report

9

yuri-karadzhov

8 years ago

I have succesfuly build cantata 0.7, but when I run it the volume is muted and the error "problems setting volume" appear when I tried to unmute it (no output in console).

Kubuntu 12.04 KDE 4.8.3 (mpd is running on 6600)

Report

C

CraigD

8 years ago

What is the mixer_type set to in /etc/mpd.conf? If its "hardware" try changng this to "software" - and restart mpd (sudo /etc/init.d/mpd restart)

Report

9

yuri-karadzhov

8 years ago

Thank You! It works!

Advise: if you want to build DEB package with checkinstall, you need to create an empty file called RUNTIME in cantata ROOT directory.

so after make you should type:
touch ../RUNTIME
sudo checkinstall --fstrans=no --install=no --pkgname=cantata --pkgversion "0.7.0" --default
dpkg -i cantata_0.7.0*.deb

it doesn't include dependency however (I'm trying to separate build-dep and dep now)

Report

C

CraigD

8 years ago

...is this the Qt-only build? 0.7.0 contains a CMakeLists.txt error in the Qt-only section where RUNTIME is listed where it should not be. This will be (actually already is) fixed in 0.7.1

Report

9

yuri-karadzhov

8 years ago

The only build option I use is
-DCMAKE_INSTALL_PREFIX=`kde4-config --prefix`
and as I understand it is KDE build by default (I didn't use -DWANT_KDE_SUPPORT=NO)

Report

bosi1024

8 years ago

Hi,

I would like to request a feature:

MPD is able to stream audio using its builtin http server. I'm using MPoD on my Ipod Touch to control my MPD and listen to its stream. it would be nice to have such a feature in Cantata as it would allow me not to use a seperate media player.

As a matter of fact I hacked in a small Phonon media player into Cantata 0.7 which allows me to listen to a configurable stream of my choice.

This is just a really messy hack and needs a lot of improvement to run seamlessly, but for a first try, it works.

If you are interested I can send you a patch.

Best regards

Report

C

CraigD

8 years ago

Sounds like an interesting idea. Please feel free to send me the patch - either via email (my address is in the AUTHORS file), or create a bug report on the googlecode page and add it there.

Report

9

AozRoon

8 years ago

Hi !

Thank you for this really nice mpd client. I am wondering how to proceed to download the covers from internet, as mentioned on the requirement list (found on http://mpd.wikia.com/wiki/Client:Cantata ) ?
Could you please explain the procedure ?
Thank you,
Aoz

Report

C

CraigD

8 years ago

Cantata *automatically* downloads covers, you do not need to do this. Any downloaded covers will be saved as 'cover.jpg' or 'cover.png' within the folder containing the track - if you have write permission to the folder. Otherwise it will save it in ~/.cache/cantata/covers/<artist>/<album><.jpg/.png>

If you have any existing covers within you music folders, cantata should pick these up first before downloading.

Report

9

AozRoon

8 years ago

Thanks for the quick answer.

Actually, I have got "cover.jpg" files within all my music folders (and one folder per music album). But, for some of them, Cantata does not display the cover. Is there a maximum resolution allowed for the covers ?

Another point is that each time an album is compound by 2 CDs, only one of the 2 CDs has it cover displayed (even if I copy the same cover.jpg file within the 2 folders). Any explanation for that ?

Finally, could you tell us where cantata downloads the covers ? Could it be tunable ?

Thank you !

Report

C

CraigD

8 years ago

In order for Cantata to see your cover.jpg, you need to have entered the correct MPD music folder in the 'Server' settings page. When MPD plays a song, it tells cantata the relative path. e.g. 'AC-DC/Stiff Upper Lip/01 Stiff Upper Lip.mp3' Cantata removes the filename, and prepends the folder set in the config dialog. So, if this folder was set to '/home/Music' - cantata would look for '/home/Music/AC-DC/Stiff Upper Lip/cover.jpg'

As for downloading covers, these are fetched from last.fm.I have no current plans to change this, but please feel free to submit a patch.

Report

9

AozRoon

8 years ago

Ok, I had a look on my installation and I have seen that I have set on my cantata client the "MPD music folder in the 'Server' settings page". But as soon as my mpd server is not on the same computer as my cantata client, and as the cantata client seems to look for the covers on the local file system, it does not find them.

It is not a cantata issue, but as I do not mount the mpd server file system on my client computer, how could I set the music folder over the LAN ?

Thank you !

Report

C

CraigD

8 years ago

If the music is not local, then cantata cannot access the local covers, so it will attempt to download them from last.fm. Cantata will send last.fm a query containing the album artist and title, and use whatever last.fm replies with. The result will be cached to ~/.cache/cantata/covers/<album artist>/<album>.jpg

Report

C

CraigD

8 years ago

The XML contains the last-update time of the MPD database. When the XML is loaded it is compared to this, if it is older then a full load from MPD should occur.

In order for the MPD database to be updated, you need to use an MPD client (Cantata, gmpc, mpc, etc.) to instruct MPD to update. (You can do this in catata by presseing the 'Refresh Database' button in the library page).

Report

9

AozRoon

8 years ago

I think I found a bug.

The server files list & tags are saved by cantata in "~/.cache/cantata/library/serverIP.xml".

But it seems not to be automatically updated whenever a file's tag is updated on the server(and keeping the same file name & location).

By erasing the xml file on my client, the files I had recently retagged (to complete their data) on the server have now their covers !

Report

2.3.0 2 years ago

Changelog is available at https://raw.githubusercontent.com/CDrummond/cantata/master/ChangeLog

12345678910
72
product-maker Cybernix Jun 03 2017 9 excellent
product-maker yarra Apr 01 2017 9 excellent
product-maker herrbatka Jan 27 2017 9 excellent
product-maker x-varlesh-x Jul 28 2016 9 excellent
product-maker brabus84 May 07 2016 9 excellent
product-maker duvan Mar 14 2016 9 excellent
product-maker qtnerd Jan 24 2016 9 excellent
product-maker Okanda Jan 13 2016 9 excellent
product-maker freelancer96 Dec 14 2015 9 excellent
product-maker ohjays Aug 10 2015 9 excellent
product-maker tsujan Jul 08 2015 9 excellent
product-maker vibee Dec 14 2014 9 excellent
product-maker robotanarchy Oct 26 2014 9 excellent
product-maker ArthurTaborda Aug 01 2014 9 excellent
product-maker tothist Jul 28 2014 9 excellent
product-maker VectoR Jul 23 2014 9 excellent
product-maker ntasos Jun 12 2014 9 excellent
product-maker arktika May 11 2014 9 excellent
product-maker HATRED Apr 25 2014 9 excellent
product-maker kudlaty Apr 14 2014 9 excellent
product-maker SpartanJ Apr 13 2014 9 excellent
product-maker tobaj Apr 08 2014 9 excellent
product-maker Pafrape Apr 07 2014 9 excellent
product-maker j4r0k4 Mar 13 2014 9 excellent
product-maker FatAlbert Feb 22 2014 9 excellent
product-maker Nikoli Feb 20 2014 9 excellent
product-maker RAIDENSUB Dec 30 2013 9 excellent
product-maker hbdee Nov 15 2013 9 excellent
product-maker k2s Nov 07 2013 9 excellent
product-maker anespor Oct 12 2013 9 excellent
product-maker distopic Sep 08 2013 9 excellent
product-maker AlexTsi May 08 2013 9 excellent
product-maker Omega9 Apr 12 2013 9 excellent
product-maker lei00 Jan 17 2013 9 excellent
product-maker MakG Dec 14 2012 9 excellent
product-maker fri Dec 14 2012 9 excellent
product-maker PenGYveR Dec 07 2012 9 excellent
product-maker janet Sep 25 2012 9 excellent
product-maker damianatorrpm Sep 24 2012 9 excellent
product-maker anli Sep 03 2012 9 excellent
product-maker SvenArcher Aug 07 2012 9 excellent
product-maker alltiptop Jul 20 2012 9 excellent
product-maker taras4647 Jul 18 2012 9 excellent
product-maker handsomegui Jun 13 2012 9 excellent
product-maker roffez Jun 07 2012 9 excellent
product-maker caig Jun 02 2012 9 excellent
product-maker AozRoon May 16 2012 9 excellent
product-maker yuri-karadzhov May 13 2012 9 excellent
product-maker e1nste1n May 11 2012 9 excellent
product-maker ber0es Apr 24 2012 9 excellent
product-maker vishzilla Apr 22 2012 9 excellent
product-maker bendersteed Mar 29 2012 9 excellent
product-maker metar Mar 26 2012 9 excellent
product-maker zersaa Mar 26 2012 9 excellent
product-maker OldWiseCat Mar 26 2012 9 excellent
product-maker SirDodger Mar 25 2012 9 excellent
product-maker zeltakc Mar 14 2012 9 excellent
product-maker xdarklight Mar 12 2012 9 excellent
product-maker lazx888 Mar 12 2012 9 excellent
product-maker lionhater Feb 23 2012 9 excellent
product-maker simone84 Jan 27 2012 9 excellent
product-maker Jestern Jan 27 2012 9 excellent
product-maker scsimodo Jan 20 2012 9 excellent
product-maker ZomAur Jan 18 2012 9 excellent
product-maker swiftscythe Jan 08 2012 9 excellent
product-maker Sagittarius Dec 30 2011 9 excellent
product-maker elric80 Dec 30 2011 9 excellent
product-maker KDesk Dec 25 2011 9 excellent
product-maker 442206 Dec 23 2011 9 excellent
product-maker entw Dec 22 2011 9 excellent
product-maker mirzaD Dec 22 2011 9 excellent
product-maker piwsko Dec 21 2011 9 excellent
Be the first to comment
duvan
Mar 14 2016
slytry
Dec 25 2015
Landis
Nov 05 2015
SilentOS
Jul 29 2015
vibee
Dec 14 2014
arktika
May 13 2014
HATRED
Apr 25 2014
gericom
Apr 25 2014
julon
Apr 17 2014
kudlaty
Apr 14 2014
bvbfan
Jan 04 2014
hbdee
Nov 15 2013
faemir
Mar 26 2013
maystar
Oct 13 2012
janet
Sep 25 2012
damianatorrpm
Sep 24 2012
SvenArcher
Aug 07 2012
opaflamme
Jul 24 2012
swiftscythe
May 24 2012
saftsocken
May 24 2012
bosi1024
May 20 2012
thenktor
Apr 17 2012
xdarklight
Apr 09 2012
OldWiseCat
Mar 26 2012
SirDodger
Mar 25 2012
bendersteed
Mar 11 2012
roffez
Feb 27 2012
Jestern
Jan 27 2012
e1nste1n
Jan 26 2012
elric80
Dec 30 2011
xlx
Dec 22 2011
File (click to download) Version Description PackagetypeArchitectureRelease Channel Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
2.3.1
updated Sep 29 2017
added Dec 21 2011
downloads 24h
0
mediaviews 24h 0
pageviews 24h 27