Author Topic: CMDSEGMENT not working in composite command (1.7.3)  (Read 3605 times)

errspace

  • Guest
CMDSEGMENT not working in composite command (1.7.3)
« on: March 23, 2019, 09:36:15 AM »
I have a composite command, both prefix and suffix are dynamic commands. They perform as expected when separate as full commands, but when in composite form, CMDSEGMENT for both prefix and suffix always ouputs 'not set' regardless of the 'num' value.

I edited the sub-commands to output their CMDSEGMENTs for as many segments as they have, and they all output as 'not set'.

I thought that perhaps it being a compound command caused the 'num' value to operate over the whole command rather than individual to the two sub-commands. So if the prefix contained 4 CMDSEGMENTs and the suffix contained 2, to access CMDSEGMENT 2 in the suffix I would actually have to use CMDSEGMENT:5 to get it, so I tested outputting all 5 CMDSEGMENTs for the suffix, and got 'not set' for all of them.

This issue was acknowledged here : https://forum.voiceattack.com/smf/index.php?topic=882.msg4642#msg4642

From the thread it appeared to have been solved but I am still experiencing the issue.

Gary

  • Administrator
  • Hero Member
  • *****
  • Posts: 2832
Re: CMDSEGMENT not working in composite command (1.7.3)
« Reply #1 on: March 23, 2019, 10:50:05 AM »
This still looks like it remains an issue or has become an issue again due to a change.  I will investigate this but I do not have an ETA as VA is gearing up for a full release soon.   Sorry about that!

Gary

  • Administrator
  • Hero Member
  • *****
  • Posts: 2832
Re: CMDSEGMENT not working in composite command (1.7.3)
« Reply #2 on: March 23, 2019, 12:09:57 PM »
Actually - I might have something for you.  I think I see what happened in there.

Gary

  • Administrator
  • Hero Member
  • *****
  • Posts: 2832
Re: CMDSEGMENT not working in composite command (1.7.3)
« Reply #3 on: March 23, 2019, 02:44:33 PM »
I put a version of VoiceAttack out in the, 'unofficial' bin if you want to try it out.  As it stands, that version will become 1.7.4 if nothing else comes up.  You can download it from here:  http://voiceattack.com/unofficial

Just replace your current VoiceAttack.exe with that version.  Let me know how it goes if you decide to go that route.

Pfeil

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4790
  • RTFM
Re: CMDSEGMENT not working in composite command (1.7.3)
« Reply #4 on: March 23, 2019, 08:21:17 PM »
This regression goes back a ways: It was fixed in v1.6.1.34, broken again in v1.6.4.9

Now fixed in v1.7.3.11

Gary

  • Administrator
  • Hero Member
  • *****
  • Posts: 2832
Re: CMDSEGMENT not working in composite command (1.7.3)
« Reply #5 on: March 23, 2019, 08:34:45 PM »
You are an amazing person, you know that, right?

errspace

  • Guest
Re: CMDSEGMENT not working in composite command (1.7.3)
« Reply #6 on: March 24, 2019, 05:40:08 AM »
A-mazing. Thank you both very much!

Mode1961

  • Newbie
  • *
  • Posts: 14
Re: CMDSEGMENT not working in composite command (1.7.3)
« Reply #7 on: March 27, 2019, 12:10:25 PM »
I put a version of VoiceAttack out in the, 'unofficial' bin if you want to try it out.  As it stands, that version will become 1.7.4 if nothing else comes up.  You can download it from here:  http://voiceattack.com/unofficial

Just replace your current VoiceAttack.exe with that version.  Let me know how it goes if you decide to go that route.

Just tried that , didn't work for me, When I make it a compound command, it won't even recognize the command

Here is what I am doing

I have a Prefix command called Datalink

I then add the following as a Suffix command

[300..399]point[0..9]

If I just make that last command as a full command it works perfectly

When I add it as a suffix of Datalink, it says 3:06:44 PM - Unrecognized : 'datalink 300.9'

Gary

  • Administrator
  • Hero Member
  • *****
  • Posts: 2832
Re: CMDSEGMENT not working in composite command (1.7.3)
« Reply #8 on: March 27, 2019, 01:20:39 PM »
Sorry - The, 'unofficial' version has since been replaced with a version based on v1.7.5.  This version has an option that you'll want to set.  Go to your Options screen, then go to the System/Advanced tab and select the option, ''Allow command segment info for composite commands'.  What happened is that in adding the processing of command segments to this area, some existing profiles out there were hamstrung to the point of being unusable.  It probably wasn't noticeable to you, but for profiles where there are tens of thousands of permutations each with a bunch of dynamic segments it got a little bit hairy.  Again - apologies for not updating this thread.  Note that v1.7.5 is the full released version that just went out a few days ago.

In regards to the item not being recognized, this looks to be a speech engine anomaly.  Try changing your command to [300..399].[0..9] and see if that works.

Mode1961

  • Newbie
  • *
  • Posts: 14
Re: CMDSEGMENT not working in composite command (1.7.3)
« Reply #9 on: March 27, 2019, 01:40:59 PM »
Just tried it, still doesn't set the values when in composite command, says "Not Set"

4:40:22 PM - Integer token could not be converted : {CMDSEGMENT:0}
4:40:22 PM - Integer token could not be converted : {CMDSEGMENT:2}
4:40:22 PM - Recognized : 'datalink 327 . 6' (derived command)



Pfeil

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4790
  • RTFM
Re: CMDSEGMENT not working in composite command (1.7.3)
« Reply #10 on: March 27, 2019, 01:46:00 PM »
Did you check the "Allow command segment info for composite commands" option on the "System / Advanced" tab of the option window in v1.7.5?


You'll also want to use "{CMDSEGMENT:1}" and "{CMDSEGMENT:3}" to get the numeric values; 0 would be "datalink", 2 would be "."

Mode1961

  • Newbie
  • *
  • Posts: 14
Re: CMDSEGMENT not working in composite command (1.7.3)
« Reply #11 on: March 27, 2019, 01:53:00 PM »
Did you check the "Allow command segment info for composite commands" option on the "System / Advanced" tab of the option window in v1.7.5?

I got it working, I was doing something wrong, I WAS reading the wrong cmdsegment order

When I say Datalink 329.4 I thought the 329 would be segment 0, it is segment 1, the period was segment 2, and the 4 was segment 3

SO it appears to be working just fine now, thanks for the assistance.