I'm trying to understand the advantages (if any) of the prefix/suffix combination as opposed to equivalent dynamic commands.
Dynamic command sections are actually a much later addition(v1.5.8) than prefix/suffix(v1.5), and can do more, in a more flexible manner.
Personally, I consider prefix/suffix obsolete.
The best usage case for prefix/suffix would have to be something where you have two distinct steps, which are spoken and executed in the set order of "A then B", with no "C".
You can combine both methods if you do need "C", <opinion> but if you're going to implement logic to deal with "C", you might as well do the same for "A" and "B" and reap the benefits.
Basically, the moment you're using the "{CMD}" token, you've defeated the purpose of prefix/suffix.</opinion>
I'm trying to come up with an example that fits the requirement, so here's an attempt:
Imagine you have a system in which you need to send produce to locations, where the interface first requires you to select an item, then a destination.
You must:
- Press F3 to initiate a search
- Type in the name of the item
- Press enter to select the item
- Click a button on the screen to select the target location
- Click a "confirm" button in a dialog box to ship the item
With prefix/suffix, you create the following:
send applesPress F3 key and hold for 0,01 seconds and release
Quick Input, 'apples'
Press Enter key and hold for 0,01 seconds and release
send orangesPress F3 key and hold for 0,01 seconds and release
Quick Input, 'oranges'
Press Enter key and hold for 0,01 seconds and release
send pearsPress F3 key and hold for 0,01 seconds and release
Quick Input, 'pears'
Press Enter key and hold for 0,01 seconds and release
to the customerMove mouse cursor to screen coordinates (42, 525)
Click left mouse button
Move mouse cursor to screen coordinates (120, 5)
Click left mouse button
to the storeMove mouse cursor to screen coordinates (94, 548)
Click left mouse button
Move mouse cursor to screen coordinates (120, 5)
Click left mouse button
to the warehouseMove mouse cursor to screen coordinates (64, 585)
Click left mouse button
Move mouse cursor to screen coordinates (120, 5)
Click left mouse button
With dynamic command sections, you create:
send [apples;oranges;pears] to the [customer;store;warehouse]Press F3 key and hold for 0,01 seconds and release
Quick Input, '{CMDSEGMENT:1}'
Press Enter key and hold for 0,01 seconds and release
Begin Text Compare : [{CMD}] Contains 'customer'
Move mouse cursor to screen coordinates (42, 525)
Else If Text Compare : [{CMD}] Contains 'store'
Move mouse cursor to screen coordinates (94, 548)
Else
Move mouse cursor to screen coordinates (64, 585)
End Condition
Click left mouse button
Move mouse cursor to screen coordinates (120, 5)
Click left mouse button
Some possibly(certainly,
we're human after all) biased positives and negatives:
- + Each command only contains the actions it needs, making it easy to read at a glance*
- + You have access to the "{PREFIX}", "{SUFFIX}" and "{COMPOSITEGROUP}" tokens
- + No knowledge of conditions required
- + Different commands can have different confidence levels; E.G. "send oranges to the warehouse" to require 50%, but "send oranges to the customer" 90%
- - Constrained to a very strict "A then B"(See my remark above about "C")
- - Because each command is distinctly separate, many may contain a largely similar set of actions
- - *If you need an overview of what the command does through the entire execution, you need to open the prefix, then the suffix; You can't view or modify both at once
- -When anything needs to be changed that occurs in multiple commands, you need to edit each command individually
- - Many variations create command list clutter