Source i (link to git-repo or to original if based on someone elses unmodified work):

Add the source-code for this project on opencode.net

3
Become a Fan
7.0

Available as/for:
Description:
-- NOTICE -----
Updated version and future develoment here:
https://sourceforge.net/p/be-mpc/code/

------------------------


A Qt4 client for http://mpd.wikia.com/ MPD with some UI experiments

Features:
- Playback controls ;-)
- Treestyle playlist display
- Online database filtering
- (Optionally) Wikipedia metainfo (heuristic lookup through google, therefore opt-in)

[If connected to a local MPD server]
- Cover display
- Local file playback (usually MPD only plays out of its database)
- DnD support for local file urls (ie. playlist -> k3b / dolphin)
- (basic) MPD server configuration UI

=========== INSTALLATION ==============

Requirements:
-----------
- tar with lzma support (.xzf)
- Qt 4.x | x >= 5/6, not really sure ;-)
- libmpdclient (your distro likely has it)
http://mpd.wikia.com/wiki/ClientLib:libmpdclient

Process:
-----------
- Download sources and ave them "somewhere"
- Open a terminal (Konsole, XTerm)
- navigate to the dowloaded source (ie. "cd ~/Desktop")
tar -xJf be.mpc.xzf
cd BE.MPC
qmake
make && sudo make install
Last changelog:

0.11
-----
- Fix an i18n bug that broke database rescanning
- Improve google result scanning
- By all means: avoid spamming google (for undertagged tunes)
- Fake a useragent ID for network requests ...
- Merge Artist & Album Artist (ie. if one tag is not present, the other one is used as replacement) - They are *still* individual tags and can be different.

0.10
----
- bugfixes (most notably a crash caused by stream support...)
- better stream support :-)
- settings do no longer constrain the minimum size
- German & Czech i18n - Czech strings kindly provided by Pavel Fric

0.8
---
- Some touchscreen UI support (mostly the volume slider slides out on first tap)
- broadcast managing support (internet radio, just add a link. supports m3u & pls)

0.7
---
- fixes a UTF-8 conversion when dnd from the playlist
- allows to pan the wikipedia text (drag with the mouse)
- has a nice database watermark to separate it from the playlist

0.6a
---
- minor patch: correctly constrains slider position to value calculation (could lead to connection failures & reconnects for at least the volume slider)

0.6
---
- fixes placeholder text indention
- fixes playlist sorting
- brings playmodes (repeat one/all, random - yes Rob: it will lie to you ;-)
- has some minor dynamic UI fixes

0.5
---
- Fixes a potential infinite repaint in the hint animations (actually occured here some times...)
- Brings buttons to remove or "enqueue" tracks (MPD doesn't know "enqueue", the track(s) is(are) just copied after the current one - so it's more "enstack" :-)
- Replaces the playlist filterline
- Has several minor visual/behavioural adjustments/fixes

0.4
---
- Does not shredder your ~/.mpdconf if it contains complex settings (things with curly braces)

0.3
---
- Connect to server in off-GUI thread (but the actual communication is still syncronous)
- calm pedantic compile warnings
- to bring _anything_ new: added bash implementation of a (configurable) DYNAMIC PLAYLIST daemon for mpd =)

0.2a
----
COMPILE ISSUES ONLY - NO FUNCTIONAL CHANGES
- Implements a "setPlaceHolderText" solution for Qt < 4.7
- Depends sleep'ing on the system
- Moves everything into a namespace
- Adds missing header definition
- Directly includes awidget.h in awidget.cpp

0.2
---
- Has adjusted page autoswitching
- Caches Wikipedia infos (for faster re-startups)
- Provides (opt-out) keyboard shortcut hints
- Brings an icon and a .desktp file for startup menus


Ratings & Comments

40 Comments

juanuni

I make Quote:

qmake make
then I make Quote:
sudo make install make: nothing is done to «first». install -m 755 -p "be.mpc" "/usr/bin/be.mpc" strip "/usr/bin/be.mpc" install -m 755 -p /home/juanuni/Public/be-mpc-code/be.mpc.desktop /usr/share/applications/ strip /usr/share/applications/be.mpc.desktop strip:/usr/share/applications/be.mpc.desktop: The file format is not recognized make: [install_srvc] Error 1 (no effect) install -m 644 -p /home/juanuni/Public/be-mpc-code/be.mpc.png /usr/share/icons/hicolor/128x128/apps/ install -m 644 -p /home/juanuni/Public/be-mpc-code/be.mpc_cs.qm /usr/share/BE::MPC/ install -m 644 -p /home/juanuni/Public/be-mpc-code/be.mpc_de.qm /usr/share/BE::MPC/ update-desktop-database make: update-desktop-database: No program was found make: *** [install_postinstall] Error 127

