GSoC Alphas

From Audacity Wiki
Revision as of 19:51, 4 August 2008 by Richardash1981 (talk | contribs) (Alpha Feedback: quick update on FFmpeg progress)
Jump to: navigation, search
During GSoC 2008 we are producing 'Alpha' releases of Audacity on Windows, Linux and Mac on the 1st and 15th of each month.

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 5 (scheduled for 1st August)

Last Alpha before suggested pencil's down date.
  • Feature freeze from 23:59 UTC 29th July to 23:59 UTC on 1st August. No new files to be added to Audacity during that time. Only bugfixes agreed by mentors to be checked in.
    • 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. Iplementation of this and metadata support required major changes so left until after freeze to commit.

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): Retiring of Allegro, using portsmf instead. New #define 'USE_MIDI'.

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: 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 reported  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.