VoiceAttack Beta Release - v1.5.7.75

499 views
Skip to first unread message

Gary

unread,
Sep 7, 2015, 2:46:14 AM9/7/15
to VoiceAttack
Ok... I *think* I've ironed out the known top issues with v1.5.7.74.  Also threw in a new token and touched up joystick buttons processing while I was in there.  Thanks again for all your patience and help on identifying these problems.

New beta is here : http://www.voiceattack.com/beta.aspx.  If you are one of those that have Windows installer issues, you can download it as a zip here :

Make sure to back up your profiles that you change regularly in case you need to roll back (VA is backward-compatible and not forward-compatible... lol).  To roll back, you can download the previous beta here : http://www.voiceattack.com/filesend.aspx?id=VoiceAttackInstaller__Beta_15773.msi.



The big thing was the pause duration being ignored (egad... sorry, guys!).  Glad that was an easy fix (stupid programmer mistake)... started to panic since a LOT of changes were made, but none that I thought would affect execution speed by as much as what you guys were seeing.  Please let me know if we're back on track ;)  

Second biggest thing was the installer.  I think this works now without having to manually uninstall and then reinstall.

Fixed up the command validation gimping up on dynamic commands (validation is still a work in progress.  You guys will certainly find the holes faster than I can).

Fixed up the {CMD_AFTER} parse issue.

Updated notes below...  hope you are having a good evening.

Gary


v1.5.7.75

-  Improvements

   -  Added new token, '{TXTTITLE:variableName}'.
      Token is replaced with text variable title
      cased (VoiceAttack supported locales only).
      Example: 'war and peace' becomes 'War And 
      Peace'.  Yes... I know that's not *proper* title 
      case (at least in English), but it's as close 
      as the framework will allow without linguistic 
      rules.  Sorry!
      
   -  Commands executed by multiple joystick buttons 
      will no longer execute single-button commands.
      That is, as long as the first button down does
      not have a command associated with it.
      
      Example :
      A down + B down executes a command
      A down only executes a command
      B down only executes a command
      
      User presses A down and then B down.
      
      A down only will execute, since it doesn't know 
      that B down only is coming.  This is unavoidable.
      
      A down + B down executes.
      B down only does not execute.

-  Bug Fixes

   -   Fixed pause timing issue introduced in 
       1.5.7.74.
   
   -   Fixed command validation issues with dynamic
       commands introduced in 1.5.7.74.       
       
   -   Fixed {CMD_AFTER} parsing issue.


v1.5.7.74

