Introducing Washtub: The Liquidsoap Stream Controller

It's been 23d 22h 43m since I created my subversion repo for washtub and I am already finding that this project is useful.  There are plenty more tasks to complete, but these screens should give a good teaser for those who are interested. 

Features Include:

  • Control multiple hosts from one washtub instance (secure LAN only).
  • Dynamic, real-time status of liquidsoap streaming instances.
  • Instant queueing, start, stop and skip controls of liquidsoap outputs.
  • Media pool database for direct access to local media.
  • Scanning of files for auto-updates and full-categorization of media tags (.mp3, .flac currently).
  • User friendly listings; On-Air, Alive, History, Request Queues, Media Pool.


  • Any *NIX with access to configure as root
  • Apache, Python 2.5.2 and mod_python
  • Working Django Installation (v1.0 and NOT current svn version)
  • Any Django compatible database with access to 'CREATE'
  • An active liquidsoap instance w/ telnet connectivity.
  • TagPy python bindings for C/C++ TagLib
  • Optional Icecast server for external streaming.


There are many more options to come, but the current progress has landed me a fairly stable interface for controlling all of The Vinyl Project streams.


Main Status Screen- Dispays the detected nodes and their types of operation; files currently 'on-air'; files currently 'alive', active streams; basic status output and controls for all active streams.









Queue Listings - Display active Request Ids for the configured queues.  Washtub will detect all request queues regardless of type, but only the queues that are designated in washtub admin will be displayed (for discreet control sake).





Media Pool Screens - Listings of all available media in the 'pool' with paged views and links to push media into active queues.  The active queues will react according to the currently active instance of liquidsoap.







History Detail- "On Air" history of played media.  Currently, washtub only lists the last ten plays (direct from the liquidsoap cache).  Longer caching to the database for full retention will be entirely possible.





Help- Available commands listed out direct from liquidsoap for back-end trouble shooting and informational use.  This helps with sanity (fo' sho').








Washtub Admin - The ever popular, fully extendable, Django Admin interface with direct access to the mediapool database, washtub settings and host configuration.






I plan to open the development efforts eventually.  For right now I am enjoying the project while it grows more and more useful.  For questions and comments please send me a message.