|GUI plug-ins extend the functionality of Audacity in ways that go beyond the processing of individual effects.
Such plug-ins can completely transform the user interface of Audacity. They have access to the GUI library and can create new complex dialogues and use other wxWidgets facilities. See Creating your own Plug-in for more details.
What API? The API for GUI plug-ins needs to be developed. Please if you're interested in helping this progress.
- Will support adding and removing items from the menus via a registration scheme. The code for this is likely to be based on code in the hijacking plug-in (audacity-extra) where the plug in registers the menu item and a 'menu position' that determines the order of items in the menus.
- Will support adding (and removing) pages into the main panel, where the track panel is.
- Will rely on a refactoring of track panel, so that tracks can appear in other places (as already happens in the hijacking plug in).
- Will support adding and removing of toolbars.
- Will support registering of new track types.
- Will support registering of new preference panels. There will also be a new plug-ins preference panel that allows entire plug-ins to be enabled and disabled, and also is used to give the credits information for each plug-in.
The general idea of registering and requesting 'resources' is going to be used a lot in the API. There will be a base class that supports the idea.