Andrea reorganization of manual
authorGood Guy <[email protected]>
Thu, 3 Sep 2020 00:51:30 +0000 (18:51 -0600)
committerGood Guy <[email protected]>
Thu, 3 Sep 2020 00:51:30 +0000 (18:51 -0600)
19 files changed:
CinelerraGG_Manual.tex
images/bump-autos-01.png [new file with mode: 0644]
images/bump-autos-02.png [new file with mode: 0644]
images/bump-autos-04.png [new file with mode: 0644]
parts/Advanced.tex [new file with mode: 0644]
parts/Configuration.tex
parts/Editing.tex
parts/FFmpeg.tex
parts/Installation.tex
parts/Introduction.tex
parts/Keyframes.tex
parts/Loadandsave.tex
parts/Plugins.tex
parts/Real-World.tex
parts/Shortcuts.tex
parts/Stuff.tex
parts/Tips.tex
parts/Trouble.tex
parts/Windows.tex

index bcf4f73fd0730213b4211036b8addf50eea01ce8..2833eefe4040a514d41ac33215db7a80d1a6f55c 100644 (file)
@@ -32,6 +32,7 @@ svgnames,
 \include{parts/Attributes}
 \include{parts/Loadandsave}
 \include{parts/Editing}
+\include{parts/Advanced}
 \include{parts/Rendering}
 \include{parts/Keyframes}
 \include{parts/FFmpeg}
@@ -40,7 +41,6 @@ svgnames,
 \include{parts/Overlays}
 \include{parts/Recording}
 \include{parts/DVD}
-\include{parts/Multi5s}
 \include{parts/Shortcuts}
 \include{parts/Configuration}
 \include{parts/Stuff}
