-
Notifications
You must be signed in to change notification settings - Fork 2
bridge between the Songbird music player webpage API and the JSON Shareable Playlist Format
License
GPL-3.0, MIT licenses found
Licenses found
GPL-3.0
GPL-LICENSE.txt
MIT
MIT-LICENSE.txt
atduskgreg/spiffy-bird
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Spiffy Bird: JSPF to Songbird Bridge http://github.com/atduskgreg/spiffy-bird Version: 0.6 6/25/2008 by Greg Borenstein /////////////////////////////////////////////////////////////////////////////// Spiffy Bird provides a bridge between the Songbird music player webpage API and the JSON Shareable Playlist Format. It allows javascript applications that work with JSPF to easily interoperate with Songbird. Further, with the help of jchris's xspf_parser: http://jchris.mfdz.com/static/jspf_parser/xspf_parser_runner.html Spiffy Bird makes it a snap to go from XSPF playlists available at public URLs all the way into local Songbird playlists (check out the example at the bottom of this document). JSPF is the javascript version of XSPF, the XML Sharable Playlist Format. See the JSPF draft spec here: http://wiki.xiph.org/index.php/JSPF_Draft and learn more about XSPF here: http://www.xspf.org/ For an introduction to the Songbird Javascript API read this blog post: http://www.urbanhonking.com/ideasfordozens/2008/06/songbird-media-player-integrat.html Read the full Songbird JS API docs here: http://developer.songbirdnest.com/webpage-api/docs/files/sbIRemotePlayer-idl.html /////////////////////////////////////////////////////////////////////////////// Spiffy Bird Public API Documentation: SpiffyBird.webPlaylist.show(jspf) displays the given playlist in the Web Playlist at the bottom of the main songbird window SpiffyBird.webPlaylist.get() return a JSPF representation of the current state of the Web Playlist SpiffyBird.localPlaylist.save(jspf, urlResolver) saves the given JSPF into a local playlist within songbird; urlResolver is an optional function that generates a url for to create the mediaItem from a track's title and playlist if no identifier or existing location is available. urlResolver gets passed title and creator as arguments. An example usage might be: SpiffyBird.localPlaylist.save(jspf, urlResolver(title, creator){ return 'http://mydomain.com'+'/music/'+creator+'/'+title+'.mp3' }) the default resolver points at mp3s on http://Grabb.it SpiffyBird.localPlaylist.get(query) returns JSPF representations of all playlists that match the given query; queries consist of a hash with a playlist attribute and its expected value, e.g.: SpiffyBird.localPlaylist.get({name : "My Playlist"}) SongbirdLibrary.allPlaylists() returns an array containing a mediaList representing each local playlist within Songbird SongbirdLibrary.find(query) returns an array of mediaLists representing each local playlist within Songbird that matches the given query; queries consist of a hash with a playlist attribute and its expected value, e.g.: SpiffyBird.localPlaylist.get({name : "My Playlist"}) SpiffyBird.utils.JSPFfrom(mediaList) returns a JSPF representation of the mediaList SpiffyBird.utils.JSPFinto(jspf, mediaList, library, userResolver) populates the mediaList from the given JSPF. will use existing mediaItems on the given library if available, otherwise it will add them. For details on the use of userResolver, see SpiffyBird.localPlaylist.save, above. XSPF usage example: get an XSPF document and render it into a local playlist using SpiffyBird, jchris's XSPF to JSPF Parser, and jquery's $.ajax: $.ajax({ url: "playlist.xspf", success: function(xspf_string){ var xmlDOM = XSPF.XMLfromString(xspf_string); var jspf = XSPF.toJSPF(xmlDOM); SpiffyBird.localPlaylist.save(jspf); $("h1").html("Saved playlist: "+jspf["playlist"]["title"]); } }); KNOWN ISSUES: - should serialize the rest of the playlist-level metadata into the mediaList properties - we fail to use siteLibrary scope options when allowed
About
bridge between the Songbird music player webpage API and the JSON Shareable Playlist Format
Resources
License
GPL-3.0, MIT licenses found
Licenses found
GPL-3.0
GPL-LICENSE.txt
MIT
MIT-LICENSE.txt
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published