WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

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

Offline donquixote2u

  • Newbie
  • *
  • Posts: 20
Re: MPD - time for an update?
« Reply #30 on: September 07, 2010, 02:29:04 PM »
@Jason

In principle, I support your intentions. But my version is also different in functionality.

The original TC version (and also the version of b1ackmai1er) supports e.g. no mp3 streaming (I need it but for my iPod) etc ...

I have included in my version as much as possible options. This makes this version of course, larger (more dependencies) :

Code: [Select]
########### 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 ..................enabled
 libao support .................enabled
 OSS support ...................enabled
 OS X support ..................disabled
 Pipeline output support .......disabled
 PulseAudio support ............enabled
 Media MVP support .............enabled
 SHOUTcast support .............enabled
 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 ..............avahi
 libcue support ................enabled

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

Maybe we can escape this catch 21 situation by renaming my version to "mpd-max"?

TaoTePuh's version now includes icecast/shoutcast capability, thereby addressing my concerns about weaknesses in previous versions, so is just fine for my use;

I found my own cut-down local mp3/OSS version wasnt THAT much smaller, so I'd be happy to run with this version as the official mpd 0.15 version. I think the "generic" mpd.tcz version does need to cover as many bases as this one does.

In the meantime I'd like to suggest to blackmailer that he could perhaps ready an 0.16 "mpd-testing.tcz" version along the same lines (ie libs in separate packages), or maybe do a bundled "nodeps" version? 

oh and btw TaoTePuh I stand corrected on the mpc remote capability, thanks for pointing that out, so mpc CAN stand without the mpd dependency. 

Offline Jason W

  • Administrator
  • Hero Member
  • *****
  • Posts: 9730
Re: MPD - time for an update?
« Reply #31 on: September 07, 2010, 05:46:33 PM »
I think donquixote has a good idea for this extension.

Offline TaoTePuh

  • Full Member
  • ***
  • Posts: 172
Re: MPD - time for an update?
« Reply #32 on: September 08, 2010, 12:58:07 PM »
I have finally got a script for compiling mpd. I can quickly adapt this to all needs (git-version, more/less options etc).

But I am waiting for b1ackmai1er's and the community's answer whether to continue or not ...

Offline Jason W

  • Administrator
  • Hero Member
  • *****
  • Posts: 9730
Re: MPD - time for an update?
« Reply #33 on: September 08, 2010, 01:27:50 PM »
mpd.tcz in the repo needs to be at least corrected in regards to file contents.  And I see mpc.tcz has three instances of appended data to it, indicated by the top level usr_1, usr_2, and usr_3 directories.  I have a check for appended data in the audit script, but somehow it slipped past me.

Tonight I will correct the appended data issue with the mpc.tcz extension.  

Tao has taken the steps to communicate and resolve the mpd issue, and his build appears to be best suited for being the main mpd.tcz extension.  So please submit the latest stable one as mpd.tcz, I see no reason for further delay.


Offline TaoTePuh

  • Full Member
  • ***
  • Posts: 172
Re: MPD - time for an update?
« Reply #34 on: September 08, 2010, 01:54:17 PM »
Okay, I'll send version 0.15.12 (last stable) as mpd.tcz.

But how shall I name version 0.16 (git, alpha)?

mpd-testing.tcz
mpd-git.tcz
mpd???

Or do you not want me to submit it?

Offline Jason W

  • Administrator
  • Hero Member
  • *****
  • Posts: 9730
Re: MPD - time for an update?
« Reply #35 on: September 08, 2010, 02:10:27 PM »
-git or -svn is a pretty good name for a cutting edge version, as git or svn versions may change in between alpha and beta and RC status.



Offline cyco_mf

  • Newbie
  • *
  • Posts: 1
Re: MPD - time for an update?
« Reply #36 on: October 13, 2010, 09:26:41 AM »
Blackmailer has submitted mpd.tcz, which was previously done by Davor Serfez.  

And TaoTePuh has submitted the closely related gmpc set of extensions.  

Since this all has been discussed in this thread at length, I am assuming everyone is ok with it.

Any concerned parties can contact me if this is an issue.

Jason W I am glad you posted this, since I was wrestling with some of the issues involved. I dont own mpd, but certainly do own the starting of this thread, so felt a bit responsible when it looked like we were going to have two versions of mpd!

As it has happened it seems to have worked out well. We havent heard from Davor so I assume he is off doing other things - hopefully this thread circumvents the issue we have had recently with original extension submitters having their toes trod on by new versions surfacing without appropriate consultation.

Blackmailer put his hand up for the re-compilation so it looks like he's "it" as mpd maintainer now.  Between his proposed compile options and TaoTePuh , the only question I have (and probably an ignorant one  ;)  ) - what about icecast streaming?  Is shoutcast the same thing?  This seems to be quite commonly used mpd feature with other distros. It (streaming) is on my to-do-one-day list so I'd better find out!
  