diff --git a/images/bump-autos-01.png b/images/bump-autos-01.png
new file mode 100644 (file)
index 0000000..82016fe
Binary files /dev/null and b/images/bump-autos-01.png differ
diff --git a/images/bump-autos-02.png b/images/bump-autos-02.png
new file mode 100644 (file)
index 0000000..aed0f26
Binary files /dev/null and b/images/bump-autos-02.png differ
diff --git a/images/bump-autos-04.png b/images/bump-autos-04.png
new file mode 100644 (file)
index 0000000..12c3862
Binary files /dev/null and b/images/bump-autos-04.png differ
diff --git a/parts/Advanced.tex b/parts/Advanced.tex
new file mode 100644 (file)
index 0000000..6b40b54
--- /dev/null
@@ -0,0 +1,1041 @@
+\chapter{Advanced Editing}%
+\label{cha:advanced_editing}
+
+\section{Proxy}%
+\label{sec:proxy}
+
+Working with videos that have large image geometry can greatly impede editing.  Instead you can substitute \textit{proxies} which will create smaller video image files from the original file that can then be edited more quickly.   When you are done working on this smaller scale, you will need to bring up the Proxy settings menu again, and change the Scale factor back to the Original size so that all of your edits/work take affect on that original higher quality video on the timeline.  
+
+To use this feature, select \texttt{Settings $\rightarrow$ Proxy settings} and change the Scale factor from Original size to your downsized choice.  You can choose ffmpeg as the File Format and a choice of various codecs associated with that.  A good choice is the default of mpeg which can usually be quite fast.  In addition, to modify values for that codec, click on the wrench icon.  When you have completed your choices, just click OK, and then the video tracks will be rendered. This may take some time, but previous proxy renders will be reused.  
+The proxy videos will be added to your assets in a separate Proxy folder, and the video track edits will use the proxies.
+The assets in both the Media folder and Proxy folder will look proxied when dragged to the Viewer although the scale may be different.
+Proxy downsizing renders all loaded tracks, but only work on the $1^{st}$ video layer of any multi-layer media.  Rendered proxy media is saved in the same directory as the original media.
+However, if you proxy your session, the clips do not get proxied to the Proxy folder, but if you Drag and Drop the clip from the Clip folder to the Viewer or the Timeline, you will see that it too is proxied.  
+As usual, you can delete proxy files from the project or disk in the Resources window if you no longer want to retain them.
+And you can save your project either as proxied or not.
+
+Because Proxy works on the original media in all circumstances, when you resize the
+media in the Resources window, it does not actually resize the media but puts it in
+a "buffer" in that format. This might lead to some confusion for the user who
+expects this resizing to be maintained when disabling Proxy for that media. However,
+that does not happen because the resize is only in a buffer and not in the original
+media. This result is different than in the case of media "edits", like cuts or
+adding plugins because this information is not in a buffer but rather part of the
+copy "Editing Decision List" (EDL).
+
+You can also nest clips while in a proxied state, but you can not drag the proxied nested clips
+to the viewer or the timeline.
+If you create proxies for Nested clips they will be saved in \texttt{\$HOME/Videos} unless you modify that in
+\texttt{Settings $\rightarrow$ Preferences, Interface} tab, \textit{Nested Proxy Path}. 
+
+There are two ways that the proxy files can be used, with or without input scaling. When the proxy is done without rescaling, the Mask, Camera and Projector automations are re-scaled accordingly. In this situation, the entire project will be re-sized so that the session is in the resized geometry.  Not all plugins are useful when the project is rescaled, because the keyframe data must be in the original geometry.  In this case, you can use the rescaler, by enabling \textit{Use scaler (FFMPEG only)}. This has the added advantage that the project size does not change and the proxy media is down-scaled as usual and up-scaled on read-in, which means the project editing is done in full scale.   Since decoding is done on smaller video, there is a time savings, but all rendering is done full scale.  The main reason for using \textit{scaler} is that it does not change the image coordinate data, so that automation and plugin parameters will be in the original project geometry.   This is not as fast as the first option, but is a performance gain, and may be needed if you are using plugins that need coordinate data such as the Title plugin.  As noted, the scaler only works on ffmpeg video formats.
+
+In the upper right hand corner of the main window, there is a toggle button to easily switch back and forth when you have a proxied file on the timeline.  The icon is to the left of the FF icon.  It will have the letter “P” as the icon for Proxy or if \textit{Using Scaler}, the letter “S”. \quad \includegraphics[height=\baselineskip]{proxy-01.png} \quad This quick switch is especially useful when editing and you need to see a better image temporarily.
+
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=0.5\linewidth]{proxy-02.png}
+       \caption{Proxy settings dialog}
+       \label{fig:proxy-02}
+\end{figure}
+
+Screencast in figure~\ref{fig:proxy-02} shows the Use scaler checked so you can still use plugins and the original project size is kept.  The Scale factor pull-down gives you available size options.  Note the new media dimensions shown (partially covered).  If the size is an odd number, 1 is added to make the dimensions both even numbers.
+
+In the case of the scaler checkbox, it will retain that setting for ease of use.
+
+There is also a convenient \textit{Beep on done volume} dial included so that you can work on other tasks until there is an audible notify of completion.  The default volume is set to 0 for no audible notify.
+
+A good choice for proxy settings with 1080p source video is:
+
+\begin{lstlisting}[numbers=none]
+Scale Factor:  1/4
+Use Scaler:    unchecked
+File Format:   FFMPEG - mpeg
+Video Preset:
+Compression:   mpeg.mpeg
+Bitrate:       1800000
+Quality:       -1
+Pixels:                yuv420p
+\end{lstlisting}
+
+If you get errors for some videos, such as those with strange variable bit rate or some types of files made on a smartphone, a usually reliable alternative is to change the following parameters:
+
+\begin{lstlisting}[numbers=none]
+File Format:   FFMPEG - mov
+Video Preset:
+Compression:   mov.mov
+\end{lstlisting}
+
+Or if you want small files with high image quality, a File Format of m2ts is optimal.  For example a 1 GB file can be reduced to 50 MB with scale $\frac{1}{2}$. 
+
+Checking the \textit{Auto proxy/scale media loads} results in any additional media loads to be automatically proxy scaled.  However, single frame media such as PNG or JPEG \textit{stills}, can not be scaled to \textit{stream} media.  If this type of media exists, you should \textit{use scaler}.
+
+If you get error messages when creating proxies, check the Video wrench settings.  These usually default to values that are expected to work correctly for the \textit{File Format} and codec you selected but they can be changed and may result in errors.  If you get an error message of \textit{check\_frame\_rate failed} followed by \textit{Error making proxy} in the popup Errors window, do just that and check the Frame rate value by going to the Resources window, Media folder, and use the right mouse button for the Info option for that specific media in question.  You can change the frame rate in this window to a more codec acceptable value.  Different codecs may have different legal values.
+
+More specific information on which plugins need to use scaler is provided here next.  If the keyframe data uses coordinate data that is absolute, then the scaler should be used.  If the data is normalized (like always $0-100\%$) then the proxy can be done without the scaler.  The session geometry format, shown in \texttt{Settings $\rightarrow$ Format} as $width \times height$, is changed if the scaler is not used to cause all of the data to be in the reduced format.  If this affects the plugin operation, then scaler should be used.  Examples of plugins that need the scaler are: Title, AutoScale, Scale, ScaleRatio, and Translate.  Most others are safe to use without scaling.
+
+\section{Transcode}%
+\label{sec:transcode}
+
+Transcode, an option under the \textit{Settings} pulldown right next to the Proxy settings option, is a type of full resolution \textbf{1:1 Proxy}.
+The process of transcoding works directly from the resource; it is independent of the timeline. 
+All of the loaded asset media will be converted, that is, rendered in the selected format and loaded onto the timeline. 
+Menu choices besides the usual File Format and File Type include: \textit{Tag suffix} (to add to media filename), \textit{Remove originals from project}, \textit{Into Nested Proxy directory} (an option to have the file saved here instead of the location of the original media), and \textit{Beep on done} volume.
+
+The settings of the project have an effect, for example the dimensions are taken into account. The resulting files are also larger than if they were created directly with ffmpeg.
+Transcode works for videos with or without audio and even single frame files, like png's.
+If you have a video file that also contains audio, and you convert only the video, the original audio will stay on the timeline if do not check \textit{Remove originals from project}. Or vice versa if audio converted and not video.
+Multiple stream media will only transcode the first stream (this would be like the TV channel recordings in the United States).
+You will get an error message if you already have a transcoded file in the selected format with the same suffix name and try to transcode it again with a different selection made -- you will have to delete that file first. An example would be
+an already converted file that has both video and audio and now you request video only. 
+
+The BIGGEST gain from using this is if you have media that is not \textit{seekable}, that is, you can play it from the beginning but can not move to another spot and have the audio or video play correctly. A video file with no keyframes makes seeking next to impossible, but then a Transcode generally adds these keyframes. 
+
+
+\section{OpenEDL}%
+\label{sec:openedl}
+
+To edit EDL that is included with your project as Clips, Nested
+Clips, Referenced File, or Xml you can use the option \textit{Open
+       EDL} in the Resources window for the highlighted media.  Then with
+a simple button click you can return to your main timeline project.
+For example, if you have a nested clip that originally had several
+plugins added to it before it was nested, you can edit those plugin
+parameter values. Previously to make any changes to these types of
+EDL you had to remake the whole clip from scratch.
+
+Here is how this works. In the Clip or Media folder or on a timeline
+EDL edit, the option \textit{Open EDL} for the highlighted clip or
+nested clip is available so that when you choose this option, that
+EDL will be brought up on the timeline superseding the current EDL
+that exists on the timeline.  Now, once the clip is open on the
+timeline, you can edit it however you want. The previous timeline
+EDL is \textit{pushed onto a stack} so it can be recalled by
+\textit{popping the stack} with a click of the left mouse button in
+the upper right hand corner of the timeline to the left of the
+\textit{shell cmds} icon.  Initially this button displays a 0 to
+indicate your initial timeline/project.  Then this button will read
+1 if you choose \textit{Open EDL} and then back to 0 and your
+original timeline with the left mouse click.  You can go several
+levels deep so instead of 1, it could be 2, 3, $\dots$ but this
+requires some thought to avoid potential confusion.
+
+An example of a typical set of steps to follow is:
+\begin{enumerate}
+       \item Load your media using insertion strategy of \textit{Replace
+               current project}.  There will be number 0 in the upper right hand corner
+       of the main menu with the tooltip of \textit{Close EDL}.
+       \item Highlight a selection on the timeline and press the
+       \textit{To clip} icon and click the green checkmark OK.
+       \item In the Resources window, open the Clip folder and you will
+       see that Clip 1 is present.
+       \item Highlight Clip1 and right mouse the item to bring up
+       available options and select \textit{Open EDL}.
+       \item Now you will see the timeline change from the original
+       media to just the clip content and the number in the upper right hand
+       corner will change from 0 to 1.
+       \item Add a visible effect, like AgingTV to the timeline.
+       \item Click on the number 1 in the main menu bar to see the timeline
+       restored to the original media.
+       \item Drag the clip from the Resources Clip folder to the
+       timeline and you will see the AgingTV effect.
+\end{enumerate}
+
+You can follow the same steps as above by first using the option
+\textit{Nest to media} in the Clip folder which nests the clip and
+moves it out of the Clip folder to the Media folder.  Then use
+\textit{Open EDL} on the Nested EDL in the media folder.  When you
+Open EDL and edit the changes, those changes will take affect on any
+and all occurrences of that nested clip on the current and/or
+original timeline. The option to unnest that clip and put that back
+into the Clip folder is the option \textit{EDL to clip}.  The nested
+clip is still in the Media folder.  It will now have a name of the
+next available Clip number but the comment contains the previous name so
+you can tell where it came from.
+
+Instead of using the number on the main menu to close the current
+EDL, both the Media and Clip folders have \textit{Close EDL} options
+with the left mouse button. Clicking on the number button is quick and
+easy but for infrequent usage it is not obvious, whereas if you use
+\textit{Open EDL} you see \textit{Close EDL} right below that and so
+it is very obvious.  In addition in the case of where you have
+opened a EDL, and you no longer see that clip in the folder, the
+right mouse button where no media is highlighted will also display
+the Close EDL option.
+
+%\pagebreak
+\begin{figure}[h]
+       \centering
+       \includegraphics[width=1\linewidth]{editing-img001.png}
+       \caption{Once you have an Open EDL, the easiest way to close it.}
+       \label{fig:open_edl}
+\end{figure}
+\relax
+
+In addition to the \textit{Open EDL} option in the Resources menu,
+this option is available on the timeline when the cursor is on an
+EDL-type edit. To get to this option, click on the middle mouse
+button on that edit.  If it is not EDL, the option will not be
+shown.  In summary:
+
+\begin{center}
+       \begin{tabular}{ll}
+               \toprule
+               Media folder of Resources window & Open EDL for Nested or Referenced EDLs\\
+               Clip folder of Resources window & Open EDL for clips\\
+               Track timeline & Open EDL for Nested or Referenced EDLs\\
+               \bottomrule
+       \end{tabular}
+\end{center}
+
+An aside -- when nesting and unnesting clips to take advantage of
+this feature, names of the media can lead to some confusion.  For
+example, if you nest a clip, the new name in the Media folder is the
+word \textit{Nested} followed by an underscore with the date and
+timestamp, another underscore, and then the clip name.  Then when
+you unnest this Media folder clip via the \textit{EDL to clip}
+option, the name will be changed in the Clip folder to the next
+available Clip number.  However the comment field will reflect the
+nested clip name from which it was derived.  To avoid confusion you
+can easily change the name for these clips in either the Clip or
+Media folder because they are not real files at this point. To do
+so, highlight the clip name in Resources, click on Info and type in
+a new name.
+
+For additional safety, the \textit{Open EDL} feature includes
+additional backup capabilities. Automatically \CGG{} saves a backup
+when certain changes are made or you can always use the shortcut `b'
+to do one yourself, although keep in mind it will be overwritten
+whenever \CGG{} wants to do another backup.  Now there is a shortcut
+for the backup shortcut `b' so you can keep your hand on the mouse
+instead of the keyboard.  Just click on the number button in the upper right
+hand corner of the main window.  If number is at 0, it backs up to
+backup.xml, if at 1, it backs up to \texttt{backup1.xml} and so on
+\dots up to \texttt{backup9.xml}.
+
+When \textit{Open EDL} is invoked, the current EDL and current undo
+stack are both \textit{pushed}, and the active session EDL is
+replaced with the target clip/nested edl.  A new undo stack is
+created, and the active \texttt{backup.xml} file name is decorated
+with the stack level.  So, \texttt{backup.xml} is
+\texttt{backup1.xml} when your edits are at stack level 1,
+\texttt{back\-up2\-.xml} at stack level 2, and so on.  This means
+that if you \textit{load backup} at stack level 1, the session will
+reload from history at stack level 1, not the main session.
+
+See a real-world workflow at appendix \nameref{sec:workflow_openedl_nested_clips}
+
+\section{File by Reference}%
+\label{sec:file_by_reference}
+
+It is sometimes handy to have EDL assets not as a copy, but as a
+reference that is automatically updated into your project.  Suppose
+you have several short videos that at the end have the same credits
+which include the current year such as 2019.  But now it is 2020 and
+all of the videos would have to be individually updated with the new
+date.  By including a \textit{Referenced File} as the EDL file type
+when you create each of the videos, you can just change the one
+credits xml file and the next time you load one of the videos and
+render it, it will now automatically have the updated information.
+
+The purpose of this feature is to be able to rework a smaller
+section of a global master project at any time, which can be done by
+an "assistant" (i.e. external software like GIMP or Inkscape, $\dots$) and then this work is automatically reflected in the
+global master project.  It is for \textbf{advanced usage only}.
+
+Up until the addition of this feature, \CGG{} has always used copies
+and no direct reference in order to ensure original data is never
+compromised.  In the usual case, subprojects as xmls are copied into
+a master project where subprojects had been inserted, so that if you
+change something in a subproject or delete a subproject, it would
+have no affect on the master project.  But now with \textit{File by
+       Reference}, any project that uses a referenced file will
+automatically include any changes made to the referenced file when
+loaded.  At the same time, if you use the EDL file NOT as a
+referenced file in a project since it is then just a copy, it will
+not be updated.  Because of this difference, the user needs to be
+very aware of what using this feature could do.
+
+\textbf{Use with extreme caution}.  However, there are several
+built-in safety features and a warning that should never be turned
+off even though it gives you the option to do so.  These include:
+
+\begin{enumerate}
+       \item When the \texttt{File, Load files} menu is opened, the EDL
+       strategy will always be set to just EDL as default.  Although, if
+       you use Apply and leave the Load Menu open, it will stay changed to
+       what you selected until it is re-opened.
+       \item When an EDL is opened as \textit{Reference}, the color of
+       that file name in the Resources Media folder is different in order
+       to serve as a reminder that it is special.
+       \item A warning message is displayed in a popup window when you
+       load a \textit{File by Reference} that reads \texttt{Other projects can
+       change this project and this can become a broken link}.  Although
+       you can check the warning box to never see this warning again, you
+       would be well advised to not do so.  It is a great reminder of
+       consequences and you will not want to be cavalier about the warning.
+       Instead just use the X to dismiss the warning.
+\end{enumerate}
+
+Here is a step by step example of how you can use \textit{File by
+       Reference}:
+\begin{enumerate}
+       \item Start up \CGG{} and use the Title plugin to create a new
+       credits file.  Save as credits.xml.
+       \item Start a New project and then load an existing master
+       project to the timeline.
+       \item Load the credits file you created in step 1 with a Load
+       Strategy of Create Resources Only and with EDL Strategy as
+       \textit{Reference}.
+       \item Note the color change in the credits.xml filename and the
+       reference comment in the Resources Media folder.
+       \item Drag the credits file to an empty spot on the timeline.
+       Save this new master project and quit.
+       \item Start \CGG{} up again.  Load credits.xml and make a change
+       to the Title and save again.
+       \item Exit \CGG{}; restart \CGG{}; load your master project and
+       now you will automatically see on the timeline the changes you just
+       made in the previous step.
+\end{enumerate}
+
+\section{Trimming}%
+\label{sec:trimming}
+
+With some edits on the timeline it is possible to do trimming. By
+trimming you shrink or grow the edit boundaries by dragging them. In
+drag and drop mode or cut and paste mode, move the cursor over an
+edit boundary until it changes shape. The drag handle shows as a
+left or right facing fat arrow when you cursor near the clip start
+or end.  If the cursor faces left, the dragging operation affects
+the beginning of the edit. If the cursor faces right, the dragging
+operation affects the end of the edit.
+
+The effect of each drag operation not only depends on the behavior
+button but whether the beginning or end of the edit is being
+dragged. When you release the mouse button, the trimming operation
+is performed.
+
+For all file formats, other than still images, the extent of the
+trimming operation is limited to the source file length. Attempting
+to drag the start of the edit beyond the start of the source, limits
+it to the source start. In all trimming operations, all edits which
+start on the same position as the cursor when the drag operation
+begins are affected. You have to disarm tracks in order to prevent
+edits from being affected.
+
+You have 6 different choices of which mouse button to use for
+specific types of editing while using the drag handle.  You change
+the drag handle mouse effects by using the \texttt{Settings
+       $\rightarrow$ Preferences  $\rightarrow$ Interface} tab and
+modifying the Editing section as shown in the next
+figure~\ref{fig:trim}. The drag handle affects not only the clip you
+are working on but also frequently the entire duration of all clips
+on the timeline.
+
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=0.5\linewidth]{trim.png}
+       \caption{Default choices for mouse: Ripple for button 1; Roll
+               for button 2; Slip for button 3}
+       \label{fig:trim}
+\end{figure}
+
+A description of the fundamental/common terminology for choices
+follows.
+
+\begin{description}
+       \item[All Edits (ripple)] shorten or lengthen the start or end
+       of a single piece of media while moving all media to the right of
+       that clip up or down on the timeline correspondingly.  Timeline
+       duration is modified.  In a drag \textit{All Edits} operation, the
+       beginning of the edit either cuts data from the edit if you move it
+       forward or pastes new data from before the edit if you move it
+       backward. The end of the edit pastes data into the edit if you move
+       it forward or cuts data from the end of the edit if you move it
+       backward. All the following edits shift. If you drag the end of the
+       edit past the start of the edit, the edit is deleted.
+       \item[One Edit (roll)] move the in and out point of a single
+       clip without changing the timeline duration. In a drag \textit{One
+               Edit} operation, nothing is cut or pasted. If you move the beginning
+       or end of the edit forward, the source reference in the edit shifts
+       forward. If you move the beginning or end of the edit backward, the
+       source reference shifts backward. The edit remains in the same spot
+       in the timeline but the source shifts.
+       \item[Src Only (slip)] move the in and out point of a single
+       clip without changing the timeline duration. In a drag \textit{Src
+               Only} operation, nothing is cut or pasted. If you move the beginning
+       or end of the edit forward, the source reference in the edit shifts
+       forward. If you move the beginning or end of the edit backward, the
+       source reference shifts backward. The edit remains in the same spot
+       in the timeline but the source shifts.
+       \item[Slide] a single clip is moved but retains its current in
+       and out point; however the out point of the clip to the left changes
+       and the in point of the clip to the right also changes.  Timeline
+       duration remains the same.
+       \item[Edge Left/Right] moves the edge of the clips.
+       \item[No effect] no changes are made.  You might want to use
+       this choice to prevent accidental movements.
+\end{description}
+
+The next table displays the options and results
+with the Key Table here first.
+
+\begin{lstlisting}[style=sh]
+s = src media start
+p = proj position
+l = length
+c = cut distance
+rest == p+=c: for rest of clips
+01 = flags edits_moved, rest_moved
+\end{lstlisting}
+
+\renewcommand{\arraystretch}{1.15}
+\begin{center}
+       %\caption{}
+       %\label{tab:}
+       % Tell table to adjust font to fix on the page using \resize    
+               \begin{longtable}{lllll}
+                       \toprule
+                       &  & \textbf{Drag Left} & \textbf{Drag Right} &\\
+                       \midrule
+                       \multicolumn{2}{l}{\textit{curr s += c, l -= c; + rest}} & $\leftarrow$ & $\rightarrow$ & \textit{rest}\\
+                       abc12345xyz & \textbf{Ripple} left edge 11 $\rightarrow$ & abc012345xyz & abc2345xyz &\\
+                       \midrule
+                       \multicolumn{2}{l}{\textit{curr l += c; + rest}} & $\leftarrow$ & $\rightarrow$ & \textit{rest}\\
+                       abc12345xyz & \textbf{Ripple} right edge 01 $\rightarrow$ & abc1234xyz & abc123456xyz &\\
+                       \midrule
+                       \multicolumn{2}{l}{\textit{prev l += c; curr ps+= c, l -= c}} & $\leftarrow$ & $\rightarrow$ &\\
+                       abc12345xyz & \textbf{Roll} left edge 00 $\rightarrow$ & ab012345xyz & abcd2345xyz &\\
+                       \midrule
+                       \multicolumn{2}{l}{\textit{curr l += c; next ps+= c, l -= c}} & $\leftarrow$ & $\rightarrow$ &\\
+                       abc12345xyz & \textbf{Roll} right edge 00 $\rightarrow$ & abc1234wxyz & abc123456yz &\\
+                       \midrule
+                       \multicolumn{2}{l}{\textit{s -= c}} & $\leftarrow$ & $\rightarrow$ &\\
+                       abc12345xyz & \textbf{Slip} left edge 10 $\rightarrow$ & abc23456xyz & abc01234xyz &\\
+                       \midrule
+                       \multicolumn{2}{l}{\textit{s -= c}} & $\leftarrow$ & $\rightarrow$ &\\
+                       abc12345xyz & \textbf{Slip} right edge 10 $\rightarrow$ & abc23456xyz & abc01234xyz &\\
+                       \midrule
+                       \multicolumn{2}{l}{\textit{prev l += c; curr p+= c; next ps += c, l -= c}} & $\leftarrow$ & $\rightarrow$ &\\
+                       abc12345xyz & \textbf{Slide} left edge 10 $\rightarrow$ & ab012345wxyz & abcd12345yz &\\
+                       \midrule
+                       \multicolumn{2}{l}{\textit{prev l += c; curr p+= c; next ps += c, l -= c}} & $\leftarrow$ & $\rightarrow$ &\\
+                       abc12345xyz & \textbf{Slide} right edge 10 $\rightarrow$ & ab12345wxyz & abcd12345yz &\\
+                       \midrule
+                       \multicolumn{2}{l}{\textit{curr s -+= c, l += c; + rest}} & $\leftarrow$ & $\rightarrow$ & \textit{rest}\\
+                       abc12345xyz & \textbf{Edge} left edge 11 $\rightarrow$ & abc2345xyz & abc0123456xyz &\\
+                       \midrule
+                       \multicolumn{2}{l}{\textit{curr l -+= c; + rest}} & $\leftarrow$ & $\rightarrow$ & \textit{rest}\\
+                       abc12345xyz & \textbf{Edge} right edge 01 $\rightarrow$ & abc1234xyz & abc123456xyz &\\
+                       \bottomrule
+               \end{longtable}
+\end{center}
+\renewcommand{\arraystretch}{1}
+
+Next, a more immediate and colorful view shows these trimming
+options (figure~\ref{fig:trim-color}).
+
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=0.8\linewidth]{trim-color.png}
+       \caption{The 5 types of Trim: note the different lengths of the results.}
+       \label{fig:trim-color}
+\end{figure}
+
+\paragraph{How to do a J-cut or L-cut} A J-cut is a split edit film
+editing technique in which the audio from a following scene overlaps
+the picture from the preceding scene, so that the audio portion of
+the later scene starts playing before its picture as a lead-in to
+the visual cut.  An L-cut is a different split edit film editing
+technique in which the audio from preceding scene overlaps the
+picture from the following scene, so that the audio cuts after the
+picture, and continues playing over the beginning of the next scene
+(figure~\ref{fig:j-cut}). To do either a J-cut or an L-cut, you
+first shorten the first or second video a little.  Then you block
+the audio tracks from changing by disarming the appropriate tracks.
+Finally use \textit{One Edit (roll)} the cutting edge off the
+videos.  Moving to the right creates a J-cut and moving to the left
+creates an L-cut.
+
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=0.8\linewidth]{j-cut.png}
+       \caption{J-cut to left and L-cut to right}
+       \label{fig:j-cut}
+\end{figure}
+
+
+\subsection{Split View in Compositor Using the Drag Handle with Trim}%
+\label{sub:split_view_compositor_using_drag_trim}
+
+The Trim Feature using the drag handle provides some good ways to
+view your video while editing.  The playback position in the
+compositor is updated live and the view in the compositor can be
+split so that in the left half of the compositor you can see the
+last frame of the left clip and in the right half the first frame of
+the right clip.  Dragging edits can not be extended past the
+beginning or the end.
+
+First familiarize yourself with button operation; check your setup
+by executing the following step.  In the \texttt{Settings
+       $\rightarrow$ Preferences $\rightarrow$ Interface} tab, Editing
+section, clicking on the edit boundaries can be set for Button 1, 2,
+3 as one of the following:
+
+\textit{Ripple}; \textit{Roll}; \textit{Slip}; \textit{Slide};
+\textit{Edge} or \textit{No effect}
+
+Now to use this feature, create a track with edits that have trims
+on the left and/or the right. The edit boundary can be modified
+using \textit{drag handles} at the boundary between the edits
+(figure~\ref{fig:trim-display}).
+
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=1\linewidth]{trim-display.png}
+       \caption{Split compositor screen showing the result of the Trim feature}
+       \label{fig:trim-display}
+\end{figure}
+
+\begin{description}
+       \item[Left Mouse Button (LMB) usage:] If you grab the edit
+       handle from the right side, you will see a left arrow and dragging
+       the boundary will modify the right edit playback starting time. If
+       you grab the edit handle from the left side, you will see a right
+       arrow and dragging the boundary will modify the left edit playback
+       ending time. In both cases, the composer will show the edit endpoint
+       of the changed edit.
+       \item[Shift LMB usage:] The effect on the edits is the same as
+       described above, but the composer will show a split screen of the
+       left and right edits as they appear at the drag handle
+       boundary. Dragging will only change one of the two images, since
+       only one edit is being changed.
+       \item[Middle Mouse Button (MMB) usage:] Both the left and the
+       right edit ending/starting times are updated.  The image shown in
+       the compositor will be drawn from the side of the drag grab, that is
+       the left if it is grabbed from the left, and the right if it is
+       grabbed from the right.
+       \item[Shift MMB usage:] The effect on the edits is the same as
+       described above, but the composer will show a split screen of the
+       left and right edits as they appear at the drag handle boundary.
+       Dragging will change both of the two images, since both edits are
+       being changed.
+       \item[Right Mouse Button (RMB) usage:] The start/end point of
+       the current edit is moved, but the edit length is unchanged only one
+       image changes since only one edit endpoint is view is updated.
+       \item[Shift RMB usage:] The effect on the edits is the same as
+       described above, but the composer will show a split screen of the
+       left and right edits as they appear at the drag handle boundary.
+       Dragging will only change one of the two images, since only one edit
+       is being changed.
+\end{description}
+
+
+
+
+\section{Nesting clips and assets}%
+\label{sec:nesting_clips_and_assets}
+
+\subsection{Nested Assets}%
+\label{sub:nested_assets}
+
+A nested asset is an EDL session that
+embeds an existing EDL session, all tracks, all plugins, editing,
+and effects into a media object that appears as one audio/video
+media object, no plugins, editing, or effects.  It is as if the
+existing EDL was rendered, and loaded in its place.  This has
+several interesting side effects.  First, you don’t have to render
+the entire media file to see any portion.  Second, it requires no
+rendering compute time or storage.  Third, it changes the precedence
+of the composer so that you get more control over the projection and
+automation, so that the results can be sent into another rendering
+step, not simply part of the current stack.  It groups the plugin
+stack in much the same way that an arithmetic expression is grouped
+by parenthesis.
+
+The EDL session and the rendered output are visually equivalent.
+Nested assets allow for complex grouping and stacking of effects,
+and makes media access much more flexible.  This feature can be used
+recursively, that is, any number of sessions may be stacked and
+referenced as an asset, as long as all of the rendering resources
+are available.  Nested assets are added to the timeline by using the
+pulldown \texttt{File $\rightarrow$ Load files}\dots on the main
+menu and selecting the \textit{Insertion strategy} of \textit{Nest
+       asset}. The file will be pasted into the timeline over the current
+selection or at the insertion point.
+
+It is somewhat important to note that nested assets and nested clips
+will have index files automatically created.  These index files can
+start to clutter up your \texttt{\$HOME/.bcast5} directory with
+files named \texttt{Nested\_\#\#\#.idx} and you may want to
+periodically delete any index files which are no longer in use.
+
+\subsection{Nested Clips}%
+\label{sub:nested_clips}
+
+ It is also possible to create
+\textit{clips} and convert them to \textit{nested edl}.  This is
+done by first creating a clip using the standard cut, clipboard,
+paste, and/or edit panel buttons.  Now, using the resources
+\textit{clip} folder, select a clip to be nested, and use the right
+mouse button to select a clip.  This activates the clip popup menu.
+Select the \textit{Nest to media} menu item, and the clip will be
+converted to a \textit{Nested: Clip} and put in Media
+folder. Conversely, you can select a \textit{Nested: Clip}, use the
+\textit{EDL to clip} menu item, and the clip will be reverted to a
+\textit{Clip}.  This works similarly to the group / un-group editing
+features of many graphic design editing programs, but in this case
+the groups are rendered compositions (figure~\ref{fig:nesting}).
+
+Nested clips can be proxied and when they are, the resulting files
+are placed in the user's \texttt{\$HOME/Videos} directory by default.  This
+can be modified by changing
+
+\texttt{Settings $\rightarrow$ Preferences $\rightarrow$ Interface}
+tab, Nested Proxy Path.
+
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=1.0\linewidth]{nesting.png}
+       \caption{Nested clips in Timeline and Resources window}
+       \label{fig:nesting}
+\end{figure}
+
+\paragraph{Notes:} creating nested clips is a complicated internal process for \CGG{}, especially for managing audio tracks. Therefore you need to make sure you have your project set up as you expect before you start nesting with the \texttt{Nest to Media} command.  Below are several things to remember.
+
+\begin{itemize}
+       \item The creation of the nested clip is based on the settings in \texttt{Settings $\rightarrow$ Format}. Be sure that the number of audio tracks and channels is the same as we want to have in the nested clip. In addition, it is better to make each audio track independent from the others (which could be linked in more than one channel) using the option: \texttt{Audio $\rightarrow$ Map 1:1}
+       \item You can do any editing on the nested clip once it is loaded to the timeline. For example we can start an OpenEDL session to make the changes. Once out of the OpenEDL session it may be that the changes made are not visible in the original nested clip. You can fix this by doing RMB on the nested clip in the \textit{Resources/Media} window and choosing \texttt{Rebuild index}. This process may take some time depending on the size of
+the media; because of the additional time required to do this, it is not done automatically in order to allow the user to make the decision as to when they are done editing enough and need to see the exact results
+in order to save time.
+       \item Because of the way the timeline thumbnails are displayed, after editing using OpenEDL of a
+nested clip, the thumbnails of the video track may be redrawn and may look different and out of sync with the
+way they did originally with respect to the audio waveforms. This is simply a result of the redrawing of the
+video track which is independent from the redrawing of the audio tracks. The playback is still synchronized.
+\end{itemize}
+
+\paragraph{Usage Examples of Nested Clips}
+
+\begin{description}
+       \item[Example 1:] You want to make a flashback/rewind at the end
+       of your video that represents a quick summary of the entire video in
+       black and white. On he timeline, you have 60 seconds of edits with
+       clips, cuts, zoom in, zoom out and any other edits. Now you want to
+       get this 60 seconds \textit{compressed} to 10 seconds, play in
+       reverse, and in black and white at the end of your video.  You would
+       copy the 60 seconds in a clip, nest the clip in the Clip folder of
+       the Resources window and drag it to the timeline. You will see only
+       a clean clip without all of the edits that were used to create it
+       because nesting display a clip without having to actually use the
+       Render menu.  Now you can add a Reverse effect, Color3way plugin for
+       black and white, and use the Speed auto to get the 60 seconds down
+       to only 10 seconds.
+       \item[Example 2:] You are working on a complex project with a
+       team in a separate location. You create some sub projects, i.e.\
+       sequences, that you or the team will use in the Master project to
+       merge the sequences in the right order and to make the final color
+       correction steps.
+\end{description}
+
+In each of the examples you can see the benefit of nesting to create
+clean looking timelines because of the automatic rendering
+capability of nesting.
+
+\section{Multi-Camera / Mixer}%
+\label{sec:multicamera_mixer}
+
+Use the Mixer Viewer to see multiple media playing simultaneously in re-sizable mini-viewers.  This can be used in various ways and is useful to edit videos shot by multiple cameras from different viewpoints that were simultaneously recorded in order to create a single good video.  Everything will have to be initially synced so you can decide which one of the camera angles is best suited at any time. 
+
+The number of cameras/mixers you can have is generally limited to the available resources on your computer.  Currently, the number of File Descriptors available in the OS limits cameras to about 50.  If you have many \textit{mixer viewers} you will probably want to use proxy mode whenever possible.  Also, in the \texttt{Settings $\rightarrow$ Playback A} tab \textit{Video Out} section, uncheck \textit{play every frame} and choosing a Video Driver of \textit{X11} with \textit{use direct X11 render if possible} checked, will provide better performance.
+
+Figure~\ref{fig:multicam01} shows 9 media sources in the left corner, the composed video in the right corner, the timeline with the top video track with pieces of the 9 overwrites, and the choice in Resources of Mixed.
+
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=1.0\linewidth]{multicam01.png}
+       \caption{Using Mixer capability in Cin for multiple cameras}
+       \label{fig:multicam01}
+\end{figure}
+
+\subsubsection*{Easiest Method to Getting Started}%
+\label{ssub:easiest_method_started}
+
+\begin{enumerate}
+       \item This method assumes all of your media or cameras are aligned the way you want them already.
+       \item From the \textit{File} pulldown, create a \textit{New project} with the desired format for Audio and Video output (or you can just use the default).
+       \item \texttt{File $\rightarrow$ Load} the media files you want to work with using \textit{Create new resources only}.
+       \item In the Resources window, with  the Media folder, highlight the list of media you want to \textit{Mix}. This is done using a ctrl or shift mouse button press as you would in a standard listbox selection.
+       \item Right click the mouse on the media selection and choose \textit{open mixers}. This opens multiple mixer viewer windows, one for each media item that was highlighted.  You can
+       do them 1 at a time instead.  This also adds the source media tracks to the main window.
+       \item Now use the timeline to play and you will see all viewers/cameras playing.  Stop when you get to the
+       end of the \textit{good} camera playback.
+       \item Simply double click the \textit{good} mixer viewer and from where you first started playing to the playback insertion pointer is the source section, which will be pasted in the destination video/audio tracks at the top of the new project.
+       \item Repeat steps 6-7.  Start playing again, stop when you want, double click the desired mini-viewer!
+\end{enumerate}
+
+\subsubsection*{Some Hints and Caveats}%
+\label{ssub:hints_caveats}
+
+\begin{itemize}
+       \item You can easily overwrite a section of the new track by \textit{selecting} a section on the timeline, then double click on one of the mini-viewers to overwrite/replace that section.
+       \item If you edit the output tracks, it only edits output tracks, and the input tracks may no longer be lined up.
+       \item You can add a silent section by selecting past a section and start overwriting that section from then on.
+       \item If you use the cursor hairline to create the selection endpoint, it must be past the end of the destination.
+       \item The compositor shows composed media.  This is the media that will be rendered.
+       \item The program always uses overwrite as the paste operation.
+       \item Use the timeline edit handles to move the start and end points of that section.
+       \item Only middle mouse drag handle operations should be used normally.
+       \item Other drags will displace the media source/destination timeline correspondence.
+       \item To re-tile the mixer windows after you have resized and moved them around, you can use the Window
+       pulldown of \textit{Tile mixers} or the shortcut of Alt-t.
+\end{itemize}
+
+\subsubsection*{But, I want to use only the first set of audio tracks\dots}%
+\label{ssub:but_use_only_first_audio}
+
+There are many cases where you may want to compose using media from several different tracks while using the the same audio tracks as associated from a specific viewer.  Since mixer source tracks can be updated any time by using a mixer toggle, this makes it possible to do this.  
+
+Procedure to update the mixer audio source track list:
+
+\begin{enumerate}
+       \item Single click to highlight the mixer window you want to re-associate to the audio track.
+       \item In that audio track’s patchbay click the expand toggle, the arrow on the right side.
+       \item In the expanded pane that appears, there is another arrow on the left side.  This icon has the tooltip \textit{Mixer}.  Click this and because in step \#1 you highlighted the mixer window, it will now be toggled on.  Once you click the mixer icon it will then point up.
+       \item Now, disassociate any audio that is unwanted by expanding its patchbay and toggling off the mixer.
+\end{enumerate}
+
+\subsubsection*{Expert Usage}%
+\label{ssub:expert_usage}
+
+When you double click a mixer viewer window, it operates an \textit{overwrite} paste operation.  This moves \textit{src} (source) track edits to \textit{dst} (destination) track edits over the same selected timeline region.
+
+\begin{itemize}[noitemsep]
+       \item \textit{Src tracks} should be not playable and not armed in the main window patchbay gui.
+       \item \textit{Dst tracks} should be playable and armed in the main window patchbay gui.
+\end{itemize}
+
+Each mixer viewer maintains a list of the tracks which will be used as src. This list is made visible selecting the window with the left mouse button.  When the mixer viewer is selected, a highlight is drawn around the media image.  All track patchbay \textit{mixer} toggles are updated to reflect the src tracks included in the selected viewer src track list. The track patchbay toggles can be used to manage the list.
+
+\begin{itemize}[noitemsep]
+       \item \textit{Turning on} a toggle (pointing up) includes the track in the src track list.
+       \item \textit{Turning off} a toggle (pointing right) removes the track from the src track list.
+\end{itemize}
+
+New Mixer viewers can be created using the main menu \texttt{Window $\rightarrow$ Mixer Viewer}, or with a shortcut of \texttt{Shift-M}.  When a new viewer is created, the currently enabled patchbay \textit{mixer} toggles are used to create the viewer source track list.  The toggles are cleared after the window is created.  This is to improve the work flow.  Use the following list of steps to create individual mixer viewers.
+
+To create a list of mixer viewers:
+
+\begin{enumerate}
+       \item Setup the session \texttt{settings $\rightarrow$ format}, width, height, frame rate, color model, aspect ratio.
+       \item Create dst tracks using the a/v track pulldowns (or use shortcuts "t" / "T"),  armed and playable.
+       \item Append src tracks using \texttt{file $\rightarrow$ open $\rightarrow$ append tracks}, or the resource window using pasting.
+       \item Using the track patchbay, disarm editing and disable playback of the audio/video src tracks.
+       \item Using the track patchbay, mark the new tracks as \textit{mixer} source to be added to the viewer.
+       \item Create a mixer viewer using the main menu pulldown, or the shift "M” shortcut.
+       \item Repeat steps $3-6$ for each mixer viewer needed for the session editing.
+\end{enumerate}
+
+When you single click a mixer window, it becomes selected and highlighted and all of the patchbay mixer toggles are updated to reflect the state of the viewer’s src tracks.  Tracks that will be src are shown as enabled.  If you change a toggle, the src tracks for the selected window will be modified.  This means you can associate or dis-associate any media track to any mixer window.
+
+When you double click a mixer window, an overwrite paste is invoked.  The mixer viewer’s src tracks are overwritten to the dst tracks.  The timeline region for both the source and destination are the same for the overwrite paste function.  The selection region is used if it is active.  If the selection is empty, that is it is a hairline, the selection region is from the end of the destination playable edits to the selection cursor hairline.  The hairline must be past the end of the playable edits on the destination tracks.
+
+The mixer viewer configuration is saved with the session data.  When a saved session is loaded in \textit{replace project} or \textit{replace project and concatenate tracks}, the mixer viewer will be reopened.
+
+\subsubsection*{Using Proxy with \textit{Open Mixers}}%
+\label{ssub:using_proxy_open_mixers}
+
+The best way to use proxy with your multiple cameras is to follow the steps below:
+
+\begin{enumerate}
+       \item Load media with insertion strategy of \textit{create resources only}.
+       \item Highlight the media in the Resources window and right click on this to choose \textit{open mixers}.
+       \item Use the \texttt{Settings $\rightarrow$ Proxy settings}\dots to bring up the proxy menu.
+       \item Choose the size and other options you want and click the checkmark OK. If you choose the option \textit{Beep when done} you will hear a short beep if all media is already proxied or a longer beep when all proxies have been created.
+       \item When your editing is complete, use \textit{Settings} pulldown and proxy to \textit{original size}.
+\end{enumerate}
+Instead of Open Mixers, you can Insert Mixers with new tracks at the timeline insertion point.
+
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=1.0\linewidth]{mixer-playable.png}
+       \caption{A Mixer window showing available options with the white X designating no playing}
+       \label{fig:mixer-playable}
+\end{figure}
+
+\subsubsection*{Options available in the \textit{Mixer Windows}}%
+\label{ssub:options_available_with_mixers}
+
+There are several options you will see in each Mixer window that help with using them. These
+are shown in figure~\ref{fig:mixer-playable}. To use these, RMB in the desired mixer window,
+and choose one of the options as described here.
+
+\begin{enumerate}
+       \item Fullscreen / Windowed - will bring up a fullscreen display of that window or revert to the original size.
+       \item Resize Window - allows for resizing the window to a choice of different sizes.
+       \item Tile Mixers - makes it easy to get all of the mixers nicely tiled to a standard size.
+       This is also available in the Window pulldown.
+       \item Playable - enabled by default so that you will see a checkmark next to it in the 
+       popup.  The benefit of making a mixer window not playable is to save cpu time. When a specific
+       mixer window is unchecked, so not Playable, a white cross appears in the upper left hand corner
+       of the mixer.  To switch back to playing again, RMB and choose Playable and this will turn
+       playing back on. The program automatically updates the mixer image when the timeline cursor
+       stops or when it is moved to a different spot even when play is disabled. You can see the
+       white cross designating not playable in figure~\ref{fig:mixer-playable}. Statistics that show
+       the savings are as follows on a 16 cpu laptop:
+       \begin{verbatim}
+       5 Mixers all playing -- cpu usage = 1275
+       1 only playing       -- cpu usage =  405
+       2 only playing       -- cpu usage =  800
+       \end{verbatim}
+\end{enumerate}
+
+
+\subsection{Recover Mixer Windows}%
+\label{sub:recover_mixer_windows}
+
+It is a hazard that you might accidentally \textit{undo} (\texttt{z}) too far and lose your mixer windows.  Here are the steps to recover.  It is recommended that you make a backup of your project before performing the recovery steps just in case there are other problems.
+
+In the patchbay box to the left of the main timeline, there is a right pointing arrow on the right side.  This is called the \textit{Expander} (figure~\ref{fig:mixer-patchbay01}).  When you click on each expander, another line appears below that expander arrow and the timeline track height is slightly increased.  If you Shift-click on a single expander, the patchbay will expand for all of the tracks.
+
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=0.35\linewidth]{mixer-patchbay01.png}
+       \caption{Mixer  patchbay}
+       \label{fig:mixer-patchbay01}
+\end{figure}
+
+\begin{enumerate}
+       \item Expand all of the patchbay lines, either one by one, or Shift-click on one to do them all. This is so you can see the \textit{mixer} right pointing arrow on the second expanded line.    
+       \item Use the Window pulldown and choose \textit{Mixer Viewer} to bring up a new mixer window.  Now you will be making an association between the mixer viewer and the track’s video.
+       \item Click on the new mixer window to make sure it is highlighted with a white border. This designates it as the \textit{in use} mixer viewer.
+       \item Set your play to the beginning of the video using the \textit{Home} key or \textit{Home} transport button.
+       \item In the patchbay for a video track click on the \textit{mixer} arrow on the expanded $2^{nd}$ line which is a right facing arrow.  Now the arrow will point up.  If there are audio tracks with that video, click on each of its audio tracks \textit{mixer} arrow until they point up also.
+       \item Next move your insertion pointer on the timeline where there is video.  Some of the time this just helps so that the new mixer viewer window gets redrawn and you can see that the images appear; but the image may not appear until the program does a redraw later.  Now the mixer viewer should be
+       correctly associated.  Note if you have large video, give it some time to update.  You may have to click on the mixer viewer window if the image does not show.  You can always start over with that mixer if you encountered any problems.
+       \item Click the arrows that are pointing up in that video and its audio so they go back to pointing right. That mixer viewer is complete so you need to do this to make sure the \textit{mixer} arrows are off.
+\end{enumerate}
+
+Repeat steps 2 through 7 for each of the mixer viewers you need going down the patchbay starting on step 2 first with Mixer 1, then 2 to 7 steps for Mixer 2, then again run 2 to 7 for Mixer 3 and so on.
+
+Sometimes the association does not stick initially.  If not, highlight the mixer viewer with the problem, change the mixer arrows to point up, and reassociate.
+
+\section{Audio/Video sync via Waveforms/Timecodes}%
+\label{sec:audio_video_sync}
+
+\subsection{Audio/Video sync via Waveform}%
+\label{sub:audio_video_sync_waveform}
+
+Multi-camera footage of a single event can have various shots starting and ending at different times. So when the footage start times are different, you can use the mixer audio to synchronize the clips on the timeline. The program algorithm attempts to find and align automatically the waveforms of the media.
+
+Synchronizing multiple camera videos based on audio tracks can be done with \CGG{} easily enough with the \texttt{Window $\rightarrow$ Mixers$\dots$ $\rightarrow$  Align mixers} option.  Align mixers brings up a window displaying your mixers, the currently selected Master Track, and a list of all of the Audio Tracks (figure~\ref{fig:mixer-align01}).  There is a limit of 32 audio tracks per each mixer (that should be enough!)
+
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=0.9\linewidth]{mixer-align01.png}
+       \caption{Align Mixers window}
+       \label{fig:mixer-align01}
+\end{figure}
+
+Two different methods of aligning the audio for mixers are available. They are most easily referred to by the button that is pressed -- \textit{Match} and \textit{Match All}. There are also 2 methods of activating the alignment -- \textit{Apply} and \textit{Move}.  
+
+\textit{Match} consists usually of the next set of steps to take advantage of this feature:
+
+\begin{enumerate}
+       \item Load your camera media with insertion strategy of \textit{resources only}
+       \item Highlight in the Resources window, all of the media you want to mix.
+       \item Right mouse button on one of the media and click on Open Mixers; all mixer windows come up.
+       \item To arm the created mixer tracks and related audio tracks. They are automatically placed on the timeline disarmed. This is right for multi-cam but not for audio sync.
+       \item Provide a small target audio pattern on the Master Track for syncing by marking with the In/Out points ([ and ]). NOTE: When choosing between the audio tracks to align the one that will have to work as Master, we must rigorously use the one with the right-most synchronization peak. This is because the Master track will be started at the beginning of the timeline. If during alignment the other tracks should move further to the left than the Master, they will be truncated at 00:00:00:000, finding no more space available, and will be shortened with loss of footage for the next multi-cam
+       \item Make a selection on the timeline in which to look for the pattern. Left mouse click, then drag select and highlight a search time domain. 
+       \item Use the \texttt{Window $\rightarrow$ Mixers$\dots$ $\rightarrow$  Align mixers} to bring up its dialog window.
+       \item Highlight in the first listbox, the Mixer number you want to align. Click on \textit{Match}. This will take a few seconds so watch the rendering time percentage on the lower right hand side zoom panel. The buttons will be ghosted out until finished. Now note the changed values in the Audio Tracks listbox.
+       \item If you are satisfied with the calculated Nudge values -- that is they are very close to $1.0$ -- in the Audio Tracks listbox and the audio track selected as the Master Track in the Master Track listbox, hit the \textit{Apply} button.
+       \item If you plan on performing more alignment tasks, click on Checkpoint so you can go back to a previous step in case you make a mistake.
+       \item Last, click on the OK green checkmark or to cancel click on the red X.  Or just close the gui.
+       \item To disarm the mixer tracks and related audio tracks for the next multi-cam operations.
+\end{enumerate}
+
+\paragraph{Reset} is used to start over with the current session data, not an undo.  This means you can use the match repeatedly to refine alignments.  All of the Audio Tracks listbox values will be reset.
+
+\paragraph{Checkpoint} provides a method to create checkpoints that save the current state.  This is especially helpful while learning or doing more complicated operations where you might make a mistake or do not like the results and need to get back to a previous state.
+
+\paragraph{Undo} is used to put the media back to a previous state on the timeline.  If you choose \textit{start over} the session will reload with the original, before any changes were applied.  You can also go back to any of your previous checkpoints that you created earlier which are listed there, such as \textit{chkpt 1}.
+
+\paragraph{Match All}is used when you have several mixers, instead of only picking 1 to match, it picks the best match for EACH of the mixer tracks based on a single master track. So when you hit Apply, each track might move differently. You do not set In/Out points but you have to make a selection within which to match.
+
+\paragraph{Apply} button will apply the nudges that were generated during the Match or Match All execution (figure~\ref{fig:mixer-align02}).
+
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=0.9\linewidth]{mixer-align02.png}
+       \caption{Aligned mixer window after "Match". Note the Nudge amounts above.}
+       \label{fig:mixer-align02}
+\end{figure}
+
+\paragraph{Move} is very handy when you are using mixers, if you have an edit somewhere that you need to fix specifically without moving any of the other track pieces. In this case you have to select a section (like you do a group, but do not make a group), generate a match, and then you can just \textit{Move} that set only -- everything else stays where it is at its current location (figure~\ref{fig:mixer-align03}).
+
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=1.0\linewidth]{mixer-align03.png}
+       \caption{Match setup for aligning by audio.  Note that [ ] are set over a sample waveform highlighted selection that includes that.}
+       \label{fig:mixer-align03}
+\end{figure}
+
+More detailed information follows about how this all works and the information in the dialog window.  It is important to know that the result of the calculation is \textit{best match} but you can still override the selections if you decide there is a better one.  The dialog window is split into 3 sections:
+
+\begin{enumerate}
+       \item \textit{Mixers} lists the mixers that are active by highlighting them all initially. You can decide that you do
+       not want 1 or more mixers to be used in the correlation calculation by un-highlighting the one(s) that should not be used. In some cases you have to have at least 2 in order to align audio.
+       \item \textit{Master Track} lists each of the audio tracks currently loaded for all of the mixers. You can decide to highlight a different audio track to be used as the master for correlation, but only 1 can be used. Remember to use the track with the right-most synchronization peak as the Master.
+       \item \textit{Audio Tracks} lists each of the mixer audio tracks.  Again, you can highlight a different set of which
+       mixer audio tracks that you want to use for the waveform correlation.  Any audio tracks that are not
+       highlighted, that is \textit{turned off}, will not be considered in the correlation calculation.
+\end{enumerate}
+
+The corresponding input position is determined by track input correlation.
+
+The letter "R" in the Audio Tracks listbox represents the correlation value.  $R=1.0$ designates that if both the pattern and the matching section were in the highlighted area, they are completely correlated -- this is a good self-test to check.
+$Nudge=0.0$ means just that.
+
+The header \textit{pos} stands for the timeline position. When the \textit{Apply} button is pressed, only the Mixers listbox is relevant at that time.
+
+The Mixer with the master track generally does not move, everything else will be lined up (figure~\ref{fig:mixer-align04}).
+
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=1.0\linewidth]{mixer-align04.png}
+       \caption{An audio Match is complete. Note the waveform is aligned.}
+       \label{fig:mixer-align04}
+\end{figure}
+
+\textit{Match All} option basically consists of the following steps:
+
+\begin{enumerate}
+       \item Highlight the Mixer to use in the Mixer listbox.
+       \item Highlight the Master Track you want to use in the Master Track listbox.
+       \item On the timeline, mark your selection on the Master Track.
+       \item Click on the \textit{Match All} button.
+       \item Note the nudge values to see if they make sense, and if so, press \textit{Apply}.
+\end{enumerate}
+
+\textit{Match} option basic steps (just for comparison with Match All):
+
+\begin{enumerate}
+       \item Set the In/Out points [ ] of the target.
+       \item On the timeline, mark your selection.
+       \item Click on the \texttt{Match} button.
+       \item Note the nudge values to see if they make sense, then press \textit{Apply} (or \textit{Move} when doing a group).
+\end{enumerate}
+
+\subsection{Align Timecodes}%
+\label{sub:align_timecodes}
+
+Align Timecodes is especially useful in the case where you create video with multiple cameras capable of recording a timecode in the metadata of each file.  Let’s say we have recorded three videos at the same time at a concert with each camera set up at unique positions and at different angles.   All of the cameras start recording at various times but were synchronized with the same master clock (\textit{Timecode Sync Generator} or \textit{Jam Sync timecode}) so that the recordings are timestamped with that synchronized time.  For example, the 3 cameras have embedded metadata as follows: \quad \textbf{camera 1} = 00:00:00:01 \quad \textbf{camera 2} = 00:00:10:07 \quad \textbf{camera 3} = 00:00:17:22
+
+\begin{figure}[ht]
+       \centering
+       \includegraphics[width=1.0\linewidth]{timecode-01.png}
+       \caption{Before sync}
+       \label{fig:timecode-01}
+\end{figure}
+
+Timecode synchronization is performed by the program when you choose the option \textit{Align Timecodes} and works in 2 steps. The first automatic step is to locate the earliest timecode and the second step is to align the edits on the armed tracks using that time on the timeline. 
+
+When you load in the three files to different tracks, they'll be placed on a timeline that starts from $00:00:00:00$ as usual. But, by middle mouse clicking (MMB) on any of the video tracks, you can view the timecode embedded at that point in that file.
+
+To make it easy to align the videos onto the timeline manually, set the \textit{origin point}, that is the leftmost time index, of the timebar to the timecode of the earliest video.  For the 3 aforementioned cameras this would be camera 1 with a timeecode of $00:00:00:01$.  By using the \textit{clapboard} button on the main timeline, you can set $00:00:00:01$ as the start timecode. Then positioning the camera 1 video at the start of the timeline will line its frames up with the times on the timebar.
+
+\begin{figure}[ht]
+       \centering
+       \includegraphics[width=1.0\linewidth]{timecode-02.png}
+       \caption{Clapperboard button}
+       \label{fig:timecode-02}
+\end{figure}
+
+Similarly, using the middle mouse button to view the other 2 camera’s timecodes, you can position them  so their timecodes line up and now all three tracks will be in sync.  You can do this manually or simply do it automatically with the option under: \texttt{Tracks  $\rightarrow$  Align Timecodes}. See figure~\ref{fig:timecode-03}
+
+\begin{figure}[ht]
+       \centering
+       \includegraphics[width=1.0\linewidth]{timecode-03.png}
+       \caption{After sync}
+       \label{fig:timecode-03}
+\end{figure}
+
+Timecode synchronization in \CGG{} is based on the inclusion of an actual \textit{timecode} saved in
+the media as can be seen using the \texttt{ffprobe} or \texttt{mediainfo} command line. Examples are shown here:
+
+\begin{lstlisting}[style=sh]
+# ffprobe tut1.mov
+Metadata:
+handler_name:  VideoHandler
+timecode:              00:00:20:01
+
+# mediainfo mtb.mp4
+Time code of first frame:      11:05:49:41
+Time code, striped:            Yes
+Title:                         GoPro AVC
+\end{lstlisting}
+
+Many newer cameras and media in a MOV container have valid timecodes often with SMPTE
+compliant start Timecode in Quicktime format, whereas others do not. Most low end cameras do not.
+When no timecode is present, various clock time values may be used to synchronize instead.
+
+There are various types of timecodes and they are written in metadata in various ways. Because it is not clear which timecode in the file is the one to use or there is none, the precedence as described next is followed. The contexts, packets, streams, and data refer to the corresponding ffmpeg data or metadata objects:
+
+\begin{enumerate}
+       \item if the format context has a timecode use: \texttt{fmt\_ctx $\rightarrow$ timecode - 0}
+       \item if the layer/channel has a timecode use: \texttt{st $\rightarrow$ timecode - (start\_time -nudge)}
+       \item find the first program stream with video stream, and if the video stream has a timecode use:
+       \texttt{st $\rightarrow$ timecode - (start\_time-nudge)}
+       \item find timecode in any stream use: \texttt{st $\rightarrow$ timecode}
+       \item read 100 packets, save \texttt{ofs=pkt.pts*st $\rightarrow$ time\_base - st $\rightarrow$ nudge}:
+       \begin{itemize}
+               \item decode frame for video stream of the first program
+               \item if \texttt{frame $\rightarrow$ timecode} has a timecode use:\texttt{ frame $\rightarrow$ timecode - ofs}
+               \item if side\_data has gop (group of pictures) timecode use: \texttt{gop $\rightarrow$ timecode - ofs}
+               \item if side\_data has smpte timecode use: \texttt{smpte $\rightarrow$ timecode - ofs}
+       \end{itemize}
+       \item if the \texttt{filename/url} scans \texttt{*date\_time.ext} use: \texttt{date\_time} (yr, month, day, hr, min, sec, nanosecond)
+       \item if stat (display file status) works on the \texttt{filename/url} use: \texttt{mtime} (modification time)
+       \item finally, if none of the above are usable, then return \texttt{failure}
+\end{enumerate}
+
+Operation of Align Timecodes includes the following options to help in your setup and review (figure~\ref{fig:timecode-04}):
+
+\begin{figure}[ht]
+       \centering
+       \includegraphics[width=1.0\linewidth]{timecode-04.png}
+       \caption{Timecode via MMB on track and via Resources windows/Info}
+       \label{fig:timecode-04}
+\end{figure}
+
+\begin{itemize}
+       \item \textit{Align Timecodes} under the \textit{Tracks} pulldown
+       \item \textit{Clapperboard} icon on the main timeline to set a timecode.
+       \item Timecode option added to timebar choices (in timecode $hh:mm:ss:ff$) with use of the session frame
+       rate as a time standard.
+       \item Time Code Start in the Resources window on the bottom of \textit{Info} for the media if the timecode for that
+       asset has been scanned and is known. You can scan the asset’s Timecode by using the middle mouse
+       button on its track which then displays the timecode for that on the timebar.
+\end{itemize}
+
+\paragraph*{Notes}
+
+\begin{itemize}
+       \item \textit{Align Timecodes} is a good first step to quickly sync media up either perfectly or roughly.
+       \item Currently this is not known to function for syncing audio recorded on a separate audio device,
+       because no test material was provided to ensure that this works.
+       \item Disarmed tracks will not be affected by using \textit{Align Timecodes}.
+       \item No edits or sections will get cut off on the left or elsewhere, unless the moved edits overlap.
+       \item You can add a timecode to video using an \texttt{ffmpeg} command if you want to align a particular video
+       which has no timecode to ones that do. For example:
+\end{itemize}
+
+\begin{lstlisting}[style=sh]
+ffmpeg -i originalfile.mp4 -metadata timecode="14:36:08:29" -c copy newfile.mp4
+
+# where "-i" is followed by the input filename
+# where "-metadata timecode" is followed by the timecode key
+# where "-c copy" just copies the video/audio to the following output filename
+\end{lstlisting}
+
index 9e1523ddf3c40d77a54fd1b56d846c8f653a8fbe..abacee11e6fa3c68e5681a4363bfd2331c042767 100644 (file)
@@ -16,6 +16,22 @@ Several ways exist to change \CGG{}’s operational characteristics.  A lot of v
 \section{Playback A / Playback B}%
 \label{sec:playback_a_b}
 
