remember, whatever I do, it needs to work for every type of commands.
in some cases we can have a command like
play (artist,band,group,composer) (payload songs.xml)
or
go (payload directions.xml) (payload range for distance)
some users might do something crazy like
(play,queue,start,listen to,begin playback of) (song,track,title,ditty,recording) (payload songs.xml) using program (payload list) on monitor (payload devices.xml) and set volume to (payload range for volume)
it is possible, and there is no limit, they could put even more if they want.
So I need to figure out how this will be displayed, and what I will put in the place of (payload xml values)
I guess, the simplest solution to start with is to replace any kind of payload with a generic symbol like this <...>
Later I could replace payload range with <#..#> and payload list with <ABC,DEF>
Also, in the case of simple phrases, the user might decide to use a very long list of words separated by commas (play,queue,start,listen to,begin playback of). I need to be able to deal with this. Do I show them all? If we put a command on a single line, the command could end up being very very long... Our window will need to scroll horizontally for long commands, and vertically to support many commands in a group.
The challenge is to make something that will work for everyone, no matter how they set up their voicecommands. I have to think about all these things before I start. If I make something that only works for a specific situation, and then I need to "fix" it to work with other situations, it becomes far too much work.