Playlist issue with a NSLU2/ROKU

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #1889
    Anonymous
    Inactive

    Hello,

    First of all, Firefly is a very useful software, great job !
    I’ve installed mt-daapd on a NSLU2 without any problems by following the instructions in the well done wiki.

    Unfortunately, I’ve a small problem with static playlists. Everything works fine, except that my Soundbridge doesn’t see any m3u playlist.

    I use the following devices/softwares versions :

    NLSU2 V2.3R63-uNSLUng-6.8-beta
    mt-daapd svn-1673 (installed with ipkg)
    Roku Soundbridge M1001 v3.0.44

    I’ve enabled the support of m3u playlists in the config file :

    /opt/etc/mt-daapd/mt-daapd.conf

    ...
    #
    # process_m3u
    # ...

    process_m3u = 1
    ...

    Then I’ve restarted the mt-daapd server with the script :

    /opt/etc/init.d/S60mt-daapd

    I’ve seen that this script kills all mt-daapd processes before restarting the server.

    Here is an example of the organization of my mp3 and m3u files on the hdd :

    ...
    /public/Music/U2/The Best Of 1980-1990/03-With Or Without You
    ...
    /public/Music/Playlist.m3u
    ...

    My playlists are created under Linux with a software called Exaile.
    I’ve tried relative and complete paths, but with no success.

    #EXTM3U
    #PLAYLIST: Playlist
    #EXTINF:298,With Or Without You
    /public/Music/U2/The Best Of 1980-1990/03-With Or Without You.mp3

    or

    U2/The Best Of 1980-1990/03-With Or Without You.mp3

    or even

    ../Music/U2/The Best Of 1980-1990/03-With Or Without You.mp3

    Any idea or suggestion ? Perhaps another version of the nightly build of mt-daapd, but which one ?

    #13245
    fizze
    Participant

    No, probably a missing config entry.

    There are two entries that need to be set to actually scan m3u files.
    One is m3u_playlists, and the other one is process_playlists iirc.

    Verify http://wiki.fireflymediaserver.org/Config_File?highlight=%28playlist%29

    #13246
    Anonymous
    Inactive

    I’ve tried to add this entry in the config file, but it doesn’t work better.
    Here is my compelete mt-daapd.conf, it seems that this config file is quite old, but it’s the one installed with mt-daapd svn-1673.
    At least there is no “Scanning” section.
    Where can I found a more recent version of this config file ?
    Or have I to create a new config file from scratch with the informations of the wiki ?
    The one installed with mt-daapd has the advantage of being well documented, and that’s the reason why I ask to obtain a recent version…

    # $Id: mt-daapd.conf,v 1.3 2005/02/15 03:35:19 rpedde Exp $
    #
    # This is the mt-daapd config file.
    #
    # If you have problems or questions with the format of this file,
    # direct your questions to [email protected].
    #
    # 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
    # ipk, this is correct
    #

    web_root = /opt/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
    #
    # YOU SHOULD PROBABLY CHANGE THIS
    #

    admin_pw = ***

    #
    # db_dir (depricated)
    #
    # This is where mt-daapd stores its database of song information.
    #
    # If you installed this from .ipk, this is correct
    #

    #db_dir /opt/var/mt-daapd

    #
    # db_type/db_parms
    #
    # This specifies what kind of database you want, and where
    # it should be kept. Valid db_types depend on what databases are
    # compiled in, but can include "sqlite" and "sqlite3".
    #
    # db_parms is the parameters for that database backend. For sqlite and
    # sqlite3, these parameters are the path to the database.
    #

    db_type = sqlite
    db_parms = /opt/var/mt-daapd

    #
    # mp3_dir (required)
    #
    # Location of the mp3 files to share. This corresponds
    # to a folder called "mp3" in the "DISK 1" share.
    #

    mp3_dir = /public/Music

    #
    # servername
    #
    # This is both the name of the server as advertised
    # via rendezvous, and the name of the database
    # exported via DAAP
    #
    # defaults to the hostname if not set
    #

    servername = NSLU2-IOMEGA Music

    #
    # 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.
    #
    # If you have not messed with permissions from
    # the console, then this should work correctly
    # without any strange chmods or anything.
    #

    runas = guest

    #
    # 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 = /opt/etc/mt-daapd/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!)
    #

    extensions = .mp3,.m4a,.m4p,.ogg,.flac

    #
    # ssc_extensions (optional)
    #
    # List of file extensions belonging to the files daap server
    # performs internal format conversion and present to clients
    # as WAV files. Extensions must also be present in 'extensions'
    # configuration value, or files are not probed in the first
    # place.
    #

    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
    # 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. The resulting wav file (or
    # 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 = /opt/sbin/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.
    #

    # We'll set it to 10 minutes
    #
    rescan_interval = 600

    # 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_playlists = 1
    process_m3u = 1

    #
    # scan_type
    #
    #
    # This sets how aggressively mp3 files should be scanned to determin e
    # 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, at least where bandwidth is limited.
    #
    # It will eventually default to 1, but currently it defaults to 0.
    #
    # DONT EVEN THINK OF ENABLING THIS ON THE SLUG. IT WILL
    # DEGRADE PERFORMANCE MASSIVELY. It might even trigger the
    # OOM killer, so just pretend this option isn't here.
    #
    # In fact, it's only here for the sake of completeness.

    # compress = 0

    [plugins]
    plugin_dir = /opt/share/mt-daapd/plugins
    plugins = rsp.so,ssc-script.so
    #13247
    fizze
    Participant

    Install the newest nightly, and overwrite your config file with the default one.
    That one should always be the most recent one.

    Or you can just append a [scanning] entry and add the two playlist-tags, which should work too.

    #13248
    Anonymous
    Inactive

    Ok, now it works ! Thanks.

    Actually it was a configuration problem.
    I’ve downloaded the latest software sources archive and extracted the template for mt-daapd.conf file.
    It has some differences with the one installed by ipkg from mt-daapd repository. The section [scanning] has been added with the tags “process_playlists” and “process_m3u”.
    So I’ve merge the 2 versions of mt-daapd.conf because the newest one is not suitable for NSLU2.

    Hereunder is the result of this merge, if the developers are interrested to include it in the .ipk package for ARM.

    # $Id: mt-daapd.conf.templ 1660 2007-09-12 13:08:04Z rpedde $
    #
    # This is the mt-daapd config file.
    #
    # If you have problems or questions with the format of this file,
    # direct your questions to [email protected].
    #
    # Questions and discussions about the format and content of this
    # config file can probably be obtained by consulting the wiki:
    #
    # http://wiki.fireflymediaserver.org/Config_File
    #
    # Or by asking questions on the forums at
    #
    # http://forums.fireflymediaserver.org
    #
    #

    [general]

    #
    # web_root (required)
    #
    # Location of the admin web pages. If you installed from
    # .ipk, this is correct.
    #

    web_root = /opt/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 this from .ipk, this is correct.
    # The directory itself must be writable by the "runas" user.
    #

    db_parms = /opt/var/mt-daapd

    #
    # mp3_dir (required)
    #
    # Location of the mp3 files to share. This corresponds
    # to a folder called "mp3" in the "DISK 1" or "DISK 2"
    # share.
    #

    mp3_dir = /public/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 = Firefly Music Server

    #
    # 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.
    #
    # If you have not messed with permissions from
    # the console, then this should work correctly
    # without any strange chmods or anything.
    #

    runas = guest

    #
    # 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 = /opt/sbin/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

    #
    # 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

    #
    # scan_type
    #
    #
    # This sets how aggressively mp3 files should be scanned to deter-mine
    # 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, at least where bandwidth is limited.
    #
    # It will eventually default to 1, but currently it defaults to 0.
    #
    # DONT EVEN THINK OF ENABLING THIS ON THE SLUG. IT WILL
    # DEGRADE PERFORMANCE MASSIVELY. It might even trigger the
    # OOM killer, so just pretend this option isn't here.
    #
    # In fact, it's only here for the sake of completeness.
    #

    #compress = 0

    [plugins]
    plugin_dir = @libdir@/mt-daapd/plugins

    [scanning]

    # Should playlists be processed at all ?
    #
    process_playlists = 1

    # Should itunes xml files be processed ?
    #
    #process_itunes = 1

    # Should m3u files be processed ?
    #
    process_m3u = 1
    #13249
    rpedde
    Participant

    @PhW139 wrote:

    Ok, now it works ! Thanks.

    Actually it was a configuration problem.
    I’ve downloaded the latest software sources archive and extracted the template for mt-daapd.conf file.
    It has some differences with the one installed by ipkg from mt-daapd repository. The section [scanning] has been added with the tags “process_playlists” and “process_m3u”.
    So I’ve merge the 2 versions of mt-daapd.conf because the newest one is not suitable for NSLU2.

    It is supposed to default to the right settings if they aren’t ther.e Clearly they don’t. :/

    I’ll explicitly set them in the slug configs.

    Thanks.

    — Ron

Viewing 6 posts - 1 through 6 (of 6 total)
  • The forum ‘Setup Issues’ is closed to new topics and replies.