+\CGG{} supports 2 separate preferences for the playback configuration.  \CGG{} can be operated in a single or dual screen configuration, both by using Xinerama or dual screen configuration of X windows.  It will take some setup using Xconfig to make this work.
+
+The \texttt{Settings $\rightarrow$ Preferences} menu has \textit{Playback A and Playback B} tabs.  The target display and audio device configuration can be separate, to support up to 2 display and/or audio device stations.  The active configuration displays an asterisk (*) in its selection tab and the selected tab will be made active when OK is pressed.  For example: you may have a dual screen monitor system with the left screen showing the \CGG{} main window and the right screen showing the composer.  Another setup might use a monitor for the left screen and an HDTV as the right screen displaying the composer.  When a playback configuration is selected, the audio/video device configuration is switched to the playback selection.  The active playback setup can be changed through use of the menu pulldown of \texttt{Settings $\rightarrow$ Preferences} or via the remote control menu selection (see the section Remote Control for DVB for more detail). 
+
+\subsection*{Yes, you can watch TV on \CGG{} instead of \CGG{} on TV.}%
+\label{sub:watch_tv_on_cinelerra}
+
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=0.75\linewidth]{multi-screen01.png}
+       \caption{Multi-screen Playback example useful for watching \CGG{} run on the \textit{big screen}}
+       \label{fig:multi-screen01}
+\end{figure}
+
+Figure~\ref{fig:multi-screen01} shows partial window of \textit{*Playback A} selected and the second tab for \textit{Playback B}.  Note that on the bottom right of the window, \textit{Default B Display:} is set to $:0.1$, representing the setting for Screen 1.  On the unseen \textit{Playback A} window, the \textit{Default A Display:} will be set to $:0.0$ meaning for Screen 0.  Otherwise, the default would be nothing there or just <empty>.
+
 \subsection{Audio Out section}%
 \label{sub:audio_out_section}
 
