Skip to content

Upgrading from pre 0.5 to v0.5

Ben Meyer edited this page Apr 14, 2015 · 28 revisions

Upgrading from pre-0.5 to v0.5 will take some time so make sure not to try to perform the update in the middle of your workday when you need to be using VoiceCode. Set aside a few hours to perform the upgrade and familiarize yourself with the changes

Key Differences

  • All keystrokes, mouse events, and most other commands interface directly with the OS, generating native events instead of relying on AppleScript
  • Brand-new command API
    • Is now a 'functional' rather than an 'imperative' api - has much more flexibility, and is less verbose.
  • Dragon connects to VoiceCode via a socket rather than http (faster)
  • All commands are processed and executed directly in VoiceCode, and never cached in Dragon
  • Means any changes you make in VoiceCode will take effect immediately
  • Commands are no longer installed from a file
    • VoiceCode communicates with Dragon to determine which commands need creating, updating, deleting
    • Creating, updating, deleting large numbers of commands can take quite a while so do it when your computer is free to sit uninterrupted
  • No more dependency on BetterTouchTool for any commands
  • More and better mouse commands
  • More and better scrolling commands
  • Modifier keys and all keystrokes should now work correctly in a virtual machine, i.e. Parallels
  • More and better window positioning commands (and easily add your own)
  • Commands execute way faster (AppleScript was way too slow)
  • All commands are disabled by default, and you enable them as you need / discover them
  • a new type of command: "combo". Lets you easily create a new command that is just a combination of other existing command
  • Interface improvements
    • New font
    • Many things are simplified
    • On the commands page, shows the tags for each command - click on a tag to see related commands
    • Better display of things like "modifier keys", "arrow keys", etc.
    • Grid / Matrix view for modifier commands
  • Many new commands
    • Repeatable commands are handled via repetition keywords rather than number arguments.
    • keeper (followed by a command name, will type the name. Followed by a number, will spell out a number)
    • blerch (opens the help menu so you can search the drop-down menu items)
    • dears (opens any of your predefined directories in the finder)
    • croplick (option-click)
    • triplick (triple-click)
    • comlick (command-click)
    • sispref (open a specific system preference pane by name, i.e. audio, users, network, etc.)
    • durrup (go to parent directory in terminal)
    • scroopway (scroll way up)
    • scrodgeway (scroll way down)
    • sweeper (scroll / swipe right)
    • sweeple (scroll / swipe left)
    • windy (positions foreground window in various preset)
  • websites in your settings file now need to have full url paths (http://...)
  • webs command now directly opens a website, rather than switching to the browser, opening a tab, and typing the url

How To Upgrade

  • get the new code
    • cd ~/voicecode ; git pull
  • Update your user settings to use the new API (check out the new settings page here)
  • Update your user commands to use the new API (how to add commands and how to override defaults)
  • startup VoiceCode
    • cd ~/voicecode ; ./run.sh
  • Navigate to the commands page
  • Click on each command to enable the commands you want to use (details here)
  • Synchronize Dragon
    • When updating from pre-0.5 there will be a LOT of commands that need changing or deleting. You can either let VoiceCode automate this process (which will take quite a while) OR you can just delete all the commands and start from scratch.
    • To delete all the old commands and start Dragon from scratch
      • Quit Dragon Dictate
      • Delete the folder ~/Library/Application Support/Dragon
      • Restart Dragon Dictate
  • Navigate to the synchronization page
    • http://commando:5000/updates
    • Follow the directions and run the command check
    • Press the buttons to update Dragon
      • This could take several hours the first time, since EVERY command will need updating - but it makes keeping things in sync MUCH easier.
  • If you are using the Alfred workflows, double-click on each workflow in ~/voicecode/integrations/alfred-workflows to update them
  • After changing that many commands, Dragon's recognition may suffer. It is a good idea after upgrading all the commands, to create a new dragon profile, and redo the initial voice training.
    • Whenever you create a new profile, follow the directions here to get the profile set up right
  • Perform vocab training: instructions here

Clone this wiki locally