Hi! and how I installed mt-daapd on Ubuntu 6.06

FireFly Media Server Firefly Media Server Forums Firefly Media Server General Discussion Hi! and how I installed mt-daapd on Ubuntu 6.06

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #888
    ferryb
    Guest

    Ls.

    Just registered to this forum and want to say Hi! to everybody.

    I own a SoundBridge M1000 and installed a nightly build of mt-daapd (with ogg/vorbis and flac support) on a Ubuntu 6.06 “Dapper Drake” Server. Below a placed the steps how I did the installation. Maybe somebody can use this information for his or her needs…

    Ferry

    — howto —

    # apt-get update
    # apt-get upgrade
    # cd /usr/local/src/
    # wget http://nightlies.mt-daapd.org/dl.php?FILE=mt-daapd-svn-1450.tar.gz
    # tar zxvf mt-daapd-svn-1450.tar.gz
    # cd /usr/local/src/mt-daapd-svn-1450
    # apt-get install vorbis-tools libogg-dev libvorbis-dev flac libflac-dev zlib1g-dev libid3tag0-dev libsqlite-dev
    # ./configure –prefix=/usr –sysconfdir=/etc –enable-sqlite –enable-oggvorbis –enable-flac
    # make
    # make install
    # cp /usr/local/src/mt-daapd-svn-1450/contrib/mt-daapd.conf /etc/.

    Now, edit the /etc/mt-daapd.conf file (see below for my personal version)

    Last but not least, create a /etc/init.d/mt-daapd file based on one found in /usr/local/src/mt-daapd-svn-1450/contrib/init.d/ that suits your system. I created another one I found on the internet (don’t know where I found it :/) which is also placed below:

    — File examples —

    configuration file /etc/mt-daapd.conf:

    
    
    # $Id: mt-daapd.conf.templ 1238 2006-06-18 04:54:13Z rpedde $
    #
    # This is the mt-daapd config file.
    #
    # If you have problems or questions with the format of this file,
    # direct your questions to rpedde -at- users.sourceforge.net.
    #
    # You can also check the website at http://mt-daapd.sourceforge.net,
    # as there is a growing documentation library there, peer-supported
    # forums and possibly more.
    #

    [general]

    #
    # web_root (required)
    #
    # Location of the admin web pages.
    #
    # If you installed from .RPM, .deb, or tarball with --prefix=/usr, then
    # this is correct.
    #
    # If you installed from tarball without --prefix=/usr, then the correct
    # path is probably /usr/local/share/mt-daapd/admin-root.
    #

    web_root = /usr/share/mt-daapd/admin-root

    #
    # port (required)
    #
    # What port to listen on. It is possible to use a different
    # port, but this is the default iTunes port
    #

    port = 3689

    #
    # admin_pw (required)
    #
    # This is the password to the administrative pages
    #

    admin_pw = mt-daapd


    #
    # db_type (required)
    #
    # This is what kind of backend database to store the song
    # info in. Valid choices are "sqlite" and "sqlite3".
    #

    db_type = sqlite

    #
    # db_parms
    #
    # This is any extra information the db needs to connect.
    # in the case of sqlite and sqlite3, this is the name
    # of the directory to store the database in
    #
    # If you installed from RPM or .deb, this path likely already
    # exists. If not, then you must create it. The directory itself
    # must be writable by the "runas" user.
    #

    db_parms = /var/cache/mt-daapd

    #
    # mp3_dir (required)
    #
    # Location of the mp3 files to share. Note that because the
    # files are stored in the database by inode, these must be
    # in the same physical filesystem.
    #

    mp3_dir = /samba/data/Music/

    #
    # servername (required)
    #
    # This is both the name of the server as advertised
    # via rendezvous, and the name of the database
    # exported via DAAP. Also know as "What shows up in iTunes".
    #

    servername = MusicCo

    #
    # runas (required)
    #
    # This is the user to drop privs to if running as
    # root. If mt-daapd is not started as root, this
    # configuration option is ignored. Notice that this
    # must be specified whether the server is running
    # as root or not.
    #
    # This is also ignored on Windows.
    #

    runas = nobody

    #
    # playlist (optional)
    #
    # This is the location of a playlist file.
    # This is for Apple-style "Smart Playlists"
    # See the mt-daapd.playlist file in the
    # contrib directory for syntax and examples
    #
    # This doesn't control static playlists... these
    # are controlled with the "process_m3u" directive
    # below.
    #

    playlist = /usr/etc/mt-daapd.playlist

    #
    # password (optional)
    #
    # This is the password required to listen to MP3 files
    # i.e. the password that iTunes prompts for
    #

    #password = mp3

    #
    # extensions (optional)
    #
    # These are the file extensions that the daap server will
    # try to index and serve. By default, it only indexes and
    # serves .mp3 files. It can also server .m4a and .m4p files,
    # and just about any other files, really. Unfortunately, while
    # it can *attempt* to serve other files (.ogg?), iTunes won't
    # play them. Perhaps this would be useful on Linux with
    # Rhythmbox, once it understands daap. (hurry up!)
    #
    # Failing that, one can use server-side conversion to transcode
    # non-standard (.ogg, .flac) music to wav on the server side.
    # See the ssc_* options below.
    #
    # To be able to index .ogg files, you'll need to have configured
    # with --enable-oggvorbis. For .flac, --enable-flac, for .mpc,
    # --enable-musepack.
    #

    extensions = .mp3,.m4a,.m4p

    #
    # ssc_codectypes (optional)
    #
    # List of codectypes for files that the daap server should
    # perform internal format conversion and present to clients
    # as WAV files. The file extensions that these codectypes correspond
    # to must also be present in 'extensions'
    # configuration value, or files are not probed in the first
    # place.
    #
    # Valid codectypes:
    #
    # mp4a - for AAC (.aac, .mp4, .m4a, .m4p)
    # mpeg - for mp3
    # wav - for wav
    # wma - for wma
    # ogg - for ogg
    # flac - for flac (.flac, .fla)
    # mpc for musepack (.mpc, .mpp, .mp+)
    # alac for alac (.m4a)
    #

    ssc_codectypes = ogg,flac,alac

    #
    # ssc_prog (optional)
    #
    # Program that is used in server side format conversion.
    # Program must accept following command line syntax:
    # ssc_prog filename offset length ...
    # Parameter filename is the real name of the file that is
    # to be converted and streamed, offset is number of bytes
    # that are skipped from the beginning of the _output_ file
    # before streaming is started, length is length of the song
    # in seconds (or zero). All other possible arguments must
    # be ignored. The resulting wav file (or the rest of
    # the file after initial seek) is written to the standard
    # output by the ssc_prog program. This is typically
    # a script that is a front end for different conversion tools
    # handling different formats.
    #

    ssc_prog = /usr/bin/mt-daapd-ssc.sh

    #
    # logfile (optional)
    #
    # This is the file to log to. If this is not configured,
    # then it will log to the syslog.
    #
    # Not that the -d switch will control the log verbosity.
    # By default, it runs at log level 1. Log level 9 will churn
    # out scads of useless debugging information. Values in between
    # will vary the amount of logging you get.
    #

    logfile = /var/log/mt-daapd.log

    #
    # art_filename (optional)
    #
    # There is experimental support thanks to Hiren Joshi
    # ([email protected]) for dynamically adding art to the id3v2
    # header as it is streamed (!!). If you were using a music system
    # like zina or andromeda, for example, with cover art called
    # "_folderOpenImage.jpg", you could use the parameter
    # art_file _folderOpenImage.jpg and if the file _folderOpenImage.jpg
    # was located in the same folder as the .mp3 file, it would appear
    # in iTunes. Cool, eh?
    #

    #art_filename = _folderOpenImage.jpg

    #
    # rescan_interval
    #
    # How often to check the file system to see if any mp3 files
    # have been added or removed.
    #
    # if not specified, the default is 0, which disables background scanning.
    #
    # If background rescanning is disabled, a scan can still be forced from the
    # "status" page of the administrative web interface
    #
    # Setting a rescan_interval lower than the time it takes to rescan
    # won't hurt anything, it will just waste CPU, and make connect times
    # to the daap server longer.
    #
    #

    #rescan_interval = 300

    # always_scan
    #
    # The default behavior is not not do background rescans of the
    # filesystem unless there are clients connected. The thought is to
    # allow the drives to spin down unless they are in use. This might be
    # of more importance in IDE drives that aren't designed to be run
    # 24x7. Forcing a scan through the web interface will always work
    # though, even if no users are connected.

    # always_scan = 0

    #
    # process_m3u
    #
    # By default m3u processing is turned off, since most m3u files
    # sitting around in peoples mp3 directories have bad paths, and
    # I hear about it. :)
    #
    # If you are sure your m3u files have good paths (i.e. unixly pathed,
    # with relative paths relative to the directory the m3u is in), then
    # you can turn on m3u processing by setting this directive to 1.
    #
    # I'm not sure "unixly" is a word, but you get the idea.
    #

    # process_m3u = 0

    #
    # scan_type
    #
    #
    # This sets how aggressively mp3 files should be scanned to
    # file length. There are three values:
    #
    # 0 (Normal)
    # Just scan the first mp3 frame to try and calculate size. This will
    # be accurate for most files, but VBR files without an Xing tag will
    # probably have wildly inaccurate file times. This is the default.
    #
    # 1 (Aggressive)
    # This checks the bitrates of 10 frames in the middle of the song.
    # This will still be inaccurate for VBR files without an Xing tag,
    # but they probably won't be quite as inaccurate as 0. This takes
    # more time, obviously, although the time hit will only happen the
    # first time you scan a particular file.
    #
    # 2 (Painfully aggressive)
    # This walks through the entire song, counting the number of frames.
    # This should result in accurate song times, but will take the most
    # time. Again, this will only have to be incurred the first time
    # the file is indexed.
    #

    scan_type = 2

    #
    # compress
    #
    # Whether to use gzip content-encoding when transferring playlists etc.
    # This was contributed as a patch by Ciamac Moallemi just prior to the 0.2.1
    # release, and as such, hasn't gotten as much testing as other features.
    #
    # This feature should substantially speed up transfers of large databases
    # and playlists.
    #
    # It will eventually default to 1, but currently it defaults to 0.
    #

    #compress = 0

    [plugins]
    plugin_dir = /usr/share/mt-daapd/plugins
    plugins = out-daap.so,rsp.so,ssc-script.so

    Initiation file /etc/init.d/mt-daapd:

    
    
    #! /bin/sh
    #
    # skeleton example file to build /etc/init.d/ scripts.
    # This file should be used to construct scripts for /etc/init.d.
    #
    # Written by Miquel van Smoorenburg .
    # Modified for Debian
    # by Ian Murdock .
    #
    # Version: @(#)skeleton 1.9 26-Feb-2001 miquels -at- cistron.nl
    #

    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    DAEMON=/usr/sbin/mt-daapd
    NAME=mt-daapd
    DESC=mt-daapd

    test -x $DAEMON || exit 0

    # Include mt-daapd defaults if available
    if [ -f /etc/default/mt-daapd ] ; then
    . /etc/default/mt-daapd
    fi

    set -e

    case "$1" in
    start)
    echo -n "Starting $DESC: "
    start-stop-daemon --start --quiet -m --pidfile /var/run/$NAME.pid
    --exec $DAEMON -- $DAEMON_OPTS 2>/dev/null
    echo "$NAME."
    ;;
    stop)
    echo -n "Stopping $DESC: "
    start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid
    --signal 2 --exec $DAEMON --oknodo
    echo "$NAME."
    ;;
    #reload)
    #
    # If the daemon can reload its config files on the fly
    # for example by sending it SIGHUP, do it here.
    #
    # If the daemon responds to changes in its config file
    # directly anyway, make this a do-nothing entry.
    #
    # echo "Reloading $DESC configuration files."
    # start-stop-daemon --stop --signal 1 --quiet --pidfile
    # /var/run/$NAME.pid --exec $DAEMON
    #;;
    restart|force-reload)
    #
    # If the "reload" option is implemented, move the "force-reload"
    # option to the "reload" entry above. If not, "force-reload" is
    # just the same as "restart".
    #
    echo -n "Restarting $DESC: "
    start-stop-daemon --stop --quiet --exec $DAEMON --pidfile
    /var/run/$NAME.pid --oknodo
    sleep 1
    start-stop-daemon --start --quiet --pidfile
    /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
    echo "$NAME."
    ;;
    *)
    N=/etc/init.d/$NAME
    # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
    echo "Usage: $N {start|stop|restart|force-reload}" >&2
    exit 1
    ;;
    esac

    exit 0
    #7883
    ericsan
    Guest

    This is extremely useful, thanks for posting it 🙂

Viewing 2 posts - 1 through 2 (of 2 total)
  • The forum ‘General Discussion’ is closed to new topics and replies.