Automation

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

...From Feature Requests

Scripting

  • Scriptability
    • LibAudacity - library allowing integration with other C code. not a pre-requisite for all of the following (6 votes)
    • Control Audacity from Python (6 votes)
    • Control Audacity from Visual Basic (1 votes)
    • Control Audacity from TCL/TK (0 votes)
    • Control Audacity from AppleScript (5 votes)
    • Control Audacity from command line (21 votes)
    • Control Audacity from tcp or unix socket (could enable all of the above easily)
    • Nyquist debugger within Audacity (1 vote)
    • Ability to save currently applied filters (those appeared in Undo/Redo) as an editable (probably Nyquist) script. (1 votes)
    • User defined composite operations (scripts) bound to a button (2 votes)
  • PlugIn Support (1 votes) - allow plugins to replace any/all of audacity and expose all of audacity to plugins for manipulation. Will allow plugin packages for specialized applications (video-editing, CD ripping, CDDA support, for example)

Dcop support

It would be great if Audacity could support dcop, which is "a light-weight interprocess and software componentry communication system. The main point of this system is to allow applications to interoperate, and to share complex tasks. Essentially, DCOP is a ‘remote control’ system, which allows an application or a script to enlist the help of other applications."

Ideally, using dcop all of Audacity's functions could be controlled from the command line or through a shell script. Here's a sample shell script to illustrate something that should be easy to do if all of Audacity's functions were available through dcop:

 for file in *.mp3
 do
   dcop audacity import foo.mp3
   dcop audacity select 00:00:00 00:00:05
   dcop audacity cut
   dcop audacity export foo.mp3
   dcop audacity close
 done

That script would delete the first five seconds of every mp3 file in the current directory.

Of course, a full-featured dcop interface could accomplish something much more complicated, things that would be difficult or impossible to do using chains, and for which plugins would not really be appropriate (such as operations on multiple files, and incorporating data not already in audacity). A dcop interface would also make integrating audacity with other applications (such as Amarok, for example) very easy. Also consider D-Bus, the successor to dcop.

  • Note: Audacity scripting support may evolve into D-Bus in time. See the developer mailing list for details.