juan.casares@cmu.edu
This benchmark is a simple movie editor, where the users load animations. They are represented by the series of frames that compose them. Users edit an animation by selecting, moving, deleting, inserting, copying, cutting and pasting frames. Finally they play and save the resulting video.
This editor resembles more the slide sorter view of PowerPoint than other existing video editing tools. As a benchmark, it will evaluate the support that different user GUI toolkits offer for direct manipulation, editing and multimedia. It will also test the use of very large number of items and the dynamic creation of objects, and the support for the MPEG video format. The screenshot in Figure 1 shows a possible implementation of this benchmark.
The system uses
a multiple document interface, allowing users to edit at the same time several
videos. The document windows will show the frames in rows, with a line separating
them. If not all of the frames fit in the window, scrollbars
appear.
The following actions
will be supported (not necessarily with the same name or
organization):
File operations |
|
Open animation: |
Opens a dialog box allowing the user to specify
an MPEG file; then it displays the animation’s frames in a new
window. |
Save animation: |
If the currently selected window is associated
with an MPEG file it saves the corresponding animation. Else it opens a Save
As dialog. |
Save as: |
Opens a dialog box allowing the user to specify
a file name to save the current window in. |
Save all: |
Saves all windows. |
Close: |
Closes the current window, prompting the user
to save if there was any modification done to the video. |
Close all: |
Closes all windows. |
Save frame: |
Opens a dialog box allowing the user to specify
a file name to save the current frame as an image file. |
Insert frame: |
Opens a dialog box allowing the user to specify
an image file; then it inserts a new frame based in the contents of the
file. |
Exit / quit |
Closes all the windows and then exits the application.
T |
|
|
Selection operations |
|
Selected frames are represented with a thick
border. The user can point to
frames by clicking, or by using the arrow keys and moving a caret. Clicking
also moves the caret. The caret may be between frames. |
|
Select frame: |
Unselects the previous selection and selects the
current frame. |
Select frames: |
Dragging the mouse while selecting allows multiple
frame selection; also clicking outside of a frame dragging creates a bounding
box. |
Selection Modifiers |
|
Extend selection: |
Pressing
shift (or other key) while selecting
a frame extends the selection to the selected frame, including all the frames
in between. |
Toggle selection: |
Pressing
control (or other key) while selecting
inverts the selected status of the frames. |
|
|
Edit operations |
|
Move: |
When dragging a selection the caret appears between
the frames the pointer is on; if the user drops the selection there, all
the selected frames are moved to the new position. Frames may be moved from
one window to another. |
|
|
Move and copy: |
Pressing
control (or other key) when moving
a selection actually makes a copy of the selected frames. |
|
|
Cut: |
Moves the selected frames to the
clipboard. |
Copy: |
Puts a copy of the selected frames into the
clipboard. |
Paste: |
Copies the frames in the clipboard into the caret
or replacing the selected frame. |
Delete: |
Deletes the selected frames. |
Undo: |
Undoes the last action that isn’t already
undone. |
Redo: |
Redoes the last action that was undone if no new
action has taken place. |
|
|
Grouping Operations |
|
Even a short animation may contain hundreds or
thousands of frames. Grouping frames may be a way to handle scalability.
When loading a large animation the system automatically groups sets of frames
by key frames or seconds. This feature would also allow grouping full scenes
and the like, making the edition more natural. Grouped frames would look
like a small stack with only the first frame visible, and would respond to
actions like copy, move and delete as a whole. Groups may contain recursively
other groups. |
|
Group: |
Groups the selected frames. Each sequence of
contiguous selection becomes one new group. |
Ungroup: |
Any group in the selection is
ungrouped. |
Group every…: |
Groups all the frames into groups with a size
(in seconds or number of frames) specified by the user. |
|
|
Other operations |
|
Play: |
The contents of one window may be played as a
continuous animation in a pop up window. The caret/selection follows the
animation (the frame being displayed). This may not be in real
time. |
Zoom: |
The frames may be scaled to a different
size. |
Windows: |
The document windows may be minimized, arranged
and tiled. |
Figure
1 Artist's rendition of the
benchmark, showing one animation window (with its frames displayed in two
rows and no frame
groups).