From: Good Guy Date: Fri, 13 Mar 2020 00:55:16 +0000 (-0600) Subject: add Olaf Workmark X-Git-Tag: 2021-05~113 X-Git-Url: https://cinelerra-gg.org/git/?a=commitdiff_plain;h=57a86b4cce1e2f98b917a90db8027f55ea3e0d7b;p=goodguy%2Fcin-manual-latex.git add Olaf Workmark --- diff --git a/common/packages.tex b/common/packages.tex index f1d7c20..f9b5eb2 100644 --- a/common/packages.tex +++ b/common/packages.tex @@ -1,21 +1,29 @@ - +% \usepackage{cmap} -\usepackage[T2A]{fontenc} -\usepackage[utf8]{inputenc} % file encoding -\usepackage{substitutefont} % so we can use fonts other than those specified in babel -\usepackage[english]{babel} % default language for document -\usepackage[scaled=0.925]{XCharter} % Подключение русифицированных шрифтов XCharter -\usepackage[bitstream-charter]{mathdesign} % Согласование математических шрифтов +\usepackage[T2A]{fontenc} % T2A (Cyrillic) and T1 are only identical + % in the first 128 positions. This is an + % English language document. +\usepackage[utf8]{inputenc} % file encoding +\usepackage{substitutefont} % so we can use fonts other than those specified in babel +\usepackage[english]{babel} % default language for document +% Cyrillic - if it is used, no Small Caps are available: +%\usepackage[scaled=0.925]{XCharter} % Подключение русифицированных + % шрифтов XCharter "Connection + % of Russified XCharter Fonts" +\usepackage[bitstream-charter]{mathdesign} % Согласование + % математических шрифтов + % "Math font + % harmonization" \usepackage{ %amsfonts, mathtools, - mathtext, + mathtext,% Cyrillic? cite, enumerate, float, - textcomp -} % some packages + textcomp +} % some packages \usepackage[font={small},textfont=it]{caption} \usepackage{hhline} % beautiful links \PassOptionsToPackage{hyphens}{url} @@ -30,28 +38,28 @@ %\usepackage[nottoc]{tocbibind} % do we need bibliography in toc %---------------------------------------------- -%\usepackage{mhchem} +%\usepackage{mhchem} %=============== Font for tables ============ %\let\oldtabular\tabular %\renewcommand{\tabular}{\small\oldtabular} \hypersetup{colorlinks=true, linkcolor=blue, - citecolor=blue, - filecolor=blue, - urlcolor=blue, - pdftitle={Cinelerra GG Infinity Manual}, + citecolor=blue, + filecolor=blue, + urlcolor=blue, + pdftitle={Cinelerra-GG Infinity Manual}, pdfauthor={Cinelerra Authors}, - pdfsubject={Video Editing}, + pdfsubject={Video Editing}, pdfkeywords={Cinelerra, Good Guy} } % pdf properties -\usepackage[pdftex]{graphicx} % do we need some figures in our pdf +\usepackage[pdftex]{graphicx} % do we need some figures in our pdf \graphicspath{{images/}} % path to images \usepackage{tikz} % drawing package \usepackage{nameref} % use \nameref{} to set reference to chapter neme. %---------------------------------------------------------------------- -\usepackage{listings} % include code +\usepackage{listings} % include code \lstset{ % begin settings %language=R, % the language of the code inputencoding=utf8, @@ -95,7 +103,7 @@ arrows, shapes, shadows -} +} \usepackage{wrapfig} % Wrapping figures \usepackage{enumitem} % custom lists diff --git a/common/settings.tex b/common/settings.tex index 656a1a2..fa92732 100644 --- a/common/settings.tex +++ b/common/settings.tex @@ -70,3 +70,12 @@ \setlength{\cftfigurenumwidth}{4em} % memoir class, more space between figure number and text. \renewcommand{\nomname}{Glossary} % glossary name + + +% Define the Cinnelerr-GG wordmark - a rough draft that can be +% adapted at any time. To be used in the text with \CGG{} +% or % \CGGI{} +\def\GG{\textsc{G\kern-0.1em G}} +\def\CGG{\textsc{Cinelerra-\GG}} +\def\INF{\textsc{Infinity}} +\def\CGGI{\CGG\;\INF} diff --git a/parts/Attributes.tex b/parts/Attributes.tex index 37a14ca..94fe5da 100644 --- a/parts/Attributes.tex +++ b/parts/Attributes.tex @@ -1,7 +1,7 @@ \chapter{Project and Media Attributes}% \label{cha:project_and_media_attributes} -When you play media files in Cinelerra, the media files have a certain number of tracks, frame size, sample size, and so on. +When you play media files in \CGG{}, the media files have a certain number of tracks, frame size, sample size, and so on. No matter what attributes the media file has, it is played back according to the project attributes. So, if an audio file's sample rate is different than the project attributes, it is resampled. Similarly, if a video file's frame size is different than the project attributes, the video is composited on a black frame, either cropped or bordered with black. @@ -19,7 +19,7 @@ But every timeline created from this point uses the same settings. \label{fig:set-format} \end{figure} -In addition to the standard settings for sample rate, frame rate, and frame size, Cinelerra uses some less traditional settings like channel positions, color model, and aspect ratio. +In addition to the standard settings for sample rate, frame rate, and frame size, \CGG{} uses some less traditional settings like channel positions, color model, and aspect ratio. The aspect ratio refers to the screen aspect ratio. Edit decision lists , the EDL stored in XML, save the project settings. @@ -106,10 +106,10 @@ Explanation of the various fields is described next. if this option is checked, the Set Format dialog always recalculates the Aspect ratio setting based upon the given Canvas size. This ensures pixels are always square. \item[Color model:] - the internal color space of Cinelerra GG is X11 sRGB without color profile. Cinelerra always switches to sRGB when applying filters or using the compositing engine. Different case for decoding/playback or encoding/output; the project will be stored in the color model video that is selected in the dropdown. + the internal color space of \CGG{} is X11 sRGB without color profile. \CGG{} always switches to sRGB when applying filters or using the compositing engine. Different case for decoding/playback or encoding/output; the project will be stored in the color model video that is selected in the dropdown. Color model is important for video playback because video has the disadvantage of being slow compared to audio. Video is stored on disk in one colormodel, usually a YUV derivative. - When played back, Cinelerra decompresses it from the file format directly into the format of the output device. + When played back, \CGG{} decompresses it from the file format directly into the format of the output device. If effects are processed, the program decompresses the video into an intermediate colormodel first and then converts it to the format of the output device. The selection of an intermediate colormodel determines how fast and accurate the effects are. A list of the current colormodel choices follows. diff --git a/parts/AuxilaryPrograms.tex b/parts/AuxilaryPrograms.tex index 9059fda..963efc8 100644 --- a/parts/AuxilaryPrograms.tex +++ b/parts/AuxilaryPrograms.tex @@ -4,7 +4,7 @@ \section{Using Ydiff to check results} \label{sec:ydiff_check_results} -Delivered with Infinity Cinelerra and in the Cinelerra path, there is a file \texttt{ydiff.C} This program compares the output from 2 files to see the differences . Do: \texttt{cd cin\_path} and key in \texttt{make ydiff}. +Delivered with Infinity \CGG{} and in the \CGG{} path, there is a file \texttt{ydiff.C} This program compares the output from 2 files to see the differences . Do: \texttt{cd cin\_path} and key in \texttt{make ydiff}. You can now use this to check the quality differences of various outputs. \ For example, in this same directory key in: @@ -135,7 +135,7 @@ number of \textit{threads} to use during encoding\\ \section{Details about .bcast5 Files} \label{sec:details_.bcast5_files} -The following extensions of files in Cinelerra's \texttt{.bcast5} directory are explained below. +The following extensions of files in \CGG{}'s \texttt{.bcast5} directory are explained below. % Labeling requires a parameter with the longest word of the labels. \begin{labeling}{ladspa\_plugins{\dots}} @@ -144,9 +144,9 @@ The following extensions of files in Cinelerra's \texttt{.bcast5} directory are \item [.mkr] ffmpeg specific \textit{marker} index file that is created for each video to aid seeks \item [.rc] rc stands for \textit{run commands} so basically represents a script \item [.toc] toc is \textit{table of contents} file for MPEG video files (a type of index) - \item [Cinelerra\_plugins] a list of the currently loaded plugins available in your Cinelerra session - \item [Cinelerra\_rc] the user's preferences and settings are saved in this file to be used on startup - \item [ladspa\_plugins{\dots}] list of currently loaded ladspa plugins for each version of Cinelerra being used + \item [Cinelerra\_plugins] a list of the currently loaded plugins available in your \CGG{} session + \item [Cinelerra{}\_rc] the user's preferences and settings are saved in this file to be used on startup + \item [ladspa\_plugins{\dots}] list of currently loaded ladspa plugins for each version of \CGG{} being used \item [layout\#...\_rc] user-defined window layout setup with the layout name as part of the file name \item [.xml] used for various backups or for the current settings of plugins that you have used \item [.png] thumbnails of files in Resources so they do not have to be created over and over diff --git a/parts/Configuration.tex b/parts/Configuration.tex index 5780a69..badca87 100644 --- a/parts/Configuration.tex +++ b/parts/Configuration.tex @@ -8,10 +8,10 @@ \label{fig:settings} \end{figure} -The user's default settings, preferences, and other helpful files are retained across sessions in a hidden file, called .bcast5, in the user’s \texttt{\$HOME} directory. Initially when Cinelerra is launched there is an empty project and there are program default settings, and from then on the \texttt{.bcast5} directory will contain the settings that were set when quitting. If you need to revert to the default settings, delete the \texttt{.bcast5} directory contents and restart Cinelerra. Or you may want to rename it temporarily if you think you might want it back later. -Although the location defaults to \texttt{\$HOME/.bcast5}, you can use the \texttt{CIN\_CONFIG} variable to override this location. For example: \texttt{export CIN\_CONFIG=/tmp/.bcast5} will use a temporary setup for testing purposes. It is also useful for multiple users sharing the same home directory who would like to have different configuration/preferences settings data. And if you are experiencing inexplicable errors or crashes in Cinelerra, they may be due to a problem with \texttt{.bcast5} in which case taking it out of the picture can at least eliminate this as the cause. +The user's default settings, preferences, and other helpful files are retained across sessions in a hidden file, called .bcast5, in the user’s \texttt{\$HOME} directory. Initially when \CGG{} is launched there is an empty project and there are program default settings, and from then on the \texttt{.bcast5} directory will contain the settings that were set when quitting. If you need to revert to the default settings, delete the \texttt{.bcast5} directory contents and restart \CGG{}. Or you may want to rename it temporarily if you think you might want it back later. +Although the location defaults to \texttt{\$HOME/.bcast5}, you can use the \texttt{CIN\_CONFIG} variable to override this location. For example: \texttt{export CIN\_CONFIG=/tmp/.bcast5} will use a temporary setup for testing purposes. It is also useful for multiple users sharing the same home directory who would like to have different configuration/preferences settings data. And if you are experiencing inexplicable errors or crashes in \CGG{}, they may be due to a problem with \texttt{.bcast5} in which case taking it out of the picture can at least eliminate this as the cause. -Several ways exist to change Cinelerra’s operational characteristics. A lot of variations can be made to settings and preferences by using the \textit{Settings} pulldown from the main window and choosing \textit{Preferences}. +Several ways exist to change \CGG{}’s operational characteristics. A lot of variations can be made to settings and preferences by using the \textit{Settings} pulldown from the main window and choosing \textit{Preferences}. \section{Playback A / Playback B}% \label{sec:playback_a_b} @@ -39,7 +39,7 @@ The audio drivers are used for both recording and playback. The Audio Out settin \item[Pulseaudio] Extends the functionality of ALSA. It is a more modern and highly supported driver. \end{description} \item[Device] with the down arrow, you can see the device choices on your computer. - \item[Bits] 8, 16 or 24 Bit Linear are the current choices for the number of bits of precision Cinelerra should set the device for. The meaning of the number of bits can be misleading. Some sound drivers need to be set to 32 bits to perform 24 bit playback and will not play anything when set to 24 bits. Other sound drivers need to be set to 24 bits for 24 bit playback. + \item[Bits] 8, 16 or 24 Bit Linear are the current choices for the number of bits of precision \CGG{} should set the device for. The meaning of the number of bits can be misleading. Some sound drivers need to be set to 32 bits to perform 24 bit playback and will not play anything when set to 24 bits. Other sound drivers need to be set to 24 bits for 24 bit playback. \item[Stop playback locks up] this ALSA only checkbox is needed if stopping playback causes the software to lock up. This has worked some time ago, but may no longer work as expected \end{description} @@ -130,7 +130,7 @@ The parameters here expedite the \texttt{File $\rightarrow$ Record}\dots functio \item[Follow video config] ?? \item[Frames to record to disk at a time] frames are recorded in a pipeline. First, frames are buffered in the device. Then, they are read into a larger buffer for writing to disk. The disk writing is done in a separate thread from the device reading. For certain codecs the disk writing uses multiple processors. The value set here determines how many frames are written to disk at a time. \item[Frames to buffer in device ] the number of frames to store in the device before reading and this determines how much latency there can be in the system before frames are dropped. - \item[Positioning] if set to \textit{Software timing}, use software for positioning information. Video uses audio for synchronization, but most sound cards do not give accurate position information so selecting this option makes Cinelerra calculate an estimation of audio position in software instead of hardware for synchronization. You can also choose \textit{Presentation Timestamps}, \textit{Device Position}, or \textit{Sample Position}. + \item[Positioning] if set to \textit{Software timing}, use software for positioning information. Video uses audio for synchronization, but most sound cards do not give accurate position information so selecting this option makes \CGG{} calculate an estimation of audio position in software instead of hardware for synchronization. You can also choose \textit{Presentation Timestamps}, \textit{Device Position}, or \textit{Sample Position}. \item[Sync drives automatically] for high bitrate recording, the disk drives you use may be fast enough to store the data but your operating system may wait several minutes and stall as it writes several minutes of data at a time. This forces the operating system to flush its buffers every second instead of every few minutes to produce slightly better real-time behavior. \item[Size of captured frame] is the size of the recorded frames in pixels. It is independent of the project frame size because most video devices only record a fixed frame size. \item[Frame rate for recording ] the frame rate recorded is different from the project settings. This sets the recorded frame rate. @@ -147,8 +147,8 @@ The main focus of the performance section is rendering parameters not available \begin{description} \item[Cache size] to speed up rendering, several assets are kept open simultaneously. This determines how many are kept open. A number too large may exhaust your memory rapidly. A number too small may result in slow playback as assets need to be reopened more frequently. \item[Seconds to preroll renders] some effects need a certain amount of time to settle in. Checking this option sets a number of seconds to render without writing to disk before the selected region is rendered. When using the render farm, you will sometimes need to preroll to get seamless transitions between the jobs. Every job in a render farm is prerolled by this value. This does not affect background rendering because background rendering uses a different preroll value. - \item[Force single processor use] Cinelerra tries to use all processors on the system by default, but sometimes you will only want to use one processor, like in a render farm client. This forces only one processor to be used. The operating system usually uses the second processor for disk access. The value of this parameter is used in render farm clients. - \item[Project SMP cpus ] to restrict the number of processors utilized, change the count number. This number will be used for the plugin per load balance operation cpu limit, which uses smp-cpus to stripe your data. It does not affect the number of cpus used in any other Cinelerra operation besides plugins. On large cpu systems, it can come in handy to downgrade the number of cpus used for some plugins; otherwise it uses all of the processors and splits up the program into too many pieces which may add + \item[Force single processor use] \CGG{} tries to use all processors on the system by default, but sometimes you will only want to use one processor, like in a render farm client. This forces only one processor to be used. The operating system usually uses the second processor for disk access. The value of this parameter is used in render farm clients. + \item[Project SMP cpus ] to restrict the number of processors utilized, change the count number. This number will be used for the plugin per load balance operation cpu limit, which uses smp-cpus to stripe your data. It does not affect the number of cpus used in any other \CGG{} operation besides plugins. On large cpu systems, it can come in handy to downgrade the number of cpus used for some plugins; otherwise it uses all of the processors and splits up the program into too many pieces which may add considerable overhead in high cpu count systems. \end{description} @@ -176,7 +176,7 @@ In the Render Farm Section are many options that are explained in detail in the \label{sub:editing_section} \begin{description} - \item[Clicking on edit boundaries] (trimming) Cinelerra not only allows you to perform editing by dragging edit boundaries, but also defines five separate operations that occur when you drag an edit boundary. Here you can select the behavior of each mouse button. The usage of each editing mode is described in great detail in the \hyperref[sub:drag_handle_management_trimming]{Editing} chapter. + \item[Clicking on edit boundaries] (trimming) \CGG{} not only allows you to perform editing by dragging edit boundaries, but also defines five separate operations that occur when you drag an edit boundary. Here you can select the behavior of each mouse button. The usage of each editing mode is described in great detail in the \hyperref[sub:drag_handle_management_trimming]{Editing} chapter. \item[Keyframe reticle] the options are \textit{Newer}, \textit{Dragging}, or \textit{Always}. This is used to help in checking edit alignment across tracks. Always renders a line over all plugins, and dragging only over the drag icon. Never draws nothing. \item[Snapshot path] designates the default directory path for snapshot and grabshot generated output. \end{description} @@ -186,7 +186,7 @@ In the Render Farm Section are many options that are explained in detail in the \begin{description} \item[Probe Order] clicking on this box brings up a popup allowing you to change the probe order usually for media that is raw camera output but it is also helpful if you want to ensure that a specific driver is used for certain media; for example you may want \textit{tiff} files to be read natively instead of by ffmpeg. - \item[trap sigSEGV] always enable this so that if Cinelerra crashes, a dump will be generated for analysis. + \item[trap sigSEGV] always enable this so that if \CGG{} crashes, a dump will be generated for analysis. \item[trap sigINT] always enable this so that you can use Ctrl-c to interrupt the program if it appears to be hanging. This will often generate some useful information for analysis. \item[Use yuv420p dvd interlace format] for DVD media this option maintains the interlacing in Chroma sample addressing, which ordinarily would be deleted because the upsampling of interlaced chroma fields is normally done using a progressive algorithm. With this mode enabled, the MPEG decoder uses a different algorithm for interlaced frames so that the 4:2:0 format chroma interlacing is preserved. \item[Min / Max DB for meter] \textit{Min DB} is useful because some sound sources have a lower noise threshold than others. Everything below the noise threshold is meaningless. This option sets the meters to clip below a certain level. \textit{Max DB} sets the maximum sound level represented by the sound meters. This value is presented merely to show how far over the limit a sound wave is. No matter what this value is, no sound card can play sound over 0 dB. @@ -220,7 +220,7 @@ In the Render Farm Section are many options that are explained in detail in the \subsection{Layout section}% \label{sub:layout_section} -\paragraph{Theme} Cinelerra supports 11 different themes to suit the preferences of different users (figure~\ref{fig:theme}). When you change the theme, Cinelerra automatically saves your session and restarts exactly where you were. The \textit{Themes User Interface} are described in more detail next. \textit{Akirad} themes are all available in Cin-GG with major thanks to the \textit{Cinecutie} project for all of their hard work. These modifications provide alternative User Interface environments and allows you to choose your favorite look. Be aware that when you change your theme, Cinelerra will automatically shutdown and restart for it to take effect. The theme you choose is preserved across sessions. +\paragraph{Theme} \CGG{} supports 11 different themes to suit the preferences of different users (figure~\ref{fig:theme}). When you change the theme, \CGG{} automatically saves your session and restarts exactly where you were. The \textit{Themes User Interface} are described in more detail next. \textit{Akirad} themes are all available in Cin-GG with major thanks to the \textit{Cinecutie} project for all of their hard work. These modifications provide alternative User Interface environments and allows you to choose your favorite look. Be aware that when you change your theme, \CGG{} will automatically shutdown and restart for it to take effect. The theme you choose is preserved across sessions. \underline{Theme choices available:} @@ -252,13 +252,13 @@ 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, Cinelerra will automatically shutdown and restart. +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. -When first using Cinelerra, or if \textit{Layout Scale} has never been set, the initial value is 0.0. +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. If a user wants to prevent the automatic scaling, \textit{Layout Scale} should be set to 1.0 to avoid the smaller characters that might result due to the probe of a non-1080p monitor. @@ -268,12 +268,12 @@ size for larger text/fonts before you start the application from a window, you c \begin{lstlisting}[numbers=none] BC_SCALE=2.0 {your Cinelerra path}/bin/cin \end{lstlisting} -The scaling size would only be in effect for that run of Cinelerra. This is particularly -useful in the case where the user makes a mistake in setting the \textit{Layout Scale} and Cinelerra becomes unusable. +The scaling size would only be in effect for that run of \CGG{}. This is particularly +useful in the case where the user makes a mistake in setting the \textit{Layout Scale} and \CGG{} becomes unusable. Then the environment variable, BC\_SCALE, can be used to overcome the bad setting so that you can get back into -Cinelerra and fix the scaling parameter. For example, if you +\CGG{} and fix the scaling parameter. For example, if you accidentally set \textit{Layout Scale} to 112.6, keyin the following -and then when you get back into Cinelerra, fix \textit{Layout Scale} value in Preferences. +and then when you get back into \CGG{}, fix \textit{Layout Scale} value in Preferences. \begin{lstlisting}[numbers=none] BC_SCALE=1.0 {your Cinelerra path}/bin/cin \end{lstlisting} @@ -313,7 +313,7 @@ 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 Cinelerra. + \item[Show tip of the day] if checked, a tip will be displayed in a popup box when start up \CGG{}. \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] @@ -327,13 +327,13 @@ This section contains many useful options to cater to the various preferences of 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 Cinelerra window when the cursor enters an exposed region of the window which eliminates the need to switch input focus by tabbing. + \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[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 Cinelerra you will be right back where you left off. You + 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. @@ -342,7 +342,7 @@ to this file and rendered, any other uses of the same file will be affected and \section{About}% \label{sec:about} -This section gives you information about the Cinelerra program and version you are running. The original author’s copyright and name are first and foremost. Next is a textbox with additional information and a summary of the monthly new features of note. Below that is a summary of the GPL License and the fact that it is provided without any warranty. Then the licensing verbage is the item that you may need to refer to most often -- the \textit{built} date and time in case you need to know which version you are currently running. +This section gives you information about the \CGG{} program and version you are running. The original author’s copyright and name are first and foremost. Next is a textbox with additional information and a summary of the monthly new features of note. Below that is a summary of the GPL License and the fact that it is provided without any warranty. Then the licensing verbage is the item that you may need to refer to most often -- the \textit{built} date and time in case you need to know which version you are currently running. \section{Environment Variables for Customization}% \label{sec:environment_variables_customization} @@ -359,7 +359,7 @@ The following exported variables can be set to customize your environment. \\ Th \item[{\small CIN\_LIB}] location of library programs, such as bdwrite \item[{\small CIN\_LOCALE}] locale text domain path to use for translating text \item[{\small CIN\_PLUGIN}] plugin directory path - \item[{\small CIN\_RENDER}] complete filename with path, that was used for \textit{select file to render} to in the current session’s last successful Render job; this is used in the \texttt{RenderMux} defined \textit{Shell Cmds} and is available for any user-defined script inside Cinelerra + \item[{\small CIN\_RENDER}] complete filename with path, that was used for \textit{select file to render} to in the current session’s last successful Render job; this is used in the \texttt{RenderMux} defined \textit{Shell Cmds} and is available for any user-defined script inside \CGG{} \item[{\small CIN\_PKG}] used to set your text domain, that is the locale path pointing to the cin.mo language file \item[{\small CIN\_XSYNCH}] (for Developers only) set to 1 helps debugging for windows primitives to execute immediately and not be buffered up so you can see what is happening \end{description} @@ -380,7 +380,7 @@ export CIN_CONFIG=/tmp/.bcast5 #use a temporary setup for testing purposes. \item[{\small BC\_USE\_COMMERCIALS=1}] to activate the commercial database (db) methods. \item[{\small BC\_TRAP\_LV2\_SEGV}] to get a dump of the failure of an LV2 plugin for help in debugging. \item[{\small BC\_FONT\_SCALE=1.2}] for changing the default size of the characters to be twice as big. - \item[{\small BC\_ICON\_SCALE=1.1}] for changing the default size of the icons to be bigger; can change \# to any. You can increase the size of the characters in the fonts and icons on your Cinelerra system. This will make it easier to read the characters if you have trouble seeing the default small letters, which have been auto-scaled based on the window geometry. The user-friendly font/icon scaling default is 1 but you can set it to any decimal value. To defeat default auto scaling and get any size characters/fonts, override the setting via the previous 2 listed shell environment variables. This is very sensitive, meaning that even a small increase in the numeric value can vary the size quite dramatically. + \item[{\small BC\_ICON\_SCALE=1.1}] for changing the default size of the icons to be bigger; can change \# to any. You can increase the size of the characters in the fonts and icons on your \CGG{} system. This will make it easier to read the characters if you have trouble seeing the default small letters, which have been auto-scaled based on the window geometry. The user-friendly font/icon scaling default is 1 but you can set it to any decimal value. To defeat default auto scaling and get any size characters/fonts, override the setting via the previous 2 listed shell environment variables. This is very sensitive, meaning that even a small increase in the numeric value can vary the size quite dramatically. \item[{\small BC\_FONT\_PATH=}] to add additional font sets for the \textit{Title} plugin or to remove all fonts set to : \texttt{(colon)}. An example: \texttt{export BC\_FONT\_PATH=/usr/share/fonts}. \item[{\small BC\_FONT\_DEBUG=1}] debug for determining which font is causing problems. 0 for no debug. @@ -389,18 +389,18 @@ normal size of 1. Refer to the previous Appearance section, \textit{Layout Scale \item[{\small LADSPA\_PATH}] specify an alternate set of ladspa plugins or include the default with the use of a colon separated list of directories to search for LADSPA plugins. This is always used first and if it does not exist, then the value for \texttt{CIN\_LADSPA} becomes \texttt{LADSPA\_PATH}. \item[{\small LV2\_PATH}] specify a certain set of LV2 plugins to use. Separate multiple paths with colons. - \item[{\small LANG}] Cinelerra can be localized to display menus and messages in many languages. + \item[{\small LANG}] \CGG{} can be localized to display menus and messages in many languages. Currently there are 16 languages in addition to English, of varying quality. Some information on these is in the \nameref{cha:translations} chapter. Language settings are normally read from your Linux O/S \textit{locale} settings. -The Cinelerra program checks environment variables to determine your settings to use as the language. +The \CGG{} program checks environment variables to determine your settings to use as the language. First it checks the value of LANGUAGE and will use that if set. If that is not set, then it checks LC\_ALL and finally if that is not set either, it will use the value of LANG. You can check the current settings from a window by looking at the output of the \textit{printenv} command. To run on a language different than the one selected on your system just change -the \texttt{LANG} environment variable before starting up Cinelerra like this: +the \texttt{LANG} environment variable before starting up \CGG{} like this: \hspace{2em} \texttt{export LANG}=\textit{2 letter language code\_2 letter country code.UTF-8} @@ -408,7 +408,7 @@ For example, from a window type: \hspace{2em} \texttt{export LANG=es\_ES.UTF-8} -then startup Cinelerra and you will have translations in Spanish. If you started Cinelerra from that same +then startup \CGG{} and you will have translations in Spanish. If you started \CGG{} from that same window using \texttt{\{cinelerra\_path\}/bin/cin} you will see a message in that window something similar to: \hspace{2em} \textit{lang changed from en\_US.UTF-8 to es\_ES-UTF-8} @@ -418,7 +418,7 @@ have set it so you may have to substitute LANGUAGE for the word LANG above. Depending on your Operating System and Desktop application, there may be other ways to accomplish a language change. For example, on Fedora with the Gnome desktop, the simplest method of switching your -language to German and immediately starting Cinelerra is to use: +language to German and immediately starting \CGG{} is to use: \hspace{2em} \texttt{LANGUAGE=de \{cinelerra\_path\}/bin/cin} diff --git a/parts/DVD.tex b/parts/DVD.tex index dfbed55..1960b57 100644 --- a/parts/DVD.tex +++ b/parts/DVD.tex @@ -1,14 +1,14 @@ \chapter{DVD and Bluray Creation}% \label{cha:dvd_bluray_creation} -This section describes how to create a blu-ray DVD, or \textcolor{red}{BD} referring to a \textcolor{red}{B}lu-ray \textcolor{red}{D}VD, and a regular DVD, or \textcolor{red}{SD} referring to a \textcolor{red}{S}tandard \textcolor{red}{D}VD. The DVDs (plural usage of DVD means either BD or SD) created are unencrypted, unlike commercially available movie DVDs. This Cinelerra version conceivably can create different variations of DVD/Blu-ray media but for the casual user the most standard usages are readily usable and will be described here. +This section describes how to create a blu-ray DVD, or \textcolor{red}{BD} referring to a \textcolor{red}{B}lu-ray \textcolor{red}{D}VD, and a regular DVD, or \textcolor{red}{SD} referring to a \textcolor{red}{S}tandard \textcolor{red}{D}VD. The DVDs (plural usage of DVD means either BD or SD) created are unencrypted, unlike commercially available movie DVDs. This \CGG{} version conceivably can create different variations of DVD/Blu-ray media but for the casual user the most standard usages are readily usable and will be described here. Some preliminary information follows. For NTSC, SD media is almost always $720\times480$ interlaced (the format in the United States, US). For PAL, SD media is almost always $720\times576$ interlaced (Europe, EU, and most of the world). An SD can conceivably be created with a lower resolution – for example $352\times240$ MPEG-1 -- but it is not useful. Aspect ratio for either NTSC or PAL can be $4:3$ or $16:9$. Frames per seconds is usually $29.97$ for NTSC and $25$ fps for PAL. The standard SD dvd generally uses the MPEG-2 program stream with a filename extension of \texttt{m2v}. BD blu-ray media is not normally interlaced, but you can leave it interlaced. Blu-ray uses the MPEG transport stream which contains 1 or more program streams with a default filename extension of \texttt{m2ts}. Requirements for creating DVDs is the hardware device to write the media on and, obviously, the blank media for either BD or SD. When generating SD media, you will have to install \textit{dvdauthor} and for BD media, install \textit{udftools} if they are not on your system. Also, keep in mind that to mount filesystems for creating files and to burn DVDs, you will have to be root since you have to have privileges, unless special permissions have been provided for a non-root user. It is also highly recommended to -run the Cinelerra startup from a terminal window, instead of the icon, in order to see informative messages of how to actually write the output (at prompt: keyin \texttt{/iso} with the dvd filesystem via \textit{dvdauthor} and then generate an iso9660 filesystem and write it to a dvd via \textit{growisofs}. +The general design of the DVD/blu-ray generation operations is to first render media using batch rendering and then terminate \CGG{} to start a script which creates the target device filesystem data. These scripts are the \texttt{dvd.sh} and \texttt{bd.sh} scripts written into the target directory. For DVD, the general plan is to write a directory \texttt{/iso} with the dvd filesystem via \textit{dvdauthor} and then generate an iso9660 filesystem and write it to a dvd via \textit{growisofs}. For blu-ray, the filesystem generation is slightly harder. First, it creates an empty filesystem image \texttt{/bd.udfs} using \textit{mkudffs} which makes a big hole for the filesystem data. The hole is made just a little bigger than the data written by \textit{bdwrite} so that you don't have to write an entire $25GB$ or $50GB$ disc even if no data exists. This empty filesystem is loopback mounted to make it writable, and the linux kernel manages the filesystem image. The bdwrite program applies the blu-ray structure to the UDF filesystem by creating the needed BDMV blu-ray filesystem, which the kernel stores onto the image file \texttt{bd.udfs}. When udfs is unmounted, the kernel finalizes the disk image on bd.udfs. The bd.udfs image can be written directly to a blu-ray disk via \textit{dd} or \textit{growisofs}. @@ -128,7 +128,7 @@ Explanation of the choice boxes as seen in figure~\ref{fig:bluray_dvd} for both \item[Aspect Ratio] aspect ratio may be automatically set to $4:3$ or $16:9$. Aspect ratio would better be defined as the size of the display, monitor, or TV which will be used to view the output. If you measure your old TV, which supposedly is $4:3$ and your latest digital TV, which is supposedly $16:9$, you will see that those ratios aren't always correct anyway. Then measure your laptop monitor, your desktop monitor, and your neighbor's, and lo and behold, the ratios don't fit either of the purported \textit{standard} aspect ratio. Maintaining square pixels via scaling is more important in the long run. \item[Use FFMPEG] this is user's choice; it is recommended and faster but more difficult to modify due to numerous options. For blu-ray, ffmpeg must be used and is not an available option. \item[Resize Tracks] change track width and height as explained previously. The size is adjusted to the largest frame size needed. - \item[Chapters at Labels] without this checked, chapters markers are automatically inserted every 5 minutes. The chapter labels can then be \textit{skipped to} when playing the DVD. If instead, you want to put labels in at opportune times, you will have to run dvdauthor outside of Cinelerra and mark the chapter labels yourself by hand. In that case, you should checkbox \textit{Chapters at Labels} so that the automatic 10-minute labels are not created. This checkbox is not currently available for blu-ray. + \item[Chapters at Labels] without this checked, chapters markers are automatically inserted every 5 minutes. The chapter labels can then be \textit{skipped to} when playing the DVD. If instead, you want to put labels in at opportune times, you will have to run dvdauthor outside of \CGG{} and mark the chapter labels yourself by hand. In that case, you should checkbox \textit{Chapters at Labels} so that the automatic 10-minute labels are not created. This checkbox is not currently available for blu-ray. \end{description} \begin{figure}[htpb] @@ -165,7 +165,7 @@ Horizontal and Vertical are duplicates or restatement of same functionality as C \item Click 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 \CGG{} 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. @@ -184,7 +184,7 @@ Figure~\ref{fig:dvd-batch01} for DVD and Figure~\ref{fig:dvd-batch02} for BD sho \label{fig:dvd-batch02} \end{figure} -When you click on \textit{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 \textbf{totally shutdown after the batch jobs finish} and you will be at the command line prompt. +When you click on \textit{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 \CGG{} program will be \textbf{totally shutdown after the batch jobs finish} and you will be at the command line prompt. This will produce a new directory in your target path which contains a filesystem image file. For example: \\ @@ -254,7 +254,7 @@ Figure~\ref{fig:dvd-batch03} shows the availability of 4:2 :2 for a Batch Render \label{fig:dvd-batch03} \end{figure} -Figure~\ref{fig:dvd-batch04} shows the availability of 10-bit high quality 4:2 :2 for a Batch Render seen by clicking on wrench icon. You need specially compiled Cinelerra in order to use the x265 10-bit as opposed to 8-bit. +Figure~\ref{fig:dvd-batch04} shows the availability of 10-bit high quality 4:2 :2 for a Batch Render seen by clicking on wrench icon. You need specially compiled \CGG{} in order to use the x265 10-bit as opposed to 8-bit. \begin{figure}[htpb] \centering @@ -266,9 +266,9 @@ Figure~\ref{fig:dvd-batch04} shows the availability of 10-bit high quality 4:2 : \section{Output Terminal Messages from Creating DVDs}% \label{sec:output_terminal_messages_dvd} -Below are examples of what the batch jobs generate and you will see on the terminal screen if you started the Cinelerra program in the recommended manner from a terminal window. It is just informational but will let you know if errors. In looking at any of the output, you can safely ignore the errors that read \textit{Unsupported codec with id 100357 for input stream 0} -- this comes from \textit{nav-data} (navigation data). The first 2 examples are seen from running the batch jobs; the last 2 are from the single line execution which records the media output to the DVD hardware. +Below are examples of what the batch jobs generate and you will see on the terminal screen if you started the \CGG{} program in the recommended manner from a terminal window. It is just informational but will let you know if errors. In looking at any of the output, you can safely ignore the errors that read \textit{Unsupported codec with id 100357 for input stream 0} -- this comes from \textit{nav-data} (navigation data). The first 2 examples are seen from running the batch jobs; the last 2 are from the single line execution which records the media output to the DVD hardware. -\subsubsection*{SD Example: Partial Output during Cinelerra run} +\subsubsection*{SD Example: Partial Output during \CGG{} run} \label{ssub:sd_example_partial_output} \begin{lstlisting}[language=bash,numbers=none] @@ -310,7 +310,7 @@ To burn dvd, load blank media and run: growisofs -dvd-compat -Z /dev/dvd -dvd-video /tmp/dvd_20160407-113530/iso \end{lstlisting} -\subsubsection*{BD Example: Partial Output during Cinelerra run} +\subsubsection*{BD Example: Partial Output during \CGG{} run} \label{ssub:bd_example_partial_output} \begin{lstlisting}[language=bash,numbers=none] @@ -431,7 +431,7 @@ Note that there will be no files in the actual AUDIO\_TS directory. \begin{itemize} \item Are you logged in as root? This is required in order to loopback mount files for bluray and to write media on \texttt{/dev/hardware}. See section \hyperref[sec:bluray_workaround_mount_umount]{13.7} for a workaround for normal user mode. - \item Did you startup Cinelerra from a terminal window so you can see informative messages? + \item Did you startup \CGG{} 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,numbers=none] @@ -501,14 +501,14 @@ When you are finished, before clicking \textit{Save}, you must supply a legitima \section{Dvd Interlaced Chroma}% \label{sec:dvd_interlaced_chroma} -Cinelerra uses 4:4:4 colorspace to edit, so it is necessary to convert interlaced 4:2:0 video to 4:4:4. +\CGG{} uses 4:4:4 colorspace to edit, so it is necessary to convert interlaced 4:2:0 video to 4:4:4. But you can run into problems, referred to as the \textit{chroma bug}, which you see in DVD media displayed on higher resolution monitors -- streaks or spiky horizontal lines are visible in the chroma channel, especially on diagonal edges. The Chroma Bug is specific to MPEG and 4:2:0 encoding. Now you can use the \textit{YUV420P DVD Interlace Mode} when rendering DV directly to mpeg2 through a yuv4mpeg stream and when using video effects on HDV video. With this option enabled, improved chroma results will be obtained from your DV or HDV source. Editing DV or HDV and rendering it back to the same format does not require any special handling. -In order to perform colorspace conversions correctly in Cinelerra and avoid Chroma errors for interlaced 4:2:0 video, check the box as follows: +In order to perform colorspace conversions correctly in \CGG{} and avoid Chroma errors for interlaced 4:2:0 video, check the box as follows: \texttt{Settings $\rightarrow$ Performance $\rightarrow$ YUV420P DVD Interlace Mode} @@ -568,14 +568,14 @@ For some time, DVD manufacturers have been employing a variety of measures to m An MTS file is a video file saved in the high-definition (HD) MPEG Transport Stream video format, commonly called \textit{AVCHD}. It contains HD video compatible with Blu-ray disc format and is based on the MPEG-2 transport stream. MTS files are often used by Sony, Panasonic, Canon and other HD camcorders. Legal input for Video -- MPEG1VIDEO, MPEG2VIDEO, H264; Audio -- MP1, MP2, AC3, AC3PLUS, DTS, TRUHD. -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. +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 \CGG{}. It has been tested on 10 different MTS files. \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. mount -o loop /tmp/newfilename.udfs /mntX # Use a mount point like mntX that is not in use. -//bin/bdwrite /mntX /tmp/yourHDVfile.MTS # Substitute Cinelerra path. +//bin/bdwrite /mntX /tmp/yourHDVfile.MTS # Substitute \CGG{} path. umount /mntX # You must unmount the udfs filesystem growisofs -Z /dev/bd=/tmp/newfilename.udfs # Replace /dev/bd with your bluray hardware device. OR dd if=/tmp/newfilename.udfs of=/dev/bd bs=2048000 # if using rewritable blu-ray; replace bd. @@ -584,7 +584,7 @@ OR dd if=/tmp/newfilename.udfs of=/dev/bd bs=2048000 # if using rewritable bl \section{Blu-ray Workaround for Mount/Umount}% \label{sec:bluray_workaround_mount_umount} -Creating BD images to be written to media requires usage of \textit{mount} and \textit{umount} which typically can only be done by the root user due to security. If you want to avoid running Cinelerra as root, you can implement a workaround by adding a line in \texttt{/etc/fstab} (must be root to edit the file initially) and by creating a directory in your home area, called \textit{bluray}. You only have to do this once unless you upgrade the Operating System and it wipes out the line in \texttt{/etc/fsta}b. Now the Cinelerra program will automatically do the mount and umount for you each time you execute BD Render and you can run as an ordinary user. +Creating BD images to be written to media requires usage of \textit{mount} and \textit{umount} which typically can only be done by the root user due to security. If you want to avoid running \CGG{} as root, you can implement a workaround by adding a line in \texttt{/etc/fstab} (must be root to edit the file initially) and by creating a directory in your home area, called \textit{bluray}. You only have to do this once unless you upgrade the Operating System and it wipes out the line in \texttt{/etc/fsta}b. Now the \CGG{} program will automatically do the mount and umount for you each time you execute BD Render and you can run as an ordinary user. 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. @@ -592,12 +592,12 @@ The line to add to \texttt{/etc/fstab} will look something like the following, a /home/name/image /home/name/bluray udf noauto,loop,rw,user,uid=name,gid=groupid 0 0 \end{lstlisting} -Also, be sure to do a \texttt{mkdir bluray} in your \texttt{/home/name} directory as this is a requirement (owned by you; uid=gid=name). When the actual image to be written to disc media is created, it will first d any current \texttt{/home/name/image} file. Warning – make sure you do not already have a file called \textit{image} that you want to save as it will be automatically deleted every time you initiate a BD Render. So you will want to burn a bluray disc after Cinelerra creates the \textit{image} since it will written over on the next rendition. The actual writing to your bluray burner (something like \texttt{/dev/sr0}) is done outside of Cinelerra at a terminal prompt and requires root privilege usually. You can either use \textit{sudo} for 1 line or create user wheel group to get around this. +Also, be sure to do a \texttt{mkdir bluray} in your \texttt{/home/name} directory as this is a requirement (owned by you; uid=gid=name). When the actual image to be written to disc media is created, it will first d any current \texttt{/home/name/image} file. Warning – make sure you do not already have a file called \textit{image} that you want to save as it will be automatically deleted every time you initiate a BD Render. So you will want to burn a bluray disc after \CGG{} creates the \textit{image} since it will written over on the next rendition. The actual writing to your bluray burner (something like \texttt{/dev/sr0}) is done outside of \CGG{} at a terminal prompt and requires root privilege usually. You can either use \textit{sudo} for 1 line or create user wheel group to get around this. -\section{Blu-ray from Multiple Cinelerra Output}% +\section{Blu-ray from Multiple \CGG{} Output}% \label{sec:bluray_multiple_cinelerra_output} -Writing prepared multiple Cinelerra output files, \texttt{bd.m2ts}, to a single bluray disc is relatively easy to do but is not done automatically. You can render all of the desired files via the Create BD menu, save each individual \texttt{bd.m2ts} file with a unique name, construct a Menu Title that reflects the contents of each of these files, then manually use a few commands to create a udfs file to be written to BD. +Writing prepared multiple \CGG{} output files, \texttt{bd.m2ts}, to a single bluray disc is relatively easy to do but is not done automatically. You can render all of the desired files via the Create BD menu, save each individual \texttt{bd.m2ts} file with a unique name, construct a Menu Title that reflects the contents of each of these files, then manually use a few commands to create a udfs file to be written to BD. Usage of the final preparation taken from the bdwrite program comments: @@ -622,7 +622,7 @@ The basic idea is to use playlist-0 as a menu or directions to use the bluray pl \begin{enumerate} \item Create all of the \texttt{bd.m2ts} files that you want to put on the Bluray. - \item Using Cinelerra, design your Title page using a few seconds of video and the \textit{Title} plugin. + \item Using \CGG{}, 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 \texttt{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,numbers=none] @@ -630,7 +630,7 @@ The basic idea is to use playlist-0 as a menu or directions to use the bluray pl \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. + \item Then actually write your multiple bd.m2ts type files onto the \textit{image} where \texttt{} is the location of the \CGG{} 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,numbers=none] /bin/bdwrite image /menu_titles.m2ts --- //bd1.m2ts -- //bd2.m2ts -- //bd3.m2ts -- /bd4.m2ts \end{lstlisting} @@ -655,7 +655,7 @@ Example of Video Source with 4:3 Aspect Ratio, Being Transcribed to 16:9 and Cre \begin{enumerate} \item In order to write to a DVD writer hardware device, you must be \textit{root}!! - \item Start Cinelerra-GG to bring up the 4 usual screens with main track canvas in the lower left corner. + \item Start \CGG{} to bring up the 4 usual screens with main track canvas in the lower left corner. \item Load media via the pulldown \texttt{File $\rightarrow$ Load files}\dots by choosing the directory path with the desired file. \item Bring up the \textit{Create DVD} window using \texttt{File $\rightarrow$ DVD Render}. \item Choose Format: PAL or NTSC with 16x9 aspect ratio for today's digital TV as in below screenshot. figure~\ref{fig:dvd-000}. @@ -727,7 +727,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 \textit{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: + \item \CGG{} 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,numbers=none] To burn dvd, load blank media and run: growisofs -dvd-compat -Z /dev/dvd -dvd-video /mnt0/dvd_20161027-131723/iso diff --git a/parts/Developer.tex b/parts/Developer.tex index 8f1a581..1744319 100644 --- a/parts/Developer.tex +++ b/parts/Developer.tex @@ -29,9 +29,9 @@ So, an example of what happens in 4 steps for a single-user build would be as fo \texttt{make install} \end{enumerate} -A lot of things can be tweaked to change the results. Mostly these changes are parameters to the configure step, which can change important build related items, like the application name, or where and what the target system directories should be. This makes it possible to have several versions at the same time on the same computer if needed. To see what it is that the makefiles use to build Cinelerra, look at the resulting top-level global\_config file which is created by the ./configure step. +A lot of things can be tweaked to change the results. Mostly these changes are parameters to the configure step, which can change important build related items, like the application name, or where and what the target system directories should be. This makes it possible to have several versions at the same time on the same computer if needed. To see what it is that the makefiles use to build \CGG{}, look at the resulting top-level global\_config file which is created by the ./configure step. -Building Cinelerra requires many thirdparty libraries, and it is recommended that you use the static build version included in the git repo. Some of them are patched, and fix significant bugs. It is important to note that because system installation historically has been with as many shared objects as possible, the defaults are that any system library detected during configuration setup will be used, when the package is built \textit{-{}-without-single-user}, which is the default build. To build with static thirdparty libraries for system install to the system /usr area, use: +Building \CGG{} requires many thirdparty libraries, and it is recommended that you use the static build version included in the git repo. Some of them are patched, and fix significant bugs. It is important to note that because system installation historically has been with as many shared objects as possible, the defaults are that any system library detected during configuration setup will be used, when the package is built \textit{-{}-without-single-user}, which is the default build. To build with static thirdparty libraries for system install to the system /usr area, use: \hspace{2em}\texttt{.configure -{}-enable-static-build --prefix=/usr} @@ -88,7 +88,7 @@ There are a lot of different options. Thirdparty library build control is avail -{}-enable-libname=no & this forces no thirdparty build\\ \end{tabular} -FFmpeg is a \textit{strongly connected} component in the build linkage and widely influences the Cinelerra library demands. It is possible to make small additions to the ffmpeg configuration step using the environment variable \texttt{FFMPEG\_EXTRA\_CFG}. For example, to eliminate the use of libvdpau (an nvidia support library) in the ffmpeg configuration step after you have determined that it is causing an error, use: +FFmpeg is a \textit{strongly connected} component in the build linkage and widely influences the \CGG{} library demands. It is possible to make small additions to the ffmpeg configuration step using the environment variable \texttt{FFMPEG\_EXTRA\_CFG}. For example, to eliminate the use of libvdpau (an nvidia support library) in the ffmpeg configuration step after you have determined that it is causing an error, use: \begin{itemize}[label={},nosep] \item \texttt{make clean} @@ -108,7 +108,7 @@ mv Makefile Makefile.cfg cp Makefile.devel Makefile \end{lstlisting} -Since the procedure for obtaining the latest ffmpeg version is not always kept up-to-date and the line numbers will always change, you may have to create that patch first. Generally those line numbers are only updated by a developer when a new stable version with worthwhile features is actually included in the Cinelerra build. FFmpeg is constantly changing and many times the git version is not as stable as desired. +Since the procedure for obtaining the latest ffmpeg version is not always kept up-to-date and the line numbers will always change, you may have to create that patch first. Generally those line numbers are only updated by a developer when a new stable version with worthwhile features is actually included in the \CGG{} build. FFmpeg is constantly changing and many times the git version is not as stable as desired. \section{Configuration Features} \label{sec:configuration_features} @@ -119,7 +119,7 @@ A listing of the current configuration features as of January 11, 2020: \fontsize{10pt}{12pt}\selectfont \begin{verbatim} -`configure' configures Cinelerra to adapt to many kinds of systems. +`configure' configures \CGG{} to adapt to many kinds of systems. Usage: ./configure [OPTION]... [VAR=VALUE]... @@ -312,7 +312,7 @@ Individual package libraries can be rebuilt, via: \hspace{2em}\texttt{make -C thirdparty -clean; make -C thirdparty } -The rule targets create the set of thirdparty packages which are built from local source archive copies of thirdparty source code and patches, if needed. The build rule set of dependencies allows for compiling multiple thirdparty programs simultaneously using maximum computer resources. This parallel build speeds up the process considerably. For example, these are full static build timings on the production build machine (full build includes building all thirdparty programs as well as all of Cinelerra): +The rule targets create the set of thirdparty packages which are built from local source archive copies of thirdparty source code and patches, if needed. The build rule set of dependencies allows for compiling multiple thirdparty programs simultaneously using maximum computer resources. This parallel build speeds up the process considerably. For example, these are full static build timings on the production build machine (full build includes building all thirdparty programs as well as all of \CGG{}): \hspace{2em} \begin{tabular}{@{}rcr} @@ -369,7 +369,7 @@ It comes back with the routine as: \section{Valgrind Support Level} \label{sec:valgrind_support_level} -Valgrind is a memory mis-management detector. It shows you memory leaks, deallocation errors, mismanaged threads, rogue reads/writes, etc. Cinelerra-GG memory management is designed to work with Valgrind detection methods. This assists in developing reliable code. Use of Valgrind points out problems so that they can be fixed. For example, when this version of Cinelerra shuts down, it deallocates memory instead of just stopping, thus making memory leak detection possible. +Valgrind is a memory mis-management detector. It shows you memory leaks, deallocation errors, mismanaged threads, rogue reads/writes, etc. \CGG{} memory management is designed to work with Valgrind detection methods. This assists in developing reliable code. Use of Valgrind points out problems so that they can be fixed. For example, when this version of \CGG{} shuts down, it deallocates memory instead of just stopping, thus making memory leak detection possible. The best way to compile and run valgrind is to run the developer static build. This takes 2 steps and you must already have gdb and valgrind installed: @@ -382,20 +382,20 @@ The best way to compile and run valgrind is to run the developer static build. T \texttt{CFLAGS=-ggdb make -j8 rebuild\_all} \end{enumerate} -Now your Cinelerra obj has all of the debug stuff. Next run valgrind as root for the most useful results: +Now your \CGG{} obj has all of the debug stuff. Next run valgrind as root for the most useful results: \hspace{2em}\texttt{cd /path/cinelerra-5.1/cinelerra} \hspace{2em}\texttt{valgrind -{}-log-file=/tmp/log -{}-leak-check=full\\ -{}-num-callers=32 ./ci} -This runs Cinelerra under the control of valgrind, and produces a log file in /tmp which will list information about any leaks, usually clearly identifiable. Be sure to Quit out of Cinelerra normally instead of Ctrl-C or a SEGV otherwise the program does not have a chance to cleanup and there will be some false alarms. But it runs very slowly, and is basically single threaded, which means that race conditions may be impossible to catch$\dots$ like one thread deletes memory that another thread is currently using. But overall it is a big help and if you test any new features, please email the log output. A lot of effort when writing the code was put into trying to be sure that all of the object constructors have matching destructors so that the leaks can be identified. There are already several libraries that create predictable memory leaks and valgrind does a good job for most of these. +This runs \CGG{} under the control of valgrind, and produces a log file in /tmp which will list information about any leaks, usually clearly identifiable. Be sure to Quit out of \CGG{} normally instead of Ctrl-C or a SEGV otherwise the program does not have a chance to cleanup and there will be some false alarms. But it runs very slowly, and is basically single threaded, which means that race conditions may be impossible to catch$\dots$ like one thread deletes memory that another thread is currently using. But overall it is a big help and if you test any new features, please email the log output. A lot of effort when writing the code was put into trying to be sure that all of the object constructors have matching destructors so that the leaks can be identified. There are already several libraries that create predictable memory leaks and valgrind does a good job for most of these. -It is impossible to test everything with valgrind because some things are just too big and slow for a practical test. Occasionally you can find a leak or an illegal memory access. There are several false alarms that are difficult to avoid \textit{Conditional jump} messages, and \textit{unhandled DW\_OP\_}, but anything with the word \textit{illegal} in the message is important. Memory leaks that originate in Cinelerra are good to find and fix, but are usually not deadly. +It is impossible to test everything with valgrind because some things are just too big and slow for a practical test. Occasionally you can find a leak or an illegal memory access. There are several false alarms that are difficult to avoid \textit{Conditional jump} messages, and \textit{unhandled DW\_OP\_}, but anything with the word \textit{illegal} in the message is important. Memory leaks that originate in \CGG{} are good to find and fix, but are usually not deadly. \section{CFLAGS has -Wall} \label{sec:cflags_has_-wall} -When compiling Cinelerra-GG Infinity a CFLAGS option used is \textit{Wall} where the "W" represents warnings and "all" means all. This causes the compile to check for simple mistakes that can be detected automatically and issue warnings when the code is questionable. It can also detect situations where the compiler will generate incorrect code, like type-punned pointer. By turning on this flag, when new code is vetted for predictable mistakes, the code can be corrected before becoming manifested in the application. +When compiling \CGG{} Infinity a CFLAGS option used is \textit{Wall} where the "W" represents warnings and "all" means all. This causes the compile to check for simple mistakes that can be detected automatically and issue warnings when the code is questionable. It can also detect situations where the compiler will generate incorrect code, like type-punned pointer. By turning on this flag, when new code is vetted for predictable mistakes, the code can be corrected before becoming manifested in the application. \section{Prof2 -- A Profiler} \label{sec:prof2_profiler} @@ -417,7 +417,7 @@ There are many different profilers available -- this particular one does not do This profiler works on x86\_64 systems and you must be root to compile and run it. Also, you must install your operating system's \textit{iberty} -- for example, which would be binutils-devel for Fedora or libiberty-dev for Ubuntu 18. -Go to the top level Cinelerra directory. +Go to the top level \CGG{} directory. Key in: \qquad \texttt{prof2} @@ -452,7 +452,7 @@ To execute the profiler, key in: \hspace{2em}\texttt{prof -o /tmp/prof\_list.txt ./cin} -where \texttt{/tmp/prof\_list.txt} is the output file and in this case \texttt{cin} is the Cinelerra binary file. The pid of this command will be displayed on the startup window. This comes in handy in the use case where there is a lot of initial load and possible configuration setup inside of Cinelerra and you want to profile plugins and not necessarily all of the setup steps. Then you can use the following command in another window to continue running Cinelerra and obtain the more useful information: +where \texttt{/tmp/prof\_list.txt} is the output file and in this case \texttt{cin} is the \CGG{} binary file. The pid of this command will be displayed on the startup window. This comes in handy in the use case where there is a lot of initial load and possible configuration setup inside of \CGG{} and you want to profile plugins and not necessarily all of the setup steps. Then you can use the following command in another window to continue running \CGG{} and obtain the more useful information: \hspace{2em}\texttt{kill -USR1 pid} diff --git a/parts/Editing.tex b/parts/Editing.tex index f4aff31..701100e 100644 --- a/parts/Editing.tex +++ b/parts/Editing.tex @@ -96,7 +96,7 @@ Several convenience functions are provided for automatically setting the panning \item[Audio$\rightarrow$Map 5.1:2] This maps 6 tracks to 2 channels. The project should have 2 channels when using this function. Go to \texttt{Settings $\rightarrow$ Format} to set the output channels to 2. This is most useful for down-mixing 5.1 audio to to stereo (for more information refer to Configuration, Settings and Preferences section \ref{sub:audio_out_section}). \end{description} -\paragraph{Standard audio mappings} Although Cinelerra lets you map any audio track to any speaker, there are standard mappings you should use to ensure the media can be played back elsewhere. Also, most audio encoders require the audio tracks to be mapped to standard speaker numbers or they will not work. +\paragraph{Standard audio mappings} Although \CGG{} lets you map any audio track to any speaker, there are standard mappings you should use to ensure the media can be played back elsewhere. Also, most audio encoders require the audio tracks to be mapped to standard speaker numbers or they will not work. In the channel position widget, the channels are numbered to correspond to the output tracks they are rendered to. For stereo, the source of channel 1 needs to be the left track and the source of channel 2 needs to be the right track. For 5.1 surround sound, the sources of the 6 channels need to be in the order of center, front left, front right, back left, back right, low frequency effects. If the right tracks are not mapped to the right speakers, most audio encoders will not encode the right information if they encode anything at all. The low frequency effects track specifically can not store high frequencies in most cases. @@ -104,7 +104,7 @@ most cases. \section{Manipulating Tracks}% \label{sec:manipulating_tracks} -Tracks in Cinelerra either contain audio or video. There is no special designation for tracks other than the type of media they contain. When you create a new project, it contains three default tracks: one video track and two audio tracks. You can still add and delete tracks from the menus. The Tracks menu contains a number of options for dealing with multiple tracks simultaneously. Each track itself has a popup menu which affects one track. +Tracks in \CGG{} either contain audio or video. There is no special designation for tracks other than the type of media they contain. When you create a new project, it contains three default tracks: one video track and two audio tracks. You can still add and delete tracks from the menus. The Tracks menu contains a number of options for dealing with multiple tracks simultaneously. Each track itself has a popup menu which affects one track. Operations in the \textbf{Tracks pulldown} affect only tracks which are armed. @@ -186,7 +186,7 @@ NOTE: for correct operation of this use case, you should have the same (or more) \section{Cut and Paste Editing}% \label{sec:cut_paste_editing} -This is the more traditional method of editing in Cinelerra and therefore is the default. To enable the cut and paste editing mode on the timeline, select the I-beam toggle on the control bar at the top of the main program window. You can copy edits in the same track, copy from different tracks in the same instance, start a second instance of Cinelerra and copy from one instance to the other or load a media file into the Viewer and copy from there. +This is the more traditional method of editing in \CGG{} and therefore is the default. To enable the cut and paste editing mode on the timeline, select the I-beam toggle on the control bar at the top of the main program window. You can copy edits in the same track, copy from different tracks in the same instance, start a second instance of \CGG{} and copy from one instance to the other or load a media file into the Viewer and copy from there. To start editing, load some files onto the timeline. Select a region of the timeline by click dragging on it and select the cut button to cut it. Move the insertion point to another point in the timeline and select the paste button. Assuming no In/Out points are defined on the timeline this performs a cut and paste operation. @@ -239,13 +239,13 @@ pasted one after the other, keeping the same order they have on the stack. \end{wrapfigure} A \textit{cut} uses a non-empty selection region, where the \textit{blade cut} or \textit{split} has no duration in the selection, just a hairline. As usual the use of cut when a selection is set, deletes/cuts the highlighted area. In the case where an In point or an Out point exists on the timeline, the clip is split at the location of the In/Out point since it has priority over the cursor location. A blade cut simply splits the edit into two edits. In order to have the video and audio aligned, it works best to have \texttt{Settings $\rightarrow$ Align cursor on frames}. When a blade cut occurs, the edges are created as \textit{hard edges}. These are edges that cannot be deleted by track optimizations. -Cinelerra has built-in optimization on the timeline. So that whenever two parts on the timeline are sequential frames, it automatically optimizes by making them into 1 item. So if you are cutting, dragging, editing, or whatever and somehow frame \# 40 ends up right next to frame \# 41, it optimizes them together. This optimization affects many areas throughout the program code. +\CGG{} has built-in optimization on the timeline. So that whenever two parts on the timeline are sequential frames, it automatically optimizes by making them into 1 item. So if you are cutting, dragging, editing, or whatever and somehow frame \# 40 ends up right next to frame \# 41, it optimizes them together. This optimization affects many areas throughout the program code. When you do a blade cut/split, all armed tracks will be included in the cut and green-colored triangles will show on the bottom of the track on both the left and the right side of the cut. This is a \textit{hard edge} marker toggle, as opposed to the soft edge designation for an ordinary edit. The \textit{hard edge} marker can be toggled off/on if so desired. In order to not interfere with the usual drag handles, only a few pixels are used for the toggle so you have to be sure you have the cursor right over the hard edge triangle -- when in position, it will be obvious because you can see an arrow pointing to the corner. Use Shift-left mouse button 1 to toggle off/on the hard edge marker on all tracks simultaneously. \section{Drag and Drop Editing}% \label{sec:drag_drop_editing} -To enable the drag and drop editing mode on the timeline, select the arrow toggle on the control bar at the top of the main program window. Drag and drop editing is a quick and simple way of working in Cinelerra, using mostly only the mouse. The basic idea is to create a bunch of clips, then drag them in order into the timeline, thus building prototype media that you can watch in the compositor. If after watching it, you wish to re-arrange your clips, set effects, add transitions or insert/delete material, just drag and drop them on the timeline. +To enable the drag and drop editing mode on the timeline, select the arrow toggle on the control bar at the top of the main program window. Drag and drop editing is a quick and simple way of working in \CGG{}, using mostly only the mouse. The basic idea is to create a bunch of clips, then drag them in order into the timeline, thus building prototype media that you can watch in the compositor. If after watching it, you wish to re-arrange your clips, set effects, add transitions or insert/delete material, just drag and drop them on the timeline. To simply get started, perform the following operations which are useful for working in a drag and drop editing session. First load your media by using the main menu File pulldown and choose \textit{Load files}; make sure the insertion mode is set to \textit{Create new resources only}. This loads the files into the Resources window. @@ -259,7 +259,7 @@ To simply get started, perform the following operations which are useful for wor \noindent You can also drag multiple files from the Resources window. When dropped in the timeline they are concatenated. If you have \textit{Display Icons} selected in the Resources window, drawing a box around the files selects contiguous files. If you have \textit{Display Text} selected, Ctrl-clicking on media files selects additional files one at a time; Shift-clicking on media files extends the number of highlighted selections. In addition to dragging media files, if you create clips and open the clip folder you can drag clips onto the timeline. -Cinelerra fills out the audio and video tracks below the dragging cursor with data from the file. This affects what tracks you should create initially and which track to drag the media onto. To drag and drop a file on the Program window, you need to create on the timeline the same set of tracks as your media file. +\CGG{} fills out the audio and video tracks below the dragging cursor with data from the file. This affects what tracks you should create initially and which track to drag the media onto. To drag and drop a file on the Program window, you need to create on the timeline the same set of tracks as your media file. When you drag your chosen media from the media folder to the timeline, your mouse pointer will drag a thumbnail and, once over the timeline, the outline of a white rectangle, as big as the edit you are going to have appears. Drag the media to the desired position of an empty track of the timeline and drop it. If there are other edits on that track, when you move the white outline over an edit, you will see a bow tie symbol $\bowtie$ appearing at edit boundaries. If you drop the media there, the new edit will start from the edit boundary indicated by the center of the bow tie $\bowtie$. @@ -331,7 +331,7 @@ Attaching transitions to multiple selected edits via the Video or Audio pulldown \subsection{Grouping edits}% \label{sub:grouping_edits} -Cinelerra recognizes as a group, the edits of different armed tracks that have aligned beginnings, regardless of whether they have the same source or aligned ends. You can drag these edits around on the timeline to construct your movie by rearranging scenes. If more than one track is armed, Cinelerra will drag any edits which start on the same positions the edit the mouse pointer is currently over. \\ +\CGG{} recognizes as a group, the edits of different armed tracks that have aligned beginnings, regardless of whether they have the same source or aligned ends. You can drag these edits around on the timeline to construct your movie by rearranging scenes. If more than one track is armed, \CGG{} will drag any edits which start on the same positions the edit the mouse pointer is currently over. \\ Another method of Grouping of edits is performed as follows: \begin{enumerate} \item Select each of the clips you would like to be part of a group. @@ -533,7 +533,7 @@ In addition to the \textit{Open EDL} option in the Resources menu, this option i 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 Cinelerra 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 Cinelerra 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}. +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{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. @@ -552,7 +552,7 @@ The purpose of this feature is to be able to rework a smaller section of a globa 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 +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, @@ -579,15 +579,15 @@ cavalier about the warning. Instead just use the X to dismiss the warning. 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 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 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 + \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} @@ -864,14 +864,14 @@ 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 \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. \noindent 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 Cinelerra + \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 Cinelerra and set an insertion point in its timeline + \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} @@ -880,7 +880,7 @@ It is easy to copy/paste clips/media within a single instance of Cinelerra or ac The ShuttlePROv2 and ShuttleXpress are affordable jog wheels which can be useful for working with Cin, especially if you do a lot of playing forward/backward, fast/slow/normal, and single frames (figure~\ref{fig:shuttle}). -Directions for using the ShuttlePROv2 and the ShuttleXpress with Cinelerra are described next. These devices work by sending keystrokes used in Cin, corresponding to the shuttle action, to the keyboard buffer. The shuttle has been fully integrated into the Cinelerra code so that after the one initial setup, no further intervention is required. The multi-speed outer wheel works the same and has the same number of S positions on both shuttles but the shuttle Xpress has only 5 keys. Since the majority of user operations will most likely be with the use of the 2 wheels, the slightly smaller Xpress could be a better choice with its 5 easy to reach keys. The Pro is approximately $4\times7$\,inches whereas the Xpress is about $4\times4$\,inches. +Directions for using the ShuttlePROv2 and the ShuttleXpress with \CGG{} are described next. These devices work by sending keystrokes used in Cin, corresponding to the shuttle action, to the keyboard buffer. The shuttle has been fully integrated into the \CGG{} code so that after the one initial setup, no further intervention is required. The multi-speed outer wheel works the same and has the same number of S positions on both shuttles but the shuttle Xpress has only 5 keys. Since the majority of user operations will most likely be with the use of the 2 wheels, the slightly smaller Xpress could be a better choice with its 5 easy to reach keys. The Pro is approximately $4\times7$\,inches whereas the Xpress is about $4\times4$\,inches. \begin{figure}[htpb] \centering @@ -903,7 +903,7 @@ Directions for using the ShuttlePROv2 and the ShuttleXpress with Cinelerra are d \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,numbers=none] -$sudo cp {cindat_path}/doc/99-ShuttlePRO.rules /etc/udev/rules.d/ +\$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. @@ -917,18 +917,18 @@ 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 \CGG{} program and the shuttle does not function as before, stop \CGG{} and then simply unplug it and plug it in again. There are a couple of reasons why it may stop functioning. One is because \CGG{} 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. +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 \CGG{} 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. \subsection{How to Modify the Default Key Settings}% \label{sub:modify_default_key_settings} Detailed information on how to modify your local .shuttlerc file is described next, but if you need help you can request more information in the forum at {\small \url{https://cinelerra-gg.org}}. In the \texttt{shuttlerc} file, a \# always represents a comment and blank lines are ignored. The first thing you must do is copy the system supplied \texttt{shuttlerc} file to your \texttt{\$HOME} directory and rename it as \texttt{.shuttlerc} (with a period). -The \texttt{shuttlerc} file has sections that in the case of Cinelerra, represent different windows allowing you to set the keys, K1-K15 for the Pro and K5-K9 for the Xpress, the shuttle wheel positions of S0/S1/S-1 for stop, S2 through S7 for wheeling to the right, and S-7 through S-2 for wheeling to the left for reverse. Then there is JR to jog right (clockwise) and JL to jog left (counter-clockwise) for the inner smaller wheel for single frame movement. See the key arrangement on a later page for location of the keys for each of the two different shuttles. +The \texttt{shuttlerc} file has sections that in the case of \CGG{}, represent different windows allowing you to set the keys, K1-K15 for the Pro and K5-K9 for the Xpress, the shuttle wheel positions of S0/S1/S-1 for stop, S2 through S7 for wheeling to the right, and S-7 through S-2 for wheeling to the left for reverse. Then there is JR to jog right (clockwise) and JL to jog left (counter-clockwise) for the inner smaller wheel for single frame movement. See the key arrangement on a later page for location of the keys for each of the two different shuttles. -The sections are surrounded by brackets for windows such as Cinelerra (the main window), Viewer, Composer, Resources, Load, and Default. If you want the keys to be defined the same in every window, you can bracket each window on lines one right after the other and then just define one set of keys. The other lines will have the key name/shuttle position followed by its assigned value. The values you use for the keys are usually shortcuts and have to be operationally defined within Cinelerra. For example, the shortcut “f” to go fullscreen is defined so can be used; however the shortcut “h” is not defined so will not do anything. You can check the file, shortcuts.html, for some options to use. +The sections are surrounded by brackets for windows such as \CGG{} (the main window), Viewer, Composer, Resources, Load, and Default. If you want the keys to be defined the same in every window, you can bracket each window on lines one right after the other and then just define one set of keys. The other lines will have the key name/shuttle position followed by its assigned value. The values you use for the keys are usually shortcuts and have to be operationally defined within \CGG{}. For example, the shortcut “f” to go fullscreen is defined so can be used; however the shortcut “h” is not defined so will not do anything. You can check the file, shortcuts.html, for some options to use. Next are a few actual examples from the default \texttt{{cindat\_path}/shuttlerc} file. @@ -948,7 +948,7 @@ JL XK_Scroll_Up JR XK_Scroll_Down \end{lstlisting} -\noindent Cinlerra with brackets around it next, is the section with some key definitions for the main window. +\noindent Cinelerra with brackets around it next, is the section with some key definitions for the main window. \begin{lstlisting}[language=Bash,numbers=none] [Cinelerra] @@ -985,7 +985,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 \CGG{} 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] @@ -995,7 +995,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 \CGG{}, 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 \CGG{} 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 \CGG{} 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 @@ -1037,7 +1037,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,numbers=none] -$ export SHUTTLE_CONFIG_FILE=/tmp/shuttlerc_test +\$ export SHUTTLE_CONFIG_FILE=/tmp/shuttlerc_test \end{lstlisting} \noindent The shuttle wheel occasionally will not \textit{stop} after you have wheeled it to play forward. This is a documented known problem from the original code so you just have to joggle it a little in the other direction and then it will stop. S0 does not always generate a signal to do a stop and that is why S1 and S-1 have to be used to relay the stop instead. Also, if you have a fullscreen Composer or Viewer up and the regular one also, the fullscreen takes precedence. @@ -1048,8 +1048,8 @@ $ 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,numbers=none] -$ lsusb -v -d 0b33:0030 # for the Shuttle Pro or PROv2 \\ -$ lsusb -v -d 0b33:0020 # for the Shuttle Xpress +\$ lsusb -v -d 0b33:0030 # for the Shuttle Pro or PROv2 \\ +\$ lsusb -v -d 0b33:0020 # for the Shuttle Xpress \end{lstlisting} @@ -1067,11 +1067,11 @@ 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,numbers=none] -$ sudo modprobe usbmon +\$ sudo modprobe usbmon \end{lstlisting} \item Next key in the following: \begin{lstlisting}[language=Bash,numbers=none] -$ sudo od -tx1 /dev/usbmon3 +\$ 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. \item Now with focus in that same terminal window, press any shuttle key just to see what happens and @@ -1100,15 +1100,15 @@ $ sudo od -tx1 /dev/usbmon3 \item Use Ctrl-C on the terminal window when done to get back to the prompt. \end{enumerate} \paragraph{Note 3} -Another method for testing to make sure your model of the Shuttle does not have different key definitions than the one that Cinelerra was coded for is to do the following. +Another method for testing to make sure your model of the Shuttle does not have different key definitions than the one that \CGG{} was coded for is to do the following. \begin{enumerate} - \item Locate the shudmp.C program in your Cinelerra directory. + \item Locate the shudmp.C program in your \CGG{} directory. \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,numbers=none] -$ sudo ./shdmp /dev/input/by-id/usb-Contour\_Design\_ShuttlePro-event-if00 # substitute your shuttle +\$ sudo ./shdmp /dev/input/by-id/usb-Contour\_Design\_ShuttlePro-event-if00 # substitute your shuttle \end{lstlisting} \end{enumerate} @@ -1148,13 +1148,13 @@ cat "/sys/kernel/debug/hid/0003:0B33.0030.0006/events" # press keys to see the %\item \texttt{cat “/sys/kernel/debug/hid/0003:0B33.0030.0006/events” \# press keys to see the results} %\end{enumerate} -\subsection{Shuttle key default arrangement for Cinelerra / Composer / Viewer:}% +\subsection{Shuttle key default arrangement for \CGG{} / Composer / Viewer:}% \label{sub:shuttle_key_default_cinelerra} The following is the default setting for the ShuttlePROv2 and ShuttleXpress (table~\ref{tab:shuttleprov2} and table~\ref{tab:xpress}): \begin{table}[ht] - \caption{ShuttlePROv2 key default arrangement for Cinelerra / Composer / Viewer} + \caption{ShuttlePROv2 key default arrangement for \CGG{} / Composer / Viewer} \label{tab:shuttleprov2} % Tell table to adjust font to fix on the page using \resize \resizebox{\textwidth}{!}{% @@ -1192,7 +1192,7 @@ The following is the default setting for the ShuttlePROv2 and ShuttleXpress (tab \end{table} \begin{table}[ht] - \caption{ShuttleXpress key default arrangement for Cinelerra / Composer / Viewer} + \caption{ShuttleXpress key default arrangement for \CGG{} / Composer / Viewer} \label{tab:xpress} % Tell table to adjust font to fix on the page using \resize \resizebox{\textwidth}{!}{% diff --git a/parts/FFmpeg.tex b/parts/FFmpeg.tex index abf35b2..2a2673d 100644 --- a/parts/FFmpeg.tex +++ b/parts/FFmpeg.tex @@ -1,12 +1,12 @@ \chapter{FFmpeg Interactions}% \label{cha:ffmpeg_interactions} -Cinelerra-GG uses ffmpeg for decoding and encoding media, thus there are many opportunities available to manipulate options. +\CGG{} uses ffmpeg for decoding and encoding media, thus there are many opportunities available to manipulate options. \section{FFmpeg Early Probe Explanation}% \label{sec:ffmpeg_early_probe_explanation} -When you open media, a series of libraries and codec functions are used to \textit{probe} the data, to see if it can determine the type of file format and codec parameters needed to correctly decode the file. If ffmpeg probes early -- \textit{Try FFMpeg first} is in effect for the FF button -- it will usually find some way to try to decode just about any contemporary media file. But there are some times that the built in codecs are actually a better choice. A lot of this may fall into the category of personal preference. For example, some may prefer the mpeg library in the Cinelerra code over the ffmpeg code because it has more decoding capability and seems to be more robust when the media is damaged. In that case you will want the FF button to read \textit{Try FFMpeg last}. +When you open media, a series of libraries and codec functions are used to \textit{probe} the data, to see if it can determine the type of file format and codec parameters needed to correctly decode the file. If ffmpeg probes early -- \textit{Try FFMpeg first} is in effect for the FF button -- it will usually find some way to try to decode just about any contemporary media file. But there are some times that the built in codecs are actually a better choice. A lot of this may fall into the category of personal preference. For example, some may prefer the mpeg library in the \CGG{} code over the ffmpeg code because it has more decoding capability and seems to be more robust when the media is damaged. In that case you will want the FF button to read \textit{Try FFMpeg last}. To summarize, if ffmpeg probes early, you will never get to use the built in libraries, and if you want to skip over buggy old libraries, use ffmpeg early probe enabled so that the newest code will be tried first. The FF button is located in the upper right hand corner of the main window. @@ -21,7 +21,7 @@ toggle button, the text displays ffmpeg's \textit{Currently} set position. Just 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. Figure~\ref{fig:ff} shows (1) reddish colored FF 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 color is different because you highlighted the icon); and (3) black colored FF indicates ffmpeg will be used last and you are changing the behavior so that Cinelerra warns you accordingly. +that ffmpeg early probes is enabled; (2) \textit{Try FFMpeg last} indicator message for ffmpeg early probes enabled (note that the color is different because you highlighted the icon); and (3) black colored FF indicates ffmpeg will be used last and you are changing the behavior so that \CGG{} warns you accordingly. \begin{figure}[htpb] \centering @@ -33,14 +33,14 @@ that ffmpeg early probes is enabled; (2) \textit{Try FFMpeg last} indicator mes \section{How to Create FFmpeg Options Files}% \label{sec:create_ffmpeg_options_files} -This section describes how the FFmpeg options files work for decoding and encoding and goes into great detail. It will make more sense if you look at Cinelerra's ffmpeg config directory and the Cinelerra menus at the same time. +This section describes how the FFmpeg options files work for decoding and encoding and goes into great detail. It will make more sense if you look at \CGG{}'s ffmpeg config directory and the \CGG{} menus at the same time. It is meant to include everything necessary for complete understanding. You will be able to personalize your own options files without knowing all of the information included below if you know the basics. The word encoding is used interchangeably with the word rendering. -The possible combinations for ffmpeg options files are literally combinatorial -- that is a lot (factorial!). The allowed media file format / codec choices are much more flexible than you might realize. When the ffmpeg design was initially added, some parameter files which describe the choices which the program uses had to be created. There are way too many to enumerate in the deliverable Cinelerra package. Some quite detailed information for how ffmpeg options work is given here and hopefully, enough basics for simple understanding. It may all seem complicated at first, but will become obvious. +The possible combinations for ffmpeg options files are literally combinatorial -- that is a lot (factorial!). The allowed media file format / codec choices are much more flexible than you might realize. When the ffmpeg design was initially added, some parameter files which describe the choices which the program uses had to be created. There are way too many to enumerate in the deliverable \CGG{} package. Some quite detailed information for how ffmpeg options work is given here and hopefully, enough basics for simple understanding. It may all seem complicated at first, but will become obvious. \subsection{File naming convention}% \label{sub:file_naming_convention} -In Cinelerra's ffmpeg configuration directory you will see files as listed and described below. File type and extension names are the key for Cinelerra's use of ffmpeg. Basically the \texttt{.opts} file extension represents options; \texttt{.dfl} represents defaults; and all the rest are media types. For example one media type is quicktime so that \texttt{*.qt} file names would be the \textit{quicktime} choices. In the file names below, \textit{ext} refers to a set of files with file names matching the \texttt{*.ext} file extension. And \textit{typ} refers to a type of format / codec combination used, that is, the media type. +In \CGG{}'s ffmpeg configuration directory you will see files as listed and described below. File type and extension names are the key for \CGG{}'s use of ffmpeg. Basically the \texttt{.opts} file extension represents options; \texttt{.dfl} represents defaults; and all the rest are media types. For example one media type is quicktime so that \texttt{*.qt} file names would be the \textit{quicktime} choices. In the file names below, \textit{ext} refers to a set of files with file names matching the \texttt{*.ext} file extension. And \textit{typ} refers to a type of format / codec combination used, that is, the media type. In the ffmpeg configuration directory there are a series of options files used when encoding or decoding audio or video. They are read in the order from top to bottom and only the files needed for the current operation are added to the active configuration. @@ -108,7 +108,7 @@ Only one equals sign is allowed and it is just for readability. There may be an (or) bitrate = 5000000 \end{lstlisting} -There are 4 special id's recognized by Cinelerra which cause special processing. They are: +There are 4 special id's recognized by \CGG{} which cause special processing. They are: \begin{description} \item[duration] overrides the probe duration when opening media for decoding @@ -133,9 +133,9 @@ scan_all_pmts=1 threads=auto \end{lstlisting} -The encoder options you see in the Cinelerra menus depend on the files in these directories, \textsc{NOT THE CODE}. If you add files, you will get to use more variety. +The encoder options you see in the \CGG{} menus depend on the files in these directories, \textsc{NOT THE CODE}. If you add files, you will get to use more variety. -In the \textit{Cinelerra} directory, which contains the ffmpeg configuration folder, there are the choices the program uses. When you open an ffmpeg format popup dialog, the listbox contains all of the codec types which are identified by the \texttt{file.ext} extensions. Decoding has only a few options, since the ffmpeg file probes determine most of the options by looking at the media being opened, but encoding media requires a lot of setup. Below are some of the folders and files used to determine the configurations used by ffmpeg to decode and encode files. +In the \textit{\CGG{}} directory, which contains the ffmpeg configuration folder, there are the choices the program uses. When you open an ffmpeg format popup dialog, the listbox contains all of the codec types which are identified by the \texttt{file.ext} extensions. Decoding has only a few options, since the ffmpeg file probes determine most of the options by looking at the media being opened, but encoding media requires a lot of setup. Below are some of the folders and files used to determine the configurations used by ffmpeg to decode and encode files. These extensions create audio / video media classes: @@ -219,7 +219,7 @@ For more examples, look around the ffmpeg directory for examples which may be cl This is quite complicated, but that is because ffmpeg has a lot of parameters and history. Good results are not that hard to create. Initially you should mostly use the defaults. If you send any new options files to \href{mailto:cin@lists.cinelerra-gg.org}{cin@lists.cinelerra-gg.org}, it will be given consideration to being added to the baseline for future deliverables. -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 \texttt{} directory substituting the location of \texttt{} 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}. +To get a listing of the current ffmpeg supported formats and codecs that can be made to work with \CGG{}, provided there are option files added, run the following commands. This should be done from the \texttt{} directory substituting the location of \texttt{} where you have installed \CGG{} 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,numbers=none] //cinelerra-5.1/thirdparty/ffmpeg-4.2/ffmpeg -formats > /tmp/ff-formats.txt @@ -272,10 +272,10 @@ Then to use and to get 10 bit depth and preserve depth from decode to encode: \item check OK, and watch for messages in the terminal window \end{enumerate} -\subsection{Viewing \& Modifying FFmpeg Format Options inside Cinelerra}% +\subsection{Viewing \& Modifying FFmpeg Format Options inside \CGG{}}% \label{sub:viewing_modifying_ffmpeg_cinelerra} -There are thousands of options for using ffmpeg. Now it is possible to \textit{view} the available options for a particular video and audio choice by using the \textit{wrench icon} and then clicking on the \textit{view} box. FFmpeg has to be the selected file format for this feature to be visible. It makes it a lot easier since only the applicable options show up as opposed to everything that ffmpeg can do. These options are just \textit{Hints} and some may be missing due to the way that ffmpeg options are coded -- Cinelerra shows the option data ffmpeg has exposed. +There are thousands of options for using ffmpeg. Now it is possible to \textit{view} the available options for a particular video and audio choice by using the \textit{wrench icon} and then clicking on the \textit{view} box. FFmpeg has to be the selected file format for this feature to be visible. It makes it a lot easier since only the applicable options show up as opposed to everything that ffmpeg can do. These options are just \textit{Hints} and some may be missing due to the way that ffmpeg options are coded -- \CGG{} shows the option data ffmpeg has exposed. As an example, instead of reading the entire 264 library information, you only have to look at the shown available options. Both the video and the audio are browsable. The options visible in the \textit{Audio/Video Preset} textbox are the final values which are used when rendering once you have checked OK. For assistance in choosing the options you want, use the view popup to see the objects that go with the selected format tool, highlight the option, modify the parameter value in the box at the top of the \textit{Options} window based on what you want, and then click apply. Updated parameter values or new parameters will be appended at the bottom. Note that when you highlight an option, a tooltip will show up when available in the lower right hand corner which describes the option. Also note that the Format and Codec types are shown on the top line of the Options window. @@ -302,9 +302,9 @@ Figure~\ref{fig:audio-preset02} shows \textit{ffmpeg} video for the Kind. Note t \section{The FFmpeg Image2 Streams}% \label{sec:ffmpeg_image2_streams} -Another feature gained from using ffmpeg in Cinelerra takes advantage of what is being referred to as the \textit{\%d trick}. This trick uses the ffmpeg muxer image2 and a filename template to create a series of image files of a given type. A specific example is described below. +Another feature gained from using ffmpeg in \CGG{} takes advantage of what is being referred to as the \textit{\%d trick}. This trick uses the ffmpeg muxer image2 and a filename template to create a series of image files of a given type. A specific example is described below. -To encode a series of $48$\,bit tiff output image files, add a file to the Cinelerra data ffmpeg/video subdirectory as in: +To encode a series of $48$\,bit tiff output image files, add a file to the \CGG{} data ffmpeg/video subdirectory as in: \begin{lstlisting}[language=bash,numbers=none] # \dots/ffmpeg/video/tiff.dfl @@ -346,9 +346,9 @@ duration=90.25 \begin{description} \item[Quality Option when rendering:] FFmpeg responds variably to the quality option in the render option but seems to respond well to bitrate. The subranges used by quality even seem to vary somewhat depending on how old the codec is. Some use $0$ to $35$, some use $0$ to $500$ or so. The quality is supposed to cause the codec to output data until the noise level is below a limit determined by the quality setting. Your specific results may vary. \item[Previous Changes when rendering:] With ffmpeg there are 2 cases that the defaults will be used. The first time when you have nothing set up and any other time when you reset the render File Format in the Render Menu. Otherwise with ffmpeg, if you change a video compression type for the render (for example \texttt{h264.mp4} to \texttt{h265.mp4}), the settings will be from the previous session settings. - \item[Outstanding Issues with ffmpeg:] There are some problems that need to be addressed by the ffmpeg developer group that adversely affect Cinelerra. These are stated below with the hopes that that group will fix them as time permits. + \item[Outstanding Issues with ffmpeg:] There are some problems that need to be addressed by the ffmpeg developer group that adversely affect \CGG{}. These are stated below with the hopes that that group will fix them as time permits. \begin{itemize} - \item Make all the default parameters operational. When they are not, the Cinelerra plugins can't be initialized since the initial state of the filter is not operational. If that is not possible, then provide a set of nominal parameters for each plugin, so that they can be used as the plugins initial default state. + \item Make all the default parameters operational. When they are not, the \CGG{} plugins can't be initialized since the initial state of the filter is not operational. If that is not possible, then provide a set of nominal parameters for each plugin, so that they can be used as the plugins initial default state. \item Make the filter config function project the new parameter data into the filter function at any point during filter operation. This is so that continuous updates can be done as the plugin operates. \item Improve seek codec restarts. The past predictor must be reset or reconstructed after a seek. The only documented way to seek is open/seek/play. Reopening the format layer is very expensive. diff --git a/parts/Glossary.tex b/parts/Glossary.tex index 930e25f..4e1de39 100644 --- a/parts/Glossary.tex +++ b/parts/Glossary.tex @@ -2,7 +2,7 @@ \nomenclature{\textbf{Arm}}{when you \textit{arm} a track, it is enabled so fully affected by editing operations. Tracks are armed with an \texttt{Arm Track} button in the patchbay of the timeline.} -\nomenclature{\textbf{Arrow mode}}{formally known as Drag and Drop editing mode. Drag and drop editing is a quick and simple way of working in Cinelerra, using mainly the mouse. In this mode, you move \textit{things} by dragging and dropping these resources or objects.} +\nomenclature{\textbf{Arrow mode}}{formally known as Drag and Drop editing mode. Drag and drop editing is a quick and simple way of working in \CGG{}, using mainly the mouse. In this mode, you move \textit{things} by dragging and dropping these resources or objects.} \nomenclature{\textbf{Aspect ratio}}{in reference to an image, this is the geometry of the data as in the ratio of its width to its height. There is the display aspect ratio which is the physical display and may not always be square. Then there is the pixel aspect ratio or geometry of the picture.} @@ -42,29 +42,29 @@ \nomenclature{\textbf{Concatenate}}{in File$\rightarrow$Load insertion strategy, means to load from disk or copy from the timeline edits belonging to different media onto the same set of tracks, one right after the other.} -\nomenclature{\textbf{Compression}}{in Cinelerra’s dialogs means compression format. See Codec.} +\nomenclature{\textbf{Compression}}{in \CGG{}’s dialogs means compression format. See Codec.} \nomenclature{\textbf{Context menu}}{a pop-up menu.} \nomenclature{\textbf{Control point}}{as applied to Bezier curves, either the \textit{end} points or \textit{way points}. Controls the derivative at that end or way point of that curve. Vector of the curve point derivative.} -\nomenclature{\textbf{CR2}}{the RAW image format of Canon’s digital cameras. In Cinelerra, it is used loosely to refer to any brand of camera raw images or still pictures, as handled by Dave Coffin’s included code.} +\nomenclature{\textbf{CR2}}{the RAW image format of Canon’s digital cameras. In \CGG{}, it is used loosely to refer to any brand of camera raw images or still pictures, as handled by Dave Coffin’s included code.} \nomenclature{\textbf{Crop}}{rectangularly trim edges to remove unwanted material.} \nomenclature{\textbf{Cut}}{delete or trim to remove material or insert a break so that the media on the timeline is separated into 2 pieces. Cut, when used as a noun can mean the same as an edit.} -\nomenclature{\textbf{Cut and Paste editing}}{an editing mode on the timeline. You select the cut and paste editing mode by enabling the I-beam toggle on the control bar at the top of the main program window. The I-beam cursor pointer on the timeline is why this mode has the nickname of I-beam. In this mode you can copy edits in the same track, copy from different tracks in the same instance, start a second instance of Cinelerra and copy from one instance to the other or load a media file into the Viewer and copy from there. There are many other operations that can be done.} +\nomenclature{\textbf{Cut and Paste editing}}{an editing mode on the timeline. You select the cut and paste editing mode by enabling the I-beam toggle on the control bar at the top of the main program window. The I-beam cursor pointer on the timeline is why this mode has the nickname of I-beam. In this mode you can copy edits in the same track, copy from different tracks in the same instance, start a second instance of \CGG{} and copy from one instance to the other or load a media file into the Viewer and copy from there. There are many other operations that can be done.} \nomenclature{\textbf{Deinterlace}}{the process of converting interlaced video (a sequence of fields) into a non-interlaced form (a sequence of frames). Deinterlacing downsamples/blends the refreshes that reconstruct images with the least motion damage. See the definition of Interlace for an explanation of interlacing.} \nomenclature{\textbf{Disarm}}{when you “disarm” a track, it is disabled so not affected by editing operations. Disarming a track protects it from most changes and operations. Tracks are disarmed with an "Arm Track" button in the patchbay of the timeline.} -\nomenclature{\textbf{Drag and Drop editing}}{drag and drop editing is a quick and simple way of working in Cinelerra using mainly the mouse. In this mode, you move “things” by dragging and dropping these resources or objects. To enable, click on the arrow icon in the timeline editpanel. This arrow is why this mode has the nickname of arrow mode.} +\nomenclature{\textbf{Drag and Drop editing}}{drag and drop editing is a quick and simple way of working in \CGG{} using mainly the mouse. In this mode, you move “things” by dragging and dropping these resources or objects. To enable, click on the arrow icon in the timeline editpanel. This arrow is why this mode has the nickname of arrow mode.} \nomenclature{\textbf{Edit(s)}}{is a fragment of media on a single track of the timeline.} -\nomenclature{\textbf{Edit Decision List (EDL)}}{an XML text file that contains all the project settings and locations of every edit. Instead of media, it contains pointers to the original media files on disk. If you open your .xml project file with a text editor, you will see some of the terminology used in Cinelerra in reference to the editing you perform.} +\nomenclature{\textbf{Edit Decision List (EDL)}}{an XML text file that contains all the project settings and locations of every edit. Instead of media, it contains pointers to the original media files on disk. If you open your .xml project file with a text editor, you will see some of the terminology used in \CGG{} in reference to the editing you perform.} \nomenclature{\textbf{Edit panel}}{the second line on the timeline which shows icons that represent transport controls and editing functions. It is sometimes called the Control Bar.} @@ -86,11 +86,11 @@ \nomenclature{\textbf{Git}}{is a distributed version control system for tracking changes in source code during software development. It is fast and easy to work with git repositories for collaboration among several developers on the same software project.} -\nomenclature{\textbf{GPU}}{stands for the Graphics Processor Unit of a computer graphics board. For Cinelerra, direct decoding or encoding using the GPU via hardware acceleration often reduces CPU usage.} +\nomenclature{\textbf{GPU}}{stands for the Graphics Processor Unit of a computer graphics board. For \CGG{}, direct decoding or encoding using the GPU via hardware acceleration often reduces CPU usage.} \nomenclature{\textbf{GUI}}{Graphical User Interface allows people to interact with the computer by manipulating graphical icons, visual indicators or widgets, along with text labels or text navigation to represent the information and actions available to a user. This is in contrast to Command Line Interface (CLI).} -\nomenclature{\textbf{GUICAST}}{Cinelerra’s GUI library, made from scratch by Heroine Virtual Ltd.} +\nomenclature{\textbf{GUICAST}}{\CGG{}’s GUI library, made from scratch by Heroine Virtual Ltd.} \nomenclature{\textbf{Handle}}{is a graphical grab point to adjust any number of different graphical parameters, such as an edit position or a mask curvature. The handle becomes active when approached within a certain range, then you will generally see a modified cursor indicator. This is the hot point to grab and click to use it.} @@ -98,27 +98,27 @@ \nomenclature{\textbf{Hue}}{that aspect of a color described with names such as yellow, red, blue. Hue also defines mixtures of two pure colors like "red-yellow" or "yellow-green".} -\nomenclature{\textbf{Image list}}{a text file with a specific format containing a list of absolute paths for the still images of a sequence plus additional information like file format, framerate and image resolution. Image lists are human readable and editable. Once loaded in the timeline, image lists behave like a video clip. In Cinelerra they can be used to load multiple images belonging to the same scene as a single video asset. Cinelerra can render video clips to image lists (a text file + multiple still images).} +\nomenclature{\textbf{Image list}}{a text file with a specific format containing a list of absolute paths for the still images of a sequence plus additional information like file format, framerate and image resolution. Image lists are human readable and editable. Once loaded in the timeline, image lists behave like a video clip. In \CGG{} they can be used to load multiple images belonging to the same scene as a single video asset. \CGG{} can render video clips to image lists (a text file + multiple still images).} \nomenclature{\textbf{I-beam mode}}{formally known as Cut and Paste editing mode where a lot of the operations performed on your video are with various copy commands. See Cut and Paste editing definition.} -\nomenclature{\textbf{Index file}}{an .idx, .mkr or .toc file built by Cinelerra in the .bcast5 directory of your home folder in order to quickly, and with less cpu involved, seek into big media files, for skipping, faster playback and drawing waveforms and picons. Index files are not human readable. If an index file for an asset is already built, it is not recreated – this saves a lot of time. However if you switch from a native format to using ffmpeg, or vice versa, you should always rebuild the index. The number of index files to keep can be set by the user and you can easily delete all of them at once from the Settings$\rightarrow$Preferences, Interface menu.} +\nomenclature{\textbf{Index file}}{an .idx, .mkr or .toc file built by \CGG{} in the .bcast5 directory of your home folder in order to quickly, and with less cpu involved, seek into big media files, for skipping, faster playback and drawing waveforms and picons. Index files are not human readable. If an index file for an asset is already built, it is not recreated – this saves a lot of time. However if you switch from a native format to using ffmpeg, or vice versa, you should always rebuild the index. The number of index files to keep can be set by the user and you can easily delete all of them at once from the Settings$\rightarrow$Preferences, Interface menu.} \nomenclature{\textbf{Insertion point}}{a flashing hairline mark that vertically spans the timeline. It marks the starting place of the next operation to be performed.} \nomenclature{\textbf{Interlace}}{(extended definition included here because it is no longer a commonly used technique). Originally media was conditioned for presentation on a cathode ray tube (CRT), like an old-fashioned television set. The image sample was scanned using an image orthicon tube and vacuum tube oscillators. The result is very imprecise and too slow for the human eye. Interlacing, which is scanning the image by fields, first all the even and then all the odd lines, uses phosphor persistence to create a smooth presentation effect and reduce the required signal bandwidth. Today we use a progressive scan at a higher framerate to avoid these issues.} -\nomenclature{\textbf{Interpolation}}{a method of inventing data using keyframe way points on a curve. The shape of the curve represents the type of the interpolation, for example piecewise linear or bezier. In Cinelerra interpolation is the process that inserts many new values in between the user defined keyframes to give a smoother result.} +\nomenclature{\textbf{Interpolation}}{a method of inventing data using keyframe way points on a curve. The shape of the curve represents the type of the interpolation, for example piecewise linear or bezier. In \CGG{} interpolation is the process that inserts many new values in between the user defined keyframes to give a smoother result.} \nomenclature{\textbf{Jitter}}{broken sound or video, frequently due to quantimization encoding, resulting in data loss.} \nomenclature{\textbf{Keyframe}}{a blob of parameter data associated to a position on the timeline. It represents a certain value set by the user at a certain point in the timeline and is used as input to some edit functions such as a fade, an effect, or a compositing parameter. Keyframes are described in detail in the Keyframes section, chapter 8.} -\nomenclature{\textbf{Keyframing}}{a very convenient technique for creating smooth dynamic changes by assigning values to parameters at specific moments in time and letting Cinelerra interpolate the values in between.} +\nomenclature{\textbf{Keyframing}}{a very convenient technique for creating smooth dynamic changes by assigning values to parameters at specific moments in time and letting \CGG{} interpolate the values in between.} \nomenclature{\textbf{Latency}}{refers to a short period of delay, usually measured in milliseconds, between when an audio signal enters a system and when it emerges.} -\nomenclature{\textbf{Locale}}{a set of parameters that defines your language, country and other location related preferences that you want to see in your GUI. Usually a locale identifier consists of at least a language identifier and a region identifier. Example: “[language[\_territory][.codeset][@modifier]]”. It affects the language in which Cinelerra will display menus and messages. To check your locale type locale in your terminal window. To see your available locales type locale -a.} +\nomenclature{\textbf{Locale}}{a set of parameters that defines your language, country and other location related preferences that you want to see in your GUI. Usually a locale identifier consists of at least a language identifier and a region identifier. Example: “[language[\_territory][.codeset][@modifier]]”. It affects the language in which \CGG{} will display menus and messages. To check your locale type locale in your terminal window. To see your available locales type locale -a.} \nomenclature{\textbf{Lossless}}{term describing a compression method that allows the exact original data to be reconstructed from the compressed data, without any changes. Lossless compression is used for text and data files, but also for multimedia when quality is more important than file size.} @@ -128,7 +128,7 @@ \nomenclature{\textbf{Media}}{generic term for audio, videos and images on some kind of storage. This can include items as a short movie recorded on your phone, photos from your camera, MP3 songs, or a movie trailer.} -\nomenclature{\textbf{NLE}}{Non Linear Editing. A modern editing method used by Cinelerra that records the decisions of the editor in an edit decision list (EDL) without modifying the original source files.} +\nomenclature{\textbf{NLE}}{Non Linear Editing. A modern editing method used by \CGG{} that records the decisions of the editor in an edit decision list (EDL) without modifying the original source files.} \nomenclature{\textbf{NTSC}}{stands for National Television System Committee; a standard that defines a video with canvas size of 720x480 and a framerate of 29.97 fps. This was originally based on United States broadcast television.} @@ -146,7 +146,7 @@ \nomenclature{\textbf{Pixel}}{the smallest independent unit of a digital image; a minute area of illumination on a display screen, one of many from which an image is composed. Word was invented from picture element. In the 3D world, this is call a voxel.} -\nomenclature{\textbf{Plugin}}{program fragment that is loaded on demand as in “plugged in”. In Cinelerra, these are often called “effects” and are used to provide a specific function on demand.} +\nomenclature{\textbf{Plugin}}{program fragment that is loaded on demand as in “plugged in”. In \CGG{}, these are often called “effects” and are used to provide a specific function on demand.} \nomenclature{\textbf{Pop-up menu}}{a menu that pops up by clicking the right mouse button. Also called a context menu.} @@ -156,7 +156,7 @@ \nomenclature{\textbf{Proxy file}}{a copy of an original media file but with low resolution or quality, used as temporary media for editing with lower CPU load or I/O. Rendering is then done with the high quality original.} -\nomenclature{\textbf{Raw image}}{an image file containing the unprocessed data from the image sensor of a digital camera or a scanner. Raw images from many different cameras can be loaded in Cinelerra. There are quite a wide-range variety of raw formats in existence.} +\nomenclature{\textbf{Raw image}}{an image file containing the unprocessed data from the image sensor of a digital camera or a scanner. Raw images from many different cameras can be loaded in \CGG{}. There are quite a wide-range variety of raw formats in existence.} \nomenclature{\textbf{Record}}{the acquisition and storage of some media} @@ -178,7 +178,7 @@ \nomenclature{\textbf{SEGV}}{Segmentation Fault Violation - a page fault that fails to read or write memory. For example, attempting to write to a read-only location, or to overwrite part of the operating system.} -\nomenclature{\textbf{Shell}}{a file containing a series of commands that provides an interface for users. In everyday use it indicates the Command Line. Cinelerra has a “shell cmds” icon on the upper right corner of the main timeline where user written shell scripts can be added and easily accessed without exiting.} +\nomenclature{\textbf{Shell}}{a file containing a series of commands that provides an interface for users. In everyday use it indicates the Command Line. \CGG{} has a “shell cmds” icon on the upper right corner of the main timeline where user written shell scripts can be added and easily accessed without exiting.} \nomenclature{\textbf{Shot}}{in filmmaking and video production, a shot is a series of frames, that runs for an uninterrupted period of time. In film editing, a shot is the continuous footage or sequence between two edits or cuts. Loosely used to refer to a single camera image, i.e. a shot.} @@ -234,7 +234,7 @@ \nomenclature{\textbf{Widget}}{a unitary graphical object that performs a specific set. It is usually a single subwindow.} -\nomenclature{\textbf{XML}}{the language Cinelerra EDLs are written in. Extensible Markup Language (XML) is a general-purpose language that combines text and extra information about the text and allows users to make modifications. It creates a text representation of a data object that is designed to be relatively human-legible.} +\nomenclature{\textbf{XML}}{the language \CGG{} EDLs are written in. Extensible Markup Language (XML) is a general-purpose language that combines text and extra information about the text and allows users to make modifications. It creates a text representation of a data object that is designed to be relatively human-legible.} \nomenclature{\textbf{YUV}}{is a color model which splits luma from chroma, similarly to human sight.. Colors are stored as absolute luma representation and the difference signal between luma and chroma complement components. This color model is used by PAL and NTSC standards. Y stands for the luma component and U and V are the chroma components. U and V are actually color difference components (respectively R-Y and B-Y). In fact YUV signals are created from an original RGB source. The weighted values of R, G, and B are added together to produce a single Y signal, representing the overall luma. The U signal is then created by subtracting the Y from the blue signal of the original RGB, and then scaling; V is created by subtracting the Y from the red, and then scaling by a different factor. Previous black-and-white systems used only luma (Y) information and color information (U and V) was added so that a black-and-white receiver would still be able to display a color picture as a normal black and white picture.} @@ -270,7 +270,7 @@ \nomenclature{\textbf{DeSpill}}{process to remove background color contamination from the edges of the subject in foreground, during a chroma key.} -\nomenclature{\textbf{Digital Intermediate (DI)}}{Over time it has taken on different meanings. For Cinelerra GG is meant as the creation of a high quality file that during the various stages of editing and color correction keeps as much information as possible. Being little or uncompressed its manipulation is also faster and more efficient.} +\nomenclature{\textbf{Digital Intermediate (DI)}}{Over time it has taken on different meanings. For \CGG{} is meant as the creation of a high quality file that during the various stages of editing and color correction keeps as much information as possible. Being little or uncompressed its manipulation is also faster and more efficient.} \nomenclature{\textbf{Dynamic range}}{is the ratio between the largest and smallest values (luminance) that an image can assume. The larger the size, the better we can distinguish details in the dark and light parts.} @@ -288,11 +288,11 @@ \nomenclature{\textbf{Letterbox}}{blacks bars on the top and bottom side of the frame. They are due to a smaller frame size than the one set in the project (see also Pillarbox).} -\nomenclature{\textbf{LUT, 3D LUT}}{(LookUp Table) used to map one color space to another. Cinelerra GG uses them through ffmpeg filters. There are downloadable collections or there are specific ones provided by hardware manufacturers.} +\nomenclature{\textbf{LUT, 3D LUT}}{(LookUp Table) used to map one color space to another. \CGG{} uses them through ffmpeg filters. There are downloadable collections or there are specific ones provided by hardware manufacturers.} \nomenclature{\textbf{Nearest neighbor}}{is the simplest method of resampling an image. It is fast and resources saving, but produces less smooth results.} -\nomenclature{\textbf{Panning}}{in video technology, panning refers to the horizontal scrolling of an image wider than the display. In Cinelerra it is done (together with other camera movements) with the camera tool.} +\nomenclature{\textbf{Panning}}{in video technology, panning refers to the horizontal scrolling of an image wider than the display. In \CGG{} it is done (together with other camera movements) with the camera tool.} \nomenclature{\textbf{Pillarbox}}{blacks bars on the left and right side of the frame. They are due to a smaller frame size than the one set in the project (see also Letterbox).} diff --git a/parts/Installation.tex b/parts/Installation.tex index 28c52f7..06d7973 100644 --- a/parts/Installation.tex +++ b/parts/Installation.tex @@ -1,9 +1,9 @@ \chapter{Installation} \label{cha:Installation} -\section{How to Build Cinelerra-GG from Developer's Git Repository}% +\section{How to Build \CGG{} from Developer's Git Repository}% \label{sec:How_to_build} -These are generic build instructions for building Cinelerra-GG Infinity. +These are generic build instructions for building \CGG{} Infinity. Known to work on Ubuntu, Mint, OpenSuse, Fedora, Debian, Centos, Arch, Slackware, and Gentoo. It has not been tested on every single possible distro yet so you might expect to have to make some minor changes. Also works on a somewhat limited basis on FreeBSD and Windows 10 with the bsd.patch for FreeBSD @@ -22,11 +22,11 @@ The single user build allows for running completely out of a local user director We recommend the single-user version when possible. It makes it very easy to install a new version without having to delete the older version in case you want it for backup -- once you are happy with the new version, all you have to do is delete the entire old directory path. -Another reason for using single-user is that if you install a new Operating System version and if you have Cinelerra on separate disk space that is preserved, you won't have to reinstall Cinelerra. +Another reason for using single-user is that if you install a new Operating System version and if you have \CGG{} on separate disk space that is preserved, you won't have to reinstall \CGG{}. It is also convenient for the purpose of having the ability to interrupt or to see any possible error messages, if you start the application from a terminal window command line where you will have more control to catch problems. All that said, the system builds can be useful in a university lab setting where there are possibly multiple users, or multiple versions. -There are two notable differences between \textit{standard} views of Cinelerra and this implementation for the system builds. +There are two notable differences between \textit{standard} views of \CGG{} and this implementation for the system builds. Both of these can be configured during installation. The differences make it possible to have several different versions installed without having them \textit{walk} on each other. @@ -53,7 +53,7 @@ $ git clone --depth 1 "git://git.cinelerra-gg.org/goodguy/cinelerra.git" cineler $ cd cinelerra5/cinelerra-5.1 # toplevel directory \end{lstlisting} - NOTE: if your system has never had Cinelerra-GG Infinity installed, you will have to make sure you have all of the compilers and libraries necessary. + NOTE: if your system has never had \CGG{} Infinity installed, you will have to make sure you have all of the compilers and libraries necessary. So on the very first build you should run: \begin{lstlisting}[numbers=none] @@ -79,7 +79,7 @@ $ //cinelerra5/cinelerra-5.1/log \begin{lstlisting}[numbers=none] $ make install \end{lstlisting} - \item If it all worked, you are all setup. Just click on the Cinelerra desktop icon. + \item If it all worked, you are all setup. Just click on the \CGG{} desktop icon. \end{enumerate} \paragraph{To do a single-user build,} read the file \texttt{README} that is at the top level after you get the source. @@ -95,7 +95,7 @@ $ cd cinelerra5/cinelerra-5.1 # toplevel directory \end{lstlisting} \end{enumerate} -NOTE: if your system has never had Cinelerra-GG Infinity installed, you will have to make sure all +NOTE: if your system has never had \CGG{} Infinity installed, you will have to make sure all the compilers and libraries necessary are installed. So on the very first build you should run as \textbf{root}: \begin{lstlisting}[numbers=none] @@ -125,7 +125,7 @@ on a newly installed ubuntu 15 system WITHOUT BEING ROOT except for the \texttt{ \subsection{Notable Options and Caveats}% \label{sub:notable_options_and_caveats} -These procedures and the Cinelerra-GG Infinity software have all been run as \textbf{root} on various home laptops and desktops. This provides the best chance to ensure all works correctly and also allows for handling errors, other problems and potential crashes with the most success. Included in this section are some of the build variations easily available for normal builds. +These procedures and the \CGG{} Infinity software have all been run as \textbf{root} on various home laptops and desktops. This provides the best chance to ensure all works correctly and also allows for handling errors, other problems and potential crashes with the most success. Included in this section are some of the build variations easily available for normal builds. To see the full list of features use: @@ -152,7 +152,7 @@ If you wish to change the default directory for a system build you will have to $ make install DESTDIR= \end{lstlisting} -The application name can be set during installation, but defaults to \texttt{cin} so that the GG/Infinity build can coexist with other Cinelerra builds if necessary. To override the default \texttt{cin} name, use: +The application name can be set during installation, but defaults to \texttt{cin} so that the GG/Infinity build can coexist with other \CGG{} builds if necessary. To override the default \texttt{cin} name, use: \begin{lstlisting}[numbers=none] $ ./configure --with-exec-name=cinelerra \end{lstlisting} @@ -168,7 +168,7 @@ NOTE: when you specify parameters to the configure program, it will create a \t Since in a \texttt{make} file, the \$ is a special character, it must be escaped so in order to represent a \$ as part of an input parameter, it has to be stuttered. That is, you will need \$\$ (2 dollar signs) to represent a single dollar sign. -It may be necessary on some distros which have missing or incomplete up-to-date libraries, to build Cinelerra without Ladspa. +It may be necessary on some distros which have missing or incomplete up-to-date libraries, to build \CGG{} without Ladspa. To do so, use: \begin{lstlisting}[numbers=none] @@ -253,7 +253,7 @@ With persistence, you can get results, but it may take several tries to stabiliz If you need help, email the \texttt{log} and \texttt{config.log}, which is usually sufficient to determine why a build failed. %\vspace{5ex} -If you have already installed the \texttt{libfdk\_aac} development package on your computer because you prefer this version over the default aac, you will have to do the following to get this alternative operational. The libfdk\_aac library is not a part of Cinelerra by default because it is not license free. +If you have already installed the \texttt{libfdk\_aac} development package on your computer because you prefer this version over the default aac, you will have to do the following to get this alternative operational. The libfdk\_aac library is not a part of \CGG{} by default because it is not license free. \begin{lstlisting}[numbers=none] $ export FFMPEG_EXTRA_CFG=" --enable-libfdk-aac --enable-nonfree" @@ -393,7 +393,7 @@ $ gdb ./ci \subsection{Unbundled Builds}% \label{sub:unbundled_builds} -There are some generic build scripts included in the Cinelerra-GG GIT repository for users who want to do unbundled builds with ffmpeg already available on their system. +There are some generic build scripts included in the \CGG{} GIT repository for users who want to do unbundled builds with ffmpeg already available on their system. This has been tested on Arch, Ubuntu 18, FreeBSD, Windows10 and Leap 15 (rpm) at the time this was documented. The names of the build scripts are: \texttt{arch.bld} , \texttt{bsd.bld} , \texttt{deb.bld} , \texttt{rpm.bld}, and \texttt{cygwin.bld}. These scripts are in the \texttt{blds} subdirectory. @@ -402,7 +402,7 @@ The \texttt{cygwin.bld} should be used with the \texttt{cygwin.patch} file in th The reason that Cin Infinity traditionally uses thirdparty builds (bundled builds) is because there are a lot of different distros with varying levels of ffmpeg and other needed thirdparty libraries. However, some users prefer using their current system baseline without another/different copy of ffmpeg. -With different levels of the user’s libraries, uncertainty, potential instability, and unknown issues may come up while running Cinelerra and this will make it, for all practical purposes, impossible to diagnose and debug problems or crashes. +With different levels of the user’s libraries, uncertainty, potential instability, and unknown issues may come up while running \CGG{} and this will make it, for all practical purposes, impossible to diagnose and debug problems or crashes. There may be no help in these cases. You are encouraged to report any errors which potentially originate from Cin Infinity, but if the data indicates alternate library sources, please report the problems to the appropriate maintainers. With the unbundled builds, some features may not be available and no attempt to comment them out has been made. @@ -410,21 +410,21 @@ So if you use a pulldown, or pick a render option, or choose something that is n For example, unless special options were set up by you, the LV2 audio plugins will not be available. Nor will the codec libzmpeg, the file codec ac3, or DVD creation. The old school file classes will all work, but some of the formats that come with ffmpeg may not because of the way that ffmpeg was installed on your operating system. -That is because the Cinelerra included ffmpeg is a known static build and is usually the latest stable/released version. +That is because the \CGG{} included ffmpeg is a known static build and is usually the latest stable/released version. For example, in the current case of Leap 15, libx264 and libx265 are not built in and this can be debilitating; you can always run \texttt{ffmpeg -formats} and \texttt{ffmpeg -codecs} to see what is available on your system. -\section{Download Already Built Cinelerra-GG}% +\section{Download Already Built \CGG{}}% \label{sec:download_already_built_cinelerra_gg} \begin{figure}[htpb] \centering \includegraphics[width=1.0\linewidth]{images/download-distros.png} - \caption{Screencast of the website Download page for installing Cinelerra for various O/S.} + \caption{Screencast of the website Download page for installing \CGG{} for various O/S.} \label{fig:download-distros} \end{figure} -If you prefer to not have to take the time to build Cinelerra-GG Infinity yourself, there are pre-built dynamic or static binaries for various versions of Ubuntu, Mint, Suse, Fedora, Debian, Centos, Arch, and Slackware linux as well as Gentoo and FreeBSD. +If you prefer to not have to take the time to build \CGG{} Infinity yourself, there are pre-built dynamic or static binaries for various versions of Ubuntu, Mint, Suse, Fedora, Debian, Centos, Arch, and Slackware linux as well as Gentoo and FreeBSD. A Windows 10 version installation is described in \ref{sec:ms_windows10}. There are also 32-bit i686 Ubuntu, Debian, and Slackware versions available. These are updated on a fairly regular basis as long as significant code changes have been made. @@ -435,7 +435,7 @@ They are in subdirectories of: \url{https://cinelerra-gg.org/download/pkgs}} The \textbf{tars} directory contains single-user static builds for different distros. -This is the recommended usage of Cinelerra-GG because all of the files will exist in a single directory. +This is the recommended usage of \CGG{} because all of the files will exist in a single directory. Generally all of the necessary libraries are built into the static build, but in some cases you may have to install another library that is being called for. To install the single user builds, download the designated tarball from the \texttt{./tars} subdirectory and unpack as indicated below: @@ -509,12 +509,12 @@ yum install cinelerra apt install software-properties-common apt-transport-https apt-add-repository https://cinelerra-gg.org/download/pkgs/ub14 # UBUNTU 16/18 note - This has been known to work, but things change quickly: -# VIP - for the first install, the above line adds Cinelerra to /etc/apt/sources.list but... +# VIP - for the first install, the above line adds \CGG{} to /etc/apt/sources.list but... # Version 16/18 of Ubuntu are more strict for licensing so you will have to edit # the file /etc/apt/sources.list to add [trusted=yes] after deb and before https...cin... # For example the line should be: deb [trusted=yes] https://cinelerra-gg.org/download/pkgs/ub16 xenial main # Or for ub18: deb [trusted=yes] https://cinelerra-gg.org/download/pkgs/ub18 bionic main -# Also, on the install you will get an error message that you can either ignore as Cinelerra +# Also, on the install you will get an error message that you can either ignore as \CGG{} # will run anyway, or else (the first time only) on the commnand line keyin: # echo > /etc/sysctl.d/50-cin.conf "kernel.shmmax=0x7fffffff" apt update @@ -600,9 +600,9 @@ Server = https://cinelerra-gg.org/download/pkgs/arch pacman -Syu pacman -S cin # NOTE: the first line above updates your Arch system to the current rolling release and the second -# line updates Cinelerra-GG based on the rolling release that was in effect on the last day of the month. +# line updates \CGG{} based on the rolling release that was in effect on the last day of the month. # Please complete the 2 steps above in order, one right after the other to avoid risk of a partial upgrade. -# Due to the unpredictability of when Arch libraries are updated, performing an install of Cinelerra at +# Due to the unpredictability of when Arch libraries are updated, performing an install of \CGG{} at # any time other than shortly after the last day of the month when the new build package is created, # could lead to library incompatibilities. In that case, please consider using the Arch static tar file # for installation instead. @@ -610,15 +610,15 @@ pacman -S cin ##pacman -R cin \end{lstlisting} -\section{Windows 10 with Cygwin for Cinelerra Limited}% +\section{Windows 10 with Cygwin for \CGG{} Limited}% \label{sec:ms_windows10} -To run Cinelerra on a Windows 10 computer, you will need to have Cygwin installed on your system, -along with the Cinelerra static tar and a patched library: libxbc. This setup has been tested +To run \CGG{} on a Windows 10 computer, you will need to have Cygwin installed on your system, +along with the \CGG{} static tar and a patched library: libxbc. This setup has been tested with Windows 10, version 1909, on an HP EliteBook 820 at 2.3 GHz. This limited version provides \textit{core} functionality at this time with the standard Windows FFmpeg -executable, meaning that specific modifications in FFmpeg needed for Cinelerra are not available. +executable, meaning that specific modifications in FFmpeg needed for \CGG{} are not available. Limited capabilities include only a few render output formats available - for example \textit{mov}, \textit{qt} as \textit{mjpeg}, and \textit{mpeg} for videos and \textit{avi} and \textit{qt} as \textit{s16le} for audio, but not \textit{mkv} or \textit{mp4}. @@ -629,7 +629,7 @@ work with Windows. Cygwin is an environment that runs natively on Windows which allows Unix programs to be compiled and run on Windows. With cygwin installed on your Windows 10 computer, you will be able to run -Cinelerra. Before installing cygwin, you need to be warned that the Avast anti-virus software +\CGG{}. Before installing cygwin, you need to be warned that the Avast anti-virus software kills files necessary for cygwin installation and execution, so you will have to remove it and use alternative anti-virus software (the standard default already included with Windows 10 is Defender). Below are the steps for installation: @@ -657,10 +657,10 @@ is Defender). Below are the steps for installation: \item Finally you will want to have the icons on your desktop (already default) and then click \textit{Finish}. \end{enumerate} -Then to install the Cinelerra tar files, you will need to start a cygwin console terminal from the startup menu as shown here: +Then to install the \CGG{} tar files, you will need to start a cygwin console terminal from the startup menu as shown here: \texttt{Start $\rightarrow$ Cygwin $\rightarrow$ Cygwin64} Terminal -\underline{Installing Cinelerra:} +\underline{Installing \CGG{}:} \begin{enumerate} \item Download the tar file at:\\ @@ -678,9 +678,9 @@ The libxcb path repairs an error (XIOError), which stops Cinelerra. $ tar -xJf /path/cygcin-bld.tar.bz2 \end{lstlisting} \end{enumerate} -This creates \texttt{\~{}/cygcin} , a user build installation of Cinelerra and requires approximately 400MB storage. +This creates \texttt{\~{}/cygcin} , a user build installation of \CGG{} and requires approximately 400MB storage. -\underline{Running Cinelerra:} +\underline{Running \CGG{}:} You will need to start a cygwin desktop from the startup menu: \begin{enumerate} @@ -695,7 +695,7 @@ This opens a separate window that can survive a cygwin hang and bugs. Without th \begin{lstlisting}[language=bash,numbers=none] $ export DISPLAY=:0.0 \end{lstlisting} - \item Change directories to where Cinelerra is installed: + \item Change directories to where \CGG{} is installed: \begin{lstlisting}[numbers=none] $ cd /path/cygcin (NOT cygwin) \end{lstlisting} @@ -703,16 +703,16 @@ This opens a separate window that can survive a cygwin hang and bugs. Without th \begin{lstlisting}[numbers=none] $ ./cin \end{lstlisting} -which starts up your 4 Cinelerra windows. +which starts up your 4 \CGG{} windows. \end{enumerate} -The most noticeable difference from the Linux versions is that Cinelerra seems to run +The most noticeable difference from the Linux versions is that \CGG{} seems to run very slowly on Windows 10. You must be very tolerant and patient to see this work. -It can however exhibit astonishing speed when encoding. Cinelerra has to be downgraded significantly due to lack of supported interfaces, codecs (for example h264/h265), and utilities. +It can however exhibit astonishing speed when encoding. \CGG{} has to be downgraded significantly due to lack of supported interfaces, codecs (for example h264/h265), and utilities. The only graphics driver is X11 and the only sound driver is pulseaudio. Almost all configurable omissions are applied to this build. -\underline{Cinelerra build on cygwin from source code:} +\underline{\CGG{} build on cygwin from source code:} \begin{enumerate} \item Download and install ffmpeg into /usr/local : @@ -764,21 +764,21 @@ There is only very limited signal handler dmp file support. Running gdb from inside a desktop resident console (not a cygwin64 window) will hang cygwin (and cin) when it hits a breakpoint. You must run from an external console window to avoid this issue. -\section{Distribution Systems with Cinelerra Included}% +\section{Distribution Systems with \CGG{} Included}% \label{sec:distribution_systems_with_cinelerra_included} -There are also some special complete distribution systems available that include Cinelerra-GG for audio and video production capabilities. +There are also some special complete distribution systems available that include \CGG{} for audio and video production capabilities. \textbf{AV Linux} is a downloadable/installable shared snapshot ISO image based on Debian. It provides the user an easy method to get an Audio and Video production workstation without the hassle of trying to find and install all of the usual components themselves. -Of course, it includes Cinelerra-GG! +Of course, it includes \CGG{}! It is at: \begin{center} {\small \url{http://www.bandshed.net/avlinux/}} \end{center} -\textbf{Bodhi Linux} is a free and open source distribution that comes with a curated list of open source software for digital artists who work with audio, video, includes Cinelerra GG, games, graphics, animations, physical computing, etc. +\textbf{Bodhi Linux} is a free and open source distribution that comes with a curated list of open source software for digital artists who work with audio, video, includes \CGG{}, games, graphics, animations, physical computing, etc. It is at: \begin{center} diff --git a/parts/Introduction.tex b/parts/Introduction.tex index c162336..143e549 100644 --- a/parts/Introduction.tex +++ b/parts/Introduction.tex @@ -2,26 +2,39 @@ \label{cha:introduction} \addcontentsline{toc}{chapter}{Introduction} -Cinelerra is a software program NLE, Non-Linear Editor, that provides a way to edit, record, and play audio or video media. -It can also be used to transcode media from one format to another or to correct and retouch photos. Cinelerra -currently runs on many Linux operating system distributions. - -This manual covers the Cinelerra-GG Infinity version. -Information contained in this manual is a description of the Cinelerra-GG program usage and was obtained from -various sources to include different communication channels, emails, common knowledge, and write-ups as new features were added. -The author of the original Cinelerra program, Adam Williams, as well as many different people have modified - the Cinelerra source code over the years. -William Morrow merged all of the known changes, whenever possible, into this Cinelerra-GG version and for several years has been adding numerous features, updates, and fixes. -All of these software contributions are appreciated and each individual is thanked and commended for their efforts. -The Cinelerra software is under GPLv2+ license. -Refer to: {\small\url{https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html}} - -As for this manual, the GNU Free Documentation License (GNU FDL or simply GFDL) is a copyleft -license for free documentation, designed by the Free Software Foundation (FSF) for the GNU -Project. It is similar to the GNU General Public License, giving readers the rights to copy, -redistribute, and modify (except for "invariant sections") a work and requires all copies and derivatives to be available under the same license. -The GFDL was designed for manuals, textbooks, other reference and instructional materials, and documentation which often accompanies GNU software. -Refer to: {\small\url{https://en.wikipedia.org/wiki/GNU_Free_Documentation_License}} +\CGG{} is a software program NLE, Non-Linear Editor, that provides a +way to edit, record, and play audio or video media. It can also be +used to transcode media from one format to another or to correct and +retouch photos. \CGG{} currently runs on many Linux operating system +distributions. + +This manual covers the \CGG{} Infinity version. Information +contained in this manual is a description of the \CGG{} program +usage and was obtained from various sources to include different +communication channels, emails, common knowledge, and write-ups as +new features were added. The author of the original +\textsc{Cinelerra} program, Adam Williams, as well as many different +people have modified the \textsc{Cinelerra} source code over the +years. William Morrow merged all of the known changes, whenever +possible, into this \CGG{} version and for several years has been +adding numerous features, updates, and fixes. All of these software +contributions are appreciated and each individual is thanked and +commended for their efforts. The \CGG{} software is under \href{https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html}{GPLv2+} +license. % Refer to: +% {\small\url{https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html}} + +As for this manual, the +\href{https://www.gnu.org/licenses/fdl-1.3.en.html}{GNU Free + Documentation License} (GNU FDL or simply GFDL) is a copyleft +license for free documentation, designed by the Free Software +Foundation (FSF) for the GNU Project. It is similar to the GNU +General Public License, giving readers the rights to copy, +redistribute, and modify (except for "invariant sections") a work +and requires all copies and derivatives to be available under the +same license. The GFDL was designed for manuals, textbooks, other +reference and instructional materials, and documentation which often +accompanies GNU software.% Refer to: +% {\small\url{https://en.wikipedia.org/wiki/GNU_Free_Documentation_License}} \textbf{This is a copy of the header from the original source code.} \begin{lstlisting}[numbers=none,basicstyle=\footnotesize] @@ -45,38 +58,38 @@ Refer to: {\small\url{https://en.wikipedia.org/wiki/GNU_Free_Documentation_Licen \end{lstlisting} -\section*{Cinelerra Overview}% +\section*{\CGG{} Overview}% \label{sec:cinelerra_overview} -Presented briefly here is an overview of Cinelerra-GG Infinity and information provided in this manual. -The GG version of Cinelerra has been improved for \emph{stability}, \emph{modernized} to accommodate the +Presented briefly here is an overview of \CGG{} Infinity and information provided in this manual. +The GG version of \CGG{} has been improved for \emph{stability}, \emph{modernized} to accommodate the \emph{current state} of Linux software, enhanced with additional \emph{basic features}, and enriched with \emph{new features} imagined by dedicated users and then implemented by professional programmers. \begin{description} \item[Website] \small \url{https://www.cinelerra-gg.org}\\ - The website for the cinelerra-gg software is a good place to start for information, help, and documentation. + The website for the cinelerra-gg software is a good place to start for information, help, and documentation. It is professionally maintained and continuously updated with more language translations ongoing. \item[Stability] ~\\ Software programs that \textit{just work} are a \#1 priority in order to be of use for producing quality videos. - A large amount of time has been invested in debugging problems and resolving crashes. + A large amount of time has been invested in debugging problems and resolving crashes. And in a continuous process to do so, a chapter on Troubleshooting is included in order to easily provide sufficient information for users to capture issues and crashes so that they can be analyzed and quickly fixed to avoid repeat problems. \item[Modernization] ~\\ - Artistic creativity has been applied to modernize the Cinelerra-GG plugin icons for video and audio to even include the ffmpeg plugins. - The Cinfinity set of plugin icons come in square or roundish versions --- your choice. - In keeping up with the current expectation of users for a certain \textit{look and feel}, 2 very modern recent theme additions, Cakewalk and Neophyte, provide alternatives to the already existing 9 themes. + Artistic creativity has been applied to modernize the \CGG{} plugin icons for video and audio to even include the ffmpeg plugins. + The Cinfinity set of plugin icons come in square or roundish versions --- your choice. + In keeping up with the current expectation of users for a certain \textit{look and feel}, 2 very modern recent theme additions, Cakewalk and Neophyte, provide alternatives to the already existing 9 themes. These 11 themes give the user the choice to get the look they like best for their own eyes. \item[Current and up-to-date] ~\\ - For today’s software, included thirdparty libraries are kept up to date in a timely manner and effort is made to always use a relatively recent version of FFmpeg, if not the latest. - This is a big deal because there is a whole set of separate programmers working on these libraries continuously and diligently to cover all of the old and newly created formats. - Thus Cinelerra programmers can be dedicated to working solely on Cinelerra rather than just trying to keep up with many formats. + For today’s software, included thirdparty libraries are kept up to date in a timely manner and effort is made to always use a relatively recent version of FFmpeg, if not the latest. + This is a big deal because there is a whole set of separate programmers working on these libraries continuously and diligently to cover all of the old and newly created formats. + Thus \CGG{} programmers can be dedicated to working solely on \CGG{} rather than just trying to keep up with many formats. \item[FFmpeg usage integration]~\\ - By using FFmpeg with Cinelerra, there is the advantage that users can directly convert videos via pre- and post-processing, without the need for command lines to be executed manually before or afterwards. + By using FFmpeg with \CGG{}, there is the advantage that users can directly convert videos via pre- and post-processing, without the need for command lines to be executed manually before or afterwards. \item[Import and Export formats] ~\\ Listed here are only a few of the supported Import and Export formats: \begin{itemize} \item several standard native formats, such as mpeg, ac3, flac, exr and jpeg/png/ppm/tiff sequences - \item FFmpeg’s over 400 decoders and 150 encoders accessible from within Cinelerra to include: + \item FFmpeg’s over 400 decoders and 150 encoders accessible from within \CGG{} to include: mp4, mkv, mpeg, mov, m2ts, mp3, dvd, ogg, theora, prores, tiff, webm, flac, opus, vorbis, quicktime (div, dnxhd, jpeg, mjpeg, mp4, rle, v308, v410), h264 \& h265 usage, avc, hevc, and recently released AV1 and WebP @@ -132,20 +145,20 @@ The GG version of Cinelerra has been improved for \emph{stability}, \emph{modern \section*{Chapters Overview}% \label{sec:chapters_overview} -Below is listed a brief overview of each chapter to help you to decide which chapters you should pay the most attention to and read more thoroughly. -And which chapters are important for beginning to learn to use Cinelerra-GG. At the end of the descriptions is a list of the sections to read for beginners. +Below is listed a brief overview of each chapter to help you to decide which chapters you should pay the most attention to and read more thoroughly. +And which chapters are important for beginning to learn to use \CGG{}. At the end of the descriptions is a list of the sections to read for beginners. \begin{description} \item[Chapter \ref{cha:Installation} ] \nameref{cha:Installation}. If you just want to get started using the program, you can safely skip this chapter and instead go to: {\small \url{https://www.cinelerra-gg.org}} - and simply download a pre-built linux version for your Operating System. If you would like to do your own builds so that you always have the latest, refer to this chapter to learn how. + and simply download a pre-built linux version for your Operating System. If you would like to do your own builds so that you always have the latest, refer to this chapter to learn how. But if you are already familiar with doing your own builds, you can just refer to this chapter when you encounter issues. \item[Chapter \ref{cha:the_4_windows} ] \nameref{cha:the_4_windows}. - It is important to understand the window setup in Cinelerra-GG and what each of them is used for. - In addition this chapter covers some basic navigation functions that you will need to know. + It is important to understand the window setup in \CGG{} and what each of them is used for. + In addition this chapter covers some basic navigation functions that you will need to know. However, if you have used an NLE before and don’t mind experimenting to learn how to execute certain functions, probably there is no need to peruse this chapter. \item[Chapter \ref{cha:project_and_media_attributes}] \nameref{cha:project_and_media_attributes}. @@ -153,27 +166,27 @@ And which chapters are important for beginning to learn to use Cinelerra-GG. At \item[Chapter \ref{cha:load_save_and_the_EDL}] \nameref{cha:load_save_and_the_EDL}. - Since this is important to not losing your work, you should read this chapter for some basic usage concepts and for some lesser used functions that may come in handy. - Besides how to Load and Save files, there is also information on using raw camera formats. + Since this is important to not losing your work, you should read this chapter for some basic usage concepts and for some lesser used functions that may come in handy. + Besides how to Load and Save files, there is also information on using raw camera formats. Helpful hints on working with image sequences, such as a bunch of pictures from your camera all loaded at once, is a time saver. \item[Chapter \ref{cha:editing}] \nameref{cha:editing}. - 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. + 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:rendering}] \nameref{cha:rendering}. - Minimally most users will need to read the section on single file rendering to get started; since after all the whole purpose of using an NLE is to create your own media. - The end of this chapter includes some helpful specific rendering scenarios which could prove quite useful. - You might also want to consider using batch rendering and background rendering for performance reasons. + Minimally most users will need to read the section on single file rendering to get started; since after all the whole purpose of using an NLE is to create your own media. + The end of this chapter includes some helpful specific rendering scenarios which could prove quite useful. + You might also want to consider using batch rendering and background rendering for performance reasons. And, of course, render farm usage to take advantage of multiple computers can be a real boost. \item[Chapter \ref{cha:keyframes}] \nameref{cha:keyframes}. - This is a more advanced topic but extremely useful to know. - Keyframes are data values that have been associated to the timeline that affect the media presentation. + This is a more advanced topic but extremely useful to know. + Keyframes are data values that have been associated to the timeline that affect the media presentation. You can go for years without knowing all of the nuances but you will most likely have a need to use and understand them sooner or later. \item[Chapter \ref{cha:ffmpeg_interactions}] \nameref{cha:ffmpeg_interactions}. @@ -184,43 +197,43 @@ And which chapters are important for beginning to learn to use Cinelerra-GG. At \item[Chapter \ref{cha:plugins}]\nameref{cha:plugins}. - Use this chapter as a reference to add an audio or video plugin in order to correct color or add some fancy effect. - You will not want to read about each and every plugin, most of which you will never use. + Use this chapter as a reference to add an audio or video plugin in order to correct color or add some fancy effect. + You will not want to read about each and every plugin, most of which you will never use. On the other hand, going over the section on “some specific details concerning plugins” might come in handy. \item[Chapter \ref{cha:transition_plugin}] \nameref{cha:transition_plugin}. - Everyone who does not know about using transitions should read this chapter because you will want to use transitions between cuts in your video for smoothly changing scenes. + Everyone who does not know about using transitions should read this chapter because you will want to use transitions between cuts in your video for smoothly changing scenes. It is short and easy reading. \item[Chapter \ref{cha:overlays}] \nameref{cha:overlays} Modes, Alpha Blending, and Porter Duff. - Experts can really use the information in this chapter to spiff up their editing work through some blending type techniques. + Experts can really use the information in this chapter to spiff up their editing work through some blending type techniques. A lot of information and possibilities are described here. \item[Chapter \ref{cha:capturing_recording_media}] \nameref{cha:capturing_recording_media}. - This chapter is helpful in learning how to capture and record media from various sources. A section on using Cinelerra with broadcast TV is especially useful. + This chapter is helpful in learning how to capture and record media from various sources. A section on using \CGG{} with broadcast TV is especially useful. \item[Chapter \ref{cha:dvd_bluray_creation}] \nameref{cha:dvd_bluray_creation}. - 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. + 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 Cinelerra. + 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. - Once you find yourself doing the same thing over and over again, you will want to know if there is a shortcut. Then look here! + Everyone will want to use this chapter to speed up their editing sessions. + Once you find yourself doing the same thing over and over again, you will want to know if there is a shortcut. Then look here! \item[Chapter \ref{cha:configuration_settings_preferences}] \nameref{cha:configuration_settings_preferences}. - Refer to this chapter when you want to change some setting or preference. - Otherwise if a new user, you should make sure to read the first page which includes some important basic information. + Refer to this chapter when you want to change some setting or preference. + Otherwise if a new user, you should make sure to read the first page which includes some important basic information. \item[Chapter \ref{cha:how_stuff_works}] \nameref{cha:how_stuff_works}. @@ -249,7 +262,7 @@ And which chapters are important for beginning to learn to use Cinelerra-GG. At Some extra information that developers may or may not find useful. \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. \end{description} @@ -259,12 +272,10 @@ In summary, \textit{must} reads for a new user would be these chapters or sectio \begin{itemize} \item Chapter \ref{cha:the_4_windows} --- \nameref{cha:the_4_windows}. \item Chapter \ref{cha:load_save_and_the_EDL} --- \nameref{cha:load_save_and_the_EDL}. - \item Chapter \ref{cha:editing} --- \nameref{cha:editing}; read all sections except emphasize only either \nameref{sec:cut_paste_editing} or \nameref{sec:drag_drop_editing} to suit your purpose and then skim the editing mode that is not your preference as some operations work in either mode. + \item Chapter \ref{cha:editing} --- \nameref{cha:editing}; read all sections except emphasize only either \nameref{sec:cut_paste_editing} or \nameref{sec:drag_drop_editing} to suit your purpose and then skim the editing mode that is not your preference as some operations work in either mode. Skip the \nameref{sec:shuttle_jog_wheels_editing} section unless you have this jog wheel in hand. \item Chapter \ref{cha:rendering} --- \nameref{cha:rendering}; minimally read the \nameref{sec:single_file_rendering} section. \item Chapter \ref{cha:plugins} --- \nameref{cha:plugins}; read the section on \nameref{sec:how_use_plugins}. \item Chapter \ref{cha:transition_plugin} --- \nameref{cha:transition_plugin}. \item Chapter \ref{cha:configuration_settings_preferences} --- \nameref{cha:configuration_settings_preferences}; read at least the first couple of paragraphs. \end{itemize} - - diff --git a/parts/Keyframes.tex b/parts/Keyframes.tex index 9aa27e3..9d16c43 100644 --- a/parts/Keyframes.tex +++ b/parts/Keyframes.tex @@ -1,9 +1,9 @@ \chapter{Keyframes}% \label{cha:keyframes} -The word \textit{keyframe} has at least 3 contextual meanings in the NLE environment. First, the oldest meaning, is the \textit{I-Frame} definition used in codecs algorithms. These are \textit{key} frames that begin a new sequence of pictures, and are anchor points for repositioning (seeks). Next are the automation parameter data points. These are usually input to primitive math forms, like translation and zoom. And last are blobs of data that are chunks of parameters to plugins that can do almost anything. The data can be a simple value, like a fader value, or more complex like a group of points and colors in a sketcher plugin keyframe. The word keyframe has changed a lot in meaning. In the context of Cinelerra, keyframes are data values that have been associated to the timeline which affect the media presentation. So a keyframe no longer refers to a frame, but to a position on the timeline. +The word \textit{keyframe} has at least 3 contextual meanings in the NLE environment. First, the oldest meaning, is the \textit{I-Frame} definition used in codecs algorithms. These are \textit{key} frames that begin a new sequence of pictures, and are anchor points for repositioning (seeks). Next are the automation parameter data points. These are usually input to primitive math forms, like translation and zoom. And last are blobs of data that are chunks of parameters to plugins that can do almost anything. The data can be a simple value, like a fader value, or more complex like a group of points and colors in a sketcher plugin keyframe. The word keyframe has changed a lot in meaning. In the context of \CGG{}, keyframes are data values that have been associated to the timeline which affect the media presentation. So a keyframe no longer refers to a frame, but to a position on the timeline. -In Cinelerra, there are two general types of keyframe data, \textit{automation keyfra\-mes} (autos) which are drawn as colored lines and box icons overlayed at a point on a media track, and \textit{plugin keyframes} which are drawn as gold key symbols on a plugin bar of a track. \quad +In \CGG{}, there are two general types of keyframe data, \textit{automation keyfra\-mes} (autos) which are drawn as colored lines and box icons overlayed at a point on a media track, and \textit{plugin keyframes} which are drawn as gold key symbols on a plugin bar of a track. \quad \includegraphics[height=\baselineskip]{images/auto.png} Auto $\leftarrow$ Keyframe $\rightarrow$ Plugin \includegraphics[height=\baselineskip]{images/plugin.png} @@ -25,7 +25,7 @@ The Keyframes pulldown on the main timeline is used for Cut, Copy, Paste, Clear, Usually, the use of the keyframe values are more pleasing when the data varies smoothly between keyframe anchors on the timeline. This is useful in many cases that are familiar, like a video fade in/out, or audio pan between channels. To make the auto value change smoothly as the media is played, the keyframes auto values are points on curves that are created according to the design of the effect. Most of the primitive types can create anchor points on curves that are piecewise linear, smooth, sloped, or broken at the keyframe anchor points. -Curve smoothing is called \textit{interpolation} and it uses keyframe point values and control values that determine how the curve will react at the time the media is played or rendered. Interpolation uses 2 keyframes to create a set of intermediates which are used as active values between the \textit{previous} and \textit{next} keyframe anchors on the timeline. The way the intermediate data is generated depends on the type of curve used to invent these values. Cinelerra interpolates the intermediate values making the change happen smoothly and gradually over time. The simple linear mathematical formula for interpolation is: $a\times(1-t) + b\times t$ where $0\le t\le 1$ uniformly. +Curve smoothing is called \textit{interpolation} and it uses keyframe point values and control values that determine how the curve will react at the time the media is played or rendered. Interpolation uses 2 keyframes to create a set of intermediates which are used as active values between the \textit{previous} and \textit{next} keyframe anchors on the timeline. The way the intermediate data is generated depends on the type of curve used to invent these values. \CGG{} interpolates the intermediate values making the change happen smoothly and gradually over time. The simple linear mathematical formula for interpolation is: $a\times(1-t) + b\times t$ where $0\le t\le 1$ uniformly. \section{Using Autos}% \label{sec:using_autos} @@ -181,7 +181,7 @@ Also, before making a change, be sure to check the View pulldown and make the de \section{Compositor Keyframes}% \label{sec:compositor_keyframes} -Camera and projector translation is represented by two parameters: \textit{x} and \textit{y}, making it difficult to adjust with curves. Cinelerra solves this problem by relying on automatic keyframes. With a video track loaded, move the insertion point to the beginning of the track and enable automatic keyframe mode. Move the projector slightly in the compositor window to create a keyframe. Then go forward several seconds. Move the projector a long distance to create another keyframe and emphasize motion. This creates a second projector box in the compositor, with a line joining the two boxes. The joining line is the motion path. If you create more keyframes, more boxes are created. Once all the desired keyframes are created, disable automatic keyframe mode. +Camera and projector translation is represented by two parameters: \textit{x} and \textit{y}, making it difficult to adjust with curves. \CGG{} solves this problem by relying on automatic keyframes. With a video track loaded, move the insertion point to the beginning of the track and enable automatic keyframe mode. Move the projector slightly in the compositor window to create a keyframe. Then go forward several seconds. Move the projector a long distance to create another keyframe and emphasize motion. This creates a second projector box in the compositor, with a line joining the two boxes. The joining line is the motion path. If you create more keyframes, more boxes are created. Once all the desired keyframes are created, disable automatic keyframe mode. Dragging the auto curve with tweaking off, adjusts the previous keyframe. With tweaking on, if no keyframe is at the timeline position, then a new one is created at that position and the modification value is applied. If you are halfway between two keyframes, the first projector box is adjusted while the second one stays the same. The video does not appear to move in step with the first keyframe. This is because halfway between two keyframes, the projector translation is interpolated. In order to set the second keyframe you will need to move after the second keyframe. diff --git a/parts/Licenses.tex b/parts/Licenses.tex index 2a8385e..56f06c3 100644 --- a/parts/Licenses.tex +++ b/parts/Licenses.tex @@ -1,7 +1,7 @@ \chapter{Licenses}% \label{cha:licenses} -Cinelerra-GG codebase is licensed GPLv2+ +\CGG{} codebase is licensed GPLv2+ GREYcstoration plugin is licensed CeCILL v2.0 @@ -19,7 +19,7 @@ License: GPLv2+ and CeCILL and BSD and CC-BY and Public Domain \vspace{2ex} \textbf{GPLv2+ \qquad GNU General Public License version 2} -Cinelerra-GG codebase is licensed GPLv2+ +\CGG{} codebase is licensed GPLv2+ See: {\small \url{https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html }} diff --git a/parts/Loadandsave.tex b/parts/Loadandsave.tex index 2685641..2d9203a 100644 --- a/parts/Loadandsave.tex +++ b/parts/Loadandsave.tex @@ -2,18 +2,18 @@ \label{cha:load_save_and_the_EDL} There are many supported file formats that can be loaded and rendered to, that is to say, imported and exported. -The format of the file affects what Cinelerra does with it. +The format of the file affects what \CGG{} does with it. Some file formats are very slow to display on the timeline, especially video which is highly compressed. Drawing video thumbnails, picons, on the timeline can be very slow. (You can disable picon drawing for these files with the \textit{draw media} toggle in the patchbay to speed up operations). \section{EDL --- Edit Decision List}% \label{sec:edl_edit_decision_list} -When Cinelerra saves a file, it saves the EDL, Edit Decision List, of the current project but does not save any media. -Edit decision lists, more commonly referred to as the EDL, are generated by Cinelerra for storing projects. +When \CGG{} saves a file, it saves the EDL, Edit Decision List, of the current project but does not save any media. +Edit decision lists, more commonly referred to as the EDL, are generated by \CGG{} for storing projects. The EDL contains all the project settings and locations of every edit. Instead of media, the file contains pointers to the original media files on disk. -EDL files are specific to Cinelerra. +EDL files are specific to \CGG{}. The EDL files generally have an extension of .xml. The purpose of the EDL is to separate the media from all of the editing operations so that the original media remains intact. @@ -41,7 +41,7 @@ What is an MPEG file? A very common file format is MPEG because it works with m \subsection{Working with Still Images}% \label{sub:working_with_still_images} -Still images are played from 1 to any number of times, over and over; they have no duration. You can load still images on video tracks just like you do for any video file. When loaded on the track, use the down arrow on the timeline so you can see the single frame. To extend the length of the image, drag its boundaries just as you would do with regular video media. You can drag the boundaries of a still image as much as you want. Images in Cinelerra have the ability to be dragged to an infinite length. Alternatively, you can define the initial length of the loaded images. The parameter is set in the Images section of the \texttt{Settings $\rightarrow$ ~Preferences $\rightarrow$ ~Recording} window. +Still images are played from 1 to any number of times, over and over; they have no duration. You can load still images on video tracks just like you do for any video file. When loaded on the track, use the down arrow on the timeline so you can see the single frame. To extend the length of the image, drag its boundaries just as you would do with regular video media. You can drag the boundaries of a still image as much as you want. Images in \CGG{} have the ability to be dragged to an infinite length. Alternatively, you can define the initial length of the loaded images. The parameter is set in the Images section of the \texttt{Settings $\rightarrow$ ~Preferences $\rightarrow$ ~Recording} window. Unless your original material comes from a digital source using its best resolution (like a digital camera), the first thing you might have to do before you can use it is to somehow capture the assets into a usable digital medium. For old photos, paper maps, drawings or diagrams, you can scan them into a file format like PNG, TIF, TGA or JPG files by using a digital scanner. @@ -58,7 +58,7 @@ In order to be reasonably fast to use, you will most likely want to prepare them \subsubsection{Filelist format}% \label{ssub:filelist_format} -An image sequence is a series of ordered still pictures; for example a bunch of camera shots, frames of an animated scene, or series of frame shots. These can be loaded as multiple files. For timelapse sequences, as the size of camera images increases to 70 megabytes and beyond, and more images can be stored on a memory stick, more cache, memory, and system resources (such as file descriptors) are used by Cinelerra to load the images when you use the \textit{concatenate tracks} or \textit{paste at insertion point} strategies. It is very time consuming and resource consuming when each of the image files is loaded and concatenated as edits, and it also plays super poorly. Here is an alternative to the usual \textit{load}. This technique may also be useful for just a bunch of pictures. +An image sequence is a series of ordered still pictures; for example a bunch of camera shots, frames of an animated scene, or series of frame shots. These can be loaded as multiple files. For timelapse sequences, as the size of camera images increases to 70 megabytes and beyond, and more images can be stored on a memory stick, more cache, memory, and system resources (such as file descriptors) are used by \CGG{} to load the images when you use the \textit{concatenate tracks} or \textit{paste at insertion point} strategies. It is very time consuming and resource consuming when each of the image files is loaded and concatenated as edits, and it also plays super poorly. Here is an alternative to the usual \textit{load}. This technique may also be useful for just a bunch of pictures. File lists formats can be utilized in some way for the following list of types of \textit{Sequence files} The first line of the sequence list file identifies the list codec. @@ -79,7 +79,7 @@ Using the example of jpeg’s, the jpeg list sequence file type is the easiest a $ jpeglist.sh //file.jpg //DSC*.jpg \end{lstlisting} -\vspace*{1ex} \noindent If <\texttt{path}> is the same on both outfile and infiles, then file.jpg is created in the same directory as infiles, the directory contains the entire asset, and the file list uses relative paths; otherwise the file list contains absolute paths. Since this creates outfile list as a single asset, the memory demand and access time is much lower. When you load the outfile in Cinelerra, you will need to set \textit{Try ffmpeg last} since ffmpeg does not work with jpeglist sequence files. +\vspace*{1ex} \noindent If <\texttt{path}> is the same on both outfile and infiles, then file.jpg is created in the same directory as infiles, the directory contains the entire asset, and the file list uses relative paths; otherwise the file list contains absolute paths. Since this creates outfile list as a single asset, the memory demand and access time is much lower. When you load the outfile in \CGG{}, you will need to set \textit{Try ffmpeg last} since ffmpeg does not work with jpeglist sequence files. An example output file from running this script residing in the directory where \texttt{DSC*.jpg} files exist is shown below. @@ -132,11 +132,11 @@ This will access the media using ffmpeg which is slower so be patient. \subsection{Raw Image Format of Some Digital Cameras \& Probe Order}% \label{sub:raw_image_format_digital_camera_probe_order} -\textit{Warning: Expert Usage only.} Raw digital camera images are a special kind of image file that Cinelerra can load. Dcraw, as used by Cinelerra, is Dave Coffin’s open-source computer program which reads many raw-image formats typically produced by high-end digital cameras. Currently almost 700 of the types of cameras it recognizes are listed at: +\textit{Warning: Expert Usage only.} Raw digital camera images are a special kind of image file that \CGG{} can load. Dcraw, as used by \CGG{}, is Dave Coffin’s open-source computer program which reads many raw-image formats typically produced by high-end digital cameras. Currently almost 700 of the types of cameras it recognizes are listed at: \hspace{4em} {\small \url{https://www.cybercom.net/~dcoffin/dcraw/}} -For example, included is the Canon Powershot SX60 (newly available in August, 2014). Because ffmpeg tries to load \textit{any and every} file if \textit{Try Ffmpeg first} is enabled. it will make an attempt to load Raw Camera files first before any other file driver gets the chance. In addition, there is the possibility that dcraw could conflict with the standard TIFF format, since it might be seen as format type \textit{tiff-pipe}. Therefore it is necessary to specifically enable CR2 and either move it to the top or disable \textit{FFMPEG\_Early} and enable \textit{FFMPEG\_late} in the \textit{Probe Order} as described in another section (\ref{sub:probe_order_loading_media} and \ref{sec:ffmpeg_early_probe_explanation}). These changed settings will be retained across Cinelerra sessions in .\texttt{bcast5}. Raw Camera mode is most likely going to be used by expert camera users. +For example, included is the Canon Powershot SX60 (newly available in August, 2014). Because ffmpeg tries to load \textit{any and every} file if \textit{Try Ffmpeg first} is enabled. it will make an attempt to load Raw Camera files first before any other file driver gets the chance. In addition, there is the possibility that dcraw could conflict with the standard TIFF format, since it might be seen as format type \textit{tiff-pipe}. Therefore it is necessary to specifically enable CR2 and either move it to the top or disable \textit{FFMPEG\_Early} and enable \textit{FFMPEG\_late} in the \textit{Probe Order} as described in another section (\ref{sub:probe_order_loading_media} and \ref{sec:ffmpeg_early_probe_explanation}). These changed settings will be retained across \CGG{} sessions in .\texttt{bcast5}. Raw Camera mode is most likely going to be used by expert camera users. The first screenshot in figure~\ref{fig:raw} as in \texttt{Settings $\rightarrow$ ~Preferences $\rightarrow$ ~Playback A} Tab, shows the default checked settings of \textit{Interpolate CR2 images} and \textit{White balance CR2 images} which display the raw images in a way that you expect. However, you may want to uncheck them to ensure that no program manipulation has modified your images so that you can add plugins or make your own modifications. Unchecked indicates that the images are as closest as possible to unadulterated raw. @@ -154,7 +154,7 @@ The final screenshot showing the Resources Asset Info displaying the File format \section{Loading Files}% \label{sec:loading_files} -All data that you work with in Cinelerra is acquired either by loading from disk or recording from a device. This section describes loading. To bring up the Load window go to the File pulldown and choose Load Files (figure~\ref{fig:load}). Next \textit{Select files to load}, and click ok (the green checkmark) or \textit{Apply}. When you use the Apply button, the Load window remains active for easily loading more files later. Depending on the setting of the Insertion Strategy list box, your file will be either loaded directly on the Program window or in the Resources Media window. If the file is a still image, the project's attributes are not changed and the first frame of the track becomes the image. Cinelerra usually builds an index file if one does not already exist, in order to speed up drawing. You can edit and play the file while the index is being built. +All data that you work with in \CGG{} is acquired either by loading from disk or recording from a device. This section describes loading. To bring up the Load window go to the File pulldown and choose Load Files (figure~\ref{fig:load}). Next \textit{Select files to load}, and click ok (the green checkmark) or \textit{Apply}. When you use the Apply button, the Load window remains active for easily loading more files later. Depending on the setting of the Insertion Strategy list box, your file will be either loaded directly on the Program window or in the Resources Media window. If the file is a still image, the project's attributes are not changed and the first frame of the track becomes the image. \CGG{} usually builds an index file if one does not already exist, in order to speed up drawing. You can edit and play the file while the index is being built. \begin{figure}[htpb] \centering @@ -183,11 +183,11 @@ All data that you work with in Cinelerra is acquired either by loading from disk \begin{description} \item[Insertion Strategy] - Cinelerra lets you change what happens when you load a file. In the Load dialog window go to the Insertion strategy box and select one of the options in the drop down menu. Each of these options loads the file a different way. + \CGG{} lets you change what happens when you load a file. In the Load dialog window go to the Insertion strategy box and select one of the options in the drop down menu. Each of these options loads the file a different way. \begin{description} - \item [Replace current project:] all tracks in the current project are deleted and a set of new tracks are created to match the source file. Project attributes are only changed when loading XML. If multiple files are selected for loading, Cinelerra adds a set of new tracks for each file. New resources are created in the Resources Window, replacing the current ones. - \item [Replace current project and concatenate tracks: ] same as replace current project, except that if multiple files are selected, Cinelerra will concatenate the tracks of each file, inserting different source files in the same set of tracks, one after another, in alphanumeric order, starting at 0. New resources are created in the Resources Window, replacing the current ones. Files go across the timeline. + \item [Replace current project:] all tracks in the current project are deleted and a set of new tracks are created to match the source file. Project attributes are only changed when loading XML. If multiple files are selected for loading, \CGG{} adds a set of new tracks for each file. New resources are created in the Resources Window, replacing the current ones. + \item [Replace current project and concatenate tracks: ] same as replace current project, except that if multiple files are selected, \CGG{} will concatenate the tracks of each file, inserting different source files in the same set of tracks, one after another, in alphanumeric order, starting at 0. New resources are created in the Resources Window, replacing the current ones. Files go across the timeline. \end{description} For ffmpeg and mpeg files, when the Insertion strategy methodology in the \texttt{File $\rightarrow$ Load files} pulldown is chosen to be either \textit{Replace current project} or \textit{Replace current project and concatenate tracks}, the basic session format parameters are reinitialized to match new media. This selects the default asset and determines its width, height, and video length, frame rate, calculates the colormodel, and assumes square pixels to make an intelligent guess about aspect ratio for video. For audio, the sample rate, audio length, and channel count (mono, stereo, or 5.1) are reinitialized. In addition the \textit{Track Size} will be computed and is reinitialized to match the new loaded media. When using \textit{replace} type insertion strategy, the new asset list is the only media in use so that this update saves the user from immediately needing to change the session format to match the only possibility. \begin{description} @@ -198,7 +198,7 @@ All data that you work with in Cinelerra is acquired either by loading from disk \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. See the section on Nesting.description \end{description} - The insertion strategy is a recurring option in many of Cinelerra's functions. In each place the options do the same thing. If you load files by passing command line arguments to Cinelerra, the files are loaded with \textit{Replace current project} by default. + 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. \begin{enumerate} [noitemsep] \item Select a single file by highlighting. @@ -214,11 +214,11 @@ This behavior is available in most listboxes. It is an especially useful metho You can also get a sub-list of potential files to choose from. For example, you know that the file you are looking for begins with the capital letter "C". If you keyin "C" into the selection box immediately below the list of files, and then click the left mouse button, a sub-list of files beginning with the "C" shows up under the selection box. Clicking the right mouse button cancels this sub-list. \item[Loading the backup] There is one special XML file on disk at all times. - After every editing operation, Cinelerra saves the current project to a backup in \texttt{\$HOME/.bcast/backup.xml}. - In the event of a crash, the first thing you should do after restarting Cinelerra is select \texttt{File $\rightarrow$ Load backup} in order to load the backup. - This will start Cinelerra at the point in your editing operations directly before the program crashed. - It is important after a crash to restart Cinelerra without performing any editing operations as you will overwrite the backup. - Note that the backup.xml file is always a single file which means that when you are working with two instances of Cinelerra open at the same time, they use the same backup file. + After every editing operation, \CGG{} saves the current project to a backup in \texttt{\$HOME/.bcast/backup.xml}. + In the event of a crash, the first thing you should do after restarting \CGG{} is select \texttt{File $\rightarrow$ Load backup} in order to load the backup. + This will start \CGG{} at the point in your editing operations directly before the program crashed. + It is important after a crash to restart \CGG{} without performing any editing operations as you will overwrite the backup. + Note that the backup.xml file is always a single file which means that when you are working with two instances of \CGG{} open at the same time, they use the same backup file. In this case, the last operation made in whatever instance will overwrite the backup. \end{description} @@ -285,7 +285,7 @@ The order change will not take effect until you click on the checkmark in both t Some kinds of media have \textit{program} streams, like captured mpeg broadcast stream data. For example, you may be able to \textit{tune} to channel 9, but be able to see 9-1, 9-2, and 9-3 on your TV. If you open a capture of this kind of media, all of the channels are present in the timeline. To select and view just one program, you can use Alt-1 to select program 1, or Alt-2 to select program 2, etc. up to Alt-8. This will remove all of the other unrelated tracks and reset the format. This feature can be used even if there is only one program, by pressing Alt-1, and the effect will be to reset the session format to the parameters from the media probe. Note that there may be several audio \textit{programs} associated to a video stream; for example, there may be dialog in another language or some kind of descriptive dialog. Since the first associated audio is always selected, this may not produce the intended results. -Below are screenshots illustrating multiple program streams (figure~\ref{fig:stream}). The left screenshot is a partial main Cinelerra window showing a pre-recorded broadcast TV media/audio stream with 3 programs plus several associated audio tracks. The second screenshot of \textit{Asset Detail} provides detailed information on each of the streams obtained through executing the Info Details as explained in the section \textit{Info Asset Details}. +Below are screenshots illustrating multiple program streams (figure~\ref{fig:stream}). The left screenshot is a partial main \CGG{} window showing a pre-recorded broadcast TV media/audio stream with 3 programs plus several associated audio tracks. The second screenshot of \textit{Asset Detail} provides detailed information on each of the streams obtained through executing the Info Details as explained in the section \textit{Info Asset Details}. \begin{figure}[htpb] \centering @@ -297,14 +297,14 @@ Below are screenshots illustrating multiple program streams (figure~\ref{fig:str \section{Saving Your Work}% \label{sec:saving_your_work} -You can save your work as a project, which is what is loaded in Cinelerra now, or as an export, which is all the media it takes to reproduce your project space. +You can save your work as a project, which is what is loaded in \CGG{} now, or as an export, which is all the media it takes to reproduce your project space. \subsection{Saving Project Files}% \label{sub:saving_project_files} -Saving XML files is useful to save the current state of Cinelerra before quitting an editing session. Cinelerra saves projects as XML files. There are a few options you can use to save your work via the File pulldown menu: \textit{Save}, \textit{Save as\dots}, \textit{Export project}, \textit{Save backup}. You can either overwrite an existing file or enter a new filename. Cinelerra automatically concatenates .xml to the filename if no .xml extension is given. +Saving XML files is useful to save the current state of \CGG{} before quitting an editing session. \CGG{} saves projects as XML files. There are a few options you can use to save your work via the File pulldown menu: \textit{Save}, \textit{Save as\dots}, \textit{Export project}, \textit{Save backup}. You can either overwrite an existing file or enter a new filename. \CGG{} automatically concatenates .xml to the filename if no .xml extension is given. -When Cinelerra saves a file, it saves the EDL of the current project but does not save any media, instead just pointers to the original media files. For each media file, the XML file stores either an absolute path or just the relative path. If the media is in the same directory as the XML file, a relative path is saved. If it is in a different directory, an absolute path is saved. +When \CGG{} saves a file, it saves the EDL of the current project but does not save any media, instead just pointers to the original media files. For each media file, the XML file stores either an absolute path or just the relative path. If the media is in the same directory as the XML file, a relative path is saved. If it is in a different directory, an absolute path is saved. You have to be careful when moving files around to avoid breaking the media linkages. You can keep the media and the XML file in the same directory forever and freely move the whole directory, since relative paths are saved. Alternatively you can save the XML file in a different directory than the media but then you can't move the media. In this case you can freely move your XML file around, since absolute paths are saved. If you saved your XML file in the same directory as your media but you would like to move location, you can change the paths from relative to absolute by going to \texttt{File $\rightarrow$ Save as}$\dots$ and entering the new location. Similarly if you saved your project outside your media directory but you would like to move your media to another location, you can change the paths from absolute to relative by going to File $\rightarrow$ Save as\dots and saving your XML file in the same directory as the media. @@ -352,18 +352,18 @@ Originally, the easiest way to maintain a project for moving to another computer \subsection{Information about Backups and Perpetual Session}% \label{sub:information_backups_perpetual_session} -In an effort to minimize loss of work due to user, hardware, or software issues, Cinelerra has some automatic backup capabilities. +In an effort to minimize loss of work due to user, hardware, or software issues, \CGG{} has some automatic backup capabilities. -Cinelerra automatically saves every \textit{editing operation} to the current project on disk continuously to a file named \texttt{\$HOME/.bcast5/backup.xml}. In the unlikely event of a crash, when you restart Cinelerra, you should select \texttt{File $\rightarrow$ Load backup} in order to continue with the operations that were recorded before the crash. If you have more than 1 instance of Cinelerra running, only the last editing operation made in whichever instance it was last made, will overwrite the backup. +\CGG{} automatically saves every \textit{editing operation} to the current project on disk continuously to a file named \texttt{\$HOME/.bcast5/backup.xml}. In the unlikely event of a crash, when you restart \CGG{}, you should select \texttt{File $\rightarrow$ Load backup} in order to continue with the operations that were recorded before the crash. If you have more than 1 instance of \CGG{} running, only the last editing operation made in whichever instance it was last made, will overwrite the backup. -There is still 1 more backup that may save you. If for some reason you forgot to use \textit{Load backup} immediately when restarting, 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. This same file is also used by multiple instances of Cinelerra. +There is still 1 more backup that may save you. If for some reason you forgot to use \textit{Load backup} immediately when restarting, 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. This same file is also used by multiple instances of \CGG{}. -\textbf{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 Cinelerra you will be right back where you left off. +\textbf{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. The binary file name is \texttt{\$HOME/.bcast5/perpetual.dat} and as long as \texttt{Settings $\rightarrow$ Preferences}, the Appearance tab has the Flag \textit{Perpetual session} set this capability takes effect. It is very important to understand that this is not the same as the continuously editing- operation-updated \texttt{backup.xml} file. -The perpetual.dat file is \textit{only} updated when you Quit Cinelerra in the normal manner. -Which means if you interrupt the program, or kill it, or there is a segv or system crash, the \texttt{perpetual.dat} file will only reflect the state of your project from when you last started Cinelerra, and none of the editing/undo’s/redo’s you executed during the current session which was not ended normally. +The perpetual.dat file is \textit{only} updated when you Quit \CGG{} in the normal manner. +Which means if you interrupt the program, or kill it, or there is a segv or system crash, the \texttt{perpetual.dat} file will only reflect the state of your project from when you last started \CGG{}, and none of the editing/undo’s/redo’s you executed during the current session which was not ended normally. \vspace{1ex} Some notes to keep in mind about Perpetual session are: @@ -373,10 +373,10 @@ Some notes to keep in mind about Perpetual session are: \item takes disk space in \texttt{.bcast5} area and this could get really big \item after you complete a project, it is advisable to turn off the Perpetual session flag before quitting so that when you start a new project, you can start with a fresh perpetual.dat by turning the flag on or - after stopping Cinelerra, delete the current \texttt{\$HOME/.bcast5/perpetual.dat} file + after stopping \CGG{}, delete the current \texttt{\$HOME/.bcast5/perpetual.dat} file \item only session data is backed up (not program feature setup) \item the files backup.xml and backup.prev will operate the same as before so that if there is a crash, you will want to use \texttt{File $\rightarrow$ Load backup} in order to continue where you were interrupted. - \item to start Cinelerra without using your Perpetual session data even if enabled, use your\_cinelerra\_path\texttt{/cin/bin -S} + \item to start \CGG{} without using your Perpetual session data even if enabled, use your\_cinelerra\_path\texttt{/cin/bin -S} \end{itemize} diff --git a/parts/Multi5s.tex b/parts/Multi5s.tex index 9197855..2ffbfa6 100644 --- a/parts/Multi5s.tex +++ b/parts/Multi5s.tex @@ -123,7 +123,7 @@ Instead of Open Mixers, you can Insert Mixers with new tracks at the timeline in 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 Cinelerra-GG 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!) +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 @@ -257,7 +257,7 @@ Sometimes the association does not stick initially. If not, highlight the mixer \section{Multi-Pane Support}% \label{sec:multipane_support} -The main Cinelerra 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{} for toggle split horizontal or \textit{} 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. +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{} for toggle split horizontal or \textit{} 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}). @@ -271,11 +271,11 @@ Multi-Pane, or split screen, allows you to look at the first part of a movie at \section{Multi-Screen / Playback Configuration}% \label{sec:multiscreen_playback_configuration} -Cinelerra-GG supports 2 separate preferences for the playback configuration. Cinelerra 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. +\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 Cinelerra 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). +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). -\subsubsection*{Yes, you can watch TV on Cinelerra instead of Cinelerra on TV.}% +\subsubsection*{Yes, you can watch TV on \CGG{} instead of \CGG{} on TV.}% \label{ssub:watch_tv_on_cinelerra} 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 . @@ -283,20 +283,20 @@ Figure~\ref{fig:multi-screen01} shows partial window of \textit{*Playback A} sel \begin{figure}[htpb] \centering \includegraphics[width=0.9\linewidth]{images/multi-screen01.png} - \caption{Multi-screen Playback example useful for watching Cinelerra run on the \textit{big screen}} + \caption{Multi-screen Playback example useful for watching \CGG{} run on the \textit{big screen}} \label{fig:multi-screen01} \end{figure} \section{Multi-Session}% \label{sec:multi_session} -You can run as many sessions of Cinelerra 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:\\ +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} \section{Multi-Viewer Window Support}% \label{sec:multi_viewer_window_support} -You can create as many Viewer windows as you want in Cinelerra. 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}). +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 diff --git a/parts/Overlays.tex b/parts/Overlays.tex index fc2dd72..6c5b1d0 100644 --- a/parts/Overlays.tex +++ b/parts/Overlays.tex @@ -1,7 +1,7 @@ \chapter{Overlays}% \label{cha:overlays} -The purpose of the Overlay Modes is to control the foreground and background stacking and use blending to reshape image object boundaries. It normally makes use of a binary type alpha blending system for all in or all out. To use the available operations in Cinelerra GG, follow these steps: +The purpose of the Overlay Modes is to control the foreground and background stacking and use blending to reshape image object boundaries. It normally makes use of a binary type alpha blending system for all in or all out. To use the available operations in \CGG{}, follow these steps: \begin{enumerate} \item In the main window, look at the Patchbay on the far left. @@ -23,9 +23,9 @@ Porter-Duff is the industry standard for alpha blending operations. Only a shor Conceptually, when the foreground color is completely opaque, the resulting blended color will be the foreground color. If it is transparent, the blended color will be the color of the background. When the value of the alpha channel is $1$, the image is all there, if it is $0$, there is no image at all, otherwise it is only partially there. In other words, the alpha value goes from $0$ to $1$, where full transparency is $0$ and opaque is represented by $1$. Alpha blending models opacity. -When blending source and destination shapes (Dst and Src), the shape boundaries can be changed with the alpha blending effects. There are a total of 10 standard Porter-Duff operators, but there are 30 possible overlay modes used in Cinelerra-GG. Each is characterized by its value in the four regions: source, destination and both, with the \textit{neither} region always being blank. The source and destination regions can either be blank or filled with the source or destination colors. A specific compositing math formula is used to calculate effect. This is only applicable to RGB; some effort has been made to accommodate YUV, but the effects are not as predictable, and may not be useful. +When blending source and destination shapes (Dst and Src), the shape boundaries can be changed with the alpha blending effects. There are a total of 10 standard Porter-Duff operators, but there are 30 possible overlay modes used in \CGG{}. Each is characterized by its value in the four regions: source, destination and both, with the \textit{neither} region always being blank. The source and destination regions can either be blank or filled with the source or destination colors. A specific compositing math formula is used to calculate effect. This is only applicable to RGB; some effort has been made to accommodate YUV, but the effects are not as predictable, and may not be useful. -Below, in figure~\ref{fig:normal}, are the results of utilizing the 30 available operations within Cinelerra as listed on a following page. Src is the solid green rectangle and Dst is the solid red rectangle. There are better illustrations of what alpha blending can do, however for consistency sake, these are the results when using standards. +Below, in figure~\ref{fig:normal}, are the results of utilizing the 30 available operations within \CGG{} as listed on a following page. Src is the solid green rectangle and Dst is the solid red rectangle. There are better illustrations of what alpha blending can do, however for consistency sake, these are the results when using standards. \begin{figure}[htpb] \centering diff --git a/parts/Plugins.tex b/parts/Plugins.tex index fe52bfa..a47320e 100644 --- a/parts/Plugins.tex +++ b/parts/Plugins.tex @@ -3,7 +3,7 @@ There are realtime effects -- these are the most useful and probably all you will ever need -- and rendered effects. The rendered effects are discussed separately in the \nameref{sec:rendered_effects} section. -Effect plugins modify the track when played, according to how they are set, with no permanent storage of the output except when the project is rendered. There are many Plugins in Cinelerra-GG Infinity which are actually quite easy to use just by experimenting with them. The plugins are shown and selected from the \textit{Resources window} (figure~\ref{fig:video-plugins}). They are described in more detail later. +Effect plugins modify the track when played, according to how they are set, with no permanent storage of the output except when the project is rendered. There are many Plugins in \CGG{} Infinity which are actually quite easy to use just by experimenting with them. The plugins are shown and selected from the \textit{Resources window} (figure~\ref{fig:video-plugins}). They are described in more detail later. \begin{figure}[htpb] \centering @@ -112,14 +112,14 @@ Shared effects and shared tracks allow very unique things to be done. In the cas When a shared effect is played back, it is processed just like a normal effect except the configuration is copied from the original effect. Some effects detect when they are being shared. These effects determine what tracks are sharing them and either mix the two tracks together or use one track to stage some value. -When an original track has a shared track as one of its effects, the shared track itself is used as a \textit{realtime} effect. This is more commonly known as \textit{bouncing tracks} but Cinelerra achieves the same operation by attaching shared tracks. The fade and any effects in the shared track are applied to the original track. Once the shared track has processed the data, the original track performs any effects which come below the shared track and then composites it on the output. +When an original track has a shared track as one of its effects, the shared track itself is used as a \textit{realtime} effect. This is more commonly known as \textit{bouncing tracks} but \CGG{} achieves the same operation by attaching shared tracks. The fade and any effects in the shared track are applied to the original track. Once the shared track has processed the data, the original track performs any effects which come below the shared track and then composites it on the output. In order to prevent the shared track from mixing the same data as the original track on the output, enable the output \texttt{mute} toggle in the patchbay next to each track for which you do not want to mix on the output. If you are making a video and you do want the shared track to composite the original track's data on the output a second time, the video from the shared track would always appear under the video from the original track, regardless of whether it was on top of the original track. This is because shared tracks are composited in order of their attachment. Since it is part of the original track it has to be composited before the original track is. \section{Saved Plugin Presets}% \label{sec:saved_plugin_preset} -\textit{Presets} and \textit{Factory Presets} for Plugin settings are now combined with the Preset Keyframe Parameters allowing you to choose, apply, delete, and edit your own Presets which can then be easily saved in the file \texttt{\$HOME/.bcast5/Cinelerra\_\\presets}. In addition to your own saved presets, there are automatically available Factory presets for some plugins, for example the Lens video plugin. The Factory presets are preceded by an asterisk (*) and can not be modified permanently. +\textit{Presets} and \textit{Factory Presets} for Plugin settings are now combined with the Preset Keyframe Parameters allowing you to choose, apply, delete, and edit your own Presets which can then be easily saved in the file \texttt{\$HOME/.bcast5/\CGG{}\_\\presets}. In addition to your own saved presets, there are automatically available Factory presets for some plugins, for example the Lens video plugin. The Factory presets are preceded by an asterisk (*) and can not be modified permanently. \begin{wrapfigure}[4]{r}{0.3\linewidth} \vspace{-2ex} @@ -166,7 +166,7 @@ To get a short one or a few lines description of a plugin, right click on that p \subsection{Delete Plugins to save Resources Space or make them Unavailable}% \label{sub:delete_plugin_resouces_unavaible} -Maybe you just don't ever use certain plugins or would prefer to only find the ones that are useful to you. To save space in the Resources Window so you don't have to scroll to find the plugins you want as much, a feature to delete others is available. If you have a System install, you will have to be root for this function to be usable. The plugins will be permanently deleted, but only until you rebuild or download a new set of Cinelerra binaries. To delete a plugin, highlight the plugin you no longer want in the Resources window then press Ctrl-Shift-delete. A small window will come up allowing you to change your mind and red-X out or check-OK to remove plugin. This feature may come in handy if you have personnel working on media for you and you only want them to exercise certain functions. Or maybe you can't remember which is the good \textit{deinterlace} plugin out of the available five or so and want to delete the extras so as not to be confused. The ffmpeg, \textit{ladspa}, and \textit{lv2} plugins can not be deleted in this manner but, of course, you can always turn them off from view by clicking on \textit{Visibility} and unchecking them (figure~\ref{fig:remove-effect}). +Maybe you just don't ever use certain plugins or would prefer to only find the ones that are useful to you. To save space in the Resources Window so you don't have to scroll to find the plugins you want as much, a feature to delete others is available. If you have a System install, you will have to be root for this function to be usable. The plugins will be permanently deleted, but only until you rebuild or download a new set of \CGG{} binaries. To delete a plugin, highlight the plugin you no longer want in the Resources window then press Ctrl-Shift-delete. A small window will come up allowing you to change your mind and red-X out or check-OK to remove plugin. This feature may come in handy if you have personnel working on media for you and you only want them to exercise certain functions. Or maybe you can't remember which is the good \textit{deinterlace} plugin out of the available five or so and want to delete the extras so as not to be confused. The ffmpeg, \textit{ladspa}, and \textit{lv2} plugins can not be deleted in this manner but, of course, you can always turn them off from view by clicking on \textit{Visibility} and unchecking them (figure~\ref{fig:remove-effect}). \begin{figure}[htpb] \centering @@ -178,7 +178,7 @@ Maybe you just don't ever use certain plugins or would prefer to only find the o \subsection{Updatable Icon Image Support}% \label{sub:updatable_icon_image_support} -When running Cinelerra-GG Infinity builtin icons are loaded before the program starts. Png files in the path: \\ \texttt{picon/picon\_set\_name} \\ +When running \CGG{} Infinity builtin icons are loaded before the program starts. Png files in the path: \\ \texttt{picon/picon\_set\_name} \\ are searched before the images loaded into memory. Override \texttt{icon.png} files must be put into the path: \\ \texttt{/picon/picon\_set\_name} \\ There are currently 4 sets of icons and their directory names are \textit{cinfinity} (the default) and \textit{cinfinity2}, \textit{original} (the long-time original set), and \textit{smoother} (generally was in use by some of the themes). An example, to replace the cinfinity icon of Blue Banana with a red apple instead, create your .png file as desired, and replace the file in: \\ \texttt{/bin/plugins/picon/cinfinity/bluebanana.png}. @@ -204,7 +204,7 @@ In order to make the icons available to all themes, which would thus be the defa \texttt{/bin/plugins/picon/cinfinity} (or cinfinity2, original or smoother) -The Cinelerra program looks for a plugin icon in two places: +The \CGG{} program looks for a plugin icon in two places: \begin{enumerate} \item First, it tries to find a png file in \texttt{/plugins/picon/cinfinity}(2) or original, smoother directory. @@ -233,17 +233,17 @@ Keep in mind these points for newly created plugin icons: \item All ffmpeg icons must begin with \texttt{ff\_.png} (Resources window title will still be F\_\dots) \item For ladspa, check in the \texttt{} directory (\texttt{\$HOME/.bcast5} normally) and look for the text file \texttt{\$HOME/.bcast5/ladspa\_plugins\dots} for the names of the ladspa libraries which correspond to plugin names where the needed name is the basename of the \texttt{.so} file. For example \texttt{pha\-sers\_1217.so} would need to have a \texttt{phasers\_1217.png} file. There may be multiple plugins in a single “so” file which means that you can only have 1 icon to represent all of the plugins in that file; again as in phasers. - \item Once you have placed the .png file in the correct spot, you will have to restart Cinelerra to test it. - \item To submit your .png file for inclusion into Cinelerra-GG Infinity for all to enjoy, it is best to upload it to any datafilehost and notify the community via email with any informative documentation. + \item Once you have placed the .png file in the correct spot, you will have to restart \CGG{} to test it. + \item To submit your .png file for inclusion into \CGG{} Infinity for all to enjoy, it is best to upload it to any datafilehost and notify the community via email with any informative documentation. \end{itemize} \subsection{Example of new Plugin Icon Testing}% \label{sub:example_plugin_icon_testing} -For a simple test just copy an existing \texttt{.png} file into the cinfinity directory with the name \texttt{bluebanana.png} to write over the existing file. This icon will now show up in Cinelerra and still execute the Blue Banana function. +For a simple test just copy an existing \texttt{.png} file into the cinfinity directory with the name \texttt{bluebanana.png} to write over the existing file. This icon will now show up in \CGG{} and still execute the Blue Banana function. For an ffmpeg plugin, create \texttt{ff\_loop.png} and copy it to: \\ -\texttt{/plugins/picon/original}. This icon will show up in Cinelerra if original is selected and execute the \textit{F\_loop} function. +\texttt{/plugins/picon/original}. This icon will show up in \CGG{} if original is selected and execute the \textit{F\_loop} function. For a ladspa plugin, the text line in \texttt{\$HOME/.bcast5/ladspa\_plugins}$\dots$ as seen below: 2 \texttt{am\_pitchshift\_1433.so} \\ @@ -263,7 +263,7 @@ Restart cin by changing \texttt{Settings$\rightarrow$ Preferences$\rightarrow$ A \subsection{Plugins/Effects Visibility}% \label{sub:plugins_effects_visibility} -Cinelerra contains many plugins, especially with the addition of ffmpeg, and it is somewhat difficult to find the one you are looking for in the Resources window. In Cinelerra-GG Infinity, the plugins have been categorized into the following subsets in the \textit{Visibility} section of the Resources window to make it easier to locate a particular one: +\CGG{} contains many plugins, especially with the addition of ffmpeg, and it is somewhat difficult to find the one you are looking for in the Resources window. In \CGG{} Infinity, the plugins have been categorized into the following subsets in the \textit{Visibility} section of the Resources window to make it easier to locate a particular one: \textit{Audio Effects, \quad Video Effects, \quad Audio Transitions, \quad Video Transitions} @@ -290,7 +290,7 @@ Highlight the set you want to turn on and a check mark appears to show it is act \label{sub:expanders_plugin_subtrees} To accentuate a set of common plugins, there are \textit{expander} arrows on the left side of the Resources window. You will see these expanders only when in \textit{Display text} mode, not \textit{icon} mode. -Cinelerra’s default setup is in the file \texttt{\$CIN\_DAT/expan\-ders.txt} but if the user wants their own specific setup and if the file in \texttt{\$HOME/.\\bcast5/expanders.txt} exists, it will take precedence. +\CGG{}’s default setup is in the file \texttt{\$CIN\_DAT/expan\-ders.txt} but if the user wants their own specific setup and if the file in \texttt{\$HOME/.\\bcast5/expanders.txt} exists, it will take precedence. If there are recommendations for other relevant categories, they can be added. The subtree structure is applicable to any of the \textit{Video Effects/Transitions} or \textit{Audio Effects/Transitions}. You can not sort once an expansion is in effect (figure~\ref{fig:expander}). 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: @@ -319,14 +319,14 @@ Audio Effects \subsection{Speed-up of Ffmpeg plugin usage with OPTS files}% \label{sub:speedup_ffmpeg_plugin_opts} -You can speed up some ffmpeg plugins that are quite time-consuming and use a lot of CPU. For a specific color-based example, Cinelerra uses 6 primary rendering color models. All of them have 3 components at full scale. Direct usage of a particular ffmpeg plugin from the ffmpeg command line might handle the planar at less than full scale chroma (yuv420), which means there is less data to manipulate. But when cinelerra loads a video it uses full scale color models. In other words: +You can speed up some ffmpeg plugins that are quite time-consuming and use a lot of CPU. For a specific color-based example, \CGG{} uses 6 primary rendering color models. All of them have 3 components at full scale. Direct usage of a particular ffmpeg plugin from the ffmpeg command line might handle the planar at less than full scale chroma (yuv420), which means there is less data to manipulate. But when cinelerra loads a video it uses full scale color models. In other words: \begin{itemize}[noitemsep] - \item Cinelerra uses \textit{yuv444} + \item \CGG{} uses \textit{yuv444} \item ffmpeg uses \textit{yuv420} \end{itemize} -if using an ffmpeg plugin that uses filters and many passes over the data, the amount of data is a big factor. If you load a file in Cinelerra with a +if using an ffmpeg plugin that uses filters and many passes over the data, the amount of data is a big factor. If you load a file in \CGG{} with a \texttt{same\_directory\_path\_and\_filename.opts} @@ -380,7 +380,7 @@ It is an effect that modulates the signal, varies the pitch up and down (instead \subsection{Compressor (Single Band)}% \label{sub:compressor} -The audio compressor reduces the dynamic range of the audio, not the amount of data required to store the audio. In Cinelerra the compressor actually performs the function of an expander and compressor of the signal's dynamic range. A third and more sophisticated use serves to highlight the voice with respect to the sound background. It is a multitrack effect and can also be applied as a Shared Effect. (figure~\ref{fig:compressor}). +The audio compressor reduces the dynamic range of the audio, not the amount of data required to store the audio. In \CGG{} the compressor actually performs the function of an expander and compressor of the signal's dynamic range. A third and more sophisticated use serves to highlight the voice with respect to the sound background. It is a multitrack effect and can also be applied as a Shared Effect. (figure~\ref{fig:compressor}). \begin{figure}[htpb] \centering @@ -701,7 +701,7 @@ Currently available waveforms are: \textit{Sine}; \textit{Sawtooth}; \textit{Rev \label{sec:audio_ladspa_effects} \settocdepth{section} -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: +Ladspa effects are supported in realtime and rendered mode for audio. These audio effects are supported since \CGG{} 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,numbers=none] export LADSPA_PATH=/usr/lib/ladspa @@ -710,20 +710,20 @@ export LADSPA_PATH=/usr/lib/ladspa \section[Audio LV2 / Calf Plugins]{Audio LV2 / Calf Plugins\protect\footnote{Optional Feature - OS dependent}}% \label{sec:audio_lv2_calf_plugins} -LV2 is an open standard for audio plugins using a simple interface with extensions which add functionality to support audio software. These plugins were written by external developers and provide additional audio effects to Cinelerra audio without having to change Cinelerra every time. Because the LV2 plugins are separate from Cinelerra-GG Infinity, if one fails or does not perform as expected, Cinelerra should stay running and you will have to contact the programmers responsible for that plugin for a fix. +LV2 is an open standard for audio plugins using a simple interface with extensions which add functionality to support audio software. These plugins were written by external developers and provide additional audio effects to \CGG{} audio without having to change \CGG{} every time. Because the LV2 plugins are separate from \CGG{} Infinity, if one fails or does not perform as expected, \CGG{} should stay running and you will have to contact the programmers responsible for that plugin for a fix. -Typically, a user OS has specialized package groups installed. It is difficult to create one build of Cinelerra to accommodate all potential LV2 plugins. Specifically for the \textit{Calf-Studio LV2 plugins}, you should install the \textit{Calf Plugins} package. The user’s computer must have \textit{gtk-2-runtime} installed, which seems to be automatically done already for most distros. For users doing their own builds, you can build Cinelerra without LV2 support by including \texttt{-{}-without-lv2} in the configure step. The default build is \texttt{-{}-with-lv2=yes} and requires that \textit{GTK-2-devel} must be installed or the build will fail and notify you. +Typically, a user OS has specialized package groups installed. It is difficult to create one build of \CGG{} to accommodate all potential LV2 plugins. Specifically for the \textit{Calf-Studio LV2 plugins}, you should install the \textit{Calf Plugins} package. The user’s computer must have \textit{gtk-2-runtime} installed, which seems to be automatically done already for most distros. For users doing their own builds, you can build \CGG{} without LV2 support by including \texttt{-{}-without-lv2} in the configure step. The default build is \texttt{-{}-with-lv2=yes} and requires that \textit{GTK-2-devel} must be installed or the build will fail and notify you. LV2 plugins have their own category in the \textit{Audio Plugins Visibility} as lv2. There is a simple text interface which is available via the usual \textit{Show controls} button when the plugin is attached to the audio track. This window has a Reset button to get back to the default settings. To change a value of one of the parameters, highlight that parameter and type in the new value in the topmost text box and then hit Apply to take effect -- the reason for requiring hitting apply is so that the audio is not moving all over the place while you are still typing a value. More easily, you can just move the \textit{pot dial} or the \textit{slider} bar which take effect automatically. -Cinelerra’s buffer size setting may cause a delay in activation of the changes you make taking effect, so you can lessen the time by using a small buffer. Notice that $1024$ samples at $48000$ samples per sec is only $\frac{1}{50}^{th}$ a second. This is not a lot of time to shuffle a bunch of stuff. Short buffers produce low latency, but no time for complex programs or lots of stacked effects. Bigger buffers allow for more complex setups. +\CGG{}’s buffer size setting may cause a delay in activation of the changes you make taking effect, so you can lessen the time by using a small buffer. Notice that $1024$ samples at $48000$ samples per sec is only $\frac{1}{50}^{th}$ a second. This is not a lot of time to shuffle a bunch of stuff. Short buffers produce low latency, but no time for complex programs or lots of stacked effects. Bigger buffers allow for more complex setups. To set the buffer size: \texttt{Settings $\rightarrow$ Preferences $\rightarrow$ tab Playback A $\rightarrow$ section Audio Out $\rightarrow$ 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}. +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 \CGG{} 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 \CGG{} -- 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}[numbers=none] export LV2_PATH=/tmp/j/balance.lv2/usr/local/lib/lv2/:/usr/local/lv2 @@ -737,7 +737,7 @@ If there is no default \texttt{LV2\_PATH} set automatically, the value will be \ When you change this field, cin will automatically restart and load the newly specified lv2 plugins. If when switching \texttt{LV2\_PATH} or if the lv2 audio plugins are not displayed/usable in the Resources window, you can execute a reload via: \texttt{Settings $\rightarrow$ Preferences $\rightarrow$ Interface tab $\rightarrow$ Reload plugin in\-dex} -or else before you bring up Cinelerra, delete \texttt{\$HOME/.bcast5/Cinelerra\_\\plugins} so that the plugins get properly reloaded. +or else before you bring up \CGG{}, delete \texttt{\$HOME/.bcast5/\CGG{}\_\\plugins} so that the plugins get properly reloaded. There are some lv2 plugins that display a \textit{glitzy} UI (User Interface); for example the \textit{Calf plugins}. For these LV2 plugins, if you want that to automatically come up without having to click on the UI button on the simplified UI interface, there is a flag to enable that. It is at: @@ -754,7 +754,7 @@ Below is a screencast showing the auto start gui flag and the \texttt{LV2\_PATH} \label{fig:reload} \end{figure} -There is also a blacklist that prevents known problematic-for-Cinelerra lv2 plugins from loading to avoid crashes. If others are found to have problems, once informed about them, they will be added to this blacklist. In order to determine which lv2 plugin causes a SEGV on Cinelerra startup, you can start from a terminal window and you will see each plugin that is being loaded and the last one shown before the crash is a bad plugin. However, many of the plugins causing a crash are due to not having been compiled on your current system with the current compiler so may actually work correctly on other user systems and so will not be added to the Cinelerra-wide blacklist. You can either recompile the problematic plugin, or modify your own blacklist which you will have to maintain and save so as not to be written over when loading a new build. +There is also a blacklist that prevents known problematic-for-\CGG{} lv2 plugins from loading to avoid crashes. If others are found to have problems, once informed about them, they will be added to this blacklist. In order to determine which lv2 plugin causes a SEGV on \CGG{} startup, you can start from a terminal window and you will see each plugin that is being loaded and the last one shown before the crash is a bad plugin. However, many of the plugins causing a crash are due to not having been compiled on your current system with the current compiler so may actually work correctly on other user systems and so will not be added to the \CGG{}-wide blacklist. You can either recompile the problematic plugin, or modify your own blacklist which you will have to maintain and save so as not to be written over when loading a new build. Note the UI button in the upper right hand corner above the Reset button (figure~\ref{fig:calf}). If you click this button, a glitzy interface window comes up (if available) for changing variable values. It is possible that a bug in the LV2 plugin causes the glitzy window to appear as blank and then die, but in that case the original simple text window might still work -- in either case, if the timeline movement hangs, just detach the plugin to continue your current session. There is an environment variable that you can set, \texttt{BC\_TRAP\_LV2\_SEGV}, to get a dump of the failure which may be helpful for debugging. @@ -765,9 +765,9 @@ Note the UI button in the upper right hand corner above the Reset button (figure \label{fig:calf} \end{figure} -When the glitzy ui is up, the simple text window remains up also since it is the Cinelerra side and keeps track of the value changes so they remain in effect for further usage of the plugin. Changes to one or the other will occur in both with the exception of certain features in the glitzy window which are not communicated correctly back to Cinelerra; for example a reset button -- the simple interface Reset button must be used instead. To change values in the glitzy window you use the mouse and move up or down unlike a knob that turns! (Figure~\ref{fig:calf02}) +When the glitzy ui is up, the simple text window remains up also since it is the \CGG{} side and keeps track of the value changes so they remain in effect for further usage of the plugin. Changes to one or the other will occur in both with the exception of certain features in the glitzy window which are not communicated correctly back to \CGG{}; for example a reset button -- the simple interface Reset button must be used instead. To change values in the glitzy window you use the mouse and move up or down unlike a knob that turns! (Figure~\ref{fig:calf02}) -In order to test a particular plugin without bringing up Cinelerra, especially for ones that do not operate, it is possible to manually display an lv2ui gui with: \\ +In order to test a particular plugin without bringing up \CGG{}, especially for ones that do not operate, it is possible to manually display an lv2ui gui with: \\ \texttt{/cin-path/lv2ui } \\ For example: @@ -819,10 +819,10 @@ Allows you to apply an alpha value (transparency) to one or more tracks or one o Automatically scale to a specified size. -\subsection{Blue Banana\protect\footnote{credit to Monty Montgomery programmer}}% +\subsection{Blue Banana}% \label{sub:blue_banana} -Blue Banana is an \textit{HSL Qualifier} (HSL= hue, saturation, lightness), one of the basic tools of any grading software that are based on circumscribing a zone of the frame by extracting a chromatic key and producing a \textit{matte} in the alpha channel (Secondary Color Correction). Blue Banana differs not by creating a real matte, but by creating a \textit{selection mask} exclusively for use within the plugin. The BlueBanana plugin has a couple of useful purposes. It can be used for color transformation or remapping -- by isolating a specific color and then performing color change/correction on only that color (or color ranges). Another useful purpose is for chroma-key filtering, using multiple BlueBanana plugins on the same track. Also, it can be used in conjunction with the mask operation of the Compositor. Usage of BlueBanana may seem complicated at first, but it is necessarily so in order to get enough control to produce the desired effect simply and quickly. Just changing a single color is actually quite easy. BlueBanana is keyframable (figure~\ref{fig:bluebanana}). +Blue Banana\protect\footnote{credit to Monty Montgomery programmer} is an \textit{HSL Qualifier} (HSL= hue, saturation, lightness), one of the basic tools of any grading software that are based on circumscribing a zone of the frame by extracting a chromatic key and producing a \textit{matte} in the alpha channel (Secondary Color Correction). Blue Banana differs not by creating a real matte, but by creating a \textit{selection mask} exclusively for use within the plugin. The BlueBanana plugin has a couple of useful purposes. It can be used for color transformation or remapping -- by isolating a specific color and then performing color change/correction on only that color (or color ranges). Another useful purpose is for chroma-key filtering, using multiple BlueBanana plugins on the same track. Also, it can be used in conjunction with the mask operation of the Compositor. Usage of BlueBanana may seem complicated at first, but it is necessarily so in order to get enough control to produce the desired effect simply and quickly. Just changing a single color is actually quite easy. BlueBanana is keyframable (figure~\ref{fig:bluebanana}). The basic strategy for BlueBanana is to: @@ -1471,7 +1471,7 @@ frame 2 $\implies$ F2-field1, F2-field2 Interlaced video reading: $F1-f1$ then $F1-f2$ then $F2-f1$ then $F2-f2$ \dots There may be visual problems if the Top type interlacing is read according to a Bottom scheme. So it's important to know if a video is Top or Bottom. Generally an \textit{HD} video is Top; a \textit{DV} video (both PAL and NTSC) is Bottom; \textit{SD} (PAL) is Top; \textit{SD} (NTSC) is Bottom (but not always). Instead, high-definition videos need to be more compressed and this contrasts with the interlacing that is little and badly compressible, so modern videos are mostly \textit{progressive}. -\subsubsection*{In Cinelerra-GG} +\subsubsection*{In \CGG{}} \label{ssub:in_cin_gg} \begin{enumerate} @@ -1491,7 +1491,7 @@ This plugin is only useful if its output is pulled with doubled framerate with r \begin{enumerate} \item Create a new project with doubled frame rate. That is, make it $50\,fps$ if your source footage is $25i$. In \texttt{Resources $\rightarrow$ Media $\rightarrow$ Info} set the interlaced type (or unknown) - \item Insert your source footage onto a video track in the timeline. Now, Cinelerra will playback each + \item Insert your source footage onto a video track in the timeline. Now, \CGG{} will playback each frame of your footage twice. There will be visual artifacts because the video is interlaced and the monitor is progressive. \item Apply the \textit{Frames to Fields} effect. Be sure to choose the correct field order. If we know or believe that the original video is \textit{Top First} let's try it first, but it doesn't have to be the right solution. The only way is to playback and look for visual artifacts. @@ -1500,7 +1500,7 @@ This plugin is only useful if its output is pulled with doubled framerate with r \item Render your project to an intermediate clip. Be sure to choose a rather lossless video codec, for example \textit{Motion-JPEG-A} or even \textit{uncompressed YUV} if you have plenty of storage. \item Insert the intermediate clip into your original project. Make sure the doubled framerate has been - detected correctly by Cinelerra (by looking in the clip's media \textit{info} in the media resources folder). + detected correctly by \CGG{} (by looking in the clip's media \textit{info} in the media resources folder). \item Apply the \textit{Fields to frames} effect to the intermediate clip. This will combine two adjacent fields into one interlaced field with the original frame rate. \item Do the final render on your original project. Now there will be no visual artifacts on the monitor. @@ -1520,9 +1520,9 @@ In its simplest form, highlight a region of the track to freeze, drop the \textt \subsection{Gamma}% \label{sub:gamma} -\textit{Log} camera images store colors in a $logarithmic$ scale. The blacks in these images are nearly $0$ and the whites are supposed to be infinity. The graphics card and most video codecs store colors in a $linear$ scale but Cinelerra keeps log camera images in their original logarithmic scale when it renders them. This is necessary because the raw image parser can not always decode the proper gamma ($\gamma$) values for the images. It also does its processing in $16\,bit$ integers, which takes away a lot of information. +\textit{Log} camera images store colors in a $logarithmic$ scale. The blacks in these images are nearly $0$ and the whites are supposed to be infinity. The graphics card and most video codecs store colors in a $linear$ scale but \CGG{} keeps log camera images in their original logarithmic scale when it renders them. This is necessary because the raw image parser can not always decode the proper gamma ($\gamma$) values for the images. It also does its processing in $16\,bit$ integers, which takes away a lot of information. -Mathematically, the gamma function is exponential ($output = input^{\gamma}$) and therefore the inverse of the logarithmic function [$output = \log(input)$]. Actually the formula used by the Cinelerra-gg plugin is: $output = input^{\frac{1}{\gamma}}$ which allows for a range of values $0 \div 1.0$. The gamma effect converts the logarithmic colors to linear colors through a \textit{gamma value} and a \textit{maximum value}. The gamma value determines how steep the output curve is (i.e. the value of the gamma parameter; for color space Rec709 is $2.4$ ($\frac{1}{\gamma} =0.41\dots$), for sRGB is $2.2$ ($\frac{1}{\gamma} =0.45\dots$), etc.). The maximum value is where $1.0$ in the output corresponds to maximum brightness in the input. It serves to avoid clipped values because it allows you to set the maximum value of the output, $1.0$, whenever range adjustment is done (see figure~\ref{fig:gamma01}). It is important to adjust the two parameters accurately in order to avoid undesired and unexpected effects, such as excessive values, unbalanced image, incorrect linearization, etc. +Mathematically, the gamma function is exponential ($output = input^{\gamma}$) and therefore the inverse of the logarithmic function [$output = \log(input)$]. Actually the formula used by the \CGG{} plugin is: $output = input^{\frac{1}{\gamma}}$ which allows for a range of values $0 \div 1.0$. The gamma effect converts the logarithmic colors to linear colors through a \textit{gamma value} and a \textit{maximum value}. The gamma value determines how steep the output curve is (i.e. the value of the gamma parameter; for color space Rec709 is $2.4$ ($\frac{1}{\gamma} =0.41\dots$), for sRGB is $2.2$ ($\frac{1}{\gamma} =0.45\dots$), etc.). The maximum value is where $1.0$ in the output corresponds to maximum brightness in the input. It serves to avoid clipped values because it allows you to set the maximum value of the output, $1.0$, whenever range adjustment is done (see figure~\ref{fig:gamma01}). It is important to adjust the two parameters accurately in order to avoid undesired and unexpected effects, such as excessive values, unbalanced image, incorrect linearization, etc. \begin{figure}[htpb] \centering @@ -1982,12 +1982,12 @@ 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 Cinelerra. For theory and explanations refer to the \hyperref[sub:motion]{Motion} plugin. +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} -Updated motion tracking/stabilization of 2017 from the original author of Cinelerra. For theory and explanations refer to the \hyperref[sub:motion]{Motion} plugin. +Updated motion tracking/stabilization of 2017 from the original author of \CGG{}. For theory and explanations refer to the \hyperref[sub:motion]{Motion} plugin. \subsection{Oil painting}% \label{sub:oil_painting} @@ -1997,7 +1997,7 @@ This effect makes video tracks appears as a painting. It can be controlled by \t \subsection{Overlay}% \label{sub:overlay} -This effect can combine several tracks by using the so called Overlayer. This is a basic internal device normally used by Cinelerra GG Infinity to create the dissolve transitions and for compositing the final output of every track onto the output bitmap. The Overlayer has the ability to combine one or several image layers on top of a bottom layer. It can do this combining of images in several different (and switchable) output modes such as \textit{Normal}, \textit{Additive}, \textit{Subtractive}, \textit{Multiply} (Filter), \textit{Divide}, \textit{Max} and \textit{Replace}. For a detailed list refer to the on \hyperref[cha:overlays]{Overlays} chapter -- PorterDuff. +This effect can combine several tracks by using the so called Overlayer. This is a basic internal device normally used by \CGGI{} to create the dissolve transitions and for compositing the final output of every track onto the output bitmap. The Overlayer has the ability to combine one or several image layers on top of a bottom layer. It can do this combining of images in several different (and switchable) output modes such as \textit{Normal}, \textit{Additive}, \textit{Subtractive}, \textit{Multiply} (Filter), \textit{Divide}, \textit{Max} and \textit{Replace}. For a detailed list refer to the on \hyperref[cha:overlays]{Overlays} chapter -- PorterDuff. The \textit{overlay} plugin enables the use of this Overlayer device in the middle of any plugin stack, opening endless filtering and processing possibilities. It is only useful as a \textit{shared plugin} (i.e. a multitrack plugin). To use the overlay plugin: @@ -2193,7 +2193,7 @@ Plugin variables: \subsection{SVG via Inkscape}% \label{sub:svg_via_inkscape} -This plugin allows the user to manipulate an SVG (scalable vector graphics) image with \textit{Inkscape} without having to leave the program. The associated Cinelerra window provides the ability to change the DPI, the Out $x/y$ coordinates, and the Out w/h values. For more information on use of inkscape, refer to: {\small \url{https://inkscape.org/develop/about-svg/}} +This plugin allows the user to manipulate an SVG (scalable vector graphics) image with \textit{Inkscape} without having to leave the program. The associated \CGG{} window provides the ability to change the DPI, the Out $x/y$ coordinates, and the Out w/h values. For more information on use of inkscape, refer to: {\small \url{https://inkscape.org/develop/about-svg/}} \begin{description} \item[DPI] is Dots per inch and it represents the resolution of the SVG image. Since the image is scaled with interpolation mode linear, the edges will look blurry when the input resolution is lower than the output resolution. You can either set the desired \textit{DPI value} in the window or use the tumbler on the integer text box, then use the \textit{update dpi} button to have the change take effect. Changing DPI causes the entire image to be re-exported via inkscape. DPI changes cause adjustments in the resolution, speed of re-import, and storage needed for the image data. @@ -2469,7 +2469,7 @@ With \textit{Time Range} we decide the size (and therefore the number) of the ba \subsection{Title}% \label{sub:title} -The \textit{Titler} allows you to add text from within Cinelerra GG. The titler has standard options for font, size, and style plus many options as described next (figure~\ref{fig:title01}). +The \textit{Titler} allows you to add text from within \CGG{}. The titler has standard options for font, size, and style plus many options as described next (figure~\ref{fig:title01}). \begin{description} \item[Justify] justifies the text relative to the entire frame. Once justified, the $X$ and $Y\, offset$ is applied. This allows text to be justified while at the same time letting you push it within the title safe region. @@ -2505,7 +2505,7 @@ The titler supports mainly \textit{TTF}, true type fonts. It supports others but # /usr/lib/cinelerra/fonts ttmkfdir && mv fonts.scale fonts.dir \end{lstlisting} -and restart Cinelerra. The new fonts should appear. The usage of ttmkfdir changes frequently so this technique might not work. +and restart \CGG{}. The new fonts should appear. The usage of ttmkfdir changes frequently so this technique might not work. If the video is displayed on a consumer TV, the outer border is going to be cropped by $5\%$ on each side. To avoid text which is too close to the edge looking bad, you may want to enable the \textit{title-safe} tool in the compositor window. The text should not cross the inner rectangle. @@ -2583,7 +2583,7 @@ If the video is displayed on a consumer TV, the outer border is going to be crop \end{longtable} \end{center} -These attributes stay in effect until you change them or reset them. Additional cpu time is needed for the \textit{blink} attribute because it requires redrawing every frame and for the background option described below. Note that some Title window controls can not be set, such as Justify and Outline color. The lines below are examples for testing purposes. The accompanying screenshot displays the corresponding Cinelerra output. +These attributes stay in effect until you change them or reset them. Additional cpu time is needed for the \textit{blink} attribute because it requires redrawing every frame and for the background option described below. Note that some Title window controls can not be set, such as Justify and Outline color. The lines below are examples for testing purposes. The accompanying screenshot displays the corresponding \CGG{} output. \vspace{1ex} Examples of Title line keyins: @@ -2604,7 +2604,7 @@ Figure~\ref{fig:title03}. \paragraph{Special Characters (< > / \textbackslash \#)} Besides the previously described <, >, and / characters, there are two special characters: backslash “\textbackslash”, and the pound sign “\#”. The backslash character is used for two things. With the advent of the attribute name and value, your line may become quite long so you can use “\textbackslash” followed by the carriage return to continue on the next line as if it is just a single line. It also can be used to designate that the following character does not represent the beginning of an attribute. For example, if you want to use the opening angle character “<“ as a title character, precede it with the backslash character. The pound sign, “\#”, designates the whole line as a comment or if in the middle of the line, then the rest of the line is a comment (this includes the carriage return). \begin{description} - \item[Background] in this box you can keyin the name of a file of the type that Cinelerra accepts and use that file as a background for your Title characters. This will be seen in the compositor window on top of the video that is loaded in the main track canvas. Besides typing in the filename, you must also check the checkbox. This makes it easy to turn it \textit{On} and \textit{Off} to see what it looks like. Next to the background box is a \textit{Loop} checkbox. If the background file takes less time than the main track canvas video to run, you can turn on the loop checkbox so that it runs over and over again to match the time size of your video. + \item[Background] in this box you can keyin the name of a file of the type that \CGG{} accepts and use that file as a background for your Title characters. This will be seen in the compositor window on top of the video that is loaded in the main track canvas. Besides typing in the filename, you must also check the checkbox. This makes it easy to turn it \textit{On} and \textit{Off} to see what it looks like. Next to the background box is a \textit{Loop} checkbox. If the background file takes less time than the main track canvas video to run, you can turn on the loop checkbox so that it runs over and over again to match the time size of your video. \item[Stroker] to add \textit{pen strokes} to the text letters, adjust the stroke width numerically. This looks particularly nice on certain fonts and with a negative adjustment of the \textit{Drop shadow}. \item[Unicode Insertion] if you want to enter a special character like the mathematical \textit{summation} symbol, you can use the unicode equivalent to do so. Press Ctrl-Shift-U followed by $2022$ and a carriage return is an example of the bullet. Refer to section \hyperref[sec:textbox_non_std_character_unicode]{17.5} for details. \item[Popup Helper] put your cursor where you want to add an attribute, then right mouse will bring up a list of the available attributes for you to choose, along with a submenu to choose from. The program will insert that attribute for you and all you have to add is a value when required! (see figure~\ref{fig:title02}). @@ -2644,7 +2644,7 @@ In order to choose a font faster, you can keyin the first few characters of the \subsubsection*{Font Addition / Font Subtraction}% \label{ssub:font_addition_subtraction} -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. +Some of the system fonts are automatically included in the set of fonts being used by \CGG{}. 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 \CGG{} 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,numbers=none] @@ -2652,12 +2652,12 @@ export BC_FONT_PATH= export BC_FONT_PATH=/usr/share/fonts \end{lstlisting} -The current set of fonts in Cinelerra's directory will be automatically included and will be the default set if this environment variable is not set. Keep in mind that if you add a lot of fonts, it will considerably slow down the startup every time you bring up the Title plugin. +The current set of fonts in \CGG{}'s directory will be automatically included and will be the default set if this environment variable is not set. Keep in mind that if you add a lot of fonts, it will considerably slow down the startup every time you bring up the Title plugin. -If you want to only have a limited number of fonts set up, you can manipulate the Cinelerra directory directly at \texttt{ /bin/plug\-ins/fonts}. -Here you will find the default set of fonts that come with the install. Copy any other fonts you would like to include here with read permission, delete any fonts you do not want to have, then execute \texttt{mkfontscale} which creates the file \texttt{fonts.scale} that Cinelerra will read. However, the next time you install a new version of Cinelerra GG, your changes will be written over so you will have to make sure to save them elsewhere and then re-establish. +If you want to only have a limited number of fonts set up, you can manipulate the \CGG{} directory directly at \texttt{ /bin/plug\-ins/fonts}. +Here you will find the default set of fonts that come with the install. Copy any other fonts you would like to include here with read permission, delete any fonts you do not want to have, then execute \texttt{mkfontscale} which creates the file \texttt{fonts.scale} that \CGG{} will read. However, the next time you install a new version of \CGG{}, your changes will be written over so you will have to make sure to save them elsewhere and then re-establish. -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: +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 \CGG{}, you should set up the variable: \vspace{1ex} \begin{lstlisting}[language=Bash,numbers=none] @@ -2665,7 +2665,7 @@ export BC_FONT_DEBUG=1 (default is 0 for no debug) unset BC_FONT_DEBUG (to remove debug messages) \end{lstlisting} -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: +Then start \CGG{} 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,numbers=none] @@ -2674,7 +2674,7 @@ export BC_FONT_PATH=:/usr/share/fonts #(remove all fonts and then add /usr/shar/ \end{lstlisting} One last item of information about fonts that may lead to some confusion. The checkbox for Bold and Italic will occasionally be ghosted out if no bold or italic version of the selected font is available. This is no guarantee, but currently as good as it can get due to inconsistency in the creation of fonts. It is mostly just a hint. If boxes are checkmarked, but ghosted, you can not uncheck until you change to a font that does not ghost out the boxes. If you use the popup helper with the boxes checked, and attempt to keyin a font that does not have the bold/italic attribute as checked, the font will be considered illegal. -Text: chars is output and updated to indicate the number of characters already used. The only limit to the number of characters based on a count of single $8\, bit$ characters is the available resources on the user computer available for Cinelerra use. Keep in mind that unicode or other special characters may consist of $2$ to $4$ $8\,bit$ bytes. Also, newlines are a character and any of the attributes you use count in the total. There is now a horizontal scroll bar as well as the vertical one in the textbox and they only appear when there are more lines or characters that can fit in the original sized textbox. +Text: chars is output and updated to indicate the number of characters already used. The only limit to the number of characters based on a count of single $8\, bit$ characters is the available resources on the user computer available for \CGG{} use. Keep in mind that unicode or other special characters may consist of $2$ to $4$ $8\,bit$ bytes. Also, newlines are a character and any of the attributes you use count in the total. There is now a horizontal scroll bar as well as the vertical one in the textbox and they only appear when there are more lines or characters that can fit in the original sized textbox. \subsubsection*{Kerning}% \label{ssub:kerning} @@ -2755,7 +2755,7 @@ This effect applies a traditional \textit{darkroom} technique, the so called \te \subsection{Videoscope}% \label{sub:videoscope} -Videoscope summarizes intensity and color on a calibrated display. The Videoscope can be used in conjunction with other Cinelerra plugins such as \textit{Color 3 Way}, \textit{YUV}, \textit{Brightness}, \textit{Color Balance} or \textit{Histogram} to accurately correct video for contrast, clarity, conformance (to normalize various videos shot under different light settings), or for cinematic purposes. The human eye is not specialized to match precise level of light and color, but Videoscope is. Videoscope contains three displays: the waveform scope and the vectorscope, plus the histograms (figure~\ref{fig:videoscope01}). +Videoscope summarizes intensity and color on a calibrated display. The Videoscope can be used in conjunction with other \CGG{} plugins such as \textit{Color 3 Way}, \textit{YUV}, \textit{Brightness}, \textit{Color Balance} or \textit{Histogram} to accurately correct video for contrast, clarity, conformance (to normalize various videos shot under different light settings), or for cinematic purposes. The human eye is not specialized to match precise level of light and color, but Videoscope is. Videoscope contains three displays: the waveform scope and the vectorscope, plus the histograms (figure~\ref{fig:videoscope01}). \begin{figure}[hbtp] \centering @@ -2945,7 +2945,7 @@ There are some potential pitfalls with using this to include: \item internally the colormodel is converted to greyscale, which means the color information is not used \end{enumerate} -Because of the build size of opencv, it is not normally included in the thirdparty directory. Building opencv adds a lot of storage demand ($4\,GB$) to the Cinelerra build tree, and the opencv compile time is significant. For these reasons, \textit{findobject} is not normally built. You can however invoke a build which adds findobject to the Cinelerra plugin library. Building findobject will configure and build opencv into the thirdparty library build area if needed (it does not rebuild if already done). System builds are possible, but the system compatibility of the newer opencv interfaces can vary between distros. The opencv interface is rapidly changing; we recommend the static library build and link to avoid problems. +Because of the build size of opencv, it is not normally included in the thirdparty directory. Building opencv adds a lot of storage demand ($4\,GB$) to the \CGG{} build tree, and the opencv compile time is significant. For these reasons, \textit{findobject} is not normally built. You can however invoke a build which adds findobject to the \CGG{} plugin library. Building findobject will configure and build opencv into the thirdparty library build area if needed (it does not rebuild if already done). System builds are possible, but the system compatibility of the newer opencv interfaces can vary between distros. The opencv interface is rapidly changing; we recommend the static library build and link to avoid problems. \subsection{How to Build OpenCV Plugins}% \label{sub:how_build_opencv_plugins} @@ -3010,7 +3010,7 @@ cin/plugins/opencv/stylizeobj.plugin \item \texttt{cd} that-directory; \item \texttt{tar -xf} location-of-the-tarball-you-downloaded; \item \texttt{cp plugins/*obj.plugin /.} (note the period on the end!) - \item Start Cinelerra and look for the six plugins in Video Effects; + \item Start \CGG{} and look for the six plugins in Video Effects; \item To reverse this, simply delete the six plugin files (eg. \texttt{rm /usr/lib*/cin*/*obj.plugin}). @@ -3051,7 +3051,7 @@ As in the standard OpenCV FindObj program, there are $5$ \textit{detector} metho \item [Don’t Calculate] Do nothing \end{description} -The Cinelerra plugin has several additional features for ease of use and more flexibility. A description of parameters is outlined below. +The \CGG{} plugin has several additional features for ease of use and more flexibility. A description of parameters is outlined below. \begin{description} \item[Mode:] @@ -3193,7 +3193,7 @@ Figure~\ref{fig:stylize} show the images after adding the 6 various styles. \section[FFmpeg Audio and Video Plugins]{FFmpeg Audio and Video Plugins\protect\footnote{credit to WPfilmmaker for the Ffmpeg info description lines taken from his contributed pdf}}% \label{sec:ffmpeg_audio_video_plugins} -Cinelerra GG Infinity currently comes with more than $140$ of the video plugins and $55$ of the audio plugins developed by the FFmpeg project {\small \url{www.ffmpeg.org}}. These plugins do not have a GUI with buttons like the rest of plugins, therefore to change settings it is necessary to change the variables by hand by highlighting the \textit{option}, typing a value in the \textit{Range} box, and then hitting the \textit{Apply} button. Many of these plugins provide tooltips at the bottom right corner of the window when the option is highlighted. A \textit{slider} bar and a \textit{dial} for numerical values can be used to easily vary the values which take effect immediately. +\CGGI{} currently comes with more than $140$ of the video plugins and $55$ of the audio plugins developed by the FFmpeg project {\small \url{www.ffmpeg.org}}. These plugins do not have a GUI with buttons like the rest of plugins, therefore to change settings it is necessary to change the variables by hand by highlighting the \textit{option}, typing a value in the \textit{Range} box, and then hitting the \textit{Apply} button. Many of these plugins provide tooltips at the bottom right corner of the window when the option is highlighted. A \textit{slider} bar and a \textit{dial} for numerical values can be used to easily vary the values which take effect immediately. Figure~\ref{fig:ffchromakey} shows what an FFmpeg video plugin looks like; example is \texttt{F\_chromakey}. @@ -3219,7 +3219,7 @@ If you want to replace the icon with a more descriptive picture, see a previous Simply drag and drop the plugin on the timeline. To enter the settings option, once you have added the plugin to the timeline, right click on the colored bar that appears below the timeline track of the plugin and highlight the \textit{show} option. Alternatively, you can left click the \textit{magnifying glass} icon that appears on the right side of the colored bar. For the audio plugins, if the plugin is not working at all, you will hear a trouble tone waveform to indicate that. If the value is unspecified, it uses default. If you specify the default, the value becomes unspecified which means that nothing gets sent into the program. -Some of the ffmpeg plugins are not usable with Cinelerra GG Infinity due to input/output requirements. Also, some do not come with legal initial supplied values for the parameters (ffmpeg works on filtergraph, while Cinelerra works on stack). These plugins get tested at least once and if they crash, cause problems, or are deemed unusable, they are commented out in the \texttt{plugin.opts} file in the Cinelerra ffmpeg subdirectory. Generally they are not retested so if the ffmpeg software changes them making them usable, they will still not be accessible until the \texttt{plugin.opts} file is changed. You can easily retest these, by temporarily uncommenting the copy of the \texttt{plugin.opts} file in the \texttt{bin} subdirectory and using \texttt{Settings $\rightarrow$ Preferences $\rightarrow$ Interface tab $\rightarrow$ Reload plugin index} +Some of the ffmpeg plugins are not usable with \CGGI{} due to input/output requirements. Also, some do not come with legal initial supplied values for the parameters (ffmpeg works on filtergraph, while \CGG{} works on stack). These plugins get tested at least once and if they crash, cause problems, or are deemed unusable, they are commented out in the \texttt{plugin.opts} file in the \CGG{} ffmpeg subdirectory. Generally they are not retested so if the ffmpeg software changes them making them usable, they will still not be accessible until the \texttt{plugin.opts} file is changed. You can easily retest these, by temporarily uncommenting the copy of the \texttt{plugin.opts} file in the \texttt{bin} subdirectory and using \texttt{Settings $\rightarrow$ Preferences $\rightarrow$ Interface tab $\rightarrow$ Reload plugin index} FFmpeg’s plugin guide is at the link: diff --git a/parts/Quickstart.tex b/parts/Quickstart.tex index 4c1a15e..3420d71 100644 --- a/parts/Quickstart.tex +++ b/parts/Quickstart.tex @@ -1,10 +1,10 @@ \chapter{QuickStart}% \label{cha:Quickstart} -\section{Cinelerra-GG Quick Start Guide}% +\section{\CGG{} Quick Start Guide}% \label{sec:cin_quick_start_guide} -Cinelerra is a software program NLE, Non-Linear Editor, that provides a way to edit, record, and play audio or video media on Linux. It can also be used to color correction, retouch photos, motion tracking, watch TV, and create DVDs. +\CGG{} is a software program NLE, Non-Linear Editor, that provides a way to edit, record, and play audio or video media on Linux. It can also be used to color correction, retouch photos, motion tracking, watch TV, and create DVDs. \subsection{Install the Software}% \label{sub:install_software} @@ -30,7 +30,7 @@ However, if you want to get going as quickly as possible, just do this so that e \item Key in: \texttt{tar -xJf /tmp/cinelerra-5.1-*.txz} (if you put the tar in \texttt{/tmp} AND replace * with full name) \end{itemize} -\subsection{Start Cinelerra GG}% +\subsection{Start \CGG{}}% \label{sub:start_cinelerra_gg} Depending on how you installed the software, you can log in as root or as a user if you used a package. @@ -40,7 +40,7 @@ Depending on how you installed the software, you can log in as root or as a user \item Or if you installed using the pkg method, click on the \textit{Cin icon}. \end{itemize} -You will now see 4 separate windows appear. The top 2 windows from left to right are the Viewer which is most useful for previewing clips and media and the Compositor which displays the current working frame at the timeline position. The bottom 2 windows are the Cinelerra Program, also called the timeline, which is where the real work gets done and the Resources window showing a selection of media or effects. +You will now see 4 separate windows appear. The top 2 windows from left to right are the Viewer which is most useful for previewing clips and media and the Compositor which displays the current working frame at the timeline position. The bottom 2 windows are the \CGG{} Program, also called the timeline, which is where the real work gets done and the Resources window showing a selection of media or effects. \begin{figure}[htpb] \centering @@ -50,7 +50,7 @@ You will now see 4 separate windows appear. The top 2 windows from left to righ Any of these windows can be resized to better suit your needs. Note that if your system’s native language is not English, some of the words you see on the screen will be correctly translated for you, others will be in english, and some will have not very good translations. -It is important to know that Cinelerra does not directly change your media. It writes all changes to what is called the EDL, Edit Decision List. This way you original media remains completely intact. +It is important to know that \CGG{} does not directly change your media. It writes all changes to what is called the EDL, Edit Decision List. This way you original media remains completely intact. \subsection{Load Media}% \label{sub:load_media} @@ -65,7 +65,7 @@ On the main timeline program window are many pulldowns, the first of which is \t \begin{enumerate} \item Click on \textit{File} for a list of available options and note that in the right hand column are shortcuts for - many of the options that will come in handy if you use Cinelerra often. + many of the options that will come in handy if you use \CGG{} often. \item Next click on the second one down -- \textit{Load files$\dots$} -- which brings up the Load menu. \item Below \textit{Select files to load} on the top left side is a textbox and if you look all the way to the right side of the textbox, there is a down arrow which you use to navigate your file system. Highlight the @@ -77,7 +77,7 @@ On the main timeline program window are many pulldowns, the first of which is \t default of \textit{Replace current project} is sufficient. But you can click on the down arrow to see what is available for future use. \item Now click on the green colored checkmark on the bottom left hand side to actually load the file - and see it appear on the timeline in Cinelerra’s main window and a single frame in the Compositor. + and see it appear on the timeline in \CGG{}’s main window and a single frame in the Compositor. The first track will most likely be video thumbnails and the next tracks may be audio waveforms. \item Press the space bar in the main Program window and your video will start playing and press the space bar again to stop the play. While playing, you should see the video in the Compositor @@ -240,7 +240,7 @@ At this time, or even earlier if you think you might make a mistake or if you ar \begin{enumerate} \item Once again in the main Program window, click on the \textit{File} pulldown and highlight/click the \texttt{Render} - option which is about the $9^{th}$ option down from the top of the list. A Cinelerra Render menu will + option which is about the $9^{th}$ option down from the top of the list. A \CGG{} Render menu will appear. \item First key in the first textbox the file to render to under \textit{Select a file to render to}. \item For the \textit{File Format}, click on the down arrow and select FFMPEG (because this is the most @@ -264,15 +264,15 @@ At this time, or even earlier if you think you might make a mistake or if you ar \subsection{Play your new media}% \label{sub:play_your_new_media} -The file you created in the Render step should now be playable. You can test this in Cinelerra most easily by going to the Resource window in the lower right corner, clicking on the Media folder, and dragging and dropping the last video to the Viewer window. There is a separate set of transport buttons on the bottom on that screen to use for playing. +The file you created in the Render step should now be playable. You can test this in \CGG{} most easily by going to the Resource window in the lower right corner, clicking on the Media folder, and dragging and dropping the last video to the Viewer window. There is a separate set of transport buttons on the bottom on that screen to use for playing. -\section{YouTube with Cinelerra}% +\section{YouTube with \CGG{}}% \label{sec:youtube_with_cinelerra} -To create a youtube or dailymotion video, you can easily follow the steps below. You will have to learn a lot more about Cinelerra to take full advantage of its capabilities and make some really special videos, but this is just to get a start and to see the possibilities. +To create a youtube or dailymotion video, you can easily follow the steps below. You will have to learn a lot more about \CGG{} to take full advantage of its capabilities and make some really special videos, but this is just to get a start and to see the possibilities. \begin{enumerate} - \item Start Cinelerra; usually you can do this by clicking on Cinelerra icon or key in \texttt{{cin\_path}/bin/cin}. + \item Start \CGG{}; usually you can do this by clicking on \CGG{} icon or key in \texttt{{cin\_path}/bin/cin}. \item In the Program window on the lower left side of your screen, left mouse click the \textit{File} pulldown. \item You will see \textit{Load files} as the second choice so left mouse click this and find your video file to load, highlight it, and check the green checkmark in the lower left hand corner to get it loaded. @@ -291,7 +291,7 @@ To create a youtube or dailymotion video, you can easily follow the steps below. to see the choices and pick \textit{youtube}. Then move back up to key in the path and filename to render to. It will pick all of the defaults automatically for you so then just click on the green checkmark to have it start. There is a progress bar in the main window, very bottom of the right hand side. - \item Key in “q” in the main window to get out of Cinelerra and yes or no to save your edit session. + \item Key in “q” in the main window to get out of \CGG{} and yes or no to save your edit session. \end{enumerate} Youtube will allow the upload of the resulting rendered file as named. However, Dailymotion requires that the file be named with an acceptable extension so you must rename the output file to have the extension of .webm instead of .youtube diff --git a/parts/Recording.tex b/parts/Recording.tex index 30f568e..6fb57e3 100644 --- a/parts/Recording.tex +++ b/parts/Recording.tex @@ -29,7 +29,7 @@ The media file will be written using the format and codec specified in the \text Below describes the necessary steps for recording freely available media from the internet for your own personal use. You have to be on a system using pulseaudio, such as ubuntu, fedora, centos. \begin{enumerate} - \item Start Cinelerra and select \texttt{Settings $\rightarrow$ Preferences $\rightarrow$ Recording} From a terminal (with a wide text window) run: \texttt{pactl list}. You will see all of the audio sources and sinks on your system. Identify the source associated with the normal output your system uses. Example: \textit{Source $\#1$}. Locate the source which monitors your normal audio output. For example: \textit{front stereo}. + \item Start \CGG{} and select \texttt{Settings $\rightarrow$ Preferences $\rightarrow$ Recording} From a terminal (with a wide text window) run: \texttt{pactl list}. You will see all of the audio sources and sinks on your system. Identify the source associated with the normal output your system uses. Example: \textit{Source $\#1$}. Locate the source which monitors your normal audio output. For example: \textit{front stereo}. \item Choose a File Format and File Type (for example: FFMPEG \& qt). \begin{itemize} \item Check \textit{Record audio tracks}. @@ -167,7 +167,7 @@ One other noted new feature is a new choice for recording - \texttt{V4L2 MPEG}. \section{Digital Video Broadcasting (DVB)}% \label{sec:digital_video_broadcasting} -You can do real-time capture of a full transport stream of Broadcast TV. Record television programs using Cinelerra by setting up ahead of time to start recording later at the specified time. Then you can use Cinelerra to watch later and easily fast forward through the commercials or edit the program, deleting the commercials, to watch uninterrupted. Some details may be slightly different than what it is in the United States. There are 3 requirements you must have to take advantage of this capability. +You can do real-time capture of a full transport stream of Broadcast TV. Record television programs using \CGG{} by setting up ahead of time to start recording later at the specified time. Then you can use \CGG{} to watch later and easily fast forward through the commercials or edit the program, deleting the commercials, to watch uninterrupted. Some details may be slightly different than what it is in the United States. There are 3 requirements you must have to take advantage of this capability. \begin{enumerate} \item You need to have a suitable DVB Adapter such as the Hauppauge WinTV-HVR 950Q usb adapter. Make sure it is the linux version, not the new version. @@ -195,7 +195,7 @@ There is a lot of detailed explanation below to be thorough, but an overview is Listed below are the steps for the initial DVB setup. Setup will be preserved until you make changes. \begin{enumerate} - \item Start Cinelerra, and click \textit{Settings $\rightarrow$ Preferences $\rightarrow$ Recording} + \item Start \CGG{}, and click \textit{Settings $\rightarrow$ Preferences $\rightarrow$ Recording} \item Select \textit{File Format} checkbox: \texttt{Realtime TOC} (Table of Contents) \begin{itemize} \item It is not necessary to set File Format at this point as it will automatically be set later. @@ -277,7 +277,7 @@ Any time after the channels have been scanned, you can edit them from the \texti \noindent After the channel-db is ready, you can watch any of the selectable channels. -\subsection{Watching TV using Cinelerra}% +\subsection{Watching TV using \CGG{}}% \label{sub:watching_tv_cinelerra} If you have setup for DVB capture as outlined in the section above, just start here to watch TV. @@ -368,11 +368,11 @@ To watch on a large TV screen or monitor which you have connected, you will have \subsection{Dual Screen Mode}% \label{sub:dual_screen_mode} -Dual screen mode is useful for displaying Cinelerra video/project on a large screen digital Television set or for watching a previously recorded broadcast TV program via Cinelerra. The physical configuration results in one screen (an \textit{Xwindow}) on one monitor and the other screen on the other monitor or TV screen. Before the mode is usable for Cinelerra, X has to be configured in \textit{dual screen mode} --- that is, you must first split the configuration into 2 displays to operate Dual Screen Mode. On some systems, you may be able to get to the dual screen mode by using \textit{Xinerama} allowing for use of 2 physical displays to act as 1 virtual display. +Dual screen mode is useful for displaying \CGG{} video/project on a large screen digital Television set or for watching a previously recorded broadcast TV program via \CGG{}. The physical configuration results in one screen (an \textit{Xwindow}) on one monitor and the other screen on the other monitor or TV screen. Before the mode is usable for \CGG{}, X has to be configured in \textit{dual screen mode} --- that is, you must first split the configuration into 2 displays to operate Dual Screen Mode. On some systems, you may be able to get to the dual screen mode by using \textit{Xinerama} allowing for use of 2 physical displays to act as 1 virtual display. The main menu pulldown, \texttt{Settings $\rightarrow$ Preferences $\rightarrow$ Playback A} and \texttt{B} Tabs, must be properly configured in order to take advantage of the Dual Screen Mode capability. -In the main menu Window pulldown there are \textit{Tile left} and \textit{Tile right} options for the 2 monitors. If you have only 1 monitor, you will see no change upon activating these options. Tiling is possible due to the existence of one long horizontal screen display buffer. Tile left takes Cinelerra and moves all of its windows to the $2^{nd}$ monitor/TV and Tile right puts it back to the $1^{st}$ monitor. The left and right monitors are the left part or right part of a Playback A/B Xwindow host referenced in the Video Config Playback A/B for separate X screens. Shortcuts for Tile left and Tile rights are the letters \texttt{a} and \texttt{b} on the keyboard once you have set \textit{Remote Control mode}. Below is a summary of the configuration letters: +In the main menu Window pulldown there are \textit{Tile left} and \textit{Tile right} options for the 2 monitors. If you have only 1 monitor, you will see no change upon activating these options. Tiling is possible due to the existence of one long horizontal screen display buffer. Tile left takes \CGG{} and moves all of its windows to the $2^{nd}$ monitor/TV and Tile right puts it back to the $1^{st}$ monitor. The left and right monitors are the left part or right part of a Playback A/B Xwindow host referenced in the Video Config Playback A/B for separate X screens. Shortcuts for Tile left and Tile rights are the letters \texttt{a} and \texttt{b} on the keyboard once you have set \textit{Remote Control mode}. Below is a summary of the configuration letters: \begin{description} \item[a] select \textit{playback a} and tile windows left (all on monitor or laptop) @@ -382,7 +382,7 @@ In the main menu Window pulldown there are \textit{Tile left} and \textit{Tile r Since Dual Screen Mode is most widely used for either a demonstration or watching TV, you will want to take advantage of Remote Control mode as described in a following section. In the camera shots below, note the square red box that shows up in the upper left hand corner of the Viewer window (arrow pointing to it but it looks more orange than red) which denotes that the Application/Menu key was used to get into Remote Control mode. -Figure~\ref{fig:two-monitors01} shows 2 monitors (could just as well be a big-screen TV for the second monitor) with Tile left where all of the Cinelerra windows are on the left most monitor. The big red arrow points to the little red square box indicating that Remote Control mode is in effect. +Figure~\ref{fig:two-monitors01} shows 2 monitors (could just as well be a big-screen TV for the second monitor) with Tile left where all of the \CGG{} windows are on the left most monitor. The big red arrow points to the little red square box indicating that Remote Control mode is in effect. \begin{figure}[htpb] \centering @@ -391,12 +391,12 @@ Figure~\ref{fig:two-monitors01} shows 2 monitors (could just as well be a big-sc \label{fig:two-monitors01} \end{figure} -Figure~\ref{fig:two-monitors02} shows 2 monitors with Tile right (b key) where all of the Cinelerra windows are on the right monitor. The left monitor shows the Suse distro logo and a couple of xterm type windows. +Figure~\ref{fig:two-monitors02} shows 2 monitors with Tile right (b key) where all of the \CGG{} windows are on the right monitor. The left monitor shows the Suse distro logo and a couple of xterm type windows. \begin{figure}[htpb] \centering \includegraphics[width=0.85\linewidth]{images/two-monitors02.png} - \caption{Dual screen - Cinelerra and desktop on different screens} + \caption{Dual screen - \CGG{} and desktop on different screens} \label{fig:two-monitors02} \end{figure} @@ -405,16 +405,16 @@ Figure~\ref{fig:two-monitors03} shows 2 monitors with Compositor window on the 2 \begin{figure}[htpb] \centering \includegraphics[width=0.85\linewidth]{images/two-monitors03.png} - \caption{Dual screen - Cinelerra compositor on own screen windowed} + \caption{Dual screen - \CGG{} compositor on own screen windowed} \label{fig:two-monitors03} \end{figure} -Figure~\ref{fig:two-monitors04} shows 2 monitors with Compositor window on the 2nd monitor in Fullscreen mode so that no Cinelerra borders are visible to distract from the picture. The big red arrow points to the little red square box indicating that Remote Control mode is in effect. +Figure~\ref{fig:two-monitors04} shows 2 monitors with Compositor window on the 2nd monitor in Fullscreen mode so that no \CGG{} borders are visible to distract from the picture. The big red arrow points to the little red square box indicating that Remote Control mode is in effect. \begin{figure}[htpb] \centering \includegraphics[width=0.85\linewidth]{images/two-monitors04.png} - \caption{Dual screen - Cinelerra compositor on own screen full screen} + \caption{Dual screen - \CGG{} compositor on own screen full screen} \label{fig:two-monitors04} \end{figure} @@ -428,7 +428,7 @@ Figure~\ref{fig:two-monitors04} shows 2 monitors with Compositor window on the 2 \label{fig:remote01} \end{wrapfigure} -Cinelerra DVB recording/playback can now easily be done in \textit{couch potato} mode using a remote control. This comes in handy when you want to playback on a big TV screen for multiple person viewing. You can use the Application/Menu key on the keyboard to toggle between standard Cinelerra usage or a Dispatcher methodology through use of a remote control, an Android programmed device such as a tablet, or keyboard. The Application/Menu key on most keyboards is between the Alt and Ctrl keys on the right hand side bottom and depicts a menu on it either with or without a pointer (see image below). An ati-x10 Remote Control device (figure~\ref{fig:remote01}) is currently working with Cinelerra and other remote controls may work but have never been tried. The red/orange box on the top left main screen of Cinelerra indicates Dispatcher Method access is activated which allows for keyboard grab which routes all key strokes until toggled off. Below are the currently defined operations. +\CGG{} DVB recording/playback can now easily be done in \textit{couch potato} mode using a remote control. This comes in handy when you want to playback on a big TV screen for multiple person viewing. You can use the Application/Menu key on the keyboard to toggle between standard \CGG{} usage or a Dispatcher methodology through use of a remote control, an Android programmed device such as a tablet, or keyboard. The Application/Menu key on most keyboards is between the Alt and Ctrl keys on the right hand side bottom and depicts a menu on it either with or without a pointer (see image below). An ati-x10 Remote Control device (figure~\ref{fig:remote01}) is currently working with \CGG{} and other remote controls may work but have never been tried. The red/orange box on the top left main screen of \CGG{} indicates Dispatcher Method access is activated which allows for keyboard grab which routes all key strokes until toggled off. Below are the currently defined operations. \newline Remote Control Keys (Application/Menu key toggle for ati-x10 remote) @@ -474,7 +474,7 @@ Remote Control Keys (Application/Menu key toggle for ati-x10 remote) book key&=&toggles channel scan (always available)\\ - hand key&=&terminates Cinelerra (always available)\\ + hand key&=&terminates \CGG{} (always available)\\ \bottomrule \end{tabular} @@ -502,16 +502,16 @@ Remote Control Keys (Application/Menu key toggle for ati-x10 remote) The Application/Menu key \quad \includegraphics[height=\baselineskip]{images/alt-ctrl.png} \quad -is used to get into remote control mode, even if there is no remote control hardware device in use, allowing for use of the same defined remote control keys to work on the keyboard. Once the Application/Menu key enables remote mode, the remote control keys don't allow the standard Cinelerra keys to work. +is used to get into remote control mode, even if there is no remote control hardware device in use, allowing for use of the same defined remote control keys to work on the keyboard. Once the Application/Menu key enables remote mode, the remote control keys don't allow the standard \CGG{} keys to work. \subsection{Android Remote Control for DVB}% \label{sub:android_remote_control_dvb} -Cinelerra GG Infinity has Android remote interface code (figure~\ref{fig:remote02}). Any device, such as a tablet or a phone, can be used as long as it is running the Android operating system. Programming an Android Remote Control for DVB is a bit complicated at first, but becomes pretty simple after a bit. +\CGGI{} has Android remote interface code (figure~\ref{fig:remote02}). Any device, such as a tablet or a phone, can be used as long as it is running the Android operating system. Programming an Android Remote Control for DVB is a bit complicated at first, but becomes pretty simple after a bit. \begin{enumerate} \item The Android Remote Control requires you to download and install the Android \textit{CineRmt} app package (apk). To install it simply download it (any way you can) to your phone or tablet and click it to install, if it doesn't run automatically. - \item In Cinelerra, open \texttt{Settings $\rightarrow$ Preferences $\rightarrow$ Interface} tab, and enable \textit{Android Remote Control} in the Operation section using the checkbox. The default port $23432$ and default PIN value \textit{cinelerra} are OK. + \item In \CGG{}, open \texttt{Settings $\rightarrow$ Preferences $\rightarrow$ Interface} tab, and enable \textit{Android Remote Control} in the Operation section using the checkbox. The default port $23432$ and default PIN value \textit{cinelerra} are OK. \item After you install the new phone/tablet app in step 1, start it up from your apps menu. \end{enumerate} @@ -522,13 +522,13 @@ Cinelerra GG Infinity has Android remote interface code (figure~\ref{fig:remote0 \label{fig:remote02} \end{figure} -Before you can use it, the Android device must have the ip address of your computer entered into the configuration menu. The PC you are running Cinelerra on and the Android device have to be on the same network. You can tell it is in communication by tapping the \texttt{Power} (menu) button. When the remote is operated with the \textit{Power} (menu) button, there is a little orange box on the upper left corner of the display to indicate the remote state is active. If you do not see the little orange box when the menu key is tapped, the communication is broken and must be fixed before proceeding. Follow the directions in the paragraph below. +Before you can use it, the Android device must have the ip address of your computer entered into the configuration menu. The PC you are running \CGG{} on and the Android device have to be on the same network. You can tell it is in communication by tapping the \texttt{Power} (menu) button. When the remote is operated with the \textit{Power} (menu) button, there is a little orange box on the upper left corner of the display to indicate the remote state is active. If you do not see the little orange box when the menu key is tapped, the communication is broken and must be fixed before proceeding. Follow the directions in the paragraph below. BIG NOTICE: the firewalls in your computer and wifi router can stop this thing dead. Re-configuring a firewall is tricky and varies from distro to distro. If possible, during setup it is suggested that you disable the firewall temporarily. For those with advanced skills, use tcpdump or wireshark to look for udp messages from the IP address of the device. SECTION NOT COMPLETE – (manualandroid) -Figure~\ref{fig:remote03} shows an Android Tablet that can be used as a Remote Control for Cinelerra Recording and Playback. +Figure~\ref{fig:remote03} shows an Android Tablet that can be used as a Remote Control for \CGG{} Recording and Playback. \begin{figure}[htpb] \centering @@ -540,12 +540,12 @@ Figure~\ref{fig:remote03} shows an Android Tablet that can be used as a Remote C \subsection{Setup a Remote Control Device}% \label{sub:setup_remote_control_device} -SECTION NOT DONE !! This section explains how you can take your own brand of remote control and set it up to easily work the way you want with Cinelerra. +SECTION NOT DONE !! This section explains how you can take your own brand of remote control and set it up to easily work the way you want with \CGG{}. \section{The commercial DB}% \label{sec:commercial_db} -While watching broadcast television, it is possible to use Cinelerra to automatically mute commercials being aired during a broadcast capture. Visual muting as well as sound muting is done! You can NOT use ffmpeg for the format when working with the \textit{commercial DB}. This database that was added is a \textit{novel architecture} shared memory database, a \textit{Traveling Data Base} (TDB). With TDB you have direct access to the shared database presence (instead of having to go to the server). +While watching broadcast television, it is possible to use \CGG{} to automatically mute commercials being aired during a broadcast capture. Visual muting as well as sound muting is done! You can NOT use ffmpeg for the format when working with the \textit{commercial DB}. This database that was added is a \textit{novel architecture} shared memory database, a \textit{Traveling Data Base} (TDB). With TDB you have direct access to the shared database presence (instead of having to go to the server). Basically it works as follows, but there are a few differences in just how it goes about it: @@ -572,7 +572,7 @@ Currently, to activate the commercial database (db) methods you must do the foll cd /bin mkdir /cinelerra #yes, currently only in the / filesystem ./cin_db /cinelerra/media.db #to create a new empty commercial capture database -export BC_USE_COMMERCIALS=1 #in the command shell that is starting Cinelerra +export BC_USE_COMMERCIALS=1 #in the command shell that is starting \CGG{} \end{lstlisting} This activates the gui tools and database access. As of yet, all of the requisite permission changes @@ -602,10 +602,10 @@ To review media stored in the \texttt{media.db}, and delete old expired commerci Currently, only a customized \textit{ati-x10} (kernel mod required) radio remote control works. But this can quite readily be modified for other remote control models. -\section{Transfer VHS/DVD Media into Cinelerra}% +\section{Transfer VHS/DVD Media into \CGG{}}% \label{sec:transfer_vhs_dvd_into_cinelerra} -If you want to transfer the data on a VHS tape or DVD disc into Cinelerra, you can do so by playing the media and recording while playing. This captures the media, which you are able to view as it plays, and writes it to a file so it can be played directly or edited. Because there is so much variation in hardware on both the Computer side and the Media Player side, these \textit{how to} directions are only a guideline. You will most likely still have to do some experimentation and testing to see what works for you. +If you want to transfer the data on a VHS tape or DVD disc into \CGG{}, you can do so by playing the media and recording while playing. This captures the media, which you are able to view as it plays, and writes it to a file so it can be played directly or edited. Because there is so much variation in hardware on both the Computer side and the Media Player side, these \textit{how to} directions are only a guideline. You will most likely still have to do some experimentation and testing to see what works for you. The basic strategy consists of 3 operations: connect the relevant outputs to representative inputs, configure the capture card to match the video, and start the Record monitor. Each of these may have to be experimented with to get them correct for your hardware setup. @@ -613,7 +613,7 @@ The basic strategy consists of 3 operations: connect the relevant outputs to re For example in a test case using the \textit{CX23418} capture card (an older/unusual single chip MPEG-2 encoder with integrated analog video/broadcast audio decoder), one end of an S-Video cable was plugged into the back of a DVD player and the other end plugged into this computer’s Capture card; the audio was plugged into the \textit{line in} on the computer sound card. -\textit{Step 2}:Setup Cinelerra and it might be best the first time if you start with a default \texttt{.bcast5} file by using a +\textit{Step 2}:Setup \CGG{} and it might be best the first time if you start with a default \texttt{.bcast5} file by using a command line from a window of \\ \texttt{CIN\_CONFIG=\$HOME/bcast6 {cinelerra\_path}/bin/cin} @@ -638,7 +638,7 @@ command line from a window of \\ \item Click on the Antenna icon ($3^{rd}$ icon from the left on the left side of the right hand screen window). \item In the popup \textit{Channels} menu, click on \texttt{Add} which brings up the \textit{Edit Channel} menu. \item Use the down arrow in the \textit{Input} box to display the available options. In the test case, and very likely your case too, \textit{S-Video 1} should be picked. - \item In the Recording menu, be sure to designate a complete path and filename in the \textit{Path:} textbox which will be used to record/write the playing media. Remember you must have the media on a file in order for Cinelerra to load it on the timeline for editing purposes. + \item In the Recording menu, be sure to designate a complete path and filename in the \textit{Path:} textbox which will be used to record/write the playing media. Remember you must have the media on a file in order for \CGG{} to load it on the timeline for editing purposes. \end{itemize} \begin{figure}[htpb] diff --git a/parts/Rendering.tex b/parts/Rendering.tex index 105a863..bfe2841 100644 --- a/parts/Rendering.tex +++ b/parts/Rendering.tex @@ -1,7 +1,7 @@ \chapter{Rendering}% \label{cha:rendering} -Rendering takes a section of the timeline, performs all the editing, effects and compositing, and creates a new media file. You can then delete all the source assets, play the rendered file, or bring it back into Cinelerra for more editing. All rendering operations are based on a region of the timeline to be rendered. You need to define this region on the timeline. The rendering functions define the region based on a set of rules. When a region is highlighted or in/out points are set, the affected region is rendered. When no region is highlighted, everything after the insertion point is rendered. By +Rendering takes a section of the timeline, performs all the editing, effects and compositing, and creates a new media file. You can then delete all the source assets, play the rendered file, or bring it back into \CGG{} for more editing. All rendering operations are based on a region of the timeline to be rendered. You need to define this region on the timeline. The rendering functions define the region based on a set of rules. When a region is highlighted or in/out points are set, the affected region is rendered. When no region is highlighted, everything after the insertion point is rendered. By positioning the insertion point at the beginning of a track and unsetting all in/out points, the entire track is rendered. But you also have the choice to render \textit{one frame}. \section{Single File Rendering}% @@ -32,7 +32,7 @@ Use the File pulldown and select Render to start the render dialog (figure~\ref{ \begin{description} \item[Wrench:] select the \textit{wrench} next to each toggle to set compression parameters. If the file format can not store audio or video the compression parameters will be blank. If \textit{Render audio tracks} or \textit{Render video tracks} is selected and the file format does not support it, trying to render will result in an error message. More details in the section: \nameref{sub:extra_cin_option_ffmpeg} - \item[Create new file at each label] the option causes a new file to be created when every label in the timeline is encountered – a separate file for each. This is useful for dividing long audio recordings into individual tracks. When using the Render Farm (described later), \textit{Create new file at each label} causes one render farm job to be created at every label instead of using the internal load balancing algorithm to space jobs. If the filename given in the render dialog has a 2 digit number in it, the 2 digit number is overwritten with a different incremental number for every output file. If no 2 digit number is given, Cinelerra automatically concatenates a number to the end of the given filename for every output file. + \item[Create new file at each label] the option causes a new file to be created when every label in the timeline is encountered – a separate file for each. This is useful for dividing long audio recordings into individual tracks. When using the Render Farm (described later), \textit{Create new file at each label} causes one render farm job to be created at every label instead of using the internal load balancing algorithm to space jobs. If the filename given in the render dialog has a 2 digit number in it, the 2 digit number is overwritten with a different incremental number for every output file. If no 2 digit number is given, \CGG{} automatically concatenates a number to the end of the given filename for every output file. For example, in the filename \texttt{/movies/track01.wav} the $01$ would be overwritten for every output file. The filename \texttt{/movies/track.wav}; however, eventually would become \texttt{/movies/track.wav001} and so on. Filename regeneration is only used when either render farm mode is active or creating new files for every label is active. @@ -60,9 +60,9 @@ Use the File pulldown and select Render to start the render dialog (figure~\ref{ \section{Batch Rendering}% \label{sec:batch_rendering} -Batch Rendering automates the rendering of audio/video files in that you can establish a set of job parameters, save them, and use them repeatedly. It also allows for Cinelerra to be run by external programs, with no need for the user to manually interact with the user interface (figure~\ref{fig:batch01}). +Batch Rendering automates the rendering of audio/video files in that you can establish a set of job parameters, save them, and use them repeatedly. It also allows for \CGG{} to be run by external programs, with no need for the user to manually interact with the user interface (figure~\ref{fig:batch01}). -If you want to render many projects to media files without having to constantly set up the render dialog for each one, batch rendering is a more efficient method of rendering. In the Batch Render menu, you specify one or more Cinelerra project XML files, the EDL, to render and unique output files for each. (The EDL is the Edit Decision List or the set of changes to be applied to the project and media files.) Then Cinelerra loads each project file and renders it automatically. The project XML files, combined with the settings for rendering an output file, are called a batch. This allows a large amount of media to be processed without user intervention. +If you want to render many projects to media files without having to constantly set up the render dialog for each one, batch rendering is a more efficient method of rendering. In the Batch Render menu, you specify one or more \CGG{} project XML files, the EDL, to render and unique output files for each. (The EDL is the Edit Decision List or the set of changes to be applied to the project and media files.) Then \CGG{} loads each project file and renders it automatically. The project XML files, combined with the settings for rendering an output file, are called a batch. This allows a large amount of media to be processed without user intervention. \begin{figure}[htpb] \centering @@ -71,11 +71,11 @@ If you want to render many projects to media files without having to constantly \label{fig:batch01} \end{figure} -The first thing to do when preparing to do batch rendering is to create one or more Cinelerra projects to be rendered and save them as a normal project, such as \texttt{ProjectA.xml}. The batch renderer requires a separate project file for every batch to be rendered. You can use the same Cinelerra project file if you are rendering to different output files, as in an example where you might be creating the same output video in different file formats. +The first thing to do when preparing to do batch rendering is to create one or more \CGG{} projects to be rendered and save them as a normal project, such as \texttt{ProjectA.xml}. The batch renderer requires a separate project file for every batch to be rendered. You can use the same \CGG{} project file if you are rendering to different output files, as in an example where you might be creating the same output video in different file formats. To create a project file which can be used in batch render, set up your project and define the region to be rendered either by highlighting it, setting in/out points around it, or positioning the insertion point before it. Then save the project as usual to your \texttt{project.xm}l file. Define as many projects as needed this way. The batch renderer takes the active region from the EDL file for rendering. If we have not set active regions, it is better to bring the insertion point to the beginning of the timeline to avoid possible problems with the rendering. -With all the Cinelerra xml project files prepared with active regions, go to \texttt{File $\rightarrow$ Batch Render}. This brings up the batch render dialog. The interface for batch rendering is more complex than for single file rendering. A list of batches must be defined before starting a batch rendering operation. The table of batches appears on the bottom of the batch render dialog and is called \textit{Batches to render}. Above this are the configuration parameters for a single batch; a batch is simply a pairing of a project file with a choice of output file and render settings. +With all the \CGG{} xml project files prepared with active regions, go to \texttt{File $\rightarrow$ Batch Render}. This brings up the batch render dialog. The interface for batch rendering is more complex than for single file rendering. A list of batches must be defined before starting a batch rendering operation. The table of batches appears on the bottom of the batch render dialog and is called \textit{Batches to render}. Above this are the configuration parameters for a single batch; a batch is simply a pairing of a project file with a choice of output file and render settings. Set the \textit{Output path}, \textit{File format}, \textit{Audio}, \textit{Video}, and \textit{Create new file at each label} parameters as if you were rendering a single file. These parameters apply to only one batch. In addition to the standard rendering parameters, you must select the \textit{EDL Path} to be the project file (such as \texttt{ProjectA.xml}) that will be used in the batch job. In this case, \textit{EDL Path} is not related in anyway with the EDL files as created by \texttt{File/Export EDL}. In batch render mode the program will not overwrite an existing output file and will simply fail, so make sure that no files with the same name as the output files exist before starting. @@ -92,19 +92,19 @@ The description of each of the columns in the batch list are as follows: \end{description} To start rendering from the first enabled batch, hit \texttt{Start}. Once rendering, the main window shows the progress of the batch. After each batch finishes, the elapsed column in the batch list is updated and the next batch is rendered until all the enabled batches are finished. The currently rendering batch is always highlighted red. To stop rendering before the batches are finished without closing the batch render dialog, hit \texttt{Stop}. To stop rendering before the batches are finished and close the batch render dialog, hit \texttt{Close}. Or you can exit the batch render dialog whether or not anything is being rendered, by hitting \texttt{Close}. -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: +You can automate \CGG{} 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 \CGG{} user interface. From a shell prompt, from a script, or other program, execute: \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. +substituting your actual filename for \texttt{batchjob.xml}. When invoked with these parameters, \CGG{} will start up and perform the rendering jobs in that list, without creating its usual windows. \subsection{Command Line Rendering}% \label{sub:command_line_rendering} The command line rendering method consists of a way to load the current set of batch rendering jobs and process them without a GUI. This is useful if you want to do rendering on the other side of a low bandwidth network and you have access to a high powered computer located elsewhere. Setting up all the parameters for this operation is somewhat difficult. That is why the command line aborts if any output files already exist. -To perform rendering from the command line, first run Cinelerra in graphical mode. Go to \texttt{File $\rightarrow$ Batch Render}. Create the batches you intend to render in the batch window and close the window. This saves the batches in a file. Set up the desired render farm attributes in \texttt{Settings $\rightarrow$ Preferences} and quit out of Cinelerra if you want to use the Render Farm capability. These settings are used the next time command line rendering is used to process the current set of batch jobs without a GUI. +To perform rendering from the command line, first run \CGG{} in graphical mode. Go to \texttt{File $\rightarrow$ Batch Render}. Create the batches you intend to render in the batch window and close the window. This saves the batches in a file. Set up the desired render farm attributes in \texttt{Settings $\rightarrow$ Preferences} and quit out of \CGG{} if you want to use the Render Farm capability. These settings are used the next time command line rendering is used to process the current set of batch jobs without a GUI. On the command line run: @@ -187,9 +187,9 @@ It is often useful to insert an effect or a transition and then select \texttt{S \section{Render Farm Usage}% \label{sec:render_farm_usage} -Render Farm uses background rendering, a feature of Cinelerra where the video is rendered in the background, to speed up rendering significantly. Because rendering is memory and cpu intensive, using multiple computers on a network via a render farm is a significant gain. With Cinelerra installed on all nodes, the master node and the clients communicate via a network port that you specify. +Render Farm uses background rendering, a feature of \CGG{} where the video is rendered in the background, to speed up rendering significantly. Because rendering is memory and cpu intensive, using multiple computers on a network via a render farm is a significant gain. With \CGG{} installed on all nodes, the master node and the clients communicate via a network port that you specify. -Cinelerra can distribute the rendering tasks over the network to the other computers of the Render Farm. The render farm software tries to process all of the rendering in parallel so that several computers can be used to render the results. The \textit{Total jobs to create} in the setup or labels on the timeline are used to divide a render job into that specified number of tasks. Each background job is assigned a timeline segment to process and the jobs are sent to the various computer nodes depending upon the load balance. The jobs are processed by the nodes separately and written to individual files. You will have to put the files back together via a load with concatenation, or typically by using a command line tool from a script. +\CGG{} can distribute the rendering tasks over the network to the other computers of the Render Farm. The render farm software tries to process all of the rendering in parallel so that several computers can be used to render the results. The \textit{Total jobs to create} in the setup or labels on the timeline are used to divide a render job into that specified number of tasks. Each background job is assigned a timeline segment to process and the jobs are sent to the various computer nodes depending upon the load balance. The jobs are processed by the nodes separately and written to individual files. You will have to put the files back together via a load with concatenation, or typically by using a command line tool from a script. \subsection{Basic Steps to Start a Render Farm}% \label{sub:basic_steps_start_render_farm} @@ -216,7 +216,7 @@ The following steps are just a guideline to start your render farm. It is assum \item set the Total number of jobs to create; \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: + \item On the client computers ($192.168.1.12$), start 5 background \CGG{} tasks via: \begin{lstlisting}[language=bash,numbers=none] $ cd /{path_to_cinelerra} $ cin -d 401 @@ -224,7 +224,7 @@ $ cin -d 402 ... $ cin -d 405 \end{lstlisting} - \item On the master node (localhost), start the 2 background Cinelerra tasks via: + \item On the master node (localhost), start the 2 background \CGG{} tasks via: \begin{lstlisting}[language=bash,numbers=none] $ cd /{path_to_cinelerra} $ cin -d 406 @@ -251,7 +251,7 @@ Below we describe the Performance tab for configuring a render farm (figure~\ref \end{figure} \begin{description} - \item[Project SMP cpus] although this field is not Render Farm specific, it is useful for Cinelerra to have the CPU count and for using multiple threads. + \item[Project SMP cpus] although this field is not Render Farm specific, it is useful for \CGG{} to have the CPU count and for using multiple threads. \item[Use render farm] check this to turn on the render farm option. Once checked ALL rendering will be done via the farm including the usual Render (\texttt{Shift-R}). You may want to turn if off for small jobs. \item[Nodes listbox] displays all the nodes on the render farm and shows which ones are currently enabled. The Nodes listbox has 4 columns -- On, Hostname, Port, Framerate -- which show the current values. An \textit{X} in the \textit{On} designates that that host is currently enabled; \textit{Hostname} shows the name of the host; \textit{Port} shows the port number that host uses; and \textit{Framerate} will either be zero initially or the current framerate value. \item[Hostname] this field is used to edit the hostname of an existing node or enter a new node. @@ -282,7 +282,7 @@ divided by the number of packages to portion out the work (if not labels). If s {\color{red} CAUTION }, any exact command lines worked as of $01/2018$ on a Fedora system. These can change over time and on different operating systems/levels. Always check/verify any command line before using. \begin{description} - \item[Set up Cinelerra] A Cinelerra render farm is organized into a master node and any number of client nodes. The master node is the computer which is running the gui. The client nodes are anywhere else on the network with Cinelerra installed and are run from the command line. Before you start the master node for Cinelerra, you need to set up a shared filesystem on the disk storage node as this is the node that will have the common volume where all the data will be stored. + \item[Set up \CGG{}] A \CGG{} render farm is organized into a master node and any number of client nodes. The master node is the computer which is running the gui. The client nodes are anywhere else on the network with \CGG{} installed and are run from the command line. Before you start the master node for \CGG{}, you need to set up a shared filesystem on the disk storage node as this is the node that will have the common volume where all the data will be stored. The location of the project and its files should be the same in the client computers as in the master computer and to avoid problems of permissions, it is better to use the same user in master and clients. For example, if you have the project in \texttt{/home//project-video} you must create the same directory path on the clients, but empty. Sharing the directory of the location of your project on the master computer can be done with NFS as described next. Alternatively, you can look up on the internet how to use Samba to share a directory. \item[Create a shared filesystem and mount using NFS] All nodes in the render farm should use the same filesystem with the same paths to the project files on all of the master and client nodes. This is easiest to do by setting up an NFS shared disk system. @@ -339,9 +339,9 @@ $ umount Be aware that you may have to adjust any security or firewalls you have in place. \textit{Most firewalls will require extra rules to allow nfs access}. Many have built-in configurations for this. \end{enumerate} - \item[Configure Rendering on Master Node] There is 1 master node which is running the Cinelerra gui and where the video will be edited and the command given to start up the rendering. Any number of client computers can be run from the command line only, so they can be headless since no X or any graphical libraries are needed. Of course, the Cinelerra software must be installed on each of the client computers. + \item[Configure Rendering on Master Node] There is 1 master node which is running the \CGG{} gui and where the video will be edited and the command given to start up the rendering. Any number of client computers can be run from the command line only, so they can be headless since no X or any graphical libraries are needed. Of course, the \CGG{} software must be installed on each of the client computers. \begin{enumerate} - \item Assuming you already have Cinelerra installed on the master node, start Cinelerra by clicking on the + \item Assuming you already have \CGG{} installed on the master node, start \CGG{} by clicking on the icon or by typing the following command on the terminal screen: \texttt{/{cinelerra\_path}/cin}. \item Use the file pulldown \texttt{Settings $\rightarrow$ Preferences}, the Performance tab, to set up your Render Farm options in the Render Farm pane. @@ -361,11 +361,11 @@ $ netstat -n -l -4 --protocol inet \item Click OK on the Preferences window when done. \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: + \item[Start the Client Nodes] To start up the client nodes run \CGG{} from the command line on each of the client computers using the following command: \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: + This starts \CGG{} 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,numbers=none] RenderFarmClient::main_loop: client started RenderFarmClient::main_loop: Session started from 127.0.0.1 @@ -378,7 +378,7 @@ RenderFarmClientThread::run: Session finished \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 \texttt{File $\rightarrow$ Render}\dots which opens the render dialog. The most important point here is to use for \textit{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 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). + \item[Render Using Render Farm] After you have followed the preceding steps, you are ready to use the render farm. Click on \texttt{File $\rightarrow$ Render}\dots which opens the render dialog. The most important point here is to use for \textit{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 OK to render. The \CGG{} 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). Another performance feature which can use the Render Farm is \textit{Background Rendering}. This is also enabled on the \texttt{Preferences $\rightarrow$ Performances} tab. The background render function generates a set of image files by pre-rendering the timeline data on the fly. As the timeline is update by editing, the image data is re-rendered to a \textit{background render} storage path. The Render Farm will be used for this operation if it is enabled at the same time as the \textit{background render} feature. \item[Assemble the Output Files] Once all of the computer jobs are complete, you can put the output files together by using the shell script, \textit{RenderMux} (from the menubar \textit{scripts} button just above FF), if the files were rendered using ffmpeg, or you can load these by creating a new track and specifying concatenate to existing tracks in the load dialog in the correct numerical order. File types which support direct copy can be concatenated into a single file by rendering to the same file format with render farm disabled as long as the track dimensions, output dimensions, and asset dimensions are equal. @@ -390,7 +390,7 @@ or n in `seq 1501 1505`; do cin -d $n; done These steps are for quickly setting up render farm with the least amount of additional system work, but it is non-optimal. It is useful in situations where a few people all show up with their laptops to work together on the same video/audio file and you don’t want to bother setting up NFS for a shared disk. \begin{enumerate} - \item Make sure the Cinelerra program is installed on all of the computers and the network between the + \item Make sure the \CGG{} program is installed on all of the computers and the network between the main computer and the client computers is working. Use the same version if possible. \item Load your video file on the master node and use \texttt{File $\rightarrow$ Save as}\dots to save it to \texttt{/tmp}. \item Move that same file with the same name to \texttt{/tmp} on all of the client computers via rsh or sneaker net -- the ONLY reason you are doing this is to avoid having to set up NFS or Samba on the buddy client @@ -440,14 +440,14 @@ This means that you can make project related configurations that do not impact t \noindent If you have problems running the Render Farm. Here is a list of items to check. \begin{itemize} - \item Cinelerra must be installed on the master node and all client machines. + \item \CGG{} must be installed on the master node and all client machines. \item It is best to have the same username available on all nodes to avoid problems with access rights. \item Check file permissions and ownership to ensure that the clients all have access. \item If a node does not have access to an input asset it will not die, but just display error messages. \item If a node can not access an output asset, the rendering will abort. \item A port in use when stopped may take up to $30$ seconds to time out before you can restart the jobs. \item Each of the port combinations have to be unique across clients, and not already in use in the network. - \item Cinelerra load balances on a first come, first serve basis. If the last section of the video is sent to the + \item \CGG{} load balances on a first come, first serve basis. If the last section of the video is sent to the slowest node, the render job will have to wait for the slowest node to finish. It would be better to start on the slowest node with the earlier section of the video so keep that in mind when designating port numbers. @@ -456,7 +456,7 @@ This means that you can make project related configurations that do not impact t \item The master and client jobs on the ports do not go away so if you want to stop them, you will have to kill them via: \texttt{kill PID\#}. \item Check to see if there are services listening on the ports to use: \texttt{netstat -n -l -4 --protocol inet} - \item There is a watchdog timer in Cinelerra and if there is no response from a client in the designated + \item There is a watchdog timer in \CGG{} and if there is no response from a client in the designated number of seconds, it will kill the render job. \item The \textit{localhost} should exist as $127.0.0.1$ in \texttt{/etc/hosts} and as the \texttt{lo} network device in ifconfig. \item If the job loads become unbalanced, you may want to \textit{reset rates} to start over for new framerates. @@ -465,7 +465,7 @@ This means that you can make project related configurations that do not impact t \item If one of the client computers is unavailable, check to see if there is an \texttt{X} to the left of the \texttt{nodename} in the Nodes listbox. Check the \texttt{X} to disable it which sets ON to OFF. \item A red message in the lower left hand corner of the main timeline that reads \textit{Failed to start render - farm} often means that the client Cinelerra programs were not started up. + farm} often means that the client \CGG{} programs were not started up. \item A message of \texttt{RenderFarmWatchdog::run 1 killing server thread \\ \#address\#} means that the client did not respond in time. You can adjust the timer in \texttt{Settings $\rightarrow$ Preferences, Performance} tab. \item When you get the message \texttt{RenderFarmClient::main\_loop: bind port 400: Address already in use}, use a different port. @@ -488,7 +488,7 @@ If one of the render farm computers is connected to the internet, you should use \subsection{FFmpeg Common H.264 Rendering}% \label{sub:ffmpeg_h264_rendering} -Because H.264 is so widely used, the method in Cinelerra-GG Infinity is outlined below. These setup steps make it easy to just get started. +Because H.264 is so widely used, the method in \CGG{} Infinity is outlined below. These setup steps make it easy to just get started. \begin{itemize} \item File $\rightarrow$ Render @@ -561,9 +561,9 @@ Example: \textit{cin\_sample\_fmt=s16} \subsection{Two-pass Encoding with FFmpeg}% \label{sub:two_pass_encoding_ffmpeg} -In Cinelerra for two-pass, you need to run ffmpeg twice, with the same settings, except for designating the options of pass 1 for the first pass and then pass 2. In pass 1, a logfile that ffmpeg needs for the second pass is created. In pass 1 the audio codec should be specified that will be used in pass 2. For more information on ffmpeg 2-pass, check {\small \url{https://trac.ffmpeg.org/wiki/Encode/H.264}}. Different libraries may have different requirements and you will probably have to determine this by looking online at ffmpeg or looking directly at that code. +In \CGG{} for two-pass, you need to run ffmpeg twice, with the same settings, except for designating the options of pass 1 for the first pass and then pass 2. In pass 1, a logfile that ffmpeg needs for the second pass is created. In pass 1 the audio codec should be specified that will be used in pass 2. For more information on ffmpeg 2-pass, check {\small \url{https://trac.ffmpeg.org/wiki/Encode/H.264}}. Different libraries may have different requirements and you will probably have to determine this by looking online at ffmpeg or looking directly at that code. -This 2 line ffmpeg 2-pass operation can be functionally duplicated in Cinelerra in the steps below them: +This 2 line ffmpeg 2-pass operation can be functionally duplicated in \CGG{} in the steps below them: \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 && \ @@ -686,7 +686,7 @@ A CRF of 16 delivers satisfactory results in most cases. However, if the video material is really \emph{grainy}, a CRF~16 can lead to unwanted large files. In this case, a trial export of perhaps one minute should be performed. The resulting bit rate can be used to correct the CRF to 17,\,18,\,19\ldots -- remember, a CRF of 0 means lossless, the higher the number the stronger the lossy compression. The approximate calculation of the final file size can be extrapolated from the sample export. The color space information must be used explicitly so that it can -be included in the video. Cinelerra\,GG or FFmpeg does not write it +be included in the video. \CGG{} or FFmpeg does not write it by itself. Without this information the players (e.\,g.\ \href{https://mpv.io/}{mpv}) stick to the dimensions of the video and take the assumed color model from a table. With videos in the dimensions from 720 to 1080 this is bt709. For smaller dimensions, e.\,g.\ DVD, bt601 is assumed and for 4k and above it is bt2020. Normally this is not a problem, but if you want to export a FullHD without color loss to a smaller size like 576 for example, you have to inform the encoder as well as the decoder of the player. This also applies if the videos are to be loaded on video platforms, where they are then converted into videos of different sizes. It is a security measure to prevent false colors, such as the color profiles in digital photos and the copies made from them. The HEVC tuning has not been considered here, because it is is @@ -716,7 +716,7 @@ mknod /tmp/piper.yuv p \item set up your Render (\texttt{Shift-R}), you can choose a raw format such as \textit{yuv} or \textit{rgb} \item for the filename \textit{Select a file to render to}, use the named pipe as created in step 1 (\texttt{/tmp/piper.yuv}) \item for \textit{Insertion Strategy}, you will want to make sure to select \textit{insert nothing} - \item click for 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 click for OK on the green checkmark.(the \CGG{} 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,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 diff --git a/parts/Shortcuts.tex b/parts/Shortcuts.tex index ee0298c..2095f5c 100644 --- a/parts/Shortcuts.tex +++ b/parts/Shortcuts.tex @@ -1,10 +1,10 @@ \chapter{Shortcuts}% \label{cha:shortcuts} -Almost every Cinelerra GG Infinity command has its own keyboard and mouse shortcuts. Here +Almost every \CGGI{} command has its own keyboard and mouse shortcuts. Here they are listed organized by window and type. If a desktop window manager and operating system is already using a specific key for its own purpose then that key will not be available -for use as a shortcut in Cinelerra. An example might be the Alt key. Some specific alternatives +for use as a shortcut in \CGG{}. An example might be the Alt key. Some specific alternatives are listed in \ref{ssub:key_alternatives} in the "Key Alternatives" paragraph. \section{Main window }% @@ -107,7 +107,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 Cinelerra\_rc. \\ + & Save settings & Ctrl-s & Save \CGG{}\_rc. \\ & Loop Playback & Shift-L & Set loop playback region to selection/all. \\ & Set bkg render & Shift-G & Toggle background rendering. \\ \midrule @@ -565,7 +565,7 @@ The Main window (also called the program window) consists of pulldown menus, but \textcolor{CinBlueText}{Remote} & MENU & & Toggle remote control state (grabs/ungrabs keys). \\ & KPTV & & Open or close the record window. \\ & KPBOOK & & Start/stop dvb channel scan. \\ - & KPHAND & & Quit Cinelerra program. \\ + & KPHAND & & Quit \CGG{} program. \\ \midrule \textcolor{CinBlueText}{Commercial} & & Shift-A & Edit commercial\\ \bottomrule diff --git a/parts/Stuff.tex b/parts/Stuff.tex index 9a53467..59d3f76 100644 --- a/parts/Stuff.tex +++ b/parts/Stuff.tex @@ -1,7 +1,7 @@ \chapter{How some stuff works}% \label{cha:how_stuff_works} -This section describes in detail some areas of Cinelerra to help explain how things work. +This section describes in detail some areas of \CGG{} to help explain how things work. \section{Copy/Paste and Highlight Usage}% \label{sec:copy_paste_highlight_usage} @@ -21,7 +21,7 @@ All of the methods use window \textit{properties} to attach data, called a selec When a paste is used in a target window, the target program requests the advertised selection data. This may access one of two buffers depending on which type of load/paste action is used. The user loads a \textit{cut buffer} via Drag select or Ctrl-C/Ctrl-X, and pastes a \textit{cut buffer} via middle mouse press or Ctrl-V. -\subsection*{Cinelerra cut and paste:}% +\subsection*{\CGG{} cut and paste:}% \label{sub:cinelerra_cut_paste} \subsubsection*{1. Text cut and paste operations}% @@ -32,20 +32,20 @@ To use a text selection, create a drag selection in textboxes by pressing and ho \subsubsection*{2. Media cut and paste operations}% \label{ssub:media_cut_paste_operations} -To create a media selection, highlight a region on the Cinelerra media timeline, then use the main menubar or compositor/viewer edit panel to operate the clip cut, copy, or copy-keyframe menu buttons. This selection can then be pasted to a target selection on the timeline using the main menubar or compositor/viewer edit panel to operate the clip paste or paste-keyframe operation. Also, by using the resource window you can select the \textit{Clips} folder and right mouse the resources list box, then use the \textit{Paste Clip} menu item to paste the selection to a named clip. Additionally, these methods work between running instances of Cinelerra, which means you can move media clips between the Cinelerra program instances. The clip data is also copied to the secondary clipboard buffer. This makes it possible to examine the clip content directly if so desired. +To create a media selection, highlight a region on the \CGG{} media timeline, then use the main menubar or compositor/viewer edit panel to operate the clip cut, copy, or copy-keyframe menu buttons. This selection can then be pasted to a target selection on the timeline using the main menubar or compositor/viewer edit panel to operate the clip paste or paste-keyframe operation. Also, by using the resource window you can select the \textit{Clips} folder and right mouse the resources list box, then use the \textit{Paste Clip} menu item to paste the selection to a named clip. Additionally, these methods work between running instances of \CGG{}, which means you can move media clips between the \CGG{} program instances. The clip data is also copied to the secondary clipboard buffer. This makes it possible to examine the clip content directly if so desired. \subsubsection*{3. The older cut\_buffer method}% \label{ssub:older_cut_buffer_method} \begin{itemize} - \item For text, if there is an active selection when a window closes, it uses \texttt{cut\_buffer0}. Normally when a paste is performed, the target window \textit{notifies} the selection owner to \textit{send it now} when you do a paste, but if the window has closed there is no source window, so no pasting. Some programs, like Cinelerra, use \texttt{cut\_buffer0} as a fallback. This makes it possible to paste data from a closed window. + \item For text, if there is an active selection when a window closes, it uses \texttt{cut\_buffer0}. Normally when a paste is performed, the target window \textit{notifies} the selection owner to \textit{send it now} when you do a paste, but if the window has closed there is no source window, so no pasting. Some programs, like \CGG{}, use \texttt{cut\_buffer0} as a fallback. This makes it possible to paste data from a closed window. \item To move media clip, data \texttt{cut\_buffer2} is used because it does not require the selection owner interface, and works simply and reliably. This buffer is not normally in use by other programs. \end{itemize} \subsection*{Final note}% \label{sub:final_note} -When a text selection is set, the selected text is redrawn using selected-highlight color when the textbox loses focus. This convenience feature shows the active text selection as you move the pointer to the new target window. When a new selection is set anywhere else on your screen, the current text selection will be redrawn using the inactive-highlight color as the textbox loses selection ownership. In most Cinelerra themes, the drag selection text-highlight color is BLUE ($\#0000FF$), the selected-highlight color is SLBLUE ($\#6040C0$) -- really sort of purple, and the inactive-highlight color is MEGREY ($\#AFAFAF$). +When a text selection is set, the selected text is redrawn using selected-highlight color when the textbox loses focus. This convenience feature shows the active text selection as you move the pointer to the new target window. When a new selection is set anywhere else on your screen, the current text selection will be redrawn using the inactive-highlight color as the textbox loses selection ownership. In most \CGG{} themes, the drag selection text-highlight color is BLUE ($\#0000FF$), the selected-highlight color is SLBLUE ($\#6040C0$) -- really sort of purple, and the inactive-highlight color is MEGREY ($\#AFAFAF$). \section{Playing is Different than Seeking/Positioning!}% \label{sec:playing_seeking_positioning} @@ -165,7 +165,7 @@ There is now program code to look for RGB versus YUV color model mismatches. Yo When you load media with the insertion strategy of \textit{replace current project}, the program code will automatically use the "best model" for the render based on the media's codec. The best model is pretty much going to be what works well for television. This automation was added to facilitate easy use of -Cinelerra. Which is to say that it is difficult for a new or occasional user to set all of the +\CGG{}. Which is to say that it is difficult for a new or occasional user to set all of the necessary parameters as best as possible so the program does it for you. This means you do not have to \textit{conform your project} which ordinarily would have to have been done in the Resources window with RMB click on the highlighted media and choosing \textit{Match project size}. @@ -186,13 +186,13 @@ where 16 stands for 16 bits. It fills the other 6 bits not used for 10 bits with \section{Simple Animation (Festival)}% \label{sec:simple_animation_festival} -This functionality was added to Cinelerra by the original author to create simple animation. The file type for this animation is \textit{Scene}. +This functionality was added to \CGG{} by the original author to create simple animation. The file type for this animation is \textit{Scene}. To get started making a simple animated movie copy from the directory:\\ \texttt{/cinelerra/tests} the \texttt{text2movie} and \texttt{text2movie.xml}. \\ You can see what this does via \texttt{File $\rightarrow$ Load\dots $\rightarrow$ text2movie.xml}. The file text2movie acts like a normal asset, except changes to it are immediately reflected on the timeline without reloading and the length is infinite. You can just edit the text2movie file to change the script. If the length of the movie increases, drag the right edit handle to extend the edit or use the pulldown \texttt{Edit $\rightarrow$ edit length}. There is one audio channel created for every character. The frame rate, sample rate, frame size, and camera angles are fixed. To see these values, right click on the asset and look at the \textit{Asset info}. -Currently the functionality that is implemented focuses on dialog between two people. The models are defined in model files saved in Cinelerra's executable directory (for example, \texttt{/opt/cinelerra/models}). The character model and voice is selected separately in the script. The model files have the same name that appears in the script and are usually saved in the directory the script is in, but there is a defined search path, if not. You can create new models for the script without affecting the entire system. These models define the total size of the model along with the images used -- the model images are 2D png images because all the animations are baked. Since there is no 3D renderer, no custom movement is supported. +Currently the functionality that is implemented focuses on dialog between two people. The models are defined in model files saved in \CGG{}'s executable directory (for example, \texttt{/opt/cinelerra/models}). The character model and voice is selected separately in the script. The model files have the same name that appears in the script and are usually saved in the directory the script is in, but there is a defined search path, if not. You can create new models for the script without affecting the entire system. These models define the total size of the model along with the images used -- the model images are 2D png images because all the animations are baked. Since there is no 3D renderer, no custom movement is supported. There are currently 2 actions implemented: diff --git a/parts/Tips.tex b/parts/Tips.tex index b22bd6a..0ed8b20 100644 --- a/parts/Tips.tex +++ b/parts/Tips.tex @@ -1,7 +1,7 @@ \chapter{Performance and other Tips}% \label{cha:performance_tips} -Performance of Cinelerra is related to the software and video format being used in conjunction with your computer system hardware -- the number of CPUs and its speed, I/O bus speed, graphics card, and amount of available memory. A basic, less powerful system will be sufficient for users working with audio only or lower resolution video formats. Higher end computers will be needed when playing and working with higher resolution formats, like 1080p or 4k. Adding effects and multiple tracks will require more cpu, memory, and various other resources to +Performance of \CGG{} is related to the software and video format being used in conjunction with your computer system hardware -- the number of CPUs and its speed, I/O bus speed, graphics card, and amount of available memory. A basic, less powerful system will be sufficient for users working with audio only or lower resolution video formats. Higher end computers will be needed when playing and working with higher resolution formats, like 1080p or 4k. Adding effects and multiple tracks will require more cpu, memory, and various other resources to perform at an acceptable level. Perhaps the easiest method for determining if your performance could be improved is to look at the numerical value displayed as \textit{Framerate achieved}. Good performance means that when \textit{Play every frame} is set @@ -9,12 +9,12 @@ in \texttt{Settings $\rightarrow$ Preferences, Playback A} tab, the frames/secon Some computer hardware factors to consider for better performance are listed here: \begin{itemize} - \item Multi-core and more SMP processors greatly improve Cinelerra speed by making use of threads. + \item Multi-core and more SMP processors greatly improve \CGG{} speed by making use of threads. \item A large amount of free memory available can help speed up operations by avoiding unnecessary disk swaps and keeping videos easily accessible in memory. \item Video editing is almost always I/O intensive. To create longer running videos at high resolution you will want to have a lot of disk space available on fast access disks. - \item Cinelerra benefits from OpenGL hardware acceleration. A good graphics card is worthwhile to have. + \item \CGG{} benefits from OpenGL hardware acceleration. A good graphics card is worthwhile to have. \item Multiple monitors really come in handy to increase productivity as you can see more information and in bigger windows so you do not have to keep moving windows around. \end{itemize} @@ -23,7 +23,7 @@ Besides the above hardware recommendations, this section covers tips for perform \section{Hardware video acceleration}% \label{sec:hardware_video_acceleration} -With certain newer, more powerful graphics boards and newer device drivers, there is the potential for enhanced \textit{decode} and \textit{encode} performance. Decode refers to loading and playing video in Cinelerra. The GPU, Graphics Processing Unit, on the graphics board is accessed via one of the following libraries: vdpau or vaapi. The hardware acceleration done by the graphics card increases performance by activating certain functions in connection with a few of the FFmpeg decoders. This use makes it possible for the graphics card to decode video, thus offloading the CPU. Decode operations are described here next. +With certain newer, more powerful graphics boards and newer device drivers, there is the potential for enhanced \textit{decode} and \textit{encode} performance. Decode refers to loading and playing video in \CGG{}. The GPU, Graphics Processing Unit, on the graphics board is accessed via one of the following libraries: vdpau or vaapi. The hardware acceleration done by the graphics card increases performance by activating certain functions in connection with a few of the FFmpeg decoders. This use makes it possible for the graphics card to decode video, thus offloading the CPU. Decode operations are described here next. Encode refers to rendering video and is described at the end of this section under \hyperref[sub:gpu_hardware_encoding]{GPU hardware encoding}. @@ -42,8 +42,8 @@ performing the operations in the hardware may actually be slower than in softwar \item Verify that you have installed \textit{libva-intel-driver} on your operating system \item Verify that you also have \textit{libvdpau-dev} or \textit{libvdpau} installed. \item Verify \texttt{Settings $\rightarrow$ Preferences, Playback} tab, Video Driver is set to\textit{ X11} -- or \textit{X11-OpenGL} if that produces better results for your configuration. - \item Before starting CinelerraGG, you can set an environment variable that can be easily reversed and - then, to run from the Cinelerra installed directory, key in: + \item Before starting \CGG{}, you can set an environment variable that can be easily reversed and + then, to run from the \CGG{} installed directory, key in: \end{enumerate} \begin{lstlisting}[numbers=none] @@ -62,7 +62,7 @@ export CIN_HW_DEV=vaapi It might be more difficult to analyze problems as a result of using the GPU because of the wide variation in hardware. When you do not set the \texttt{CIN\_HW\_DEV} environment variable, the code will work exactly as before since this feature is self-contained. There is also a \texttt{Settings $\rightarrow$ Preferences, Performance} tab, \textit{Use HW device} flag -with a pulldown to set up \textit{none, vdpau, vaapi,} or \textit{cuda}. To ensure it takes effect, it is best to set it the way you want, quit out of Cinelerra and then restart. Its current purpose is for flexibility, but there is a possibility that it might eventually take the place of \texttt{CIN\_HW\_DEV} -- both are not needed. +with a pulldown to set up \textit{none, vdpau, vaapi,} or \textit{cuda}. To ensure it takes effect, it is best to set it the way you want, quit out of \CGG{} and then restart. Its current purpose is for flexibility, but there is a possibility that it might eventually take the place of \texttt{CIN\_HW\_DEV} -- both are not needed. Precedence of the decode hardware acceleration settings are: @@ -72,10 +72,10 @@ Precedence of the decode hardware acceleration settings are: -- preferences \textit{Use HW device} settings is of the lowest priority -\subsubsection*{Hardware decoding in Cinelerra GG}% +\subsubsection*{Hardware decoding in \CGG{}}% \label{ssub:hardware_decoding_cinelerra} -There are 4 phases during Cinelerra’s handling of hardware acceleration. These first 2 steps occur just \textit{before} the first read. +There are 4 phases during \CGG{}’s handling of hardware acceleration. These first 2 steps occur just \textit{before} the first read. \begin{enumerate} \item Check to see if Hardware Acceleration is enabled, usually indicated by \texttt{CIN\_HW\_ \_DEV} being set to @@ -93,7 +93,7 @@ There are 4 phases during Cinelerra’s handling of hardware acceleration. These \end{enumerate} Due to variations in user’s computer hardware configuration, it is often suggested that you refer to your startup window to check for error messages. Since your situation is unique, the error may not have been seen by anyone else and is probably unknown/undocumented. -\textcolor{red}{For debugging problems, modify in the Cinelerra ffmpeg subdirectory, the file: \texttt{decode.opts} by temporarily changing the line from \textit{loglevel =fatal} to \textit{loglevel =verbose} and restarting Cinelerra}. +\textcolor{red}{For debugging problems, modify in the \CGG{} ffmpeg subdirectory, the file: \texttt{decode.opts} by temporarily changing the line from \textit{loglevel =fatal} to \textit{loglevel =verbose} and restarting \CGG{}}. \subsubsection*{Possible improvements or differences}% \label{ssub:possible_improvements_differences} @@ -137,7 +137,7 @@ cin_hw_dev=vdpau For example your file, \texttt{test.mp4}, would have a side-kick called \texttt{test.opts} that will use the GPU for decoding/playing and the other files will just use the software. This is of some advantage because the ones that can not use the GPU if the environment variable is enabled, will not have to even check which saves a minuscule bit of time. -It is important to note that if using the .opts file to override the default \texttt{ffmpeg / decode.opts} file, you will most likely see more warnings (not really errors) in the Cinelerra startup window because the standard \texttt{decode.opts} file has \textit{loglevel = fatal} whereas the default is \textit{loglevel = error}. To avoid seeing all of the extra warnings, you can simply add the line \textit{loglevel=fatal} to your .opts file. +It is important to note that if using the .opts file to override the default \texttt{ffmpeg / decode.opts} file, you will most likely see more warnings (not really errors) in the \CGG{} startup window because the standard \texttt{decode.opts} file has \textit{loglevel = fatal} whereas the default is \textit{loglevel = error}. To avoid seeing all of the extra warnings, you can simply add the line \textit{loglevel=fatal} to your .opts file. \subsubsection*{To verify hardware acceleration}% \label{ssub:verify_hardware_acceleration} @@ -162,7 +162,7 @@ or HEVC with NVIDIA, VDPAU driver is buggy, skipping \end{lstlisting} -If you would like to see more information on what is occurring, you can modify in the Cinelerra ffmpeg subdirectory, the file: \texttt{decode.opts} by temporarily changing the line from \textit{loglevel =fatal} to \textit{loglevel =verbose} and restarting Cinelerra. Then you will see messages in the startup window like: +If you would like to see more information on what is occurring, you can modify in the \CGG{} ffmpeg subdirectory, the file: \texttt{decode.opts} by temporarily changing the line from \textit{loglevel =fatal} to \textit{loglevel =verbose} and restarting \CGG{}. Then you will see messages in the startup window like: \begin{lstlisting}[numbers=none] [AVHWDeviceContext @ 0x7fc9540be940] Successfully created a VDPAU device @@ -280,7 +280,13 @@ One last item of note, \textit{nvdec} is also enabled in the ffmpeg build, but a \subsection{GPU hardware encoding}% \label{sub:gpu_hardware_encoding} -Encoding using hardware acceleration of your graphics board GPU is included in CinelerraGG but it is of limited availability and works only with a specific set of hardware graphics boards, a certain level of graphics driver versions and only with certain ffmpeg formats. The encoding is done via vaapi (libva installed), which is known to work with Intel HD graphics boards and some others or via nvenc as developed by Nvidia for Nvidia graphics boards. +Encoding using hardware acceleration of your graphics board GPU is +included in \CGG{} but it is of limited availability and works only +with a specific set of hardware graphics boards, a certain level of +graphics driver versions and only with certain ffmpeg formats. The +encoding is done via vaapi (libva installed), which is known to work +with Intel HD graphics boards and some others or via nvenc as +developed by Nvidia for Nvidia graphics boards. \subsubsection*{Broadcom, Intel HD, AMD}% \label{ssub:broadcom_intel_amd} @@ -295,7 +301,7 @@ There are currently 4 options files available in the Render menu already set up \item[mjpeg\_vaapi.mp4] error message of \textit{open failed with mjpeg\_vaapi$\dots$} on above computer \item[hevc\_vaapi.mp4] error message of \textit{open failed with hevc\_vaapi$\dots$} on above computer \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 Cinelerra’s \texttt{ffmpeg/video/h264\_vaapi.mp4} file (figure~\ref{fig:render-vaapi}): +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] @@ -338,7 +344,7 @@ To use hardware acceleration for rendering (that is, encoding) you do not have t 390.25 or newer. You will see error messages on the startup window if you are on lower versions. \end{enumerate} -If you try to render using\texttt{ h264/h265\_nvenc.mp4} formats and do not have an Nvidia graphics card or this feature was not built in, you will see in the window from where you started Cinelerra, the error message: \qquad \textit{Cannot load libcuda.so.1} +If you try to render using\texttt{ h264/h265\_nvenc.mp4} formats and do not have an Nvidia graphics card or this feature was not built in, you will see in the window from where you started \CGG{}, the error message: \qquad \textit{Cannot load libcuda.so.1} A small test using 2 minutes from the 4k version of Big Buck Bunny shows using nvenc can be about 4 times faster. The test was done on a 4 core Intel laptop with an Nvidia 950M graphics board. @@ -363,11 +369,11 @@ There is one last potentially significant graphics speedup when using the X11-Op CUDA® is a parallel computing platform / programming model developed by Nvidia that provides big increases in computing performance through use of the GPU. It was first introduced in about 2006 for applications in computationally intense fields such as astronomy, biology, chemistry, and physics. -At the time this was written, the use of Cuda is not going to improve the playing and rendering of video in Cinelerra except in the case where you use a specific Cuda-enabled plugin that is computationally intense -- sadly, most of what Cin does, Cuda will not help. Cuda is mostly a \textit{block oriented algorithm} which works well for such things as \textit{a flock of birds all flying next to each other}. +At the time this was written, the use of Cuda is not going to improve the playing and rendering of video in \CGG{} except in the case where you use a specific Cuda-enabled plugin that is computationally intense -- sadly, most of what Cin does, Cuda will not help. Cuda is mostly a \textit{block oriented algorithm} which works well for such things as \textit{a flock of birds all flying next to each other}. The same as for vaapi and vdpau, you can enable Cuda in the:\\ \texttt{ Settings $\rightarrow$ Preferences, Performance} tab, \textit{Use HW Device}\\ -but it will not affect anything unless you have Cuda installed on your system and have built Cinelerra yourself with Cuda build enabled. To install it on your computer, you will need to do the following: +but it will not affect anything unless you have Cuda installed on your system and have built \CGG{} yourself with Cuda build enabled. To install it on your computer, you will need to do the following: \begin{enumerate} \item Make sure you have the Nvidia proprietary library drivers for your graphics board already installed and up to date. @@ -377,7 +383,7 @@ but it will not affect anything unless you have Cuda installed on your system an \item Also, install the Fusion repo, although it is unknown if necessary or not. \end{enumerate} -There is a very good set of directions on the website to just follow. Once you have installed the Cuda software on your computer, you must build Cinelerra yourself -- the default flag for a build in the configure script for cuda is \textit{auto}. For Arch, and possibly other distros, you may have to supply the CUDA\_PATH if it is not in the standard place. This would be +There is a very good set of directions on the website to just follow. Once you have installed the Cuda software on your computer, you must build \CGG{} yourself -- the default flag for a build in the configure script for cuda is \textit{auto}. For Arch, and possibly other distros, you may have to supply the CUDA\_PATH if it is not in the standard place. This would be something like: @@ -397,7 +403,7 @@ For all distros you will need to add to the ./configure line in your build scrip There are currently 2 available plugins for \textit{show and tell} that take advantage of the hardware acceleration of Cuda -- \textit{N\_Body} and \textit{Mandelbrot} (see \nameref{sec:cuda_plugins}). -An error you may see on your Cinelerra startup window when you have Cuda installed and try to run one of the 2 plugins is \textit{cudaErrorInsufficientDriver}. This indicates CUDA 10 (the current version at the time of this writing) is not compatible with the driver version on your computer. You can either: +An error you may see on your \CGG{} startup window when you have Cuda installed and try to run one of the 2 plugins is \textit{cudaErrorInsufficientDriver}. This indicates CUDA 10 (the current version at the time of this writing) is not compatible with the driver version on your computer. You can either: \begin{enumerate} \item Upgrade the driver if your board supports newer nvidia builds. @@ -414,7 +420,7 @@ In wrapping up this Hardware Acceleration section, you may want to refer to the \section{Optimized Playback -- X11 Direct}% \label{sec:optimized_playback} -Normally, when Cinelerra reads a video frame, it is copied into a \textit{Vframe}. This frame may also need other actions performed on it, such as a color model change. In addition, ffmpeg and libzmpeg \textit{can\_scale\_input}. So the read can be color transformed and scaled just by asking the library to do that. This means that if the compositor is in a \textit{good} state with no zoom, the VFrame read can be done in the fastest render color model, and already scaled to the correct size for the compositor. In reality, this is not what you need for editing, but quite often the \textit{virtualconsole} is not used because the render is media only -- that is \textit{just data}. If no data transforms are needed and the input scaling can be done, the vrender program detects this, and tells the codec to transmit the data in a compatible way to the compositor canvas. This is the \textit{X11 direct} data path. +Normally, when \CGG{} reads a video frame, it is copied into a \textit{Vframe}. This frame may also need other actions performed on it, such as a color model change. In addition, ffmpeg and libzmpeg \textit{can\_scale\_input}. So the read can be color transformed and scaled just by asking the library to do that. This means that if the compositor is in a \textit{good} state with no zoom, the VFrame read can be done in the fastest render color model, and already scaled to the correct size for the compositor. In reality, this is not what you need for editing, but quite often the \textit{virtualconsole} is not used because the render is media only -- that is \textit{just data}. If no data transforms are needed and the input scaling can be done, the vrender program detects this, and tells the codec to transmit the data in a compatible way to the compositor canvas. This is the \textit{X11 direct} data path. With the X11 video driver choice, large format files such as 4K, will playback faster than either X11-XV or X11-OpenGL. However, you still have the option to turn off the X11 direct data path if you use \texttt{Settings $\rightarrow$ Preferences, Playback A} tab set video driver to X11 and uncheck \textit{use direct X11 render if possible}. @@ -504,9 +510,9 @@ The BIGGEST gain from using this is if you have media that is not \textit{seekab \section{Some Settings Parameter Values}% \label{sec:settings_parameter_values} -\texttt{Cache} in \texttt{Settings $\rightarrow$ Preferences, Performance} tab is used to store images on the timeline. One 1080p frame uses about 10 MB. The default setting is 256 and this is enough for testing and running. However, why not use more memory if it is available. To experiment for testing a good number tuned to the way you use your computer, set the cache to 0, start up Cinelerra, load a typical media file, play it and run \texttt{top} on the command line in another window to see how much memory is being used. In the \textit{top} display, look at \textit{free} memory. Whatever your computer is not using, is a good number to use for cache. If you start other programs, or change the design of the session so that it uses a lot of frame storage, you may need to experiment again later and resize accordingly. +\texttt{Cache} in \texttt{Settings $\rightarrow$ Preferences, Performance} tab is used to store images on the timeline. One 1080p frame uses about 10 MB. The default setting is 256 and this is enough for testing and running. However, why not use more memory if it is available. To experiment for testing a good number tuned to the way you use your computer, set the cache to 0, start up \CGG{}, load a typical media file, play it and run \texttt{top} on the command line in another window to see how much memory is being used. In the \textit{top} display, look at \textit{free} memory. Whatever your computer is not using, is a good number to use for cache. If you start other programs, or change the design of the session so that it uses a lot of frame storage, you may need to experiment again later and resize accordingly. -For system \textit{swap}, 1 GB seems to be more than sufficient. If the amount of memory being used by the program is \textit{close}, then swap might save you but often if swapping becomes necessary, it presents more problems and you end up killing the Cinelerra process anyway. +For system \textit{swap}, 1 GB seems to be more than sufficient. If the amount of memory being used by the program is \textit{close}, then swap might save you but often if swapping becomes necessary, it presents more problems and you end up killing the \CGG{} process anyway. \section{Tips for Improving Smaller Computers Use}% \label{sec:tips_improving_smaller_computers} @@ -536,7 +542,7 @@ This section is a handy guide for describing various kinds of software computer \begin{description} \item[System lockups:] When the system locks up, it is usually a system problem. Normally an application program cannot lock up the system. It is a major goal of system design to prevent an application (app) from failing a system interface. This does not mean an app can not cause a system lockup, but it is unusual. - \item[Cinelerra crash:] This is covered in \hyperref[cha:crash_dumps_analysis]{Crash Dumps for Analysis}. Just a reminder that for best results you should be root and by providing a crash dump and as much other information as possible, you will be helping the developer to analyze the problem and fix it so that it can be avoided in the future. + \item[\CGG{} crash:] This is covered in \hyperref[cha:crash_dumps_analysis]{Crash Dumps for Analysis}. Just a reminder that for best results you should be root and by providing a crash dump and as much other information as possible, you will be helping the developer to analyze the problem and fix it so that it can be avoided in the future. \item[X Server crash:] Keyboard does not respond, screen is frozen, caps lock may operate LED light. Sometimes using Ctrl-Alt-F1 $\dots$ Ctrl-Alt-F7 (etc.) will allow you to regain control of a VT console. You can use this to login and check logs: eg. \texttt{/var/log/Xorg.0.log}, \textit{dmesg}, \textit{journalctl} $\dots$ etc. If you have another computer, make sure a terminal server is configured (for example: rsh, ssh, or telnet), then remote login via this other computer and check the logs. Most important is to immediately note the current software state, and the very last thing that preceded the crash, i.e. last button click, last keystroke, $\dots$ or whatever. \item[Kernel crash:] The machine goes completely dead. The keyboard caps lock LED will probably be flashing. Most likely the only way to see anything after the kernel crashes is to use a serial port console log and usually kdb, the kernel debugger, and special cabling. This requires a lot of setup, and is normally reserved for experts. Login from another computer will not work. Pinging the ip address will not respond since the network stack is part of the kernel. There are some virtual machine setups that will let you debug a \textit{guest} kernel, but this also requires a lot of setup, and affects which kernel is currently under test. The kdb route is preferable. \item[Keyboard grabs, Server grabs, and Deadlocks:] A grab is an X-server state where all events are forced to just one window event stream. This forces the user to respond to the dialog. Things seems to be working, but no keypresses do anything useful. The system clock and other programs will still be working. The network will work for remote logins. Grabs can be canceled if the \texttt{/etc/X11/xorg.conf} X config contains special setup as shown below: @@ -597,7 +603,7 @@ To create a specific 440 Hz tone, follow these steps. You can vary the length, parameters. \item Highlight the \textit{exprs} option and key in a specific audio filter expression which for 440 Hz would be: $\sin(2\pi t\times440)$. Then hit the Apply button. - \item Next when you hit the green OK checkmark on the Cinelerra: Effect Prompt popup, you will have + \item Next when you hit the green OK checkmark on the \CGG{}: Effect Prompt popup, you will have your 440 Hz tone on the timeline plus in the select file that you chose to render it to. \item To use 2 channels instead of 1, in the F\_aeval menu highlight the \textit{channel\_layout} option and change that to 1C|2C instead of the usual default of 1C. @@ -656,7 +662,7 @@ Other tricks you can perform to separate the speakers are parametric equalizatio \subsection{Improving Analog TV Quality}% \label{sub:improving_tv_quality} -The picture quality on analog TV is not always good but you can modify parameters in Cinelerra to make it look more like it did in the studio. +The picture quality on analog TV is not always good but you can modify parameters in \CGG{} to make it look more like it did in the studio. First, when capturing the video, capture it in the highest resolution possible. For Europeans this would be $720\times576$ and for North Americans, $720\times480$. Do not adjust the brightness or contrast in the recording monitor, but you might want to max out the color. Capture the video using MJPEG or uncompressed Component Video if possible; if not possible, then capture it using JPEG preferably or RGB if that is all that will work. Now on the timeline use \texttt{Settings $\rightarrow$ Format} to set a YUV colorspace, drop a \textit{Downsample} effect on the footage and set it as follows: @@ -676,7 +682,7 @@ Use the Camera in the compositor to shift the picture up or down a line to remov \subsection{Remove Interlacing}% \label{sub:remove_interlacing} -Interlacing often exists on older video sources, such as camcorders, and was previously used in broadcast television. Playing this video results in jagged images on a computer monitor, but with Cinelerra you can use deinterlacing effects to solve this. After some experimentation, it has been determined that the FFmpeg \textit{F\_kerndeint} plugin seems to produce the best results with the least amount of fiddling. But some of the parameters described next are pertinent to other potential plugin usage. +Interlacing often exists on older video sources, such as camcorders, and was previously used in broadcast television. Playing this video results in jagged images on a computer monitor, but with \CGG{} you can use deinterlacing effects to solve this. After some experimentation, it has been determined that the FFmpeg \textit{F\_kerndeint} plugin seems to produce the best results with the least amount of fiddling. But some of the parameters described next are pertinent to other potential plugin usage. \begin{description} \item[Line Doubling:] done by the \textit{Deinterlace} effect when set to \textit{Odd} lines or \textit{Even} lines. When applied to a track it reduces the vertical resolution by $\frac{1}{2}$ and gives you progressive frames with stairstepping. This is only useful when followed by a scale effect which reduces the image to half its size. @@ -774,7 +780,7 @@ Another way to change duration slightly is to go to the Resources window, highli \subsection{Pan and zoom: still images}% \label{sub:pan_zoom_still_image} -Cinelerra's powerful keyframe features allow you to use pan and zoom effects on still pictures. +\CGG{}'s powerful keyframe features allow you to use pan and zoom effects on still pictures. \begin{enumerate} \item Load and create a clip from a still image. Make the clip 10 seconds long. @@ -786,5 +792,5 @@ Cinelerra's powerful keyframe features allow you to use pan and zoom effects on \item Next go to the beginning of the clip and play it. \end{enumerate} -You can see that the camera smoothly flows from keyframe point to next keyframe point, as Cinelerra automatically adjusts the camera movement in straight lines from point to point. +You can see that the camera smoothly flows from keyframe point to next keyframe point, as \CGG{} automatically adjusts the camera movement in straight lines from point to point. diff --git a/parts/Transition.tex b/parts/Transition.tex index d7dd22c..7dba751 100644 --- a/parts/Transition.tex +++ b/parts/Transition.tex @@ -36,7 +36,7 @@ The way that transitions work is that two edits overlap for some length of time Instead extra frames from the source file will be used to lengthen the first edit enough to make it overlap the second edit for the length of the transition. The transition takes effect exactly at the beginning of the second edit and lasts for the specific length of time you set into the second edit. What this means is that if you set a duration of 2 seconds for a flash transition, it will not start at the last 1 second of the first edit and continue 1 second into the second edit. Instead the transition will start exactly at the beginning of the second edit and last for 2 seconds into that second edit. This is why it is necessary that the first edit needs to have extra data after the end boundary to provide enough fill for the transition length into the second edit. -In the case where the last frame on the timeline is the last frame of the source, Cinelerra will lengthen the first edit using only that last frame. The result will not be what you want because the first edit will freeze into the transition. +In the case where the last frame on the timeline is the last frame of the source, \CGG{} will lengthen the first edit using only that last frame. The result will not be what you want because the first edit will freeze into the transition. When playing transitions, software rendering is used. This means that if you are using hardware, as with the video driver set to OpenGL, hardware acceleration will usually be turned \textit{off} during the transition and \textit{on} after the transition. Consequently, you may notice small anomalies while playing this section but you can avoid this by switching to using X11 video driver instead or just ignore it because when you create your final render that is always done in software only. @@ -106,7 +106,7 @@ Next, there is a \textit{Feather} textbox with tumbler arrows or a slider bar to You can add your own images to the Shape Wipe transition and there are some free ones available to download such as under the \texttt{Video $\rightarrow$ Transitions} pulldown at {\small \url{assistcg.com}}. To include new images in the Shape Wipe Transition, simply copy the file \texttt{{shape}.png} to the - subdirectory \texttt{plugins/shapes} in your Cinelerra directory path. + subdirectory \texttt{plugins/shapes} in your \CGG{} directory path. \subsection*{Slide}% \label{sub:slide} diff --git a/parts/Translations.tex b/parts/Translations.tex index f76969a..c723856 100644 --- a/parts/Translations.tex +++ b/parts/Translations.tex @@ -1,7 +1,7 @@ \chapter{Translations}% \label{cha:translations} -There are several \textit{po} files for various languages to make Cinelerra more usable for non-English +There are several \textit{po} files for various languages to make \CGG{} more usable for non-English countries. These are listed below along with the po file name with the translations, the frequency of updates, and date of last update as of this writing. @@ -29,9 +29,9 @@ of updates, and date of last update as of this writing. \hline \end{tabular} -A program, \textit{xlat.C}, assists in providing several variations of text files that can be used in order to allow anyone to help make meaningful translations. All of the \textit{po} files are located in Cinelerra’s \texttt{/po} subdirectory. There are 3 different ways to proceed described below. +A program, \textit{xlat.C}, assists in providing several variations of text files that can be used in order to allow anyone to help make meaningful translations. All of the \textit{po} files are located in \CGG{}’s \texttt{/po} subdirectory. There are 3 different ways to proceed described below. -Because Cinelerra frequently is changing, it is a good idea to start by building a new \texttt{cin.po} file which contains the latest messages/words in English to be translated, along with a comment line of the routine name and line number. To create this, run the following lines from a window: +Because \CGG{} frequently is changing, it is a good idea to start by building a new \texttt{cin.po} file which contains the latest messages/words in English to be translated, along with a comment line of the routine name and line number. To create this, run the following lines from a window: \begin{lstlisting}[numbers=none] cd /{your top level cinelerra directory} diff --git a/parts/Trouble.tex b/parts/Trouble.tex index 0a77395..48c1bc2 100644 --- a/parts/Trouble.tex +++ b/parts/Trouble.tex @@ -1,7 +1,7 @@ \chapter{Troubleshooting and Help}% \label{cha:troubleshooting_help} -You can report potential problems, bugs, and crashes to the Cinelerra-GG website at: +You can report potential problems, bugs, and crashes to the \CGG{} website at: \begin{center} \href{https://www.cinelerra-gg.org/}{https://www.cinelerra-gg.org} @@ -9,7 +9,7 @@ You can report potential problems, bugs, and crashes to the Cinelerra-GG website Here you can log the problem into the MantisBT bugtracker, or use the forum Q\&A for help from other users, or email the problem using the address:{\small \href{mailto:cin@lists.cinelerra-gg.org}{cin@lists.cinelerra-gg.org}} It is usually more -helpful if instead of starting Cinelerra from its application icon, start from a window so that if there are error +helpful if instead of starting \CGG{} from its application icon, start from a window so that if there are error messages related to the problem, they can be captured from the screen and emailed or logged. The command to run from a window is: \texttt{/bin/cin} -- for example if installed in \texttt{/mnt0/build5/cinelerra-5.1}, you would execute the following command to start the program:\\ @@ -64,7 +64,7 @@ helpful information on the crash, location of uploaded files, and list of setup {\small \href{mailto:cin@lists.cinelerra-gg.org}{cin@lists.cinelerra-gg.org}} \begin{enumerate}[nosep] - \item Use the latest version of Cinelerra as you want to make sure the problem has not been fixed. + \item Use the latest version of \CGG{} as you want to make sure the problem has not been fixed. \item Be sure \textit{gdb} is installed (usually installed but if not, it is easy to do so). \item Run as root if at all possible (this enables using gdb to create a full \texttt{/tmp/cinelerra* .dmp} file). \item Be sure \texttt{Settings $\rightarrow$ Preferences $\rightarrow$ Interface $\rightarrow$ trap SEGV} and \texttt{trap INTR} are checked. @@ -80,8 +80,8 @@ is available. Here are the steps to do so -- you should also have gdb installed. \item Temporarily login as root and key in:\\ \texttt{echo 0 > /proc/sys/kernel/yama/ptrace\_scope} \\ This opens up \textit{ptrace}, used by gdb (the debugger). You will want to reverse this when done. - \item Run Cinelerra as an ordinary user from a window using the command line and try to create the problem. If the program crashes, this should produce a file named \texttt{/tmp/cinelerra*.dmp} where * is a number. The dump usually takes about 30 seconds or so to complete after the failure invokes the crash handler, so be patient. - \item Email the output that shows in the window from where you started up Cinelerra and upload or directly email the \texttt{/tmp/cinelerra*.dmp} file (this file may be too large for the Mailing List). + \item Run \CGG{} as an ordinary user from a window using the command line and try to create the problem. If the program crashes, this should produce a file named \texttt{/tmp/cinelerra*.dmp} where * is a number. The dump usually takes about 30 seconds or so to complete after the failure invokes the crash handler, so be patient. + \item Email the output that shows in the window from where you started up \CGG{} and upload or directly email the \texttt{/tmp/cinelerra*.dmp} file (this file may be too large for the Mailing List). \item After you are finished creating/testing the problem, reverse the previous setting while logged in as root by keying in:\\ \texttt{echo 1 > /proc/sys/kernel/yama/ptrace\_scope} \end{enumerate} @@ -101,24 +101,24 @@ load media, the indexes will automatically be recreated so each load takes a lit is all that is needed to repair a media problem. \item On an older computer, if you are playing media and it can not keep up, you can turn off \textit{Play every frame} in the \textit{Video Out} tab of \texttt{Settings $\rightarrow$ Preferences, Playback} tab. You will then see the video jump as it skips frames in order to stay caught up. \item The \textit{Cache size} can be lowered to 1048 if playback seems choppy or if you have problems with lv2 plugins, or you can increase the \textit{Cache size} for better flow. This can be changed in \texttt{Settings $\rightarrow$ Preferences, Performance} tab. - \item After saving your session and settings and exiting Cinelerra, you might want to rename your current \texttt{\$HOME/.bcast5} directory and start with the default setup. This will eliminate your settings as the potential cause of a problem; however, all of your preferences will be lost until you go back to your original \texttt{.bcast5}. - \item You can also temporarily rename just Cinelerra\_rc in your \$HOME/.bcast5 directory, so + \item After saving your session and settings and exiting \CGG{}, you might want to rename your current \texttt{\$HOME/.bcast5} directory and start with the default setup. This will eliminate your settings as the potential cause of a problem; however, all of your preferences will be lost until you go back to your original \texttt{.bcast5}. + \item You can also temporarily rename just \CGG{}\_rc in your \$HOME/.bcast5 directory, so that a new file with the original name will be created with original defaults. You will lose your preferences, -but it is just for testing and you can move back the renamed Cinelerra\_rc over the new one if that is not the -cause of the problem. Be sure to stop and restart Cinelerra whenever you rename this file. - \item Some media has only a single keyframe at the beginning of the file so that moving anywhere on the timeline results in just a black image in the compositor. Cinelerra needs more keyframes to determine position. You can temporarily use \texttt{Settings $\rightarrow$ Proxy} to $\frac{1}{2}$ size to put in keyframes. How to use Proxy is explained in \href{sec:proxy_settings}{Proxy settings and Transcode}. +but it is just for testing and you can move back the renamed \CGG{}\_rc over the new one if that is not the +cause of the problem. Be sure to stop and restart \CGG{} whenever you rename this file. + \item Some media has only a single keyframe at the beginning of the file so that moving anywhere on the timeline results in just a black image in the compositor. \CGG{} needs more keyframes to determine position. You can temporarily use \texttt{Settings $\rightarrow$ Proxy} to $\frac{1}{2}$ size to put in keyframes. How to use Proxy is explained in \href{sec:proxy_settings}{Proxy settings and Transcode}. \item If you have enabled an \textit{Automation Curve} such as Fade or Speed on your track but it does not show, it could simply be because the range minimum and maximum are incorrectly set in the zoom bar. Set them to more reasonable values until you see the lines appear. Just as a reminder, the zoom bar is on the bottom of the main window (figure~\ref{fig:automation}). \item If the rate at which frames are captured during Recording is much lower than the framerate of the source, the video will accumulate in the recording buffers over time and the audio and video will become out of sync. Decrease the number of frames to buffer in the device in \texttt{Settings $\rightarrow $ Preferences, Recording} tab so that the excess frames are dropped instead of buffered. - \item If loading files locks up, this might be because Cinelerra is building picons/vicons for the Resources window. If you load a large number of images it needs to decompress every single image to build a picon/vicon. Go into \texttt{Settings $\rightarrow$ Preferences, Appearance} tab and disable \textit{Use thumbnails in resource window} to skip this process. Keep in mind though, that it only has to create these thumbnails the first time a new piece of media is loaded or the values are changed. + \item If loading files locks up, this might be because \CGG{} is building picons/vicons for the Resources window. If you load a large number of images it needs to decompress every single image to build a picon/vicon. Go into \texttt{Settings $\rightarrow$ Preferences, Appearance} tab and disable \textit{Use thumbnails in resource window} to skip this process. Keep in mind though, that it only has to create these thumbnails the first time a new piece of media is loaded or the values are changed. \item For an older computer with less CPU power, in \texttt{Settings $\rightarrow$ Preferences, Appearance} tab, be sure that \textit{Autocolor assets }is disabled; set \textit{View thumbnail size} \& \textit{Vicon quality}\& \textit{Vicon color mode} to lower values or switch to \textit{No Play} instead of \textit{Full Play} in the Resources window (this is to the right of the word \textit{Visibility} in the left hand side of that window). You will then have more CPU and more memory available to do actual editing. \end{enumerate} \textbf{Some Helpful User Readable Text Dumps} -On the File pulldown, there is a \textit{Dumps} option with a submenu of dump EDL, Plugins, Assets, and Undo. In all cases, you will have to have started Cinelerra from a window instead of from an application icon and +On the File pulldown, there is a \textit{Dumps} option with a submenu of dump EDL, Plugins, Assets, and Undo. In all cases, you will have to have started \CGG{} from a window instead of from an application icon and the text results will be shown in that window. \begin{itemize}[nosep] @@ -135,14 +135,14 @@ Some messages you may see in the startup window may or may not be errors. Some e \textit{FFMPEG::open\_decoder: some stream times estimated:} \quad \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 Cinelerra uses versus ffmpeg may be counted differently. +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 \textit{AudioALSA::write\_buffer err -32(Broken pipe) at sample \#} This indicates that there is something wrong with the audio. Some reasons for this are: \begin{itemize}[nosep] - \item You simply stopped playing in Cinelerra while the audio is in progress. + \item You simply stopped playing in \CGG{} while the audio is in progress. \item Running on a computer where there is no sound card. \item Incorrect setup of the audio parameters in the \texttt{Settings $\rightarrow$ Preferences, Playback} tab. \item Your sound system is already in use by another program, like when playing \textit{tunes} outside Cin. @@ -154,9 +154,9 @@ This indicates that there is something wrong with the audio. Some reasons for th When this occurs, it most likely means that there is not enough CPU power to keep up. You can go into \texttt{Settings $\rightarrow$ Preferences, Playback} tab and uncheck \textit{Play every frame}. Not playing every frame means that as it plays, if it can not keep up with doing all it has to do to change the frame into a vframe and then draw it, the program just notes that it is falling behind so skips frames to catch back up. This does not affect rendering. A different solution is to use Background Rendering as described in \href{sec:background_rendering}{Rendering}. \bigskip -\textit{Cinelerra will not start and produces error message on the startup window.} +\textit{\CGG{} will not start and produces error message on the startup window.} -There can be various reasons that Cinelerra does not come up. Some of the recent reasons are listed here. Please notify the {\small \href{http://www.cinelerra-gg.org/}{www.cinelerra-gg.org}} website when you have any unknown startup issues. +There can be various reasons that \CGG{} does not come up. Some of the recent reasons are listed here. Please notify the {\small \href{http://www.cinelerra-gg.org/}{www.cinelerra-gg.org}} website when you have any unknown startup issues. \medskip \begin{itemize}[nosep] @@ -170,7 +170,7 @@ There can be various reasons that Cinelerra does not come up. Some of the recent You can usually install the required library to fix the problem. A temporary fix may be to create a symlink but this must be done with extreme caution as it may create an unstable condition. A better workaround is to use a tarball to install the software instead of the package build until the libraries are in sync between the build and your Operating System install. \bigskip -\textit{ Loading a very large number of media files, for example 500 clips, crashes Cinelerra with messages similar to the following that are displayed in the window from where you started Cin:} +\textit{ Loading a very large number of media files, for example 500 clips, crashes \CGG{} with messages similar to the following that are displayed in the window from where you started Cin:} \begin{lstlisting}[numbers=none,xleftmargin=10mm] @@ -213,7 +213,7 @@ and if you mouse over it, the tooltip says \textit{shell cmds}. This is a config see a table of Shortcuts in html format, refer to the reference manual or execute a pre-defined script to perform a specific task, such as some type of post processing which you plan on performing on a repeat basis. Unless redirected elsewhere, the output from executing any script-type commands will be displayed in the window from where you started -Cinelerra. +\CGG{}. The Shell Cmds popup menu items are configured in: @@ -233,14 +233,14 @@ This runs a dialog that lets you Add/Del/Edit the scripts in the main menu popup \end{itemize} \item \textit{Del} to delete an existing menu item \begin{itemize}[noitemsep] - \item select to highlight an entry in the Cinelerra: Shell listbox + \item select to highlight an entry in the \CGG{}: Shell listbox \item click on the \textit{Del }button \item click the green checkmark for OK in the Shell window \item click on OK or Apply in the Preferences window (the entry is now deleted) \end{itemize} \item \textit{Edit} an existing menu item: \begin{itemize}[noitemsep] - \item select to highlight an entry in the Cinelerra: Shell listbox + \item select to highlight an entry in the \CGG{}: Shell listbox \item click on the \textit{Edit} button (the Commands window appears) \item set the label and/or commands to the new desired values \item click on the green checkmark for OK in the Commands window @@ -259,9 +259,9 @@ Both the \textit{Add} and \textit{Edit} options have checkboxes in the Commands \end{itemize} -When modifications to the Shell Cmds are included in a new Cinelerra release, they are not added to your Preferences file automatically unless you create a new one. But if you have added no custom scripts, you can update your currently existing \texttt{\$HOME/.bcast5/ Cinelerra\_rc} file to delete the lines that are all grouped together that begin with the letters: \texttt{SHBTN} (the entire line -- these are the \textbf{SH}ell \textbf{B}u\textbf{T}to\textbf{N}s). \ You should first Quit out of Cinelerra, edit the file, and then when you restart Cinelerra, it will create the new default buttons in that same file. +When modifications to the Shell Cmds are included in a new \CGG{} release, they are not added to your Preferences file automatically unless you create a new one. But if you have added no custom scripts, you can update your currently existing \texttt{\$HOME/.bcast5/ \CGG{}\_rc} file to delete the lines that are all grouped together that begin with the letters: \texttt{SHBTN} (the entire line -- these are the \textbf{SH}ell \textbf{B}u\textbf{T}to\textbf{N}s). \ You should first Quit out of \CGG{}, edit the file, and then when you restart \CGG{}, it will create the new default buttons in that same file. -There are 2 specific Cinelerra file names that have unique characteristics that allow for usage from a user-defined +There are 2 specific \CGG{} file names that have unique characteristics that allow for usage from a user-defined script. The first one is an environment variable, \texttt{CIN\_RENDER} which is used in the \textit{RenderMux} shell command that is already setup. It contains the complete path and filename of the file in your session that you selected as \textit{Select a file to render to} when you ran a Render operation. The second one concerns usage of the Resource window assets to use as argvs in shell scripts. The added command line @@ -294,12 +294,12 @@ There are some Help features currently included in the Shell Cmds menu. Those av \label{fig:shell_script_manupulation} \end{figure} -\section{Cinelerra Command Line -h}% +\section{\CGG{} Command Line -h}% \label{cha:cinelerra_command_line_-h} -To see the command line parameters available to use with Cinelerra, key in: +To see the command line parameters available to use with \CGG{}, key in: -\qquad \texttt{/bin/cin -h} +\qquad \texttt{/bin/cin -h} What will be shown in the window where this line was entered is: diff --git a/parts/Windows.tex b/parts/Windows.tex index 9591f0e..7563810 100644 --- a/parts/Windows.tex +++ b/parts/Windows.tex @@ -109,7 +109,7 @@ The \emph{alpha slider} allows for varying the alpha value when using colors on It has no function without that flag set. There are 3 additional pieces of information in the line immediately below the \textit{zoom panel}. -In the lower left hand corner there could be messages such as "Welcome to Cinelerra" when there is no +In the lower left hand corner there could be messages such as "Welcome to \CGG{}" when there is no need to display a red-colored error message or a line that reads "Rendering took H:MM:SS" after a render has just been completed. Or when working with an auto, a small square the color of that auto line, will be present along with its keyframe type, location on the timeline, and its current value. This is simply @@ -407,7 +407,7 @@ Proxy and Transcode (\ref{sec:proxy_settings}), as well as the others. \label{sub:window_layouts} If you like to use different window layouts than the default for certain scenarios, you can setup, save, and load 4 variations. -First, position your Cinelerra windows where you want them to be and then use the Window pulldown and choose \emph{Save layout}. Note the words \emph{Save layout} highlighted in Figure~\ref{fig:window_layouts}a with 4 names shown to the right and below of that highlight. +First, position your \CGG{} windows where you want them to be and then use the Window pulldown and choose \emph{Save layout}. Note the words \emph{Save layout} highlighted in Figure~\ref{fig:window_layouts}a with 4 names shown to the right and below of that highlight. To use the default name of \textit{Layout \#}, when the popup comes up, just click the green checkmark OK on the Layout popup menu. If you would like a specific name for your layout so you can remember what its best use case is, keyin 1-8 english characters that are meaningful to you (english characters mean you can not use the German umlaut or the French accent). @@ -438,7 +438,7 @@ timeline window. \subsection{Just Playing!}% \label{sub:just_playing_} -What if you are just using Cinelerra to play media and listen to tunes? +What if you are just using \CGG{} to play media and listen to tunes? After loading your media, just hit the space bar to start playing and then again to stop playing. Other than that, use the transport buttons on the top bar of the Program window. Other ways to \textit{play around} are described next. @@ -589,7 +589,7 @@ is taking place. This is especially helpful when loading a very large video so y when it is finished loading. You should pay attention to this \textit{tally light} when performing a particularly time-consuming operation so that you do not keep executing more operations that just have to wait until completion of that CPU intensive operation. Also, you should look -to see if the light is on before assuming that Cinelerra is hung up. +to see if the light is on before assuming that \CGG{} is hung up. When the window is unlocked, meaning that it is not in \textit{Protect video from changes} mode on the toolbar, MMB clicking and dragging anywhere in the video pans the view. Panning can also @@ -702,12 +702,12 @@ titles are inside the inner outline and actions are inside the outer outline. \subsection{Compositing}% \label{sub:compositing} -Much of the editing in Cinelerra involves "compositing" which is the combining of visual +Much of the editing in \CGG{} involves "compositing" which is the combining of visual elements from different sources into single images. This includes such things as speeding up and slowing down the video, changing the resolution, creating a split screen, and fading in and out. Compositing operations are done on the timeline and in the Compositor window using various operations and other compositing attributes that are available in the Resources window. -When Cinelerra is performing a compositing operation it plays back through the +When \CGG{} is performing a compositing operation it plays back through the compositing engine, but when not, it uses the fastest decoder that it has. \subsection{The Temporary, Track and Output Sizes}% @@ -719,7 +719,7 @@ to the camera, effects, and the projector. \subsubsection*{The Temporary}% \label{ssub:output_size} -Cinelerra's compositing routines use a \textit{temporary} which is a single frame of video in +\CGG{}'s compositing routines use a \textit{temporary} which is a single frame of video in memory where graphics processing takes place. The size of the temporary and of the output in the compositing pipeline are different and vary for any particular frame. Effects are processed in the temporary and as such are affected by the temporary size. In the case of the camera, its @@ -750,7 +750,7 @@ output size is the final video track size where the temporary pipeline is render \label{sub:camera_and_projector} In the compositor window, \textit{Adjust camera automation} and \textit{Adjust projector automation} -are editing tools to control operation of the camera and projector. In Cinelerra's compositing +are editing tools to control operation of the camera and projector. In \CGG{}'s compositing pipeline, the camera determines where in the source the \textit{temporary} is copied from while the projector determines where in the output the \textit{temporary} is copied to (figure~\ref{fig:temporary-01}). @@ -1152,43 +1152,48 @@ click on the \emph{Apply} button in the menu to actually perform the crop operat \label{sec:viewer_window} The Viewer window (figure~\ref{fig:viewer_window}) is convenient for previewing your media and -clips as well as for Two Screen Editing as explained in \ref{sec:two_screen_editing}. There are -transport buttons to use same as in the Program and Compositor windows or you can quickly move -through the media by dragging with the LMB in the timebar above the transport buttons. It is useful -for cutting and pasting sections onto the timeline or to create a clip. +clips. It can also be used for editing with cuts and then paste operations into the timeline or +to create a clip. There are transport buttons to use in the same manner as in the Program +and Compositor windows or you can quickly move through the media by dragging with the LMB in +the timebar above the transport buttons. \begin{figure}[htpb] \centering \includegraphics[width=0.99\linewidth]{images/viewer_window.png} - \caption{Viewer Window} + \caption{Viewer Window - note the green/white arrow "Play" button left of 001484} \label{fig:viewer_window} \end{figure} -In order to view media in the display, you have to load it as follows: +In order to view media in the window, you have to load it as follows: \begin{enumerate} \item In the Resources window, highlight the Media folder or the Clip folder. \item Drag a file from the folder to the Viewer. - \item Or highlight an asset, RMB to bring up choices, and click on \textit{View} or + \item \textbf{Or} double LMB click on a media asset. + \item \textbf{Or} highlight an asset, RMB to bring up choices, and click on \textit{View} or \textit{View in new window}. \end{enumerate} -After the media is loaded you can use the transport buttons to play, rewind, stop, etc. or for fast -previewing, drag with the LMB anywhere on the timebar slider. A few more options available in the -Viewer window can be accessed with a RMB click on the display. These functions are listed next. +Note that you can have multiple Viewer windows open with different or even the same media asset. +After the media is loaded you can use the transport buttons to play, rewind, stop, and so on, or +for fast previewing drag with the LMB anywhere on the timebar slider. A few more options +available in the Viewer window can be accessed with a RMB click on the display. These functions +are listed next. \begin{enumerate} \item Switch to a fullscreen display by choosing \textit{Fullscreen}. To switch back, click with the RMB on the display again and choose \textit{Windowed}. \item Change the display size by choosing the \textit{Zoom} function to select a zoom level of -25\%, 33\%, ... 300\% or 400\% of the original media size. +25\%, 33\%, ... 300\%, or 400\% of the original media size. \item To remove the current media from being displayed, choose \textit{Close source}. \end{enumerate} -The Viewer uses the project's output size format settings to display the media instead of the original -assets format. Operations performed in the Viewer affect a temporary EDL or a clip rather than the -timeline. By default the Viewer window is automatically available but if it gets accidentally -closed you can open it again by using \texttt{Window $\rightarrow$ Show Viewer} to bring it back up. +The Viewer uses the project's output size format settings to display the media instead of the +original assets format. Operations performed in the Viewer affect a temporary EDL or a clip rather +than the timeline. By default the Viewer window is automatically available but if it gets +accidentally closed you can open it again by using the pulldown \texttt{Window $\rightarrow$ Show +Viewer} to bring it back up. More details for editing in the Viewer window with the Two Screen +Editing method is explained in \ref{sec:two_screen_editing}. \section{Options in both the Compositor and Viewer Windows}% \label{sec:options_in_both_the_compositor_and_viewer_windows} @@ -1198,9 +1203,10 @@ The next sections describe capabilities that are available in both the Composito \subsection{Click to Play in Viewer and Compositor}% \label{sub:click_to_play_in_viewer_and_compositor} -In both the Viewer and Compositor windows, there is an arrow on the right hand side of the other buttons in the edit panel. +In both the Viewer and Compositor windows, there is an arrow on the right hand side of the other +buttons in the edit panel as shown in figure~\ref{fig:viewer_window}. Mouse action can be toggled on/off via this arrow, which has a tooltip of \textit{Click to play} with the letter "\texttt{P}" to be used for a shortcut. -When enabled there is a gold-colored shadow around the usual green-colored arrow. +When enabled there is a green or gold colored shadow around the usual red or green colored arrow. The purpose of enabling this capability is to make it really easy to play the media in the window by just using the left mouse button to start or stop the play. The entire main canvas surface becomes a big play button! Although the default is initially off, a good reason to enable this, at least temporarily, is so that you can quickly review your video before a render. @@ -1672,7 +1678,7 @@ Note that if in \texttt{Settings $\rightarrow$ Preferences} under the Appearance Preview mode can be used to pop up a window which draws the vicons/aicons thumbnails in a larger size. -Preview or \textit{draw vicons} mode is a helpful feature of Cinelerra that lets you see and/or hear the first 5 seconds of the video for identification purposes. +Preview or \textit{draw vicons} mode is a helpful feature of \CGG{} that lets you see and/or hear the first 5 seconds of the video for identification purposes. The Preview mode/playback toggle is to the right of the Visibility label as seen in the screenshot above. Preview mode is available for the Media, Proxy, Media User Bins, and Clips but clips are only 1 image. @@ -1735,7 +1741,7 @@ Note that if in \texttt{Settings $\rightarrow$ Preferences} under the Appearance \subsection{Moving clips/media from/to Resources window}% \label{sub:moving_clips_media_from_to_resources_window} -If you have several media files loaded into the Resources window of one instance of Cinelerra and want to load some of the same ones into another instance or just want a listing to save in a file for later use, you can do this with these set of steps: +If you have several media files loaded into the Resources window of one instance of \CGG{} and want to load some of the same ones into another instance or just want a listing to save in a file for later use, you can do this with these set of steps: Copy or paste a list of files in the Media Resources window: @@ -1745,14 +1751,14 @@ Copy or paste a list of files in the Media Resources window: \item right click on an unused portion of that window to bring up the popup menu \item select the \textit{Copy file list} item and a file list box will appear that contains the full path filenames \item wipe the textbox using your standard copy/paste method to put the list of files in the copy buffer - \item in another Cinelerra instance, choose the \textit{Paste file list} of the media Resources window + \item in another \CGG{} instance, choose the \textit{Paste file list} of the media Resources window \item paste the list of files, again using your standard paste method, into the new file list box; press OK \item the status bar of the main window will be updated as the file list is loaded to the media folder (the purpose of displaying the status is simply to show that the load is progressing normally). \end{enumerate} -Obviously this \textit{Paste file list} feature means you can create a list of files outside of Cinelerra using an editor, wipe the names, and then use \textit{Paste file list} to load them into the media Resources window. +Obviously this \textit{Paste file list} feature means you can create a list of files outside of \CGG{} using an editor, wipe the names, and then use \textit{Paste file list} to load them into the media Resources window. -It is important to note that in the steps above, the Operating System cut and paste capabilities are in use for steps 4 and 6 as opposed to Cinelerra’s c/v shortcuts. +It is important to note that in the steps above, the Operating System cut and paste capabilities are in use for steps 4 and 6 as opposed to \CGG{}’s c/v shortcuts. Since the procedure varies among the distros, you will have to adapt to your specific one. For example, a usage for ubuntu consists of: \begin{enumerate} \setcounter{enumi}{3} @@ -1776,10 +1782,10 @@ Since the procedure varies among the distros, you will have to adapt to your spe \label{fig:copy_files1} \end{figure} -In the Figure~\ref{fig:copy_files1}, one instance of Cinelerra has 6 items in the Media area highlighted that were copied to the file list. +In the Figure~\ref{fig:copy_files1}, one instance of \CGG{} has 6 items in the Media area highlighted that were copied to the file list. Note how it includes the full pathname. -In this screenshot on another instance of Cinelerra, there are only 2 items in the media but the \textit{Paste file list} box is ready to have the items inserted via the standard text box paste method. When that is done, the additional 6 media files will be available on this other instance too. +In this screenshot on another instance of \CGG{}, there are only 2 items in the media but the \textit{Paste file list} box is ready to have the items inserted via the standard text box paste method. When that is done, the additional 6 media files will be available on this other instance too. Another possible usage of this capability: @@ -1853,7 +1859,7 @@ When playback stops, the insertion point stays where playback stopped. Thus, by playing back you change the position of the insertion point. The keyboard interface of either the numeric pad or alternative keys has more speeds with the addition of \emph{Forward Slow}(2) and \emph{Reverse Slow} (5). Hitting any key on the keyboard twice pauses it. -The shortcuts section of this manual as well as a Shell Command available from the Cinelerra main window has a listing of each of the keys. +The shortcuts section of this manual as well as a Shell Command available from the \CGG{} main window has a listing of each of the keys. When using frame advance functions the behavior may seem odd. If you frame advance forward and then frame advance backward, the displayed frame does not change. @@ -1881,7 +1887,7 @@ The zoom toggle also causes the Compositor window to enter zoom mode. In zoom mode, clicking in the video output zooms in while a Ctrl-click in the video output zooms out. If you have a wheel mouse, rotating the wheel zooms in or out too. Zooming in or out with the zoom tool does not change the rendered output. -It is merely for scrutinizing video or fitting it in the desktop. Playing video on the compositor when zoomed to any size other that 100\%, the original size, requires Cinelerra to do extra processing steps. +It is merely for scrutinizing video or fitting it in the desktop. Playing video on the compositor when zoomed to any size other that 100\%, the original size, requires \CGG{} to do extra processing steps. This could affect performance on slower systems \subsection{Show Overlays}% @@ -1990,10 +1996,10 @@ Even without numerical markings, the sound level color can distinguish between s Look at the color codings in a meter with numerical markings to see what colors correspond to what sound level. Then for meters in the patchbay in expanded audio tracks, use the color codings to see if it is overloading. -Be aware that sound levels in Cinelerra can go above 0 dB. +Be aware that sound levels in \CGG{} can go above 0 dB. This allows for not only seeing if a track is overloading but how much information is being lost by the overloading. Overloading by less than 3 dB is usually acceptable. -While overloading is treated as positive numbers in Cinelerra, it is clipped to 0 when sent to a sound card or file. +While overloading is treated as positive numbers in \CGG{}, it is clipped to 0 when sent to a sound card or file.