Macro Recorder: new timing architecture
by Alex Yumashev ·
Aug 10 2007
Here is another post in the series of "the making of" posts where I speak a bit about what we're doing on the next versions of our products.
Today we have looked at our
Macro Recorder and decided to abandon the idea, that every command/event in a macro must have a "timeout" characteristic.
This was stupid. We admit it. It's a legacy feature, left from the days when Macro Recorder was just a tiny little mouse-recorder/player tool, without all this "if-then-else-goto-repeat" stuff. Actually sometimes I miss those happy days... ;)
Now, this timeout field was supposed to mean "how many milliseconds to wait, before executing the command". It was very confusing for a new user to understand, why does Macro Recorder assign this "timeout" to the recorded commands, instead of simply inserting a DELAY command before it? It also made the text of a saved macro look obscure. That's why we are getting rid of it. No more timeouts. If previously a saved macro would look like this:
0 : Keyboard : D : KeyDown
14: Keyboard : D : KeyUp
From now on a saved macro will look like this:
Keyboard : D : KeyDown
DELAY : 14
Keyboard : D : KeyUp
Looks more human-readable, right?
Also we have found a small error in the exe-compiler, which may lead to incorrect GOTO-command processing. Many thanks to Henrich Eckhardt for reporting!