Groups

From VoxCommando
Jump to: navigation, search

Commands in VoxCommando can be organized into groups.

Often we want to organize sets of commands based on the program or household device we want to control (among other things). For example, if you installed VoxCommando with the XBMC Frodo configuration, you will see various XBMC-specific command groups in the Command Tree Editor.

  • Groups can contain any number of commands.
  • Groups can be turned on and off.
  • Groups can be called anything you like.


Creating and Modifying Groups

In the tree editor, a group of commands is represented by the folder icon. To create a new group, click on the folder icon in the top menu of the tree editor. You can then create new commands within that group (by clicking on the the lightning bolt icon in the top menu when the appropriate command group is selected).

Commands can be dragged to change their order within a particular group, or dragged from one group to another. To copy a command rather than moving it, hold down the Ctrl key while dragging the command. (You can also right-click on commands to cut/clone/paste them.)

Group Properties

GroupProperties.png

Right-click a group in the tree editor and select "edit properties". This will open the GroupProperties dialogue, which should look like the image to the right. This lets us modify the following settings:

  • Group Name: This must be unique. No two groups should have the same name.
  • Group Priority: Default is 0. In the case of command conflict (two commands using the same phrase), the command whose group has a higher priority will be executed.
  • Override Prefix: Assigns a new prefix to the group, overriding the one set in the Options "prefix" tab. Prefix mode must be enabled and VoxCommando in standby for this to apply.
  • Active only for process: Enter a process name. This group will be enabled automatically only when this process has focus, and will be disabled otherwise.
    • Program focus is polled periodically. The frequency of this polling can be set in Options on the Events tab.
  • Description: You can describe your group here (optional).

Managing Command Conflicts in Different Groups

If the same exact phrase is used for two different commands, then VC won't necessarily trigger the correct one.

For example, if you have the command, 'Play song X' in both XBMC and MediaMonkey groups, VoxCommando won't know whether you want to play the song in XBMC or in MediaMonkey.

The solution is to turn "groups" of commands on and off. If a group is off then VC will ignore all commands in that group. A group that is "off" is still in memory and can be turned back on very quickly.

You can right-click a group in the tree editor to access its properties. Here you can set which process (or program) the group is associated with. In the field "active only for process", you can type a process name. Then this group will only be on when that program has focus.

If you right-click a group you can set it to be off by default when VC starts.

There is also a set of actions available for enabling, disabling, and generally manipulating groups:

Group.Enable Group.EnableRegEx Group.Disable Group.DisableRegEx Group.Purge
Group.RefreshAll Group.Rebuild Group.SoloRegEx Group.SaveStatesAs Group.RestoreStates

Groups Window


Groups-newUIwindow.png

When testing commands that enable and disable groups, you might want to look at the Groups window, which shows which groups are currently enabled, disabled, or in the process of being rebuilt.

There are 3 check boxes at the bottom of the main VC window that show/hide different helper windows. Groups is one. (The History window is also essential when creating and testing commands.)

The Groups window shows the current state of each group. Green means enabled, yellow means disabled. Clicking a group will toggle its current state. Groups can also be enabled and disabled using actions or by adjusting group properties.

This "current state" of the group is different from the on/off setting for groups in the Command Tree Editor. In the command tree editor, we are setting a group to be enabled or disabled when VoxCommando restarts.

A circle with dots in it indicates that the group is still rebuilding - processing. Usually you will only see this for groups with large payloadXML files because normal groups will rebuild almost instantly.

A red "no entry" circle indicates an error of some kind. Rolling over the group should indicate the nature of the problem. You may simply need to purge your cache and restart.