Troubleshooting
Writing Vocola commands is straightforward with a little
practice. This page summarizes some potential problems, and how to
solve them.
My command doesn't work
You've written a Vocola command but nothing happens when you speak the command.
Here are some possible causes:
- You didn't save the .vcl file.
- Your command had a syntax error.
- Vocola reports errors in the NatLink output window, a small window titled
"Messages from Python Macros" or "Messages from NatLink" .
- Read the error message, correct the problem, save the file, close the
NatLink window, and try your command again.
- You're speaking the command in a different context than you defined it
for.
- Make sure you put the command in the .vcl file for the application you're
running.
- If your command appears within a context
statement, make sure the context string matches the title of the current
window.
- You changed an include file (.vch) and didn't run the Vocola translator
by saying "Load All Voice Commands".
- Your command is in a filename which contains a character other
than a digit, letter, or underscore before the @ or extension (.vcl);
older versions of NatLink (before May 2007) are known to have a
bug which causes them to ignore such files. Either switch to a
later version of NatLink or use a different file name -- this may
require renaming the executable if the offending character occurs
in its name.
- NatLink didn't load the translated Python file.
- Look in the NatLink\MacroSystem directory. There should be both a .py
file and a .pyc starting with the same name as your .vcl file
(the part starting with the @ may be mangled somewhat).
- If the .pyc file is older than the .py file, and you really
have talked at the correct application, then NatLink has not noticed the
.py file. This means that NatLink or NatSpeak is in a bad state.
- This can be corrected by exiting and restarting NatSpeak.
- Your command uses a non-written out number (e.g., "3" rather than "three").
My command doesn't work right
Your command gets executed, but doesn't work correctly. Here are some possible
causes:
- Another command is being executed instead.
- You may have defined a command with the same words using another voice
command language. It's a good idea to delete these.
- You may have defined a global command and an application-specific command
with the same words. Usually the application-specific command will be recognized,
but occasionally the global command is recognized instead. Usually if you
repeat the command the application-specific version will be recognized.
- You may have defined a command with the same words in a command
file that you have since deleted or renamed; restart NatSpeak
to discard any such old commands.
- You need to use quotation marks in your Vocola command. Quotation mark
delimiters are usually optional in Vocola, but are required in some cases:
- when whitespace is significant, e.g., "{Left 2}"
- when keystrokes to enter contain special
characters
- You need to use SendSystemKeys or SendInput to get Windows or some applications
to see some keystrokes. For example, the Window key shortcuts
require this. Thus, to pull up an explorer window, you can use
SendSystemKeys({win+e}). Note that
SendSystemKeys is substantially slower
than Dragon's normal method of sending keystrokes so should be
used only when needed.
Starting with Vocola version 2.9, verbose output while running
commands is available; this can be helpful for figuring out which
command is being run and how it is executing.
See the Vocola
extension documentation for how to create commands adjusting this
verbosity.