@@ -268,11 +284,9 @@ To change a \textit{Theme} in the main window pulldown, select:
 \texttt{Settings $\rightarrow$ Preferences};
 
 then in Preferences window, click on the \textit{Appearance} tab. In the Editing section in the lower left hand corner,        click on the \textit{down arrow} next to Theme to see your choices. Click on your desired choice from the list given. Check OK, \CGG{} will automatically shutdown and restart.
-
-\begin{description}
-    \item[Plugin Icons] here are currently 4 choices for different plugin icons to include the old original.
-    \item[Layout Scale] allows for setting up scaling 
-for your 4K monitors or any monitor where you would like the text and icons to be just a little bigger or a lot bigger. This scale setting is automatically saved across sessions. 
+\paragraph{Plugin Icons} here are currently 4 choices for different plugin icons to include the old original.
+\paragraph{Locale} The default is \textit{sys} so that the system language is active. With the pulldown menu we can choose among the other languages present in ... This language will be saved in\ryour Configuration and used each time you start up CinGG. In order to change the environment variable, LANGUAGE, the setting must be \textit{sys} because that is the best way we could get it working.
+\paragraph{Layout Scale} allows for setting up scaling for your 4K monitors or any monitor where you would like the text and icons to be just a little bigger or a lot bigger. This scale setting is automatically saved across sessions. 
 When first using \CGG{}, or if \textit{Layout Scale} has never been set, the initial value is 0.0.
 This means an automatic probe of the biggest monitor in use will be used for the setting. The advantage of this is that "new users" with a 4K monitor will not immediately be discouraged with too small text/icons.
 Leaving it at 0 instead of 1 is what most people will do and is probably preferable so that if you move to a different monitor with different dimensions/resolution, it will automatically probe. 
@@ -292,13 +306,9 @@ and then when you get back into \CGG{}, fix \textit{Layout Scale} value in Prefe
 \begin{lstlisting}[numbers=none]
         BC_SCALE=1.0 {your Cinelerra path}/bin/cin
 \end{lstlisting}
-
-    \item[View thumbnail size] you can increase or decrease the thumbnail size -- larger size uses more cpu.
-    \item[Vicon quality]  increase the quality used for thumbnails to get more clarity of pixels -- this will use
-    more memory.
-    \item[Vicon color mode] modify the color mode to Low, Medium, or High for the thumbnails -- High will
-    look the best but takes more memory.
-\end{description}
+\paragraph{View thumbnail size} you can increase or decrease the thumbnail size -- larger size uses more cpu.
+\paragraph{Vicon quality}  increase the quality used for thumbnails to get more clarity of pixels -- this will use more memory.
+\paragraph{Vicon color mode} modify the color mode to Low, Medium, or High for the thumbnails -- High will look the best but takes more memory.
 
 \subsection{Time Format section}%
 \label{sub:time_format_section}
@@ -308,6 +318,9 @@ Various representations of time are given so that you can select the most conven
 \begin{itemize}[noitemsep]
     \item Hours : Minutes : Seconds : xxx
     \item Hours : Minutes : Seconds : frames
+    \item Timecode
+    \item Samples
+    \item Hex Samples
     \item Frames
     \item Feet-frames  [frames per foot \dots]
     \item Seconds
@@ -316,10 +329,26 @@ Various representations of time are given so that you can select the most conven
 \subsection{Color section}%
 \label{sub:color_section}
 
+
+\paragraph{Highlighting Inversion color} modify the selection area color; default is \textit{ffffff} which is white. When you make a selection, that area becomes an inverse image which by default becomes a whitish color.  You can set it to a different color by modifying the hex value in the box next to \textit{Highlight inversion color}.   Keep in mind that if you set the value to a low value, you will not be able to see the outlined selected area (for example the hex value "f" is not readily visible and leads to confusion).  A leading 0 or blank is not allowed and will be automatically changed to \textit{ffffff}.
+\paragraph{YUV color space} default is \textit{BT601}; others \textit{BT709} (high definition), \textit{BT2020} (ultra high definition).
+\paragraph{YUV color range} JPEG [$0-255$] and MPEG [$16-235$]
+
+
+\subsection{Warnings section}%
+\label{sub:warnings_section}
+
 \begin{description}
-    \item[Highlighting Inversion color] modify the selection area color; default is \textit{ffffff} which is white. When you make a selection, that area becomes an inverse image which by default becomes a whitish color.  You can set it to a different color by modifying the hex value in the box next to \textit{Highlight inversion color}.   Keep in mind that if you set the value to a low value, you will not be able to see the outlined selected area (for example the hex value "f" is not readily visible and leads to confusion).  A leading 0 or blank is not allowed and will be automatically changed to \textit{ffffff}.
-    \item[YUV color space] default is \textit{BT601}; others \textit{BT709} (high definition), \textit{BT2020} (ultra high definition).
-    \item[YUV color range] JPEG [$0-255$] and MPEG [$16-235$]
+       \item[ffmpeg probe warns rebuild indexes] this warning is very important for switching from using ffmpeg to using native formats, such as in the case of MPEG, so that you are reminded to \textit{rebuild indexes}.  If you do not rebuild the indexes, seeking on the timeline back and forth could very well be problematic, meaning it might not go to the right place.  Notification about rebuilding the indexes will appear by default as shown in the figure~\ref{fig:ff_probe} when you click on the FF icon in the main timeline in the upper right hand corner.  Once you click on \textit{Don’t show this warning again} you will no longer be warned and this flag will no longer be enabled.
+       \begin{figure}[htpb]
+               \centering \includegraphics[width=0.9\linewidth]{ff_probe.png}
+               \caption{Default warning when you click on FF icon in main window}
+               \label{fig:ff_probe}
+       \end{figure}
+       \item[EDL version warns if mismatched] in the case of a Batch Render, it is often helpful to be warned if the EDL has been changed so that you are aware that what is going to be rendered is different than your current EDL session.
+       \item[Create Bluray warns if not root] if checked and you are not logged in as root, you will get an error message in order to avoid doing a lot of work and then failing out because root is required for automount and to write on DVD hardware.
+       \item[Warn on creating file references] if checked, you will always be warned when using "File by 
+       Reference", that is when an EDL is opened as \textit{Reference}.  This is best left checked to ensure that you are aware of the fact that when changes are made to this file and rendered, any other uses of the same file will be affected and modified also.  
 \end{description}
 
 \subsection{Flags section}%
@@ -327,32 +356,21 @@ Various representations of time are given so that you can select the most conven
 
 This section contains many useful options to cater to the various preferences of individual users.
 
-\begin{description}
-    \item[Show tip of the day] if checked, a tip will be displayed in a popup box when start up \CGG{}.
+\begin{description}   
     \item[Autocolor assets] to make it visually easier to see your clips on the timeline that are from the same media file, you can have them automatically colored. Use of this feature requires additional memory and cpu on every timeline redraw, therefore smaller computers may not want this checked on.
-    \item[ffmpeg probe warns rebuild indexes] this warning is very important for switching from using ffmpeg to using native formats, such as in the case of MPEG, so that you are reminded to \textit{rebuild indexes}.  If you do not rebuild the indexes, seeking on the timeline back and forth could very well be problematic, meaning it might not go to the right place.  Notification about rebuilding the indexes will appear by default as shown in the figure~\ref{fig:ff_probe} when you click on the FF icon in the main timeline in the upper right hand corner.  Once you click on \textit{Don’t show this warning again} you will no longer be warned and this flag will no longer be enabled.
-    \begin{figure}[htpb]
-        \centering \includegraphics[width=0.9\linewidth]{ff_probe.png}
-        \caption{Default warning when you click on FF icon in main window}
-        \label{fig:ff_probe}
-    \end{figure}
-    \item[EDL version warns if mismatched] in the case of a Batch Render, it is often helpful to be warned if the EDL has been changed so that you are aware that what is going to be rendered is different than your current EDL session.
-    \item[Create Bluray warns if not root] if checked and you are not logged in as root, you will get an error message in order to avoid doing a lot of work and then failing out because root is required for automount and to write on DVD hardware.
-    \item[Warn on creating file references] if checked, you will always be warned when using "File by 
-Reference", that is when an EDL is opened as \textit{Reference}.  This is best left checked to ensure that you are aware of the fact that when changes are made
-to this file and rendered, any other uses of the same file will be affected and modified also.
-    \item[Popups activate on button up] this is the default but if unchecked, popups activate on button down.
-    \item[Set Input Focus when window entered] this is checked on by default because on some operating system distros, when you move your mouse to a different window, nothing happens and you are left wondering why you can not enter information.  When checked this causes the input focus to shift to any \CGG{} window when the cursor enters an exposed region of the window which eliminates the need to switch input focus by tabbing. 
-    \item[Click to activate text focus] Click to activate text focus
-    \item [Click to deactivate text focus] if checked, you will have to click to deactivate text focus.
-    \item [Auto rotate ffmpeg media] this is the default setting so that your media will automatically be rotated when there is metadata in the file with a rotation value.  Especially useful for cell phone.
-    \item[Always show next frame] in this mode the insertion pointer reflects the same as the Compositor so that for playing forward, the result is what looks like 1 was added to the frame displayed in the Compositor window.  This is fully explained in another section (\hyperref[sub:playing_seeking]{Playing is Different than Seeking/Positioning!}).
-    \item[Use thumbnails in resource window] the Resource Window displays thumbnails of assets by default, but drawing asset thumbnails can take more time and CPU so you may want to uncheck this.
     \item[Perpetual session] is very useful for working on a project over many days so you can just quit before
     shutting down and the next time you start up \CGG{} you will be right back where you left off. You
     will retain all of your undo's and redo's.
-    \item[Clears before toggle] when using copy/paste in drag and drop mode some users prefer to resort to the addition of the Ctrl key for adding multiple selections.  By checking this flag, the user retains usage as is commonly done for listbox operations.
     \item[Timeline Rectify Audio] for displaying rectified audio on the timeline instead of a standard audio waveform, check this flag.  The waveform is cut on the zero line, thus making the silent areas more visible and the waveform is stretched more over the entire height of the audio track, which improves the visibility of certain areas. This only affects the timeline and not any other audio waveform displays.
+    \item[Clears before toggle] when using copy/paste in drag and drop mode some users prefer to resort to the addition of the Ctrl key for adding multiple selections.  By checking this flag, the user retains usage as is commonly done for listbox operations.
+    \item[Always show next frame] in this mode the insertion pointer reflects the same as the Compositor so that for playing forward, the result is what looks like 1 was added to the frame displayed in the Compositor window.  This is fully explained in another section (\nameref{sub:playing_seeking}).
+    \item[Show tip of the day] if checked, a tip will be displayed in a popup box when start up \CGG{}.
+    \item[Use thumbnails in resource window] the Resource Window displays thumbnails of assets by default, but drawing asset thumbnails can take more time and CPU so you may want to uncheck this.   
+    \item[Popups activate on button up] this is the default but if unchecked, popups activate on button down.
+    \item[Set Input Focus when window entered] this is checked on by default because on some operating system distros, when you move your mouse to a different window, nothing happens and you are left wondering why you can not enter information.  When checked this causes the input focus to shift to any \CGG{} window when the cursor enters an exposed region of the window which eliminates the need to switch input focus by tabbing. 
+    \item[Click to activate text focus] Click to activate text focus
+    \item [Click to deactivate text focus] if checked, you will have to click to deactivate text focus.
+    \item [Auto rotate ffmpeg media] this is the default setting so that your media will automatically be rotated when there is metadata in the file with a rotation value.  Especially useful for cell phone.    
 \end{description}
 
 \section{About}%
index 0021db70a28701f335ddcf61cbaab001b8e7a24e..0a893628381219050f72ecc002b31e47ebb570a4 100644 (file)
@@ -158,7 +158,7 @@ The 7 \textit{attributes} are described here next followed by the other availabl
   This is often used to adjust audio levels on all the tracks
   simultaneously.  Gang also causes Nudge parameters to synchronize
   across all the ganged tracks.
-\item[Master Track] Mark a track as \textit{master} serves when using \textit{Gang Channels} or \textit{Gang Media} mode. See \ref{sub:displaying_tracks_ganged}
+\item[Master Track] Mark a track as \textit{master} serves when using \textit{Gang Channels} or \textit{Gang Media} mode. See \nameref{sub:displaying_tracks_ganged}
 \item[Track Data Height] this up/down toggle symbol to the immediate right
 of the 5 attributes, is used to individually resize each track.  This makes
 it very easy to temporarily expand or contract the size of that track either
@@ -514,7 +514,7 @@ NOTE: for correct operation of this use case, you should have the
 same (or more) number of tracks in the Master project as you do in
 the Sequence.  To avoid having to know how many tracks you need, you
 can use the Nest feature as described in the Nesting section
-(\ref{sub:nesting}).
+(\ref{sec:nesting_clips_and_assetts}).
 
 
 \section{Cut and Paste Editing}%
@@ -823,6 +823,8 @@ provided below.
     Clear Select & Ctrl-Shift-A & Deselect all selected edits --
                                   ones that have the red lines
                                   around them.\\
