Extensions
                
    Vocola extensions allow voice commands to call custom code,
performing actions not offered by Vocola's built-in functions.
Extensions might be written to control specific operating system or
application features, or to manipulate data.  Often you can write a
useful extension function with just a few lines of code and use it
quickly in a voice command.
    Creating extensions is straightforward
using Python.  An extension is
built as a single Python .py file whose name
starts with "vocola_ext_" and is installed by copying it to the Vocola
extensions folder, usually
C:\NatLink\NatLink\Vocola\extensions or
C:\Users\username\NatLink\NatLink\Vocola\extensions,
and either restarting Dragon NaturallySpeaking or saying "Load [Voice]
Extensions".  A single extension may provide many routines, with a
variety of names.  The only constraint is that all extension routine
names must contain at least one dot to distinguish them from built-ins
and user functions.
The following sections describe aspects of extension development and use:
  Starting with Vocola version 2.8.7, a number of previously unofficial
  extensions are included with the Vocola release.  Documentation for
  these can be found here.  These
  extensions are already installed and can be used out-of-the-box.
  Starting with Vocola version 2.8.7, Vocola now supports a Dragon
  proxy, which is a special Vocola extension that can intercept and
  change or redirect Vocola's calls to Dragon.  A starter version of the
  proxy is provided which can switch back and forth between
  SendDragonKeys and SendInput for default keystrokes as well as print
  out Dragon actions when verbose mode is turned on.  This functionality
  may be toggled by adding then using the following voice commands:
| Vocola verbose (on=true|off=false) = DragonProxy.SetVerbose($1); Vocola use (SendInput=true|SendDragonKeys=false) = DragonProxy.SetUseSendInput($1); | 
  Some unofficial extensions developed by Mark are
  available here.