diff --git a/.gitignore b/.gitignore index 85bfd1d4..929e53dd 100644 --- a/.gitignore +++ b/.gitignore @@ -10,7 +10,6 @@ Makefile # autofoo stuff autom4te.cache -INSTALL aclocal.m4 compile config.guess diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 00000000..e6164694 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,5 @@ +ChangeLog for forked-daapd +-------------------------- + +version 0.10: + - initial release. diff --git a/INSTALL b/INSTALL new file mode 100644 index 00000000..9396c742 --- /dev/null +++ b/INSTALL @@ -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. + +Libraries: + - 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. diff --git a/NEWS b/NEWS new file mode 100644 index 00000000..2e6fa26c --- /dev/null +++ b/NEWS @@ -0,0 +1,5 @@ +forked-daapd NEWS +----------------- + +version 0.10: + It's released, and that's news. Yup. diff --git a/README b/README new file mode 100644 index 00000000..074322ec --- /dev/null +++ b/README @@ -0,0 +1,85 @@ +forked-daapd +------------ + +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 + + +Playlists +--------- + +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. + + +Library +------- + +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.