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 animations 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 isnt 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).