Transcript MuseBox

An Mp3 Player?
Looking at iTunes








Rating, Feedback
Search, Categorization
Collaboration
Party Shuffle
Smart Playlists
AirTunes
iTunes is smart and loaded
…and so are its clones
iTunes shortcomings






AirTunes can play only one channel
Party Shuffle can’t be easily configured
iTunes players can’t network
iTunes can’t be easily extended
Smart Playlists can only take you so far
No remote capabilities
In addition



What if you could play music from any
computer on any computer?
What if you could train an agent to select music
to play for you?
What if you could have a player that could be
used to make you feel like a radio DJ – only
without the work?
Our Solution: MuseBox



Muses:
Agents that pick your music
Channels:
As many as you like – anywhere you like.
Interface:
Thin client.
How it works:





User creates a channel on a server
User assigns an output to the channel
User assigns a muse to the channel
The muse picks a song for the channel to play
The channel plays that song on the assigned
audio output.
Muses





A muse is a channel’s source of inspiration.
DirectoryMuse is inspired by a directory
MySQLMuse retrieves song info from a DB
RequestTakerMuse waits to hear from user
MasterMuse can delegate work to all the muses
according to a ranking system (and whatever
muse is willing to inspire)
Outputs
Local Outputs
 Java Media Framework (all platforms)
 Delegation to mpg123 (nix)
Streaming Outputs
 Icecast (nix to all platforms, multiclient)
 JMF/RTP (all, single or multiclient)
 Faux-Stream [download, play, delete] (all, single)
Interface






Built-in implementation of HTTP1.0
Entirely in HTML
Plain interface gets created by objects
Advanced interface uses HTTP.Template
(java port of HTTP::Template)
XML interface might connect real GUIs
(much like mldonkey works)
Can you really have an mp3 player in HTML?
http://lamp.mit.edu/
Multichannel - Multiuser
HTML Driven
“Analog Streaming”
Resources
Open Source
 Java Media Framework
 MySQL server, MySQL JDBC connectors
 ID3Reader (www.ueberdosis.de)
 Other (e.g. Tray Icon, HTML.Template)
Technologies
 JDBC, XML, TCP/IP, Multicasting, Web
Services