MPD 0.15 and MPC 0.16

Discussion about my Wifi Radio project at http://mightyohm.com/wifiradio/ or my WL-520gU talk at NOTACON.
User avatar
mightyohm
Site Admin
Posts: 1064
Joined: Fri Apr 03, 2009 10:29 pm
Location: Seattle, WA
Contact:

Re: MPD 0.15 and MPC 0.16

Post by mightyohm »

Would anyone like to volunteer to attempt this? I am totally swamped at the moment and this may be beyond my Makefile-kung-fu/buildroot abilities anyway.
wiizard
Posts: 4
Joined: Tue Jul 14, 2009 10:57 am

Re: MPD 0.15 and MPC 0.16

Post by wiizard »

phood wrote:Hi, just wondering if anyone has got this work yet. I managed to get MPD 0.15.1 compiled into an ipk and installed on the asus wl-520. However, when I ran 'mpd', it just gave me errors that it couldn't find libasound. I tried compiling it again without alsa support and it gave me libstdc++ errors.... kind of depressing. I'm getting the latest packages from svn now and trying it again. Would like to hear if anyone has got 0.15 working yet.
ah, libstdc++
see https://dev.openwrt.org/ticket/5565
mac
Posts: 1
Joined: Mon Sep 07, 2009 1:27 pm

Re: MPD 0.15 and MPC 0.16

Post by mac »

hello i manage to compile 0.15.2 however i cannot get mpd to play mm streams

even by using:

https://dev.openwrt.org/ticket/5565
https://lists.openwrt.org/pipermail/ope … 19010.html
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=534726
i get

Code: Select all

root@OpenWrt:/mnt/sda1/share/rapid# mpc
volume:100%   repeat: off   random: off   single: off   consume: off
ERROR: problems decoding "mms://87.98.222.193/CHILLOUT"
my makefile

Code: Select all

# 
# Copyright (C) 2007-2009 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk



PKG_NAME:=mpd
PKG_VERSION:=0.15.2
PKG_RELEASE:=2

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://sunet.dl.sourceforge.net/project/musicpd/mpd/0.15.2
#PKG_MD5SUM:=eec9f5642d4a9c59a0df0a458def3505

include $(INCLUDE_DIR)/package.mk

define Package/mpd
  SECTION:=sound
  CATEGORY:=Sound
  DEPENDS:=+libflac +libid3tag +libmad +libvorbisidec +libpthread +glib2 +libmms +libcurl +libffmpeg +libstdcpp
  TITLE:=Music Player Daemon
  URL:=http://www.musicpd.org/
endef

define Package/mpd/description
    MPD is a music player supporting flac, mp3 and ogg files.
    It is typically controlled over a network using one of it's many
    clients including mpc(console), gmpc(gnome), phpmp(php) etc.
endef

define Package/mpd/conffiles
/etc/mpd.conf
endef

ifndef CONFIG_PACKAGE_kmod-sound-core
    EXTRA_CONFIG_PARAM:=--disable-alsa
endif

CONFIGURE_VARS += \
    CURL_LIBS="-L$(STAGING_DIR)/usr/lib -lssl -lcrypto -lcurl" \
    CURL_CFLAGS="-I$(STAGING_DIR)/usr/include" \
    ID3TAG_LIBS="$(TARGET_LDFLAGS) -lz -lid3tag" \
    ID3TAG_CFLAGS="$(TARGET_CPPFLAGS)" \
    FLAC_LIBS="$(TARGET_LDFLAGS) -lFLAC" \
    FLAC_CFLAGS="-I$(STAGING_DIR)/usr/include/FLAC" \
    MAD_LIBS="$(TARGET_LDFLAGS) -lmad" \
    MAD_CFLAGS="$(TARGET_CPPFLAGS)" \
    OGGVORBIS_LIBS="$(TARGET_LDLFAGS) -lvorbisidec" \
    OGGVORBIS_CFLAGS="$(TARGET_CPPFLAGS)" \
    GLIB_CFLAGS="-I$(STAGING_DIR)/usr/include/glib-2.0 -I$(STAGING_DIR)/usr/lib/glib-2.0/include" \
    GLIB_LIBS="$(TARGET_LDLFAGS) -L$(STAGING_DIR)/usr/lib/libintl/lib -lintl -L$(STAGING_DIR)/usr/lib/libiconv/lib -liconv -lglib-2.0 -lgthread-2.0 -pthread"

define Build/Configure
    $(call Build/Configure/Default, \
        $(EXTRA_CONFIG_PARAM) \
        --disable-audiofile \
        --disable-mpc \
        --disable-aac \
        --disable-lsr \
        --disable-ao \
        --disable-mvp \
        --disable-lametest \
        --disable-lame-encoder \
        --enable-flac \
        --enable-lastfm \
        --enable-mms \
        --enable-ffmpeg \
        --with-tremor="$(STAGING_DIR)/usr/lib" \
    )
endef

