GSoC Alphas

Notes For GSoC Students

 * The releases are built off CVS HEAD. Your feature should normally be turned on in CVS HEAD in these releases.  Otherwise we can't try it out - nor show that it builds on the three platforms.
 * Before each alpha please post information on what is expected to work and what is not expected to work on your project page and instructions for trying it out.

Alpha Feedback
Edit Hint: Factual corrections to brief summaries are needed.


 * Alphas are snapshots, and the reports below should not include information about features fixed or added subsequently, even if only hours after the alpha was tagged.

Alpha 6 (Tagged 18th August)
Reminder from Leslie: Heading Into the Home Stretch - Final Weeks of Summer of Code 2008

We moved tagging of the last GSoC Audacity alpha from August 15 to August 18, to take place straight after the "pencils down" time at 19:00 UTC. The freeze began at 07:00 UTC on Aug 15.


 * Final Alpha of GSoC period.
 * LV2: Many files added, including support for LV2 soft synths as tone generators (linux/mac only).
 * FFmpeg: Remaining problems with specific exports tracked down to FFmpeg lib issues. Standard exporters working.  The complex custom exporter is now essentially working.  Profiles implemented.  Minor issues with selection lists not being changed when loading a saved profile.
 * On Demand Loading: Remaining problem with updating fixed. Optional FLAC format code still Work-In-Progress.  FLAC-Quickload should be #ifdeffed out for Betas/release.
 * Sticky Labels: Working smoothly for multiple track pairs, wave (mono or stereo) plus label track. Behaviour on multiple waves against one label track still under discussion.  Multiple selection not done at all, as agreed at mid-term.
 * wxDragGridSizer: Cell dragging now in Klotski. Edge dragging implemented in wave track view - resize cell, resize all cells, repartition.  15s puzzle now uses a picture (GSoC logo) and flicker with repainting very much reduced.  Several bugs fixed.  Some race condition bugs still to sort - needs analysis rather than fixing one bug at a time.
 * MIDI (non GSoC):

Alpha 5 (Tagged 1st August)

 * Last Alpha before suggested "pencils down" date.
 * LV2: No progress on this project.
 * FFmpeg: M4A added as valid extension for exporting AAC audio data (as used by iTunes). Much debate over how to handle AAC exports technically and from a UI perspective. Implementation of this and metadata support required major changes so left until after freeze to commit.
 * On Demand Loading: Full "on-demand" support: clicking moves summary calculation point; supports split/merge of stereo tracks; incompletely summarised tracks resume calculation automatically; text-based Status Bar indication and dummy waveform replace embedded progress bar. Still an intermittent wavecache bug with pixel updating. Orphaned blockfiles error re-opening projects saved during summarising; non-OD video files block OD load.
 * Sticky Labels: Fixed whole track speed change bug. Change Pitch and Tempo supported, with some limitations imposed by SoundTouch bugs. Speeding up with any Change.. effect only inserts silence if some of the linked tracks are sped up. Can now paste multiple labels, region labels and labels with audio, all with correct label text. Pasting from one track type to another disallowed but has bugs and requires more flexibility to be useful.
 * wxDragGridSizer: Cell dragging now working under windows in Wave and 15s demo, showing many more tracks and proving working in a scroller. Not enabled in klotski demo.  Dragging shows forbidden icon when would expect it not to on 15s puzzle.  Toolbar item dragging working.  Problem with wrong item being dragged with repeated left-right dragging (without a drop) fixed.  Edge dragging not yet started.
 * MIDI (non GSoC): Completed replacing allegro library with portsmf. Fixed Windows build and USE_MIDI now on by default.

Alpha 4 (Tagged 15th July)

 * Very little visible progress. This is worrying.  The pencil's down date is coming on fast.
 * LV2: Many many changes, and numerous files checked in. Please describe what this has added that's visible.
 * FFmpeg: Codec and format lists working. AAC profile exports correctly. New M4A filter exports fine for LC profile; MP4 files no longer valid in QuickTime or iTunes on Windows. End of frame silence 'padding' added.  Unplanned and unagreed 7 day holiday..
 * On Demand Loading: Few visible changes since Alpha 3. Updating now happens under windows, and some warnings have been fixed.
 * Sticky Labels: Few visible changes since Alpha 3. Button and menu item now show state and stay in sync.  Change-speed has some effect on labels - but not 'as expected' with a single wave and single label track.
 * wxDragGridSizer: No checked in changes since Alpha 3. This is due to exams which end on the 17th and slow progress at this stage was planned for / expected in advance.
 * MIDI (non GSoC): Started replacing Allegro with portsmf.