Anyway good to see the prolific TaoTePuh  has now added gmpc!  he certainly has become a very good mpd client contributor now.

Now to a few more comments:

I have compiled and submitted the latest alpha version which supports the mpd.conf file in /opt/.mpd

well that is where I think both I and SamK put our mpd config, so ok by me , BUT I hope mpd isnt being started out of tce.installed since I dont have my mounts done by that stage - so to that extent I like  TaoTePuh's roll-your-own approach to config.
Thanks for the idea but there is no "default mpd.conf" in my extension. The settings are too individual.

There is only a "example conf" in /usr/local/share/doc/mpd/mpdconf.example but this will never work without manual adjustment.

I would like to place the following hint in the info file for the Appbrowser:

CONFIGURATION
-------------
Copy example configuration
    tce-load -i mpd-0.15.12-doc
    sudo cp /usr/local/share/doc/mpd/mpdconf.example /etc/mpd.conf
Modify (with sudo) /etc/mpd.conf according to your requirements
Put mpd.conf in your backup if /etc is not persistent
    echo "etc/mpd.conf" >> /opt/.filetool.lst

START mpd
---------
sudo /usr/local/bin/mpd /etc/mpd.conf

STOP mpd
--------
sudo killall mpd


 It bypasses both the stop/start issue with mpd, and that of where the config file is - just put it where you like, before you start mpd! Blackmailer, what was your approach here?

 



Hi, Davor Serfez here.
Thanks for all the nice words for my work with building the mpd extension and documenting the procedure. I'm very glad if it helped in learning and creating an improved extension which deserves to carry the 'mpd' name. I am not a tinycore user but I find microcore to be a fantastic platform for building virtual or embedded appliances for the x86 architecture (that's why I created the mpd and postal extensions).
Keep on the good work.

Offline donquixote2u

  • Newbie
  • *
  • Posts: 20
Re: MPD - time for an update? mini version now?
« Reply #37 on: October 21, 2010, 06:46:43 PM »
Good to see Davor approves of the work done in his footsteps!  ;)

- further to recent discussion on the minimal/nodeps version,  it may be difficult to define what to leave out, but I'm gonna leap in where others fear to tread anyway!

Davor's v2.x version left out shoutcast, so maybe the mini version should be a local player only? leave out the lame, httpd etc? mpd-player anyone?

I must admit I eventually went with my own cut-down version for the same dep-bloat reasons, but it is an mp3-only version, with lame and httpd for mp3 streaming. Thats another version possibility, mpd-mp3?

we almost need a poll with a few popular options , eh!!!

Offline hiro

  • Hero Member
  • *****
  • Posts: 1217
Re: MPD - time for an update?
« Reply #38 on: October 21, 2010, 07:07:25 PM »
This should be mpd.tcz: mp3,flac,vorbis,aac,wave,curl,samplerate,cue,id3-tag,oss
Minimal enough for me.

Offline TaoTePuh

  • Full Member
  • ***
  • Posts: 172
Re: MPD - time for an update?
« Reply #39 on: December 17, 2010, 03:02:58 PM »
FYI: I have just submitted mpd 0.16 and some stuff for usage.

Here is the summary of compiling options:

Quote
########### MPD CONFIGURATION ############

Archive support:
    (+bzip2) (+ISO9660) (+ZIP)
Autodiscovery support:
    (-Avahi) (-Bonjour)
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) (+FFADO) (+FIFO) (+File Recorder) (+HTTP Daemon) (+JACK) (+libao) (+OSS)
    (+OpenAL) (-OS X) (+Pipeline) (+PulseAudio) (+Media MVP) (+SHOUTcast)
    (-Solaris) (-WinMM)
Streaming encoder support:
    (+FLAC) (+LAME) (+Ogg Vorbis) (+TwoLAME) (+WAVE)
Streaming support:
    (+CURL) (+Last.FM) (+MMS)

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

Some notes on configuration :

  • Support for Avahi was enabled for compiling but is displayed with (-Avahi) --> (Bug?).
  • Support for libsndfile is disabled (-libsndfile) because it conflicts with libmodplug (both have a file named sndfile.h)
  • The support for "FireWire based audio devices" (+FFADO) is new in mpd 0.16 but not tested by myself - I don't have the necessary equipment

And here is the resulting support :

Quote
Supported decoders:

