6 If you have run shotcut with this user before, remove any autosaves:
8 $ rm -f $HOME/.autosave.*.westley
16 * A 'clip' is the general term used for inputs to the NLE - these are further
18 * 'stories' being any clip with both video and audio
19 * 'audio' being any clip with only audio
20 * 'stills' being any clip with only video
21 * A 'cut' is part or all of a clip
22 * A 'track' is a sequential arrangements of cuts of a particular type or types -
23 tracks are sub-classified as:
24 * 'Video' contains a back to back sequence of stories and stills
25 * 'Super' contains a sequence of titles to overlay on the Video track
26 * 'Voice Over' contains audio cuts
27 * 'Music' contains audio cuts
28 * A 'project' is an arrangement of tracks
29 * A 'template' is the base arrangement for a project and it describes track
30 information, mixing levels, transition information and other details that
31 control what can be done with a project
33 The NLE component consists of 6 main sub-components:
35 * the 'server' receives clips for use
36 * the 'browser' lists clips that's been received
37 * the 'preview' plays back clips, cuts and the project itself
38 * the 'cutting tool' is used to trim clips and finetune existing cuts
39 * the 'panel' provides a collection of tools for manipulating the cuts
40 * the 'multitrack' provides a visual representation of the project and provides
41 many manipulatons of the project itself
43 This document provides a thorough rundown of both the expected and actual
44 behaviour of the application.
52 3. CUTTING AND THE BROWSER
56 4.3 'Voice Over' TRACK
71 1.0.0 Run: shotcut-nle
72 --> should be presented with an empty nle with the shotcut logo showing
76 --> This is currently done by pressing Escape
77 +++ TODO: Agree an exit procedure
79 1.0.2 Confirm autosave file is created
80 --> ls $HOME/.shotcut/autosave.*.westley
81 --> This should respond with a single file (autosave.5260.westley)
83 1.0.3 Repeat 1.0.0 and 1.0.1
84 --> Confirm that start up/shutdown is unaffected by autosave existence
88 +++ Confirm that window starts in a 'normal window' when you specify a
89 switch of --normal-window
90 +++ Confirm that you can change port/have multiple versions running when you
91 specify a non-default port (ie: --port=5261) - this should also affect
92 the result of 1.0.2 above
93 +++ Confirm that a shutdown of the original occurs when you start a new
94 instance on a used port
101 --> confirm that arbitrary clicking on empty widgets has no side effects
103 2.0.1 In another shell, inject some clips into the process:
104 --> ie: run: shotcut-inject --port=5260 *.dv *.jpg *.mp3 etc
105 --> or use a trained instance of mc or your file manager of choice
106 --> Ensure that browser widget shows all clips entered
107 --> Invalid clips should should be received with an INVALID thumbnail/cut
108 +++ TODO: Agree on a 'technical difficulties' for missing clips in all cases
110 2.0.2 Selecting arbirtrary clips
111 --> confirm that the preview shows/plays the clips
112 --> confirm that the region above the preview shows the selected clips thumb
114 +++ TODO: show an icon for audio only clips
115 +++ Possible BUG: Clicking on selected item refreshes cutter to defaults
116 +++ BUG: Cutter tool refreshes to default of selected when clicking on scroll
119 2.0.3 Playback of selected clip
120 --> space toggles playback/pause
121 --> < and > or , and . are equivalent to |<< and >>| resp.
122 --> transport bar below the preview is active
123 *** most buttons on the transport are 'pressure sensitive' (they snap back to
124 the previous play or pause state when released, with the exceptions of |< and
125 >| which force a pause state on release).
126 +++ TODO: Reimplement |<< and >>| functionality at the project level
128 2.0.4 Selection of an image
129 --> Confirm that the default out point and length match requirements
131 2.0.5 Click on light buttons above browser
132 --> Confirm that they show/hide clips of the expected type
133 --> Confirm that cursor up/down always move to the next item shown
135 2.0.6 Double click on light buttons above browser
136 --> Confirm that only clips of the selected type is shown
137 --> Confirm that cursor up/down always move to the next item shown
139 2.0.7 Confirm placement in multitrack with ctrl-enter
140 --> clips will be placed in the active track as per the rules of a drop at the
142 --> confirm that only clips of the correct type is placed in the project
143 --> confirm that when inserted, the position on the multitrack is at the end of
145 +++ Possible BUG: this action ignores the cutting tool selection
146 +++ Possible BUG: attempts to ctrl-enter clips of the wrong type into the current
147 track will be silently ignored and the selected item will move to the next
148 as per cursor down behaviour
150 2.0.8 Confirm placement in multitrack with drag and drop from the browser
151 --> clips will be placed in the specified position as per the rules of the track
152 --> confirm that when inserted, the position on the multitrack is at the start of
154 +++ Possible BUG: this action ignores the cutting tool selection
155 +++ Possible BUG: attempts to drop clips of the wrong type onto a track will be
158 2.0.9 Confirm 'browser tracking' functionality
159 --> When the tracking button is on, navigating/playing the project should change
161 +++ TODO: Probably remove this functionality?
163 2.0.10 Confirm multitrack tracking
164 --> When you select an item in the browser, it's existence on the multitrack is
165 reflected by the colouring of the items on the multitrack - when you're
166 navigating in the browser, the multitrack will reflect this by showing the
167 items as warm or cold.
169 2.0.11 Confirm 'Clean' functionality in parallel with light buttons
170 --> Clean should remove all items in the current view which are currently not in
172 +++ BUG: Ocassionally, the last clip in use may hang around after a Clean -
173 pressing clean again should recover from this situation.
175 2.0.12 Remove all items from the project and clean (select and press Del for each item)
176 --> Confirm same behaviour as 2.0.8
178 2.0.13 Exit the NLE when the project is empty
182 +++ Confirm behaviour of synthetic producers (colour, noise etc).
183 +++ Confirm behaviour of other shotcut client applications (inigo, shotcut-editor,
184 shotcut-preview, mactor etc).
187 3. CUTTING AND THE BROWSER
188 --------------------------
190 3.0.0 Restart the NLE
191 --> If you're following on from section 2 above, the project should be empty
193 3.0.1 Inject some clips
196 3.0.2 Select an item from the browser
197 --> Confirm that the preview and cutting tool below the preview reflect the
200 3.0.3 Keyboard focus for cutting
201 --> Pressing tab from the browser cycles between:
202 *** the browser (selected item is red with focus, blue without)
203 *** cutting tool (position pointer is black or blue)
204 *** multitrack (labels on the left are light with focus, dark without)
206 3.0.4 Focus shifting to the cutting tool and keyboard control
207 --> i and o will change the in and out points to the current position
208 --> ctrl-i, ctrl-o and ctrl-p bring focus to the in, out and position slides
210 --> ctrl-u will toggle between unlocked and locked mode
211 --> left and right cursor keys will change the selected slide by 1 frame
212 --> ctrl-left and ctrl-right move the selected slide by 25 frames
213 --> home will move the position to the current in point
214 --> end will move the position current out point
215 --> ctrl-enter simulates a drop on to the currently selected cut on the
217 +++ TODO: Have keyboard equivalent for link operations
219 3.0.5 Using the mouse
220 --> clicking and dragging the in, out and position slides changes the
222 --> clicking and dragging the middle bar provides drag and drop functionality
223 --> in and out can be changed to the current position by clicking on the in and
227 --> Confirm that position cannot move outside the selected in/out region when
231 --> when in link mode, the distance between in and out will remain constant
232 when in or out points are changed
238 4.0.0 Clicking on an item in the multitrack seeks to the associated track and cut
239 --> confirm that selecting an item on the multitrack
240 *** forces focus on the multitrack
241 *** moves the position inidicator above the multitrack
242 *** causes the active track to change when necessary
243 *** causes the item above the preview to change to the selected item
244 *** the selected cuts is shown as hot
245 *** instances of other cuts from the same clip are shown as warm
246 *** overlapping items on other tracks are shown as luke warm
247 *** all other items are cold
249 4.0.1 Clicking on the multitrack while playing
250 --> space toggles playback/pause
251 --> same behaviour as 4.0.0, playback state is unaltered unless the end is reached
253 4.0.2 Clicking on labels to the left
254 --> changes selected track without altering position
255 --> multitrack is updated to reflect the warmth of the current track (as per 4.0.0)
256 --> cutting tool disappears if track is empty (at the current project position)
258 4.0.3 Cursor up and Down
259 --> Changes active track
261 [ The following sections assume testing in the default project type where all ]
262 [ tracks are available ]
268 4.1.0 Dropping items from the browser/cutting tool
269 --> All cuts are placed back to back - no gaps are allowed on this track
270 --> insertion will occur to the left or right of the existing cut, depending on
271 where the drop occurs on an existing cut
272 --> Only 'Projects', 'Stories' and 'Stills' are accepted on this track
275 --> Attempts to move onto another track will be reject
276 --> same placement rules as 4.1.0, and affected track behaviour is similar with
277 the items on the lower tracks being moved if they meet the following
281 --> Confirm that cuts can be removed
282 --> Only blanks from Voice Over are removed
284 4.1.3 Double clicking on a cut turns it into an SB
287 4.1.4 Right button click
288 --> Mutes or unmutes the audio for the cut selected
290 4.1.5 Exit and restart the nle
291 --> Ensure that mute and SB settings are retained
297 4.2.0 Dropping items from the browser/cutting tool
298 --> will have no effect - supers are introduced via the 'Super Panel'
301 4.3 'Voice Over' TRACK
302 ----------------------
304 4.3.0 Dropping items from the browser/cutting tool
305 --> only audio only items will be accepted
311 4.4.0 Dropping items from the browser/cutting tool
312 --> only audio only items will be accepted
319 --> This panel is only populated when editing a cut from the Video track
321 5.0.1 Turning on and off
322 --> confirm that the item is reflected correctly in the preview
329 --> This panel is only populated when editing a cut from the Video track
330 --> super won't be directly selectable
338 --> This panel is only populated when editing a cut from the Video track
339 --> super won't be directly selectable
347 8.0.0 State retention/display
348 --> Selecting an item via the browser will enable the project and clip comments
349 and populate them correctly
350 --> Selecting an item via the multitrack will enable the project, clip and cut
351 comments and populate them accordingly
357 9.0.0 Preview behaviour
358 --> Cuts between scenes should show transitions
360 9.0.1 Cutting tool behaviour
361 --> The only slider left is the position slider
363 9.0.2 Multitrack editing
370 10.0.0 Press New Project
371 --> Selection presents a list of available templates
374 --> Window is closed, current project remains
376 10.0.2 Press New Project, enter a title, select a template an press OK
377 --> multitrack should be emptied and adopt the tracks of dictated by the template
378 --> Title should appear in the Comments Panel
385 --> Behaviour is to pass the project to the default miracle server
386 --> When shotcut-server is running, a list of targets should be presented
393 --> exit the application at any point and restart
395 *** the used items from the previous session are present in the browser
396 *** the multitrack and user settings in the panels are recovered
399 --> All modifications on the panels and multitrack are recovered with ctrl-z and
401 +++ INTENDED: Only items that affect playout are tracked with undo/redo
403 12.0.2 Track CPU usage and memory
404 --> shotcut-nle should have low cpu usage when in a paused state
406 12.0.3 'Hidden' state
407 --> when the shotcut-nle window is hidden (by switching workspaces in your window
408 manager, or minimising when in --normal-window mode), the current play state
409 should drop to paused and the main mlt consumer component should be stopped -
410 when the application is re-displayed, it should be restarted in a paused state.
412 12.0.4 Editing during playback
413 --> this should cause a pause as soon as an edit operation is attempted
415 12.0.5 Exiting during playback
416 --> this should cause a pause as soon as an exit operation is attempted
418 12.0.6 Panel shortcuts
419 --> ctrl 1 to 4 should switch the active panels
421 12.0.7 Multitrack button shortcuts
422 --> alt 1 to 8 should activate the buttons at the bottom of the multitrack