WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: MPD - time for an update?  (Read 21165 times)

Offline donquixote2u

  • Newbie
  • *
  • Posts: 20
MPD - time for an update?
« on: August 17, 2010, 02:24:38 PM »
Just wondering now that tc3 is here whether its time for another look at mpd?

There seems to be quite a bit of interest in music players, and the arrival of mpd in the repos was clearly well received, with maybe a few mpd clients in the pipeline.

there seem to be a few recurring issues though, some easily dealt with.

the auto starting of mpd with a default config seems to be more of a hindrance than help, (most seem to have to kill it and restart) given mpd's wide variability of configs, so one config never fits all. Maybe forget the startup script and just put hints in tthe info file?

Like many others I had alsa problems, whereas OSS "just worked" - the alsa stuff it dragged in seemed to stop OSS working when I restarted mpd (to pick up a custom config file) from bootlocal, but not when i moved the restart to the .X.d dir? WTF? - maybe an OSS-only version would be good? (and a lot leaner)

At any rate the libao2 dependency is now redundant since with the new recursive dependency resolution liba0 is pulled in by the vorbis-tools dependency, so a recompile under libao should fix this, no?  or do I misunderstand the situation?

I must say that the mpd modules creator, Davor Serfez, did a great job of documenting his build on his own site (serfez.net) which was a huge help in understanding not only the process of compiling mpd, but extension building in general.  

Anyway I would be interested in other opinions on those two changes and possible alternative version.  

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10962
Re: MPD - time for an update?
« Reply #1 on: August 18, 2010, 01:33:14 AM »
The alsa dep should be libasound instead of the full set, so that it doesn't interfere with OSS. Fixed. Also did that to wine-gl, wine-gl-dev, and speech-dispatcher.
The only barriers that can stop you are the ones you create yourself.

Offline SamK

  • Hero Member
  • *****
  • Posts: 713
Re: MPD - time for an update?
« Reply #2 on: August 18, 2010, 02:15:06 AM »
the auto starting of mpd with a default config seems to be more of a hindrance than help, (most seem to have to kill it and restart) given mpd's wide variability of configs, so one config never fits all. Maybe forget the startup script and just put hints in tthe info file?

Anyway I would be interested in other opinions on those two changes and possible alternative version.  
I also use this stop and restart method in order to obtain the MPD configuration I require; it is clumsy but does work.  I would like to see the current boot-up default of /etc/mpd.conf being discontinued in favour of /opt/.mpd/mpd.conf.  This will provide a user editable file in an area well suited to both local backup by filetool and also where /opt is persistent storage.

I have recently been informed by the developer of MPD that the next version will be released later this month (August) and contains lots of bug-fixes/new features.  Perhaps any update of mpd.tcz could also incorporate the forthcoming release.
 

Offline donquixote2u

  • Newbie
  • *
  • Posts: 20
Re: MPD - time for an update?
« Reply #3 on: August 18, 2010, 10:06:27 PM »
Quote
I would like to see the current boot-up default of /etc/mpd.conf being discontinued in favour of /opt/.mpd/mpd.conf.  This will provide a user editable file in an area well suited to both local backup by filetool and also where /opt is persistent storage.

SamK , you and I are in synch on this one - thats exactly what i did! I am also still doubtful about the value of starting mpd at load time, in my case before my second usb drive with all my music on it can be mounted.

Curaga thanks for that fast work on the alsa issue - I have fired up a TC3 version of my setup today. MPD seems to work fine starting from bootlocal without killing OSS now. The libao/liba02 redundancy is a minor issue (theyre tiny) that can wait for an mpd recompile.

 Have you all noticed that b1ackmai1er has submitted an mpc extension?  good lad! - I was trying to do learn how to that , but I can run with his now - I'm blown away by the pace of tc development, great stuff!

Offline b1ackmai1er

  • Jr. Member
  • **
  • Posts: 95
Re: MPD - time for an update?
« Reply #4 on: August 19, 2010, 03:15:19 AM »
Hi donquixote2u,

Thanks for the kind words. This was my first extension and all based on Davor Serfez great work. I made some notes on how I did this which I have posted below, if you are interested.


Install compiletc.tcz
Install squashfs-tools-4.0.tcz
Install mpd.tcz

Download libmpdclient-2.3.tar.bz2 to /home/tc
Download mpc-0.19.tar.gz to /home/tc

export CFLAGS=”-march=i486 -mtune=i686 -Os -pipe”
export CXXFLAGS=”-march=i486 -mtune=i686 -Os -pipe -fno-exceptions -fno-rtti”
export LDFLAGS=”-Wl, -O1”