-  Improvements

   -   Updated image buttons with accessible
       names for screen readers (so they won't
       be indicated as just, 'button').
       
   -   Removed 'Stop repeating if window focus lost'
       checkbox and replaced it with, 'Stop command 
       if target window focus is lost' checkbox which
       is available whether you are looping or not.
       
       What this does is stop the command if you
       lose focus of the window that had the focus
       when the command was executed.  The underlying
       value that is used is carried over to the new
       checkbox making it backward-compatible with
       what was in place before.
       
       This feature now also has an option, 'Resume
       command if focus regained'.  This attempts to
       resume the command if you click back into the
       originally focused window ;)
       
   -   Added some dynamic ability to commands.
       What this does is allow for quick, dynamic 
       commands that can contain potentially optional
       parts.  To indicate a dynamic portion of your
       spoken command, simply enclose the section in
       square brackets : [  ].  Each dynamic element
       within the brackets must be separated with a 
       semicolon.
       
       Here is an example : 
       [Greetings;Hello]computer
       
       To execute the command, you can now say :
       
       Greetings computer
       Hello computer
       
       
       Note that multipart commands are also still 
       separated with a semicolon (as demonstrated by
       adding, 'Hi' to the end) :
       
       [Greetings;Hello]computer;Hi
       
       With this example, to execute the command,
       you can say : 

       Greetings computer
       Hello computer
       Hi
       
       The dynamic sections don't have to just be at
       the beginning.  They can be anywhere in the
       command.  Also, as a side-effect, if you put
       a semicolon on at the end of the selections,
       it makes the section optional :

       [Greetings;Hello]computer[how are you;]
       
       You can say the following to execute the 
       command :
       
       Greetings computer how are you
       Hello computer how are you
       Greetings computer
       Hello computer
       
       Note that there is a semicolon after 'how are you'
       to indicate that the entire section is optional.
       
       Something to consider when using this feature is
       that you can create a lot of permutations from
       very few words.  Use with care :)
       
       Dynamic sections also have the ability to indicate
       a numeric range.  This is indicated by putting in
       two numbers separated by an ellipsis (..).
       
       eject car [1..100] will allow you to say, 
       'eject car 1',
       'eject car 2',
       'eject car 3', etc.
       
       Using this in conjunction with the new 
       {TXTNUM:variableName} token (see below), 
       you can come up with some intersting solutions.
       
   
   -   Spoken command box now expands horizontally 
       with the command window.
           
   -   I put back the ability to quickly add text to
       be typed out serially.  The new action is called, 
       'Free Text Type'.  This was taken out a long time 
       back (it was called, 'Quick Input') in favor of 
       the recorder feature, since more and more folks 
       with non-English keyboards were using VoiceAttack.  
       'Free Text Type' should allow for the currently-
       supported list of locales to use the feature.
       
       The reason I put it back is because a lot of
       folks find the recorder cumbersome for simple
       stuff.  Also, there are some games that do not
       allow the use of the clipboard paste (which is
       what I would recommend for fast text diplay).
       
       The feature simply allows you to type in text
       in the box and have it typed back.  For the
       supported locales, it also should be able to
       do the right-alt/deadkey stuff.  You will be
       able to specify the timing of the key presses
       (as always, DirectX games have a polling mechanism
       and are not event-driven when it comes to keyboard
       activity).  You will be able to specify either
       DirectX or Standard input.  Note that the
       text box also accepts tokens that will be
       replaced out at runtime.
       
       NOTE : This is a first pass.  There will be
       tokens available later for {ENTER}, 
       {SHIFTDOWN}. {SHIFTUP}, etc.
   
   -   Added option, 'Single TTS Instance' to help
       with certain TTS packages (Cereproc) that have 
       an instance cap.  Select this option if
       you are using TTS and it keeps cutting out.
       
   -   Moved command screen right-click context menu
       'New Action' contents up one level (there
       is no longer a, 'New Action' menu item).
       
   -   Reordered, 'Other' context menus into more
       logical groups.
   
   -   Added, 'Set Boolean Value' command action.
       Boolean values can be set to true, false, toggle 
       or not set.  When toggling, a false value becomes
       true, a true value becomes false and a not set
       value remains not set.  I added this to simplify
       the use and readability of macros (using 0 and 1
       for true/false turns a lot of folks off).
       
       *******Plugin update will come later.
       
   -   Added, 'Set Integer Value' command action.  This
       uses larger integers so you can have more space to
       work.  This differs slightly from the small integer
       (previoulsy called, 'conditions'), as you have the
       ability to compute a value.  You can add/subtract/
       multiply/divide (integer division) / modulus 
       (remainder) against an explicit value or against
       a variable or text token.  If the text token is not
       able to be converted to an int, the computed result
       will be, 'Not Set'.  When computing a value, there
       is also an option to initialize the variables to zero
       if they are, 'Not Set'.  This will save an initialization
       step (might be handy if you are incrementing, for 
       example).
       
       *******Plugin update will come later.
       
   -   Added new tokens {INT:variable name} and 
       {INTFORMAT:variable name} to provide a way to
       access the new integer varibles through text
       features.
   
   -   Updated text comparison in 'Begin conditional 
       block' to allow either a variable name or a text
       token as the source of comparison.  The previous
       function of the token being used to get the
       variable name has been replaced by this.
   
   -   Updated 'Begin Condition' screen to include
       boolean comparisons.  This required the layout
       of the screen to change from radio button selection
       to tab selection.
       
   -   IMPORTANT: To avoid confusion going forward, 
       Conditions are now going to be called, 
       'Small Integer'.  The, '{COND}' token is still 
       available for backward-compatibility.  New tokens 
       '{SMALL:variable name}' and 
       '{SMALLFORMAT:variable name}' have been added 
        (and refer to the same variables).
       
   -   Added Disable/Enable action to right-click menu
       of command action list.  This will allow you
       to selectively disable items.  There are no
       restrictions on this yet, and I have not tested
       how this will affect everything (like jumps,
       condition statements, etc).  I found it handy
       for testing and thought you might, too ;)
       
   -   Added, 'Set Decimal Value' command action.  This is
       basically all the functionality of Integers above,
       with some additional calculation methods thrown in
       (just kept adding whatever methods I could find...
       they were a no-brainer to add, so, I might as well
       add them).  You can also round the set decimal 
       value to up to 10 places.
       
       *******Plugin update will come later. 
           
   -   Added new token {DEC:variable name} to provide 
       access the new decimal varibles through text
       features.
       
   -   Added, 'clear favorites' menu item to command
       screen right-click menus.
       
   -   Added, 'Clear Saved Values from Profile' action.
       This will allow you to selectively remove all 
       values of selected data types that are saved to 
       the profile.  This does not clear resident values
       (just the saved ones).
       
   -   Some time a while back (v1.5.7.70), I added three 
       tokens and did not document them :  {CAPSLOCKON}, 
       {NUMLOCKON}, {SCROLLLOCKON}.  These will have a 
       value of "1" if the lock is on and a value of "0" 
       if the lock is off.
       
   -   Added new token {TXTNUM:variableName}.  This will
       attempt to remove all characters except numeric
       (0-9, ., -).  So, text that looks like, 'turn -180.2'
       will be replaced with, '-180.2'.  Note that the value
       is still text (from a token), but can be converted 
       if needed.
       
   -   Added new token {TXTALPHA:variableName}.  This will
       attempt to remove all numeric characters from the text
       variable.
       
   -   Added four new mouse position tokens : {MOUSESCREENX},
       {MOUSESCREENY}, {MOUSEWINDOWX}, and {MOUSEWINDOWY}.
       This is a text value representation of the position
       of the mouse, either in relation to the screen or the
       active window.
       
   -   Added new action, 'Stop Sounds' which will stop all
       currently playing sound files.
       
   -   Added new action, 'Stop Text-To-Speech' which will 
       stop all text to speech that is, 'speaking'.
       
   -   Added 'm4a' and 'aac' as acceptable sound file types.
   
   -   Added, 'Trim', 'Upper Case', 'Lower Case' and 'Replace'
       as options to Set a Text Variable action.
       
   -   Added, 'Execute' on right-click menu of profile list...
       Might help out a little when testing.  Note that it
       will show the entire command string for multipart
       
   -   Updated documentation to explain tokens a little
       better.

