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 (r268): Download latest • Raspbian Jessie install script • View all
- Development versions: View all • Recent changes (SVN logs)
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
2018–01–28: Transition from macOS to Linux is moving along; release scripts are now functioning under Linux and I’ve been able to push a release with a few bugs/small features I worked on to get my toes wet in my new environment. Meanwhile, the repository has been reorganized to allow branches and is ready for additional developers for those interested in contributing. And on the website, the recent changes page now includes the to-do list as well.
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.