BE::MPC

Audioplayers

Source (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
7 .2
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:

7 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

6 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

6 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

9

lionhater

8 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

9

lionhater

8 years ago

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

Report

C

thomas12777

8 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

9

lionhater

8 years ago

All right, thank you.

Report

9

lionhater

8 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

8 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

9

lionhater

8 years ago

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

Report

9

lionhater

8 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

8 years ago

you need libmpd and libmpdclient alongside their -dev packages.

Report

Rasi

8 years ago

You DO know that libmpd is deprecated?

Report

C

thomas12777

8 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

9

lionhater

8 years ago

Thank you Thomas.

Report

Nikoli

9 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

9

TheRob

9 years ago

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

Report

Nikoli

9 years ago

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

Report

C

thomas12777

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

7 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

12345678910
5
product-maker lionhater Feb 15 2012 9 excellent
product-maker deabru Jan 18 2011 9 excellent
product-maker plushcube Jan 10 2011 9 excellent
product-maker cochisepoeta Jan 09 2011 9 excellent
product-maker TheRob Jan 09 2011 9 excellent
product-maker Base: 4 x 5.0 Ratings
Be the first to comment
kbo
Nov 05 2011
TheRob
Jan 26 2011
plushcube
Jan 10 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
0.11
updated Feb 05 2013
added Jan 06 2011
downloads 24h
1
mediaviews 24h 0
pageviews 24h 11