-  Bug Fixes
   -   Updated DirectX mapping for some keys to be the proper
       mapping o_O.  
       
   -   Fixed some DirectX extended key issues.     
   
   -   Fixed joystick disable not working in some cases.
       Well... any case other than the global listening...lol.
   
   -   Fixed previous beta issue of dictation events not firing
       when default speech engine is not selected.  Doh!
Message has been deleted

Bunny

unread,
Sep 7, 2015, 7:52:31 AM9/7/15
to VoiceAttack
The bracket error I mentioned in the last update seems to be gone.

Rhaedas

unread,
Sep 7, 2015, 10:37:52 AM9/7/15
to VoiceAttack
Thanks Gary. First thing I tried is an install over the top of the old version without uninstalling, and this time everything ran properly, no errors. As soon as I get ED updated with their beta upgrade, I'll try her out and let you know if I run into any more issues. I have confidence in you. :)

Rhaedas

unread,
Sep 7, 2015, 11:08:16 AM9/7/15
to VoiceAttack
I tried this version with my power down/power up sequence, which goes through all the systems and shuts off just about everything, skipping a few that are either off or need to stay on. Worked perfectly, so if it does there fine, all others should be good now.

Jorge S

unread,
Sep 8, 2015, 1:06:28 AM9/8/15
to VoiceAttack
Dynamic commands seem to work fine now, tyvm for the update, such an useful feature cut my command list almost by half :)

Tinman_au

