The patch below makes /etc/init.d/mpd start the MusicPlayerDaemon in
a more normal way:
- it stops it from rebuilding the database at every start (which takes
  a very long time on large databases).
- it stops it from going through the trouble to create the music
  database directory (if it doesn't exist yet, probably nothing else
  will work anyway).
- it stops it from messing up the playlist (adding all the songs in the
  universe to it) and from starting to play that messed up list
  forcefully right away (convenient when your machine happens to reboot
  at 3am).
- it uses `nice' if available to boost `mpd's priority to reduce the
  likelihood of skipping.


        Stefan


Index: mpd.init
===================================================================
--- mpd.init    (révision 14019)
+++ mpd.init    (copie de travail)
@@ -4,27 +4,19 @@
 
 start() {
        #create mpd directories
-       md=`grep music_directory /etc/mpd.conf | cut -d "\"" -f 2 | sed 
"s/~/\/root/g"`
-       if [ ! -d $md ]; then
-               mkdir -p $md
-       fi
        pld=`grep playlist_directory /etc/mpd.conf | cut -d "\"" -f 2 | sed 
"s/~/\/root/g"`
        if [ ! -d $pld ]; then
                mkdir -p $pld
        fi
-       #create mpd db
-        /usr/bin/mpd --stdout --create-db
-       
-       #optional export for mpc
-        #export MPD_HOST=127.0.0.1
        
        #start mpd
-        /usr/bin/mpd
-       
-       #generate playlist and start to play
-        /usr/bin/mpc listall | /usr/bin/mpc add -
-        /usr/bin/mpc play
-       /usr/bin/mpc repeat     
+        if [ -x /bin/nice ]; then
+            # This has real-time constraints, so let's at least tell the OS
+            # that this should have higher priority to avoid skipping
+            # when doing other things in the background.
+            nice="nice -n -20"
+        fi
+        $nice /usr/bin/mpd
 }
 
 stop() {

_______________________________________________
openwrt-devel mailing list
[email protected]
http://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to