Orchextra Streaming Jukebox v2.0.0

Orchextra is a streaming MP3 jukebox application.  It provides a streaming server which continuously streams MP3s from a selection queue.  Tracks can be added to the queue using a web application which provides views of the currently playing track, the queue and a song browser from which songs can be added to the queue.



Any number of users can simultaneously listen to and select tracks for the jukebox using a streamcast compatible client (WinAmp, XMMS, Windows Media Player etc) and web-browser.

This version 2.0 release was developed as a quick exercise in writing an AJAX service-composition application on NetKernel.  It requires a modern AJAX compatible browser (Firefox, IE6+, Safari, Opera 8+ - we recommend Firefox).  The AJAX model combines very readily with NetKernel''s service-composition infrastructure - each AJAX resource is provided by a composite-XML-service in NetKernel.

Installation

1. Download and Install NetKernel v2.0.6 from...

http://download.1060.org

2. Once installed use NetKernel''s ''Module Install Wizard'' and select "Add a new application"...

http://localhost:1060/ep+name@app_install_installer

3. Choose the "Orchextra Web Application" and when prompted choose to install to the Front-End-Fulcrum on port 8080 - all additional service and styling modules will be automatically detected and added to the install selection.
4. Hot-Restart NetKernel to complete installation.
5. Open a web-browser and point it at http://localhost:8080/orchextra/

Configuration

When Orchextra is installed you need to configure it by locating a base directory containing your MP3 tracks - this directory can contain sub-directories which will be recursively searched for tracks.

1. From the main Orchextra application select the "admin" button (top right).
2. Select "configuration" and specify the base directory.
3. "start" orchextra
4. Return to the main orchextra application and select "listen"

Design

Orchextra consists of 3-tiers each of which contributes services which are composed to form the application.  At the bottom is the core streaming server which continuously outputs the MP3 stream.  The server module hosts the stream server and presents a set of services for control and management.  The web module provides application control, GUI rendering and management.  Web requests invoke composite-middleware services which ultimately invoke services from the streaming server.  The GUI front-end web-application is independently styled - all styling and static resources are provided from the default-style module - this module can be replaced with new skins at runtime if desired.

History

Orchextra started life in 2002 and was inspired and based upon the Streamsicle servlet application. Orchextra was a personal experiment in decomposing an application into tiered web-services - originally it consisted of the core music server with a SOAP API, a client-server middleware layer and a top end web-application for control and management.

As NetKernel took shape, Orchextra provided a simple application with which to refine NetKernel''s service-oriented development model.  It was actually shipped as an application with the 0.7.0 distribution of NetKernel but it didn''t make it into the subsequent 1.x.x dists.

This is a version 2 release.  The streaming service module retains the core streaming engine (reworked from Fluid / Streamsicle) but all of the front-end web-application and middleware services are brand new and built using the AJAX design pattern. It took 3 days from start-to-finish to create this release.

Future

It would be cool to add a podCast module to provide a client to automatically download podCasts.  It would also be nice to see more talented graphic designers provide new skins.