Connected Open Source

From Audacity Wiki
Revision as of 20:44, 19 April 2008 by James (talk | contribs) (Slightly less ponderous text.)
Jump to: navigation, search

Applications often grow so that contain a script engine, an FTP client, a text editor, a kitchen sink.... We're fighting back against that trend. We have to. We're a small team.

The idea instead is 'connected open source'. Where possible, re-use existing programs. One of the advantages of Open Source is that this should be easier than in the commercial world. This means streamlining the way that programs work with each other. We should be able to build bridges to other programs. Open standards are the key to this.

Script Engine

  • We have a built in language, Nyquist, based on XLISP. However we made a policy decision around scripting to NOT build in LUA or Perl or Javascript or some other script language too. Instead, under Windows, we have experimental code that can take commands from any script language that supports pipes.

FTP Client (for Podcasting)

  • Insert text here

Text Editor

  • We don't yet have a text editor, however there has been some talk of an XML editor to edit the project files. It will be needed as Audacity develops for similar reasons that Inkscape needs a text based XML editor for editing its SVG files. XCE is one good open source XML editor, or maybe we could use a variant of Notepad++. Maybe a DOM interface will suffice for talking between editor and Audacity.

MIDI Processing

  • We don't want to build a MIDI sequencer into Audacity. There are good open source ones out there already. We do want to build good bridges to them.

Advanced Graphics

  • For some of our plans we need translucency and anti-aliased lines. For LV2 we need to render 'SVG Icons', so will we become an SVG editor too? Most likely we'll solve it by using Cairo as our render library, or perhaps find a higher level SVG abstraction and use that.

Generic GUI Code

  • Some of our code is 'framework' code that belongs back in wxWidgets. To allow for that certain files in the audacity project CVS are marked as under the wxWidgets license. This is a more permissive license than the GPL. As a result, we can release Audacity as GPL and at the same time, the widget related framework code is available to the wxWidget project under that license.

Open (Audio) Standards

Where possible our bridges to other applications should be using (open) standards rather than ad-hoc interfaces.

  • For sound effects we already use LADSPA
  • For analysis we already use VAMP