Alpha 3 (Tagged 1st July)

 * A much smoother integration this time round.
 * LV2: ...Categorisation for Vamp analysis plugins in the analyse menu is now in place. The lrdf and raptor RDF parser libraries have been brought in to lib-src, and (on the Linux build at least) LADSPA plugins are now categorised according to LRDF metadata.
 * FFmpeg: Importer now enabled and exporter added.  Code includes a refinement to load export dlls and indirectly dependent dll's from an arbitrary directory. Export works for some file formats, although options frequently aren't honoured, and some file formats don't work at all.
 * On Demand Loading: ...green-box progress bar now shows on screen. No updates during the progress, unless there is other activity.  Screen update happens at the end.  Effects can now be applied during progress without crashing.  Appears to be faster than Alpha 2 version.  In-progress blocks may all show as red (clipped) rather than stripy on occasion.  ... (add Mac status here)...
 * Sticky Labels: ...Linking using (relative) positional information now functional. Do and undo functions correctly (no crash).  When inserting, silence is added if necessary to ensure tracks line up, but currently this is not working correctly (pasting to multiple tracks pastes silence as well as audio, and generating other than silence at the cursor does not shift labels). Delete still deletes too much of the label track if the label track is included in selection (OK otherwise). Button to enable/disable present and works, but lacks indication of linkage state.
 * wxDragGridSizer: Code now hosted in CVS repository at audacity-extra (was previously web-server hosted). Dragging of buttons in the 15's puzzle now works under Windows (no crash).  Shuffle animates on Windows but not Linux, though shuffle does happen there.  wxAUI toolbars on the wave track page.  These include an experiment with mixing double and single height toolbars, but this fails due to clipping and related issues.  wxAUI report written.
 * MIDI (non GSoC): New NoteTrack code added. Caused some minor problems with Linux builds, e.g. use of classname::function_foo in header files, but now resolved. At time of tagging, NoteTrack was on by default (defined in Experimental.h), but will now be off by default (enabled if required in config*).

Alpha 2 (Tagged 15th June)
A bit of a shambles, or a great success, depending on your point of view.
 * The good news: Code from all students is present. It's really very good to have so much progress and code 'integrated' already at this early stage.  Well done everyone.
 * LV2: Categorisation is working for built in effects.
 * FFmpeg: ??Not turned on in the tagged build?? Importer has been working on Windows and Linux, but isn't on Linux at the tag point due to changes to support user location of the library. Build without on Linux may well not work either due to an unrelated build system problem (fixed on the Monday). Leland has  that normal single-stream audio and video files import fine on Mac.
 * On Demand Loading: (Windows) 100Mb file, we get the expected stripy lines, we get summary data being generated in background. 11th hour addition of screen refresh.  Problems with wxThreads on Mac lead to reversion to pThreads code and slow updates on Mac ???
 * Sticky Labels: Linking using pointers functional. Able to cut and paste and have labels move.  Catastrophic interaction with undo/redo found (on Windows though strangely not on Linux).  This has lead to a plan to use positional info rather than pointers going forward.
 * wxDragGridSizer: At the 11th hour compiling and running on Windows too (previously just Linux). On Windows it crashes when swapping cells in the 15's-puzzle (though strangely not on Linux).  Problem has been identified and a fix is available for the future.  Klotski page and Wave-page are currently display only.  Repaint problem on Wave-page is under investigation (low priority).


 * The less good news: We could only tag CVS as there was a last minute build breaker on Linux/Mac.  Also a report from Gale (who is keeping an eye on ANSI builds for Win98) that that Windows ANSI build didn't build either.
 * James: Next time round we need to be stricter about the 'cool off period', accept only fixes and not new functionality in the three days before the alpha release. That way we have a hope of sanity checking the different builds rather than try to do it on the day.

Alpha 1 (Tagged 26th May)
This was built at the start of GSoC, a mad scramble to get modular building as the standard way to build (on Windows) prior to formal GSoC kick off. The mod-script-pipe proof of concept of general purpose plug-in now compiles on all three platforms too. Great. We also shifted to wxWidgets 2.8.7 from 2.6.x.