Application Framework

From Audacity Wiki
Revision as of 12:10, 29 October 2007 by James (talk | contribs) (new page.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Audacity includes code that could be of use outside a sound editor:

  • Do/Undo/Redo mechanism.
  • Project open/close/autosave/recover/most-recently-used-list
  • ShuttleGui mechanism to reduce size of code for creating wxWidgets dialogs, shuttling data in and out and to preferences.
  • External scripting mechanism (in the windows wx284 Debug version only).
  • Toolbar docking and sizing.
  • Extended buttons, with mouse-over behaviour.
  • Rulers.
  • Graphs, including annotation (labels) in a second track, zooming and panning.
  • DraggableGridSizer (in Audacity-Extra project).
  • Sliders with more than one slider on them, able to set a threshold on a graph and a threshold for a warning indicator beside a displayed value. (in Audacity-Extra project).
  • Built in screenshot tools.
  • Welcome screen with html tips.

Some of this code is licensed under the wxWidgets license, making it compatible with releasing Audacity as a GPL program, but also allowing that code to be used on the same basis as wxWidgets code. In time some of that code can migrate to wxWidgets, or alternatively be packaged as an application framework that is useful for building other applications on wxWidgets.

The advantage to Audacity development is that improvements and enhancements to the infrastructure can be shared with other wxWidgets projects.