GSoC 2008 Projects

Support for the LV2 plugin architecture
LV2 is a more advanced evolution of the plug-in architecture and is of strategic importance to Audacity. As well as allowing plug-ins to be categorised, supporting LV2 in the way I propose will make several LV2 synths available as powerful new tone generators.


 * Mentored by: Chris Cannam
 * Idea: Own idea
 * Short Project Name: lv2
 * Mid Term Spin Off: Hierarchical plug-in Menus. Partial support for LRDF.  Mentor/Student Mid-Term feedback done and OK.  However, almost complete lack of communication in the second half, and although nearly all goals were met, project could not be passed at the end..
 * Project Background Page: LV2 Categories
 * Project Progress Page: LV2 Support

Importing (exporting?) files into Audacity via FFmpeg
FFmpeg is the standard open source library for audio file conversions. It can be used to greatly expand the range of proprietary formats handled by Audacity.


 * Mentored by: Richard Anthony Ash
 * Idea: Adapted from list idea
 * Short Project Name: ffmpeg
 * Mid Term Spin Off: Import working. Import Metadata working.  Mentor/Student Mid-Term feedback done and OK.  Mentor/Student final feedback done and OK.  Project passed successfully..
 * Project Background Page: FFmpeg
 * Project Progress Page: FFmpeg integration

New GUI Classes: wxDragGridSizer and wxDragFlexGridSizer
These GridSizers are an enabling step for a much cleaner design for the largest class in Audacity, the TrackPanel. The monolithic nature of the existing class has acted as a log-jam to GUI development since at least 2003. In addition work on wxAUI should facilitate an easier update to improved (modern) toolbars.


 * Mentored by: James Crook
 * Idea: Adapted from off-list idea
 * Short Project Name: gridsizer
 * Mid Term Spin Off: AUI Test program and Report done. Grid test App written.  Mentor/Student Mid-Term feedback done and OK.  Mentor/Student final feedback done and OK.  Project passed successfully.
 * Project Background Page:
 * Project Progress Page: GridSizer Project
 * Additional Project Report: Transitioning To wxAUI

On Demand/Level of Detail File Loading
Will provide near-instant loading of PCM uncompressed files: the waveform image is built while you play or edit, viewable anywhere on demand. An embedded progress bar gives user feedback, plus block-boundary information in debug builds. This facilitates a future move from batch mode to real-time processing which (as necessary for Audacity) can yet degrade gracefully to batch on low-powered machines.


 * Mentored by: Federico Grau, then Martyn Shaw after mid-term.
 * Idea: Combination of own idea and adaptation of list idea
 * Short Project Name: quickload
 * Mid Term Spin Off: By-Track-Progress-Bar complete. "Poor Man's on-demand Loading" complete.  Mentor/Student Mid-Term feedback done and OK.  Mentor/Student final feedback done and OK.  Project passed successfully.
 * Project Background Page: Quickload
 * Project Progress Page: QuickLoad Progress

Sticky Labels & Multiple Selection of Labels
The limitation that labels do not stick to the audio track and move and edit with them is the most consistent criticism of Audacity Label Tracks. This project will fix this. In addition the provision of multiple label selection (with ability to apply an effect to all selected labels) will enable a smoother workflow when working with labels.


 * Mentored by: Leland Lucius
 * Idea: Adapted from list idea
 * Short Project Name: labels
 * Mid Term Spin Off: Sticky Labels, basic functionality working. Support for some label-size-changes too.  Mentor/Student Mid-Term feedback done and OK.  Mentor/Student final feedback done and OK.  Project passed successfully.
 * Project Background Page: Label Track
 * Project Progress Page: Label Track Enhancements

Other Information about Projects

 * Overall Audacity Project Admin Vaughan Johnson

24th July 2008: All five projects passed the mid term having essentially achieved the mid term goals. In some cases the mid term spin-offs weren't quite as polished or complete as originally envisaged - though in all cases close enough to be regarded as 'on target'. We're pleased with the way the GSoC Alphas are working out and the contributions that the students are making to the project.

8th September 2008: Four of the five projects passed based on code and communications as of 18th August (final pencils down). The project which did not pass still had plenty of good coding work and skill behind it, indeed believed to be fully working on the linux platform. It was communication, possibly to modify the goals shortly after mid term, that really let it down. Good projects, good students, a lot of development activity, overall 2008 was a very good result for us.