cd /home/tc
tar xjvf libmpdclient-2.3.tar.bz2
cd libmpdclient-2.3
sudo ./configure --prefix=/usr/local
sudo make -j2
sudo make DESTDIR=/tmp/mpc install-strip

cd /home/tc
tar xjvf mpc-0.19.tar.gz

cd mpc-0.19
sudo ./configure --prefix=/usr/local
sudo make -j2

sudo make DESTDIR=/tmp/mpc install-strip
cd /tmp/mpc

sudo mkdir usr/local/tce.installed
sudo touch usr/local/tce.installed/mpc
sudo chown root:staff usr/local/tce.installed/mpc
sudo chmod 775 usr/local/tce.installed/mpc

sudo rm -rf usr/local/include
sudo rm usr/local/lib/libmpdclient.a
sido rm usr/local/lib/libmpdclient.la
sudo rm -rf usr/local/lib/pkgconfig
sudo rm -rf usr/local/share

find usr -not -type d > ../mpc.tcz.list
cd ..

mksquashfs mpc mpc.tcz
md5sum mpc.tzc > mpc.tcz.md5.txt
« Last Edit: August 20, 2010, 07:41:10 AM by b1ackmai1er »

Offline b1ackmai1er

  • Jr. Member
  • **
  • Posts: 95
Re: MPD - time for an update?
« Reply #5 on: August 20, 2010, 12:24:41 AM »
So if these are the available options for MPD... What options should be compiled in?

########### MPD CONFIGURATION ############

Archive support:
        (-bzip2) (-ISO9660) (-ZIP)
Client support:
        (+IPv6) (+TCP) (+UNIX Domain Sockets)
File format support:
        (+AAC) (-C64 SID) (-FFMPEG) (+FLAC) (-FluidSynth) (-GME) (+libsndfile)
        (-MikMod) (-MODPLUG) (+MAD) (-MPG123) (+MP4) (+Musepack) (+OggFLAC)
        (-OggTremor) (+OggVorbis) (+WAVE) (+WavPack) (-WildMidi)
Other features:
        (+libsamplerate) (+inotify) (+SQLite)
Metadata support:
        (-cue) (+ID3)
Playback support:
        (+ALSA) (+FIFO) (+File Recorder) (+HTTP Daemon) (+JACK) (+libao) (+OSS)
        (-OpenAL) (-OS X) (-Pipeline) (+PulseAudio) (-Media MVP) (-SHOUTcast)
        (-Solaris) (-WIN32 wave)
Streaming encoder support:
        (+FLAC) (-LAME) (+Ogg Vorbis) (-TwoLAME) (+WAVE)
Streaming support:
        (+CURL) (-Last.FM) (+MMS)

????



Offline donquixote2u

  • Newbie
  • *
  • Posts: 20
Re: MPD - time for an update?
« Reply #6 on: August 20, 2010, 03:17:09 PM »
So if these are the available options for MPD... What options should be compiled in?

erm - you've lost me there, b1ackmai1er!  are you taking a poll on what most people want in MPD, or just what is needed to compile it at all?  if the latter,  the doco says "The only requirement is you must compile with at least one audio output, and one decoder"

for example I have experimentally built for my use a version that plays only mp3s to OSS output with optional mp3 streaming via the mpd internal server;

 that only has OSS and lame as  tc dependencies (ie no ogg, vorbis, flac, etc) and if I left out the streaming it wouldnt even need lame.

This wiki list was helpful; http://mpd.wikia.com/wiki/Dependencies   

hope this helps!  ;D

Offline TaoTePuh

  • Full Member
  • ***
  • Posts: 172
Re: MPD - time for an update?
« Reply #7 on: August 21, 2010, 11:25:44 AM »
@b1ackmai1er
Is there a particular reason why your extension (mpc) loads mpd as a dep and starts it? On a client computer that is not necessary, right?

Offline donquixote2u

  • Newbie
  • *
  • Posts: 20
Re: MPD - time for an update?
« Reply #8 on: August 22, 2010, 02:17:41 PM »
@b1ackmai1er
Is there a particular reason why your extension (mpc) loads mpd as a dep and starts it? On a client computer that is not necessary, right?

Tao I am unaware that mpc has any remote capabilities, being just a local cli for mpd, so the mpd dependency is valid, but please correct me if I am wrong.

However when it comes to mpd, I wonder if ANY dependencies should be listed? Surely the y are only dependencies if and when they are required according to the mode that mpd is configured for?  e.g. if I want to play mp3s to OSS without streaming, there would be no dependencies required for the current version as it is compiled?   

IMHO there should just be a list of modal dependencies in the info.

Offline TaoTePuh

  • Full Member
  • ***
  • Posts: 172
Re: MPD - time for an update?
« Reply #9 on: August 22, 2010, 04:08:13 PM »
Quote
Tao I am unaware that mpc has any remote capabilities,