+                                  
+    Select Edits & Ctrl-Alt-a & Select all edits within an highlighted area of the timeline \\
 
     Copy & Ctrl-c & Copy the selected edits into the copy buffer.\\
 
@@ -881,6 +883,72 @@ at the start of the edits, and will replace any existing attached
 transitions.  As a side note, when in drag and drop mode the end
 transition does not drag.
 
+\subsection{Snapping while Cutting and Dragging}%
+\label{syb:snapping_cutting_dragging}
+
+\paragraph{Cutting/Snapping edits} cuts from an edit handle to the
+insert point.  There are Edit Panel buttons which normally are used
+to move to the previous or next edit handle/label.
+
+\begin{wrapfigure}[3]{r}{0.2\linewidth}
+       \vspace{-2ex}
+       \centering
+       \includegraphics[width=0.7\linewidth]{snap.png}
+\end{wrapfigure}
+
+They look like tags and the letter E on the menu bar and are
+oriented forward/backward.  These same buttons can be used to
+\textit{cut} from the insert pointer to the previous or next
+edit/label when the ctrl+alt keys are both pressed when the buttons
+are used.  They \textit{snap} off the media instead of doing the
+standard re-positioning.  This is useful to minimize the number of
+operations necessary to cut between edits/labels.
+
+Instead of using the edit panel buttons, you can more easily use the
+following keyboard shortcuts to perform the same functions:
+
+\begin{center}
+       \begin{tabular}{lll}
+               \toprule
+               snap\_right\_edit & ctrl+alt+ '.' &\\
+               snap\_left\_edit & ctrl+alt+ ',' &\\
+               snap\_right\_label & ctrl+alt +shift '.' & shift+period is the > sign on US keyboards\\
+               snap\_left\_label &  ctrl+alt +shift',' & shift+comma is the < sign on US keyboards\\
+               \bottomrule
+       \end{tabular}
+\end{center}
+
+\paragraph{Drag Snapping} if you hold down the Ctrl + Alt keys while
+dragging using the mouse, once the clip gets near to an edit, a
+label, an in/out pointer or the start/end of the timeline, the
+dragged clip will snap next to that marker.  The 2 will now be
+exactly aligned with no gap and no overlap.  As you drag the clip
+close to one of the markers, when they are within a short distance
+they start to stick and stay that way until you move further away
+from that distance.  Also, the line will turn color from green to
+yellow while in the sticky phase.  In addition, this works for a
+plugin while dragging so that it will be the same length as the edit.
+
+\subsection{Copy/Paste clips/medias across Multiple Instances}%
+\label{sub:copy_paste_multiple_instances}
+
+It is easy to copy/paste clips/media within a single instance of
+\CGG{} or across multiple instances.  The reason this works is
+because there are hidden X cut buffers and these are used to
+transmit EDL from 1 instance to another.
+
+Steps to copy from a source timeline and paste to a target timeline:
+
+\begin{enumerate}
+       \item highlight a selection on the timeline in 1 instance of \CGG{}
+       \item use the Copy icon (shortcut c) on the main menu bar to copy
+       into a buffer
+       \item move the pointer to another instance of \CGG{} and set an
+       insertion point in its timeline
+       \item use the Paste icon (shortcut v) to paste the clip to that
+       other instance selection target
+\end{enumerate}
+
 \subsection{Grouping edits}%
 \label{sub:grouping_edits}
 
@@ -1032,6 +1100,17 @@ samples or frames show ) on the main timeline extending between the
 [ and ].  This means that when the highlighted cursor selection is
 empty, the In/Out selection will be used.
 
+Summarizing: to select multiple edits/clips on the timeline you can simply use LMB on each edit. Or, if in \texttt{Settings $\rightarrow$ Preferences $\rightarrow$ appearence tab $\rightarrow$ Flags} we have enabled \textit{Clears before toggle}, use CTRL + LMB on each edit.
+
+There is also a faster way:
+
+\begin{enumerate}
+       \item Arm the tracks you want to be used
+       \item Highlight the area as usually you do with \textit{I-beam} mode (or use \textit{In/Out Points}; or position \textit{Insert Point} over the stack of edits). If you miss an edit that you want included, the same method can be used to add it. It is an additive operation. And, it will include the partial edits in the selected area, thus making it easy to disinclude ones you do not want.\r
+       It will include silence also but you can remove that or any other edit with CTRL + LMB.
+       \item Press MMB on a clip inside the highlight area and the PopUp menu is shown with the \textit{Select edits} option on the top.
+       \item Choose the \textit{Select edits} option and the clips inside the highlight area will be selected.
+\end{enumerate}
 
 \section{Inter-View Mode\;/\;Identifying Source Targets Editing}%
 \label{sec:inter-view_identifying_source_target_editing}
@@ -1120,219 +1199,8 @@ file UNLESS there is an audio track associated with the video.
 Because audio tracks are not proxied, they will show for Media but
 not for Proxy.
 
-
-\section{Some Specific Editing Tools}%
-\label{sec:specific_editing_tools}
-
-This section covers some more detailed editing tools and scenarios
-for edit management.
-
-\subsection{Editing EDLs within a Project}%
-\label{sub:edit-edls}
-
-To edit EDL that is included with your project as Clips, Nested
-Clips, Referenced File, or Xml you can use the option \textit{Open
-  EDL} in the Resources window for the highlighted media.  Then with
-a simple button click you can return to your main timeline project.
-For example, if you have a nested clip that originally had several
-plugins added to it before it was nested, you can edit those plugin
-parameter values. Previously to make any changes to these types of
-EDL you had to remake the whole clip from scratch.
-
-Here is how this works. In the Clip or Media folder or on a timeline
-EDL edit, the option \textit{Open EDL} for the highlighted clip or
-nested clip is available so that when you choose this option, that
-EDL will be brought up on the timeline superseding the current EDL
-that exists on the timeline.  Now, once the clip is open on the
-timeline, you can edit it however you want. The previous timeline
-EDL is \textit{pushed onto a stack} so it can be recalled by
-\textit{popping the stack} with a click of the left mouse button in
-the upper right hand corner of the timeline to the left of the
-\textit{shell cmds} icon.  Initially this button displays a 0 to
-indicate your initial timeline/project.  Then this button will read
-1 if you choose \textit{Open EDL} and then back to 0 and your
-original timeline with the left mouse click.  You can go several
-levels deep so instead of 1, it could be 2, 3, $\dots$ but this
-requires some thought to avoid potential confusion.
-
-An example of a typical set of steps to follow is:
-\begin{enumerate}
-\item Load your media using insertion strategy of \textit{Replace
-    current project}.  There will be \# 0 in the upper right hand corner
-  of the main menu with the tooltip of \textit{Close EDL}.
-\item Highlight a selection on the timeline and press the
-  \textit{To clip} icon and click the green checkmark OK.
-\item In the Resources window, open the Clip folder and you will
-  see that Clip 1 is present.
-\item Highlight Clip1 and right mouse the item to bring up
-  available options and select \textit{Open EDL}.
-\item Now you will see the timeline change from the original
-  media to just the clip content and the \# in the upper right hand
-  corner will change from 0 to 1.
-\item Add a visible effect, like AgingTV to the timeline.
-\item Click on the \# 1 in the main menu bar to see he timeline
-  restored to the original media.
-\item Drag the clip from the Resources Clip folder to the
-  timeline and you will see the AgingTV effect.
-\end{enumerate}
-
-You can follow the same steps as above by first using the option
-\textit{Nest to media} in the Clip folder which nests the clip and
-moves it out of the Clip folder to the Media folder.  Then use
-\textit{Open EDL} on the Nested EDL in the media folder.  When you
-Open EDL and edit the changes, those changes will take affect on any
-and all occurrences of that nested clip on the current and/or
-original timeline. The option to unnest that clip and put that back
-into the Clip folder is the option \textit{EDL to clip}.  The nested
-clip is still in the Media folder.  It will now have a name of the
-next available Clip \# but the comment contains the previous name so
-you can tell where it came from.
-
-Instead of using the \# number on the main menu to close the current
-EDL, both the Media and Clip folders have \textit{Close EDL} options
-with the left mouse button. Clicking on the \# number is quick and
-easy but for infrequent usage it is not obvious, whereas if you use
-\textit{Open EDL} you see \textit{Close EDL} right below that and so
-it is very obvious.  In addition in the case of where you have
-opened a EDL, and you no longer see that clip in the folder, the
-right mouse button where no media is highlighted will also display
-the Close EDL option.
-
-%\pagebreak
-\begin{figure}[h]
-  \centering
-  \includegraphics[width=1\linewidth]{editing-img001.png}
-  \caption{Once you have an Open EDL, the easiest way to close it.}
-  \label{fig:open_edl}
-\end{figure}
-\relax
-
-In addition to the \textit{Open EDL} option in the Resources menu,
-this option is available on the timeline when the cursor is on an
-EDL-type edit. To get to this option, click on the middle mouse
-button on that edit.  If it is not EDL, the option will not be
-shown.  In summary:
-
-\begin{center}
-  \begin{tabular}{ll}
-    \toprule
-    Media folder of Resources window & Open EDL for Nested or Referenced EDLs\\
-    Clip folder of Resources window & Open EDL for clips\\
-    Track timeline & Open EDL for Nested or Referenced EDLs\\
-    \bottomrule
-  \end{tabular}
-\end{center}
-
-An aside -- when nesting and unnesting clips to take advantage of
-this feature, names of the media can lead to some confusion.  For
-example, if you nest a clip, the new name in the Media folder is the
-word \textit{Nested} followed by an underscore with the date and
-timestamp, another underscore, and then the clip name.  Then when
-you unnest this Media folder clip via the \textit{EDL to clip}
-option, the name will be changed in the Clip folder to the next
-available Clip \#.  However the comment field will reflect the
-nested clip name from which it was derived.  To avoid confusion you
-can easily change the name for these clips in either the Clip or
-Media folder because they are not real files at this point. To do
-so, highlight the clip name in Resources, click on Info and type in
-a new name.
-
-For additional safety, the \textit{Open EDL} feature includes
-additional backup capabilities. Automatically \CGG{} saves a backup
-when certain changes are made or you can always use the shortcut `b'
-to do one yourself, although keep in mind it will be overwritten
-whenever \CGG{} wants to do another backup.  Now there is a shortcut
-for the backup shortcut `b' so you can keep your hand on the mouse
-instead of the keyboard.  Just click on the \# in the upper right
-hand corner of the main window.  If \# is at 0, it backs up to
-backup.xml, if at 1, it backs up to \texttt{backup1.xml} and so on
-\dots up to \texttt{backup9.xml}.
-
-When \textit{Open EDL} is invoked, the current EDL and current undo
-stack are both \textit{pushed}, and the active session EDL is
-replaced with the target clip/nested edl.  A new undo stack is
-created, and the active \texttt{backup.xml} file name is decorated
-with the stack level.  So, \texttt{backup.xml} is
-\texttt{backup1.xml} when your edits are at stack level 1,
-\texttt{back\-up2\-.xml} at stack level 2, and so on.  This means
-that if you \textit{load backup} at stack level 1, the session will
-reload from history at stack level 1, not the main session.
-
-See a real-world workflow at appendix \nameref{sec:workflow_openedl_nested_clips}
-
-\subsection{Editing with File by Reference}%
-\label{sub:file-reference}
-
-It is sometimes handy to have EDL assets not as a copy, but as a
-reference that is automatically updated into your project.  Suppose
-you have several short videos that at the end have the same credits
-which include the current year such as 2019.  But now it is 2020 and
-all of the videos would have to be individually updated with the new
-date.  By including a \textit{Referenced File} as the EDL file type
-when you create each of the videos, you can just change the one
-credits xml file and the next time you load one of the videos and
-render it, it will now automatically have the updated information.
-
-The purpose of this feature is to be able to rework a smaller
-section of a global master project at any time, which can be done by
-an "assistant" (i.e. external software like GIMP or Inkscape, $\dots$) and then this work is automatically reflected in the
-global master project.  It is for \textbf{advanced usage only}.
-
-Up until the addition of this feature, \CGG{} has always used copies
-and no direct reference in order to ensure original data is never
-compromised.  In the usual case, subprojects as xmls are copied into
-a master project where subprojects had been inserted, so that if you
-change something in a subproject or delete a subproject, it would
-have no affect on the master project.  But now with \textit{File by
-  Reference}, any project that uses a referenced file will
-automatically include any changes made to the referenced file when
-loaded.  At the same time, if you use the EDL file NOT as a
-referenced file in a project since it is then just a copy, it will
-not be updated.  Because of this difference, the user needs to be
-very aware of what using this feature could do.
-
-\textbf{Use with extreme caution}.  However, there are several
-built-in safety features and a warning that should never be turned
-off even though it gives you the option to do so.  These include:
-
-\begin{enumerate}
-\item When the \texttt{File, Load files} menu is opened, the EDL
-  strategy will always be set to just EDL as default.  Although, if
-  you use Apply and leave the Load Menu open, it will stay changed to
-  what you selected until it is re-opened.
-\item When an EDL is opened as \textit{Reference}, the color of
-  that file name in the Resources Media folder is different in order
-  to serve as a reminder that it is special.
-\item A warning message is displayed in a popup window when you
-  load a \textit{File by Reference} that reads “Other projects can
-  change this project and this can become a broken link”.  Although
-  you can check the warning box to never see this warning again, you
-  would be well advised to not do so.  It is a great reminder of
-  consequences and you will not want to be cavalier about the warning.
-  Instead just use the X to dismiss the warning.
-\end{enumerate}
-
-Here is a step by step example of how you can use \textit{File by
-  Reference}:
-\begin{enumerate}
-\item Start up \CGG{} and use the Title plugin to create a new
-  credits file.  Save as credits.xml.
-\item Start a New project and then load an existing master
-  project to the timeline.
-\item Load the credits file you created in step 1 with a Load
-  Strategy of Create Resources Only and with EDL Strategy as
-  \textit{Reference}.
-\item Note the color change in the credits.xml filename and the
-  reference comment in the Resources Media folder.
-\item Drag the credits file to an empty spot on the timeline.
-  Save this new master project and quit.
-\item Start \CGG{} up again.  Load credits.xml and make a change
-  to the Title and save again.
-\item Exit \CGG{}; restart \CGG{}; load your master project and
-  now you will automatically see on the timeline the changes you just
-  made in the previous step.
-\end{enumerate}
-
+\section{Edit Tools}%
+\label{sec:edit-tools}
 
 \subsection{Edit Length}%
 \label{sub:edit-lenght}
@@ -1464,414 +1332,24 @@ permutation of the fragments resulting in 0002 now being first, then
   \label{fig:shuffle}
 \end{figure}
 
+\section{Multi-Session}%
+\label{sec:multi_session}
 
-\subsection{Drag Handle Management / Trimming}%
-\label{sub:drag_handle_management_trimming}
-
-With some edits on the timeline it is possible to do trimming. By
-trimming you shrink or grow the edit boundaries by dragging them. In
-drag and drop mode or cut and paste mode, move the cursor over an
-edit boundary until it changes shape. The drag handle shows as a
-left or right facing fat arrow when you cursor near the clip start
-or end.  If the cursor faces left, the dragging operation affects
-the beginning of the edit. If the cursor faces right, the dragging
-operation affects the end of the edit.
-
-The effect of each drag operation not only depends on the behavior
-button but whether the beginning or end of the edit is being
-dragged. When you release the mouse button, the trimming operation
-is performed.
-
-For all file formats, other than still images, the extent of the
-trimming operation is limited to the source file length. Attempting
-to drag the start of the edit beyond the start of the source, limits
-it to the source start. In all trimming operations, all edits which
-start on the same position as the cursor when the drag operation
-begins are affected. You have to disarm tracks in order to prevent
-edits from being affected.
-
-You have 6 different choices of which mouse button to use for
-specific types of editing while using the drag handle.  You change
-the drag handle mouse effects by using the \texttt{Settings
-  $\rightarrow$ Preferences  $\rightarrow$ Interface} tab and
-modifying the Editing section as shown in the next
-figure~\ref{fig:trim}. The drag handle affects not only the clip you
-are working on but also frequently the entire duration of all clips
-on the timeline.
-
-\begin{figure}[htpb]
-  \centering
-  \includegraphics[width=0.6\linewidth]{trim.png}
-  \caption{Default choices for mouse: Ripple for button 1; Roll
-    for button 2; Slip for button 3}
-  \label{fig:trim}
-\end{figure}
-
-A description of the fundamental/common terminology for choices
-follows.
-
-\begin{description}
-\item[All Edits (ripple)] shorten or lengthen the start or end
-  of a single piece of media while moving all media to the right of
-  that clip up or down on the timeline correspondingly.  Timeline
-  duration is modified.  In a drag \textit{All Edits} operation, the
-  beginning of the edit either cuts data from the edit if you move it
-  forward or pastes new data from before the edit if you move it
-  backward. The end of the edit pastes data into the edit if you move
-  it forward or cuts data from the end of the edit if you move it
-  backward. All the following edits shift. If you drag the end of the
-  edit past the start of the edit, the edit is deleted.
-\item[One Edit (roll)] move the in and out point of a single
-  clip without changing the timeline duration. In a drag \textit{One
-    Edit} operation, nothing is cut or pasted. If you move the beginning
-  or end of the edit forward, the source reference in the edit shifts
-  forward. If you move the beginning or end of the edit backward, the
-  source reference shifts backward. The edit remains in the same spot
-  in the timeline but the source shifts.
-\item[Src Only (slip)] move the in and out point of a single
-  clip without changing the timeline duration. In a drag \textit{Src
-    Only} operation, nothing is cut or pasted. If you move the beginning
-  or end of the edit forward, the source reference in the edit shifts
-  forward. If you move the beginning or end of the edit backward, the
-  source reference shifts backward. The edit remains in the same spot
-  in the timeline but the source shifts.
-\item[Slide] a single clip is moved but retains its current in
-  and out point; however the out point of the clip to the left changes
-  and the in point of the clip to the right also changes.  Timeline
-  duration remains the same.
-\item[Edge Left/Right] moves the edge of the clips.
-\item[No effect] no changes are made.  You might want to use
-  this choice to prevent accidental movements.
-\end{description}
-
-The next table displays the options and results
-with the Key Table here first.
-
-\begin{lstlisting}[style=sh]
-    s = src media start
-    p = proj position
-    l = length
-    c = cut distance
-    rest == p+=c: for rest of clips
-    01 = flags edits_moved, rest_moved
-\end{lstlisting}
-
-\renewcommand{\arraystretch}{1.15}
-\begin{table}[ht]
-  %\caption{}
-  %\label{tab:}
-  % Tell table to adjust font to fix on the page using \resize
-  \resizebox{\textwidth}{!}{%
-    \begin{tabular}{lllll}
-      \toprule
-      &  & \textbf{Drag Left} & \textbf{Drag Right} &\\
-      \midrule
-      \multicolumn{2}{l}{\textit{curr s += c, l -= c; + rest}} & $\leftarrow$ & $\rightarrow$ & \textit{rest}\\
-      abc12345xyz & \textbf{Ripple} left edge 11 $\rightarrow$ & abc012345xyz & abc2345xyz &\\
-      \midrule
-      \multicolumn{2}{l}{\textit{curr l += c; + rest}} & $\leftarrow$ & $\rightarrow$ & \textit{rest}\\
-      abc12345xyz & \textbf{Ripple} right edge 01 $\rightarrow$ & abc1234xyz & abc123456xyz &\\
-      \midrule
-      \multicolumn{2}{l}{\textit{prev l += c; curr ps+= c, l -= c}} & $\leftarrow$ & $\rightarrow$ &\\
-      abc12345xyz & \textbf{Roll} left edge 00 $\rightarrow$ & ab012345xyz & abcd2345xyz &\\
-      \midrule
-      \multicolumn{2}{l}{\textit{curr l += c; next ps+= c, l -= c}} & $\leftarrow$ & $\rightarrow$ &\\
-      abc12345xyz & \textbf{Roll} right edge 00 $\rightarrow$ & abc1234wxyz & abc123456yz &\\
-      \midrule
-      \multicolumn{2}{l}{\textit{s -= c}} & $\leftarrow$ & $\rightarrow$ &\\
-      abc12345xyz & \textbf{Slip} left edge 10 $\rightarrow$ & abc23456xyz & abc01234xyz &\\
-      \midrule
-      \multicolumn{2}{l}{\textit{s -= c}} & $\leftarrow$ & $\rightarrow$ &\\
-      abc12345xyz & \textbf{Slip} right edge 10 $\rightarrow$ & abc23456xyz & abc01234xyz &\\
-      \midrule
-      \multicolumn{2}{l}{\textit{prev l += c; curr p+= c; next ps += c, l -= c}} & $\leftarrow$ & $\rightarrow$ &\\
-      abc12345xyz & \textbf{Slide} left edge 10 $\rightarrow$ & ab012345wxyz & abcd12345yz &\\
-      \midrule
-      \multicolumn{2}{l}{\textit{prev l += c; curr p+= c; next ps += c, l -= c}} & $\leftarrow$ & $\rightarrow$ &\\
-      abc12345xyz & \textbf{Slide} right edge 10 $\rightarrow$ & ab12345wxyz & abcd12345yz &\\
-      \midrule
-      \multicolumn{2}{l}{\textit{curr s -+= c, l += c; + rest}} & $\leftarrow$ & $\rightarrow$ & \textit{rest}\\
-      abc12345xyz & \textbf{Edge} left edge 11 $\rightarrow$ & abc2345xyz & abc0123456xyz &\\
-      \midrule
-      \multicolumn{2}{l}{\textit{curr l -+= c; + rest}} & $\leftarrow$ & $\rightarrow$ & \textit{rest}\\
-      abc12345xyz & \textbf{Edge} right edge 01 $\rightarrow$ & abc1234xyz & abc123456xyz &\\
-      \bottomrule
-    \end{tabular}
-  }
-\end{table}
-\renewcommand{\arraystretch}{1}
-
-Next, a more immediate and colorful view shows these trimming
-options (figure~\ref{fig:trim-color}).
-
-\begin{figure}[htpb]
-    \centering
-    \includegraphics[width=0.8\linewidth]{trim-color.png}
-    \caption{The 5 types of Trim: note the different lengths of the results.}
-    \label{fig:trim-color}
-\end{figure}
-
-\paragraph{How to do a J-cut or L-cut} A J-cut is a split edit film
-editing technique in which the audio from a following scene overlaps
-the picture from the preceding scene, so that the audio portion of
-the later scene starts playing before its picture as a lead-in to
-the visual cut.  An L-cut is a different split edit film editing
-technique in which the audio from preceding scene overlaps the
-picture from the following scene, so that the audio cuts after the
-picture, and continues playing over the beginning of the next scene
-(figure~\ref{fig:j-cut}). To do either a J-cut or an L-cut, you
-first shorten the first or second video a little.  Then you block
-the audio tracks from changing by disarming the appropriate tracks.
-Finally use \textit{One Edit (roll)} the cutting edge off the
-videos.  Moving to the right creates a J-cut and moving to the left
-creates an L-cut.
-
-\begin{figure}[htpb]
-    \centering
-    \includegraphics[width=0.8\linewidth]{j-cut.png}
-    \caption{J-cut to left and L-cut to right}
-    \label{fig:j-cut}
-\end{figure}
-
-
-\subsection{Split View in Compositor Using the Drag Handle with Trim}%
-\label{sub:split_view_compositor_using_drag_trim}
-
-The Trim Feature using the drag handle provides some good ways to
-view your video while editing.  The playback position in the
-compositor is updated live and the view in the compositor can be
-split so that in the left half of the compositor you can see the
-last frame of the left clip and in the right half the first frame of
-the right clip.  Dragging edits can not be extended past the
-beginning or the end.
+You can run as many sessions of \CGG{} as your computer resources allow.  However, if you are using the same \texttt{\$HOME/.bcast5}, changes you make for one may impact the others. You can always create and rename a new \texttt{.bcast5} from:\\
+\texttt{Settings $\rightarrow$ Preferences $\rightarrow$ Interface $\rightarrow$ Index files:} and press \textit{Index files go here}
 
