pianod2 is a free, multi-source, network-controlled
music player daemon for use as central music server or scriptable
backend. It is published under the MIT license.
- Multiple sources. Mix your Pandora stations with your MP3 collection. Mix that all up with your mates’ collections. When listening, choose a single source or let the media manager integrate playlists from multiple sources (different users, accounts, or music services) into one big happy pile of music. DLNA (network media servers), podcast/feed-based services, and other music services are future goals.
- Remote-control. Start, stop, choose or rate music from any modern web browser.
- Shuffle mode. Mix by songs, playlist, album or artist, and queue up selections from your local collection.
- Multi-user. Share control with your family, roommates or visitors—but pianod tracks ownership, allowing only the right person to revise each collection.
- Automatic playlist selection. Each person
rates playlists, and
pianodadjusts the mix based on who is listening.
- Multiple output zones. Different music in different zones for home automation scenarios.
- Scriptable. Use the included
pianoscript to control playback,
runmixto set up a sequence of timed playlists, or write your own and interface via the socket interface (line-oriented or websockets, plain-text or TLS secured).
- Flexible. Build with your choice of 3 media libraries, 3¾ output libraries, 5 TLS packages and 3 sources.
- Media substitutions. Save bandwidth by substituting streaming media with matching local media.
- Stable (r298): Download latest • Raspbian Jessie install script • View all
- Development versions: View all • Recent changes (SVN logs)
2018–08–13 A Clang compile error and compatibility with FFmpeg 4.0 are in r300.
2018–07–12 Compile Error: A compile issue shows up
in src/mediaunits/threadedmediaplayer.cpp under Clang 6. Edit the
file to add
#include <functional> on a new line
Three clients are included with
- Standard client. Made for using pianod.
- Console. Made for testing, debugging and nerds, the console provides command line access. Commands entered in one of the inputs (or selected from a list) execute, displaying results in a table.
- Viewer. The console displays album art and information in large, friendly letters. Suitable when you just want people to know what’s playing.
- Translators: Included are English, German, French and Spanish. Translations were done with software; there may be errors or awkward phrasing. If you want to translate for another language, or want to improve existing translations, take a look at the .lang files in the Development downloads and mail new or updated files to peretteのdeviousfish dot com. SVN access may also be arranged by request.
Similar & Related Projects
- pianod, the original version.
- Orchid, a precompiled edition of pianod2 for Mac OS X.
- Pandora’s official clients are available from Pandora.
- pianobar is a terminal-mode Pandora client (and the origin of libpiano—thanks PromyLop). It is interactive, with keystroke commands instead of full statements, but has event support which runs a shell script or whatnot to do scrobbling or other things.
- Tomahawk is another multi-source, social music player but as an application rather than a daemon.
- Elpis is a Windows Pandora client
- Pithos is a Linux Pandora client
- mserv is a similar-style jukebox for local media (and I’ve stolen back my enhanced search algorithm that those guys never integrated into their code base.)
- mpd, the music player daemon
Thanks to all those, too numerous to list, who created and maintain the included and non-included packages. Thanks also to those responsible for the tools and artwork on which pianod depends: Dimitri van Heesch for Doxygen, Microsoft for TypeScript, everyone behind C++ and the STL, Liz Aragon for the piano and football/soccer ball, Fletcher Penny for multimarkdown, and everyone at MacPorts for making package management manageable.