Actions V1
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
- 1 EventGhost
- 2 File
- 3 GenXML
- 4 Gmail
- 5 Help
- 6 InputKeys
- 7 Launch
- 8 LoopDelay
- 9 Map
- 10 MediaMonkey
- 10.1 AddCurrentToPlaylist
- 10.2 AdjustVolume
- 10.3 CurrentSongData
- 10.4 GetVolume
- 10.5 LoadBySQL
- 10.6 LoadEqPreset
- 10.7 LoadPlaylist
- 10.8 mode settings
- 10.9 Next
- 10.10 NPList
- 10.11 NPShuffle
- 10.12 Pause
- 10.13 Play
- 10.14 Previous
- 10.15 SetCurrentTrack
- 10.16 SetRating
- 10.17 SetVolume
- 10.18 SoftMute
- 10.19 SoftUnmute
- 10.20 Stop
- 11 Mouse
- 12 OSD
- 13 PandoraBot
- 14 PayloadXML
- 15 Results
- 16 Scrape
- 17 SendKeys
- 18 SMTP
- 19 Sound
- 20 System
- 21 TTS
- 22 VoxCommando
- 22.1 ConfirmNo
- 22.2 ConfirmYes
- 22.3 DisableGroup
- 22.4 DisableGroup*
- 22.5 EnableGroup
- 22.6 EnableGroup*
- 22.7 Off
- 22.8 On
- 22.9 OnSingle
- 22.10 Pause
- 22.11 RestartFull
- 22.12 RestartQuick
- 22.13 SetCulture
- 22.14 SetEventTimer
- 22.15 SetOption
- 22.16 SetProfile
- 22.17 SetSpeechInput
- 22.18 Standby
- 22.19 StopMacro
- 22.20 TellVox
- 22.21 TriggerEvent
- 23 Window
- 24 WMC
- 25 Tools
- 26 WOL
- 27 XBMC
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+
- Event : event string to send to EventGhost [string]
- Payload : [string]
- Payload : [string]
- Payload : [string]
SendHex
EventGhost.SendHex
sends a sequence of hex pairs via UDP
for example: 0A FF E2
- Parameters: 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
- IP : Target IP address [string]
SetPort
EventGhost.SetPort
Set the port to broadcast EG commands on.
Default port is: 33333
- Parameters: 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
- Path : The file to append text to [string]
- 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
- Path : The file to append text to [string]
- 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
- SourcePath : File to copy [string]
- DestinationPath : File path to copy the file to [string]
Delete
File.Delete
Deletes the file at <Path> without prompting the user.
- Parameters: 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
- Path : [string]
- 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
- Path : Folder to scan [string]
- Filter : eg: *.* [string]
Move
File.Move
Moves the file at <SourcePath> to <DestinationPath>.
- Parameters: 2
- SourcePath : File to move [string]
- 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
- Path : path to file [string]
- 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
- Path : The file to write to [string]
- 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
- Path : The file to write to [string]
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Path : <path> [string]
- 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
- Path : Path to application [string]
- Parameters : Command line parameters [string]
OpenBat
Launch.OpenBat
Runs the batch file found at <Path>.
- Parameters: 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
- Path : Path to file [string]
OpenURL
Launch.OpenURL
Attempts to open the website with the address <URL> using the default web browser.
- Parameters: 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
- Path : Path to application [string]
- 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
- 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
- MapTable : (Table) [string]
- 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
- MapTable : Name of MapTable to edit [string]
- Key : Name of Key in MapTable [string]
- Value : (Data to store in Key for this MapTable [string]
- 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
- MapTable : Name of MapTable to create [string]
DropTable
Map.DropTable
Drops (deletes) <MapTable>, if it exists.
- Parameters: 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
- 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
- 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
- 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
- Where : sql query where clause used to specify songs to load [string]
- 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
- Filename : <filename> [string]
LoadPlaylist
MM.LoadPlaylist
Loads the playlist with the name <Playlist>.
- Parameters: 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
- 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
- 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
- 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
- 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
- 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
- Count : Number of songs to return (default: 10) [integer]
- 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
- 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
- Rating : 0-100 [integer]
SetVolume
MM.SetVolume
Sets the playback volume of mediamonkey to <0-100> %
- Parameters: 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
- 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
- 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
- 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
- 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
- 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
- ForeColor : RGB Hex code for OSD font color [string]
- BackColor : RGB Hex code for OSD background color [string]
SetFontSize
OSD.SetFontSize
Set the point size for the OSD font
- Parameters: 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
- Message : Text message to display [string]
- Duration : Time to show message in milliseconds [integer]
- 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
- 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
- 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
- Path : Path to payload xml file [string]
- Value : Payload Value to add [string]
- Phrase : Payload Phrase [string]
- 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
- 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
- Path : Path of the payloadXML file to read [string]
- Value : Value to search for [string]
- 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
- Path : Path to payload xml file to read [string]
- 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
- Path : Path of the payloadXML file to read [string]
- Phrase : Phrase to search for [string]
- ByComma : Default: False = match entire phrase string [boolean]
NewFile
PayloadXML.NewFile
Creates a new empty payloadXML file at <Path>
- Parameters: 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
- Delimiter : String to place between matches. You can use {CR} [string]
- 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
- EventName : the Name of the event to Generate [string]
- MaxEvents : The maximum number of events to generate [integer]
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:
then the regex pattern might be:
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
- Pattern : Regular expression pattern to match against [string]
- Delimiter : Multiple captures will be joined using this string during concatenation [string]
- 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
- Pattern : Regular expression pattern to match against [string]
- Delimiter : Multiple captures will be joined using this string during concatenation [string]
- 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
- FindPattern : [string]
- 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
- Old string : <old string> [string]
- 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
- 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
- VarName : The name of the variable to store data in [string]
- Value : The new value to store in the variable [string]
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
- 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
- URL : http://... url to scrape [string]
- Username : If authentication is required [string]
- 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
- URL : URL or Feed to scape [string]
- NodeName : Name of Nodes to return [string]
- 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
- URL : http://... url to scrape [string]
- 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
- 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
- To : recipient's address [string]
- Subject : the subject of the email [string]
- 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
- To : recipient's address [string]
- Subject : the subject of the email [string]
- 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
- 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-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
- 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
- Path : file path to .wav file [string]
- 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
- Volume : 1-100 [integer]
SetStreamVol
Sound.SetStreamVol
Set the volume for the currently playing stream
- Parameters: 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
- 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
- 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
- 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
- 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
- VoiceNum : First voice is 0 [integer]
SetVolume
TTS.SetVolume
Sets the output volume of the TTS voice.
- Parameters: 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
- 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
- TTS text : What should the TTS engine say? [string]
- Path : Where to save the wav file [string]
- 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
- 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
- Groupname : Name of the group to disable [string]
DisableGroup*
VC.DisableGroup*
Same as EnableGroup but disables all groups whose name contains <substring>.
- Parameters: 1
- Substring : Groups containing this substring will be disabled [string]
EnableGroup
VC.EnableGroup
Turns a command group on by specifying its name.
- Parameters: 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
- 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
- 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
- EXPERIMENTAL **
Allows you to override the current culture so that certain actions (such as Date/Time) will use this culture setting instead.
Examples for <Culture> paramer: en-US de-DE pt-BR ja-JP
See http://sharpertutorials.com/list-of-culture-codes/
- EXPERIMENTAL **
- Parameters: 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+
- Delay/Time : * see notes for formats [string]
- EventName : event to fire [string]
- Payload : payload will be attached to the event [string]
- Payload : payload will be attached to the event [string]
- 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
- Option : The Option to set [string]
- 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
- 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
- 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
- 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+
- Event : Name of event to trigger [string]
- Payload1 : optional payload [string]
- Payload2 : optional payload [string]
- 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
- 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
- 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
- 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
- VmcCommand : <string> [string]
GenSongsByArtist
Tools
Misc. helper actions
GcTrim
Tools.GcTrim
Trim a GlobalCache IR code. Detect and remove repeated IR sequences.
- Parameters: 3
- IR Code : Original "untrimmed" learned IR code [string]
- MaxValue : Longest gap before a new line is assumed [integer]
- 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
- IR Code : Original Uncompressed IR code [string]
- Repeat : Times to repeat code when sending. Default =1 [integer]
- Connector : Number of output port to send IR on (1-3) [integer]
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- IP : IP address of XMBC machine to control [string]
- Port : Port # of XMBC machine to control [integer]
- Username : Username of XMBC machine to control [string]
- 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-100 : <1-100> [string]
SoftUnMute
XBMC.SoftUnMute
Restores the XBMC volume to the level it was at before calling SoftMute