WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

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

Offline SamK

  • Hero Member
  • *****
  • Posts: 713
Re: MPD - time for an update?
« Reply #15 on: September 03, 2010, 10:40:11 AM »
Any special demands?
Not a demand but a request. 

It will be helpful if mpd.conf is placed in a editable location rather than the default of /etc.  This will negate the current requirement to stop the running instance and restart it pointing to an editable mpd.conf.

An example of how I currently do this is given earlier in this thread - see post 2.
 

Offline TaoTePuh

  • Full Member
  • ***
  • Posts: 172
Re: MPD - time for an update?
« Reply #16 on: September 03, 2010, 12:05:43 PM »
I believe that it is good to keep the mpd.conf in its usual place. Otherwise, experienced users would get problems because they presuppose the file at that location.

But since I do not intend to start mpd automatically, you can specify a different location while starting: "/usr/local/bin/mpd /opt/mpd.conf".

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14535
Re: MPD - time for an update?
« Reply #17 on: September 03, 2010, 12:14:59 PM »
The other option is to compile such that mpd.conf ends up in /usr/local/etc and then:

1. move the default mpd.conf to somewhere like /usr/local/share/mpd/files/mpd.conf
2. create a start-up script in /usr/local/tce.installed that checks for the presence of /usr/local/etc/mpd.conf and copies /usr/local/share/mpd/files/mpd.conf to /usr/local/etc if it doesn't already exist

This way a modified mpd.conf can be kept in a backup and will not be over-written when the extension is loaded again

Offline TaoTePuh

  • Full Member
  • ***
  • Posts: 172
Re: MPD - time for an update?
« Reply #18 on: September 03, 2010, 02:53:13 PM »
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

Offline b1ackmai1er

  • Jr. Member
  • **
  • Posts: 95
Re: MPD - time for an update?
« Reply #19 on: September 03, 2010, 08:26:53 PM »
I have compiled and submitted the latest alpha version which supports the mpd.conf file in /opt/.mpd

Have been having trouble getting it submitted to the tiny core extensions repository.

If you want to try the package, please PM me with your email and I will send through.

regards b1ackmai1er

Offline SamK

  • Hero Member
  • *****
  • Posts: 713
Re: MPD - time for an update?
« Reply #20 on: September 04, 2010, 01:34:50 AM »
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

If my understanding is correct /etc is only persistent when using a traditional (scatter) type install.  Although this is possible with TC the wiki suggests that pristine setups are preferred.

I use one of the preferred installation methods outlined in the wiki which uses persistent /home /opt and /tce.  With this setup backup is not conducted via filetool.lst.  Your proposed method of dealing with mpd.conf is well suited to users backing up via filetool.lst. Others who use persistent storage as outlined in the Core Concepts page of the wiki may have a pristine /etc which is not backed up.
 
 

Offline Jason W

  • Administrator
  • Hero Member
  • *****
  • Posts: 9730
Re: MPD - time for an update?
« Reply #21 on: September 04, 2010, 07:10:26 PM »
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.

Offline donquixote2u

  • Newbie
  • *
  • Posts: 20
Re: MPD - time for an update?
« Reply #22 on: September 04, 2010, 07:55:49 PM »
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?

 

« Last Edit: September 04, 2010, 08:09:37 PM by donquixote2u »

Offline TaoTePuh

  • Full Member
  • ***
  • Posts: 172
Re: MPD - time for an update?
« Reply #23 on: September 05, 2010, 08:53:00 AM »
@b1ackmai1er

Thanks for the update of MPD!

Unfortunately, I am unhappy with this version.

Installing MPD:

