Actions V1

From VoxCommando
Revision as of 11:24, 13 January 2021 by James (talk | contribs) (1 revision)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

A reference for all actions available in the VoxCommando logical command builder (LCB).

Other actions will also be available depending on which plugins you have enabled. A plugin must be enabled before its actions can be used.

  • General information about Plugins
  • For a complete list of plugins that come with VoxCommando and their associated actions, see: Plugin List


Standard Version 1 VoxCommando Actions:

Below is a list of all actions that are available in version 1 by default.
For default version 2 actions see: Actions

Note that we will try to regularly update this page as actions are deprecated or added in subsequent versions, but as a caution this list is deemed correct and complete for version 1.1.9.1


Contents

EventGhost

Send

EventGhost.Send
Generates an event in EventGhost. Any command payloads will be sent along with the event. However you can also modify the event name using {1}, {2} etc.

For example you could write your parameter as

Light.{1}.On

  • Parameters: 1+
  1. Event : event string to send to EventGhost [string]
  2. Payload : [string]
  3. Payload : [string]
  4. Payload : [string]

SendHex

EventGhost.SendHex
sends a sequence of hex pairs via UDP

for example: 0A FF E2

  • Parameters: 1
  1. Sequence : example: 0A FF E2 [string]

SetIP

EventGhost.SetIP
Set the IP of the computer to send EG commands to.

Enable broadcast to all computers on the LAN by using 255.255.255.255

  • Parameters: 1
  1. IP : Target IP address [string]

SetPort

EventGhost.SetPort
Set the port to broadcast EG commands on.
Default port is: 33333

  • Parameters: 1
  1. Port : UDP port [integer]

File

File
Actions for writing, copying, moving, deleting files.

Append

File.Append
Writes <Text> to the file at <Path>.
If the file exists, then <Text> will be appended to the end of the file without creating a new line.

  • Parameters: 2
  1. Path : The file to append text to [string]
  2. Text : The text to append [string]

AppendLine

File.AppendLine
Writes <Text> to the file at <Path>. If the file exists, then <Text> will be appended to the end of the file, followed by a new line.

  • Parameters: 2
  1. Path : The file to append text to [string]
  2. Text : The text to append [string]

Copy

File.Copy
Copies the file at <SourcePath> to <DestinationPath>.
WARNING: If a file exists at <DestinationPath> it will be overwritten without prompting the user.

  • Parameters: 2
  1. SourcePath : File to copy [string]
  2. DestinationPath : File path to copy the file to [string]

Delete

File.Delete
Deletes the file at <Path> without prompting the user.

  • Parameters: 1
  1. Path : The file to delete [string]

GetFiles

File.GetFiles
Scans the directory at <Path> and returns the filenames of all files matching <Filter> if any are found. Results are returned as Matches: {Match.1} etc.
Filter is usually *.* or *.wav or *.jpg or similar.

  • Parameters: 2
  1. Path : [string]
  2. Filter : [string]

GetRandFile

File.GetRandFile
Scans the directory at <Path> and returns the filename of a single random file matching <Filter> if any are found.
Filter is usually *.* or *.wav or *.jpg or similar.

  • Parameters: 2
  1. Path : Folder to scan [string]
  2. Filter : eg: *.* [string]

Move

File.Move
Moves the file at <SourcePath> to <DestinationPath>.

  • Parameters: 2
  1. SourcePath : File to move [string]
  2. DestinationPath : File path to move the file to [string]

Read

File.Read
Reads the contents of a text file. If the second optional parameter is included it will return the line specified. The first line in the file is line 0.

  • Parameters: 1-2
  1. Path : path to file [string]
  2. Line : 0 based line number to read [integer]

Write

File.Write
Writes <Text> to the file at <Path>.
If the file exists, it will be overwritten.

  • Parameters: 2
  1. Path : The file to write to [string]
  2. Text : The text to write to the file [string]

WriteLine

File.WriteLine
Writes <Text> to the file at <Path>. Followed by a new line.
If the file exists, it will be overwritten.

  • Parameters: 2
  1. Path : The file to write to [string]
  2. Text : The text to write to the file [string]

GenXML

Requests information about your media library from various other applications and stores it in payloadXML files, which can be used in commands.

AllMM

GenXML.AllMM
Updates all payload files used to request MediaMonkey music by name.

AllXBMC

GenXML.AllXBMC
Updates all Payload files used to request XBMC media by name.

Gmail

Actions to access information about unread emails via your gmail atom feed. You must set your username and password in the VC options under the gmail tab.

GetAllSummaries

Gmail.GetAllSummaries
Like GetAllTitles, but also returns a summary for each email.

GetAllTitles

Gmail.GetAllTitles
Returns a list of all unread emails in {LastResult}. For each email, it returns the sender and the subject line of the email.

GetCount

Gmail.GetCount
Returns the number of new (unread) messages.

GetCustom

