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
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
master
Could not load branches
Nothing to show
Could not load tags
Nothing to show
{{ refName }}
default
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
-
Clone
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more.
- Open with GitHub Desktop
- Download ZIP
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
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