thomas12777

That's not a critical error - desktop-file-utils triggers a recache of the installed applications (so that be.mpc shows up in the progrma menu) It's provided by http://www.freedesktop.org/wiki/Software/desktop-file-utils and should be dependency of many desktop linux packages (including Qt)

lionhater

I don't want to bother you, but: I've tried all the music players in Linux and though some of them have zillions of (mostly unnecessary) features, none of them has all the basics. I can list the shortcomings of all of them if needed. Your application is perfect as a minimalist player, but especially in large collections visiual clue is very useful and sometimes necessary, more sore with classical albums. So if it's easy to implement, an option to have a cover grid view would make it perfect as a general purpose player.

lionhater

Excellent Thomas. Thank you. Covers are black and white though. And there's no global hotkey support I guess?

thomas12777

Colors a "monochrome" - by default. There's however a setting for this (see the dark block in the upper right) Global shortcuts are provided through the Desktop Environment, i cannot "just" add them (but by linking KDE and supporting KDE/kded only) It would be possible to add random dbus hooks to be called by the systems hotkey -> action functions (what would require the application to become single instance though) However, to control mpd by shortcuts, i just use mpc (the default CLI client) - has the advance that even BE::MPC doesn't have to be running.

lionhater

All right, thank you.

lionhater

The most minimalist app around, but one can quickly learn its ways. As far as I know it's the only MPD client with the brilliant tree view in playlists, a rare but necessary feature also among Linux music players as whole. The ability to sort by album artist and if it's not present by artist would make it perfect as a minimalist music player.

thomas12777

Sorting in general is there (click on the icon left to the searchline) I implemented and now test merging artist & albumArtist locally and will in doubt include it with the next update.

lionhater

Glad to hear that. It will be the best MPD client if it's not already. Best regards.

lionhater

Can't install. Can anyone help? burak@burak-mint ~/Desktop/bempc-0.10 $ qmake burak@burak-mint ~/Desktop/bempc-0.10 $ make && sudo make install g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DDATADIR=/usr/share -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/include/libmpd-1.0 -I. -o main.o main.cpp g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DDATADIR=/usr/share -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/include/libmpd-1.0 -I. -o awidget.o awidget.cpp g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DDATADIR=/usr/share -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/include/libmpd-1.0 -I. -o mpc.o mpc.cpp In file included from mpc.cpp:22:0: infowidget.h:26:24: fatal error: mpd/client.h: No such file or directory compilation terminated. make: *** [mpc.o] Error 1 burak@burak-mint ~/Desktop/bempc-0.10 $

thomas12777

you need libmpd and libmpdclient alongside their -dev packages.

lionhater

Thank you Thomas.

Rasi

You DO know that libmpd is deprecated?

thomas12777

Yes ;-) And as the description actually says: you need (only) libmpdclient (i just did "pacman -Q | grep mpd", libmpd is used by some e17 plugin) So I was basically wrong in my advice in the forum, nothing to worry about :-)

Nikoli

1) Why we see icons for playlist in settings dialog? http://img696.imageshack.us/img696/5916/bempcicons.png 2) Move text in search form a bit http://img696.imageshack.us/img696/396/bempcsearch.png

TheRob

That's weird, at least here I can't seem to re-produce those problems :)

Nikoli

I use qt 4.6.3 and kde 4.4.5 with default theme, what are your versions?

thomas12777

bespin. the reason is an insufficient setup of the StyleOption (since QLineEdit adds some extras i didn't think of) I'll release a fix later on. No idea about why you can see the playlist buttons (well, because they're actually part of the window widget, but they should be hidden with the playlist) I couldn't reproduce this here at all (with no style) - any hint on how to do that?

Nikoli

2) 0.6a is fine :) 1) Try using Qt 4.6.3 + KDE 4.4.5 with default theme. For me the problem arrives immediately after starting bempc. I use 'su' for testing.

thomas12777

