• Audio

Comparing

Current Version

by vilpo, modified July 24, 2007
to

Version 24

by vilpo, modified July 24, 2007

Key

  • inserted
  • deleted
Will, Nate and Rocky - post your report of p4aaudio work here

Rocky Burt

Initial focus was to release 1.0 final of the Plone4ArtistsAudio product. Unfortunately there turned out to be quite a few issues remaining on the issue tracker. Additionally, after running test coverage tools it was discovered that tests were severely lacking.

Spent the rest of the sprint fixing p4a audio bugs, writing new tests, and helping other people identify bugs and fix them as well. All in all very productive with regards to work completed. Unfortunately, still no 1.0 final release.

p4a.audio now has 100% unit test coverage.

p4a.ploneaudio has approximately 60% unit test coverage -- a work in progress. 100% is required for the 1.0 release, but it would be nice.

Will Parks

I spent most of my time at a pretty low level, improving the way the product handled the processing of MP3 files and their metadata. Along the way I learned more than I ever wanted to know about MP3 files.

Coming into the sprint, I wanted to fix as many bugs as possible, towards the goal of a 1.0 release of Plone4Artists Audio. I began with a look at the Issue Tracker. I especially wanted to squash Bug #21 (garbled comments), because I had run into it on my own site. I also scanned the tracker for low-hanging fruit and issues that were labeled as important for the 1.0 release. Bug #35 (missing alt tags) was a fairly trivial fix.

Then I noticed Bug #38 (uploading MP3 files with genre 80's causes error). I made a small patch to handle the bug, opting to throw away the genre if it could not be validated by the third-party eyeD3 library, rather than failing to upload the file.

This exercise got me interested in how eyeD3 would handle other bad data. I created several fake MP3's with $cat /dev/urandom > testX.mp3. eyeD3 only detected a problem only once out of four such files. The other three times it fetched no metadata, and silly data for bit rate, frequency, and length. I wanted the validation to be more reliable.

Rocky suggested I look at the other third-party libraries. I settled on mutagen. Mutagen correctly set a 'sketchy' flag for all the fake MP3's. This was encouraging.

Rocky gave me subversion credentials, and I made a branch to explore replacing eyeD3 with mutagen for MP3's. This was mostly successful, with every field working except one (album art). This indirectly fixed Bug #21 (garbled comments).

Finally, too tired to merge, I instead made a patch against the current revision in the trunk and posted it to Bug #21 in the tracker. Mutagen seems to offer better error checking and more robust tag support than eyeD3. It also leaves open the possibility of supporting more custom ID3 tags and new file formats in the future.

I am glad to have attended the sprint. I got a firsthand look at how real Plone development work is done and an opportunity to improve a product that is useful to me and hopefully plenty of others as well.

Other

Fixed issue #39 (Audio upload crashes to a KeyError when uploading ogg with blank metadata).