Recording user actions
J. Landman Gay
jacque at hyperactivesw.com
Sat Feb 19 23:02:37 CST 2005
On 2/19/05 7:12 AM, Richard Miller wrote:
> I've got a user on one computer watching a video from inside of a Rev
> application I've provided. They can draw objects (mostly circles and
> lines) on top of that video while it is playing back in slow motion. I
> need to record all of this drawing so it can be recreated / replayed at
> a later time on a different computer. Not only does the motion / drawing
> need to be recorded, but also the specific times at which the drawing of
> the different objects occurred. I suppose, in some sense, this is an
> The entire "marking up" session will not exceed 3-5 minutes.
> How do I record this activity AND keep the file size down as small as
> possible (as it needs to be quickly transmitted from the user who did
> the marking up to the user that needs to view it)?
You could try writing a mousemove handler (or a "send in <time>"
handler) that repeatedly checks the current tool, and if it is a drawing
tool then have it store the mouse location every so many milliseconds,
along with the currentTime of the QT movie, the current tool, and
whatever else you need (pen color, linewidth, etc.) If the user changes
drawing tools or creates a new object, add a blank line to the list you
are creating. The list could be stored in a custom property.
Then for playback, you'd create a single polygon object. Read the list
one line at a time and compare the movie time stored there to the
currentTime of the movie that is playing. If the times match, set the
points of the polygon to the set of recorded points that have been
accumulated up to then.
You can use a single polygon object to simulate any number of drawn
objects on screen. An empty line in the object's points list will cause
the pen to "lift" and then set down again, effectively creating a new
visual object. That's why your recorded list of points should include a
blank line each time the original user changes tools or creates a new
Jacqueline Landman Gay | jacque at hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
More information about the use-livecode