[mad] mp3 mp2
[mpg123] mp3
[vorbis] ogg oga
[oggflac] ogg oga
[flac] flac      
[audiofile] wav au aiff aif
[faad] aac                
[mp4ff] m4a m4b mp4
[mpcdec] mpc
[wavpack] wv
[modplug] 669 amf ams dbm dfm dsm far it med mdl mod mtm mt2 okt s3m stm ult umx xm
[mikmod] amf dsm far gdm imf it med mod mtm s3m stm stx ult uni xm
[sidplay] sid mus str prg P00
[wildmidi] mid
[fluidsynth] mid
[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 m4b m4v mad mj2 mjpeg mjpg mka mkv mlp 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 ram 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 wsaud wsvga wv wve
[gme] ay gbs gym hes kss nsf nsfe sap spc vgm vgz

Supported outputs:

shout null fifo pipe alsa ao oss openal pulse mvp jack httpd recorder ffado

Supported encoders:

null vorbis lame twolame wave flac

Supported archives:

bz2 zip iso

Supported protocols:

file:// http:// mms:// mmsh:// mmst:// mmsu:// gopher:// rtp:// rtsp:// rtmp:// rtmpt:// rtmps://
no message buffer overruns


And no, I have not tested all the possible variants ...


« Last Edit: December 18, 2010, 06:53:51 AM by TaoTePuh »

Offline hiro

  • Hero Member
  • *****
  • Posts: 1217
mpd: libiec61883, libraw, ffado, etc
« Reply #40 on: December 20, 2010, 09:52:42 AM »
I saw these new extensions. Most of the dependencies are overkill.
The dependency files from my old extensions in the 2.x archives might be a starting point.

In general I suggest people should not build extensions they don't ever use.
Test them at least one time.

If there is any demand I can support ffado and similar extensions. I didn't update them, because there weren't any other users anyway and I still use tc 2.x on my daw.
« Last Edit: December 20, 2010, 09:55:47 AM by hiro »

Offline gutmensch

  • Administrator
  • Hero Member
  • *****
  • Posts: 605
  • I can make it disappear, have no fear!
    • remembrance blog
Re: MPD - time for an update?
« Reply #41 on: December 20, 2010, 11:48:45 AM »
@Tao: at least libffado needs rework, please put only libffado.so* into the libffado extension and the rest splitted into ffado. there are many people who don't want to (or cannot) use these drivers at all, and they surely don't need qt or ffado python scripts or pyqt etc. for running mpd. if libffado requires too many compromising trade-offs, then think about leaving it out completely...

[edit]
I would also suggest to include in the mpd info file that you don't have to run mpd as root, it's sufficient to be run as normal user on port 6600 with own configuration data in the home directory. It's not very common to run processes as root if you're not forced to do so.
[/edit]
« Last Edit: December 20, 2010, 11:52:57 AM by gutmensch »
If I seem unduly clear to you, you must have misunderstood what I said. (Alan Greenspan)

Offline TaoTePuh

  • Full Member
  • ***
  • Posts: 172
Re: MPD - time for an update?
« Reply #42 on: December 20, 2010, 04:05:02 PM »
... the libffado extension ...

I have just submitted an updated version. I hope it's better that way.

I would also suggest to include in the mpd info file that you don't have to run mpd as root, it's sufficient to be run as normal user on port 6600 with own configuration data in the home directory. It's not very common to run processes as root if you're not forced to do so.

There is no problem with the "sudo" if you deal correctly with the option "user" in "mpd.conf".

But if you change "user" to something different than "tc" (maybe "user mpdrun"), you have to start with "sudo" if you logged in as tc. Okay, I admit that this case at TCL is relatively unlikely. But "sudo" is the universal variant.

I agree we should probably write more about this problem.
But we should not forget that many people start mpd out from the script bootlocal.sh and then (if option user is unused) mpd runs at root, doesn't it?

Here is my suggestion for the .info file


START mpd
---------
/usr/local/bin/mpd /etc/mpd.conf
Save this in your /opt/bootlocal.sh if mpd should
be started automatically at boot time.

Note if start mpd out from /opt/bootlocal.sh:
You should deal with the option "user" in
mpd.conf so that mpd doesn't run as root.


Offline gutmensch

  • Administrator
  • Hero Member
  • *****
  • Posts: 605
  • I can make it disappear, have no fear!
    • remembrance blog
Re: MPD - time for an update?
« Reply #43 on: December 20, 2010, 04:34:27 PM »
from bootlocal.sh I run mpd with
Code: [Select]
su -c '/usr/local/bin/mpd' tc
which prevents mpd from getting root privileges.

my .mpdconf file in /home/tc looks like this
Code: [Select]
port    "6600"
music_directory         "/mnt"
playlist_directory      "~/.mpd/playlists"
db_file                 "~/.mpd/mpd.db"
log_file                "~/.mpd/mpd.log"

the drives under /mnt are user rw (in my case ntfs-3g).

I'm not saying that there aren't any good reasons to start mpd as root (although I cannot think of one atm) but as long as it is just unnecessary I wouldn't go this way because it's only providing a certain risk, no gain at all.
If I seem unduly clear to you, you must have misunderstood what I said. (Alan Greenspan)

Offline hiro

  • Hero Member
  • *****
  • Posts: 1217
Re: MPD - time for an update?
« Reply #44 on: December 29, 2010, 05:42:08 AM »
Today I wanted to start the ffado-mixer, but there is none in libffado. Perhaps you could create a ffado-tools package or something like that?