BE::MPC
Audioplayers
Score 59%
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:

6 years ago

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 :P
- 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

juanuni

3 years ago

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

Report

C

thomas12777

3 years ago

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)

Report

lionhater

5 years ago

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.

Report

lionhater

5 years ago

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

Report

C

thomas12777

5 years ago

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.

Report

lionhater

5 years ago

All right, thank you.

Report

lionhater

5 years ago

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.

Report

C

thomas12777

5 years ago

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.

Report

lionhater

5 years ago

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

Report

lionhater

5 years ago

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 $

Report

C

thomas12777

5 years ago

you need libmpd and libmpdclient alongside their -dev packages.

Report

lionhater

5 years ago

Thank you Thomas.

Report

Rasi

5 years ago

You DO know that libmpd is deprecated?

Report

C

thomas12777

5 years ago

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

Report

Nikoli

6 years ago

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

Report

TheRob

6 years ago

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

Report

Nikoli

6 years ago

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

Report

C

thomas12777

6 years ago

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?

Report

Nikoli

6 years ago

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.

Report

C

thomas12777

6 years ago

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

Report

Nikoli

6 years ago

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

Report

C

thomas12777

6 years ago

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

Report

Nikoli

6 years ago

>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?

Report

C

thomas12777

6 years ago

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

Report

Nikoli

6 years ago

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...
Ошибка сегментирования

Report

6 years ago

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 :P
- 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

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
0.11
updated Feb 05 2013
added Jan 06 2011
downloads today
0
page views today 14