Hi,
Here is a technical overview of Moode Player for the hacker types :-)
Overview
Moode is a Web user interface (WebUI) front-end for Music Player Daemon (MPD) headless music server. Moode runs on Raspberry Pi using a customized Raspbian Linux OS and custom compiled version of MPD. Moode can also function as an Airplay receiver, UPnP renderer and DLNA server.
Software
Moode is complex software with many component parts. It consists of PHP, JQuery/Javascript, HTML, CSS and BASH source code, a set of configuration files and a SQL database that contains player settings and configuration. There are 71 source code files, 7 SQL database tables and 10 configuration files. Source code includes 19 PHP, 29 Javascript, 4 BASH, 14 HTML, and 5 CSS. Many other support files exist but are not generally involved in feature coding or bug fixes.
Architecture
Moode is designed using client-server architecture. The front-end WebUI executes in the client Web Browser and communicates over the network to the the back-end servers on the Raspberry Pi. This architecture allows Moode to be running in multiple client Browsers simultaneously for example a Laptop, Tablet and Smartphone, and the WebUI will be in sync in all Browsers.
- See attached diagram
Infrastructure components
- Raspbian based OS
- MPD music server
- PHP5 scripting server
- NGINX Web server
- SQLite database engines
- Zend Media PHP-Reader
- Libav-tools audio codecs
- libSoX resampler
- USBmount storage auto-mounter
- Shairport-sync Airplay receiver
- DJmount miniDLNA server
- upmpdcli UPnP renderer for MPD
- upexplorer UPnP metadata provider
- Samba CIFS/SMB file sharing
- JQuery Javascript
- JQuery Knob
- JQuery Countdown
- JQuery Scroll
- Twitter Bootstrap
- Designmodo Flat UI
- Font Awesome
- WiringPi GPIO interface
- IQ_rot rotary encoder driver
- Knob.sh volume knob cli
Regards,
http://moodeaudio.org
http://twitter.com/MoodeAudio
Tim Curtis