PATENT DOCUMENT

Publication Number: US-8418082-B2
Application Number: US-43461709-A
Country: US
Kind Code: B2

Title: Cross-track edit indicators and edit selections

Abstract:
A method of defining a media editing application for creating media presentations. The method provides a composite display area for displaying a set of clip shapes that represent media clips. It also provides a consolidated editing tool for (1) identifying clip-shape edit points that are near a cursor&#39;s location as the cursor moves from track to track in the composite display area and (2) collectively selecting the identified clip-shape edit points along multiple track in order to receive an edit operation to collectively perform on said the clip-shapes of the identified edit points.

Claims:
What is claimed is: 
     
       1. A method of defining a media editing application for creating composite presentations, the method comprising:
 providing a composite display area comprising a plurality of tracks to display a plurality of clip shapes representing media clips in the composite presentation; and 
 providing a consolidated editing tool for:
 identifying edit locations of different zones of different clip shapes on multiple different tracks that are at or near a location indicator as the location indicator moves from track to track in the composite display area; 
 displaying, for each of the identified edit locations, a graphical indication of an editing operation to perform on the different clip shapes; and 
 collectively selecting the identified edit locations of the different clip shapes along the different tracks in order to collectively perform the editing operation on the different clip shapes at the identified edit locations. 
 
 
     
     
       2. The method of  claim 1 , wherein identifying edit locations of different zones of the different clip shapes comprises:
 detecting, in the composite display area, the location of the location indicator with respect to a particular clip shape; and 
 associating the detected location with an edit location of the particular clip shape. 
 
     
     
       3. The method of  claim 1 , wherein identifying edit locations of different zones of the different clip shapes comprises:
 detecting that the location indicator has traversed back to a first track with a first clip shape after having previously traversed near the first clip shape on the first track to a second clip shape on a second track and after edit locations for the first and second clip shapes have been selected; and 
 removing the selected edit location for the second clip shape after said detecting. 
 
     
     
       4. The method of  claim 3 , wherein identifying edit locations of different zones of the different clip shapes further comprises:
 removing the edit location that was selected for the first clip shape in the previous traversal of the location indicator near the first clip shape. 
 
     
     
       5. The method of  claim 4 , wherein identifying edit locations of different zones of the different clip shapes further comprises identifying a new edit location for the first clip shape. 
     
     
       6. The method of  claim 4 , wherein identifying edit locations of different zones of the different clip shapes further comprises identifying an edit location for a third clip shape on the first track, said edit location for the third clip shape near the location of the location indicator when the location indicator traverses back to the first track from the second track. 
     
     
       7. A non-transitory computer readable medium storing a media editing application that when executed by at least one processing unit creates media presentations, the media editing application comprising sets of instructions for:
 displaying, in a composite display area, at least first and second clip shapes that represent first and second media clips in the media presentation, wherein each clip shape spans at least a portion of the composite display area in a horizontal direction, and the first clip shape is displayed above or below the second clip shape so that at least parts of the first and second clip shapes span a same portion of the composite display area; 
 identifying edit locations of different zones of the first and second clip shapes that are at or near a location indicator as the location indicator moves substantially in a vertical direction in the composite display area; 
 displaying, for each of the identified edit locations, a graphical indication of an editing operation to perform on the first and second clip shapes; and 
 collectively selecting the identified edit locations of the first and second clip shapes in order to collectively perform the editing operation on the first and second clip shapes at the identified edit locations. 
 
     
     
       8. The non-transitory computer readable medium of  claim 7 , wherein the set of instructions for identifying edit locations of different zones of clip shapes comprises sets of instructions for:
 detecting, in the composite display area, the location of the location indicator with respect to a particular clip shape; and 
 associating the detected location with an edit location of the particular clip shape. 
 
     
     
       9. The non-transitory computer readable medium of  claim 7 , wherein the composite display area comprises a plurality of tracks, wherein the first clip shape is display on a first track and the second clip shape is displayed on a second track, wherein the set of instructions for identifying edit locations comprises sets of instructions for:
 detecting that the location indicator has traversed back to the first track with the first clip shape after having previously traversed near the first clip shape on the first track to the second clip shape on the second track and after edit locations for the first and second clip shapes have been selected; and 
 removing the selected edit location for the second clip shape after said detecting. 
 
     
     
       10. The non-transitory computer readable medium of  claim 9 , wherein the set of instructions for identifying edit locations further comprises a set of instructions for removing the edit location that was selected for the first clip shape in the previous traversal of the location indicator near the first clip shape. 
     
     
       11. The non-transitory computer readable medium of  claim 10 , wherein the set of instructions for identifying edit locations of different zones of clip shapes further comprises a set of instructions for identifying a new edit location for the first clip shape. 
     
     
       12. The non-transitory computer readable medium of  claim 10 , wherein the set of instructions for identifying edit locations further comprises a set of instructions for identifying an edit location for a third clip shape on the first track, said edit location for the third clip shape near the location of the location indicator when the location indicator traverses back to the first track from the second track. 
     
     
       13. The non-transitory computer readable medium of  claim 7 , wherein the media editing application further comprises a set of instructions for specifying the edit operation for each selected edit location. 
     
     
       14. The non-transitory computer readable medium of  claim 7 , wherein the media editing application further comprises a set of instructions for specifying the same edit operation for each selected edit location. 
     
     
       15. The non-transitory computer readable medium of  claim 14 , wherein the set of instructions for specifying the same edit operation for each selected edit location comprises sets of instructions for:
 identifying a particular edit operation based on the location of the location indicator with respect to a first-selected clip shape; and 
 assigning the particular edit operation to each subsequently selected edit location. 
 
     
     
       16. A non-transitory computer readable medium storing a media editing application that when executed by at least one processing unit provide a graphical user interface (GUI) for creating a composite presentation, the GUI comprising:
 a composite display area comprising a plurality of tracks to display a plurality of clip shapes representing media clips in the composite presentation; and 
 a consolidated editing tool for:
 identifying edit locations at different zones of different clip shapes on multiple different tracks that are at or near a position identifier as the position identifier moves from track to track in the composite display area; 
 displaying, for each of the identified edit locations, a graphical indication of an editing operation to perform on the different clip shapes, and 
 collectively selecting the identified edit locations of the different clip shapes along the different tracks in order to collectively perform the editing operation on the different clip shapes at the identified edit locations. 
 
 
     
     
       17. The non-transitory computer readable medium of  claim 16 , wherein the GUI further comprises a timeline representing a duration of the composite presentation, wherein the plurality of tracks spans the timeline in a horizontal direction and the position identifier moves substantially in a vertical direction across the plurality of track to identify the edit locations of the different clip shapes. 
     
     
       18. The non-transitory computer readable medium of  claim 16 , wherein each clip shape is defined by at least two boundaries, wherein identifying the edit locations comprises identifying the boundaries of the different clip shapes as the position identifier moves from track to track in the composite display area.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This Application is related to the following application: U.S. patent application Ser. No. 12/434,616, filed May 1, 2009, now published as U.S. Publication No. 2010/0281385. 
     FIELD OF THE INVENTION 
     The present invention relates to media content editing applications. In particular, the invention provides a media content editing application having tools for optimizing user operation of editing tasks. 
     BACKGROUND OF THE INVENTION 
     Digital graphic design, image editing, audio editing, and video editing applications (hereinafter collectively referred to as media content editing applications or media editing applications) provide graphical designers, media artists, and other users with the necessary tools to create a variety of media content. Examples of such applications include Final Cut Pro® and iMovie®, both sold by Apple Computer, Inc. These applications give users the ability to edit, combine, transition, overlay, and piece together different media content in a variety of manners to create a resulting media project. The resulting media project specifies a particular sequenced composition of any number of text, audio clips, images, or video content that is used to create a media presentation. 
     Various media editing applications facilitate such composition through electronic means. Specifically, a computer or other electronic device with a processor and computer readable storage medium executes the media content editing application. In so doing, the computer generates a graphical interface whereby designers digitally manipulate graphical representations of the media content to produce a desired result. 
       FIG. 1  illustrates a typical graphical user interface (“GUI”)  100  of a media editing application used in creating a composite media presentation based on several media clips. As shown in this figure, the GUI  100  includes a composite display area  105  and tool palette  110  that has various tool selection buttons. On several tracks that span a timeline, the composite display area can display many rectangles that represent many media clips that are used to create a composite media presentation. 
     One difficulty in media editing is the frequency at which a user switches tools to perform editing different tasks. For example, a user may switch among four trim tools, such as a roll trim tool, a ripple trim tool, a slip trim tool, and a slide trim tool, dozens of times per minute while editing media clips on the tracks in the composite display area. Consequently, the user is required to look back and forth between tool palette  110  and composite display area  105  while selecting the appropriate tools and applying the editing operations to the clips in the composite display area. 
     Accordingly, there is a need for a media editing application that provides a GUI element for a user to select among several editing tools without needing to select a tool from outside the composite display area. 
     Another difficulty in electronic media editing, as compared with manual manipulation of film in mechanical editing, is the loss of information regarding the physical dimensions of the media content that is being edited. 
       FIG. 2  illustrates a typical representation of media content on tracks  200 . Source media  210  represents a media file having a video component and one or more audio components. Source media  210  is inserted into tracks  200  to form a composite media presentation. A media editing application may split source media into its individual video and audio components, and place each of the components, also referred to as clip elements, into separate tracks, such as video track V 1  and audio track A 1  as shown in  FIG. 2 . A user may include the whole length of source media  210 , or include only a portion. The included portion is referred to as a clip. The portion is delineated by setting edit points  220 - 221  that define the beginning and the end of the clip. The portion of source media  210  that is inserted into tracks  200  is represented as clip shapes  230 - 231 . Clip shape  230  corresponds to the inserted video clip element, and clip shape  231  corresponds to the inserted audio clip element. Once inserted into tracks  200 , the portions of source media  210  that are not included, shown in  FIG. 2  as shaded areas, are not displayed or indicated along track  200 . 
     When performing editing operations on clips in tracks  200 , edit points  220 - 221  may be adjusted to extend or to shorten media from the beginning or the end of the clip elements. Edit point  220  can be adjusted from within tracks  200 . However, because the shaded areas are not displayed or indicated along track  200 , the user is provided with no information regarding where boundaries of source media  210  lie. 
     Information regarding source media boundaries is useful in helping the user to determine the available range of editing operations as the operations are performed in tracks  200 . Without such information, the user does not know how much of the source media remains to be included until, for example, when performing the roll edit operation, the cursor is arrested when the cursor reaches a boundary that is not visible to a user. 
     There is a need for a media editing application to indicate to the user the location of a media boundary before the cursor reaches the boundary while editing within a composite display area. 
     SUMMARY OF THE INVENTION 
     Some embodiments of the invention provide a media editing application for creating a media presentation (e.g., movie) by compositing several media clips (e.g., audio clips, video clips, etc.). The media editing application of some embodiments provides: (1) a composite display area for displaying a set of clip shapes representing a set of media clips that are part of the composite presentation, and (2) a consolidated editing tool for providing several user-selectable editing operations within the composite display area. 
     In some of these embodiments, the consolidated editing tool provides multiple user-selectable editing operations simultaneously near the location where the user wishes to perform an edit in order to allow the user to select one of these editing operations. In other embodiments, the consolidated editing tool (1) detects the location of a user-controlled cursor on or near a clip shape inside the composite display area, and (2) based on the location, automatically presents an associated editing operation from a set of multiple editing operations for selection and activation near the cursor location. In some such embodiments, the editing tool detects a change of the location of the cursor and automatically presents, based on the new cursor location, another associated editing operation for selection and activation. 
     In some embodiments, the associated editing operation that is automatically presented based on the cursor location is one that the media editing application predicts is the operation that the user most likely wishes to perform based on that location. After automatically presenting the user with a particular editing operation for a particular clip shape, the consolidated editing tool presents the user with another editing operation for the same particular clip shape, or presents the user with the same or another editing operation for the another clip shape. This would occur when the tool detects that the cursor has moved significantly with respect to the particular clip shape which it still overlaps, or detects that the cursor has moved onto or near the other clip shape. 
     The editing tool&#39;s prediction of the editing operation to present for a particular cursor location is defined differently in different embodiments. In some embodiments, this prediction is based on a location rule set that is specified by the media editing application&#39;s author. In other embodiments, the location rule set is specified by the media application&#39;s user. In still other embodiments, this rule set is initially specified by the media editing application&#39;s author, but later can be modified by the media application&#39;s user. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The novel features of the invention are set forth in the appended claims. However, for purpose of explanation, several embodiments of the invention are set forth in the following figures. 
         FIG. 1  illustrates a typical graphical user interface (“GUI”) of a media editing application used in creating a composite media presentation based on several media clips. 
         FIG. 2  illustrates a typical representation of media content on tracks. 
         FIG. 3  illustrates a consolidated editing tool that automatically presents an associated editing operation for selection and activation based on the cursor location as implemented in some embodiments of the invention. 
         FIG. 4  illustrates presentation of a slip trim editing operation by the editing tool of some embodiments based on the detection of a cursor within a particular zone of a clip. 
         FIG. 5  illustrates the editing tool presenting a ripple trim editing operation on a clip to indicate to the user the option of performing a ripple trim editing operation on the clip. 
         FIG. 6  illustrates a consolidated editing tool that presents multiple editing operations simultaneously near a cursor&#39;s location in the composite display area when the user activates the consolidated editing tool as implemented in some embodiments of the invention. 
         FIG. 7  illustrates a more detailed example of a GUI that provides to a user access to the consolidated editing tool as implemented in some embodiments of the invention. 
         FIGS. 8-10  illustrate three stages of a user&#39;s interaction with a GUI to perform a ripple trim editing operation as implemented in some embodiments of the invention. 
         FIGS. 11-13  illustrate three stages of a user&#39;s interaction with a GUI to perform a roll trim editing operation as implemented in some embodiments of the invention. 
         FIGS. 14-16  illustrate three stages of a user&#39;s interaction with a GUI to perform a slip trim editing operation as implemented in some embodiments of the invention. 
         FIGS. 17-18  illustrate three stages of a user&#39;s interaction with a GUI to perform a slide trim editing operation as implemented in some embodiments of the invention. 
         FIG. 19  illustrates an example of a conceptual machine-executed process that provides a consolidated editing tool that automatically presents an associated editing operation for selection and activation based on the cursor location as implemented in some embodiments of the invention. 
         FIGS. 20-21  illustrate two stages of a user&#39;s interaction with a GUI to perform a slip or slide trim editing operation when a clip shape is considerably narrowed as implemented in some embodiments of the invention. 
         FIG. 22  illustrates an example of a conceptual machine-executed process that provides a consolidated editing tool that provides the features discussed in reference to  FIGS. 20-21 . 
         FIGS. 23-25  illustrate three stages of a user&#39;s interaction with a GUI to simultaneously apply a ripple trim or a roll trim editing operation on selected clip shapes across multiple tracks as implemented in some embodiments of the invention. 
         FIG. 26  illustrates an example of a conceptual machine-executed process that provides a consolidated editing tool that provides the multi-track edit point selection feature discussed above in reference to  FIGS. 23-25 . 
         FIG. 27  illustrates an example of a conceptual machine-executed process that determines a multi-track selection for the multi-track edit point selection feature discussed above in reference to  FIGS. 23-25 . 
         FIGS. 28-30  illustrate a more detailed example of a GUI through which the consolidated editing tool that provides multiple user-selectable editing operations simultaneously near the location where the user wishes to perform an edit as implemented in some embodiments of the invention. 
         FIG. 31  illustrates a more detailed example of the relationship between source media, clips, clip shapes, and the portions of source media that are not included in generating a clip to include along a track, as implemented in some embodiments of the invention. 
         FIGS. 32-34  illustrate three examples of displaying media limit indicators when performing one of three editing operations as implemented in some embodiments of the invention. 
         FIGS. 35-38  illustrate a detailed example of a GUI through which an editing tool provides cross-track ripple trim indicators when a ripple trim editing operation is performed, and a track de-selection feature to allow a user to exclude certain tracks from the ripple trim editing operation. 
         FIG. 39  conceptually illustrates the software architecture of a media editing application as implemented in some embodiments of the invention. 
         FIG. 40  conceptually illustrates a process of some embodiments for defining and storing a media-editing application of some embodiments. 
         FIG. 41  illustrates a more detailed view of a media editing application with additional features of some embodiments. 
         FIG. 42  illustrates a computer system with which some embodiments of the invention are implemented. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     In the following detailed description of the invention, numerous details, examples, and embodiments of the invention are set forth and described. However, it will be clear and apparent to one skilled in the art that the invention is not limited to the embodiments set forth and that the invention may be practiced without some of the specific details and examples discussed. 
     Some embodiments of the invention provide a media editing application for creating a media presentation (e.g., movie) by compositing several media clips (e.g., audio clips, video clips, etc.). The media editing application of some embodiments provides: (1) a composite display area for displaying a set of clip shapes representing a set of media clips that are part of the composite presentation, and (2) a consolidated editing tool for providing several user-selectable editing operations within the composite display area. 
     In some of these embodiments, the consolidated editing tool provides multiple user-selectable editing operations simultaneously near the location where the user wishes to perform an editing operation in order to allow the user to select one of these editing operations. In other embodiments, the consolidated editing tool (1) detects the location of a user-controlled cursor on or near a clip shape inside the composite display area, and (2) based on the location, automatically presents an associated editing operation from a set of multiple editing operations for selection and activation near the cursor location. In some such embodiments, the editing tool detects a change of the location of the cursor and automatically presents, based on the new cursor location, another associated editing operation for selection and activation. 
     In some embodiments, the associated editing operation that is automatically presented based on the cursor location is one that the media editing application predicts is the operation that the user most likely wishes to perform based on that location. These embodiments or other embodiments also allow the user to define the editing operation that is associated with different locations of the cursor with respect to a clip in the composite display area. 
     For some embodiments of the invention,  FIG. 3  illustrates a graphical user interface (“GUI”)  300  of a media application with such a consolidated editing tool that automatically presents an associated editing operation for selection and activation based on the cursor location. Specifically, this figure illustrates the GUI  300  at four different stages, a first stage  305  that is before any editing tool is activated, a second stage  310  that is after a consolidated editing tool is activated, a third stage  315  that is after an associated editing operation is automatically presented, and a fourth stage  320  that is after the associated editing operation is performed. 
     As shown in  FIG. 3 , the GUI  300  includes a display area  320 , a composite display area  325 , and a tool-activate UI item  330 . The display area  320  displays a preview of a composite presentation that the application creates by compositing several media clips. The composite display area  325  provides a visual representation of the composite presentation created by the user. Specifically, it displays one or more clip shapes representing one or more media clips that are part of the composite presentation. In the example illustrated in  FIG. 3 , the composite display area  325  is an area that includes multiple tracks  332  that span a timeline  334 . Each track can receive and hold one or more clip shapes. In the example of  FIG. 3 , the composite display area  325  is shown with three tracks, each of which holds several clip shapes, including a first clip shape  335 , a second clip shape  340 , and a third clip shape  345 . In some embodiments, the x-direction in the composite display area  325  represents time that is defined along a timeline. 
     The tool-activate UI item  330  is a conceptual illustration of a UI item in the media editing application with which users interact to activate the consolidating editing tool. In some embodiments, the UI item  330  also provides feedback to the user to indicate that the consolidated editing tool is activated. The consolidated editing tool (1) detects the location of a user-controlled cursor on or near a clip shape in the composite display area, and (2) based on the location, automatically presents an associated editing operation from a set of multiple editing operations for selection and activation near the cursor location. In some such embodiments, the editing tool detects a change of the location of the cursor, and it automatically presents, based on the new cursor location, another associated editing operation for selection and activation. 
     Different embodiments of the invention implement the tool-activate UI item  330  differently. Some embodiments implement it as an UI button, others as an editing tool command that can be selected in a pull-down or a drop-down menu, and still others as an editing tool activation command that can be invoked through one or more keystroke operations. Other embodiments allow the user to access the editing tool feature through two or more such UI implementations or other UI implementations. In some embodiments, the tool-activate UI item  330  has two components: (1) an input component that is an editing tool activation command that can be invoked through one or more keystroke operations to activate the consolidated editing tool, and (2) an output component that is a graphical UI element that changes its appearance to indicate to the user whether the consolidating editing tool is activated. 
     The operation of the GUI  300  will now be described by reference to the state of the GUI during first stage  305 , second stage  310 , third stage  315 , and fourth stage  320  that are illustrated in  FIG. 3 . In first stage  305 , the composite display area  325  displays a composite presentation comprising several clip shapes along the timeline  334 . A user might have added these clip shapes to the composite presentation in a current editing session or by opening a composite project that was defined in a previous editing session. In first stage  305 , no editing tool has been activated for performing editing operations on any clip shapes. 
     Second stage  310  displays composite display area  325  after the consolidated editing tool is activated by the media editing application after receiving input from a user through tool-activate UI item  330 . While  FIG. 3  illustrates an embodiment in which the activation of the consolidated trim editing tool is shown by a change in appearance of UI item  330 , in some other embodiments, the activation occurs without any change in appearance in any UI items. For instance, in some embodiments, the UI item  330  is implemented as an editing tool command that is invoked through one or more keystrokes (or a selection from a drop-down menu, etc.), and activation of the consolidated editing tool does not cause any change in appearance in any UI items. 
     Third stage  315  displays the operation of the consolidated editing tool after it is activated through tool-activate UI item  330 . The consolidated editing tool invokes an editing tool logic that (1) detects the location of a user-controlled cursor on or near a clip shape in the composite display area, and (2) based on the location, automatically presents an associated editing operation from a set of multiple editing operations for selection and activation near the cursor location. In the example illustrated in  FIG. 3 , the consolidating editing tool detects in the third stage  315  that the cursor location is near the right end of clip shape  335 , and thereby presents a ripple trim editing operation for the user&#39;s selection and activation. The ripple trim editing operation is presented in this example in terms of a graphical symbol associated with the ripple operation on the affected clip. 
     For some embodiments, the consolidated editing tool analyzes the location of the user-controlled cursor relative to a clip shape to determine which editing operation from a set of multiple editing operations to present for selection and activation. In such embodiments, a clip shape is logically divided into different zones, each of which is associated with a particular editing operation. When the location of a cursor is within a particular zone within the clip shape, a corresponding editing operation is presented for selection and activation. Different embodiments of the invention can divide a clip shape into different zones, and different embodiments can associate different editing operations with the established zones. For some embodiments of the invention, the different editing operations include a ripple trim editing operation, a roll trim editing operation, a slip trim editing operation, and a slide trim editing operation, as well as any other editing operations that affect the size, composition, or location of clip shapes along tracks  332 . 
     The fourth stage  320  displays the media editing application having received the user&#39;s selection of the ripple trim editing operation at location  350  (e.g., through a cursor click-and-hold operation). This selection activates the ripple trim editing operation of the editing tool. The fourth stage  320  also illustrates that the editing tool performs the editing operation as a user drags the cursor to the left while still maintaining the tool active (e.g., while continuing to maintain the click event). As further described below, a ripple trim editing operation extends the end of the affected clip while shifting other clips on other selected tracks along the timeline in the direction of the selected clip&#39;s extension. The editing tool terminates the editing operation when the user de-activates the tool (e.g., through a click-release command). 
     In the example illustrated in  FIG. 3 , the user selects the first editing operation (i.e., the ripple trim editing operation) that the editing tool presents to the user in the third stage  315 . However, the user might not always select the first tool that is presented, as the user might move the cursor to see other editing operations for the same clip, or the same or other editing operations for other clips. For instance, after being presented the ripple trim editing operation at the third stage  315 , the user might move the cursor to the left sufficiently along the clip shape  335  such that the editing tool (1) detects that the cursor is within another zone of the clip shape  335  and (2) presents the user with a slip trim editing operation, as shown in  FIG. 4 . Alternatively, after the third stage  315 , the user might move the cursor to the right so that it now overlaps the clip shape  340 . In this case, the editing tool detects that the cursor is now over another clip shape  340  in a zone of that clip that is associated with a ripple trim editing operation. Accordingly, as shown in  FIG. 5 , the editing tool presents a ripple trim editing operation on the clip shape  340  to indicate to the user the option of performing a ripple trim editing operation on the clip shape  340 . 
     Because certain editing operations are naturally associated with particular regions of a clip shape, zones can be established so that the consolidated editing tool will automatically present to a user the editing operation that the user would likely desire to choose for the cursor location. For example, a roll trim editing operation is naturally associated with a boundary between two clips because the roll trim editing operation simultaneously changes the edit points of two clips in one editing movement. Accordingly, a user would likely desire to perform a roll trim editing operation when the user moves the cursor to the boundary between two clip shapes. To present to the user the editing operation that the user would likely desire at a boundary, a roll trim editing operation zone is established that abuts the boundary of the clip shape. When a cursor is detected at a boundary, the media editing application presents to the user a roll trim editing operation for selection and activation, thereby matching the user&#39;s expected editing operation selection. 
     Instead of automatically presenting an editing operation from a group of editing operations based on a cursor&#39;s location with respect to a clip, some embodiments simply present multiple editing operations simultaneously near a cursor&#39;s location in the composite display area when the user activates the consolidated editing tool, as shown in  FIG. 6 . Specifically, this figure illustrates a graphical user interface (“GUI”)  600  of a media application with a consolidated editing tool that provides multiple user-selectable editing operations simultaneously near the location where the user wishes to perform an editing operation in order to allow the user to select one of these editing operations. 
     Like the GUI  300  of  FIG. 3 , the GUI  600  of  FIG. 6  includes a display area  320 , a composite display area  325 , and a tool-activate UI item  330 . Also, like  FIG. 3 ,  FIG. 6  illustrates its GUI  600  at four different stages. In this example, (1) the first stage  605  is before any editing tool is activated; (2) the second stage  610  is after the activation of the consolidated editing tool when multiple user-selectable editing operations are presented simultaneously near the current cursor location; (3) the third stage  615  is after an editing operation is selected by a user, and (4) the fourth stage  620  is after the associated editing operation is performed. 
     The first stage  605  in  FIG. 6  is like the first stage  305  in  FIG. 3 . This stage  605  displays the composite display area  325  with a composite presentation that includes five clip shapes along the timeline  334 . In first stage  605 , no editing tool has been activated for performing editing operations on any clip shapes. 
     The second stage  610  displays the composite display area  325  after the consolidated editing tool is activated by the media editing application after receiving input from a user through tool-activate UI item  330 . While  FIG. 6  illustrates an embodiment in which the activation of the consolidated trim editing tool is shown by a change in appearance of tool-activate UI item  330 , in some other embodiments, the activation occurs without any change in appearance in any UI items. After activation, a user-selectable editing operations UI item  650  appears near the cursor to display several user-selectable editing operations. In some embodiments, user-selectable editing operations UI item  650  remains displayed until the editing tool has received the user&#39;s selection of the editing operation (e.g., through a cursor click event.) In some embodiments, user-selectable editing operations UI item  650  is made transparent or invisible during the performing of the editing operation, allowing the user a less obstructed view of the composite display. In still other embodiments, receiving additional input through tool-activate UI item  330  when the cursor is at a new location causes user-selectable editing operations UI item  650  to be displayed near the new cursor location. 
     Third stage  615  displays the operation of the consolidated editing tool after an editing operation has been selected (e.g., through a cursor click event) from user-selectable editing operations UI item  650 . The third stage  615  displays the media editing application having received the user&#39;s selection of the ripple trim editing operation. In some embodiments, the selected editing operation UI button changes appearance to indicate a selection. In some embodiments, selecting another editing operation button changes the selection to another editing operation. In some embodiments, after the editing operation has been selected, a graphical symbol associated with the operation is displayed at the affected clip shape. 
     The fourth stage  620  illustrates that the editing tool performs the editing operation as a user selects (e.g., through a cursor click-and-hold operation) on the edit point, and drags the cursor to the left while still maintaining the tool active (e.g., while continuing to maintain the click event.) The editing tool terminates the editing operation when the user de-activates the tool (e.g., through a click-release command). In some embodiments, the consolidating editing tool is de-activated when the editing operation is terminated. In some other embodiments, the consolidating editing tool remains activated until a de-activation command is received. 
     The example illustrated in  FIG. 6  shows one possible implementation for presenting multiple selectable editing operations simultaneously within the composite display area near the cursor location. One of ordinary skill will realize that many other possible implementations exist. For instance, in some embodiments, user-selectable editing operations UI item  650  is implemented as a bar of editing operations UI buttons that display all available editing operations. In some other embodiments, user-selectable editing operations UI item  650  is a scrollable UI. The scrollable UI displays fewer than the total number of available editing operations UI buttons. In the scrollable UI, the currently displayed UI buttons can be shifted out of view to the left or right by invoking scrolling commands to display other editing operations UI buttons that were not displayed. In these embodiments, the scrollable UI can sequentially display all available editing UI buttons in user-selectable editing operations UI item  650 . One example of such a scrollable UI is described in U.S. patent application Ser. No. 12/433,891, now published as U.S. Patent Publication 2010/0281374, entitled “Scrollable Menus and Toolbars”, filed Apr. 30, 2009. Editing operations include a ripple trim editing operation, a roll trim editing operation, a slip trim editing operation, and a slide trim editing operation, as well as any other editing operations that affect the size, composition, or location of clip shapes along tracks  632 . One of ordinary skill will understand that any changes to the clip shapes will also affect the underlying clip data represented by the clip shapes. 
     It is advantageous to present multiple selectable editing operations simultaneously in the composite display area near the cursor location, irrespective of the implementation of such presentation. Presenting multiple user-selectable editing operations simultaneously near the location where the cursor is located allows the user to keep the user&#39;s visual focus at the location where the user wishes to perform the edit and also requires less cursor movement. Because the user&#39;s visual focus is not shifted far away from the desired edit location when choosing a new editing operation, the consolidated editing tool allows a user to perform editing tasks faster. 
     Several more detailed embodiments of the invention are described in the sections below. In some of the examples below, the editing operations are trimming operations. However, one of ordinary skill in the art will realize that the consolidated editing tool of some embodiments may also be used for presenting, either sequentially or conjunctively, other types of editing operations. Section I describes some embodiments of the invention that provide a consolidated editing tool that automatically presents an associated editing operation for selection. Next, Section II describes some embodiments of the invention that provide a consolidated editing tool that provides multiple user-selectable editing operations simultaneously near the location where the user wishes to perform an edit in order to allow the user to select one of these editing operations. After that, Section III describes some embodiments of the invention that provide an editing tool having a set of indicator lines for guiding the user with respect to source media boundaries when editing operations are performed. Section IV then describes some embodiments of the invention that provide an editing tool that provides (1) cross-track ripple trim indicators when a ripple trim editing operation is performed, and (2) a track de-selection feature to allow a user to exclude certain tracks from the ripple trim editing operation. Following that discussion, Section V describes the software architecture of some embodiments of the invention. Section VI then describes a process for defining the media editing application of some embodiments. Finally, Section VII describes the computer system and components with which some embodiments of the invention are implemented. 
     I. Automatic Presentation of Associated Editing Operation for Selection 
     As discussed above, several embodiments provide a consolidated trimming tool that (1) detects the location of a user-controlled cursor on or near a clip shape inside the composite display area, and (2) based on the location, automatically presents an associated editing operation from a set of multiple editing operations for selection and activation near the cursor location. Sub-section I.A will describe several more detailed examples by reference to  FIGS. 7-18 . Sub-section I.B will then describe a machine-executed process used by some embodiments for automatically presenting an associated editing operation from a set of multiple editing operations for selection and activation based on detecting the location of a user-controlled cursor by reference to  FIG. 19 . Sub-section I.C will then describe a keystroke override operation of some embodiments for allowing a user to override the auto-presentation of editing operations. Finally, sub-section I.D describes a multi-track selection functionality of some embodiments that allows a user to select multiple tracks for editing by simply sweeping the cursor across several tracks. 
     A. Examples of Automatic Presentation of Selected Editing Operations 
       FIG. 7  illustrates a more detailed example of a GUI that provides to a user access to the consolidated trimming tool that (1) detects the location of a user-controlled cursor on or near a clip shape inside the composite display area, and (2) based on the location, automatically presents an associated editing operation from a set of multiple editing operations for selection and activation near the cursor location. Like GUI  300  of  FIG. 3 , GUI  700  of  FIG. 7  includes a preview display area  720 , a composite display area  725  with multiple tracks  732  that span a timeline  734 , and a tool-activate UI item  730 . 
       FIG. 7  also illustrates GUI  700  to include a media file display area  740  for displaying unedited media files that are used to generate media clips. The GUI  700  also includes a tool active indicator  730  that provides an indication when an application&#39;s trimming tool has been enabled for activation. In addition, multiple tracks  732  are labeled with track labels, and are separated into track categories, such as “Main Edit,” “Supers,” and “Sound Effects and Music,” to help the user manage the elements of a composite presentation. 
     Each of multiple tracks  732  is illustrated to hold a particular clip type. For example, tracks V 1 , V 2 , and V 3  hold video clips, and tracks A 1 , A 2 , and A 3  hold audio clips. Certain tracks are synchronized. For example, video track V 1 , which holds video clips showing subjects who are speaking, is synchronized with audio track A 1 , which holds the audio clips corresponding to the speech of the subjects in the video clips. In this example, video track V 1  and audio track A 1  are also linked such that editing operations performed on one track are automatically applied to the corresponding clips on the other track. Included in the multiple tracks  732  are clips  753 - 756   
     In addition,  FIG. 7  illustrates zones  750 - 752  within linked clip shapes  755 - 756 . Detecting the location of a user-controlled cursor within a particular zone within a clip shape causes the consolidated trimming tool to automatically present the editing operation associated with the zone for selection and activation. Zones  750 - 752  are defined identically for both clip shapes  755 - 756  because they are linked. Each zone is shaded to represent different editing operations associated with each shade. Different embodiments of the invention can divide a clip shape into different zones, and different embodiments can associate different editing operations with the established zones. 
     As shown in GUI  700  in  FIG. 7 , zone  750  spans the middle region of clip shape  756 . In some embodiments of the invention, zone  750  corresponds to either a slip trim or a slide trim editing operation. Zones  751  span the region from the edge of the clip shape. In some embodiments, zones  751  correspond to a roll trim editing operation. Zones  752  span the regions flanking zone  750 , but not reaching the edges of the clip shape. In some embodiments of the invention, zones  752  correspond to a ripple trim editing operation. 
     The sizes of zones  750 - 752  are defined differently according to different embodiments of the invention. In some embodiments, zones  750 - 752  span the entire height of the clip shape, and have a defined width. For some embodiments, some zones have widths defined in units of pixels; other zones have widths defined relative to other clip features. For example, zones  751  are defined to span a width of two pixels, extending from and including the edge of clip shape  756 . Zones  752  are defined to span a width of twenty pixels, extending from, but not overlapping with, the edges of zones  751 . Zone  750  is defined to span the remaining width of clip shape  756  that is between, but not overlapping with, zones  752 . 
     In other embodiments, the sizes of zones  750 - 752  may also depend on the size of a particular clip shape, and may be adjusted when the length of a clip changes. For example, if the length of a clip shape  756  is changed to be narrower, then the widths of zones  750 - 752  are automatically adjusted to be narrower as well. For some embodiments, the automatic adjustments of the widths of zones are limited by both lower and upper thresholds. 
     Several operations change the length of clip shapes as displayed in the tracks. For example, a clip shape may be lengthened or shortened in an editing operation. In another example, a clip shape may appear wider or narrower in composite display area  725  depending on the zoom level chosen by the user. For example, when composite display area  725  is set at a zoom level such that composite display area  725  spans one minute in a timeline, a clip that is 30-seconds long would be represented as a clip shape that spans half the length of a track as displayed in composite display area  725 . When the zoom level is adjusted such that composite display area  725  spans ten minutes in the timeline, the same 30-second-long clip is now represented as a clip shape that is one-tenth the size of the previous clip shape. In some embodiments, while the widths of the zones of the clip shape are adjusted depending on the two different sizes, the widths are the zones are not adjusted proportionally. Instead, the widths are adjusted until they reach an upper threshold, such as twenty pixels for a ripple trim zone, or until they reach a lower threshold, such as one pixel for a roll trim zone. 
     For some embodiments, the zones are assigned an order of priority such that a zone may “disappear” from the clip shape if the clip shape is too narrow. For example, as described above, zones  751  and  752  are defined in units of pixels, and zone  750  is defined to span the remaining width of clip shape  756  that is between, but not overlapping with, zones  752 . If (1) clip shape  756  is narrowed by an editing operation, or by a zoom level change, such that clip shape  756  is considerably narrowed, and (2) the widths of zones  751  and  752  are both narrowed to their respective lower threshold limits, then the consolidated trimming tool removes zone  750  from the clip shape. 
     Accordingly, the editing operation that corresponds to zone  750  is not presented when the cursor is detected at any location inside clip shape  756 . Instead, an editing operation that corresponds to one of the other remaining zones is presented. Thus, for this zoom level, in some embodiments, an overriding keystroke or other input must be received by the media editing operation to present the editing operation that corresponds to zone  750  for selection and activation. Otherwise, the user may increase the zoom level to expand the width of the clip shape such that zone  750  is again defined for the clip shape and can again be selected. 
     The following discussion will describe in detail several different examples with reference to  FIGS. 8-18 .  FIGS. 8-18  illustrate different stages of performing possible editing operations that are automatically presented by the consolidated trimming tool, including, but not limited to, (1) the ripple trim editing operation, (2) the roll trim editing operation, (3) the slip trim editing operation, and (4) the slide trim editing operation. 
       FIGS. 8-10  illustrate three stages of a user&#39;s interaction with GUI  700  to perform a ripple trim editing operation according to some embodiments of the invention.  FIG. 8  illustrates the stage after the consolidated trimming tool has been enabled for activation. The enablement of this tool is indicated through the highlighting of the tool active indicator  730 .  FIG. 8  also illustrates zones  752  that, for some embodiments, correspond to a ripple trim editing operation, which moves a clip boundary to the left or to the right while also moving all other clips along the track to the left or right along the timeline. In some embodiments, the zones that are indicated in  FIG. 8  as well as those indicated on the following GUI examples provided below, are not actually illustrated in the GUI of  FIG. 8  or the other figures, but rather, are displayed in these examples to highlight their location on the clips. Other embodiments, however, might display some or all such zones to visually provide an indication of their existence to the user. 
     Moving a clip boundary by a ripple trim editing operation either expands or reduces the overall width of a clip shape. Expanding or reducing the overall width of a clip shape adjusts the clip content represented by the clip shape by including more or less media content from the clip shape&#39;s corresponding media file. In some embodiments, the left zone of the clip shape is associated with a ripple trim editing operation that moves the left boundary of the clip shape. Likewise, the right zone of the clip shape is associated with a ripple trim editing operation that moves the right boundary of the clip shape. 
       FIG. 9  illustrates the stage where the consolidated trimming tool, based on detecting the cursor within the left zone of zones  752 , automatically presents a ripple trim editing operation for selection and activation. According to some embodiments, presenting the ripple trim editing operation includes displaying a graphical symbol corresponding to the ripple trim near or at the location where the editing operation is to be applied. As shown in  FIG. 9 , ripple trim indicator  960  is presented near the left boundary of clip  756  when the user-controlled cursor is detected within the left zone of zones  752 . 
       FIG. 10  illustrates the stage after the ripple trim editing operation has been applied to clip shape  756 .  FIG. 10  illustrates clip shape  756  being made smaller when the left boundary is rippled from point A to point B. The ripple trim editing operation as shown in  FIG. 10  shortens the content of clip shape  756  by removing the content that was previously represented by the span between point A and point B. 
     Clip shape  755 , which is linked to clip shape  756 , is also affected by the ripple trim. In some embodiments, only the selected clip shape, and other clips shape that are linked to the selected clip shape are affected by the ripple trim editing operation. In this example, the clip shapes to the left of the clips  755 - 756  that are affected by the ripple trim editing operation, such as clip shapes  753  and  754 , are shifted to the right by a distance equal to the span between point A and point B. As a result of the rightward shift, clip shape  1060 , which was previously out of view of the composite display area, is now brought into view. In some other embodiments, all tracks are affected the ripple trim editing operation. 
       FIGS. 11-13  illustrate three stages of a user&#39;s interaction with GUI  700  to perform a roll trim editing operation according to some embodiments of the invention.  FIG. 11  illustrates the stage after the consolidated trimming tool has been activated, and illustrates zone  751  as defined in these embodiments. In some embodiments of the invention, zones  751  are associated with a roll trim editing operation. A roll trim editing operation functions to move two clip boundaries simultaneously to the left or to the right. As shown in  FIG. 11  the right boundary of clip shape  754  abuts the left boundary of clip shape  756 . A roll trim editing operation moves the abutting boundaries simultaneously. Moving a clip boundary by a roll trim editing operation expands the overall width of one clip shape while reducing the overall width of the other clip shape in such a manner that leaves the unmoved boundaries of clip shapes  754  and  756  in fixed positions. Expanding or reducing the overall width of a clip shape adjusts the clip content represented by the clip shape by including more or less media content from the clip shape&#39;s corresponding media file. 
       FIG. 12  illustrates the stage where the consolidated trimming tool, based on detecting the cursor within the zones  751  as shown in  FIG. 11 , automatically presents a roll trim editing operation for selection and activation. According to some embodiments, presenting the roll trim editing operation includes displaying a graphical symbol corresponding to the roll trim near or at the location where the editing operation is to be applied. As shown in  FIG. 12 , roll trim indicator  1261  is presented at the abutting boundaries of clips  754  and  756  when the user-controlled cursor is detected within the one of the zones  751 . 
       FIG. 13  illustrates the stage after the roll trim editing operation has been applied to clip shapes  754  and  756 .  FIG. 13  illustrates clip shape  754  being made larger when the left boundary of clip shape  754  is rolled from point A to point B, while clip shape  756  is made smaller when the right boundary of clip shape  756  is simultaneously rolled from point A to point B. The roll trim editing operation lengthens the content of clip shape  754  by adding more content to the end of the clip shape to fill the span between point A and point B. Simultaneously, the roll trim editing operation shortens content of clip shape  756  by removing the content that was previously represented by the span between point A and point B. The clip shapes linked to clip shapes  754  and  756  are also affected by the roll trim. The clip shapes to the left or right of the clips to which the roll trim editing operation is applied are not affected by the roll trim editing operation. That is, only the composition of the clips to which the roll trim edit is applied is affected, not the location or size of the clip shapes. 
       FIGS. 14-16  illustrate three stages of a user&#39;s interaction with GUI  700  to perform a slip trim editing operation according to some embodiments of the invention.  FIG. 14  illustrates the stage after the consolidated trimming tool has been activated, and illustrates zone  750  as defined in these embodiments. In some embodiments of the invention, zone  750  is associated with a slip trim editing operation. In some embodiments, a keystroke may be invoked to toggle between a slip trim editing operation and a slide trim editing operation. 
     A slip trim editing operation functions to change the content of that is included in the clip represented by clip shape  756  without changing duration of the clip. Accordingly, the length of the clip shape does not change when a slip trim editing operation is performed. Conceptually, as shown in inset illustration  1470 , when a slip trim editing operation is performed, media content from the source media is shifted earlier or later along the timeline, and the adjacent clip shapes form a fixed window through which the content from the slipped clip is visible. 
       FIG. 15  illustrates the stage where the consolidated trimming tool, based on detecting the cursor within zone  750 , automatically presents a slip trim editing operation for selection and activation.  FIG. 15  also includes inset illustration  1510 , which shows that clip shape  756  is positioned near the beginning of the media source for clip shape  756 . 
     According to some embodiments, presenting the slip trim editing operation includes displaying a graphical symbol corresponding to the slip trim editing operation inside the clip shape where the editing operation is to be applied. As shown in  FIG. 15 , slip trim indicator  1561  is presented when the user-controlled cursor is detected within zone  750 . 
     Also shown in  FIG. 15  is the timecode “00:00:01:00” indicating the start of the content, and timecode “00:00:18:00” indicating the end of the content that is included in the clip represented by clip shape  756 . In some embodiments, these timecodes are displayed in the composite display area when a slip trim editing operation is being performed. In some other embodiments, the timecodes are not displayed, and some other feedback mechanism is employed to provide the user with an indication of the content at the start and the end of the clip. Other feedback includes displaying, in a video display, the frames that correspond to the start and the end of the clip. 
       FIG. 16  illustrates the stage after the slip trim editing operation has been applied to clip shape  756 . Clip shape  756 , as shown in inset illustration  1610 , is now shown to have moved rightward, and is positioned near the end of the media source for clip shape  756 . 
       FIG. 16  also illustrates each of the timecodes for clip shape  756  advancing by four seconds to “00:00:5:00” and “00:00:22:00” respectively, which indicates that the content included in the clip has conceptually moved leftward by a length representing four seconds along a timeline. No clip shapes are affected by the slip trim editing operation. 
       FIGS. 17-18  illustrate two stages of a user&#39;s interaction with GUI  700  to perform a slide trim editing operation according to some embodiments of the invention. As mentioned above, in some embodiments of the invention, zone  750  is also associated with a slide trim editing operation in addition to a slip trim editing operation. In the example as shown in  FIGS. 14 ,  15 ,  16 , a slip trim editing operation is the default editing operation that is presented for zone  750 . In such situations, some embodiments allow the user to invoke an override command to direct the application to present the slide trim editing operation instead of the slip trim editing operation, to be automatically presented when the user-controlled cursor is detected within zone  750 , or to be presented at the cursor location after the slip trim editing operation has first been presented In other embodiments of the invention, the slide trim editing operation is automatically presented first, and invoking an override command causes the slip trim editing operation to be presented. 
       FIG. 17  illustrates the stage after the consolidated trimming tool has been activated, and after the slip trim editing operation, automatically presented as shown in  FIG. 15 , is overridden by a slide trim editing operation. Override UI item  1700 , as shown in  FIG. 17 , is a conceptual illustration for an indication that the application would provide to highlight the user&#39;s selection of the override functionality. Different embodiments implement the override command differently. Examples of such implementations for the override command include a keystroke, a selection in a pop-up menu, etc. While override UI item  1700  is shown as a visible graphical UI item in GUI  700 , it is understood that in some embodiments, override UI item  1700  is not visible in a GUI. 
     A slide trim editing operation functions to shorten one clip shape  754  and to lengthen another clip shape  1762  simultaneously by moving to the left or to the right clip shape  756 , which is in between clip shape  754  and clip shape  1762 . As a clip is slid in a slide trim editing operation, the slid clip covers up a portion of clip shape  754 , while unveiling a portion of clip shape  1762 . When a slide trim editing operation is performed, clip shape  756  is conceptually sliding over the top of clip shapes  754  and  1762 . 
     As shown in  FIG. 17 , according to some embodiments, presenting the slide trim editing operation includes displaying a graphical symbol corresponding to the slide trim operation inside the clip shape where the editing operation is to be applied. As shown in  FIG. 17 , slide trim indicator  1761  is presented when the user-controlled cursor is detected within zone  750 . 
       FIG. 18  illustrates the stage after the slide trim editing operation has been applied by sliding clip shape  756 .  FIG. 18  illustrates clip shape  754  being made smaller when the left boundary abutting clip shape  756  is moved from point A to point B, while clip shape  1762  is made larger when the right boundary abutting clip shape  756  is simultaneously moved from point C to point D. The slide trim editing operation shortens the content associated with of clip shape  754  by removing content that was previously represented by the span between point A and point B. Simultaneously, the slide trim editing operation lengthens the content associated with clip shape  1762  by adding more content to the beginning of the clip shape to fill the span between point C and point D. The clip shapes to the left or right of the clips shapes  754  and  1762  are not affected by the slide trim editing operation. 
     B. Process for Automatic Presentation of Editing Operations for Selection 
       FIG. 19  illustrates an example of a conceptual machine-executed process that provides a consolidated trimming tool that (1) detects the location of a user-controlled cursor on or near a clip shape inside the composite display area, and (2) based on the location, automatically presents an associated editing operation from a set of multiple editing operations for selection and activation near the cursor location. The process is a conceptual representation of the operations that are performed in operating the consolidating trimming tool. The specific operations of the process may not be performed in the exact order described. The specific operations may not be performed one continuous series of operations. Different specific operations may be performed in different embodiments. Furthermore, the process could be implemented using several sub-processes, or as part of a larger macro-process. 
     The process starts when a request is received to activate a consolidated trimming tool. The request to activate the consolidated trimming tool may be received in various ways. For example, the request can be received through the tool-activate UI item  330  as described with reference to  FIG. 3 . In some embodiments, ways of receiving a request through the tool-activate UI item  330  includes receiving a click event on a trimming tool UI button, receiving a command through a pull-down or a drop-down menu, or receiving one or more keystroke operations that correspond to a trimming tool activation command. In other embodiments, the request is received by a combination of two or more of such ways. 
     After the request is received, the process activates (at  1902 ) the consolidated trimming tool. In some embodiments, the consolidated trimming tool remains activated until another request is received to deactivate the consolidated trimming tool. In other embodiments, the consolidated trimming tool remains activated until another tool is activated. In still other embodiments, the consolidated trimming tool is deactivated after an editing operation is performed. 
     Once the consolidated trimming tool is activated, the process detects (at  1904 ) the location of the user-controlled cursor on a clip shape. The process then determines (at  1906 ) the associated zone for the cursor location that was detected. 
     As described above in reference to  FIG. 3 , zones may be established so that the consolidated trimming tool will present the editing operation that a user would likely desire to choose for the cursor location. The sizes of the zones can be dependent on the size of a clip shape in the composite display area, as described above in reference to  FIG. 7 . Also as described above in reference to  FIG. 7 , another process may be simultaneously executed that controls the availability of certain zones depending on the size of the clip shapes currently displayed in the composite display area. 
     Then, based on the zone that is associated with the location where the user-controlled cursor is detected, the process determines (at  1908 ) the associated editing operation for the zone. As described above in reference to  FIGS. 8-18 , different embodiments of the invention have different associated editing operations for the zones. In some embodiments, zones are established that are associated uniquely with a ripple trim editing operation, or with a roll trim editing operation. Some embodiments establish shared zones, where a default editing operation, such as a slip trim editing operation, is determined (at  1908 ) for the zone, and where receiving a keystroke operation causes another editing operation, such as a slide trim editing operation, to be determined for the zone. 
     The process presents (at  1910 ) the associated editing operation for selection and activation by the user. As described above in reference to  FIGS. 8-18 , in some embodiments, a graphical symbol that represents the editing operation is displayed near location where the editing operation will be applied, such as at a clip shape boundary or on a clip shape. In some other embodiments, the graphical symbol is unique to each of the particular editing operation. In other embodiments, the graphical symbol is generic to the consolidated trimming tool. In still other embodiments, different editing operations may share the same graphical symbol. 
     After the process presents (at  1910 ) the editing operation for selection and activation by the user, the process waits for the user to select and activate the editing operation. The process determines (at  1912 ) whether the editing operation is activated. If the editing operation is activated, the process performs (at  1914 ) the editing operation according to user input received through a user interface. The process terminates when the editing operation has ended according to user input received through a user interface. 
     If the editing operation is not activated, the process determines (at  1913 ) whether the editing operation has been de-activated. If so, the process ends. Otherwise, the process determines (at  1918 ) whether the user-controlled cursor has been moved. If the cursor has been moved, the process loops back to  1904  to detect the new location of the user-controlled cursor. If the cursor has not been moved, the process loops back to  1910  to continue presenting the editing operation for selection and activation. 
     While the process of providing a consolidated trimming tool that (1) detects the location of a user-controlled cursor on or near a clip shape inside the composite display area, and (2) based on the location, automatically presents an associated editing operation from a set of multiple editing operations for selection and activation near the cursor location has been described with reference to certain features and actions, one of ordinary skill in the art will recognize that the process may be implemented using other specific embodiments without departing from the spirit of the invention. For instance, the process may be executed on a device with a touch-screen interface, and may detect (at  1904 ) a location of a touch event instead of a location of a user-controlled cursor. In addition, some potential operations have been omitted for clarity. For instance, if the zoom level is changed while the consolidated trimming tool is activated, zones may change, or may become unavailable as described in reference to  FIG. 7 . If the process has presented (at  1910 ) an editing operation that becomes changed or unavailable due to a change in clip shape size, the process determines (at  1906 ) a new corresponding zone for the cursor location, determines (at  1908 ) the associated editing operation for the updated corresponding zone, and presents ( 1910 ) the updated editing operation for selection and activation. 
     C. Special Case: Small Clip Keystroke Override 
     As briefly discussed in reference to  FIG. 7 , the sizes of zones  750 - 752  may depend on the size of a particular clip shape, and may be adjusted when the length of a clip changes. For some embodiments, the zones are assigned an order of priority such that a zone may “disappear” from the clip shape if the clip shape is too narrow.  FIGS. 20-21  illustrate two stages of a user&#39;s interaction with GUI  700  to perform a slip or slide trim editing operation when a clip shape is considerably narrowed. 
       FIG. 20  illustrates the stage after the consolidated trimming tool has been activated, and after the consolidated trimming tool automatically presents a ripple trim editing operation for selection based on detecting that the cursor is located inside clip shape  2060 . In this example, automatically presenting a ripple trim editing operation includes displaying a graphical symbol corresponding to the ripple trim editing operation. 
     For some embodiments, as shown  FIG. 20 , clip shape  2060  has a small width, for example, a total width of four pixels. In these embodiments, clip shapes are not divided into different zones when further division would produce zones that are too small to be suitable for practical use. The size at which a clip shape is not divided can be different among different embodiments. For some embodiments, when the clip shape is below the threshold size, the consolidated trimming tool defines the entire length of the clip shape as a single zone that is associated with a default editing operation. In some embodiments of the invention, the default editing operation is a ripple trim editing operation. 
     For some embodiments, an overriding command is invoked to present an editing operation other than the default editing operation.  FIG. 21  illustrates the stage where the consolidated trimming tool receives a keystroke that overrides the previous automatically presented ripple trim editing operation, and instead presents a slip trim editing operation for activation and selection. For some embodiments, different overriding keystrokes are associated with different particular editing operations. A single overriding keystroke may also cause the consolidated trimming tool to iterate through some or all the available editing operations. For example, after the consolidated trimming tool first presents a ripple trim editing operation for selection and activation, a user presses ‘S’ on a keyboard to cause a slip trim editing operation to be presented, or presses the ‘TAB’ key multiple times to iterate through the available editing operations. 
       FIG. 22  illustrates an example of a conceptual machine-executed process that provides a consolidated trimming tool that provides the features discussed above in reference to  FIGS. 20-21 . The flow diagram as shown in  FIG. 22  is a continuation of the flow diagram illustrated in  FIG. 19 . In the example illustrated in  FIG. 22 , the process executes operations  1900 - 1910  as described above in reference to  FIG. 19 . In addition, after presenting the editing operation for selection and activation, which, in the example of illustrated in  FIGS. 20-21 , is a default editing operation associated with the single zone for the small clip shape, the process determines (at  2200 ) whether an override keystroke has been received. If an override keystroke has been received, then the process presents (at  2202 ) a next editing operation for the user. As mentioned above, the next editing operation may be uniquely associated with a particular override keystroke, or may be an editing operation that is next in an ordered list of editing operations. After  2202 , the process loops back to  2200  to determine if another override keystroke has been received. If an override keystroke is not received, then the process proceeds to  1912 . 
     D. Multi-Track Selection 
     The discussion above has presented embodiments related to presenting, selecting and activating an editing operation with respect to (1) one clip shape, (2) one mutual clip boundary, or (3) more than one clip shape when the clip shapes are linked clip shapes. The following introduces some embodiments that provide a multi-track edit point selection feature that (1) detects the location of a user-controlled cursor on or near a clip shape inside the composite display area, (2) based on the location, automatically presents an associated editing operation from a set of multiple editing operations for selection and activation, (3) detects the movement of the cursor across other tracks in a composite display area, and (4) based on the location of the cursor as it moves across each track, selects a particular clip shape or clip boundary along each track at which to simultaneously apply the editing operation.  FIGS. 23-25  illustrate three stages of a user&#39;s interaction with GUI  700  to simultaneously apply a ripple trim or a roll trim editing operation on selected clips across multiple tracks according to some embodiments of the invention. 
       FIG. 23  illustrates the first stage of one example of some embodiments after the user selects and activates an editing operation and moves the cursor from Point W to Point X. In this example, an out point ripple trim editing operation has been selected and activated as described above in reference to  FIGS. 8-10 . An out point refers to the end of a clip, and an out point ripple trim editing operation adds or removes content from the end of the rippled clip. Instead of selecting a ripple trim editing operation, other editing operations may be selected and activated at Point W by other approaches not described herein. 
     After the user has selected and activated an editing operation by applying, for example, a mouse-down operation and drag operation, the cursor is moved from Point W to Point X. As the cursor is detected moving into new tracks, the same editing operation that was selected at Point W is selected for clips in the other tracks. For example, if a user selects a roll trim editing operation at Point W, the roll trim editing operation is the operation that will be selected for the other tracks. 
     As the cursor is detected moving into the new tracks, the consolidated trimming tool detects the location of the cursor relative to a clip shape, and chooses the clip shape boundaries that are closest to the cursor&#39;s travel path for applying the editing operation. For some embodiments, a left clip boundary is chosen if the cursor is detected in the left half of the clip shape, and a right clip boundary is chosen if the cursor is detected in the right half of the clip shape. If the selected editing operation is not available at the chosen clip boundary (e.g., when the selected operation is an out point ripple trim edit, if there is no clip to the left of the clip which the cursor is over the left half of), then a different clip boundary is chosen in some embodiments. 
     Graphical symbols corresponding to the selected editing operation are displayed at the clip shape boundaries that are closest to the cursor&#39;s travel path to indicate where the editing operation is to be applied. As shown in  FIG. 23 , graphical symbols corresponding to out point ripple trim editing operations are displayed at the out point boundaries that are closest to the cursor&#39;s travel path from Point W to Point X. Out point boundaries can be selected even when the cursor&#39;s travel path does not cross or come near the boundary. For example, out point  2405  is selected in spite being located far from the cursor&#39;s travel path. 
       FIG. 24  illustrates the stage after the user has moved the cursor from Point X to Point Y. When a cursor is moved laterally within a track, the consolidated trimming tool detects the location of the cursor relative to a clip shape, and chooses a different clip shape boundary that is now close to the new travel path of the cursor for applying the editing operation. As shown in  FIG. 24 , as cursor moves laterally from Point X to Point Y, the graphical indicator for the out point ripple trim selection moves from clip  2410  to clip  2411 . 
       FIG. 25  illustrates the stage after the user has moved the cursor from Point Y to Point Z, and has completed selection of the boundaries at which the editing operation is to be applied. As shown in  FIG. 25 , edit points are selected that are closest to the travel path, in spite of the distance between the closest edit point and the travel path. After the stage as shown in  FIG. 25 , the user performs a mouse-release operation, followed by a click and drag operation on any one of the graphical symbols to simultaneous perform the editing operation on the selected tracks. 
     The multi-track edit point selection feature allows the user fine control over which clips or edit points are selected for the editing operation, while integrating the automatic presentation of a trim tool. The cursor-path analysis also allows the user to precisely select clips without having to move the cursor to the exact location where the user desires the editing operation to be applied. 
       FIG. 26  illustrates an example of a conceptual machine-executed process  2600  that provides a consolidated trimming tool that provides the multi-track edit point selection feature discussed above in reference to  FIGS. 23-25 . This multi-track edit selection operation is shown here as part of a process that also activates a trim edit operation when the user moves the cursor primarily in a horizontal direction after selecting the presented operation. Like  FIG. 19 , the process is a conceptual representation of the operations that are performed in operating the consolidating trimming tool. The specific operations of the process may not be performed in the exact order described. The specific operations may not be performed in one continuous series of operations. Different specific operations may be performed in different embodiments. Furthermore, the process could be implemented using several sub-processes, or as part of a larger macro-process. 
     The process as shown in  FIG. 26  starts after the editing operation has been (1) presented for an edit point of a clip shape on a track and (2) selected by a user through a cursor click operation. The process then determines (at  2620 ) whether the cursor has moved. If not, the process proceeds to  2630  and determines whether the click operation has terminated. If so, the process ends. If not, the process returns to  2620 . 
     When the process determines (at  2620 ) that the cursor has moved, the process transitions to  2640  to determine the primary direction of the motion. Some embodiments apply one or more thresholds to determine whether the cursor has moved (at  2620 ) sufficiently, and to determine (at  2640 ) the direction of move. 
     When the process detects (at  2640 ) that the cursor has moved mostly side-to-side (i.e., in the x-direction), the process activates (at  2645 ) the editing operation and then ends. On the other hand, when the process determines (at  2640 ) that the cursor movement is mostly in the up-down direction (i.e., in the y-direction), the process determines (at  2650 ) whether the cursor has crossed into another track. When the cursor has not crossed into another track, then the process proceeds back to operation  2620  to determine whether the cursor has moved. When the process has detected (at  2650 ) that the cursor has crossed into another track, the process activates (at  2660 ) the multi-track selecting process that will be described in more detail below. 
       FIG. 27  illustrates an example of a conceptual machine-executed process  2700  that determines a multi-track selection for the multi-track edit point selection feature discussed above in reference to  FIGS. 23-25 . Like  FIG. 26 , the process is a conceptual representation of the operations that are performed in operating the consolidating trimming tool. The specific operations of the process may not be performed in the exact order described. The specific operations may not be performed in one continuous series of operations. Different specific operations may be performed in different embodiments. Furthermore, the process could be implemented using several sub-processes, or as part of a larger macro-process. 
     The process as shown in  FIG. 27  starts when multi-track selecting is activated (at  2660 ) by process  2600 . The process  2700  selects (at  2710 ) a clip shape to which it should apply the selected editing operation, if applicable. The clip shape selected (at  2710 ) is added to a list of active clip shapes. This list keeps the inventory of all clip shapes that the user selects during the multi-track selection operation. Next, the process selects (at  2720 ) an edit point for the clip shape, if applicable. When an edit point is selected, the selected edit point will be added to a list of active selected edit points. 
     The process then determines (at  2725 ) whether the editing operation has been released (e.g., through a click-release operation), and, if so, the process ends. When the process determines (at  2725 ) that the editing operation has not been released, the process determines (at  2730 ) whether the cursor has moved. When the process determines (at  2730 ) that the cursor has not moved, the process returns to operation  2725  to determine whether the editing operation has been released. Thus, operations  2725 - 2730  are repeated until the process determines (at  2725 ) that the editing operation has been released, or the process determines (at  2730 ) that the cursor has moved. 
     When the process determines (at  2730 ) that the cursor has moved, the process then determines (at  2735 ) whether the cursor has moved to a new zone in the current track. When the process determines (at  2735 ) that the cursor has moved to a new zone in the track, the process next determines (at  2740 ) whether the cursor is over the same clip shape. When the cursor is over the same clip shape, the process changes (at  2745 ) the edit point for that clip, and returns to operation  2725 . When the process determines (at  2740 ) that the cursor is not over the same clip shape, the process releases a previously-selected clip shape and edit point, if applicable. Next, the process selects the new clip shape and edit point, if applicable (i.e., if there is a valid clip shape and edit point at the new cursor location) before returning to operation  2725 . 
     When the process determines (at  2735 ) that the cursor is not in a new zone on the track, the process next determines (at  2760 ) whether the cursor has moved to a new track (i.e., a different track that before the cursor move). When the process determines that the cursor has not moved to a new track (i.e., the cursor has moved, but is still located in the same zone of the same track as prior to the move), the process returns to operation  2725 . 
     When the process determines (at  2760 ) that the cursor has moved to a new track, the process then determines (at  2765 ) whether the cursor has previously been on that track. When the cursor has been on that track before, the process (at  2770 ) releases any previously-selected clip shape and edit point (if applicable) for the track which the cursor was over previously. Thus, for example, when a user moves the cursor from a first track to a second track (making a multi-track selection), but then moves back to the first track, any clip shape and edit point associated with the second track is released. After releasing (at  2770 ) any clip shape and edit point, the process returns to operation  2735  to determine whether the cursor has moved to a new zone in the previously-visited track. In some cases, multiple clip shapes and/or edit points are released. 
     When the process determines (at  2765 ) that the cursor has not been on the new track before, the process returns to operation  2710 . Process  2700  continues in this manner until it determines (at  2725 ) that the editing operation has been released, at which point the process ends. 
     When the process ends, the list of selected clips and edit points specifies which clips and which edit points should receive the edit operations which will then follow. In some embodiments, the subsequent edit operation is initiated by the user performing a click-and-drag operation that performs a trim operation on the selected edit points of the selected clips. One of ordinary skill will recognize that the trim operations can be performed in response to other inputs such as a series of keystrokes, a pull-down or pop-up menu command or selection, a hotkey, etc. 
     While the above multi-track selection has been described with reference to trim operations, one of ordinary skill will understand that other types of editing operations may also be performed in a similar manner. Examples of such other editing operations include audio and/or video effects (e.g., cross-dissolve, etc.), color correction, etc. 
     The multi-point selection generated by processes such as  2600  and  2700  allows a user to select multiple edit points by passing a cursor within a certain proximity of each edit point, where the edit points may be spread across multiple clips and multiple tracks. This is in contrast to a traditional multi-point selection, where a user may select multiple edit points by selecting an area (e.g., by selecting all the edit points that are within a bounding box). When using the traditional multi-point selection, a user is not able to select individual points within the selection area while excluding other individual points within the selection area. In addition, one of ordinary skill in the art will realize that although the multi-point selection described above was described in reference to a trim edit function, some embodiments may use the multi-point selection to select multiple edit points from various clips and/or tracks for other types of edit operations. 
     One of ordinary skill will recognize that some embodiments may activate the trim tool differently than the manner described above in reference to  FIGS. 26-27 . In the process  2600 , some embodiments activate a sweep selection directly by first activating an edit selection that is presented for one clip and then performing a cursor sweep to traverse several clips near their edit points. However, in other embodiments, no editing operation is selected/activated until the first edit point is selected by the cursor sweep. Thus, a user may first select an edit point which then determines the editing operation to be applied to any other edit points that are selected during the cursor sweep. In some embodiments, this would occur when the user (1) activates the trim tool (e.g., through the use of a hotkey), (2) performs a click operation on a track that does not have a clip in the vicinity of the cursor and the cursor is not near another clip on another track, and (3) then drags the cursor over clips on other tracks. In some such embodiments, the consolidated editing tool would select the edit operation for all the selected edit points of the various clips on the various tracks based on the cursor&#39;s location with respect to the first clip that the cursor passes near or over after the activation of the trim tool and the commencement of the sweep operation. 
     II. Presenting Multiple User-Selectable Editing Operations at Cursor Location 
     As discussed above, several embodiments provide a consolidated trimming tool that provides multiple user-selectable editing operations simultaneously near the location where the user wishes to perform an edit in order to allow the user to select one of these editing operations.  FIGS. 28-30  illustrate a more detailed example of a GUI through which the consolidated trimming tool that provides multiple user-selectable editing operations simultaneously near the location where the user wishes to perform an edit. 
     Like GUI  600 , GUI  2800  of  FIG. 28  includes a preview display area  2820 , a composite display area  2825  with multiple tracks  2832  that span a timeline  2834 , a trimming tool UI item  2830 , and user-selectable editing operations UI item  2850 .  FIG. 28  also illustrates GUI  2800  to include a media file display area  2840  for displaying unedited media files that are used to generate media clips. In addition, multiple tracks  2832  are labeled with track labels, and are separated into track categories, such as “Main Edit,” “Supers,” and “Sound Effects and Music,” to help the user manage the elements of a composite presentation. 
     Each of multiple tracks  2832  is illustrated to hold a particular clip type. For example, tracks V 1 , and V 2  hold video clips, and A 1  and A 2  hold audio clips. Certain tracks are synchronized. For example, video track V 1 , which holds video clips showing subjects who are speaking, are synchronized with audio track A 1 , which holds the audio clips corresponding to the speech of the subjects in the video clips. In this example, video track V 1  and audio track A 1  are also linked such that editing operations performed on one track are automatically applied to the corresponding clips on the other track. 
       FIGS. 28-30  illustrate three stages of a user&#39;s interaction with GUI  2800  to perform a ripple trim editing operation according to some embodiments of the invention.  FIG. 28  illustrates the stage after the consolidated trimming tool has been activated, and illustrates user-selectable editing operations UI item  2850 . In some embodiments of the invention, as described above in reference to  FIG. 6 , user-selectable editing operations UI item  2850  may be implemented as a bar of editing operations UI buttons that display all available editing operations. In some other embodiments, user-selectable editing operations UI item  2850  is a scrollable UI. 
       FIG. 29  illustrates the stage where the consolidated trimming tool activates an editing operation after a user selects the editing operation from user-selectable editing operations UI item  2850 . In this example, a ripple trim editing operation is selected by the user. As shown in  FIG. 29 , user-selectable editing operations UI item  2850  changes appearance to indicate the selection. In some embodiments, user-selectable editing operations UI item  2850  remains displayed for a short period to allow the user to change the selection, and then disappears from the user interface. In some other embodiments, user-selectable editing operations UI item  2850  remains displayed until the user begins performing the editing operation. In some embodiments, the consolidated trimming tool detects the cursor location, and automatically displays graphical symbol  2910  corresponding to the selected editing operation at an associated location that is near the cursor. In some other embodiments, graphical symbol  2910  is not displayed until the user invokes a mouse-down operation on a clip to begin the editing operation. 
       FIG. 30  illustrates the stage as the user begins performing the editing operation. User-selectable editing operations UI item  2850  is removed from the display as soon as the user invokes a mouse-down operation to begin the editing operation. 
     III. Displaying Media Limit Indicators 
     In some embodiments of the invention, a trimming tool provides a set of indicator lines for guiding the user with respect to source media boundaries when editing operations are performed.  FIG. 31  illustrates a more detailed example of the relationship between source media, clips, clip shapes, and the portions of source media that are not included in generating a clip to include along a track. 
       FIG. 31  includes a conceptual illustration of source media  3110 , clip  3115  that is generated from source media  3110 , in point  3120  and out point  3121  that define the content of clip  3115 , and media limit boundaries  3130 - 2431  of source media  3110 . Handles  3140 - 3141 , illustrated as shaded areas in the conceptual illustration of source media  3110 , represent the portions of source media  3110  that are not included in clip  3115 . 
       FIG. 31  also includes tracks  3150  from a composite display area, and clip shape  3116  that corresponds to clip  3115 . Tracks  3150  also include media limit indicator lines  3160 - 3161  for source media  3110  that correspond to media limit boundaries  3130 - 2431 . For some embodiments of the invention, one or both of media limit indicator lines  3160 - 3161  for source media  3110  are displayed when an editing operation is performed to indicate the user media limit boundaries. 
       FIGS. 32-34  illustrate three examples of displaying media limit indicators when performing one of three editing operations. In some embodiments, the editing operation is selected using one of the techniques described in this application. In some other embodiments, the editing operation is selected by another editing operation selection technique without deviating from the spirit of the invention. 
       FIG. 32  illustrates displaying media limit indicators when a roll trim editing operation is performed. In this example with the clip shapes and source media as shown, the roll trim editing operation is limited by the end boundary of media source  3110  and the beginning boundary of media source  3211 . Accordingly, left media limit indicator line  3220  that corresponds to the end of media source  3211 , and right media limit indicator line  3161  that corresponds to the beginning of media source  3110  are displayed as the roll trim editing operation is performed. In some other clip arrangements, the range of a roll trim editing operation may be limited by a feature other than a media limit boundary. For example, if a media source has a handle that is longer than the adjacent clip, then the roll trim is limited by the size of the adjacent clip.  FIG. 32  also illustrates conceptual roll trim range  3230 , which indicates the span within which the rolled edit point can be moved. While roll trim range  3230  is shown in  FIG. 32  for illustrative purposes and is not part of any GUI, it is understood that roll trim range  3230  can be implemented as a GUI element. 
       FIG. 33  illustrates displaying media limit indicators when a ripple trim editing operation is performed. In this example, the ripple trim editing operation is limited by in point  3120  of clip  3115  that is being rippled, and by the end boundary  3131  of media source  3110 . Accordingly, one media limit indicator line  3161  corresponding to the end boundary  3131  is displayed in the track as the ripple trim editing operation is being performed.  FIG. 33  also shows conceptual roll trim range  3350 , which indicates the span within which the rolled edit point can be moved. 
       FIG. 34  illustrates displaying media limit indicators when a slide trim editing operation is performed. In this example with the clip shapes and source media as shown, the slide trim editing operation is limited by the end boundary of media source  3110  and the beginning of media source  3411 . Accordingly, left media limit indicator line  3161  that corresponds to the end of media source  3110 , and right media limit indicator line  3421  that corresponds to the beginning of media source  3411 , are displayed as the slide trim editing operation is performed.  FIG. 34  also illustrates conceptual side trim range  3430 - 2731  which indicates the spans that clip shape  3412  can be slid. 
     IV. Cross-Track Ripple Trim Indicators 
     Some embodiments of the invention provide a trimming tool that provides (1) cross-track ripple trim indicators when a ripple trim editing operation is performed, and (2) a track de-selection feature to allow a user to exclude certain tracks from the ripple trim editing operation.  FIGS. 35-38  illustrate a detailed example of a GUI in which some embodiments of the invention are implemented, as well as several stages of a user&#39;s interaction with the GUI. 
       FIG. 35  illustrates a detailed example of a GUI  3500  through which a trimming tool provides (1) cross-track ripple trim indicators when a ripple trim editing operation is performed, and (2) a track de-selection feature to allow a user to exclude certain tracks from the ripple trim editing operation. Like GUI  2800 , GUI  3500  of  FIG. 35  includes a preview display area  3520 , and a composite display area  3525  with multiple tracks  3532  that span a timeline  3534 .  FIG. 35  additionally illustrates graphical symbol  3540  corresponding to the ripple trim editing operation at an edit location where the user has selected to perform the edit. 
       FIG. 35  illustrates the stage after the user has activated the ripple trim editing operation, and has invoked a mouse-down operation to begin the editing operation. For these embodiments of the invention, performing a ripple trim editing operation for a particular clip causes all the clip shapes along the other tracks, as well as the gaps between the clip shapes, to shift in synchronicity with the rippled clip. In other words, if the rippled clip extends an end point by ten seconds, all other clips on all other tracks at or following the rippled clip also are shifted later in the timeline by ten seconds. Accordingly, for these embodiments, the default behavior of a ripple trim editing operation is that the synchronization of all the clips along all the tracks is maintained. 
     For some embodiments, the trimming tool displays a set of ghosted graphical symbols at each of the other tracks directly above and below graphical symbol  3540 . The set of ghosted graphical symbols stay directly above and below graphical symbol  3540  as the editing operation is performed. Displaying such ghosted graphical symbols provides the user with feedback that the editing operation causes all the clip shapes along the other tracks, as well as the gaps between the clip shapes, to shift in synchronicity with the rippled clip, as shown in  FIG. 36 . 
       FIG. 37  illustrates the stage after a ripple trim editing operation is selected when the user de-selects a particular track in order to prevent the clips in that particular track from being shifted in synchronicity with the rippled clip. In some embodiments of the invention, the set of ghosted graphical symbols are presented when the user invokes a mouse-click operation. The set of ghosted graphical symbols are displayed until the ripple trim editing operation is performed and completed. For some embodiments, the ripple trim editing operation considered to be completed when a user moves a boundary and invokes a mouse-release operation. 
     As shown in  FIG. 37 , while the set of ghosted graphical symbols are displayed, a user may move the cursor to any of the ghosted symbols. When the trimming tool detects the location of the mouse on any of the ghosted symbol, the trimming tool presents to the user a de-selection UI item  3710 . When the trimming tool receives a click event on de-selection UI item  3710 , ghosted graphical symbol for the track is removed from the track, and the track will not be included in the ripple trim editing operation, as shown in  FIG. 38 . 
     V. Software Architecture 
     In some embodiments, the processes described above are implemented as software running on a particular machine, such as a computer or a handheld device, or stored in a computer readable medium.  FIG. 39  conceptually illustrates the software architecture of an application  3900  of some embodiments for presenting media editing operations such as those described in the preceding sections. In some embodiments, the application is a stand-alone application or is integrated into another application (for instance, application  3500  might be a portion of a video-editing application), while in other embodiments the application might be implemented within an operating system. Furthermore, in some embodiments, the application is provided as part of a server-based (e.g., web-based) solution. In some such embodiments, the application is provided via a thin client. That is, the application runs on a server while a user interacts with the application via a separate client machine remote from the server (e.g., via a browser on the client machine). In other such embodiments, the application is provided via a thick client. That is, the application is distributed from the server to the client machine and runs on the client machine. 
     As shown in  FIG. 39 , the media editing application  3900  includes a user interface module  3910  for sending data to and receiving data from a user, a zone analysis module  3920  for determining a corresponding zone for a cursor location and for determining an associated editing operation for a zone, an editing operations module  3925  for presenting an associated editing operation for selection and activation, for activating the editing operation, and for performing the editing operation, and storage  3930  for storing data used by the application  3900 . Storage  3930  stores zone settings data  3940 , clip definitions data  3945 , as well as other data used by media editing application  3900 . 
     Zone settings data  3940  include data that establishes the zones used by zone analysis module  3920  for analyzing a cursor location. In some embodiments, zone settings data  3940  is a location rule set that is specified by the media editing application&#39;s author. In other embodiments, the location rule set is specified by the media application&#39;s user. In still other embodiments, this rule set is initially specified by the media editing application&#39;s author, but later can be modified by the media application&#39;s user. 
     In some embodiments, zone settings data  3940  include zone width data (e.g., in pixels), zone location data (e.g., a zone begins at two pixels from the edge of a clip shape), zone association data (e.g., a zone is associated with the ripple trim editing operation), and zone priority data (e.g., a zone is the default zone when a clip shape is smaller than a threshold size). Clip definitions data  3945  include data that defines the content of a clip shape, including the starting point and ending point of a media source that defines the clip represented by the clip shape. 
       FIG. 39  also illustrates several components of operating system  3950  that provide input to, and receives output from, media editing application  3900  via user interface module  3910 . Such components include cursor control  3960  that allows the application  3900  to receive data from a cursor control device, keyboard control  3965  that allows the application  3900  to receive data from a keyboard, audio module  3970  for processing audio that that will be supplied to an audio output device (e.g. speakers), and video module  3975  for processing video data that will be supplied to a display device (e.g., a monitor). 
     A user interacts with items in the user interface of the media editing application  3900  via input devices (not shown) such as a pointing device (e.g., a mouse, touchpad, trackpad, etc.) and keyboard. The input from these devices is processed by the cursor control  3960  and keyboard control  3965 , and passed to the user interface interaction module  3910 . 
     The present application describes a graphical user interface that provides users with numerous ways to perform different sets of operations and functionalities. In some embodiments, these operations and functionalities are performed based on different commands that are received from users through different input devices (e.g., keyboard, trackpad, touchpad, mouse, etc). For example, the present application describes the use of a cursor in the graphical user interface to control (e.g., select, move) objects in the graphical user interface. However, in some embodiments, objects in the graphical user interface can also be controlled or manipulated through other controls, such as touch control. In some embodiments, touch control is implemented through an input device that can detect the presence and location of touch on a display of the device. An example of such a device is a touch screen device. In some embodiments, with touch control, a user can directly manipulate objects by interacting with the graphical user interface that is displayed on the display of the touch screen device. For instance, a user can select a particular object in the graphical user interface by simply touching that particular object on the display of the touch screen device. As such, when touch control is utilized, a cursor may not even be provided for enabling selection of an object of a graphical user interface in some embodiments. However, when a cursor is provided in a graphical user interface, touch control can be used to control the cursor in some embodiments. 
     The user interface module  3910  translates the data from the controls  3960  and  3965  into the user&#39;s desired effect on the media editing application  3900 . Zone analysis module  3920  and editing operations module  3925  use such input to carry out the operations as described with reference to  FIG. 19  above. For example, when a user moves a cursor near or onto a clip shape, uses a pointing device to select an editing operation to perform, or directs media editing application to perform the editing operation, user interface module  3910  receives such input from the user, and translates the input into commands that can be processed by zone analysis module  3920  or editing operations module  3925 . 
     The following describes the interaction between the modules according to one example of some embodiments of the invention. Zone analysis module  3920  receives data indicating the location of a user-controlled cursor. Zone analysis module  3920  uses such data, in conjunction with zone settings data  3940  and clip definitions data  3945 , to determining the corresponding zone for the cursor location. Zone analysis module  3920  also uses zone settings data  3940  to determine the associated editing operation for the corresponding zone. 
     Editing operations module  3925  receives data from zone analysis module  3920  indicating the associated editing operation that was determined based on the detected cursor location. Editing operations module  3925  receives input from user interface module  3910  indicating that the associated editing operation has been selected by the user, and activates the editing operation. Editing operations module  3925  performs the editing operation by receiving user input from user interface module  3910  that directs the editing operation. Editing operations module  3925  also adjusts clip definition data  3945  in performing the editing operation. The editing operations module  3925  may provide editing tools in addition to the consolidated trimming tool. Examples of such editing tools may include zoom, color enhancement, blemish removal, audio mixing, etc. 
     While many of the features have been described as being performed by one module (e.g., the user interface module  3910  or zone analysis module  3920 ), one of ordinary skill would recognize that a particular operation might be split up into multiple modules, and the performance of one feature might even require multiple modules in some embodiments. 
     One of ordinary skill in the art will recognize that the conceptual descriptions provided above in reference to  FIG. 39  may be implemented using different embodiments without departing from the spirit of the invention. For instance, storage  3930  described above with reference to  FIG. 39  may be implemented as various storage elements. 
     VI. Process for Defining a Media Editing Application 
       FIG. 40  conceptually illustrates a process  4000  of some embodiments for defining and storing a media-editing application of some embodiments, such as application  3900 . Specifically, process  4000  illustrates the operations used to define several of the elements shown in GUI  300 . As shown, process  4000  begins by defining (at  4010 ) a composite display area for displaying graphical representations of a set of media clips. Composite display area  105  is one example of such a display area. 
     The process then defines (at  4020 ) a consolidated editing tool for (1) detecting a location of a cursor in the composite display area; determining a zone of a plurality of zones in which the cursor is located; (2) determining a particular editing operation that is associated with the zone; and (3) presenting the particular editing operation of a plurality of editing operations for selection and activation. This editing tool is also defined to include the process for performing the multi-track selection operation and the other processes described above. Next, the process defines (at  4030 ) a plurality of zones within clip shapes in which the cursor is located. 
     After defining (at  4030 ) a plurality of zones within clip shapes in which the cursor is located, the process associates (at  4040 ) a particular editing operation with each of the zones defined at  4030 . 
     The process then defines (at  4050 ) other media editing items and functionalities. Examples of such editing tools may include zoom, color enhancement, blemish removal, audio mixing, etc. In addition, various other media editing functionalities may be defined. Such functionalities may include library functions, format conversion functions, etc. The process defines these additional tools in order to create a media editing application that has many additional features to the features described above. 
     A more detailed view of a media editing application with these additional features is illustrated in  FIG. 41 . Specifically, this figure shows a media editing application with these additional tools.  FIG. 41  illustrates lists of video clips  4110  and audio clips  4115 , video editing tools  4120 , and video displays  4130 . The lists of video clips  4110  and audio clips  4115  includes clips along with metadata (e.g., timecode information) about the clips. In some embodiments, the list of video clips is the list of video clips in a particular sequence of video clips, and the metadata specifies in and out points, durations, etc. for the video clips. 
     The video editing tools  4120  include tools that allow a user to graphically set in and out points for video clips (in other words, where in the final product a specific clip or part of a clip will be shown). For instance, the video editing tools  4120  include a number of timelines that can be used to modify the temporal sequence of the video frame and to synchronize audio tracks with video tracks (e.g., in order to add music over a video clip). In some embodiments, video editing tools  4120  also give users the ability to edit in effects or perform other video editing functions. 
     Video displays  4130  allow a user to watch multiple video clips at once, thereby enabling easier selection of in and out points for the video clips. The screen shot  4100  illustrates a few of many different editing tools that a video editing application of some embodiments may have to edit digital video. 
     In some cases, some or all of the video clips that are displayed in the lists of video clips  4110  and audio clips  4115 , played in displays  4130 , and edited by a user with video editing tools  3820 , are video clips of real-world objects (e.g., people, landscapes, etc.) filmed by a camera and include real-world audio (e.g., conversations, real-world noises, etc.) recorded by a camera, microphone, etc. In some cases, some or all of the video clips are computer-generated animations or include computer generated animations (e.g., animated objects, computer-generated effects, etc.). 
     Process  4000  then stores (at  4060 ) the defined media editing application (i.e., the defined modules, UI items, etc.) on a computer readable storage medium. The computer readable storage medium may be a disk (e.g., CD, DVD, hard disk, etc.) or a solid-state storage device (e.g., flash memory) in some embodiments. One of ordinary skill in the art will recognize that the various elements defined by process  4000  are not exhaustive of the modules, rules, processes, and UI items that could be defined and stored on a computer readable storage medium for a media editing application incorporating some embodiments of the invention. In addition, the process  4000  is a conceptual process, and the actual implementations may vary. For example, different embodiments may define the various elements in a different order, may define several elements in one operation, may decompose the definition of a single element into multiple operations, etc. In addition, the process  4000  may be implemented as several sub-processes or combined with other operations within a macro-process. 
     VII. Computer System 
     Many of the above-described processes and modules are implemented as software processes that are specified as a set of instructions recorded on a computer readable storage medium (also referred to as “computer readable medium” or “machine readable medium”). When these instructions are executed by one or more computational element(s) (such as processors or other computational elements like ASICs and FPGAs), they cause the computational element(s) to perform the actions indicated in the instructions. Computer is meant in its broadest sense, and can include any electronic device with a processor. Examples of computer readable media include, but are not limited to, CD-ROMs, flash drives, RAM chips, hard drives, EPROMs, etc. 
     In this specification, the term “software” is meant in its broadest sense. It can include firmware residing in read-only memory or applications stored in magnetic storage which can be read into memory for processing by a processor. Also, in some embodiments, multiple software inventions can be implemented as sub-parts of a larger program while remaining distinct software inventions. In some embodiments, multiple software inventions can also be implemented as separate programs. Finally, any combination of separate programs that together implement a software invention described here is within the scope of the invention. In some embodiments, the software programs when installed to operate on one or more computer systems define one or more specific machine implementations that execute and perform the operations of the software programs. 
       FIG. 42  illustrates a computer system  4200  with which some embodiments of the invention are implemented. For example, the system described above in reference to  FIG. 22  may be at least partially implemented using sets of instructions that are run on the computer system  4200 . As another example, the processes described in reference to  FIGS. 19 ,  22 , and  26 - 27  may be at least partially implemented using sets of instructions that are run on the computer system  4200 . 
     Such a computer system includes various types of computer readable mediums and interfaces for various other types of computer readable mediums. Computer system  4200  includes a bus  4210 , a processor  4220 , a system memory  4230 , a read-only memory (ROM)  4240 , a permanent storage device  4250 , a graphics processing unit (“GPU”)  4260 , input devices  4270 , output devices  4280 , and a network connection  4290 . The components of the computer system  4200  are electronic devices that automatically perform operations based on digital and/or analog input signals. The various examples of user interfaces shown in  FIGS. 3 ,  6 ,  7 ,  28  and  35  may be at least partially implemented using sets of instructions that are run on the computer system  4200  and displayed using the output devices  4280 . 
     One of ordinary skill in the art will recognize that the computer system  4200  may be embodied in other specific forms without deviating from the spirit of the invention. For instance, the computer system may be implemented using various specific devices either alone or in combination. For example, a local PC may include the input devices  4270  and output devices  4280 , while a remote PC may include the other devices  4210 - 4260 , with the local PC connected to the remote PC through a network that the local PC accesses through its network connection  4290  (where the remote PC is also connected to the network through a network connection). 
     The bus  4210  collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the computer system  4200 . For instance, the bus  4210  communicatively connects the processor  4220  with the system memory  4230 , the ROM  4240 , and the permanent storage device  4250 . From these various memory units, the processor  4220  retrieves instructions to execute and data to process in order to execute the processes of the invention. In some cases, the bus  4210  may include wireless and/or optical communication pathways in addition to or in place of wired connections. For example, the input devices  4270  and/or output devices  4280  may be coupled to the system  4200  using a wireless local area network (W-LAN) connection, Bluetooth®, or some other wireless connection protocol or system. 
     The ROM  4240  stores static data and instructions that are needed by the processor  4220  and other modules of the computer system. The permanent storage device  4250 , on the other hand, is a read-and-write memory device. This device is a non-volatile memory unit that stores instructions and data even when the computer system  4200  is off. Some embodiments of the invention use a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) as the permanent storage device  4250 . 
     Other embodiments use a removable storage device (such as a floppy disk, flash drive, or CD-ROM) as the permanent storage device. Like the permanent storage device  4250 , the system memory  4230  is a read-and-write memory device. However, unlike storage device  4250 , the system memory  4230  is a volatile read-and-write memory, such as a random access memory (RAM). The system memory stores some of the instructions and data that the processor needs at runtime. In some embodiments, the sets of instructions used to implement the invention&#39;s processes are stored in the system memory  4230 , the permanent storage device  4250 , and/or the read-only memory  4240 . 
     In addition, the bus  4210  connects to the GPU  4260 . The GPU of some embodiments performs various graphics processing functions. These functions may include display functions, rendering, compositing, and/or other functions related to the processing or display of graphical data. 
     The bus  4210  also connects to the input devices  4270  and output devices  4280 . The input devices  4270  enable the user to communicate information and select commands to the computer system. The input devices include alphanumeric keyboards and pointing devices (also called “cursor control devices”). The input devices also include audio input devices (e.g., microphones, MIDI musical instruments, etc.) and video input devices (e.g., video cameras, still cameras, optical scanning devices, etc.). The output devices  4280  include printers, electronic display devices that display still or moving images, and electronic audio devices that play audio generated by the computer system. For instance, these display devices may display a GUI. The display devices include devices such as cathode ray tubes (“CRT”), liquid crystal displays (“LCD”), plasma display panels (“PDP”), surface-conduction electron-emitter displays (alternatively referred to as a “surface electron display” or “SED”), etc. The audio devices include a PC&#39;s sound card and speakers, a speaker on a cellular phone, a Bluetooth® earpiece, etc. Some or all of these output devices may be wirelessly or optically connected to the computer system. 
     Finally, as shown in  FIG. 42 , bus  4210  also couples computer  4200  to a network  4290  through a network adapter (not shown). In this manner, the computer can be a part of a network of computers (such as a local area network (“LAN”), a wide area network (“WAN”), an Intranet, or a network of networks, such as the Internet. For example, the computer  4200  may be coupled to a web server (network  4290 ) so that a web browser executing on the computer  4200  can interact with the web server as a user interacts with a GUI that operates in the web browser. 
     As mentioned above, the computer system  4200  may include one or more of a variety of different computer-readable media (alternatively referred to as computer-readable storage media, machine-readable media, or machine-readable storage media). Some examples of such computer-readable media include RAM, ROM, read-only compact discs (CD-ROM), recordable compact discs (CD-R), rewritable compact discs (CD-RW), read-only digital versatile discs (e.g., DVD-ROM, dual-layer DVD-ROM), a variety of recordable/rewritable DVDs (e.g., DVD-RAM, DVD-RW, DVD+RW, etc.), flash memory (e.g., SD cards, mini-SD cards, micro-SD cards, etc.), magnetic and/or solid state hard drives, ZIP® disks, read-only and recordable blu-ray discs, ultra density optical discs, any other optical or magnetic media, and floppy disks. The computer-readable media may store a computer program that is executable by at least one processor and includes sets of instructions for performing various operations. 
     For the purposes of this Specification, a computer is a machine and the terms display or displaying mean displaying on an electronic device. It should be recognized by one of ordinary skill in the art that any or all of the components of computer system  4200  may be used in conjunction with the invention. Moreover, one of ordinary skill in the art will appreciate that any other system configuration may also be used in conjunction with the invention or components of the invention. 
     While the invention has been described with reference to numerous specific details, one of ordinary skill in the art will recognize that the invention can be embodied in other specific forms without departing from the spirit of the invention. For example, several embodiments were described above by reference to particular media editing applications with particular features and components (e.g., particular composite display areas). However, one of ordinary skill will realize that other embodiments might be implemented with other types of media editing applications with other types of features and components (e.g., other types of composite display areas). 
     Moreover, while the examples shown illustrate many individual modules as separate blocks (e.g., the preview generator  3340 , the rendering engine  3350 , etc.), one of ordinary skill in the art would recognize that some embodiments may combine these modules into a single functional block or element. One of ordinary skill in the art would also recognize that some embodiments may divide a particular module into multiple modules. In addition, although the examples given above may discuss accessing the system using a particular device (e.g., a PC), one of ordinary skill will recognize that a user could access the system using alternative devices (e.g., a cellular phone, PDA, smartphone, BlackBerry®, or other device). 
     One of ordinary skill in the art will realize that, while the invention has been described with reference to numerous specific details, the invention can be embodied in other specific forms without departing from the spirit of the invention. For instance, alternate embodiments may be implemented by using a generic processor to implement the video processing functions instead of using a GPU. One of ordinary skill in the art would understand that the invention is not to be limited by the foregoing illustrative details, but rather is to be defined by the appended claims.

Metadata:
Filing Date: 20090501
Publication Date: 20130409
Grant Date: 20130409
Priority Date: 20090501
Inventors: MEANEY BRIAN
PENDERGAST COLLEEN
LYONS CHARLES
DEVORE DOUGLAS
Assignee: APPLE INC
CPC Classifications: [{"code": "G11B27/34", "inventive": true, "first": false, "tree": "[]"}, {"code": "G11B27/34", "inventive": true, "first": false, "tree": "[]"}, {"code": "G11B27/031", "inventive": true, "first": true, "tree": "[]"}, {"code": "G11B27/031", "inventive": true, "first": true, "tree": "[]"}]
Family ID: 43031334