2) was supposed to be fixed with 0.6 (did i upload the wrong version then?) 1) errr... don't have access to that old KDE/Qt. -> Does it happen with any other style (or all oxygen animations turned off)?

Nikoli

bempc is able to work fine _only_ if mpd is available at 127.0.0.1:6600, else gui will appear after 10 seconds, reaction to click or any other action will take 10 seconds too: $ strace -r /usr/bin/be.mpc 2>&1 |grep -v '^ 0.0' -B4 0.000117 munmap(0x7f6bb12f0000, 4096) = 0 0.000141 socket(PF_INET, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_TCP) = 9 0.000149 connect(9, {sa_family=AF_INET, sin_port=htons(6600), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in progress) 0.000255 select(10, NULL, [9], [9], {10, 0}) = 0 (Timeout) 10.010285 close(9) = 0 -- 0.000088 munmap(0x7f6bb12f0000, 4096) = 0 0.000115 socket(PF_INET, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_TCP) = 9 0.000101 connect(9, {sa_family=AF_INET, sin_port=htons(6600), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in progress) 0.000157 select(10, NULL, [9], [9], {10, 0}) = 0 (Timeout) 10.010389 close(9) = 0

thomas12777

> bempc is able to work fine _only_ if mpd is available at 127.0.0.1:6600, can you please elaborate on this? i'm able to run it w/o any locally present server as well as with a configured "junk" connection (like 123.45.67.89:1234) and across a present "real" network connection (but my "lowest" upstream is 2MBit...) > else gui will appear after 10 seconds, reaction to click or any other action will take 10 seconds too 10 seconds are the configured timeout, yes. but mpd_connection_* returns immediately here on connection failure (ie. it doesn't take 10 seconds to figure there's no open server) Did you try this on a slow connection (the current database representation doesn't fit such connection anyway - i plan to add a model/view designed for slow connections/touch devices) or just with no local server available (but configured to connect one)? And in the latter case, on what kind of network/stack? In general you're right about network blocking, but unless you've connected a server, you cannot do anything anyway (still i shall defer the connection to _after_ the map request and also have to move the net connect/access to another thread if even unidirectional commands -play doesn't require a blocked UI sync, manipulating the playlist does- can cause enourmous lags)

Nikoli

>i'm able to run it w/o any locally present server as well as with a configured "junk" connection Because you do not block icmp with iptables. When I stop firewall, bempc is fast for me too. Using threads is the best solution imho. P.S. Do you have public git repo?

thomas12777

BE::MPC is currently not developed in a sourcecontrol system - i'm wasn't not even sure whether there was at least some interest at all :)

Nikoli

Thanks, 0.4 works fine :) Gentoo package: http://pub.nikoli.msk.ru/portage-overlay/media-sound/bempc/bempc-0.4.ebuild Later can be moved to multimedia overlay. Another problem (does not exist with kdesu): $ su prk $ rm -r /tmp/ksocket-prk/ /var/tmp/kdecache-prk/ $ LANG=C be.mpc (17210) KIconCache::loadCustomIndexHeader: Empty themes list ("port", ""6600"") -> ("port", "6600") (17210) KSycocaPrivate::checkDatabase: We have no database.... launching kdeinit (17210) KToolInvocation::klauncher: klauncher not running... launching kdeinit kdeinit4: preparing to launch /usr/lib64/libkdeinit4_klauncher.so klauncher(17217) kdemain: No DBUS session-bus found. Check if you have started the DBUS server. kdeinit4: Communication error with launcher. Exiting! startkdeinitlock(17210)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying to open ksycoca from "/var/tmp/kdecache-prk/ksycoca4" startkdeinitlock(17210)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Could not open ksycoca startkdeinitlock(17210)/kdecore (KSycoca) KSycocaPrivate::checkDatabase: Still no database... Ошибка сегментирования

Pling
0 Affiliates
Details
license
version 0.11
updated
added
downloads 24h 0
mediaviews 24h 0
pageviews 24h 1

Other Audioplayers:

Knowthelist
knowthelist
last update date: 10 years ago

Score 7.2

Amarok 2
warezmen
last update date: 17 years ago

Score 5.0

SimpleAudioPlayer
Knoellchen
last update date: 10 years ago

Score 7.6

montypc
jerous
last update date: 16 years ago

Score 5.0

webarok
simirimia
last update date: 15 years ago

Score 5.0

BoomBox
sideshow
last update date: 11 years ago

Score 7.0