ccBanshee 2.0 Roadmap and cc-sharp Plans

Now that I have clean and working verification code, metadata viewing through the Banshee GUI, and CC license logos, I have completed all my Summer of Code goals. I will package this version up as a straight 1.0 patch. For ccBanshee-2.0 I want to talk to Aaron Bockover about redesigning the patch to better fit Banshee’s abstraction model. The main change will be making CreativeCommons.cs into a plugin as discussed in earlier posts. Here is a more in depth list of what is to come with the 2.0 “Plugin” version of ccBanshee:

  • Events will be fired from StreamTagger.cs when a new Creative Commons tag is merged. This way if there is no license plugin available to validate the claim, the event can be ignored or handled by a simple non-validating method
  • Intagrate with the NetworkDetect so if there is no network, no attempts to download pages will be made.
  • Make a timeout for pages that do not respond.
  • Add multithreading support to license verification so multiple tracks can be verified in parallel.

While working on ccBanshee, I’ve picked up a second project. After Google Summer of Code ends in a month, I’d like to pick up maintainership of the long lost CCLicenseLib. Right now, CCLicenseLib is just a framework of licenses in the form of types, and MP3 tag parser, and a regex RDF parser to parse all. This is all a great start, but there is a lot of room for growth. As a user of the libs, the only thing I’ve really found a need for so far is the RDF parser. I only need it because the XPath syntax cannot parse through comment tags (which is what CC RDF data is embedded in). This requires a whole other XPath parse of the metadata to actually find the verification information which defeats the purpose of the lib. I’d like to accomplish these main goals for the lib:

  • Flesh out the RDF parser: Allow the user to send a file hash, LicenseURI, and a MetadataURI and return whether the claim is valid or not. The regex will get the CC RDF metadata, then use my XPath parser to actually validate the file.
  • Rename CCLicenseLib to cc-sharp: This will better conform with the informal standard for naming C# libs.
  • Remove the ID3 tag parser: Programmers should use something more standard like gstreamer for parsing (as most programmers already do). There are already enough libraries to handle ID3 tag parsing. Gstreamer abstracts the parsing to many different media file types which can all be validated for CC licenses.
  • Give a facelift to the CC License types: Extend the types to contain some other useful information like attribute logos and such.

With ccBanshee, my methods are abstracted enough already that it will be an easy copy and paste to implement them in CCLicenseLib. I can’t wait to get working on this project.

    None Found