-First familiarize yourself with button operation; check your setup
-by executing the following step.  In the \texttt{Settings
-  $\rightarrow$ Preferences $\rightarrow$ Interface} tab, Editing
-section, clicking on the edit boundaries can be set for Button 1, 2,
-3 as one of the following:
+\section{Multi-Viewer Window Support}%
+\label{sec:multi_viewer_window_support}
 
-\textit{Ripple}; \textit{Roll}; \textit{Slip}; \textit{Slide};
-\textit{Edge} or \textit{No effect}
-
-Now to use this feature, create a track with edits that have trims
-on the left and/or the right. The edit boundary can be modified
-using \textit{drag handles} at the boundary between the edits
-(figure~\ref{fig:trim-display}).
+You can create as many Viewer windows as you want in \CGG{}.  These are handy for users who are adept at working with a lot of different clips simultaneously.  By bringing up multiple Viewer windows, each clip can be edited in its own area, making it easy to see all of the separate pieces.  After you have loaded some media files, to start another Viewer window, right click on one of the pieces of media in the Resources window.  This brings up a menu of several options, one of which is \textit{view in new window}.  Choose this option and that media will come up in a new Viewer window for you to work (figure~\ref{fig:multi-view01}).
 
 \begin{figure}[htpb]
-  \centering
-  \includegraphics[width=1\linewidth]{trim-display.png}
-  \caption{Split compositor screen showing the result of the Trim feature}
-  \label{fig:trim-display}
-\end{figure}
-
-\begin{description}
-\item[Left Mouse Button (LMB) usage:] If you grab the edit
-  handle from the right side, you will see a left arrow and dragging
-  the boundary will modify the right edit playback starting time. If
-  you grab the edit handle from the left side, you will see a right
-  arrow and dragging the boundary will modify the left edit playback
-  ending time. In both cases, the composer will show the edit endpoint
-  of the changed edit.
-\item[Shift LMB usage:] The effect on the edits is the same as
-  described above, but the composer will show a split screen of the
-  left and right edits as they appear at the drag handle
-  boundary. Dragging will only change one of the two images, since
-  only one edit is being changed.
-\item[Middle Mouse Button (MMB) usage:] Both the left and the
-  right edit ending/starting times are updated.  The image shown in
-  the compositor will be drawn from the side of the drag grab, that is
-  the left if it is grabbed from the left, and the right if it is
-  grabbed from the right.
-\item[Shift MMB usage:] The effect on the edits is the same as
-  described above, but the composer will show a split screen of the
-  left and right edits as they appear at the drag handle boundary.
-  Dragging will change both of the two images, since both edits are
-  being changed.
-\item[Right Mouse Button (RMB) usage:] The start/end point of
-  the current edit is moved, but the edit length is unchanged only one
-  image changes since only one edit endpoint is view is updated.
-\item[Shift RMB usage:] The effect on the edits is the same as
-  described above, but the composer will show a split screen of the
-  left and right edits as they appear at the drag handle boundary.
-  Dragging will only change one of the two images, since only one edit
-  is being changed.
-\end{description}
-
-
-\subsection{Snapping while Cutting and Dragging}%
-\label{sub:snapping_cutting_dragging}
-
-\paragraph{Cutting/Snapping edits} cuts from an edit handle to the
-insert point.  There are Edit Panel buttons which normally are used
-to move to the previous or next edit handle/label.
-
-\begin{wrapfigure}[3]{r}{0.2\linewidth}
-  \vspace{-2ex}
-  \centering
-  \includegraphics[width=0.7\linewidth]{snap.png}
-\end{wrapfigure}
-
-They look like tags and the letter E on the menu bar and are
-oriented forward/backward.  These same buttons can be used to
-\textit{cut} from the insert pointer to the previous or next
-edit/label when the ctrl+alt keys are both pressed when the buttons
-are used.  They \textit{snap} off the media instead of doing the
-standard re-positioning.  This is useful to minimize the number of
-operations necessary to cut between edits/labels.
-
-Instead of using the edit panel buttons, you can more easily use the
-following keyboard shortcuts to perform the same functions:
-
-\begin{center}
-  \begin{tabular}{lll}
-    \toprule
-    snap\_right\_edit & ctrl+alt+ '.' &\\
-        snap\_left\_edit & ctrl+alt+ ',' &\\
-    snap\_right\_label & ctrl+alt +shift '.' & shift+period is the > sign on US keyboards\\
-    snap\_left\_label &  ctrl+alt +shift',' & shift+comma is the < sign on US keyboards\\
-    \bottomrule
-  \end{tabular}
-\end{center}
-
-\paragraph{Drag Snapping} if you hold down the Ctrl + Alt keys while
-dragging using the mouse, once the clip gets near to an edit, a
-label, an in/out pointer or the start/end of the timeline, the
-dragged clip will snap next to that marker.  The 2 will now be
-exactly aligned with no gap and no overlap.  As you drag the clip
-close to one of the markers, when they are within a short distance
-they start to stick and stay that way until you move further away
-from that distance.  Also, the line will turn color from green to
-yellow while in the sticky phase.  In addition, this works for a
-plugin while dragging so that it will be the same length as the edit.
-
-
-\subsection{Nesting}%
-\label{sub:nesting}
-
-\paragraph{Nested Assets} A nested asset is an EDL session that
-embeds an existing EDL session, all tracks, all plugins, editing,
-and effects into a media object that appears as one audio/video
-media object, no plugins, editing, or effects.  It is as if the
-existing EDL was rendered, and loaded in its place.  This has
-several interesting side effects.  First, you don’t have to render
-the entire media file to see any portion.  Second, it requires no
-rendering compute time or storage.  Third, it changes the precedence
-of the composer so that you get more control over the projection and
-automation, so that the results can be sent into another rendering
-step, not simply part of the current stack.  It groups the plugin
-stack in much the same way that an arithmetic expression is grouped
-by parenthesis.
-
-The EDL session and the rendered output are visually equivalent.
-Nested assets allow for complex grouping and stacking of effects,
-and makes media access much more flexible.  This feature can be used
-recursively, that is, any number of sessions may be stacked and
-referenced as an asset, as long as all of the rendering resources
-are available.  Nested assets are added to the timeline by using the
-pulldown \texttt{File $\rightarrow$ Load files}\dots on the main
-menu and selecting the \textit{Insertion strategy} of \textit{Nest
-  asset}. The file will be pasted into the timeline over the current
-selection or at the insertion point.
-
-It is somewhat important to note that nested assets and nested clips
-will have index files automatically created.  These index files can
-start to clutter up your \texttt{\$HOME/.bcast5} directory with
-files named \texttt{Nested\_\#\#\#.idx} and you may want to
-periodically delete any index files which are no longer in use.
-
-\paragraph{Nested Clips} It is also possible to create
-\textit{clips} and convert them to \textit{nested edl}.  This is
-done by first creating a clip using the standard cut, clipboard,
-paste, and/or edit panel buttons.  Now, using the resources
-\textit{clip} folder, select a clip to be nested, and use the right
-mouse button to select a clip.  This activates the clip popup menu.
-Select the \textit{Nest to media} menu item, and the clip will be
-converted to a \textit{Nested: Clip} and put in Media
-folder. Conversely, you can select a \textit{Nested: Clip}, use the
-\textit{EDL to clip} menu item, and the clip will be reverted to a
-\textit{Clip}.  This works similarly to the group / un-group editing
-features of many graphic design editing programs, but in this case
-the groups are rendered compositions (figure~\ref{fig:nesting}).
-
-Nested clips can be proxied and when they are, the resulting files
-are placed in the user's \$HOME/Videos directory by default.  This
-can be modified by changing
-
-\texttt{Settings $\rightarrow$ Preferences $\rightarrow$ Interface}
-tab, Nested Proxy Path.
-
-\begin{figure}[htpb]
-  \centering
-  \includegraphics[width=1.0\linewidth]{nesting.png}
-  \caption{Nested clips in Timeline and Resources window}
-  \label{fig:nesting}
+       \centering
+       \includegraphics[width=1.0\linewidth]{multi-view01.png}
+       \caption{Shown here are 3 Viewer windows and the \textit{View in new window} popup}
+       \label{fig:multi-view01}
 \end{figure}
 
-\paragraph{Notes:} creating nested clips is a complicated internal process for \CGG{}, especially for managing audio tracks. Therefore you need to make sure you have your project set up as you expect before you start nesting with the \texttt{Nest to Media} command.  Below are several things to remember.
-
-\begin{itemize}
-       \item The creation of the nested clip is based on the settings in \texttt{Settings $\rightarrow$ Format}. Be sure that the number of audio tracks and channels is the same as we want to have in the nested clip. In addition, it is better to make each audio track independent from the others (which could be linked in more than one channel) using the option: \texttt{Audio $\rightarrow$ Map 1:1}
-       \item You can do any editing on the nested clip once it is loaded to the timeline. For example we can start an OpenEDL session to make the changes. Once out of the OpenEDL session it may be that the changes made are not visible in the original nested clip. You can fix this by doing RMB on the nested clip in the \textit{Resources/Media} window and choosing \texttt{Rebuild index}. This process may take some time depending on the size of
-the media; because of the additional time required to do this, it is not done automatically in order to allow
-the user to make the decision as to when they are done editing enough and need to see the exact results
-in order to save time.
-       \item Because of the way the timeline thumbnails are displayed, after editing using OpenEDL of a
-nested clip, the thumbnails of the video track may be redrawn and may look different and out of sync with the
-way they did originally with respect to the audio waveforms. This is simply a result of the redrawing of the
- video track which is independent from the redrawing of the audio tracks. The playback is still synchronized.
-\end{itemize}
-
-\paragraph{Usage Examples of Nested Clips}
-
-\begin{description}
-\item[Example 1:] You want to make a flashback/rewind at the end
-  of your video that represents a quick summary of the entire video in
-  black and white. On he timeline, you have 60 seconds of edits with
-  clips, cuts, zoom in, zoom out and any other edits. Now you want to
-  get this 60 seconds \textit{compressed} to 10 seconds, play in
-  reverse, and in black and white at the end of your video.  You would
-  copy the 60 seconds in a clip, nest the clip in the Clip folder of
-  the Resources window and drag it to the timeline. You will see only
-  a clean clip without all of the edits that were used to create it
-  because nesting display a clip without having to actually use the
-  Render menu.  Now you can add a Reverse effect, Color3way plugin for
-  black and white, and use the Speed auto to get the 60 seconds down
-  to only 10 seconds.
-\item[Example 2:] You are working on a complex project with a
-  team in a separate location. You create some sub projects, i.e.\
-  sequences, that you or the team will use in the Master project to
-  merge the sequences in the right order and to make the final color
-  correction steps.
-\end{description}
-
-In each of the examples you can see the benefit of nesting to create
-clean looking timelines because of the automatic rendering
-capability of nesting.
-
-
-\subsection{Copy/Paste clips/medias across Multiple Instances}%
-\label{sub:copy_paste_multiple_instances}
-
-It is easy to copy/paste clips/media within a single instance of
-\CGG{} or across multiple instances.  The reason this works is
-because there are hidden X cut buffers and these are used to
-transmit EDL from 1 instance to another.
-
-Steps to copy from a source timeline and paste to a target timeline:
-
-\begin{enumerate}
-\item highlight a selection on the timeline in 1 instance of \CGG{}
-\item use the Copy icon (shortcut c) on the main menu bar to copy
-  into a buffer
-\item move the pointer to another instance of \CGG{} and set an
-  insertion point in its timeline
-\item use the Paste icon (shortcut v) to paste the clip to that
-  other instance selection target
-\end{enumerate}
-
-
 \section[ShuttlePROv2 and ShuttleXpress Jog Wheels for Editing]{ShuttlePROv2 and ShuttleXpress Jog Wheels for Editing\protect\footnote{programmatic specifications from Eric Messick}}%
 \label{sec:shuttle_jog_wheels_editing}
 
index 6b55d8629827184a4819930c4e3d823e6a01018d..b523da1505f5745ce566392a9a2a5b0fb2f521e1 100644 (file)
@@ -18,7 +18,7 @@ ffmpeg probes late and it reads \textit{Currently: Try FFMpeg last}.  The initia
 the icon is on, that is, ffmpeg probes first. Suggestion is to leave it on except in a few special 
 cases where it may be better to have early probes disabled.  When you mouse over the main menu icon 
 toggle button, the text displays ffmpeg's \textit{Currently} set position.  Just left mouse click to change to the other setting.
-The ffmpeg early probe state is saved between sessions and is also affected by choices made in Probe Order (refer to section~\ref{sub:probe_order_loading_media}). It is important to note that the various file indexes may need to be rebuilt if you change which codec is being used to decode the file.  There is a warning popup to remind you when you change the default ffmpeg early probe state (unless you have checked the box to no longer show the warning).  You can easily rebuild the index for a specific media file by going to the Resources window, right mouse click on that media, and choose \texttt{Rebuild Index} from the popup choices.
+The ffmpeg early probe state is saved between sessions and is also affected by choices made in Probe Order (refer to section~\nameref{sub:probe_order_loading_media}). It is important to note that the various file indexes may need to be rebuilt if you change which codec is being used to decode the file.  There is a warning popup to remind you when you change the default ffmpeg early probe state (unless you have checked the box to no longer show the warning).  You can easily rebuild the index for a specific media file by going to the Resources window, right mouse click on that media, and choose \texttt{Rebuild Index} from the popup choices.
 
 Figure~\ref{fig:ff} shows (1) greenish colored icon in upper right hand corner of main window indicating
 that ffmpeg early probes is enabled; (2) \textit{Try FFMpeg last}  indicator message for ffmpeg early probes enabled (note that the icon is different because you highlighted the icon); and (3) "C"  icon indicates ffmpeg will be used last and you are changing the behavior so that \CGG{} warns you accordingly.
index 3787cd58e98aeaa32c2d6201198031e191a6c227..f68299085b3afd277f19d4bff60ac40d691a2b07 100644 (file)
@@ -881,6 +881,12 @@ graphics, animations, physical computing, etc.
 Click here for the
 \href{https://gitlab.com/giuseppetorre/bodhilinuxmedia}{homepage of Bodhi Linux}.
 
+\subsection{Elive}
+\label{sec:elive}
+
+\textbf{Elive}, or Enlightenment live CD, is a non-commercial, cost-free operating system based on Debian, for the daily use and it can be used both as live CD or Installed system. Elive uses a customized Enlightenment desktop. It is fast, user-friendly and feature-rich and \CGG{} is included in the 64 bit version.\r
+
+Click \href{https://www.elivecd.org/}{Elive} for more information.
 
 \section{Cinx and a “Bit” of Confusion}%
 \label{sec:cinx_and_a_bit_of_confusion}
index 114060ec56ce179e171692d2e67e0d46ffcdd8e1..31f4826fda4cb2ca09e39c72db470279848430c9 100644 (file)
@@ -124,12 +124,14 @@ programmers.
                     \item Inter-View mode as invented through a collaborative effort by a user and the developer.
                     \item Proxy settings for large formatted media with the coveted Scalar option and proxy quick switch.
                     \item Multiple cameras / Mixer Viewer with the number of cameras only limited by the resources on the user’s computer (on a large system, 50 are known to work).
+                    \item Audio/Video sync via waveforms, or timecodes to include syncing with externally recorded audio.
                     \item DVD/bluray creation, editing, and copying for non-commercial media greatly enhanced for usability.
                     \item Title plugin virtually unlimited script size with many changeable attributes such as size, blink, color.
                     \item Motion Graphics using the Sketcher plugin to create elements such as ellipses, rectangles and shapes for simpler motion graphics.
                     \item Open EDL for editing clips, nested clips, and xml files while working on a Project.
-                    \item The Vectorscope option in the Videoscope plugin allows for the use of any number
-of user-supplied grid patterns as an Overlay.
+                    \item The Vectorscope option in the Videoscope plugin allows for the use of any number of user-supplied grid patterns as an Overlay.
+                    \item Hardware acceleration with vaapi and vdpau for computers with graphics boards meeting certain criteria.
+                    \item Bump Autos is a new type of autos that allows you to easily create and manage keyframes intervals in Speed, Fade and Camera/Projector-XYZ curves.
                 \end{itemize}
 \end{description}
 
@@ -166,6 +168,10 @@ And which chapters are important for beginning to learn to use \CGG{}. At the en
         New and occasional users will find it necessary to read this chapter. However, you can decide which editing mode you prefer and concentrate on reading that section.
         Even seasoned users will want to read this chapter in order to take advantage of features that have been newly implemented or may be less familiar due to infrequent usage.
         Anyone who wants the editing capabilities that comes with use of the Shuttle Jog Wheel, will initially need to read that section to become familiar with its usage.
+        
+     \item[Chapter~\ref{cha:advanced_editing}] \nameref{cha:advanced_editing}.
+     
+       Many tools for the advanced editing: Proxy, Nesting; Trimming; Multi-Cam; Audio/Video sync and Transcoding. \CGG{} offers many possibilities and sophisticated alternatives for editing, but they are complex tools. Here we deepen their knowledge and use.
 
     \item[Chapter~\ref{cha:rendering}] \nameref{cha:rendering}.
 
@@ -211,11 +217,6 @@ And which chapters are important for beginning to learn to use \CGG{}. At the en
         If this is what you want to do, then read this chapter.
         In the case of DVD media creation it includes many examples and lots of tips for checking your methods.
 
-    \item[Chapter~\ref{cha:multi_5}] \nameref{cha:multi_5}.
-
-        For using multiple cameras in your video creation, this chapter is a must read. Otherwise, just refer
-        to the section that becomes pertinent as you familiarize yourself with using \CGG{}.
-
     \item[Chapter~\ref{cha:shortcuts}] \nameref{cha:shortcuts}.
 
         Everyone will want to use this chapter to speed up their editing sessions.
@@ -255,6 +256,10 @@ And which chapters are important for beginning to learn to use \CGG{}. At the en
     \item[Appendix~\ref{cha:auxiliary_programs}] \nameref{cha:auxiliary_programs}.
 
         This is a catch-all for any useful programs that may need to be included, mostly for analysis.
+        
+     \item[Appendix~\ref{cha:editing_real_world_usage}] \nameref{cha:editing_real_world_usage}.
+    
+       Our users illustrate in-depth examples of their workflows by showing their editing in real use cases.
 
 \end{description}
 
index 2a85ec2cca164573ad5f3be1a2b777f7b1474cdb..310b4aae07dbcaa7d8140fe0c70b2bdebc5b125b 100644 (file)
@@ -108,9 +108,8 @@ audio, with a double click. The curves to be affected must be both armed and gan
 patchbays to be included in the operation. You can see the advantage of having different media types
 ganged the same so that they will remain synchronized.  However, if as recommended you have Settings of \textit{Align cursor on frames} set, video will always snap to a frame, whereas audio does not.  Because the smallest pieces are audio and not video, when video is present in order to maintain synchronization be sure to do the double click on the video track.  The single/double click feature also works in the same manner for Fade Automation.
 
-The conversion algorithms that calculate the duration are approximate, not exact.   Speed is not checked when inserting media on a track that already has speed adjustments so duration will not be corrected in that case.  You can not do negative time and you can not play backwards.  When working with edits and the speed auto, if you 
-make a "cut" in a section, the speed curve values should not change over the remaining playable edits.  It is
-possible to easily add "disjoint" curve points at the boundaries of the edit to preserve the curve shape.
+The conversion algorithms that calculate the duration are approximate, not exact.   Speed is not checked when inserting media on a track that already has speed adjustments so duration will not be corrected in that case.  You can not do negative time and you can not play backwards.  When working with edits and the speed auto, if you make a \textit{cut} in a section, the speed curve values should not change over the remaining playable edits.  It is
+possible to easily add \textit{disjoint} curve points at the boundaries of the edit to preserve the curve shape.
 
 Steps to demonstrate Auto Gang of Speed/Fade on all of the audio and video tracks are listed below:
 
@@ -141,6 +140,94 @@ Figure~\ref{fig:always} shows orange keyframes and lines for the ganged speed au
 
 One other helpful item is a small colored indicator in the zoombar \textit{Automation Type} box when you have clicked on an auto line.  It will be the same color as that line so you can easily see out of the corner of your eye what that line refers to.  This is especially useful for the Camera and Projector X,Y,Z lines which are often right on top of each other.  In addition the status bar will have the colored indicator to the left of the last auto value when that status is visible.
 
+\section{Bump autos}%
+\label{sec:bump_autos}
+
+Bump autos are a kind of floating point keyframe that differs from the rest
+of the floating autos, like smooth and linear, in that they have two values:
+
+   a left edge and a right edge value.
+
+The presence of a \textit{bump} creates boundaries
+to regions on the timeline.  The region begins at that bump, and extends to
+the next bump auto.  If the bump \textit{span} toggle is set, then adjusting the
+left/right edge value will raise or lower all of the auto values in the
+bump region.  For example, if you put a speed bump in at 1.0 secs and
+another at 2.0 secs on the timeline, and adjust the right edge of the first auto to
+speed 3.0, then the first region of playback (between 0.0 and 1.0 secs) will
+play at normal speed, the next region (between the speed bumps) will play
+at 3x, and the last region (after the 2.0, which moved to 1.333 after speed up)
+will play at normal speed (figure~\ref{fig:bump-autos-04}).
+
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=0.6\linewidth]{bump-autos-04.png}
+       \caption{range from left keyframe to right keyframe}
+       \label{fig:bump-autos-04}
+\end{figure}
+
+Adjusting the \textit{bump} edge values when \textit{span} is on modifies all of the keyframes between edges of bumps, or to the beginning or end of media if there are no bumps to end the bump region.  Turn \textit{span} off if you only want to change the edge value without modifying the region values.
+
+\paragraph{Technical Insight:} The \textit{bump} is a kind of FloatAuto, an element in an automation list that is one of the 12 automation types of keyframe lists:
+
+\qquad \textit{mute, cam\_x,y,z, proj\_x,y,z fade, pan, mode, mask, speed}
+
+which are part of the Track.  A FloatAuto is one of 4 auto \textit{value} types
+that are stored in the auto at the keyframe position: \texttt{float, mask, int,
+pan}.
+
+A FloatAuto stores a floating value for the automation at a position on
+the track.  When a FloatAuto \texttt{get\_value} is invoked at a track position, the
+position is used to access a previous and next auto list element values
+based on the \textit{current} position.  The returned value is generated using
+one of 5 modes of curve interpolation: smooth, linear, tangent, disjoint, bump.
+
+When a FloatAuto is created, it gets a list default value.  This varies
+by auto type speed=0, fade=100, ..., and at position 0, but this is almost
+always immediately changed to a value specified for the current position,
+a value/mode you specify in the sliders and drag values of the GUI updates.
+
+The best way to create bump keyframes is highlight a region and then:
+
+\texttt{Keyframes $\rightarrow$ Create curve type $\rightarrow$ bump}
+
+\texttt{Keyframes $\rightarrow$ Create keyframes $\rightarrow$ speed} (or other)
+
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=1.0\linewidth]{bump-autos-01.png}
+       \caption{Bump autos creation}
+       \label{fig:bump-autos-01}
+\end{figure}
+
+However, you can also create them by clicking or double-clicking on the curve, then:
+
+\texttt{RMB $\rightarrow$ bump}
+
+\texttt{RMB $\rightarrow$ speed} (or other)
+
+Make sure that the keyframes at the edges are bump type, span is active and that the left edge is set to the right (if we want to change the next interval). Changing the \textit{Left/Right Edge} and \textit{Span} options will involve all the autos of the curve. Actually the changes concern the whole curve, not the individual keyframes.
+
+\textbf{Warning}: bump autos works only via slider. Dragging the keyframe with the mouse makes you lose the \textit{right/left edge} and \textit{span} settings and behave as normal autos (figure~\ref{fig:bump-autos-02}).
+
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=0.5\linewidth]{bump-autos-02.png}
+       \caption{Speed autos slider}
+       \label{fig:bump-autos-02}
+\end{figure}
+
+With using the sliders on a track, the keyframes ganged track are changed if the positions match; tracks can be excluded by switching the track gang mode off. Another way to edit all armed tracks of all types at the same time is as follows:
+
+\begin{itemize}
+       \item disable \textit{Master track} of all tracks except the first one, on which we will work.
+       \item switch to \textit{gang media} mode. Now only the Master track is visible, but every change made on its keyframes is also applied to the other tracks. (see \nameref{sub:displaying_tracks_ganged})
+\end{itemize}
+
+In the Camera and Projector tools configuration window you will find the \textit{Bump curve}, \textit{Span} and \textit{Rigth/Left Edge} buttons. The Camera-XYZ and Projector-XYZ curves can also create and use Bump autos. (see \nameref{ssub:camera_and_projector_menu})
+
+\paragraph{Note:} do not confuse the autos bump span button with the keyframes span button of the plugins (on MenuBar); they are different and work differently (see \nameref{sec:allow_keyframes_spanning}). With the plugin keyframes, the update is done by first creating a textual \texttt{diff} on the xml values of the plugin keyframes, then applying that diff to all of the keyframes selected in the \textit{span} range.  The bump FloatAuto \texttt{bump\_update} subtracts the old and new values to create a \texttt{diff} that is added to all of the values in the [\textit{right\_edge $\dots$ auto values $\dots$ left\_edge}] region created by bump autos and media endpts.
+
 \section{Plugin Keyframes}%
 \label{sec:plugin_keyframe}
 
