Hello, folks. Been a while since a full release. I think the dust has settled enough to release what I've been sitting on for like two months now. Below is the release notes from the site. You can access the new version here :
Also, for those of you with gimped up Windows installers, a zipped directory is available here :
v1.5.7
- Improvements
- First pass at joystick integration in VoiceAttack.
You can now assign the buttons on up to two devices to
control features such as command execution and start/
stop listening. Each device can have up 128 buttons, plus
up to four POV (hat) controllers. VoiceAttack will treat
each pov as a set of switches that can have 1, 2, 4 or 8
positions (they will display as POV 1-8, and act just like
pressing buttons). For the 2 direction switches, you
can choose either up/down or left/right. There is also
two-button modifier support which can be cross-stick (eg,
press button 1 on joystick 1 plus button 5 on joystick 2
will execute a macro).
You will find this feature in pretty much every place that
you'll find keyboard shortcuts (including profile override).
To turn on joystick support, just go into the options screen
and click on the, 'joystick options' button. Full documentation
is included down in the .pdf if it's not obvious as to
what is going on. You'll notice in the command screens you
have yet another checkbox labeled, 'when i press joystick
button'. This is where you can assign your buttons to your
commands. There are two new, 'other' actions: enable/disable
joysticks.
I didn't implement a, 'stop all commands' as global
feature, since there is already a command action that
does the same thing. If this comes up as a need later,
we can work it out then :)
- Added, 'Wait until tts is finished before continuing'.
This will hold up the executing command until the
speech finishes (Useful for prompts).
- Added, 'TTS can complete other tts' feature to
complete any other executing TTS. Note that any TTS
marked, 'wait til finished' will be completed and
execution will resume in that command. Use with
caution.
Adding the, 'wait' feature has added the need to have
multiple instances of TTS (due to threading). This,
coupled with the ability to stop all processes (and
also stop any executing tts) has now made it to where multiple
TTS instances can run at the same time. This may
cause some to have to redo their profiles somewhat, but the
requests for having a, 'wait until finished' come up
a LOT. The, 'interrupt' feature was added in case that gets
annoying.
- Added, 'Wait until sound is finished before continuing'.
This will hold up the executing command until the
sound file finishes playing (Useful for prompts).
- Added, 'This sound can complete other currently-playing
sounds' feature to complete any other playing sound file
Note that any sound that is playing and is marked, 'wait
til finished' will be completed and execution will resume
in that command. Use with caution.
Adding the, 'wait' feature has added the need to have
multiple instances of sound players loaded (due to threading).
This, coupled with the ability to stop all processes (and
also stop any executing sounds) has now made it to where
multiple sound players can run at the same time. This may
cause some to have to redo their profiles somewhat, but the
requests for having a, 'wait until finished' come up a LOT.
The, 'interrupt' feature was added in case that gets
annoying.
*******Isn't copy and paste great? :)
NOTE: If you are using, 'Force Legacy Audio' or have removed
your Windows Media Player components, these features will not
be available to you (a warning will be given in the log to
indicate this when encountered).
- Updated command edit to allow for multiple
actions to be selected and manipulated at once.
Ctrl + A selects all, holding down shift allows
for multiple items to be selected, holding down
ctrl will allow for you to pick non-contiguous
items, etc (just like a normal list box... lol).
You can move groups of items (even non-contiguous
items) up and down, delete, copy and paste
(within the same command or even within another
command in another profile).
- Added, 'copy all as text' to command list. This
should help showing command actions be a little easier
than typing or exporting profiles.
- Added 'Copy Selected as Text' for sharing
just portions of your commands.
- Added option to stop a repeating macro from
executing if the active window loses focus.
- Added X,Y input boxes for mouse, 'move to'.
- Added support for .ogg. You will need to make
sure you have a codec for it in Windows Media
Player in order to actually hear the sound.
(The codec can be found here :
work in non-legacy mode (just like .mp3 and
.wma).
- Added new token {TXTURL:textValueName}. This works
just like the {TXT:textValueName} token, except what
you get back is the value URL encoded. Also, if the
value is not set, you will receive a blank value instead
of a url encoded, 'not+set' :)
- Added the ability to execute a command on profile
selection. Whenever a profile is chosen (even on
VoiceAttack startup) and this option is set, the
selected command will be executed. Some will want
to use this to play a sound (or tts). Some may
want to use this to initialize stuff. A log message
is written to remind you that this is going on :)
- Added an unrecognized command, 'catch all'
command that can be selected from the profile
overrides screen. If a command is selected and an
unrecognized phrase is encountered, this command
will be executed. The {CMD} token will be overridden
with the unrecongized value (if you want to do anything
with that value... say it back to you with TTS, pass
to a plugin, whatever). Outside of that, it works
just like any other command (including the confidence
level). Use it to play a sound (which is what I'm sure
it will be used for the most... lol).
- Added advanced feature, 'Execute Another Command by Name'.
In the, 'Execute Another Command' action screen, you can
now either pick another command from a dropdown list or
you can enter the name of a command to execute in the
provided text box. The text box can contain replacement
tokens for how ever you want to use it. This is designated
as an, 'advanced' feature since there is limited loop
checking performed. If a full command name exists, a check
will be made. If the command can not be found (with or
without tokens) there is no loop check. This can easily
freeze and/or crash VoiceAttack. You've been warned :)
Also, if you are trying to execute a multipart command by
name, you can pick any one of the commands and it will
be used (for instance, if you have a multipart command
labeled, 'test;test all;test something', you can just
put, 'test' in the box.
- Confidence levels are now exposed to the user for
selective execution of commands. When the speech
engine recognizes a phrase, a confidence score is
given based on how accurate the speech engine thinks
it was at recognizing. You can now indicate that a
minimum score must be met in order to execute commands.
This value can be set in the options page as a 'global'
minimum, at the profile level as an overide and default
for all commands in that profile, or, at the command
itself (which overrides everything). If a phrase is
recognized but is rejected due to being below this
threshold, indication will be shown in the log.
If the confidence level is used in composite commands
(prefixes/suffixes), if either of the parts is using
the confidence level, the derived command will use
that level. If *both* parts are using the confidence
level, the maximum of the two will be used.
- Included support for mouse back and forward buttons
in the mouse action screen. You can now click,
double-click, hold down and release the mouse forward
and back buttons just like you could the other three.
- Added new token {TXTRANDOM:value} to allow
for the simple randomization of text within a token.
For example, TTS could be set up to say,
'I love {TXTRANDOM:food;animals;jewelry}' and the result
would be, 'I love animals' or, 'I love food' or, 'I love
jewelry'. Note that the, 'value' portion can be
another token, however, if you want to randomize
randomized tokens, I might suggest using text values
to store each part (may or may not work like you want
it to otherwise... winding down an endless permutation
trail for testing at this point).
- Bug Fixes
- Removed code to release modifier keys on kill
command to avoid any unpleasantness. I guess
this isn't technically a bug, but it's definitely
not an, 'improvement'.
- Fixed bug where -listeningoff command line parameter
would prevent startup command from executing.
- Fixed an issue where the key passthrough was not
staying set for some hotkeys.