Code: [Select]
tc@box:~$ tce-load -i mpd
libogg.tcz: OK
speex.tcz: OK
flac.tcz: OK
libvorbis.tcz: OK
libao.tcz: OK
vorbis-tools.tcz: OK
libsndfile.tcz: OK
libsamplerate.tcz: OK
libltdl.tcz: OK
libgdbm.tcz: OK
libpulseaudio.tcz: OK
celt.tcz: OK
jack.tcz: OK
mpg123.tcz: OK
tcp_wrappers.tcz: OK
nano.tcz: OK
usage: sudo -h | -K | -k | -L | -V
usage: sudo -v [-AknS] [-p prompt]
usage: sudo -l[l] [-AknS] [-g groupname|#gid] [-p prompt] [-U username] [-u username|#uid] [-g groupname|#gid] [command]
usage: sudo [-AbEHknPS] [-C fd] [-g groupname|#gid] [-p prompt] [-u username|#uid] [-g groupname|#gid] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-C fd] [-g groupname|#gid] [-p prompt] [-u username|#uid] file ...
usage: sudo -h | -K | -k | -L | -V
usage: sudo -v [-AknS] [-p prompt]
usage: sudo -l[l] [-AknS] [-g groupname|#gid] [-p prompt] [-U username] [-u username|#uid] [-g groupname|#gid] [command]
usage: sudo [-AbEHknPS] [-C fd] [-g groupname|#gid] [-p prompt] [-u username|#uid] [-g groupname|#gid] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-C fd] [-g groupname|#gid] [-p prompt] [-u username|#uid] file ...
mpd.tcz: OK

The thing is also, I do not like the configuration in /opt (I can not remember this in six months) and I do not need the directory /home/tc/.mpd and its content.

And when I try to start MPD:

Code: [Select]
tc@box:~$ sudo mpd /etc/mpd.conf
Failed to load database: Database format mismatch, discarding database file
output: line 224: No such encoder: lame
Aborted

Obviously you have built mpd without "Streaming Encoder Support : LAME mp3 encoder".

I also wonder, why all the libraries are in your extension?

Code: [Select]
tc@box:~$ tree /tmp/tcloop/mpd/   
/tmp/tcloop/mpd/
`-- usr
    `-- local
        |-- bin
        |   `-- mpd
        |-- lib
        |   |-- libcue.so -> libcue.so.1.0.4
        |   |-- libcue.so.1 -> libcue.so.1.0.4
        |   |-- libcue.so.1.0.4
        |   |-- libmp3lame.so -> libmp3lame.so.0.0.0
        |   |-- libmp3lame.so.0 -> libmp3lame.so.0.0.0
        |   |-- libmp3lame.so.0.0.0
        |   |-- libshout.so -> libshout.so.3.2.0
        |   |-- libshout.so.3 -> libshout.so.3.2.0
        |   `-- libshout.so.3.2.0
        |-- share
        |   `-- doc
        |       `-- mpd
        |           `-- mpdconf.example
        `-- tce.installed
            `-- mpd

8 directories, 12 files

This will certainly be problems with future updates.
« Last Edit: September 05, 2010, 09:00:45 AM by TaoTePuh »

Offline Arslan S.

  • Hero Member
  • *****
  • Posts: 825
Re: MPD - time for an update?
« Reply #24 on: September 05, 2010, 01:12:54 PM »
in such cases i static link libraries instead of providing shared libs within the extension (see vlc)

for example compiling libshout with "--enable-static --disable-shared" will do the trick

or if you wish you can create an extension for them libshout.tcz etc.

Also I don't recommend alpha version over a stable version
« Last Edit: September 05, 2010, 01:18:22 PM by Arslan S. »

Offline Jason W

  • Administrator
  • Hero Member
  • *****
  • Posts: 9730
Re: MPD - time for an update?
« Reply #25 on: September 05, 2010, 01:42:50 PM »
And the libmp3lame.so* files are in the lame.tcz extension.

For libraries in extensions already existing in the repo, have the .dep file load those extensions instead of packing the files from other extensions in mpd.tcz.  That will cause file conflicts and errors when the other extension is updated.

And if libraries are needed from a seperate source that is not already in an extension in the repo, make an extension for it and list it as a dependency.

Offline TaoTePuh

  • Full Member
  • ***
  • Posts: 172
Re: MPD - time for an update?
« Reply #26 on: September 06, 2010, 04:23:41 PM »
I built mpd 0.15.12 (last stable) and sent it to Jason for inclusion in the repo. Everything else is in the info file.

Offline Jason W

  • Administrator
  • Hero Member
  • *****
  • Posts: 9730
Re: MPD - time for an update?
« Reply #27 on: September 06, 2010, 05:01:03 PM »
Once again I will assume that the parties involved are ok with the update. 

Offline TaoTePuh

  • Full Member
  • ***
  • Posts: 172
Re: MPD - time for an update?
« Reply #28 on: September 07, 2010, 06:03:47 AM »
@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"?

Offline Jason W

  • Administrator
  • Hero Member
  • *****
  • Posts: 9730
Re: MPD - time for an update?
« Reply #29 on: September 07, 2010, 09:52:34 AM »
I just noticed the mpd extension you sent in has a version number in its name, meaning if other apps will depend on this one then the dep files of those apps will be broken upon an update of the mpd with a version in it's name.

As for who provides the final mpd.tcz, it is up to you and blackmailer, as the original submitter has not been heard from in a long time.

The mpd that blackmailer sent in does not meet criteria since it has libs packed in it.  It needs to be replaced or at least the libs taken out and deps added to the dep file.

If there needs to be two extensions, then an mpd.tcz and perhaps a mpd-full or mpd-max could be done.