|Users who want to request new features for Audacity are very welcome to do so on our Feature Requests page. We also have several other pages where you can learn more about feature requests and planning.|
On the mailing list we have discussed two strategies:
- Attempting to keep Audacity lean, simple and efficient. Not branching out into new applications. A focus on quality, stability and speed.
- Turning Audacity into a more general purpose application. Adding new features for specific applications and interests. Experimental possibly problematic features in beta releases and stability but fewer features in the stable releases.
If Audacity were a one person effort, keeping the focus of Audacity narrow would be possible. As it is a team effort, and different people have different ideas about what the essentials are, we don't have a choice. We have to keep Audacity open to new features. Most people's motivation for working on the software is to get it to do new things.
This brings with it some problems. We need it to be easier to add experimental features without destabilising the core functionality. The roadmap has us moving towards a more modular architecture and the Debug wx284 build already has some of this functionality. To go with that, more functions for customising the user interface are being written, building on theming. These changes will in many ways make Audacity more like CLAM, Praat, PD and MAX in its structure, but with a particular strength for audio applications that need to view and edit sound.
Currently under active development. See Release Checklist for details. This is intended as a candidate for the 1.4.0 Stable release.
This will replace the 1.2.x line of development. On release of 1.4.0, only bugfixes and not new features will be added to the 1.4.x line.
Released very soon after 1.4.0, 1.5.0 will have the currently disabled features of 1.3.4/1.4.0 re-enabled.
- Theming (crude version)
We'll transition to wxWidgets 2.8.4. We'll probably start using a common project file format for both Linux and Windows, making it easier for linux-only or windows-only developers to add files without breaking the other build. Probably will use prebuild.exe which includes its own built in Lua script processor and can directly build MS project files and linux configs.
Other features will be added as we increment 1.5.x versions. All the ones listed here have already been started so are likely to happen:
- Gui Plug-ins. These will be able to add items into the menu and extra items on the main panel. We've already got experimental versions of a hi-jacking plug-in which uses Audacity graphics and audio file processing for a completely different purpose, and of a plug in, the scripting plug in, that runs an extra thread to accept commands from an external channel.
- Scripting enhanced and available in linux too.
- Improved theming support, e.g. gradient backfills. Plan is to use wxFormbuilder to configure the themes, so we have a Gui for theme building. JC is working with the wxFormbuilder team to create an option in it that generates the files we need.
- New track types for graphical display of Vamp (analysis) Plug-in results.
- New theme(s) from Greg Hardesty available.
- Context sensitive help in preferences dialog, if local help files are available.
- Many aim-tos carried forward from the previous list done.
- Some features from the Feature Requests page done. Don't list them here! We'll probably start a new page with the same level of detail as the checklist page, and developers signing up for what they're working on.
First release which has the new theme enabled as the default, though it will have been seen before as an option.
Post 1.3.4 we want to start a recruitment drive. Add details here.
Summer of Code 2008
We need to discuss and plan Google Summer of Code (GSoC) 2008. JC thinks we should get significant numbers of students interested prior to applying for mentor status. This will increase our chances of getting the best students, as well as making it clear to Google that we're much more organised this year.
Acquisitions and Mergers
Look at ways to share code between projects more. Greater use of plug ins and bridges to leverage code (Vamp, Ladspa, Jack, Octave, CSound, Postfish). More extraction of framework code from Audacity for use in general wxWidgets projects. Refactoring some Audacity algorithms to be derived from generic abstract algorithms - making them useful in other contexts and moving us closer to Mezzo. Look at LibArdour for possibilities for code sharing.
Would be good! Possibly will piggy back on a conference. Consider LADSPA meeting, as it is a developer conference.