unread,
Sep 8, 2015, 3:24:36 AM9/8/15
to VoiceAttack
Confimation on the timing/pause fix here.

wiesel

unread,
Sep 9, 2015, 1:36:27 PM9/9/15
to VoiceAttack
The support for other Keyboard Display Layouts is much better now. Really nice!! (I use the German one)
Message has been deleted

John Hall

unread,
Sep 12, 2015, 12:55:30 PM9/12/15
to VoiceAttack


The only issues I'm still having is an inability to launch with Windows 10 at startup, and some odd timing issues (i.e. most of the time, my ((Launch)) works fine, but sometimes it doesn't select the Launch button - same on ((Docking)).  Not sure if I need to modify the length of the keypress, pause between commands, or what...overall pause issue does appear fixed though)

Gary

unread,
Sep 12, 2015, 1:11:10 PM9/12/15
to VoiceAttack
The pause issue has been resolved in the latest beta.

Gary


On Saturday, September 12, 2015 at 11:55:30 AM UTC-5, John Hall wrote:

John Hall

unread,
Sep 12, 2015, 1:57:42 PM9/12/15
to VoiceAttack
I don't think it's the pause issue introduced in .74 - that's fixed.  It's more...random.  And it is present in the release version too.

Rhaedas

unread,
Sep 12, 2015, 5:07:38 PM9/12/15
to VoiceAttack
It sounds from your wording as if you don't have pauses between some or all of your key press commands. If so, that's likely the problem. VA is pretty fast, and often times there needs to be a break between keys, otherwise it's almost as if you're pressing them at once. I use a pause between .05 and .1 between all of mine, depending on how many presses there are (so it doesn't add up to be a long sequence) and mainly, how the game takes it. Sometimes you might need more, if there's a transition or animation involved to get to a menu or something. But even a simple cycling down a menu, you'll need to break each press up, or a few will get missed often.

If in doubt still, you can select the bit of commands that you think is the issue and post them here for critiquing.

John Hall

unread,
Sep 13, 2015, 12:48:27 PM9/13/15
to VoiceAttack
Thanks - I'll check that.  I also read elsewhere on the forum that the duration of the keypress should be about .1 as well - going to verify that and will let you know how it turns out.

John Hall

unread,
Sep 13, 2015, 1:34:51 PM9/13/15
to VoiceAttack
Still preliminary, but looks highly promising - as I have a ton of commands with pauses and not all of the pauses are equal, I can't do a global replace with a .1 pause time, but for the ((UI-*)) commands - up, down, left, right, okay, accept, cancel, previous and next - it appears that the combination of a .1 sec keypress and a .1 sec pause afterwards is working properly.  And since I use those inside all other commands that move the cursor around and select, so far all of THOSE commands are working properly now.  No more "partial command execution" - WOOT!

Gary and Rhaedas, thank you so much for your advice - you rock!

Yasil Martinez

unread,
Sep 24, 2015, 5:47:14 PM9/24/15
to VoiceAttack
Really enjoying voiceattack keep up the great work 

Stef LIB

unread,
Sep 28, 2015, 4:36:59 PM9/28/15
to VoiceAttack
hello, i ' m using win 10
In explorer, combination of alt+shift+N doesn't work on the latest beta version. It work fine on the release version, I've just tried.
Any combination with Alt or ctrl doesn't work...ctrl+C / ctrl+V  work properly on other programs but not in explorer.
Anyone has the same trouble?

Another trouble too: i'm using audacity and when I want to use VA to make shortcuts as (Alt, F, down arrow, down arrow, enter) the shortcut break on the drop-down menu.
It work fine with the release version.

Gary

unread,
Sep 29, 2015, 7:59:33 PM9/29/15
to VoiceAttack
Hi, Stef.  I'm using Windows 10 from an upgrade installation (from Windows 8) and I am not able to recreate your problem.  Make sure that you are running VoiceAttack as an administrator, as Windows will block input messages from being sent from an application in a lower security context than the target.  Also, make sure you are allowing for enough time between key down and key up.

Hope that helps!

Gary
Reply all
Reply to author
Forward
0 new messages