From: Good Guy Date: Fri, 17 Jan 2020 23:57:42 +0000 (-0700) Subject: Mat's mostly extraneous numbers removal X-Git-Tag: 2021-05~145 X-Git-Url: https://cinelerra-gg.org/git/?a=commitdiff_plain;h=1e20db6bc56de1c6e85c9662bdc109c6aa80ec09;p=goodguy%2Fcin-manual-latex.git Mat's mostly extraneous numbers removal --- diff --git a/parts/Configuration.tex b/parts/Configuration.tex index 3440a34..3ed17ba 100644 --- a/parts/Configuration.tex +++ b/parts/Configuration.tex @@ -339,13 +339,13 @@ The following exported variables can be set to customize your environment. The One example: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] export CIN_BROWSER=chrome #would override default firefox for Shell Cmds. \end{lstlisting} Another example: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] export CIN_CONFIG=/tmp/.bcast5 #use a temporary setup for testing purposes. \end{lstlisting} diff --git a/parts/DVD.tex b/parts/DVD.tex index 805db10..6209254 100644 --- a/parts/DVD.tex +++ b/parts/DVD.tex @@ -58,13 +58,13 @@ For blu-ray, the filesystem generation is slightly harder. First, it creates an NOTE of IMPORTANCE: there is a serious situation with the interaction between the Operating System (OS) and bdwrite when creating blu-ray, that requires automount to be turned off. The blu-ray automatic script unmounts the blu-ray/UDF filesystem but the system has not finalized the directories so the OS creates a new loop file device and the data is loaded and cached for use by the new loop but it is stale. Consequences is that not all of the data is written where it should be. The solution is for the OS not to mount this second mount so we have to make sure it doesn't. There are 2 methods to fix this. The first and easiest is by using the following command to disable automount: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] gsettings set org.gnome.desktop.media-handling automount false \end{lstlisting} This can be reversed when you have completed the blu-ray generation via: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] gsettings set org.gnome.desktop.media-handling automount true \end{lstlisting} @@ -165,7 +165,7 @@ Horizontal and Vertical are duplicates or restatement of same functionality as C \item Click \texttt{OK} check button. \end{itemize} -The default bitrate is the largest value possible. The actual \textit{target} bitrate is calculated based on a formula from the blu-ray/DVD code. It divides the media size (in bits) by the video time (in seconds) to find the bitrate that will \textit{just fit} on the target media. This could create a weird bitrate if the media is large, and the video time is small, so the default/target bitrate is limited to $10Mb/s$.Batch jobs are then built and appended to the job list. Once these batch jobs are built, if you make any changes, you have to start over. You will see listed the batch jobs that are created to perform the rendering/tasks -- 2 jobs for blu-ray, one for audio/video processing and one for the scripts. There will be 3 batch jobs created for DVD when not using ffmpeg to include one each for audio and video and then one more for the scripts. When you click on \texttt{start}, it fires off those jobs and you will see the rendering main window progress bar in the bottom corner reflecting the fact that it is currently processing. Be aware that the Cinelerra program will be totally shutdown AFTER the batch jobs finish.Screenshot below shows BD blu-ray creation with 2 batch jobs queued up and ready to go. +The default bitrate is the largest value possible. The actual \textit{target} bitrate is calculated based on a formula from the blu-ray/DVD code. It divides the media size (in bits) by the video time (in seconds) to find the bitrate that will \textit{just fit} on the target media. This could create a weird bitrate if the media is large, and the video time is small, so the default/target bitrate is limited to $10Mb/s$.Batch jobs are then built and appended to the job list. Once these batch jobs are built, if you make any changes, you have to start over. You will see listed the batch jobs that are created to perform the rendering/tasks -- 2 jobs for blu-ray, one for audio/video processing and one for the scripts. There will be 3 batch jobs created for DVD when not using ffmpeg to include one each for audio and video and then one more for the scripts. When you click on \texttt{start}, it fires off those jobs and you will see the rendering main window progress bar in the bottom corner reflecting the fact that it is currently processing. Be aware that the Cinelerra program will be totally shutdown AFTER the batch jobs finish. Screenshot below shows BD blu-ray creation with 2 batch jobs queued up and ready to go. Figure~\ref{fig:dvd-batch01} for DVD and Figure~\ref{fig:dvd-batch02} for BD shows a creation render ready to be started. Note that because it is not ffmpeg, the processing of video is done separately from audio. If you need to modify the video tracks, which you can see is ghosted out, you need to highlight the first batch job listed. Be sure to highlight the first batch job before pressing Start so it runs all of the jobs and be sure the X for job enabled is set. @@ -176,7 +176,7 @@ Figure~\ref{fig:dvd-batch01} for DVD and Figure~\ref{fig:dvd-batch02} for BD sho \label{fig:dvd-batch01} \end{figure} -\vspace{-4ex} +% \vspace{-4ex} \begin{figure}[htpb] \centering \includegraphics[width=0.8\linewidth]{images/dvd-batch02.png} @@ -193,7 +193,7 @@ Directory and file names should not be changed at this time because the scripts If bluray to test the filesystem you just created, use the command line interface; loopback mount the filesystem image which was generated in the target directory. For example if blu-ray: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] cd /TargetDirectory/bd_20150820-093747/ mount -o loop,ro ./bd.udfs ./udfs #check the media using a compatible media rendering tool like ffplay @@ -209,20 +209,20 @@ For rewritable blu-ray (recommended) (BD-RE): Note: unwritten (virgin) media must be formatted first using: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] dvd+rw-format /dev/bd #only done once and does not take very long \end{lstlisting} To write or rewrite rewritable blu-ray media: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] cd /TargetDirectory/bd_20150820-093747/ dd if=./bd.udfs of=/dev/bd bs=2048000 #the growisofs command below also works \end{lstlisting} To write blu-ray write-once media: (BD-R) (no pre-formatting needed): -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] cd /TargetDirectory/bd_20150820-093747/ growisofs -dvd-compat -Z /dev/bd=./bd.udfs \end{lstlisting} @@ -234,13 +234,13 @@ For rewritable DVD (DVD+RW): Note: unwritten (virgin) media must be formatted first using: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] dvd+rw-format /dev/dvd #only done once and does not take very long \end{lstlisting} To write a DVD, load blank media and run the following from the command line (requires dvdauthor): -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] cd /TargetDirector/dvd_20160404-175416 growisofs -dvd-compat -Z /dev/dvd -dvd-video ./iso \end{lstlisting} @@ -271,7 +271,7 @@ Below are examples of what the batch jobs generate and you will see on the termi \subsubsection*{SD Example: Partial Output during Cinelerra run} \label{ssub:sd_example_partial_output} -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] ... FFMPEG::open_decoder: some stream times estimated Render::render_single: Session finished. @@ -313,7 +313,7 @@ growisofs -dvd-compat -Z /dev/dvd -dvd-video /tmp/dvd_20160407-113530/iso \subsubsection*{BD Example: Partial Output during Cinelerra run} \label{ssub:bd_example_partial_output} -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] ... FFMPEG::open_decoder: some stream times estimated Render::render_single: Session finished. @@ -349,7 +349,7 @@ for RW: dd if=/tmp/bd_20161224-162059/bd.udfs of=/dev/bd bs=2048000 \subsubsection*{SD Example – Partial Output during writing disc media} \label{ssub:sd_example_partial_output_writing} -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] growisofs -dvd-compat -Z /dev/sr0 -dvd-video /tmp/dvd_20161224-160756/iso WARNING: /dev/sr0 already carries isofs! About to execute 'mkisofs -dvd-video /tmp/dvd_20161224-160756/iso | builtin_dd of=/dev/sr0 obs=32k seek=0' @@ -370,7 +370,7 @@ builtin_dd: 6624*2KB out @ average 0.7x1352KBps \subsubsection*{BD Example – Partial Output during writing disc media} \label{ssub:bd_example_partial_output_writing} -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] growisofs -dvd-compat -Z /dev/sr0=/tmp/bd_20161224-155658/bd.udfs Executing 'builtin_dd if=/tmp/bd_20161224-155658/bd.udfs of=/dev/sr0 obs=32k seek=0' /dev/sr0: "Current Write Speed" is 2.0x4390KBps. @@ -418,7 +418,7 @@ Note that there will be no files in the actual AUDIO\_TS directory. \item There is also a file in the same directory, called bd.jobs. It was the information that was used in creating the batch jobs and may be helpful in determining what parameters were actually used if there are any resulting problems. With enough background knowledge, you can make changes and rerun. \item For blu-ray check to make sure you do not have any spurious loopback disks mounted that may interfere with the correct generation. Use the df command to check this and then the umount command to unmount these. Also, check to make sure you have used the gsettings command to disable automount. \item For blu-ray loopback mount the \texttt{/bd.udfs} image, and see if it has the BDMV filesystem written to it, and in particular a subdirectory named STREAM. Look at the results in \texttt{./udfs} and check for the stream file which should exist in \texttt{./udfs/BDMV/STREAM/00000.m2ts} and should have the same size as \texttt{./bd.m2ts}. - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] mount -o loop /bd.udfs /udfs ls -lR /udfs du -sc /udfs @@ -434,7 +434,7 @@ Note that there will be no files in the actual AUDIO\_TS directory. \item Did you startup cinelerra from a terminal window so you can see informative messages? \item Is udftools installed for BD and dvdauthor installed for SD? \item Do you have loopback not enabled for bluray? At least temporarily, disable automount via: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] gsettings set org.gnome.desktop.media-handling automount false \end{lstlisting} \item Did you have sufficient disk space for working/writing files? In the \textit{Create} window, the \textit{disk space} will be displayed in green if sufficient, but in red if less than what fits on the disc media. @@ -528,7 +528,7 @@ This program can be used to scan captured broadcast data streams and convert the usage: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] ./zmpeg3cc2txt [-c cc_service ] [-s start:length, ...] [ -t track ] [-v verbose ] [-w wdw mask ] [-x file.xml ] [-o file.udvd ] file.ts \end{lstlisting} @@ -553,7 +553,7 @@ usage: To use this program, the input file must be a transport stream (broadcast video) which contains closed captioning services. The service id defaults to one, and the default video track is zero. Either \texttt{-o} or \texttt{-x} must be specified to indicate the output file format desired. If the output file name is a '-' then stdout is selected as the output file. For example: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] zmpeg3cc2txt -o - /dvb_data/channel5.ts \end{lstlisting} @@ -568,7 +568,7 @@ An MTS file is a video file saved in the high-definition (HD) MPEG Transport Str For creating a blu-ray disc, if you have HDV MPEG-2 media that is in blu-ray format, you can save the original quality of your work, rather than rendering it to another format. Follow the steps below directly instead of going through cinelerra. It has been tested on 10 different MTS files. -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] du -sb /yourHDVfile.MTS # Determine the size of your file in bytes. blocks=((size-in-bytes/2048 + 4096)) # Convert bytes into blocks + a little more. mkudffs /tmp/newfilename.udfs blocks # Create a file with that \# of blocks + some extra. @@ -586,7 +586,7 @@ Creating BD images to be written to media requires usage of \textit{mount} and \ The line to add to \texttt{/etc/fstab} will look something like the following, assuming your username is \textit{name} and your groupid may be \textit{users} or \textit{name}. If you do an \texttt{ls -l} in your home directory, the $3^{rd}$ and $4^{th}$ fields shown will be your uid or name and gid or groupid which you must substitute in the line below. -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] /home/name/image /home/name/bluray udf noauto,loop,rw,user,uid=name,gid=groupid 0 0 \end{lstlisting} @@ -599,7 +599,7 @@ Writing prepared multiple cinelerra output files, \texttt{bd.m2ts}, to a single Usage of the final preparation taken from the bdwrite program comments: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] ./bdwrite ... == - | -- | --- @@ -612,7 +612,7 @@ One title is built for each playlist; playlist-0 is used as first-play item. Th For example: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] ./bdwrite /tmp/dir /path/menu_titles.m2ts --- /path/clip0.m2ts -- /path/clip1.m2ts -- /path/clip2.m2ts \end{lstlisting} @@ -623,13 +623,13 @@ The basic idea is to use playlist-0 as a menu or directions to use the bluray pl \item Using cinelerra, design your Title page using a few seconds of video and the \textit{Title} plugin. \item Use BD Create to render your short Title video. \item Next is the most complicated part which is to run \texttt{mkudffs} with a sufficient amount of disk space to hold all of the \texttt{bd.m2ts} files \textit{plus a little more!} To calculate this, you can record the sizes from having run BD Create mkudffs. This number is displayed on the terminal screen when using the command line interface each time and add them together. Or recalculate the size of each bd.m2ts using the formula below and adding them all together. This is the number of blocks used to make a bluray image space for bdwrite to use. For many files, this could require a huge amount of space, so check first. - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] Total size = File0 size in bytes / 2048 + 4094 "+" File1 size in bytes / 2048 + 4094 "+" ... \end{lstlisting} Now create the image file via: \texttt{mkudffs image } where image or udfs is the image name. \item Loop mount the disk image (refer to Section \hyperref[sec:bluray_workaround_mount_umount]{13.7}). \item Then actually write your multiple bd.m2ts type files onto the \textit{image} where \texttt{} is the location of the cinelerra binary \textit{bdwrite} file and \texttt{} is your directory path. Below is a single line that wrapped around with 4 Titles. - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] /bin/bdwrite image /menu_titles.m2ts --- //bd1.m2ts -- //bd2.m2ts -- //bd3.m2ts -- /bd4.m2ts \end{lstlisting} Note that the 3 dashes after the \texttt{menu\_titles.m2ts} lets the bluray player know to \textit{pause} after playing the few seconds video which contains the index to the rest of the files. The 2 dashes after each of the bd.m2ts signify \textit{stop}. That is when you will have to use your remote to \textit{Search Titles} in order to play the next one you want to see. In addition, if for some reason you just want to \textit{play all}, you will have to add another line to the Title menu as a choice and list all of the 4 files in a row at the end of your bdwrite line without any dashes in between. @@ -693,7 +693,7 @@ In figure~\ref{fig:scaleratio}, the left side shows the Input Ratio, Width, and \centering \includegraphics[width=0.7\linewidth]{images/scaleratio.png} \caption{Scale Ratio plugin} - \label{fig:scaleratio} + \label{fig:scaleratio1} \end{figure} Left and right sides of the bottom portion show the Source and the Destination X, Y, W, H values. As you change the values on the left side, you can see how this will affect the output as you observe the results in the compositor window. For example, as you change the values for SrcY in a \textit{cropped} Scale scenario, you see up/down movement. @@ -726,7 +726,7 @@ Keep in mind that the monitor you are using is NOT the intended output display d \begin{enumerate}[start=13] \item Next, make sure you have the Timeline set in the Main window at the beginning of where you want to start rendering. Also, make sure the first line in the \textit{Batches to render} section is highlighted as you can see above by the blue highlighting. Click on the \texttt{Start} box in the Batch Render window and you will see the video playing in the Compositor window. \item Cinelerra program will be stopped when done rendering; you will be at the terminal prompt where you will see it has printed out some informational messages (or errors if problems), the last 2 are: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] To burn dvd, load blank media and run: growisofs -dvd-compat -Z /dev/dvd -dvd-video /mnt0/dvd_20161027-131723/iso \end{lstlisting} diff --git a/parts/Editing.tex b/parts/Editing.tex index 8aeb6c0..7f0ef1d 100644 --- a/parts/Editing.tex +++ b/parts/Editing.tex @@ -451,7 +451,7 @@ you can operate the following buttons to display what you need to see and to mov \pagebreak Figure~\ref{fig:inter-view02} displays Inter-View window and its relation to the timeline, viewer, and compositor. -\begin{figure}[h] +\begin{figure}[ht] \centering \includegraphics[width=0.9\linewidth]{images/inter-view02.png} \caption{Inter-View mode and the timeline} @@ -501,7 +501,7 @@ Instead of using the \# number on the main menu to close the current EDL, both t \centering \includegraphics[width=0.8\linewidth]{images/editing-img001.png} \caption{Once you have an an Open EDL, there are 2 ways to close it.} - \label{fig:timeline} + \label{fig:open_edl} \end{figure} \relax @@ -526,12 +526,14 @@ For additional safety, the "Open EDL" feature includes additional backup capabil When "Open EDL" is invoked, the current EDL and current undo stack are both "pushed", and the active session EDL is replaced with the target clip/nested edl. A new undo stack is created, and the active backup.xml file name is decorated with the stack level. So, backup.xml is backup1.xml when your edits are at stack level 1, backup2.xml at stack level 2, and so on. This means that if you "load backup" at stack level 1, the session will reload from history at stack level 1, not the main session. +\begin{comment} \begin{figure}[htpb] \centering \includegraphics[width=0.6\linewidth]{images/lenght.png} \caption{Edit Length window} \label{fig:lenght} \end{figure} +\end{comment} \subsection{Edit Length}% \label{sub:edit-lenght} @@ -629,7 +631,7 @@ A description of the fundamental/common terminology for choices follows. \end{description} The next table displays the options and results with the Key Table here first. -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] s = src media start\\ p = proj position \\ l = length \\ @@ -835,12 +837,12 @@ Directions for using the ShuttlePROv2 and the ShuttleXpress with Cinelerra are d \vspace{1ex} \noindent Only 1 necessary initial setup is required due to permission settings for non-root usage. As root, just copy a file that provides the necessary permissions to use the shuttle, then reboot, Example copy: -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] $sudo cp {cindat_path}/doc/99-ShuttlePRO.rules /etc/udev/rules.d/ \end{lstlisting} \noindent then the next time after you reboot, the permissions should be correct. This file only needs to contain one of the following lines depending on which shuttle version you have/use, but all will be in the file. -\begin{lstlisting}[language=Bash,basicstyle=\footnotesize] +\begin{lstlisting}[language=Bash,,numbers=none,basicstyle=\footnotesize] # for newer PRO model ATTRS{name}=="Contour Design ShuttlePro" MODE="0644" # for older PRO model @@ -867,7 +869,7 @@ Next are a few actual examples from the default \texttt{{cindat\_path}/shuttlerc \noindent The next brackets represent sections. Default, Resources, Load windows all use the same key values. -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] [Default] [Resources] [Load] @@ -883,7 +885,7 @@ JR XK_Scroll_Down \noindent Cinlerra with brackets around it next, is the section with some key definitions for the main window. -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] [Cinelerra] # Most useful functions have to be on K5-K9 because Xpress only has 5 keys @@ -911,7 +913,7 @@ S3 FWD_1 For the Viewer, you may want keys defined to do a Splice or an Overwrite so define differently. Note that assignments that contain single character letters must be enclosed in quotes. -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] [Viewer] # Splice - Viewer only; may be defined differently than Composer or Cinelerra K2 "v" @@ -921,7 +923,7 @@ K4 "b" # Overwrite \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] +\begin{lstlisting}[language=bash,numbers=none] K10 Alt-XK_Left # Go to previous edit \\ K13 Ctrl-XK_Right # Go to next label \end{lstlisting} @@ -930,7 +932,7 @@ K13 Ctrl-XK_Right # Go to next label 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] +\begin{lstlisting}[language=Bash,numbers=none] dupl key name: [Cinelerra]K1 shuttle config err file: /root/.shuttlerc, line:37 \end{lstlisting} @@ -939,7 +941,7 @@ shuttle config err file: /root/.shuttlerc, line:37 Any time you are having trouble with your shuttle, you can copy the default \texttt{shuttlerc} file from \texttt{{cindat\_path}/shuttlerc} to your local \texttt{.shuttlerc} file, and edit that to\ switch to DEBUG mode by removing the \# comment from the DEBUG line. But you will have to have started Cin from a terminal window to see the key values. The first time you use the shuttle or after you change the file, the current assignments will show in the terminal window so will look something like: -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] [Cinelerra] # 1 K5[D]: XK_KP_0/U K5[U]: XK_KP_0/U @@ -947,21 +949,21 @@ K5[U]: XK_KP_0/U \noindent When you are in DEBUG mode and are just working away, what you will see is something like this: -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] key: 0058 1 key: 0055 0 \end{lstlisting} or: -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] shuttle: 00 00 00 00 00 key: XK_Home 0 \end{lstlisting} \noindent When you change the focus from one window to another, you will see something like this: -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] new focus: 04c00137 new translation: Viewer key: 0059 1 @@ -969,7 +971,7 @@ key: 0059 1 \noindent You can also set an environment variable to temporarily use an alternative shuttle configuration file for testing as in: -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] $ export SHUTTLE_CONFIG_FILE=/tmp/shuttlerc_test \end{lstlisting} @@ -980,7 +982,7 @@ $ export SHUTTLE_CONFIG_FILE=/tmp/shuttlerc_test In order to see if you hardware was recognized by the operating system, key in: -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] $ lsusb -v -d 0b33:0030 # for the Shuttle Pro or PROv2 \\ $ lsusb -v -d 0b33:0020 # for the Shuttle Xpress \end{lstlisting} @@ -995,15 +997,15 @@ $ lsusb -v -d 0b33:0020 # for the Shuttle Xpress \item From a terminal window as an ordinary user key in: lsusb (the first character is a lower case L ---for list). You will see something like the following depending on which usb device you have the ShuttlePro plugged into: -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] Bus 003 Device 002: ID 0b33:0030 Contour Design, Inc. ShuttlePro v2 \end{lstlisting} \item To make sure you have usbmon installed key in: -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] $ sudo modprobe usbmon \end{lstlisting} \item Next key in the following: -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] $ sudo od -tx1 /dev/usbmon3 \end{lstlisting} where the last 3 is the same \# as the Bus in above. If it lists \texttt{Bus 002}, then use \texttt{/dev/usbmon2} instead. @@ -1013,7 +1015,7 @@ $ sudo od -tx1 /dev/usbmon3 have multiple devices on the same bus, you will get responses from any and all of them. Attempt to isolate your shuttle by temporarily unplugging unnecessary devices on the same bus or plug the shuttle into a different usb port that has fewer devices. - \begin{lstlisting}[language=Bash] + \begin{lstlisting}[language=Bash,numbers=none] 0000000 80 70 99 75 53 8c ff ff 43 01 81 02 03 00 2d 00 0000020 4e 61 5c 5c 00 00 00 00 8d 2c 06 00 00 00 00 00 0000040 05 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 @@ -1040,14 +1042,14 @@ Another method for testing to make sure your model of the Shuttle does not have \item Compile that with the command: \texttt{c++ shdmp.C -o shudmp} \item Make the file executable with the command: \texttt{chmod +x shudmp} \item Execute: - \begin{lstlisting}[language=Bash] + \begin{lstlisting}[language=Bash,numbers=none] $ sudo ./shdmp /dev/input/by-id/usb-Contour\_Design\_ShuttlePro-event-if00 # substitute your shuttle \end{lstlisting} \end{enumerate} \noindent Then press your shuttle key that is having problems and check the results. They should look like: - \begin{lstlisting}[language=Bash, caption={Example for K7}] +\begin{lstlisting}[language=Bash,numbers=none,caption={Example for K7}] event: (4, 4, 0x90007) #The last number, 7, is the expected Key number. event: (1, 262, 0x1) event: (0, 0, 0x0) @@ -1055,7 +1057,8 @@ event: (4, 4, 0x90007) event: (1, 262, 0x0) event: (0, 0, 0x0) \end{lstlisting} - \begin{lstlisting}[language=Bash, caption={Example for K15}] + +\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: (1, 270, 0x1) @@ -1069,11 +1072,11 @@ event: (0, 0, 0x0) \paragraph{Note 4} For developers, if you have a pre-UEFI Secure Boot kernel it is also possible to do the following for further in depth testing: - \begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] ls /sys/kernel/debug/hid \# to locate numerical value of the shuttle, e.g. 0003:0B33.0030.0006 cat "/sys/kernel/debug/hid/0003:0B33.0030.0006/rdesc" # substitute your own numerical value cat "/sys/kernel/debug/hid/0003:0B33.0030.0006/events" # press keys to see the results - \end{lstlisting} +\end{lstlisting} %\begin{enumerate} %\item \texttt{ls /sys/kernel/debug/hid \# to locate numerical value of the shuttle, e.g. 0003:0B33.0030.0006} %\item \texttt{cat “/sys/kernel/debug/hid/0003:0B33.0030.0006/rdesc” \# substitute your own numerical value} @@ -1085,73 +1088,67 @@ cat "/sys/kernel/debug/hid/0003:0B33.0030.0006/events" # press keys to see the The following is the default setting for the ShuttlePROv2 and ShuttleXpress (table~\ref{tab:shuttleprov2} and table~\ref{tab:xpress}): -\begin{landscape} - \begin{table}[htpb] - \centering - \caption{ShuttlePROv2 key default arrangement for Cinelerra / Composer / Viewer} - \label{tab:shuttleprov2} - \begin{tabular}{c c c c c c c} - \toprule - K1 & K2 & & K3 & K4 & & \\ - Label & Future use & & Future use & Clip & & \\ - & Splice (viewer) & & Copy & Overwrite (viewer) & & \\ - \midrule - K5 & K6 & K7 & K8 & K9 & & \\ - Home & Reverse & Stop & Play & End & & \\ - & & Fullscreen & & & & \\ - & & (viewer / compositor) & & & & \\ - \midrule - Home(Defaults) & MouseBtn1(D) & MouseBtn2(D) & MouseBtn3(D) & End(Defaults) & & \\ - \midrule - \multicolumn{7}{c}{Shuttle Outer Wheel} \\ - \multicolumn{7}{c}{Play forward (first row) or Play reverse (second row)} \\ - S1=Stop & S2=1/2 & S3=Normal & S4=2x & S5=4x & S6=8x & S7=16x \\ - S-1=Stop & S-2=1/2 & S-3=Normal & S-4=2x & S-5=4x & S-6=8x & S-7=16x \\ - \midrule - K14 & & Jog Left & (Inner Wheel) & Jog Right & & K15 \\ - Toggle In & & Frame reverse & & Frame forward & & Toggle Out \\ - & & Scroll up(Defaults) & & Scroll down(Defaults) & & \\ - \midrule - & & K10 & & K11 & & \\ - & & Previous Edit & & Next Edit & & \\ - & & Future Use(Viewer) & & Future Use(Viewer) & & \\ - \midrule - & & K12 & & K13 & & \\ - & & Previous Edit & & Next Edit & & \\ - & & Previous Label & & Next label & & \\ - \bottomrule - \end{tabular} - \end{table} -\end{landscape} - -\begin{landscape} - \begin{table}[htpb] - \centering - \caption{ShuttleXpress key default arrangement for Cinelerra / Composer / Viewer} - \label{tab:xpress} - \begin{tabular}{c c c c c c c} - \toprule - K5 & K6 & K7 & K8 & K9 & & \\ - Home & Reverse & Stop & Play & End & & \\ - & & Fullscreen & & & & \\ - & & (viewer / compositor) & & & & \\ - \midrule - Home(Defaults) & MouseBtn1(D) & MouseBtn2(D) & MouseBtn3(D) & End(Defaults) & & \\ - \midrule - \multicolumn{7}{c}{Shuttle Outer Wheel} \\ - \multicolumn{7}{c}{Play forward (first row) or Play reverse (second row)} \\ - S1=Stop & S2=1/2 & S3=Normal & S4=2x & S5=4x & S6=8x & S7=16x \\ - S-1=Stop & S-2=1/2 & S-3=Normal & S-4=2x & S-5=4x & S-6=8x & S-7=16x \\ - \midrule - & & Jog Left & (Inner Wheel) & Jog Right & & \\ - & & Frame reverse & & Frame forward & & \\ - & & Scroll up(Defaults) & & Scroll down(Defaults) & & \\ - \bottomrule - \end{tabular} - \end{table} - \centering - - - -\end{landscape} +\begin{table}[ht] + \caption{ShuttlePROv2 key default arrangement for Cinelerra / Composer / Viewer} + \label{tab:shuttleprov2} + % Tell table to adjust font to fix on the page using \resize + \resizebox{\textwidth}{!}{% + \begin{tabular}{c c c c c c c} + \toprule + K1 & K2 & & K3 & K4 & & \\ + Label & Future use & & Future use & Clip & & \\ + & Splice (viewer) & & Copy & Overwrite (viewer) & & \\ + \midrule + K5 & K6 & K7 & K8 & K9 & & \\ + Home & Reverse & Stop & Play & End & & \\ + & & Fullscreen & & & & \\ + & & (viewer / compositor) & & & & \\ + \midrule + Home(Defaults) & MouseBtn1(D) & MouseBtn2(D) & MouseBtn3(D) & End(Defaults) & & \\ + \midrule + \multicolumn{7}{c}{Shuttle Outer Wheel} \\ + \multicolumn{7}{c}{Play forward (first row) or Play reverse (second row)} \\ + S1=Stop & S2=1/2 & S3=Normal & S4=2x & S5=4x & S6=8x & S7=16x \\ + S-1=Stop & S-2=1/2 & S-3=Normal & S-4=2x & S-5=4x & S-6=8x & S-7=16x \\ + \midrule + K14 & & Jog Left & (Inner Wheel) & Jog Right & & K15 \\ + Toggle In & & Frame reverse & & Frame forward & & Toggle Out \\ + & & Scroll up(Defaults) & & Scroll down(Defaults) & & \\ + \midrule + & & K10 & & K11 & & \\ + & & Previous Edit & & Next Edit & & \\ + & & Future Use(Viewer) & & Future Use(Viewer) & & \\ + \midrule + & & K12 & & K13 & & \\ + & & Previous Edit & & Next Edit & & \\ + & & Previous Label & & Next label & & \\ + \bottomrule + \end{tabular}} +\end{table} + +\begin{table}[ht] + \caption{ShuttleXpress key default arrangement for Cinelerra / Composer / Viewer} + \label{tab:xpress} + % Tell table to adjust font to fix on the page using \resize + \resizebox{\textwidth}{!}{% + \begin{tabular}{c c c c c c c} + \toprule + K5 & K6 & K7 & K8 & K9 & & \\ + Home & Reverse & Stop & Play & End & & \\ + & & Fullscreen & & & & \\ + & & (viewer / compositor) & & & & \\ + \midrule + Home(Defaults) & MouseBtn1(D) & MouseBtn2(D) & MouseBtn3(D) & End(Defaults) & & \\ + \midrule + \multicolumn{7}{c}{Shuttle Outer Wheel} \\ + \multicolumn{7}{c}{Play forward (first row) or Play reverse (second row)} \\ + S1=Stop & S2=1/2 & S3=Normal & S4=2x & S5=4x & S6=8x & S7=16x \\ + S-1=Stop & S-2=1/2 & S-3=Normal & S-4=2x & S-5=4x & S-6=8x & S-7=16x \\ + \midrule + & & Jog Left & (Inner Wheel) & Jog Right & & \\ + & & Frame reverse & & Frame forward & & \\ + & & Scroll up(Defaults) & & Scroll down(Defaults) & & \\ + \bottomrule + \end{tabular}} +\end{table} diff --git a/parts/FFmpeg.tex b/parts/FFmpeg.tex index 75996e8..2877448 100644 --- a/parts/FFmpeg.tex +++ b/parts/FFmpeg.tex @@ -88,14 +88,14 @@ In the ffmpeg configuration directory there are a series of options files used w For the option files a specific format must be followed in creating the file content. In \texttt{typ.ext} encoder parameter files, the first line is defined as: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] muxer codec (or) muxer codec | bitstream filter [ bitstream filter options ] \end{lstlisting} where the | represents piping the codec data through the bitstream filter. The rest of the lines in the file should look as follows: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] # in column one is a comment id1 value1 (or) id2 = value2 @@ -103,7 +103,7 @@ where the | represents piping the codec data through the bitstream filter. The r Only one equals sign is allowed and it is just for readability. There may be any number of id / value pair lines in a media definition, including zero. A typical line might be: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] bitrate 4000000 (or) bitrate = 5000000 \end{lstlisting} @@ -119,13 +119,13 @@ There are 4 special id's recognized by Cinelerra which cause special processing. All other id's should be in the ffmpeg documentation, and correspond to the global, muxer, and codec option names and values used by ffmpeg. For example to set the aspect ratio to 4:3, use: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] aspect 4:3 \end{lstlisting} Below shows an example: \texttt{decode.opts} which is used when the ffmpeg decoder is initialized. -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] # apply at init decode loglevel=fatal formatprobesize=5000000 @@ -150,13 +150,13 @@ So if you want to create a \textit{mov} codec class, add two new files to the ff Now you will see this as what you can choose in the rendering choices for ffmpeg. Inside the file you will see that the first line is special. It is the muxer and codec. For example: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] h264 libx265 \end{lstlisting} The contents may be something like: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] # /video/vid.mov mp4 libx265 bitrate 4000000 @@ -167,7 +167,7 @@ This will code an \texttt{mp4} formatted file using the \texttt{lib264} codec en For audio and video together, the mux format must agree between the aud.mov and vid.mov files when they are to be used together. The stream muxer must be the same for all the streams in the file being written. for example: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] # /audio/aud.mov mp4 pcm_mulaw \end{lstlisting} @@ -184,12 +184,12 @@ When the menu popup is created, there may be many choices for that class type, s \texttt{audio/.dfl} and \texttt{video/.dfl} -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] # audio/mov.dft aud.mov \end{lstlisting} -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] # video/mov.dft = vid.mov \end{lstlisting} @@ -198,7 +198,7 @@ The above will be the default choice when the menu opens. When you see problems in using the new options files you have created and put into place, add the following line to \texttt{ffmpeg/encoder.opts}: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] loglevel=verbose \end{lstlisting} @@ -206,7 +206,7 @@ sometimes that will be enough to see what has caused a failure, or even catch un There is an \textsc{EXCEPTION} to all of the above because of a conflict between ffmpeg and the x264 person making the detection of default ffmpeg settings terminate with an error. If you get this error, you must workaround this termination by including parameters that don't match $5$ or more of the normal expected values. So you just have to change a few parameters to avoid the probe detection. Here is an example where you will notice the \texttt{x264-params} line tweaking values to throw off the detection/error termination code. -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] # /ffmpegvideo/test.mp4 mp4 libx264 preset=slow @@ -220,7 +220,7 @@ This is quite complicated, but that is because ffmpeg has a lot of parameters an To get a listing of the current ffmpeg supported formats and codecs that can be made to work with Cinelerra, provided there are option files added, run the following commands. This should be done from the directory substituting the location of where you have installed Cinelerra on your system and the ffmpeg may be a different version than $4.2$ as used below. Then look at the output created in \texttt{/tmp/ff-formats.txt} and \texttt{codecs.txt}. -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] //cinelerra-5.1/thirdparty/ffmpeg-4.2/ffmpeg -formats > /tmp/ff-formats.txt //cinelerra-5.1/thirdparty/ffmpeg-4.2/ffmpeg -codecs > /tmp/ff-codecs.txt \end{lstlisting} @@ -232,7 +232,7 @@ For illustrative purposes, here is an example of the options files that need to Add the file named \texttt{./ffmpeg/audio/acc256k.pro} which contains the following lines: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] mov aac strict -2 b 256000 @@ -242,13 +242,13 @@ b 256000 Add the file named \texttt{./ffmpeg/audio/pro.dfl} which contains the following lines: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] acc256k.pro \end{lstlisting} Add the file named \texttt{./ffmpeg/video/prores.pro} which contains the following lines: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] mov prores profile=2 # lines of comments @@ -256,7 +256,7 @@ profile=2 Add the file named \texttt{./ffmpeg/video/pro.dfl} which contains the following lines: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] prores.pro \end{lstlisting} @@ -305,14 +305,14 @@ Another feature gained from using ffmpeg in Cinelerra takes advantage of what is To encode a series of $48$ bit tiff output image files, add a file to the cinelerra data ffmpeg/video subdirectory as in: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] # \dots/ffmpeg/video/tiff.dfl tiff48.tif \end{lstlisting} Then create an ffmpeg video encoder parameters file in the same directory: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] # \dots/ffmpeg/video/tiff48.tiff image2 tiff pixel_format=rgb48 @@ -327,7 +327,7 @@ The resulting directory of images can be opened for reading by simply opening th Raw video is not affected by decoding on read in. This makes it very attractive to provide raw image data for editing and rendering media. A wide variety of raw formats are available via the ffmpeg file interface. To load media in a raw format, select \texttt{try ffmpeg first} and create an accompanying \textit{opts} file. The opts files must be in the same directory as your media, with the same base name, and the \texttt{.opts} extension. The opts file contents should reflect your video setup. An example follows: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none]] # Video file name: /tmp/buddy.mov # Opts file name: /tmp/buddy.opts # Contents of opts file: diff --git a/parts/Loadandsave.tex b/parts/Loadandsave.tex index af61b6c..9d28a6a 100644 --- a/parts/Loadandsave.tex +++ b/parts/Loadandsave.tex @@ -75,7 +75,7 @@ File lists formats can be utilized in some way for the following list of types o %\vspace*{1ex} Using the example of jpeg’s, the jpeg list sequence file type is the easiest and fastest way to access a sequence of jpg images as a single asset. First build a jpeglist sequence file and name it something like jpeglist.sh. There is an example script of how to do this in the Auxiliary Programs section of the Appendix. Once the jpeglist.sh file is built you can then run it similar to this line: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] $ jpeglist.sh //file.jpg //DSC*.jpg \end{lstlisting} @@ -83,7 +83,7 @@ $ jpeglist.sh //file.jpg //DSC*.jpg An example output file from running this script residing in the directory where \texttt{DSC*.jpg} files exist is shown below. To use this, turn off ffmpeg probes first, and open \texttt{timelapse.jpg} using File ~$\rightarrow$ ~Load files. -\begin{lstlisting}[language=bash,caption={Example: timelapse.jpg},captionpos=t] +\begin{lstlisting}[language=bash,numbers=none,caption={Example: timelapse.jpg},captionpos=t] JPEGLIST # First line is always JPEGLIST # Frame rate: @@ -111,6 +111,7 @@ Image2file format is an alternative method to open an image sequence via ffmpeg. \begin{lstlisting}[ language=bash, +numbers=none, caption={Example DSC0\%04d.opts}, captionpos=t] loglevel=verbose diff --git a/parts/Plugins.tex b/parts/Plugins.tex index 2e11144..e8c4a1c 100644 --- a/parts/Plugins.tex +++ b/parts/Plugins.tex @@ -249,7 +249,7 @@ For a ladspa plugin, the text line in \$HOME/.bcast5/ladspa\_plugins… as seen \texttt{AM pitchshifter} $1504922321\, 0\, 1\, 0\, 0\, 1\, 0\, 1\, 0\, 1\, 0\, 0$ indicates that you would create the icon: \\ \texttt{/plugins/picon/cinfinity/am\_pitchshift\_1433.png} \\ For your own personal plugins, you can create a directory on your system and put any plugin png files you like into that directory. For example, if you want a specialized picon for \texttt{F\_aeval}, create a picon named \texttt{ff\_aeval.png} in: \\ \texttt{/plugins/picon/yournamehere.} -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] cd /plugins # go to the correct directory mkdir -p picon/yournamehere # create subdirectory if does not exist ls -l picon/* # list the picon directories @@ -294,7 +294,7 @@ If there are recommendations for other relevant categories, they can be added. T The \texttt{expanders.txt} file has very specific requirements. The most specific is that there are no blanks --- you must use tabs only. A \# (pound sign) can be used in column 1 to indicate a comment. Here is a short example: -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] Video Effects - Color_Correction Blue Banana @@ -331,13 +331,13 @@ if using an ffmpeg plugin that uses filters and many passes over the data, the a file containing the following line, the full scale color modeling upgrade will not be performed until after any plugin, and then the render is faster: -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] video_filter=xxxxxx=threads=8 # where xxxxxx is the desired filter \end{lstlisting} When the file loads, however, it will initially take longer because it is running through the video filter. The format \textit{rgb} in ffmpeg uses more cpu time. For comparison, ffmpeg line that might be used: -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] ffmpeg -i /tmp/filename.mpeg -threads 15 -vf format=rgb24,xxxxxxs=threads=8 -acodec ac3 -vcodec libx265 - y /tmp/x.mp4 \end{lstlisting} @@ -575,7 +575,7 @@ Change the speed of an audio signal without affecting its pitch. Ladspa effects are supported in realtime and rendered mode for audio. These audio effects are supported since Cinelerra implements the LADSPA interface as accurately as possible. Besides the supplied LADSPA effects\protect\footnote{credit Steve Harris}, additional LADSPA effects can be enabled by setting the \texttt{LADSPA\_PATH} environment variable to the location of your LADSPA plugins: -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] export LADSPA_PATH=/usr/lib/ladspa \end{lstlisting} @@ -598,7 +598,7 @@ variable Playback buffer samples} However, be forewarned that due to variability in the lv2 plugin programming code, some of the plugins only work with the minimum buffer size of $1024$. In these cases, what you will see is the main track canvas cursor just bounces back and forth over a very small area in the timeline. This does not crash cinelerra but you will have to remove the plugin to continue working. You can specify a certain set of LV2 plugins to use by setting \texttt{LV2\_PATH} as shown below before starting cinelerra --- include a colon ($:$) separator for multiple paths. The default path for most operating systems is \texttt{/usr/lib64/lv2}. To list the system installed lv2 plugins key in: \texttt{lv2ls}. -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] export LV2_PATH=/tmp/j/balance.lv2/usr/local/lib/lv2/:/usr/local/lv2 \end{lstlisting} @@ -644,7 +644,7 @@ In order to test a particular plugin without bringing up cinelerra, especially f \texttt{/cin-path/lv2ui } \\ For example: -\begin{lstlisting}[language=Bash] +\begin{lstlisting}[language=Bash,numbers=none] /tmp/cinelerra-5.1/bin/lv2ui http://calf.sourceforge.net/plugins/Flanger \end{lstlisting} @@ -814,7 +814,7 @@ Let us now examine the instruments in \textbf{pane 1}: \end{description} \subsubsection*{Pane 2} -\label{ssub:pane1} +\label{ssub:pane2} This section is used to modify the color of your selection. Descriptive commentary for this pane. @@ -2315,7 +2315,7 @@ The X Window system originally did not have a suitable font renderer for video. The titler supports mainly \textit{TTF}, true type fonts. It supports others but TTF are the most reliable. To add true type fonts, copy the \texttt{.TTF} files to the fonts directory. In that directory run \vspace{1ex} -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=Bash,numbers=none] # /usr/lib/cinelerra/fonts ttmkfdir && mv fonts.scale fonts.dir \end{lstlisting} @@ -2405,7 +2405,7 @@ These attributes stay in effect until you change them or reset them. Additional Figure~\ref{fig:title03}. \vspace{1ex} -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=Bash,numbers=none] Buddy, the bad dog ate my homework !
    There are
      210cats to chase? \end{lstlisting} @@ -2462,7 +2462,7 @@ In order to choose a font faster, you can keyin the first few characters of the Some of the system fonts are automatically included in the set of fonts being used by cinelerra. The easiest way to add additional fonts for the Title plugin's set, is to use ones available in specific directories on your computer as long as they have a \texttt{fonts.scale} file already set up. You can run \texttt{mkfontscale} to create this file within that directory. In order to include a specific directory you set an environment variable before starting cinelerra which stays in effect until it is unset or until the next reboot. Below is the method and an example. \vspace{1ex} -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=Bash,numbers=none] export BC_FONT_PATH= export BC_FONT_PATH=/usr/share/fonts \end{lstlisting} @@ -2475,7 +2475,7 @@ Here you will find the default set of fonts that come with the install. Copy any If you have problems with a specific font or set of fonts, there is a debug option available to determine which font is an issue. When starting cinelerra, you should set up the variable: \vspace{1ex} -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=Bash,numbers=none] export BC_FONT_DEBUG=1 (default is 0 for no debug) unset BC_FONT_DEBUG (to remove debug messages) \end{lstlisting} @@ -2483,7 +2483,7 @@ unset BC_FONT_DEBUG (to remove debug messages) Then start cinelerra from a terminal window to see the fonts being loaded and previewed in the Titler. This should point out any issues. Another debug methodology is to remove all fonts from being used and subsequently add in the ones that you want. For example: \vspace{1ex} -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=Bash,numbers=none] export BC_FONT_PATH=: #(the : "colon" removes all automatic system and cinelerra fonts) export BC_FONT_PATH=:/usr/share/fonts #(remove all fonts and then add /usr/shar/fonts) \end{lstlisting} @@ -2691,13 +2691,13 @@ Because of the build size of opencv, it is not normally included in the thirdpar To build findobject and the other plugins using opencv, access the src using git: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=Bash,numbers=none] git clone -depth 1 "git://git.cinelerra-gg.org/goodguy/cinelerra.git" cinelerra5 \end{lstlisting} then configure the build, but add the \texttt{- -with-opencv} configure parameter. -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=Bash,numbers=none] cd /cinelerra-5.1 ./autogen.sh ./configure --with-findobect=sta @@ -2717,7 +2717,7 @@ $4\, GB$ in the thirdparty build directory and more time to compile. To get opencv built in the easiest way possible (need internet access because builds directly from the opencv github but this changes wildly): -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=Bash,numbers=none] ./configure --with-opencv=sta,git \end{lstlisting} @@ -2726,7 +2726,7 @@ To get opencv built in the easiest way possible (need internet access because bu The OpenCV plugins are built only in the 64-bit tarball builds, both static and dynamic. However, due to size these plugins are not included with pkgs. But it is relatively easy to add the current 6 plugins for your distro via a simple procedure of copying the plugins from the tarball to the cin5 install plugin path. They are: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=Bash,numbers=none] cin/plugins/opencv/findobj.plugin cin/plugins/opencv/flowobj.plugin cin/plugins/opencv/gaborobj.plugin @@ -3219,7 +3219,7 @@ If the scale factor is $2$, every $2$ input samples will be reduced to $1$ outpu \label{sub:renederd_video_effets} \subsubsection*{Reframe}% -\label{ssub:time_stretch} +\label{ssub:reframe} This does exactly the same thing as \texttt{ReframeRT} in \textit{Stretch} mode. It multiplies the output frame number by the scale factor to arrive at the input frame number and changes the length of the sequence. Unlike \texttt{ReframeRT}, this must run from the Video menu and render its output. Be aware Reframe does not write the scaled frame rate as the frame rate of the rendered file. It produces a file of scaled length and equal frame rate as the project. The new length is $\frac{1}{scale factor}$ as big as the original sequence. diff --git a/parts/Recording.tex b/parts/Recording.tex index f4e73e0..260bdcb 100644 --- a/parts/Recording.tex +++ b/parts/Recording.tex @@ -563,7 +563,7 @@ It mostly works, but it takes more time to setup and maintain the database as th Currently, to activate the commercial database (db) methods you must do the following as root: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] cd /bin mkdir /cinelerra #yes, currently only in the / filesystem ./cin_db /cinelerra/media.db #to create a new empty commercial capture database diff --git a/parts/Rendering.tex b/parts/Rendering.tex index 1287f88..f845556 100644 --- a/parts/Rendering.tex +++ b/parts/Rendering.tex @@ -94,7 +94,7 @@ To start rendering from the first enabled batch, hit \texttt{Start}. Once rende You can automate Cinelerra batch renders from other programs. In the batch render dialog, once you have created your list of batch render jobs, you can click the button \texttt{Save Jobs} and choose a file to save your batch render list to. Once you have created this file, you can start up a batch render without needing to interact with the Cinelerra user interface. From a shell prompt, from a script, or other program, execute: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] {path_to_cinelerra} -r batchjob.xml \end{lstlisting} substituting your actual filename for \texttt{batchjob.xml}. When invoked with these parameters, Cinelerra will start up and perform the rendering jobs in that list, without creating its usual windows. @@ -108,7 +108,7 @@ To perform rendering from the command line, first run Cinelerra in graphical mod On the command line run: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] cinelerra -r \end{lstlisting} @@ -219,7 +219,7 @@ The following steps are just a guideline to start your render farm. It is assum \item click OK on the bottom of the Preferences window. \end{itemize} \item On the client computers ($192.168.1.12$), start 5 background cinelerra tasks via: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] $ cd /{path_to_cinelerra} $ cin -d 401 $ cin -d 402 @@ -227,7 +227,7 @@ $ cin -d 402 $ cin -d 405 \end{lstlisting} \item On the master node (localhost), start the 2 background cinelerra tasks via: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] $ cd /{path_to_cinelerra} $ cin -d 406 $ cin -d 407 @@ -274,7 +274,7 @@ Framerates can really affect how the Render Farm works. The first time you use Initially, when the framerate scaling values are zero, the program just uses package length --- render size divided by the number of packages to portion out the work (if not labels). If something goes wrong or the rates become suspect, then all of the rest of the work will be dumped into the last job. When this happens, you really should \texttt{reset rates} for the next render farm session to restart with a good balance. -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] {cinelerra pathname} -h #displays some of the options. \end{lstlisting} @@ -291,43 +291,43 @@ divided by the number of packages to portion out the work (if not labels). If s \begin{enumerate} \item On each of the computers, install the nfs software if not already installed. For example, on Debian 9 you will need to run: (be sure to check/verify before using any command line): - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] $ apt-get install nfs-kernel-server \end{lstlisting} \item On the computer that contains the disk storage to be shared, define the network filesystem. For example to export \texttt{/tmp}, edit the \texttt{/etc/exports} file to add the following line: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] 192.168.1.0/24(rw,fsid=1,no_root_squash,sync,no_subtree_check) \end{lstlisting} \item Next reset the exported nfs directories using: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] $ exportfs -ra \end{lstlisting} and you may have to start or restart nfs: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] $ systemctl restart nfs \end{lstlisting} \item Each of the render farm computers must mount the exported nfs target path. To see the exports which are visible from a client, login as root to the client machine and keyin: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] $ showmount -e #using the ip address of the storage host \end{lstlisting} \item to access the host disk storage from the other computers in the render farm, mount the nfs export on the corresponding target path: (be sure to check/verify before using any command line): - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] $ mount -t nfs :/ \end{lstlisting} where \texttt{} is the storage host directory, and \texttt{} is the network address of the storage host. Because all of the computers must have the same directory path, create that same directory path with the same uid/gid/permissions on each storage client computer ahead of time. \item To make this permanent across reboots on the client nodes, add the following line to \texttt{/etc/fstab}: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] {masternode}:/nfsshare /mnt nfs defaults 0 0 \end{lstlisting} You can make this permanent on the disk storage host BUT the command lines shown, which were correct in January 2018 on Fedora, may be different for your operating system or in the future. In addition if your network is not up, there may be numerous problems. If you make a mistake, your system may not boot. To make permanent, add the following line to \texttt{/etc/fstab}: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] 192.168.1.12:/tmp /tmp nfs rw,async,hard,intr,noexec,noauto 0 0 \end{lstlisting} You will still have to mount the above manually because of the \textit{noauto} parameter but you won’t @@ -335,7 +335,7 @@ $ mount -t nfs :/ change that. Later, to remove access to the storage host filesystem: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] $ umount \end{lstlisting} @@ -351,7 +351,7 @@ $ umount \item Add the hostname or the IP address of each of the client nodes in the Hostname textbox and the port number that you want to use in the Port textbox. You can make sure a port number is not already in use by keying in on the command line: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] $ netstat -n -l -4 --protocol inet \end{lstlisting} Next, click on the \texttt{Add Nodes} @@ -364,20 +364,20 @@ $ netstat -n -l -4 --protocol inet \end{enumerate} \item[Create Workflow] While working on the master computer, it is recommended that you keep all the resources being used on the same shared disk. Load your video/audio piece and do your editing and preparation. Add any desired plugins, such as a Title, to fine-tune your work. You want to make sure your video is ready to be rendered into the final product. \item[Start the Client Nodes] To start up the client nodes run Cinelerra from the command line on each of the client computers using the following command: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] /{cinelerra_pathname}/cin -d [port #] ; \#for example /mnt1/bin/cinelerra -d 401 \end{lstlisting} This starts cinelerra in command prompt mode so that it listens to the specified port number for commands from the master node for rendering. When you start each of the clients up, you will see some messages scroll by as each client is created on that computer, such as: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] RenderFarmClient::main_loop: client started RenderFarmClient::main_loop: Session started from 127.0.0.1 \end{lstlisting} As it completes its jobs, you will should see: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] RenderFarmClientThread::run: Session finished \end{lstlisting} A quick way to start a sequence of clients is to use: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] or n in `seq 1501 1505`; do cin -d $n; done \end{lstlisting} \item[Render Using Render Farm] After you have followed the preceding steps, you are ready to use the render farm. Click on File $\rightarrow$ Render\dots which opens the render dialog. The most important point here is to use for \texttt{the Output path / Select a file to render to} a path/file name that is on the shared volume that is also mounted on the clients. Click on \texttt{OK} to render. The cinelerra program divides the timeline into the number of jobs specified by the user. These jobs are then dispatched to the various nodes depending upon the load balance. The first segment will always render on the master node and the other segments will be farmed out to the render nodes. Batch Rendering, as well as BD/DVD rendering, may use the render farm. Each line in the batchbay can enable/disable the render farm. Typically, video can be rendered into many file segments and concatenated, but normally audio is rendered as one monolithic file (not farmed). @@ -409,7 +409,7 @@ These steps are for quickly setting up render farm with the least amount of addi \item check \texttt{OK} \end{itemize} \item On each buddy client, create a job for each port: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] /{cinelerra_pathname}/cin -d port# \end{lstlisting} \item On the master, bring up the render menu and name the output files, for example \texttt{/tmp/myoutput.mp4}. @@ -431,7 +431,7 @@ Screencast below shows part of the Preferences menu where you can change the ind \label{fig:index} \end{figure} Or, one of the convenient features of cin5 is the redirection of the path via \texttt{CIN\_CONFIG} as in: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] CIN_CONFIG=// //cin \end{lstlisting} This means that you can make project related configurations that do not impact the default \texttt{\$HOME} config. You can either export your default \texttt{\$HOME} config or the \texttt{CIN\_CONFIG} config to use on the render farm. @@ -565,7 +565,7 @@ In Cinelerra for two-pass, you need to run ffmpeg twice, with the same settings, This 2 line ffmpeg 2-pass operation can be functionally duplicated in Cinelerra in the steps below them: -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] ffmpeg -y -i input -c:v libx264 -b:v 2600k -pass 1 -c:a aac -b:a 128k -f mp4 /dev/null && \ ffmpeg -i input -c:v libx264 -b:v 2600k -pass 2 -c:a aac -b:a 128k output.mp4 \end{lstlisting} @@ -585,7 +585,7 @@ ffmpeg -i input -c:v libx264 -b:v 2600k -pass 2 -c:a aac -b:a 128k output.mp4 \item Set the Video Compression to h264.mp4 (as seen in the example). \item Set the bitrate to $2600000$ ($2600k$ as in ffmpeg example above). \item Add the following 2 lines after the first line: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] flags +pass1 passlogfile /tmp/{temporary log file name}.log \end{lstlisting} @@ -593,7 +593,7 @@ passlogfile /tmp/{temporary log file name}.log \end{itemize} \item Click on \texttt{New} to create the second pass job. You will see this second job in the listbox below. Use the Video wrench and change pass1 to pass2 as follows. - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] flags +pass2 \end{lstlisting} \item Click checkmark \texttt{OK}. @@ -611,14 +611,14 @@ with ffmpeg/webm, choose \texttt{pass1of2\_vp9}. When that is finished, you wil \begin{description} \item[x265:] add this line: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] x265-params=pass=1:stats=/tmp/{temporary log file name}.log \end{lstlisting} at the time this document was written, you should see in the output: \\ \texttt{stats-read=2} \item[libvpx-vp9, xvid, and huffyuv:]~ - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] cin_stats_filename /tmp/{temporary log file name}.log flags +pass1 (or flags +pass2 for the second pass) \end{lstlisting} @@ -644,7 +644,7 @@ picture quality similar to the Blu-ray with some limitations. As container Matroska (.mkv) is used, but also mp4 and others are possible. -\vspace{2ex} \begin{lstlisting}[language=Bash] +\vspace{2ex} \begin{lstlisting}[language=bash,numbers=none] matroska libx265 # CRF 16 creates a balanced compromise @@ -709,7 +709,7 @@ You can pipe a video to any command line on the computer, such as ffmpeg. This \begin{enumerate} \item on a terminal window create a named pipe file, for example: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] mknod /tmp/piper.yuv p \end{lstlisting} load your video and do your editing @@ -718,13 +718,13 @@ mknod /tmp/piper.yuv p \item for \texttt{Insertion Strategy}, you will want to make sure to select \textit{insert nothing} \item click for \texttt{OK} on the green checkmark.(the cinelerra gui will look like it is hanging while waiting for a command line to use the pipe.) \item on the terminal window, keyin your command, for example: - \begin{lstlisting}[language=bash] + \begin{lstlisting}[language=bash,numbers=none] /mnt0/build5/cinelerra-5.1/thirdparty/ffmpeg-3.4.1/ffmpeg -f rawvideo -pixel_format yuv420p \ -video_size 1280x720 -framerate 30000/1001 -i /tmp/piper.yuv /tmp/pys.mov \end{lstlisting} \end{enumerate} A slightly different option can be used instead that may be more familiar to some. In the render menu after choosing the File Format of \textit{ffmpeg}, use the pulldown to choose \textit{y4m} as the file type. This choice results in putting a header on the rendered output with some pertinent information that can be used for ffmpeg processing thus alleviating the requirement for \textit{pixel\_format}, \textit{video\_size}, and \textit{framerate} on the ffmpeg command line. In this case the format is \texttt{yuv4mpegpipe} instead of \texttt{rawvideo}. An example command line would look as follows (assuming the created pipe is called \texttt{piper.y4m}): -\begin{lstlisting}[language=bash] +\begin{lstlisting}[language=bash,numbers=none] ffmpeg -f yuv4mpegpipe -i /tmp/piper.y4m -vcodec libx264 /tmp/test.mp4 \end{lstlisting} diff --git a/parts/Shortcuts.tex b/parts/Shortcuts.tex index a96b978..20818d5 100644 --- a/parts/Shortcuts.tex +++ b/parts/Shortcuts.tex @@ -331,7 +331,7 @@ The Main window (also called the program window) consists of pulldown menus, but \end{center} \section{Compositor window }% -\label{sec:compositor_window} +\label{sec:compositor_window_shortcuts} \subsection{Compositor buttons }% \label{ssec:compositor_buttons} @@ -437,7 +437,7 @@ The Main window (also called the program window) consists of pulldown menus, but \end{center} \section{Viewer window }% -\label{sec:viewer_window} +\label{sec:viewer_window_shortcuts} \subsection{Viewer buttons }% \label{ssec:viewer_buttons} diff --git a/parts/Tips.tex b/parts/Tips.tex index 64a76fd..ec9ce7e 100644 --- a/parts/Tips.tex +++ b/parts/Tips.tex @@ -389,7 +389,7 @@ An error you may see on your Cinelerra startup window when you have Cuda install \end{enumerate} \subsection{Final Note}% -\label{sub:final_note} +\label{sub:final_note_on_acceleration} In wrapping up this Hardware Acceleration section, you may want to refer to the following to determine the current supported formats: diff --git a/parts/Windows.tex b/parts/Windows.tex index 414dbd2..6ac7d42 100644 --- a/parts/Windows.tex +++ b/parts/Windows.tex @@ -4,7 +4,7 @@ \begin{figure}[htpb] \centering \includegraphics[width=\linewidth,keepaspectratio]{images/Fenstergrundposition-en.png} - \captionsetup{labelformat=empty, textformat=empty} + \captionsetup{labelformat=empty, textformat=empty} \caption[The four windows (cc-by-sa Olaf)]{No text} \label{fig:Fenstergrundposition-en} \end{figure} @@ -1277,7 +1277,7 @@ When you bring up the Modify folder window, if you already have files in that fo \end{tikzpicture} \caption{Modify target} - \label{fig:insertion-points} + \label{fig:modify-target} \end{figure} To delete the entire set of files listed on the filter rule, highlight the rule line and hit the “Del” button. @@ -1400,8 +1400,8 @@ Column headers: Table showing the allowed usage: -%TODO crate table for below code -\begin{lstlisting} +%TODO create table for below code +\begin{lstlisting}[numbers=none] target: | eq ge gt ne le lt matches around ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ patterns | <---- strcmp ---------> + filter + nearest @@ -1627,7 +1627,7 @@ Another possible usage of this capability: \centering \includegraphics[width=0.8\linewidth]{images/snapshot.png} \caption{Snapshot menu and choices} - \label{fig:} + \label{fig:snapshot} \end{minipage} \begin{minipage}{.49\linewidth} \centering @@ -1636,7 +1636,7 @@ Another possible usage of this capability: \node (img2) [yshift=2cm, xshift=-1cm, rotate=0] {\includegraphics[width=0.07\linewidth]{images/reticle.png}}; \end{tikzpicture} \caption{Grabshot reticle \& orange box} - \label{fig:} + \label{fig:grabshot_recticle} \end{minipage} \end{figure} @@ -1772,21 +1772,20 @@ Here is a list of how they work. Keep in mind that if the Expander on the patch \hfill \begin{minipage}{.29\linewidth} \centering - \includegraphics[width=0.99\linewidth]{images/overlays_list1.png} + \includegraphics[width=0.99\linewidth]{images/overlays_list2.png} \caption{Note Titles box hot spot } - \label{fig:overlays_list1} + \label{fig:overlays_list2} \end{minipage} \hfill \begin{minipage}{.29\linewidth} \centering - \includegraphics[width=0.99\linewidth]{images/overlays_list1.png} + \includegraphics[width=0.99\linewidth]{images/overlays_list3.png} \caption{Cam/Proj XYZ toggle to fine tune} - \label{fig:overlays_list1} + \label{fig:overlays_list3} \end{minipage} \end{figure} - \subsection{Sound Level Meters Window}% \label{sub:sound_level_meters_window}