DAAP server/proxy for SubSonic: play your favorite tunes from SubSonic in iTunes!
The motivation for this application comes from the fact that SubSonic does not ship a DAAP server, and OS X clients for SubSonic lack features, in my opinion. And after all, iTunes is a pretty intuitive and stable player.
- Compatible with SubSonic 5.3+ and iTunes 12+, including password protection and Bonjour.
- Artwork support.
- Playlist support.
- Browse the whole library in iTunes at once.
- Supports gapless playback.
- Smart file caching: supports in-file searching and concurrent access.
- Revision support: efficient library updates pushed to all connected clients.
- Python 2.7+ (not Python 3.x). PyPy 2.5+ may work.
- SubSonic 5.3+
This application was designed as a gateway between SubSonic and iTunes. Therefore, it's recommended to install this on the same system where you would access iTunes on. It can be installed on a central server, however.
- Clone this repository.
- Install dependencies via
pip install -r requirements.txt
. - Copy
config.ini.default
toconfig.ini
and edit as desired. chmod 700 config.ini
, so others cannot view your credentials!
To start this service when your computer starts:
- On OS X:
- Copy
init-scripts/init.osx
to~/Library/LaunchAgents/com.basilfx.subdaap.plist
. Do not symlink! - Edit the file accordingly. Make sure all paths are correct.
- Run
launchctl load ~/Library/LaunchAgents/com.basilfx.subdaap.plist
- Copy
- On Ubuntu:
- Copy
init-scripts/systemd.service
to/etc/systemd/system/subdaap.service
. - Edit the file accordingly. Make sure all paths are correct and the user and group
subdaap
exists and have the correct file permissions. - Run
systemctl enable subdaap
.
- Copy
To run the application, use the following command, or similar:
python SubDaap.py --config-file config.ini --data-dir path/to/datadir --pid-file /var/run/subdaap.pid
The data directory should exist. Optionally, add -v
for verbose, or -vv
for more verbose. All paths in the command line are relative to where you run it from. Any paths in config.ini
are relative to the --data-dir
.
Add --daemon
to run the program in the background.
Feel free to submit a pull request. All pull requests must be made against the development
branch. Python code should follow the PEP-8 conventions.
See the LICENSE
file (MIT license).
The web interfaces uses the Pure.css CSS framework.