define Build/Compile
    $(MAKE) -C $(PKG_BUILD_DIR) \
        DESTDIR="$(PKG_INSTALL_DIR)" \
        all install
endef

define Package/mpd/install
    $(INSTALL_DIR) $(1)/etc
    $(CP) $(PKG_BUILD_DIR)/doc/mpdconf.example $(1)/etc/mpd.conf
    $(INSTALL_DIR) $(1)/usr/bin
    $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mpd $(1)/usr/bin/
    $(INSTALL_DIR) $(1)/etc/init.d
    $(INSTALL_BIN) ./files/mpd.init $(1)/etc/init.d/mpd
endef

$(eval $(call BuildPackage,mpd))
anyone manage to go thru that ?
got any success with playing mms ..

plz help :(
regiscruzbr
Posts: 16
Joined: Fri Jul 24, 2009 10:54 pm

Re: MPD 0.15 and MPC 0.16

Post by regiscruzbr »

I'm trying to figure out how compile my first own package, but I still have some problems after days of attempts.
I had a good progress researching on google and also on links that you suggested. But now I can not solve this two problem ...

First error: WARNING: skipping libmms -- package not selected
Second error: No package 'glib-2.0' found

Code: Select all

regiscruzbr@PoderSupremo:~/OpenWr_809/8.09$ make package/mpd/{clean,compile,install} V=99
make[1]: Entering directory `/home/regiscruzbr/OpenWr_809/8.09'
make[2]: Entering directory `/home/regiscruzbr/OpenWr_809/8.09/package/mpd'
rm -f /home/regiscruzbr/OpenWr_809/8.09/staging_dir/mipsel/stamp/.mpd_installed
rm -f /home/regiscruzbr/OpenWr_809/8.09/bin/packages/mipsel/mpd_*
rm -f /home/regiscruzbr/OpenWr_809/8.09/staging_dir/mipsel/packages/mpd.list /home/regiscruzbr/OpenWr_809/8.09/staging_dir/host/packages/mpd.list
rm -rf /home/regiscruzbr/OpenWr_809/8.09/build_dir/mipsel/mpd-0.15.1
make[2]: Leaving directory `/home/regiscruzbr/OpenWr_809/8.09/package/mpd'
make[1]: Leaving directory `/home/regiscruzbr/OpenWr_809/8.09'
make[1]: Entering directory `/home/regiscruzbr/OpenWr_809/8.09'
make[2]: Entering directory `/home/regiscruzbr/OpenWr_809/8.09/package/libtool'
make[2]: Leaving directory `/home/regiscruzbr/OpenWr_809/8.09/package/libtool'
make[2]: Entering directory `/home/regiscruzbr/OpenWr_809/8.09/package/libmms'

WARNING: skipping libmms -- package not selected

if [ -f "/home/regiscruzbr/OpenWr_809/8.09/build_dir/mipsel/libmms-0.4/./libtool" -a -e "/home/regiscruzbr/OpenWr_809/8.09/staging_dir/mipsel/host/bin/libtool" ]; then rm -f /home/regiscruzbr/OpenWr_809/8.09/build_dir/mipsel/libmms-0.4/./libtool; ln -s /home/regiscruzbr/OpenWr_809/8.09/staging_dir/mipsel/host/bin/libtool /home/regiscruzbr/OpenWr_809/8.09/build_dir/mipsel/libmms-0.4/./; fi
.
.
.
.
.
checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking for a BSD-compatible install... /usr/bin/install -c
checking pkg-config is at least version 0.9.0... yes
checking for GLIB... configure: error: Package requirements (glib-2.0) were not met:

No package 'glib-2.0' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables GLIB_CFLAGS
and GLIB_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

make[2]: *** [/home/regiscruzbr/OpenWr_809/8.09/build_dir/mipsel/libmms-0.4/.configured] Error 1
make[2]: Leaving directory `/home/regiscruzbr/OpenWr_809/8.09/package/libmms'
make[1]: *** [package/libmms/compile] Error 2
make[1]: Leaving directory `/home/regiscruzbr/OpenWr_809/8.09'
make: *** [package/mpd/compile] Error 2
regiscruzbr@PoderSupremo:~/OpenWr_809/8.09$ 

In the above result, I put only two pieces of where the errors are because the result was very long.
I created two Makefiles that wiizard suggested above, one for mpd and one for libmms. I think the Makefile mpd was compiled without problems but the libmms brought this problem up.
I'm not sure but I think that this problem come from my menuconfig (see the printscreen here), like you can see, the mms option is not avalable for <*> or <M>, actually I have no idea.
Also in the step 4 of MightyOhm tutorial said that in menu sound (in menuconfig) I have to check mpd, mpc and madplay, but in my menuconfig I have just mpd option...
About the second problem, I believe that is becouse I don't have this glib2 lib, so probably I have to do a Makefile for this one to and for the other ones that are called inside the mpd Makefile (see below).

Code: Select all

define Package/mpd
  SECTION:=sound
  CATEGORY:=Sound
  DEPENDS:=+libflac +libid3tag +libmad +libvorbisidec +libpthread +glib2 +libmms +libcurl +libffmpeg +libstdcpp
  TITLE:=Music Player Daemon
  URL:=http://www.musicpd.org/
endef
Are you guys have any idea about what's happening?
How can I fix that problem on my menuconfig (if that is a problem).
My reasoning is correct? I need to create other Mekefiles to eliminate future errors? :shock:

Thanks...
Neo2199
Posts: 7
Joined: Fri Mar 12, 2010 12:10 pm

Re: MPD 0.15 and MPC 0.16

Post by Neo2199 »

Has anyone got working radio to play mms streams?
petterniklas
Posts: 1
Joined: Fri Jun 18, 2010 6:53 am

Re: MPD 0.15 and MPC 0.16

Post by petterniklas »

I'm currently trying to get it working.

I'm compiling openwrt kamikaze 8.09.2, which has new versions of mpd + libmms etc. The newer mpd doesn't fit in the flash though, so I'm also trying to get block-extroot compiled into the kernel to be able to use usb storage to install the packages on.

It's compiling atm. so let's see how it goes..

Edit:
Well, I've got openwrt compiled and running. I don't know how to configure alsa to work with my soundcard (I've never used alsa before) so I changed the --disable-oss (or something similar) to --enable-oss in the makefile for mpd. It works, but mpd can't read or change the volume.

While thrawling through the openwrt forum, I came to the conclusion that my plan to use ffmpeg as a means to get mpd to read most formats isn't going to work after all. Someone wrote that they got it working somehow with wma streams, but that the router just was too slow to decode the stream, and the result was stuttering audio. It's suggested in this thread https://forum.openwrt.org/viewtopic.php?id=21578 that it could be possible to use gstreamer to convert windows media streams to mp3 for mpd.

Another solution would be mplayer, which shouldn't have problems with wma etc. It's apparently not prioritized too hig according to this ticket https://dev.openwrt.org/ticket/4020 .

The problem is that some public service stations I'd like to listen to use windows media/real audio streams. The reason for using those formats is beyond my comprehension. Somehow I don't think they'll change to some more open format just because I ask nicely ;)
User avatar
mightyohm
Site Admin
Posts: 1064
Joined: Fri Apr 03, 2009 10:29 pm
Location: Seattle, WA
Contact:

Re: MPD 0.15 and MPC 0.16

Post by mightyohm »

I salute your efforts to get other formats working with mpd. It frustrates me that some streams (particularly commercial radio stations) use formats that are not well supported outside of the Windows/PC environment.

Please post your results if you are able to cobble something together. I know that there are others who would like to get Windows Media / Real Audio formats working with mpd.

Myself, I pretty much stick to Shoutcast. :|
jeroen94704
Posts: 109
Joined: Sat Feb 13, 2010 4:27 am
Location: Eindhoven, the Netherlands

Re: MPD 0.15 and MPC 0.16

Post by jeroen94704 »

Yesterday I installed the 10.03 Backfire release of OpenWrt on a WL-500G deluxe. This release comes with a pretty extensive build of mpd 0.15.8. Here's the output of mpd --version:

Code: Select all

mpd (MPD: Music Player Daemon) 0.15.8

Copyright (C) 2003-2007 Warren Dukes <warren.dukes@gmail.com>
Copyright (C) 2008 Max Kellermann <max@duempel.org>
This is free software; see the source for copying conditions. There is NO
warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Supported decoders:
[mad] mp3 mp2
[vorbis] ogg oga
[flac] flac
[ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 afc aif aifc aiff al alaw amr anim apc ape asf atrac au aud avi avm2 avs bap bfi c93 cak cin cmv
cpk daud dct divx dts dv dvd dxa eac3 film flac flc fli fll flx flv g726 gsm gxf iss m1v m2v m2t m2ts m4a m4v mad mj2 mjpeg mjpg mka mkv m
lp mm mmf mov mp+ mp1 mp2 mp3 mp4 mpc mpeg mpg mpga mpp mpu mve mvi mxf nc nsv nut nuv oga ogm ogv ogx oma ogg omg psp pva qcp qt r3d ra ra
m rl2 rm rmvb roq rpl rvc shn smk snd sol son spx str swf tgi tgq tgv thp ts tsp tta xa xvid uv uv2 vb vid vob voc vp6 vmd wav wma wmv wsau
d wsvga wv wve

Supported outputs:
shout null fifo alsa oss httpd

Supported protocols:
file:// http:// lastfm:// mms:// mmsh:// mmst:// mmsu://
So this seems to support MMS, WMA and Real Audio streams. Pretty exciting stuff, and a huge improvement over the limited 0.14 build included in the Kamikaze branch.

Edit: Although I didn't see petterniklas' remark that the router is just too slow to decode some of these formats. Oh well, I did it to get support for streams, and the HTTPD output anyway.

Jeroen
Post Reply