Of course ...

Code: [Select]
tc@box:~$ mpc playlist --host 192.168.252.137 --port 6600
2raumwohnung - Da sind wir
2raumwohnung - Ich weiss warum
2raumwohnung - Ich und Elaine

BTW: Yesterday I built ncmpcpp and it is now available in the repo. Although it is slightly larger then mpc, but can also much more.

For this I have also built libmpdclient as an extra extension. So you can take this part out of your mpc extension and instead use libmpdclient as a dep.

Quote
e.g. if I want to play mp3s to OSS without streaming

Have you already tried out "moc"?

Offline tinypoodle

  • Hero Member
  • *****
  • Posts: 3857
Re: MPD - time for an update?
« Reply #10 on: August 22, 2010, 04:35:32 PM »
Another graphical console player with very low CPU and memory usage and nice features like a playlist editor and a builtin sound mixer would be mp3blaster, if anyone would care to compile it.
http://mp3blaster.sourceforge.net/
"Software gets slower faster than hardware gets faster." Niklaus Wirth - A Plea for Lean Software (1995)

Offline b1ackmai1er

  • Jr. Member
  • **
  • Posts: 95
Re: MPD - time for an update?
« Reply #11 on: August 23, 2010, 04:06:07 AM »
@taotepuh

Yes you are right. mpd should not be a dependency.
I will submit a new version shortly with dependencies corrected and your new libmpdclient.tcz

I have compiled the new mpd which I will submit for people to play with and get some feedback.

@donquixote2u

I see what you mean in regard to mpd dependencies but I do not have enough experience to know what dependencies are truly needed.  I will have a play

regards b1ackmai1er

Offline TaoTePuh

  • Full Member
  • ***
  • Posts: 172
Re: MPD - time for an update?
« Reply #12 on: August 23, 2010, 06:53:03 AM »
My way to determine the dependencies is :

  • Start TC with bootcodes "base norestore"
  • mount your tce-dir
  • load your Extension
  • start your extension in aterm and look at the error messages
  • load the missing extension manually (tce-load -i extension) and note it down in the .dep file
  • repeat the last step until the application starts without error

Offline tinypoodle

  • Hero Member
  • *****
  • Posts: 3857
Re: MPD - time for an update?
« Reply #13 on: August 23, 2010, 07:30:37 AM »
Code: [Select]
ldd 'app'
might also be useful.
"Software gets slower faster than hardware gets faster." Niklaus Wirth - A Plea for Lean Software (1995)

Offline TaoTePuh

  • Full Member
  • ***
  • Posts: 172
Re: MPD - time for an update?
« Reply #14 on: September 03, 2010, 05:26:45 AM »
I have built mpd 0.15.12 (last stable) and before sending it to the repo, this is a feature request to the community.

Currently it looks like this:

########### MPD CONFIGURATION ############

 Client Support:
 IPv6 support ..................enabled
 TCP support ...................enabled
 Unix domain socket support ....enabled

 Playback Support:
 ALSA support ..................enabled
 FIFO support ..................enabled
 HTTP daemon support ...........enabled
 JACK support ..................disabled
 libao support .................enabled
 OSS support ...................enabled
 OS X support ..................disabled
 Pipeline output support .......disabled
 PulseAudio support ............enabled
 Media MVP support .............disabled
 SHOUTcast support .............disabled
 Solaris /dev/audio support ....disabled

 Streaming Encoder Support:
 LAME mp3 encoder ..............enabled
 Ogg Vorbis encoder ............enabled

 File Format Support:
 AAC support ...................enabled
 C64 SID support ...............disabled
 FFMPEG support ................enabled
 FLAC support ..................enabled
 fluidsynth MIDI support .......disabled
 MikMod support ................disabled
 MODPLUG support ...............enabled
 MAD mp3 decoder support .......enabled
 MP4 support ...................enabled
 Musepack (MPC) support ........enabled
 OggFLAC support ...............enabled(FLAC 1.1.3)
 Ogg Vorbis support ............enabled
   using tremor.................no
 Wave file support .............enabled
 WavPack support ...............enabled
 wildmidi MIDI support .........disabled

 Archive support:
 BZ2 archives support ..........enabled
 ISO 9660 archives support .....enabled
 ZIP archives support ..........enabled

 Streaming support:
 last.fm radio support .........enabled
 libcurl support (streaming) ...enabled
 libmms support ................enabled

 Other features:
 ID3 tag support ...............enabled
 libsamplerate support .........enabled
 Zeroconf support ..............disabled
 libcue support ................disabled

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


Any special demands?
« Last Edit: September 03, 2010, 08:16:39 AM by TaoTePuh »