Browse files

Add documentation

  • Loading branch information...
1 parent bbc4dba commit fab023085b0520bc0d47cb5e573a8024c8b3dc62 @jblache jblache committed Jun 12, 2009
Showing with 141 additions and 1 deletion.
  1. +0 −1 .gitignore
  2. +5 −0 ChangeLog
  3. +46 −0 INSTALL
  4. +5 −0 NEWS
  5. +85 −0 README
@@ -10,7 +10,6 @@ Makefile
# autofoo stuff
@@ -0,0 +1,5 @@
+ChangeLog for forked-daapd
+version 0.10:
+ - initial release.
@@ -0,0 +1,46 @@
+Installation instructions for forked-daapd
+Required tools:
+ - ANTLR v3 is required to build forked-daapd, along with its C runtime
+ (libantlr3c). Use at least version 3.1.x of ANTLR v3 and the matching
+ C runtime version.
+The configure script will look for a wrapper called antlr3 in the PATH to
+invoke ANTLR. If it doesn't exist, it'll try to invoke ANTLR directly with
+'java org.antlr.Tool'; make sure your CLASSPATH is set properly, and if it
+doesn't work, just create the wrapper somewhere in your PATH.
+ - glibc 2.9+ (for signalfd)
+ - Avahi client libraries, 0.6.24 minimum
+ - sqlite3
+ - ffmpeg
+ - confuse
+ - libevent 1.4+
+ - libavl
+ - MiniXML
+ - libflac (optional)
+ - taglib (optional)
+libavl is not the GNU libavl. There doesn't seem to be an upstream website
+anymore, but you can fetch it from any Debian mirror for instance (it'll be
+in /debian/pool/main/liba/libavl).
+FLAC and Musepack support are optional. If not enabled, metadata extraction
+will fail on these files.
+Recommended build settings:
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-flac --enable-musepack
+After installation, edit the configuration file, /etc/forked-daapd.conf and
+adjust the values at your convenience.
+forked-daapd will drop privileges to any user you'll specify in the
+configuration file if it's started as root. It's recommended to create a
+dedicated user without login privileges. That user must have read permissions
+on your library.
+You'll need an init script if you want to start forked-daapd at boot. A simple
+init script will do, forked-daapd daemonizes all by itself and creates a
+pidfile under /var/run.
@@ -0,0 +1,5 @@
+forked-daapd NEWS
+version 0.10:
+ It's released, and that's news. Yup.
@@ -0,0 +1,85 @@
+forked-daapd is a DAAP and RSP media server for Linux. It is a complete
+rewrite of mt-daapd (Firefly Media Server).
+DAAP stands for Digital Audio Access Protocol, and is the protocol used
+by iTunes and friends to share/stream media libraries over the network.
+RSP is Roku's own media sharing protocol. Roku are the makers of the
+SoundBridge devices. See <>.
+forked-daapd is a temporary name that should change to something else if
+someone can come up with a good name for it.
+Supported clients
+forked-daapd supports iTunes clients as well as a number of devices similar
+to the SoundBridge.
+It should be able to serve your media library to any client supporting DAAP
+or RSP.
+A single forked-daapd instance can handle several clients concurrently,
+regardless of the protocol.
+Supported formats
+forked-daapd should support pretty much all media formats. It uses ffmpeg to
+extract metadata and decode the files on the fly when the client doesn't
+support the format.
+However, ffmpeg is not necessarily very good at extracting metadata, so some
+formats may cause problems. FLAC, Musepack and WMA use custom metadata
+extractors to work around that.
+Formats are attributed a code, so any new format will need to be explicitely
+added. Currently supported:
+ - MPEG4: mp4a, mp4v
+ - AAC: alac
+ - MP3 (and friends): mpeg
+ - FLAC: flac
+ - OGG VORBIS: ogg
+ - Musepack: mpc
+ - WMA: wma (WMA Pro), wmal (WMA Lossless), wmav (WMA video)
+ - AIFF: aif
+ - WAV: wav
+forked-daapd supports M3U playlists. Just drop your playlist somewhere in
+your library with an .m3u extension and it will pick it up.
+Smart playlists are not supported at the moment.
+The library is scanned in bulk mode at startup, but the server will be
+available even while this scan is in progress. Of course, if files have gone
+missing while the server was not running a request for these files will
+produce an error until the scan has completed and the file is no longer
+offered. Similarly, new files added while the server was not running won't
+be offered until they've been scanned.
+Changes to the library are reflected in real time after the initial scan. The
+directories are monitored for changes and rescanned on the fly.
+Symlinks are supported and dereferenced. This does interact in tricky ways
+with the above monitoring and rescanning, so you've been warned. Changes to
+symlinks themselves won't be taken into account, or not the way you'd expect.
+If you use symlinks, do not move around the target of the symlink. Avoid
+linking files, as files themselves aren't monitored for changes individually,
+so changes won't be noticed unless the file happens to be in a directory that
+is monitored.
+Bottom line: symlinks are for directories only.

0 comments on commit fab0230

Please sign in to comment.