index 1b0c932a751077fc4bb27e5a090b91c315251cc6..820667ba3bda7588285d22006588363a82d48d33 100644 (file)
@@ -193,7 +193,7 @@ All data that you work with in \CGG{} is acquired either by loading from disk or
         \item[Paste at insertion point:] the file is pasted into the timeline at the insertion point, on the first set of armed tracks.  If multiple files are selected for loading, they will be inserted on the same set of tracks, one after the other. New resources are created in the Resources Window.
         \item[Create new resources only:] the timeline is unchanged and new resources are created in the Resources Window only.
         \item[Nest sequence:] nested assets are added to the timeline by using the Nest sequence insertion strategy.
-        The file will be pasted into the timeline over the current selection or at the insertion point. A nested sequence is media that had already been saved as an EDL earlier.  Nesting is described more fully in section \ref{sub:nesting}.
+        The file will be pasted into the timeline over the current selection or at the insertion point. A nested sequence is media that had already been saved as an EDL earlier.  Nesting is described more fully in section \ref{sec:nesting_clips_and_assetts}.
     \end{description}
     The insertion strategy is a recurring option in many of \CGG{}'s functions. In each place the options do the same thing. If you load files by passing command line arguments to \CGG{}, the files are loaded with \textit{Replace current project} by default.
     \item[Loading Multiple Files] In the Load dialog go to the list of files. Selecting files utilizes the motif style selection method.
index 940daa67d92bbf70c4d528cdf0d39548a8982dd6..995b773681e19d9ff25767243a3c813c70f3d553 100644 (file)
@@ -1074,18 +1074,18 @@ is a clear button on the right to set the value to 1.
 \subsection{Brightness/Contrast}%
 \label{sub:brightness_contrast}
 
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=0.6\linewidth]{brightness.png}
+       \caption{How it works Brightness and Contrast}
+       \label{fig:brightness}
+\end{figure}
+
 To brighten a dark shot, or add light, use this plugin. Do not overuse the effect or you risk degrading your video quality.
 The \textit{Brightness} slider moves up or down the values of the entire channel and corresponds to the \textit{Master Offset} of the various grading programs.
 The \textit{Contrast} slider expands or narrows the brightness values of the entire channel; corresponds to the use of the \textit{cursors} (small triangles) in the \textit{Histogram} plugin. Clear icons are present to reset its slider to default without affecting others.
 Use the effect along with keyframing to brighten a long shot that is dark at the beginning but bright at the end. Generally you will want to change the brightness and contrast about the same amount (for example -- brightness $28$, contrast $26$) so that your original colors are kept intact. This effect is also keyframable (figure~\ref{fig:brightness}).
 
-\begin{figure}[htpb]
-    \centering
-    \includegraphics[width=0.6\linewidth]{brightness.png}
-    \caption{How it works Brightness and Contrast}
-    \label{fig:brightness}
-\end{figure}
-
 \subsection{BurningTV}%
 \label{sub:burningtv}
 
@@ -2095,7 +2095,7 @@ Uses X/Y camera automation vectors to apply a linear blur trailing camera direct
 \subsection{MotionCV}%
 \label{sub:motioncv}
 
-Motion tracking/stabilization from the community version of \CGG{}. For theory and explanations refer to the \hyperref[sub:motion]{Motion} plugin.
+Extended motion tracking/stabilization from the community version of \CGG{}. For theory and explanations refer to the \hyperref[sub:motion]{Motion} plugin.
 
 \subsection{MotionHV}%
 \label{sub:motionhv}
index f2a09cfcfe8263b5b80109e438b2a3c50e354d81..16d67b935d77e1c2859358c835b51ecfd36575c8 100644 (file)
@@ -16,7 +16,7 @@ an OpenEDL session for each clip. Using the OpenEDL timeline is similar to
  using the normal timeline: you can add effects, cut and drag, add or delete
 tracks, etc.
 
-For more information on OpenEDL and Nested clips see sections \nameref{sub:edit-edls} and \nameref{sub:nesting}.
+For more information on OpenEDL and Nested clips see sections \ref{sec:openedl} and \ref{sub:nested_clips}.
 
 Scenario setup consists of making one hour video using 3 different cameras:
 
index 80732f89c7189d30dba6d940667aed73fb70071e..308caaae40a6cf2c1d0f9aa00760127ccd64324a 100644 (file)
@@ -29,6 +29,7 @@ The Main window (also called the program window) consists of pulldown menus, but
   & -- load tool & Ctrl-a & Selects all files. \\
   & -- load tool & Ctrl-z & Deselects any highlighted files. \\
   & Save & s & Save project. \\
+  & Save & Ctrl-s & Save project. \\
   & Save As\dots & Shift-S & Save a project for easy moving. \\
   & Export Project & Alt-s & Save a project for easy moving. \\
   & Record\dots & r & Open record window. \\
@@ -46,6 +47,7 @@ The Main window (also called the program window) consists of pulldown menus, but
   & Save Backup & b & Save auto-backup file “backup.xml". \\
   \midrule
   \textcolor{CinBlueText}{Edit} & Undo clear & z & Undo from history previous operation. \\
+  & Undo clear & Ctrl-z & Undo from history previous opration. \\
   & Redo & Shift-Z & Redo from history next opration. \\
   & Cut & x & Copy selection to cut buffer and delete. \\
   & Split & x & Split edit into 2 sections at hairline cursor. \\
@@ -107,7 +109,7 @@ The Main window (also called the program window) consists of pulldown menus, but
   & -- Edit effects &  & Toggle plugins follow edits. \\
   & -- Keyfrs fol.\ edits &  & Toggle keyframes follow edits. \\
   & -- Typeless keyfrs &  & Toggle typeless keyframes mode. \\
-  & Save settings & Ctrl-s & Save \CGG{}\_rc. \\
+  & Save settings now & Ctrl-Shift-S & Save \CGG{}\_rc. \\
   & Loop Playback & Shift-L & Set loop playback region to selection/all. \\
   & Set bkg render & Shift-G & Toggle background rendering. \\
   \midrule
@@ -216,12 +218,13 @@ The Main window (also called the program window) consists of pulldown menus, but
   & Manual Goto & g & Jump to time selected by popup. \\
   \midrule
   \textcolor{CinBlueText}{Drag/Drop Edits} & Clear Select & Ctrl-Shift-A & Deselect all selected edits. \\
+  & Select Edits & Ctrl-Alt-a & Add highlight to selected edits. \\
   & Copy & Ctrl-c & Copy selected edits into copy buffer. \\
   & Cut & Ctrl-x & Delete selected edits/put in buffer/collapse. \\
   & Mute & Ctrl-m & Delete selected edits/put in buffer/insert space. \\
   & Mute & Backspace & Delete selected edits/put in buffer/insert space. \\
   & Copy Pack & Ctrl-Shift-C & Copy selected edits and pack together. \\
-  & Cut Pack & Ctrl-z & Delete selected edits/put in buffer/collapse. \\
+  & Cut Pack & Ctrl-Alt-z & Delete selected edits/put in buffer/collapse. \\
   & Mute Pack & Ctrl-Shift-M & Delete selected edits/put in buffer/insert space. \\
   & Paste & Ctrl-v & Paste (splice) buffer at insertion point or reticle. \\
   & Overwrite & Ctrl-b & Paste (overwrite) buffer at insertion pt/reticle. \\
index f7a0bb9f2b4150a8e29f852bf45008d2673a5abc..f89e3f0ec85958f3aabda5d111b8936d85af7ded 100644 (file)
@@ -173,8 +173,8 @@ click on the highlighted media and choosing \textit{Match project size}.
 However, this automatic method leads to the dilemma of where you have a 10-bit media file and it would
 get loaded as RGBA-8 when you would prefer it to be RGBA-Float.  So instead of using \textit{replace current
 project} when loading your media, you would have to make sure the project is first set to your desired
-Format.  This could be done with the File$\rightarrow$New project and then setting your Color
-Model to RGBA-Float and whatever other parameters you want.  Next when doing a File$\rightarrow$Load, use
+Format.  This could be done with the \texttt{File$\rightarrow$New project} and then setting your Color
+Model to RGBA-Float and whatever other parameters you want.  Next when doing a \texttt{File$\rightarrow$Load}, use
 \textit{Append in new tracks} or \textit{Create resources only}. This avoids using the "best model"
 technique and uses instead what you have designated so that if you set the Color Model to RGBA-Float that
 will be in effect.
index c78244df254c7fe1a4dbffce54563e28f961f4db..63e641f02a0a8ef707ebb0aade09592c4aab7fd2 100644 (file)
@@ -31,8 +31,8 @@ VDPAU, Video Decode and Presentation API for Unix, is an open source library to
 
 VA-API, Video Acceleration API, is an open source library which provides both hardware accelerated video encoding and decoding for use mostly with Intel (and AMD) graphics boards. 
 
-Currently only the most common codecs, such as MPEG-1, MPEG-2, MPEG-4, H.264 /MPEG-4 and h265 (hevc), are accelerated/optimized by the graphics card to play these particular video formats efficiently. The other formats are not optimized so you will see no performance improvement since the CPU will handle them as before, just as if no hardware acceleration was activated. There are many different graphics cards and computer systems setup, so you will have to test which specific settings work best for you.  So far this has been tested at least with Nvidia, Radeon, and Broadwell graphics boards on some AMD and Intel computers; depending on the graphics card, two to ten times higher processing speeds can be achieved.  However, most graphic operations are single-threaded so that 
-performing the operations in the hardware may actually be slower than in software making use of multiple CPUs, which frequently multi-thread many operations simultaneously.
+
+Currently only the most common codecs, such as MPEG-1, MPEG-2, MPEG-4, H.264 /MPEG-4 and h265 (hevc), are accelerated/optimized by the graphics card to play these particular video formats efficiently. The other formats are not optimized so you will see no performance improvement since the CPU will handle them as before, just as if no hardware acceleration was activated. There are many different graphics cards and computer systems setup, so you will have to test which specific settings work best for you.  So far this has been tested at least with Nvidia, Radeon, and Broadwell graphics boards on some AMD and Intel computers; depending on the graphics card, two to ten times higher processing speeds can be achieved.  However, most graphic operations are single-threaded so that performing the operations in the hardware may actually be slower than in software making use of multiple CPUs, which frequently multi-thread many operations simultaneously.
 
 \subsection{GPU hardware decoding}%
 \label{sub:gpu_hardware_decoding}
