Date post: | 02-Jan-2016 |
Category: |
Documents |
Upload: | phillip-turner |
View: | 39 times |
Download: | 0 times |
An Mp3 Player?An Mp3 Player?
Looking at iTunesLooking at iTunes
Rating, FeedbackRating, Feedback Search, CategorizationSearch, Categorization CollaborationCollaboration Party ShuffleParty Shuffle Smart PlaylistsSmart Playlists AirTunesAirTunes iTunes is smart and iTunes is smart and
loadedloaded ……and so are its clonesand so are its clones
iTunes shortcomings iTunes shortcomings
AirTunes can play only one channelAirTunes can play only one channel Party Shuffle can’t be easily Party Shuffle can’t be easily
configuredconfigured iTunes players can’t networkiTunes players can’t network iTunes can’t be easily extendediTunes can’t be easily extended Smart Playlists can only take you so Smart Playlists can only take you so
farfar No remote capabilitiesNo remote capabilities
In additionIn addition
What if you could play music from What if you could play music from any computer on any computer?any computer on any computer?
What if you could train an agent to What if you could train an agent to select music to play for you?select music to play for you?
What if you could have a player that What if you could have a player that could be used to make you feel like a could be used to make you feel like a radio DJ – only without the work?radio DJ – only without the work?
Our Solution: MuseBoxOur Solution: MuseBox
Muses: Muses: Agents that pick your musicAgents that pick your music
Channels:Channels:As many as you like – anywhere you As many as you like – anywhere you like.like.
Interface:Interface:Thin client.Thin client.
How it works:How it works:
User creates a channel on a serverUser creates a channel on a server User assigns an output to the User assigns an output to the
channelchannel User assigns a muse to the channelUser assigns a muse to the channel The muse picks a song for the The muse picks a song for the
channel to playchannel to play The channel plays that song on the The channel plays that song on the
assigned audio output.assigned audio output.
MusesMuses
A muse is a channel’s source of inspiration.A muse is a channel’s source of inspiration. DirectoryMuse is inspired by a directoryDirectoryMuse is inspired by a directory MySQLMuse retrieves song info from a DBMySQLMuse retrieves song info from a DB RequestTakerMuse waits to hear from userRequestTakerMuse waits to hear from user MasterMuse can delegate work to all the MasterMuse can delegate work to all the
muses according to a ranking system (and muses according to a ranking system (and whatever muse is willing to inspire)whatever muse is willing to inspire)
OutputsOutputs
Local OutputsLocal Outputs Java Media Framework (all platforms)Java Media Framework (all platforms) Delegation to mpg123 (nix)Delegation to mpg123 (nix)
Streaming OutputsStreaming Outputs Icecast (nix to all platforms, multiclient)Icecast (nix to all platforms, multiclient) JMF/RTP (all, single or multiclient)JMF/RTP (all, single or multiclient) Faux-Stream [download, play, delete] Faux-Stream [download, play, delete]
(all, single)(all, single)
InterfaceInterface
Built-in implementation of HTTP1.0Built-in implementation of HTTP1.0 Entirely in HTMLEntirely in HTML Plain interface gets created by objectsPlain interface gets created by objects Advanced interface uses HTTP.Template Advanced interface uses HTTP.Template
(java port of HTTP::Template)(java port of HTTP::Template) XML interface might connect real GUIsXML interface might connect real GUIs
(much like mldonkey works)(much like mldonkey works) Can you really have an mp3 player in Can you really have an mp3 player in
HTML?HTML?
http://lamp.mit.edu/http://lamp.mit.edu/
Multichannel - Multiuser
HTML Driven
“Analog Streaming”
ResourcesResources
Open SourceOpen Source Java Media FrameworkJava Media Framework MySQL server, MySQL JDBC MySQL server, MySQL JDBC
connectorsconnectors ID3Reader (ID3Reader (www.ueberdosis.dewww.ueberdosis.de)) Other (e.g. Tray Icon, HTML.Template)Other (e.g. Tray Icon, HTML.Template)TechnologiesTechnologies JDBC, XML, TCP/IP, Multicasting, Web JDBC, XML, TCP/IP, Multicasting, Web
ServicesServices