120 likes | 485 Views
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
E N D
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