final revision for uniformity by Andrea
[goodguy/cin-manual-latex.git] / parts / Editing.tex
index 79f3fedb5c50a3cb8f23eaa0779825903018a965..1929962cc3ea4439014edd7ea9501078e1c5b1fe 100644 (file)
@@ -528,6 +528,60 @@ For additional safety, the \textit{Open EDL} feature includes additional backup
 
 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{backup2.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.
 
+\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" 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, Cinelerra 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 Cinelerra 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 Cinelerra up again.  Load credits.xml and make a change to the Title and save again.
+    \item Exit Cinelerra; restart Cinelerra; load your master project and now you will automatically see on the
+     timeline the changes you just made in the previous step.
+\end{enumerate}
+
 \begin{comment}
 \begin{figure}[htpb]
     \centering
@@ -801,7 +855,7 @@ 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 cinelerra 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.
+It is easy to copy/paste clips/media within a single instance of Cinelerra 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.
 
 \noindent Steps to copy from a source timeline and paste to a target timeline:
 
@@ -854,7 +908,7 @@ ATTRS{name}=="Contour Design ShuttleXpress" MODE="0644"
 SUBSYSTEMS=="usb", ATTRS{idVendor}=="0b33", ATTRS{idProduct}=="0020", MODE="0666" 
 SUBSYSTEMS=="usb", ATTRS{idVendor}=="0b33", ATTRS{idProduct}=="0030", MODE="0666"
 \end{lstlisting}
-If you swap your shuttle, for example upgrade from an Xpress to a PROv2, just stop Cin, unplug the original shuttle, plug in the replacement shuttle, and restart Cin.  If you start the cinelerra program and the shuttle does not function as before, stop cinelerra and then simply unplug it and plug it in again.  There are a couple of reasons why it may stop functioning.  One is because cinelerra was not stopped with the usual Quit command and the shuttle was improperly shut down when there was a crash.  The other possibility is that a static discharge occurred in the area.
+If you swap your shuttle, for example upgrade from an Xpress to a PROv2, just stop Cin, unplug the original shuttle, plug in the replacement shuttle, and restart Cin.  If you start the Cinelerra program and the shuttle does not function as before, stop Cinelerra and then simply unplug it and plug it in again.  There are a couple of reasons why it may stop functioning.  One is because Cinelerra was not stopped with the usual Quit command and the shuttle was improperly shut down when there was a crash.  The other possibility is that a static discharge occurred in the area.
 
 A default shuttlerc file is automatically used when a shuttle device is plugged in when Cin is started. This file sets up the key bindings for Cinelerra to use. You can override any default settings by having a local file in your \texttt{\$HOME} directory, named \texttt{.shuttlerc} to reflect your personal preferences.
 
@@ -922,7 +976,7 @@ K2 "v"
 K4 "b"         # Overwrite
 \end{lstlisting}
 
-\noindent To change any key value to an alternative value, just edit the file and make the changes.  Besides just keys and alphabetic letters of numbers, you can also use any cinelerra value that contains the combination with Shift, Alt, and Ctrl.  For keys that are not printable characters, you can look up the symbol name to use for a specific operation in the file called: \texttt{/usr/include/X11/keysymdef.h} .
+\noindent To change any key value to an alternative value, just edit the file and make the changes.  Besides just keys and alphabetic letters of numbers, you can also use any Cinelerra value that contains the combination with Shift, Alt, and Ctrl.  For keys that are not printable characters, you can look up the symbol name to use for a specific operation in the file called: \texttt{/usr/include/X11/keysymdef.h} .
 \noindent Some examples:
 
 \begin{lstlisting}[language=bash,numbers=none]
@@ -932,7 +986,7 @@ K13 Ctrl-XK_Right   # Go to next label
 
 \noindent For sequences of one or more \textit{printable} characters, you can just enclose them in double quotes.  For example in the \texttt{[Composer]} section, to go into or out of fullscreen mode, automatically start playing and put a label there, you could define a key like this:  K7 “f~l” - that is printable character f, a space, and printable character l.  
 
-After modifying \texttt{.shuttlerc}, the next time you use the shuttle, your changes will automatically take affect without even having to stop and restart Cin.  However, the first thing to try if problems is to stop cinelerra, unplug the shuttle, wait a few seconds, plug it in again, and then restart cin.  If for some reason, the shuttle keys still do not work after that, you may have an incorrect setup and you will have to correct that first.  For example, if you define S5 twice within the Cinelerra setup, it will fail.  It is suggested that if you make changes, you should initially uncomment DEBUG in the \texttt{.shuttlerc} file and start up cinelerra from a terminal window so that you can make sure it is working and has no output errors.  An error might look like:
+After modifying \texttt{.shuttlerc}, the next time you use the shuttle, your changes will automatically take affect without even having to stop and restart Cin.  However, the first thing to try if problems is to stop Cinelerra, unplug the shuttle, wait a few seconds, plug it in again, and then restart cin.  If for some reason, the shuttle keys still do not work after that, you may have an incorrect setup and you will have to correct that first.  For example, if you define S5 twice within the Cinelerra setup, it will fail.  It is suggested that if you make changes, you should initially uncomment DEBUG in the \texttt{.shuttlerc} file and start up Cinelerra from a terminal window so that you can make sure it is working and has no output errors.  An error might look like:
 
 \begin{lstlisting}[language=Bash,numbers=none]
 dupl key name: [Cinelerra]K1 
@@ -1062,7 +1116,7 @@ event: (0, 0, 0x0)
 
 \begin{lstlisting}[language=Bash,numbers=none,caption={Example for K15}]
 Example for K15: 
-event: (4, 4, 0x9000f)         #The last number f is 15 in octal and is the expected Key. 
+event: (4, 4, 0x9000f)         #The last number f is 15 in hexadecimal and is the expected Key. 
 event: (1, 270, 0x1) 
 event: (0, 0, 0x0) 
 event: (4, 4, 0x9000f)