@@ -303,13 +303,6 @@ There are currently 4 options files available in the Render menu already set up
 \end{description}
 Other option files can be added as needed for your specific hardware if it is known to work for you, such as VP8 and VP9.  An example of the included \CGG{}’s \texttt{ffmpeg/video/h264\_vaapi.mp4} file (figure~\ref{fig:render-vaapi}):
 
-
-\begin{lstlisting}[numbers=none]
-mp4 h264_vaapi
-cin_hw_dev=vaapi
-profile=high
-\end{lstlisting}
-
 \begin{figure}[htpb]
        \centering
        \includegraphics[width=1.0\linewidth]{render-vaapi.png}
@@ -317,6 +310,12 @@ profile=high
        \label{fig:render-vaapi}
 \end{figure}
 
+\begin{lstlisting}[numbers=none]
+mp4 h264_vaapi
+cin_hw_dev=vaapi
+profile=high
+\end{lstlisting}
+
 According to an online wiki, hardware encoders usually create output of lower quality than some software encoders like x264, but are much faster and use less CPU. Keep this in mind as you might want to set a higher bitrate to get output of similar visual quality.
 
 Results of a particular test case performed on a Intel, 4-core computer, with Broadwell Graphics using an mp4 input video/audio file with dimensions of
@@ -429,89 +428,11 @@ With the X11 video driver choice, large format files such as 4K, will playback f
 \section{Proxy Settings and Transcode}%
 \label{sec:proxy_settings}
 
-Working with videos that have large image geometry can greatly impede editing.  Instead you can substitute \textit{proxies} which will create smaller video image files from the original file that can then be edited more quickly.   When you are done working on this smaller scale, you will need to bring up the Proxy settings menu again, and change the Scale factor back to the Original size so that all of your edits/work take affect on that original higher quality video on the timeline.  
-
-To use this feature, select \texttt{Settings $\rightarrow$ Proxy settings} and change the Scale factor from Original size to your downsized choice.  You can choose ffmpeg as the File Format and a choice of various codecs associated with that.  A good choice is the default of mpeg which can usually be quite fast.  In addition, to modify values for that codec, click on the wrench icon.  When you have completed your choices, just click OK, and then the video tracks will be rendered. This may take some time, but previous proxy renders will be reused.  
-The proxy videos will be added to your assets in a separate Proxy folder, and the video track edits will use the proxies.
-The assets in both the Media folder and Proxy folder will look proxied when dragged to the Viewer although the scale may be different.
-Proxy downsizing renders all loaded tracks, but only work on the $1^{st}$ video layer of any multi-layer media.  Rendered proxy media is saved in the same directory as the original media.
-However, if you proxy your session, the clips do not get proxied to the Proxy folder, but if you Drag and Drop the clip from the Clip folder to the Viewer or the Timeline, you will see that it too is proxied.  
-As usual, you can delete proxy files from the project or disk in the Resources window if you no longer want to retain them.
-And you can save your project either as proxied or not.
-
-Because Proxy works on the original media in all circumstances, when you resize the
-media in the Resources window, it does not actually resize the media but puts it in
-a "buffer" in that format. This might lead to some confusion for the user who
-expects this resizing to be maintained when disabling Proxy for that media. However,
-that does not happen because the resize is only in a buffer and not in the original
-media. This result is different than in the case of media "edits", like cuts or
-adding plugins because this information is not in a buffer but rather part of the
-copy "Editing Decision List" (EDL).
-
-You can also nest clips while in a proxied state, but you can not drag the proxied nested clips
-to the viewer or the timeline.
-If you create proxies for Nested clips they will be saved in \texttt{\$HOME/Videos} unless you modify that in
-\texttt{Settings $\rightarrow$ Preferences, Interface} tab, \textit{Nested Proxy Path}. 
-
-There are two ways that the proxy files can be used, with or without input scaling. When the proxy is done without rescaling, the Mask, Camera and Projector automations are re-scaled accordingly. In this situation, the entire project will be re-sized so that the session is in the resized geometry.  Not all plugins are useful when the project is rescaled, because the keyframe data must be in the original geometry.  In this case, you can use the rescaler, by enabling \textit{Use scaler (FFMPEG only)}. This has the added advantage that the project size does not change and the proxy media is down-scaled as usual and up-scaled on read-in, which means the project editing is done in full scale.   Since decoding is done on smaller video, there is a time savings, but all rendering is done full scale.  The main reason for using \textit{scaler} is that it does not change the image coordinate data, so that automation and plugin parameters will be in the original project geometry.   This is not as fast as the first option, but is a performance gain, and may be needed if you are using plugins that need coordinate data such as the Title plugin.  As noted, the scaler only works on ffmpeg video formats.
-
-In the upper right hand corner of the main window, there is a toggle button to easily switch back and forth when you have a proxied file on the timeline.  The icon is to the left of the FF icon.  It will have the letter “P” as the icon for Proxy or if \textit{Using Scaler}, the letter “S”. \quad \includegraphics[height=\baselineskip]{proxy-01.png} \quad This quick switch is especially useful when editing and you need to see a better image temporarily.
-
-Screencast in figure~\ref{fig:proxy-02} shows the Use scaler checked so you can still use plugins and the original project size is kept.  The Scale factor pull-down gives you available size options.  Note the new media dimensions shown (partially covered).  If the size is an odd number, 1 is added to make the dimensions both even numbers.
-
-In the case of the scaler checkbox, it will retain that setting for ease of use.
-
-\begin{figure}[htpb]
-       \centering
-       \includegraphics[width=0.6\linewidth]{proxy-02.png}
-       \caption{Proxy settings dialog}
-       \label{fig:proxy-02}
-\end{figure}
-
-There is also a convenient \textit{Beep on done volume} dial included so that you can work on other tasks until there is an audible notify of completion.  The default volume is set to 0 for no audible notify.
-
-A good choice for proxy settings with 1080p source video is:
-
-\begin{lstlisting}[numbers=none]
-Scale Factor:  1/4
-Use Scaler:    unchecked
-File Format:   FFMPEG - mpeg
-Video Preset:
-Compression:   mpeg.mpeg
-Bitrate:       1800000
-Quality:       -1
-Pixels:                yuv420p
-\end{lstlisting}
-
-If you get errors for some videos, such as those with strange variable bit rate or some types of files made on a smartphone, a usually reliable alternative is to change the following parameters:
-
-\begin{lstlisting}[numbers=none]
-File Format:   FFMPEG - mov
-Video Preset:
-Compression:   mov.mov
-\end{lstlisting}
-
-Or if you want small files with high image quality, a File Format of m2ts is optimal.  For example a 1 GB file can be reduced to 50 MB with scale $\frac{1}{2}$. 
-
-Checking the \textit{Auto proxy/scale media loads} results in any additional media loads to be automatically proxy scaled.  However, single frame media such as PNG or JPEG \textit{stills}, can not be scaled to \textit{stream} media.  If this type of media exists, you should \textit{use scaler}.
-
-If you get error messages when creating proxies, check the Video wrench settings.  These usually default to values that are expected to work correctly for the \textit{File Format} and codec you selected but they can be changed and may result in errors.  If you get an error message of \textit{check\_frame\_rate failed} followed by \textit{Error making proxy} in the popup Errors window, do just that and check the Frame rate value by going to the Resources window, Media folder, and use the right mouse button for the Info option for that specific media in question.  You can change the frame rate in this window to a more codec acceptable value.  Different codecs may have different legal values.
-
-More specific information on which plugins need to use scaler is provided here next.  If the keyframe data uses coordinate data that is absolute, then the scaler should be used.  If the data is normalized (like always $0-100\%$) then the proxy can be done without the scaler.  The session geometry format, shown in \texttt{Settings $\rightarrow$ Format} as $width \times height$, is changed if the scaler is not used to cause all of the data to be in the reduced format.  If this affects the plugin operation, then scaler should be used.  Examples of plugins that need the scaler are: Title, AutoScale, Scale, ScaleRatio, and Translate.  Most others are safe to use without scaling.
+Info on proxies in \nameref{sec:proxy}
 
-\textbf{Transcode}, an option under the Settings pulldown right next to the Proxy settings option, is a type of full resolution \textbf{1:1 Proxy}.
-The process of transcoding works directly from the resource; it is independent of the timeline. 
-All of the loaded asset media will be converted, that is, rendered in the selected format and loaded onto the timeline. 
-Menu choices besides the usual File Format and File Type include: \textit{Tag suffix} (to add to media filename), \textit{Remove originals from project}, \textit{Into Nested Proxy directory} (an option to have the file saved here instead of the location of the original media), and \textit{Beep on done} volume.
+Info on transcode in \nameref{sec:transcode}
 
-The settings of the project have an effect, for example the dimensions are taken into account. The resulting files are also larger than if they were created directly with ffmpeg.
-Transcode works for videos with or without audio and even single frame files, like png's.
-If you have a video file that also contains audio, and you convert only the video, the original audio will stay on the timeline if do not check \textit{Remove originals from project}. Or vice versa if audio converted and not video.
-Multiple stream media will only transcode the first stream (this would be like the TV channel recordings in the United States).
-You will get an error message if you already have a transcoded file in the selected format with the same suffix name and try to transcode it again with a different selection made -- you will have to delete that file first. An example would be
-an already converted file that has both video and audio and now you request video only. 
 
-The BIGGEST gain from using this is if you have media that is not \textit{seekable}, that is, you can play it from the beginning but can not move to another spot and have the audio or video play correctly. A video file with no keyframes makes seeking next to impossible, but then a Transcode generally adds these keyframes. 
 
 \section{Some Settings Parameter Values}%
 \label{sec:settings_parameter_values}
index f0b20b082b8f3be548596fe999a672ea840eee3e..c0a61b41752bcec367628413e36831ab80c6c56b 100644 (file)
@@ -99,13 +99,14 @@ to try before abandoning your session.
         \item If your computer or the program crashed, you can use the File pulldown choice
 of \textit{Load backup} to get back to the last automatically saved session. It will most
 likely not include the last few operations that were done though.  But if you forgot to 
-Load backup when you restarted Cinelerra, you have a second chance to use File $\rightarrow$ Load and
-select \$HOME/.bcast5/backup.prev as long as you only loaded a different file and have
+Load backup when you restarted Cinelerra, you have a second chance to use \texttt{File $\rightarrow$ Load} and
+select \texttt{\$HOME/.bcast5/backup .prev} as long as you only loaded a different file and have
 performed no editing operations.
          \item If you accidentally destroyed your current project by a Load with 
 \textit{Replace current project} when you should have changed the Insertion strategy, and 
 you had not saved a recent backup, this is another time when it is useful to use
-File $\rightarrow$ Load and select \$HOME/.bcast5/backup.prev as long as you only loaded a different
+\texttt{File $\rightarrow$ Load} and
+select \texttt{\$HOME/.bcast5/backup.prev} as long as you only loaded a different
 file and had performed no editing operations.
        \item If you suddenly get errors or hangs on media or strange looking tracks, you might want to rebuild indexes. You can do this in the Resources window with a right mouse click on the media to get a pulldown with the \textit{Rebuild index} option. For an easy way to rebuild for all of your media use \texttt{Settings $\rightarrow$ Preferences, Interface} tab, Index Files section, \textit{Delete existing indexes}. Over time, as you
 load media, the indexes will automatically be recreated so each load takes a little longer, but this quite often
@@ -144,7 +145,7 @@ the text results will be shown in that window.
 Some messages you may see in the startup window may or may not be errors. Some examples are:
 \bigskip
 
-\textit{FFMPEG::open\_decoder: some stream times estimated:} \quad \texttt{/your directory/filename}
+\textit{FFMPEG::open\_decoder: some stream times estimated:}  \texttt{/your directory/filename}
 
 This is not a problem. Basically, when you open a file if a stream has a known duration, there is no message. If the duration is unknown, it is estimated by using the File Size and Bitrate to estimate the duration. This may just indicate that the stream number \CGG{} uses versus ffmpeg may be counted differently.
 \bigskip
index ff82776f2d96764eaa1383ff2446d1c2c7b9b1a6..6fc0eeb141b114471212b3f9bea9cd951508169f 100644 (file)
@@ -1,4 +1,4 @@
-\chapter{The 4+ Windows}%
+\chapter{Interface (the 4+ Windows)}%
 \label{cha:the_4_windows}
 
 \begin{figure}[htpb]
@@ -11,8 +11,7 @@
 
 First it is important to know what an EDL is. When \CGG{} saves a file, it saves the EDL,
 Edit Decision List, of your project which contains all the settings and locations of edits
-and pointers to the media so that the media is not modified. The EDL is described in the
-Load, Save and the EDL chapter (\ref{sec:edl_edit_decision_list}).
+and pointers to the media so that the media is not modified. The EDL is described in \nameref{sec:edl_edit_decision_list}.
 
 \section{Program Window}%
 \label{sec:program_window}
@@ -21,7 +20,7 @@ The main window is called the \textit{Program} window and is often just referred
 This timeline consists of a vertical stack of tracks with time represented horizontally on the track. 
 It is the output of the rendering operations and this is what is saved when you run the File pulldown, Save command.
 Immediately to the left of the timeline is the patchbay. The patchbay contains options that affect each track.  
-These options are described in great detail in the Editing chapter (\ref{sec:patchbay}).
+These options are described in great detail in \nameref{sec:patchbay}.
 
 The \textit{Window} pulldown on the main window contains options
 that affect the 4 main windows. The first 3 options are used to
@@ -33,7 +32,7 @@ displays, the \textit{Default positions} operation only uses the one
 monitor to display the windows, but as you can see in the
 \textit{Window} pulldown you have more options to change that. Usage
 with dual monitors is explained
-in~\ref{sec:multiscreen_playback_configuration}.
+in~\nameref{sec:playback_a_b}.
 
 \subsection{Video and Audio Tracks and Navigation}%
 \label{sub:video_and_audio_tracks_and_navigation}
@@ -66,7 +65,7 @@ And use the horizontal scroll bar to scan across time, or again even easier, you
 Once you have become familiar with many of the graphical tools and pulldowns, you can switch to using more of
 the keyboard to navigate.  Many of the key equivalences are listed in each of the pulldowns to the right of the option
  as a shortcut. All of the shortcuts are listed in a document for keyboard 
-navigation (\ref{sub:main_menu_keys}). This includes, for example, shortcuts like the \texttt{Home} and \texttt{End} keys to go to the beginning or end of the timeline.  
+navigation (\nameref{cha:shortcuts}). This includes, for example, shortcuts like the \texttt{Home} and \texttt{End} keys to go to the beginning or end of the timeline.  
 Another example is in the default cut and paste mode, hold down \texttt{Shift} while pressing \texttt{Home} or \texttt{End} in order to select the region of the timeline between the insertion point and the key pressed.
 
 \subsection{Zoom Panel}%
@@ -152,6 +151,8 @@ The Track Menu contains a number of options:
         media. In Drag and Drop editing mode, if you select multiple edits all of those clips will have
 their title name changed.
     \item[Bar color]  allows the user to select a specific color for the title bar.  This helps to more easily locate a piece of media.
+    \item[Swap up] moves the selected track one step up in the stack of its corresponding type - audio or video.
+    \item[Swap down]  moves the selected track one step down in the stack of its corresponding type - audio or video.
     \item[Resize Track]  resizes the track; this is only applicable to video tracks.
     \item[Match Output Size]  resizes the track to match the current output size; this is only applicable to video tracks.
 \end{description}
@@ -410,7 +411,7 @@ and \textit{Attach transition}.  The \textit{Attach effect} is especially useful
 you need the effect to be applied to all related audio tracks as a \textit{Shared effect}
 and is described as an alternative method of application in section \ref{sec:shared_effect_tracks}.
     \item[Video]  video functions such as \textit{Add track, Default/Attach transition, Render effect}.
-    \item[Tracks]  move or delete tracks are the most often used.
+    \item[Tracks]  move or delete tracks are the most often used plus \textit{Align Timecodes}.
     \item[Settings]  much of this is described elsewhere with the most frequently used to include
 Preferences (\ref{cha:configuration_settings_preferences}), Format (\ref{cha:project_and_media_attributes}), 
 Proxy and Transcode (\ref{sec:proxy_settings}), as well as the others.
@@ -452,6 +453,21 @@ To use the desired layout, keyin the shortcut or use the Window pulldown and cho
 layouts because they can be executed from any of the 4 windows instead of just the main
 timeline window.
 
+\subsection{Multi-Pane Support}%
+\label{sub:multipane_support}
+
+The main \CGG{} edit window holds the Track Canvas which can be divided into 4 panes of track data: 1 or 2 vertical panes and/or 1 or 2 horizontal panes.  To split the track, use the Window pulldown, and then click on \textit{Split X} or \textit{Split Y} depending on how you wish to split the track.  Alternatively, the canvas pane types can be changed using keys \textit{<Ctrl-1>} for toggle split horizontal or \textit{<Ctrl-2>} for toggle split vertical.  Or the track can be split into panes by using the \textit{+ widget} in the lower right hand corner of the track canvas.  Once the track has been divided, you can use the + widget shortcut or the drag bars to change the size of the panes.
+
+Multi-Pane, or split screen, allows you to look at the first part of a movie at the same time as a part that is a long ways away on the timeline which would have been off the screen.  By having multiple panes, you can see the 2 parts you want to look at simultaneously and drag/drop easily between the 2.  Also, the \textit{X pane split} is extremely convenient for laptop users and computer monitors with small screens since it can be used with horizontal scrolling with the mouse wheel + Ctrl.  The \textit{Y-pane split} makes it easy to see 2 simultaneous drag and drop zones when you have lots of tracks (figure~\ref{fig:multi-pane01}).
+
+\begin{figure}[htpb]
+       \centering
+       \includegraphics[width=1.0\linewidth]{multi-pane01.png}
+       \caption{Shown are 4 panes that have split in X and Y the main track canvas}
+       \label{fig:multi-pane01}
+\end{figure}
+
+
 \subsection{Just Playing!}%
 \label{sub:just_playing_}
 What if you are just using \CGG{} to play media and listen to tunes? 
@@ -897,6 +913,18 @@ To put the reduced video in the center subsection that the projector shows would
 Instead, we leave out $x$ and out $y$ at 0 and use the projector's tool window. 
 By selecting left justify and top justify, the projector displays the reduced image from the top left corner of the \textit{temporary} in the center of the output.
 
+Other buttons cover the 5 modes of curves interpolation: smooth, linear, tangent, free, bump.
+
+\begin{description}
+       \item[smooth:] bezier interpolation which are flat at the endpts
+       \item[linear:] piecewise linear curve.
+       \item[tangent:] bezier interpolation with collinear endpts in a specified line.
+       \item[disjoint:] piecewise bezier, if there is such a thing.
+       \item[bump:] has 2 values, one viewed from the left/right, discontinuous.
+\end{description}
+
+Finally there are the 2 buttons for the bump curves: settings on Right/Left Edges and Span (see \nameref{sec:bump_autos}).
+
 \subsubsection*{Reset to Default}%
 \label{ssub:reset_default}