Thank you Kalle,
I will try this today.
I also tried the mapping function and this works pretty well, might be crude but it works, instead of using dictation i used an all games xml for the phrase reference and the command looks for like phrases in the mapping. If there is an easier way to display the results, please advise, mainly for informational purposes.
Didn't know if there is a way to generate/update the mapping table based on the imported XML. I was also have a VOX friendly speech field in the popper software to reference as well as a payload xml.
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.4.0-->
<command id="291" name="newcommandname" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>Map.Query</cmdType>
<params>
<param>select fromKey from VPTables where fromKey LIKE "%{1}%"</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<if ifBlockDisabled="False" ifNot="False">
<ifType>(A)==(B)</ifType>
<ifParams>{#M}&&1</ifParams>
<then>
<action>
<cmdType>OSD.ShowText</cmdType>
<params>
<param>{Match.1}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>I found one table matching your search, {Match.1}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</then>
<else>
<action>
<cmdType />
<params />
<cmdRepeat>1</cmdRepeat>
</action>
</else>
</if>
<if ifBlockDisabled="False" ifNot="False">
<ifType>(A)==(B)</ifType>
<ifParams>{#M}&&2</ifParams>
<then>
<action>
<cmdType>OSD.ShowText</cmdType>
<params>
<param>{Match.1}{CR}{Match.2}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>I found two tables matching your search, {Match.1} and {Match.2}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</then>
<else />
</if>
<if ifBlockDisabled="False" ifNot="False">
<ifType>(A)==(B)</ifType>
<ifParams>{#M}&&3</ifParams>
<then>
<action>
<cmdType>OSD.ShowText</cmdType>
<params>
<param>{Match.1}{CR}{Match.2}{CR}{Match.3}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>I found three tables matching your search,{Match.1},{Match.2},{Match.3}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</then>
<else />
</if>
<if ifBlockDisabled="False" ifNot="False">
<ifType>(A)==(B)</ifType>
<ifParams>{#M}&&4</ifParams>
<then>
<action>
<cmdType>OSD.ShowText</cmdType>
<params>
<param>{Match.1}{CR}{Match.2}{CR}{Match.3}{CR}{Match.4}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</then>
<else />
</if>
<phrase>Find</phrase>
<payloadFromXML phraseOnly="True" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">\\MKX-PC\Voxcommando\vpPayloads\VPtables.xml</payloadFromXML>
</command>
There's 3 screens on my cabinet, didnt dawn on me to just move the OSD to a non-ratated screen, so that problem is solved
Making some really positive headway, this is making the cabinet, more interactive and easier to naviagte.