Gmail.GetCustom
Gets all messages and returns them using a custom <Format>. <Format> can be any text but the following special strings will be replaced with the pertinent information. (note values in <> must be UPPERCASE and include the < > symbols. <#> <FROM> <TITLE> <SUMMARY>

These are self explanatory, but <#> is the index value of the message in the current list. 1 is the newest message.

Example <Format> parameter:
<#>: DER <FROM>, Titel: <TITLE>{CR}<SUMMARY>

  • Parameters: 1
  1. Format : Any text with special values in <> [string]

GetFeed

Gmail.GetFeed
Returns the unaltered XML atom feed.

Help

Various actions to show your command phrases. Each action will generate an html-based help file.

Different actions will show different subsets of your command tree.

ShowAll

Help.ShowAll
Generates an html-based help file listing your voice commands, and opens it in your default web browser.

Shows all commands in all groups.

ShowByName*

Help.ShowByName*
Generates an html-based help file listing your voice commands, and opens it in your default web browser.

Shows all commands in groups whose GroupNames contain <substring>.

  • Parameters: 1
  1. Substring : Show help for groups containing this substring will be shown [string]

ShowEnabled

Help.ShowEnabled
Generates an html-based help file listing your voice commands, and opens it in your default web browser.

Shows all commands in groups that are set to 'Enabled' in the Command Tree Editor.

InputKeys

Powerful keyboard emulation actions. Allows for more precise keyboard combinations than SendKeys.

In some cases the DxInput plugin may work (for example in some games) when InputKeys and SendKeys fail.

KeysDown

InputKeys.KeysDown
Presses one or more virtual keys down and does not release them.
example: {CONTROL+SHIFT}

Keys can be released later in the macro using InputKeys.KeysUp

  • Parameters: 1
  1. Keys : Keys to press down [string]

KeysUp

InputKeys.KeysUp
Releases one or more virtual keys that were previously pressed using InputKeys.KeysDown

You must specify which keys to release.

  • Parameters: 1
  1. Keys : Keys to release [string]

Send

InputKeys.Send
Presses and then releases a key combination as though it were typed on the keyboard.
Use the parameter helper tool for help with the correct format (i.e., the icon with 3 stacked building blocks).
Example: {ALT}({TAB})

  • Parameters: 1
  1. Keys : key combo to send [string]

TextEntry

InputKeys.TextEntry
Types a string. Overrides case, and allows use of brackets '( )' and '{ }'

Faster than using send if you wish to type without special keys or combinations.

Example parameter: Hello There! Dude(s). How are you?

  • Parameters: 1
  1. Text : The text to type [string]

Launch

Launch
Open the program at <Path> using optional command line parameters. Command line parameters will automatically be surrounded with quotes. If you don't want quotes use Launch.RawParam
Path can be absolute or relative to the folder that VoxCommando.exe is running in.

  • Parameters: 1-2
  1. Path : <path> [string]
  2. Command line params : <command line params> [string]

Hidden

Launch.Hidden
Same as Launch.RawParam but the window of the application will be hidden.

Useful for running batch files or command line utilities that perform a function and then close automatically, without seeing a window pop up.

  • Parameters: 1-2
  1. Path : Path to application [string]
  2. Parameters : Command line parameters [string]

OpenBat

Launch.OpenBat
Runs the batch file found at <Path>.

  • Parameters: 1
  1. Path : Path to batch file [string]

OpenFile

Launch.OpenFile
Attempts to open the file at <Path> using the default program for that file type as defined in Windows. Results will vary depending on your system setup.

  • Parameters: 1
  1. Path : Path to file [string]

OpenURL

Launch.OpenURL
Attempts to open the website with the address <URL> using the default web browser.

  • Parameters: 1
  1. URL : the web URL to open [string]

RawParam

Launch.RawParam
Open the program at <Path>. Command line parameters will not be surrounded with quotes.

  • Parameters: 1-2
  1. Path : Path to application [string]
  2. Parameters : Command line parameters [string]

LoopDelay

Action(s) that can be used to adjust the time between executions of the currently looping command.

Multiply

LoopDelay.Multiply
Changes the delay time of a currently looping command, such as "scroll right".

Using a parameter of 2 would cause the command to loop twice as slow.
Using a parameter of 0.5 would cause the command to loop twice as fast.

  • Parameters: 1
  1. Decimal number : Multiply time between loops by this number [string]

Map

Actions to control, store, and retrieve key-value pairs from the map tables.

Can be used to map long strings to friendly names (e.g. IR codes to button names).
Can be used to store data that will not be lost when the program closes and restarts.

Get

Map.Get
Returns a value for the given <Map> and <Key>.

  • Parameters: 2
  1. MapTable : (Table) [string]
  2. Key : (Name) [string]

Set

Map.Set
Stores a value for the given <MapTable>, <Key>, and <Value>.
If <Key> does not already exist in the given <MapTable> it will be created and the value set.
If <Key> already exists and <Overwrite> is True, the Key will be updated with a new value.
If <Key> already exists and <Overwrite> is False, no change will be made.

  • Parameters: 3-4
  1. MapTable : Name of MapTable to edit [string]
  2. Key : Name of Key in MapTable [string]
  3. Value : (Data to store in Key for this MapTable [string]
  4. Overwrite : Overwrite existing values (default= true) [boolean]

CreateTable

Map.CreateTable
Creates a new MapTable with name <MapTable>. If the table already exists, no change is made.

  • Parameters: 1
  1. MapTable : Name of MapTable to create [string]

DropTable

Map.DropTable
Drops (deletes) <MapTable>, if it exists.

  • Parameters: 1
  1. MapTable : Name of MapTable to Drop (delete) [string]

MediaMonkey

Actions to control MediaMonkey and to retrieve information about currently playing media.

AddCurrentToPlaylist

MM.AddCurrentToPlaylist
Adds the currently playing song to the MediaMonkey playlist named <Playlist>. You cannot add a song to an AutoPlaylist.

  • Parameters: 1
  1. Playlist : Playlist to add current track to [string]

AdjustVolume

MM.AdjustVolume
Modifies the playback volume by <Amount> %
Use a positive number to increase volume.
Use a negative number to reduce volume.

  • Parameters: 1
  1. Amount : +/- ajustment in % [integer]

CurrentSongData

MM.CurrentSongData
Get information about the current song. Parameter should be one of the following:
album / artist / conductor / genre / id / mood / path / playcounter / rating / title / year / occasion / custom1 / ... / custom5

  • Parameters: 1
  1. Data type : [string]

GetVolume

MM.GetVolume
Returns current MediaMonkey volume from 0 to 100.

LoadBySQL

MM.LoadBySQL
Loads songs according to an SQL query using the specified <Where> clause.
Special can be set to Mix, in which case new songs will be shuffled into the existing playlist.

Example where parameter:
rating>75

  • Parameters: 1-2
  1. Where : sql query where clause used to specify songs to load [string]
  2. Special : [string]

LoadEqPreset

MM.LoadEqPreset
Enables the MM equalizer and loads (if possible) the preset defined by <filename>. The parameter does not need to include the path to the file.

  • Parameters: 1
  1. Filename : <filename> [string]

LoadPlaylist

MM.LoadPlaylist
Loads the playlist with the name <Playlist>.

  • Parameters: 1
  1. Playlist : Name of Playlist to load [string]

mode settings

Enable/disable various MediaMonkey playback modes.

SetAutoDJ

MM.SetAutoDJ
Turn MM autoDJ on or off.
Parameter should be one of: true, false, on, off

  • Parameters: 1
  1. AutoDJ : True or False [boolean]

SetCrossfade

MM.SetCrossfade
Turn MM crossfade between songs on or off.
Parameter should be one of: true, false, on, off

  • Parameters: 1
  1. CrossFade : True or False [boolean]

SetEQ

MM.SetEQ
Turn MM equalizer on or off.
Parameter should be one of: true, false, on, off

  • Parameters: 1
  1. EQ : True or False [boolean]

SetRepeat

MM.SetRepeat
Turn MM song repeat on or off.
Parameter should be one of: true, false, on, off

  • Parameters: 1
  1. Repeat : True or False [boolean]

SetShuffle

MM.SetShuffle
Turn MM song shuffle on or off.
Parameter should be one of: true, false, on, off

  • Parameters: 1
  1. Shuffle : True or False [boolean]

Next

MM.Next
Advance playback to the next song.

NPList

MM.NPList
Returns the current MM "Now playing" playlist.

Returns first <Count> songs starting at song <Index>.
To start at the current song, Use the word current for the <Index> parameter.

This is based on *all* of the songs in the now playing list, regardless of what the currently playing song is (i.e. results returned are not relative to the currently playing song, but to the first song in the playlist).

  • Parameters: 0-2
  1. Count : Number of songs to return (default: 10) [integer]
  2. Index : Index of first song to return (default: 1) - accepts the word: current [string]

NPShuffle

MM.NPShuffle
Shuffles MM's "now playing" playlist. Shuffles list and puts currently playing song at the beginning of the re-ordered list.

Pause

MM.Pause
Pause playback.

Play

MM.Play
Begin/resume playback.

Previous

MM.Previous
Previous track. If a track is already playing, this action will "rewind" to beginning of currently playing track.

Use the set of actions "MM.Stop" > "MM.Previous" > "MM.Play" if you want it to play the previous track rather than rewinding to beginning of current track.

SetCurrentTrack

MM.SetCurrentTrack
Sets the playhead to track number <index> in the MM "now playing" playlist.

  • Parameters: 1
  1. Index : Track # [integer]

SetRating

MM.SetRating
Sets the rating for the currently playing song.
50 = 2.5 stars, 60 = 3 stars, ... 100 = 5 stars

  • Parameters: 1
  1. Rating : 0-100 [integer]

SetVolume

MM.SetVolume
Sets the playback volume of mediamonkey to <0-100> %

  • Parameters: 1
  1. Volume : 0-100 [integer]

SoftMute

MM.SoftMute
Reduces the MM playback volume to a <Percent>age of its current level. Volume can be restored later using MM.SoftUnmute

  • Parameters: 1
  1. Percent : 0-100 [integer]

SoftUnmute

MM.SoftUnmute
Restores MM volume to the level it was at before using MM.SoftMute

Stop

MM.Stop
Stop playback

Mouse

Manipulate the Windows mouse cursor (position and buttons) using emulation.

LeftButtonDown

Mouse.LeftButtonDown
Emulate left mouse button down, (not a full click) useful if you want to drag items.

LeftButtonUp

Mouse.LeftButtonUp
Emulate left mouse button up. Use after Mouse.LeftButtonDown to release the button.

LeftClick

Mouse.LeftClick
Emulate mouse left button click and release

MiddleClick

Mouse.MiddleClick
Emulate mouse middle button click and release

MoveAbsolute

Mouse.MoveAbsolute
Positions the mouse cursor at position <x>, <y> in screen coordinates.
Distance of the move is relative to the top left corner of the leftmost screen.

  • Parameters: 1
  1. X,Y : pair of integers [string]

MoveRelative

Mouse.MoveRelative
Moves the mouse cursor horizontally by <x>, and vertically by <y>
Distance of the move is relative to the previous position of the mouse cursor.

  • Parameters: 1
  1. X,Y : pair of integers [integer]

RightButtonDown

Mouse.RightButtonDown
emulate right mouse button down, (not a full click) should be followed by Mouse.RightButtonUp

RightButtonUp

Mouse.RightButtonUp
emulate right mouse button up. Use after Mouse.RightButtonDown to release the button.

RightClick

Mouse.RightClick
emulate mouse right click and release

OSD

Actions for providing on-screen feedback to the user.

AddText

OSD.AddText
Same as OSD.ShowText, but adds <Text> to what was previously displayed starting on a new line.
Does not erase the old text.
If the overlay is hidden it will be shown again.

  • Parameters: 1
  1. Text : Text to add to the OSD popup [string]

HideOverlay

OSD.HideOverlay
Makes the status overlay invisible. (coloured floating microphone icon)

PositionOverlay

OSD.PositionOverlay
Moves the status overlay to the screen coordinates <X>,<Y>

Example, to move the overlay to the top right of a 1920 x1080 display you could use something like this

OSD.PositionOverlay 1880,20

  • Parameters: 1
  1. X,Y : Location on screen. 0,0 is top left corner [integer]

SetColors

OSD.SetColors
Example hex codes:
White: FFFFFF Black: 000000 Red: FF0000

  • Parameters: 1-2
  1. ForeColor : RGB Hex code for OSD font color [string]
  2. BackColor : RGB Hex code for OSD background color [string]

SetFontSize

OSD.SetFontSize
Set the point size for the OSD font

  • Parameters: 1
  1. PointSize : Point size for OSD font [integer]

ShowOverlay

OSD.ShowOverlay
Makes the status overlay (coloured floating microphone icon) visible.

ShowText

OSD.ShowText
Displays the text <Message> on screen.
If <Duration> is specified the <Message> will remain on screen for <Duration> milliseconds.
If <Position> is specified the <Message> text box will have its bottom <Position> pixels from the bottom of the screen. If <Position> is negative, the distance will be measured from the top of the screen to the top of the text box instead.

  • Parameters: 1-3
  1. Message : Text message to display [string]
  2. Duration : Time to show message in milliseconds [integer]
  3. Position : Offset from bottom of screen (negative to ofset from top) [integer]

PandoraBot

Actions for sending text to the VoxCommando Pandorabots and receiving a text response in {LastResult}.

English

PandoraBot.English
Sends <Text> to the VoxCommando's English Pandorabot and receives a text response in {LastResult}. *Requires internet connection.
Combine this with payloadDictation and TTS.speak and you can chat with your computer.

The VoxCommando bot is available online at: http://www.pandorabots.com/pandora/talk?botid=c98d11802e3477a5

  • Parameters: 1
  1. Text : the word to send to pandorabot [string]

German

PandoraBot.German
Sends <string> to the VoxCommando's German Pandorabot and receives a text response in {LastResult}. Requires internet connection.
Combine this with payloadDictation and TTS.speak and you can chat with your computer.

The VoxCommando bot is available online at: http://www.pandorabots.com/pandora/talk?botid=f5f7404cee346cc7

  • Parameters: 1
  1. String : <string> [string]

PayloadXML

Actions to manipulate xml files that contain "value/phrase" payloads.

AddPair

PayloadXML.AddPair
Adds a new payload to the xml file <filename>

  • Parameters: 3-4
  1. Path : Path to payload xml file [string]
  2. Value : Payload Value to add [string]
  3. Phrase : Payload Phrase [string]
  4. UseSubsetMatching : Will payload allow subset matching? (user can say partial phrase) [boolean]

Clear

PayloadXML.Clear
Removes all payloads from the xml file at <Path>
Does not delete the file, so you can add new payloads to it later.

  • Parameters: 1
  1. Path : Path to file that will be modified [string]

GetPhrase

PayloadXML.GetPhrase
Returns the first phrase found from the payloadXML file at <Path> for the item with a value of <Value>
<Return> determins what will be returned:
Full: The complete phrases as stored in the file. (this is the default)
First: The phrase preceding the first comma
Random: One of the phrases as separated by commas

  • Parameters: 2-3
  1. Path : Path of the payloadXML file to read [string]
  2. Value : Value to search for [string]
  3. Return : Full (default), First, Random [string]

GetRandomP

PayloadXML.GetRandomP
returns <N> random phrases from the payloadXML file at <Path>
Default for N is: 1

  • Parameters: 1-2
  1. Path : Path to payload xml file to read [string]
  2. N : # of phrases to retrieve (default = 1) [integer]

GetValue

PayloadXML.GetValue
Returns the first value found from the payloadXML file at <Path> for the item with a phrase of <Phrase>
If <ByComma> is true, <Phrase> will be compared to alternate phrases between commas. If false the whole string must match.
Search is NOT case sensitive.

  • Parameters: 2-3
  1. Path : Path of the payloadXML file to read [string]
  2. Phrase : Phrase to search for [string]
  3. ByComma : Default: False = match entire phrase string [boolean]

NewFile

PayloadXML.NewFile
Creates a new empty payloadXML file at <Path>

  • Parameters: 1
  1. Path : [string]

Results

Perform operations using {LastResult}.

MatchConcat

Results.MatchConcat
Concatenates all matches (separated by <Delimiter>) into a single string that is stored in {LastResult}. Each available match will be used up to a maximum of <MaxMatches>, or all if <MaxMatches> is omitted.

  • Parameters: 1-2
  1. Delimiter : String to place between matches. You can use {CR} [string]
  2. MaxMatches : Ignore matches after the first <MaxMatches> [integer]

MatchToEvent

Results.MatchToEvent
One event will be generated for each match that was stored. (i.e. {Match.1}..{Match.n} up to <MaxEvents>. If <MaxEvents> is not specified then all matches will be used.
The event will have the name <EventName> and will carry the match text as the payload.

  • Parameters: 1-2
  1. EventName : the Name of the event to Generate [string]
  2. MaxEvents : The maximum number of events to generate [integer]

RegEx

Results.RegEx

Performs regular expression matching against the {LastResult} from a previous action, and stores multiple matches in {Match.1} {Match.2} etc.
If the pattern contans multiple captures (sets of brackets) they will be concatenated (and joined using <Delimiter>) in each match.

For example, if {LastResult} contains this line:

  • Artist: Beck

  • then the regex pattern might be:

  • Artist:\s(.*?)

  • which would return the string Beck as a match.

    A good regex reference:
    http://www.mikesdotnetting.com/Article/46/CSharp-Regular-Expressions-Cheat-Sheet

    • Parameters: 1-3
    1. Pattern : Regular expression pattern to match against [string]
    2. Delimiter : Multiple captures will be joined using this string during concatenation [string]
    3. Text : Optional text to match against instead of {LastResult} [string]

    RegExSingle

    Results.RegExSingle
    Works the same as Results.RegEx but treats the results as one long string so that you can match across multiple lines.

    • Parameters: 1-3
    1. Pattern : Regular expression pattern to match against [string]
    2. Delimiter : Multiple captures will be joined using this string during concatenation [string]
    3. Text : Optional text to match against instead of {LastResult} [string]

    RegExReplace

    Results.RegExReplace
    Performs a replace on {LastResult} using RegEx patterns. Strings captured in the <FindPattern> using brackets, can be used in <ReplaceWith> using $1, $2 etc.

    • Parameters: 2
    1. FindPattern : [string]
    2. ReplaceWith : [string]

    Replace

    Results.Replace
    Performs a replace on {lastresult}

    any occurences of <old string> will be replaced with <new string>

    the result after replacement is placed back into {lastresult}

    • Parameters: 2
    1. Old string : <old string> [string]
    2. New string : <new string> [string]

    SetLastResult

    Results.SetLastResult
    Set the value of {LastResult} to <newValue> so that you can perform other actions on the new custom string.

    • Parameters: 1
    1. NewValue : set {LastResult} to this value [string]

    SetVar

    Results.SetVar
    Sets the user variable <VarName> to <Value>
    You can access the variable in other actions by using {var.variablename}

    * If <Value> is omitted then the value of {LastResult} will be used as the <Value>

    • Parameters: 1-2
    1. VarName : The name of the variable to store data in [string]
    2. Value : The new value to store in the variable [string]

    StoreLast

    Results.StoreLast

    • Deprecated. Please use: Results.SetVar

      Stores {LastResult} in a user variable of name: <variablename>

      You can access the variable in other actions by using {var.variablename}
    • Parameters: 1
    1. Variablename : <variablename> [string]

    Scrape

    Scrape
    Returns the raw text contents of the file found at the address: <URL> and stores it in {LastResult}. <URL> can point to any kind of text file (html, xml rss) and can be a web address or a local file.

    If the file is hosted on a server that requires authentication you can provide <username> and <password> credentials as optional parameters. Some sites require you to actually log in so that session variables can be maintained. In this case you can try using RoboBrowser.

    Some content is not contained in the original file and is normally only created after the page loads and a web client asks for linked resources or executes javascript. Again, this requires the use of RoboBrowser which is an actual browser capable of doing these things.

    • Parameters: 1-3
    1. URL : http://... url to scrape [string]
    2. Username : If authentication is required [string]
    3. Password : If authentication is required [string]

    XML

    Scrape.XML
    will scrape the website or feed at <URL> and return the inner text for nodes <NodeName>
    Each node found will be stored in {Match.#} The first node in {Match.1}, the second in {Match.2} etc.

    • Parameters: 2-3
    1. URL : URL or Feed to scape [string]
    2. NodeName : Name of Nodes to return [string]
    3. MaxNodes : Maximum number of matches to return [integer]

    UserAgent

    Scrape.UserAgent
    Same as scrape, but instead of sending username and password you can send a string for <UserAgent> in the request.

    • Parameters: 2
    1. URL : http://... url to scrape [string]
    2. UserAgent : add this useragen to the request header [string]

    SendKeys

    SendKeys
    Sends <Keys> (a keyboard combination) to the keyboard (using emulation). Does not work with all programs. For more information about how to format the <Keys> parameter see:
    http://msdn.microsoft.com/en-us/library/8c6yea83(v=vs.85).aspx

    Example: to press Control-Shift-End use
    ^+{END}

    * Note: For more power and control use InputKeys or the DxInput plugin.

    • Parameters: 1
    1. Keys : Keys to Send [string]

    SMTP

    Send email using an SMTP server. Configure your server in Options.

    Send

    SMTP.Send
    Example parameter string:
    test@gmail.com && Dinner at Joe's && Let's meet at Joe's diner tonight at 6 pm. We should still have time to eat before the movie.

    Of course you can use payloads.
    {1}&& sent from vox &&{2}

    • Parameters: 3
    1. To : recipient's address [string]
    2. Subject : the subject of the email [string]
    3. Message : the body (text) of the email [string]

    SendAsync

    SMTP.SendAsync
    This is the same as SMTP.Send, but does not wait to see if the email was sent before proceeding to the next action.

    If you need to check if the email was send correctly then use SMTP.Send

    • Parameters: 3
    1. To : recipient's address [string]
    2. Subject : the subject of the email [string]
    3. Message : the body (text) of the email [string]

    Sound

    Actions to play sound files and adjust system volume.

    AdjustVol

    Sound.AdjustVol
    Adjust the volume by <value>. Use a negative number to decrease volume.

    • Parameters: 1
    1. Adjust by : Use a negative number to decrease volume [integer]

    GetVol

    Sound.GetVol
    Returns the current system master volume

    GetStreamInfo

    Sound.GetStreamInfo
    Returns information about the currently playing audio stream.

    Mute

    Sound.Mute
    Mute the system volume.

    PartialMute

    Sound.PartialMute
    Reduces volume to a % of the current system volume.
    Has no effect if PartialMute is already in effect.

    • Parameters: 1
    1. 1-100 : <1-100> [string]

    PartialUnMute

    Sound.PartialUnMute
    Restores the system master volume to the level it was at before calling PartialMute.

    PlayStream

    Sound.PlayStream
    Plays the audio file found at <Path>. Accepts a file path or an URL so can be used to play an internet radio stream. Example:
    http://scfire-a32.websys.aol.com:80/radio_paradise_mp3_128kbps

    Audio can then be stopped using Sound.StopStream

    • Parameters: 1
    1. Path : [string]

    PlayWav

    Sound.PlayWav
    Plays the .wav file found at <Path>
    If <Wait> is true, the execution of the command will be suspended until the wav file has finished playing.

    • Parameters: 1-2
    1. Path : file path to .wav file [string]
    2. Wait : Wait for wav to finish before going to next action. Default = False [boolean]

    SetVol

    Sound.SetVol
    Sets the current system master volume to a value from 1 to 100.

    • Parameters: 1
    1. Volume : 1-100 [integer]

    SetStreamVol

    Sound.SetStreamVol
    Set the volume for the currently playing stream

    • Parameters: 1
    1. Volume : 0-100 [integer]

    StopStream

    Sound.StopStream
    Stop playback of the current audio stream (if any is playing).

    ToggleMute

    Sound.ToggleMute
    Toggles system mute on / off.

    UnMute

    Sound.UnMute
    Unmute the system volume.

    System

    Various Windows system actions to access the system clipboard, control sleep, hibernation, shutdown, and monitor power settings.

    GetClipboardText

    System.GetClipboardText
    Copies the contents of the system clipboard text to {LastResult}.

    SetClipboardText

    System.SetClipboardText
    Copies the text {LastResult} to the system clipboard.

    • Parameters: 1
    1. String : <string> [string]

    Hibernate

    System.Hibernate
    Hibernates the system (if hibernation support is enabled in OS settings).

    LockWorkstation

    System.LockWorkstation
    Locks the work station, requiring the user to log back in before using Windows.

    Monitor

    Control monitor power settings.

    Off

    System.Monitor.Off
    Puts the computer monitor(s) to sleep.

    On

    System.Monitor.On
    Wakes the computer monitor(s).

    Standby

    System.Monitor.Standby
    Doesn't seem to do anything on most systems!

    Use System.Monitor.Off instead.

    ShutDown

    System.ShutDown
    Attempts to log off and shut down your system.

    *** USE WITH CAUTION !

    Sleep

    System.Sleep
    Puts the computer system into sleep (standby) mode.

    TTS

    Text-to-Speech actions.

    SetLang

    TTS.SetLang
    Used with VoxWav for Android.
    Instructs VoxWav to attempt to set the TTS engine to the language specified by the two character Language Code.

    • Parameters: 1
    1. Language Code : en, es, fr, de, pt etc. [string]

    SetOutput

    TTS.SetOutput
    Sets the audio output device to be used for TTS (text to speech).
    It will select the first device found with a descriptions that contains <DeviceName>.
    If <DeviceName> is an integer it will select by the device number.

    • Parameters: 1
    1. DeviceName : The name of the output device to use for TTS [string]

    SetVoiceName

    TTS.SetVoiceName
    Set the TTS engine to use the voice with the name <VoiceName>.
    You can view the available names in VC options. Voice name must match exactly.

    • Parameters: 1
    1. VoiceName : <voicename> [string]

    SetVoiceNum

    TTS.SetVoiceNum
    Set the TTS engine to use the voice with the <VoiceNum>th voice. The order of voices can be seen in VoxCommando options.
    The number and names of voices may change if you install or uninstall voices.
    The first voice in the list will have a number of: 0

    • Parameters: 1
    1. VoiceNum : First voice is 0 [integer]

    SetVolume

    TTS.SetVolume
    Sets the output volume of the TTS voice.

    • Parameters: 1
    1. TTS Volume : <1-100> [integer]

    Speak

    TTS.Speak
    Speaks the string aloud. VC will choose randomly from multiple phrases separated by the symbol: |

    • Parameters: 1
    1. TTS text : <stringoption1 | stringoption2 | etc. [string]

    Speak2Wav

    TTS.Speak2Wav
    Same as TTS.Speak, but instead of speaking aloud, the speech will be recorded to a wav file.

    If PlayWav is true the wav will be played immediately, otherwise the file will be created but not played by VoxCommando.

    • Parameters: 1-3
    1. TTS text : What should the TTS engine say? [string]
    2. Path : Where to save the wav file [string]
    3. PlayWav : True = play the wav file after creating it [boolean]

    SpeakSync

    TTS.SpeakSync
    Same as TTS.Speak, but VC will wait until speaking is complete before continuing to the next action.

    • Parameters: 1
    1. TTS text : <stringoption1 | stringoption2 | etc.> [string]

    Stop

    TTS.Stop
    Interrupts the TTS voice (if it is still speaking). In other words it stops the TTS voice from speaking. Text that has not been spoken yet is discarded.

    VoxCommando

    Basic actions to control VoxCommando.

    ConfirmNo

    VC.ConfirmNo
    Discards (without executing) the command that is currently waiting for confirmation (if any).

    ConfirmYes

    VC.ConfirmYes
    Executes the command that is currently waiting for confirmation (if any).

    DisableGroup

    VC.DisableGroup
    Turns a command group off by specifying its name.

    • Parameters: 1
    1. Groupname : Name of the group to disable [string]

    DisableGroup*

    VC.DisableGroup*
    Same as EnableGroup but disables all groups whose name contains <substring>.

    • Parameters: 1
    1. Substring : Groups containing this substring will be disabled [string]

    EnableGroup

    VC.EnableGroup
    Turns a command group on by specifying its name.

    • Parameters: 1
    1. Groupname : Name of the group to enable [string]

    EnableGroup*

    VC.EnableGroup*
    Same as EnableGroup but enables all groups whose name contains <substring>.

    • Parameters: 1
    1. Substring : Groups containing this substring will be enabled [string]

    Off

    VC.Off
    Puts VoxCommando into (Off / Red) mode. The program will not listen for any spoken commands, but will still respond to user interaction via the mouse and keyboard and can still receive actions or events through the network.

    On

    VC.On
    Puts VoxCommando into (Listen / On / Green) mode.

    OnSingle

    VC.OnSingle
    Puts VoxCommando into (Listen / On / Green) mode and enables "single command mode":
    After the next recognized command VC will return to Standby mode and generate the event VC.Single.End, which can be used to restore volume after muting to listen to your command.

    Pause

    VC.Pause
    Pauses execution of the macro. Parameter is in milliseconds. (1000 = 1 second).

    Warning: This will freeze VoxCommando. You should only use this for short pauses.

    • Parameters: 1
    1. Time : time to pause in ms [integer]

    RestartFull

    VC.RestartFull
    Rebuilds and reloads all grammars and commands.
    In order to actually restart the program please use the file menu on the main VC window.

    RestartQuick

    VC.RestartQuick
    Attempts to reloads commands while doing the minimum amount of "rebuilding". If the cache has been cleared by doing a genXML then this will actually result in a full rebuild, and may take just as long as VC.RestartFull.

    SetCulture

    VC.SetCulture

    • Parameters: 1
    1. Culture : aa-AA [string]

    SetEventTimer

    VC.SetEventTimer
    Creates a timer that triggers the event <EventName> after a period of time.

    Events can be assigned to any command(s) in order to trigger them (see: http://voxcommando.com/mediawiki/index.php?title=Events).

    The parameter <Delay/Time> can use a number of different formats:
    - A time of day such as 3:45 or 16:30 or 4:00 PM or 8:00 AM
    - A delay. Default is seconds, but you can also specify hours, minutes or seconds:
    Example: 1h 10m 30s

    • Parameters: 2+
    1. Delay/Time : * see notes for formats [string]
    2. EventName : event to fire [string]
    3. Payload : payload will be attached to the event [string]
    4. Payload : payload will be attached to the event [string]
    5. Payload : payload will be attached to the event [string]

    SetOption

    VC.SetOption
    Temporarily overrides VoxCommando options. These will not be saved and will return to previous values on restart. Only certain options can be set. Currently just:
    RequiredConfidence, IdleTimeout

    For a full list see: http://voxcommando.com/mediawiki/index.php?title=VC.SetOption

    • Parameters: 2
    1. Option : The Option to set [string]
    2. NewSetting : The new value for the option [string]

    SetProfile

    VC.SetProfile
    Changes the recognition engine to use a new speech profile:
    <ProfileName> must be one of you speech profiles as defined is Windows Speech Control panel (Control Panel\All Control Panel Items\Speech Recognition).
    Case sensitive.

    • Parameters: 1
    1. ProfileName : name of speech profile to switch to [string]

    SetSpeechInput

    VC.SetSpeechInput
    Changes the audio input used for speech recognition to a new device.
    Note that it does not change the default audio input for windows in general, only for speech recognition.
    <Input> Should be the name or part of the name for an input device. If Input is omitted, the speech input will be set to the default windows input device.

    • Parameters: 0-1
    1. Input : blank = use default audio input [string]

    Standby

    VC.Standby
    Puts VoxCommando into (Standby / Yellow) mode. VoxCommando will then only respond to special commands.

    StopMacro

    VC.StopMacro
    Stops execution of the current macro (command)

    TellVox

    VC.TellVox
    Emulates speech recognition using <Command>. Should have the same effect as saying <string>. Spelling must be correct.
    If possible use VC.TriggerEvent instead.

    • Parameters: 1
    1. Command : the words to simulate [string]

    TriggerEvent

    VC.TriggerEvent
    Triggers any commands that contain "Event"

    Add as many extra parameters as you like, they will be treated as payloads.

    • Parameters: 1+
    1. Event : Name of event to trigger [string]
    2. Payload1 : optional payload [string]
    3. Payload2 : optional payload [string]
    4. Payload3 : optional payload [string]

    Window

    Various actions to control to focus and control windows.

    Close

    Window.Close
    Close the window belonging to <Process>

    if no parameter is used the Currently Focused window will close.

    example:
    Window.Close Chrome

    The process name can be viewed in task manager and is usually the filename of the program. Use the name only and not the '.exe'

    • Parameters: 1
    1. Process : Name of the process to close [string]

    Focus

    Window.Focus
    focuses the progam with the process name <string>

    I am still working on this, it is not 100% reliable. Some programs work better than others.

    To see a list of process names for all running processes use the Windows Task Manager (ctrl-shift-esc) and click the "processes" tab.

    • Parameters: 1
    1. String : <string> [string]

    Maximize

    Window.Maximize
    maximize the currently focused window

    Minimize

    Window.Minimize
    If no parameter is specified then it will minimize the currently focused window.

    Otherwise it will attempt to minimize the window belonging to <Process>

    • Parameters: 0-1
    1. Process : [string]

    Normalize

    Window.Normalize
    normalizes the currently focused window.

    WMC

    WMC
    Actions used to control Windows Media Center (requires VMC Controller plugin to be installed).

    The parameter <vmcCommand> is the command to send. Example:
    button-play

    See the default WMC configuration for reference or visit the VMC controller website.

    • Parameters: 1
    1. VmcCommand : <string> [string]

    GenSongsByArtist

    WMC.GenSongsByArtist

    Tools

    Misc. helper actions

    GcTrim

    Tools.GcTrim
    Trim a GlobalCache IR code. Detect and remove repeated IR sequences.

    • Parameters: 3
    1. IR Code : Original "untrimmed" learned IR code [string]
    2. MaxValue : Longest gap before a new line is assumed [integer]
    3. Lines : Number of lines to keep [integer]

    GcCompress

    Tools.GcCompress
    Compresses an iTach IR code and allows you to change the repeat and connector (output port) number.

    • Parameters: 4
    1. IR Code : Original Uncompressed IR code [string]
    2. Repeat : Times to repeat code when sending. Default =1 [integer]
    3. Connector : Number of output port to send IR on (1-3) [integer]
    4. Module : Always 1 think! [integer]

    WOL

    WOL
    Sends a "magic packet" to wake a computer on the LAN. The parameter should be the MAC address of the computer to wake.

    • Parameters: 1
    1. MacAddr : Mac Address of machine to wake [string]

    XBMC

    Actions to control and query Xbox Media Center. (Pre-Frodo only. Install XJson plugin for versions of XBMC 12 and up.)

    Btn.KB

    XBMC.Btn.KB
    Sends the keycode <string> to XBMC's event client. This is much faster than using the http api and is recommended for all simple actions.

    For a reference of keycodes and their mappings see:
    https://github.com/xbmc/xbmc/blob/master/system/keymaps/keyboard.xml

    • Parameters: 1
    1. Key : key to send to XBMC [string]

    ExecBuiltin

    XBMC.ExecBuiltin
    Sends <string> to XBMC's ExecBuiltin function. This can also be done using XBMC.Send, but this makes it a bit easier.

    For reference see:
    http://wiki.xbmc.org/index.php?title=List_of_Built_In_Functions

    • Parameters: 1
    1. Command : XBMC builtin command to execute [string]

    Filter

    XBMC.Filter
    filters items from a list leaving only the ones that start with <string>

    • Parameters: 1
    1. Filter : show only items that start with this [string]

    JumpLetter

    XBMC.JumpLetter
    attempts to jump to the first item in the current view that starts with the first letter of <string>

    Example:

    XBMC.JumpLetter John

    would jump to items starting with 'J'

    If there are no items that start with J in the current view, then it will jump to the next higher letter until it find something.

    • Parameters: 1
    1. String : <string> [string]

    LoadSmart

    XBMC.LoadSmart
    The loadsmart command will load an XBMC "smart playlist" file, replace variables such as {1} with any available payloads and then resave the file directly in the VoxCommando folder as VoxSmart.xsp

    • Parameters: 1
    1. Path to .xsp file : <path to .xsp file> [string]

    Notify

    XBMC.Notify
    sends <string> to xbmc which will display the message in a popup window.

    • Parameters: 1
    1. String : <string> [string]

    Send

    XBMC.Send
    Sends <string> to the xbmc http api.

    For more information see:
    http://wiki.xbmc.org/index.php?title=Web_Server_HTTP_API

    • Parameters: 1
    1. Command : http command string to send to XBMC [string]

    SendText

    XBMC.SendText
    Sends a text string to an XBMC dialog. Useful for Searches etc.

    • Parameters: 1
    1. Text : String to send to XBMC dialog [string]

    SetConnection

    XBMC.SetConnection
    Sets the network connection to use settings different from what is in Options.

    Settings must match the network settings in XBMC for the machine at <IP>

    • Parameters: 1-4
    1. IP : IP address of XMBC machine to control [string]
    2. Port : Port # of XMBC machine to control [integer]
    3. Username : Username of XMBC machine to control [string]
    4. Password : Password of XMBC machine to control [string]

    SoftMute

    XBMC.SoftMute
    Reduces XBMC volume to a % of the current XBMC volume.
    Has no effect if softmute is already in effect.

    • Parameters: 1
    1. 1-100 : <1-100> [string]

    SoftUnMute

    XBMC.SoftUnMute
    Restores the XBMC volume to the level it was at before calling SoftMute