-INSTALL FireFly on AppleTV-
-----------------------------------
Pre-requirements:
- AppleTV
- SSH enable on AppleTV
- WinSCP program
- Putty
Code:
# wget http://nightlies.fireflymediaserver.org ... n-1586.dmg
(or. download to PC and copy to '/tmp' with WinSCP onto AppleTV)
# cd /tmp
# hdiutil mount Firefly-svn-1586.dmg
# scp -1 -r /Volumes/Install\ Firefly/Firefly.prefPane/Contents/Resources/Firefly\ Helper.app/Contents/Resources/Server frontrow@appletv.local:Applications/FireFly
On PC create file firefly.conf and paste inside the following text:
- Code: Select all
# This is the Firefly Media Server config file.
#
# Note that any changes made to this file will require the server to be
# shut down and restarted
#
#
[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 = /mnt/Scratch/Users/frontrow/Applications/FireFly/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 = 4444
#
# admin_pw (optional)
#
# This is the password to the administrative pages
#
# If it is blank, then no password is required from localhost,
# but nobody can connect from an outside machine (for admin
# pages).
#
# If it is set, then passwords are required for admin pages
# from both localhost and external hosts
#
admin_pw = admin
#
# db_type (required)
#
# This is what kind of backend database to store the song
# info in. Valid choices are "sqlite" and "sqlite3".
#
# sqlite seems to be more stable.
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 = /mnt/Scratch/Users/frontrow/Applications/FireFly
#
# 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 = /mnt/Media/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 = AppleTV 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.
#
# This is a leftover from the port from unix -- it's
# not used on windows, but still hanging around, like
# an appendix.
#
runas = nobody
#
# 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.
#
extensions = .mp3,.m4a,.m4p,.wma,.flac,.ogg,.m3u
#
# 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
#
# 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 /Users/frontrow/Applications/FireFly/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 <level> 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
# (hirenj@mooh.org) 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 (in sec) 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 = 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 = 1
#
# scan_type
#
#
# This sets how aggressively mp3 files should be scanned to determine
# 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 = 0
# compress 0
#
# Truncate
#
# should the server truncate the log files on startup.
# Defaults to zero
truncate = 1
playlist = /Users/frontrow/Applications/FireFly/firefly.playlist
[scanning]
#
# 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
[plugins]
plugin_dir = /mnt/Scratch/Users/frontrow/Applications/FireFly/plugins
plugins = rsp.so,out-daap.so
[daap]
correct_order = 0
With WinSCP copy file firefly.conf on AppleTV, folder /mnt/Scratch/Users/frontrow
Firing up the engines:
Code:
# /Users/frontrow/Applications/FireFly/firefly -y -f -c /Users/frontrow/firefly.conf &
# chmod 777 FireFly
# chown -R 777 FireFly
Connecting to server:
http://appletv.local:1024/index.html (port can be defined in firefly.conf)
Making Firefly autostart:
Create file FireFly.sh on PC with the following text inside:
- Code: Select all
#!/bin/bash
#
/Users/frontrow/Applications/FireFly/firefly -y -f -c /Users/frontrow/firefly.conf &
Also create a file called com.FireflyLauncher.plist with the following contents:
- Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple$
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.FireflyLauncher</string>
<key>RunAtLoad</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/Users/frontrow/Applications/FireFly/Firefly.sh</string>
</array>
</dict>
</plist>
Copy file com.FireflyLauncher.plist this in /mnt/Scratch/Users/frontrow/Library/LaunchAgents/
and copy Firefly.sh script in /Users/frontrow/Applications/FireFly/
Code:
# chmod +x ~/Applications/FireFly/Firefly.sh
(CHMOD 755)
Note:
- make the folders if they do not exist
- this LaunchAgent is for user frontrow and all services required to run the server should already be running by the time this is run.
- you can test the LaunchAgent on the fly, as it were by trying the following:
Code:
# launchctl load ~/Library/LaunchAgents/com.FireflyLauncher.plist
- you can check it's loaded (either after the above or after a reboot) by:
Code:
# launchctl list
# sudo reboot
(and test if autostart is working)
------------------------------------------------
-Installing Flash player for FireFly on AppleTV:-
------------------------------------------------
Download from http://www.mellberg.org/FirePlay.zip.
Etract and copy content with WinSCP on AppleTV into the following folder:
/Users/frontrow/Applications/FireFly/admin-root/
In FirePlay.html you can edit 'IP and Port'.
Go to http://appletv.local:1024/fireplay.html and enjoy.
Copy music to /mnt/Media/Music (you can change that in config file).
