Credit Andrea with Windows.tex changes based on reading updates in CV manual
[goodguy/cin-manual-latex.git] / parts / Trouble.tex
1 \chapter{Troubleshooting and Help}%
2 \label{cha:troubleshooting_help}
3
4 To help new users, a pdf has been created comparing the editing workflow of \CGG{} with the more usual editing workflow of Adobe Premiere Pro. See \href{https://cinelerra-gg.org/download/Workflow.pdf}{here}.
5
6 \section{Help and Context Help}%
7 \label{sec:help_context_help}
8 \index{context help}
9
10 \CGG{} is a complex and feature-rich program. Using a guide is indispensable. The official manual (in English) can be found in PDF and HTML format:
11
12 \url{https://cinelerra-gg.org/download/CinelerraGG_Manual.pdf}
13
14 \url{https://cinelerra-gg.org/download/CinelerraGG_Manual/}
15
16 From within the program, you can invoke \textit{Context Help}, which references sections of the HTML manual\protect\footnote{credit Georgy(sge) for full implementation}.
17
18 Context help can be requested from almost any \CGG{} window or subwindow by pointing with the mouse cursor on the GUI element of interest and pressing \texttt{Alt/h}. That HTML manual page will be shown via the configured web browser, which is assumed as most relevant to the GUI element currently under the mouse pointer.
19
20 \subsection{How Context Help works}%
21 \label{sub:how_context_help_works}
22
23 The hotkey to request context help is \texttt{Alt/h}. What particular help page is shown, depends on the mouse cursor location while \texttt{Alt/h} is pressed. Usually, when the mouse is located in some window or dialog, the help page related to the functionality of this window or dialog is shown. In this case the mouse can point either on some widget, or on an empty area in the window. In \CGG{} GUI there are several rich loaded windows, \textit{Timeline} and \textit{Compositor} for example. In such a case different help pages can be requested depending on the particular GUI element under the mouse. For example, pressing \texttt{Alt/h} while pointing on the \textit{Autos curve} in a track would show help on \textit{automation keyframes} section, pointing on the \textit{Overlay} mode button in the \textit{patchbay} would show help on \textit{overlays}, pointing on the \textit{camera control} in \textit{Compositor} would show help on \textit{camera and projector}.
24
25 If no context dependent help page is found, the manual page of Contents itself is shown.
26
27 \subsection{Requesting context help for plugins}%
28 \label{sub:context_help_plugins}
29 \index{context help!plugins}
30
31 There are several possibilities to request the help page for a particular plugin of interest.
32
33 \begin{enumerate}
34         \item Pressing \texttt{Alt/h} with the mouse in the dialog window of that plugin's settings menu.
35         \item Pressing \texttt{Alt/h} while pointing with the mouse on the plugin bar in a track, transition bar, or transition icon.
36         \item Pressing \texttt{Alt/h} while pointing on the plugin name (icon) in the Resources window. If plugin tooltips are on, help for the highlighted plugin under the mouse is shown. If plugin tooltips are off, help for the selected plugin is shown.
37         \item Pressing \texttt{Alt/h} while pointing on the plugin name in the \textit{Attach Effect} dialog menu.
38 \end{enumerate}
39
40 \subsection{Requesting context help on Contour Shuttle}%
41 \label{sub:context_help_contour_shuttle}
42 \index{context help!contour shuttle}
43
44 Contour Shuttle has no \texttt{Alt/h}. Nevertheless, its help page can be requested by simultaneously pressing the \texttt{Alt} key on the keyboard and any button on the Contour Shuttle.  Note that the default Shuttle Configuration will be shown, rather than the one that you may have redefined.
45
46 \subsection{Alternative web browser configuration}%
47 \label{sub:alt_browser}
48 \index{context help}
49
50 If you prefer to get \textit{Context Help} pages displayed in the same tab
51 in your browser instead of each help request displayed in a different tab,
52 choose an alternative method as outlined here that works for you.
53
54 \begin{enumerate}
55         \item Use another browser which has such a configurable mode. Here is an example for Seamonkey:
56 \begin{lstlisting}[style=sh]
57         export CIN_BROWSER=seamonkey
58 \end{lstlisting}
59 In the seamonkey browser go to Edit -> Preferences... -> Browser -> Link
60 Behavior -> Links from other applications .
61 Set the option "Open links passed from other applications in:" to the value
62 "The current tab/window".
63
64         \item Hack a default browser if you know how to hack it. Here is an example for Firefox.
65 Start Firefox and open the pseudo-URL:
66 \begin{lstlisting}[style=sh]
67         about:config
68 \end{lstlisting}
69 There will be a warning like "I'll be careful, I promise!", acknowledge it.
70 Then there is a very long list with lots of undecipherable variable names.
71 Scroll down to the variable: browser.link.open\_newwindow.override.external .
72 By default it has value of -1, which means "use value of the more general
73 variable: browser.link.open\_newwindow .
74 Next, place the mouse cursor over: browser.link.open\_newwindow.override.external ,
75 press the right mouse button, and select from the popup menu "Modify".
76 You can now edit the value. Set it to 1, and you get new links from external
77 apps opened in the same tab.
78
79 If you set the variable "browser.link.open\_newwindow" instead, you get this
80 behavior not only for external, but also for all links which otherwise would
81 be opened in new tabs or new windows. The possible values of both variables
82 are:
83 \newline \hspace*{1cm} Value = 1: open in the current window and tab
84 \newline \hspace*{1cm} Value = 2: open in the new window
85 \newline \hspace*{1cm} Value = 3: (default): open in the new tab, current window
86 \end{enumerate}
87
88 \section{Troubleshooting}%
89 \label{sec:troubleshooting}
90
91 You can report potential problems, bugs, and crashes to the \CGG{} website at:
92
93 \begin{center}
94         \href{https://www.cinelerra-gg.org/}{https://www.cinelerra-gg.org}
95 \end{center}
96
97 Here you can log the problem into the MantisBT bugtracker, or use the forum Q\&A for help from other users, or email the
98 problem to the Mailing List using the address:{\small \href{mailto:cin@lists.cinelerra-gg.org}{cin@lists.cinelerra-gg.org}}. It is usually more
99 helpful if instead of starting \CGG{} from its application icon, start from a window so that if there are error
100 messages related to the problem, they can be captured from the screen and emailed or logged. The command to run
101 from a window is: \texttt{<directory\_path of where you installed cinelerra>/bin/cin} -- for example if
102 installed in \texttt{/mnt0/build5/cinelerra-5.1}, you would execute the following command to start the program:
103 \newline \hspace*{1cm} \texttt{/mnt0/build5/cinelerra-5.1/bin/cin} \\
104 The problem you are experiencing may be as simple as an error due to the settings in your \texttt{\$HOME/.bcast5} subdirectory so you may want to first rename your current \texttt{.bcast5} in order to start with default settings. By renaming the directory instead of deleting it, you will be able to put it back and not lose all of your preferences.
105
106 A note about using the Mailing List {\small \href{mailto:cin@lists.cinelerra-gg.org}{cin@lists.cinelerra-gg.org}}
107 is that to avoid receiving spam, it will require you to subscribe.  But it is also easy to unsubscribe once you have
108 the information you need.  The Mailing List, although routinely used by developers or contributors to discuss 
109 changes, can provide more technical answers in some cases and the email goes directly to individuals who are quite
110 likely sitting at their computers depending on the timezone. 
111
112 There are some easy things to do to fix errors that may have resulted from media problems,
113 computer problems, or operational missteps so you can proceed without having to wait for help.  These
114 are outlined in \ref{cha:when_things_go_wrong} - be sure to read down through
115 \textit{Common Problems} where some exact error messages are mentioned along with their cause or solution.  Other 
116 troubleshooting help is included in other sections of this manual for specific features.
117
118 \section{What to Include in Problem Reports}%
119 \label{sub:include_in_problem_reports}
120 \index{report problem}
121 For the best help, if you have a reproducible problem and can provide the following list of materials for analysis, it
122 is usually possible to figure out what the problem is and how to fix it. It may be a simple usage or setup mistake or
123 a real bug which a programmer would like to fix rather quickly. Although it is not always necessary to provide this
124 much information, it eliminates the \textit{try this} or \textit{did you do this?} and a lot of \textit{guessing} rather than heading straight for a solution. \textcolor{red}{Even if you can not provide all of this information, please report the problem in case other users are having the same issue.}
125
126 Basically we\textbf{ need to see what you see }with the input, output, and session file. Here is a list of the items that will most likely help to resolve the problem, but all of them will not necessarily be needed.
127
128 \begin{itemize}[nosep]
129         \item Provide a detailed description of the problem and the last operation performed if you remember it.
130         \item Supply a small representative sample of the original input that exhibits the issue.
131         \item If possible, also provide the rendered output, again using that representative sample.
132         \item Save a session file used with that same sample which will contain a lot of setup parameters; the best method to do this is to use the \texttt{File $\rightarrow$ Export Project}$\dots$ with the Copy option. That way all of the files will be in 1 location and easily loaded onto any other computer.
133         \item To make sure that the same rendering setup is used, it may be necessary to send an additional session file at the definition point just before rendering starts.
134         \item Include the Operating System name and version number and version of \CGG{} that you are running. You can find the date and time \textit{built} in the \texttt{Settings $\rightarrow$ Preferences, About} tab, bottom left corner.
135 \end{itemize} 
136
137 It is better to upload any files to a drop site as some of them can be quite large.
138
139 \textbf{How to create a session file:} \quad from the menubar pulldown \texttt{File $\rightarrow $ Save\_as}{\dots} \quad and choose a filename, for example \texttt{/tmp/beforerender.xml} Do this after you have the situation setup so can see values in use. As just stated, \textit{Export Project} option provides the most inclusive session information, but size could make it very large and cumbersome to upload or download.
140
141 \textbf{How to create a representative small sample:}
142
143 \begin{enumerate}[nosep]
144         \item open the input media, set up the scenario as you normally would to start the project render;
145         \item select 5-15 seconds of media using the edit mode left mouse button drag highlighting on the timeline;
146         \item start the render dialog (Shift-R), set the filename path, and set \textit{Render range} to \textit{Selection};
147         \item recommended \textit{Insertion strategy} is \textit{Replace current project}; then press the checkmark OK. The result will \textit{load replace} the current project for you to review to ensure the error still occurs. If this small sample does not create the error, try a different section or upload the entire input media.
148 \end{enumerate}
149
150
151 \section{Crash Dumps for Analysis}%
152 \label{cha:crash_dumps_analysis}
153 \index{crash dumps}
154 If you get a SEGV crash and can explain what steps you took, a \texttt{/tmp/cinelerra\_<pid> .dmp} file is
155 very useful for analysis. You can also use Ctrl-c in the controlling window to force an INTR signal interrupt when
156 you think the program is hung up. You can only perform one Ctrl-c as the second Ctrl-c quits out of the program. It
157 is best to upload the \texttt{.dmp}, input files and other files to datafilehost or similar temporary site as they may be quite large. The \texttt{.dmp} filename looks like \texttt{/tmp/cinelerra\_<pid> .dmp} Log a bug report or email all
158 helpful information on the crash, location of uploaded files, and list of setup steps that illustrate the problem to
159 {\small \href{mailto:cin@lists.cinelerra-gg.org}{cin@lists.cinelerra-gg.org}}
160
161 \begin{enumerate}[nosep]
162         \item Use the latest version of \CGG{} as you want to make sure the problem has not been fixed.
163         \item Be sure \textit{gdb} is installed (usually installed but if not, it is easy to do so).
164     \item Run as root if at all possible (this enables using gdb to create a full \texttt{/tmp/cinelerra* .dmp} file).
165     \item Be sure \texttt{Settings $\rightarrow$ Preferences $\rightarrow$ Interface $\rightarrow$ trap SEGV} and \texttt{trap INTR} are checked.
166         \item Invoke the error. This should create the file \texttt{/tmp/cinelerra-<pid>.dmp}
167 \end{enumerate}
168 \medskip
169
170 For those who can not run as root or can not create the problem while running as root, another method to create a dump
171 is available. Here are the steps to do so -- you should also have gdb installed.
172 \medskip
173
174 \begin{enumerate}[nosep]
175         \item Temporarily login as root and key in:\\
176         \texttt{echo 0 > /proc/sys/kernel/yama/ptrace\_scope} \\
177         This opens up \textit{ptrace}, used by gdb (the debugger). You will want to reverse this when done.
178         \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. 
179         \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).
180         \item After you are finished creating/testing the problem, reverse the previous setting while logged in as root by keying in:\\
181         \texttt{echo 1 > /proc/sys/kernel/yama/ptrace\_scope}
182 \end{enumerate}
183
184 \textcolor{red}{Even if you are not logged in as root or have ptrace enabled, if you
185 have a .dmp file and know what the last thing you did is, please provide the .dmp file for analysis.} There is a low
186 probability that the dump will prove useful, but if the problem can be recreated it can usually be fixed!
187
188 \section{When things go wrong}%
189 \label{cha:when_things_go_wrong}
190 \index{problem FAQ}
191
192 Sometimes things go wrong and there are some ways to continue your work without much trouble. Below is a list of items
193 to try before abandoning your session.
194
195 \begin{enumerate}
196         \item If your computer or the program crashed, you can use the \textit{File} pulldown choice
197 of \textit{Load backup} to get back to the last automatically saved session. It will most
198 likely not include the last few operations that were done though.  But if you forgot to 
199 Load backup when you restarted ,\CGG{} you have a second chance to use \texttt{File $\rightarrow$ Load} and
200 select \texttt{\$HOME/.bcast5/backup .prev} as long as you only loaded a different file and have
201 performed no editing operations.
202          \item If you accidentally destroyed your current project by a Load with 
203 \textit{Replace current project} when you should have changed the Insertion strategy, and 
204 you had not saved a recent backup, this is another time when it is useful to use
205 \texttt{File $\rightarrow$ Load} and
206 select \texttt{\$HOME/.bcast5/backup.prev} as long as you only loaded a different
207 file and had performed no editing operations.
208         \item If you suddenly get errors or hangs on media or strange looking tracks, you might want to rebuild indexes. You can do this in the Resources window with a right mouse click on the media to get a pulldown with the \textit{Rebuild index} option. For an easy way to rebuild for all of your media use \texttt{Settings $\rightarrow$ Preferences, Interface} tab, Index Files section, \textit{Delete existing indexes}. Over time, as you
209 load media, the indexes will automatically be recreated so each load takes a little longer, but this quite often
210 is all that is needed to repair a media problem.
211         \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.
212         \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.
213         \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}.
214         \item You can also temporarily rename just Cinelerra\_rc in your \$HOME/.bcast5 directory, so
215 that a new file with the original name will be created with original defaults.  You will lose your preferences,
216 but it is just for testing and you can move back the renamed \CGG{}\_rc over the new one if that is not the
217 cause of the problem.  Be sure to stop and restart \CGG{} whenever you rename this file.
218         \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 \ref{sec:proxy_settings} {Proxy Settings and Transcode}.
219         \item If you have enabled an \textit{Automation Curve} such as Fade or Speed on your track but it
220 does not show, it could simply be because the range minimum and maximum are incorrectly set in the zoom bar.
221 Set them to more reasonable values until you see the lines appear. Just as a reminder, the zoom bar is on the
222 bottom of the main window (figure~\ref{fig:automation}). 
223         \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.
224         \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.
225         \item After a crash, look on the window where you started running \CGG{} to see if there is a line towards the end of the output that reads something like a bunch of numbers followed by the word "AssetVIconThread".  Frequently this indicates that some system resouce has been exhaused in creating/running the Vicon images in the Resources window.  You can disable \textit{Use thumbnails in resource window} in Settings/Preferences, Appearace tab to see if this resolves the crashing.  In most cases when this is the cause, it will be the second to last line shown in the window.
226 In addition, you might want to \textit{Delete clip thumbnails} in the Interface
227 tab section of Settings/Preferences.
228         \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.
229         \item When using AppImage to run with the OpenGL video driver, you must have the OpenGL drivers
230 for your Operating System graphics board installed as it is not included in the AppImage library set. The
231 error message you might see if this is not installed is: \textit{error while loading shared libraries: libGLU.so.1: cannot open shared object: No such file or directory}.
232         \item If you have updated your Operating System or newly installed some applications, it is
233 possible that your LV2 plugin path may have been modified and be in disagreement with what you have set
234 for \CGG{}.  This could result in a crash upon startup.  Look at the messages in the window from where
235 you started \CGG{} to see if they look similiar to the following:
236 \begin{lstlisting}[numbers=none,xleftmargin=10mm]
237 LOAD: http://eq10q.sourceforge.net/matrix\_lr2ms
238 LOAD: http://eq10q.sourceforge.net/matrix\_ms2lr
239 LOAD: https://community.ardour.org/node/7596
240 LOAD: urna-comp
241 ** segv at 0x7f2cd80813c4 in pid 4540, tid 4540
242 \end{lstlisting}
243 The last line before the \textit{segv} indicates the name of the LV2 plugin that is causing problems.
244 Please refer to the section on LV2 plugins \ref{sec:audio_lv2_calf_plugins} to resolve the issue.
245         \item Check your \textit{Overlays} window if you do not see your Assets, Titles, Transitions, Plugin Keyframes, or other lines such as Fade, Cameras, etc. on your timeline.
246 These items will still be functional, but you may be confused when you do not actually see their physical presence if you inadvertently unchecked them in the \textit{Overlays} window.  Use the \textit{Window} pulldown to enable/disable the \textit{Show Overlays} window.
247         \item BugTracker - sometimes there is a problem creating a new report issue in the website's Mantis Bugtracker
248 using the Chrome web browser and you lose what you just typed in.  Generally when logging into the bugtracker, the
249 option "only allow with this IP address" needs to be disabled, then the bug tracker will work fine. 
250         \item Forum -
251
252   \begin{enumerate}
253         \item If you can not register your username in the website's Forum, it could be 
254 because the protection measures against spammers also is in effect with real users, so sometimes the website blocks the registration for the forum. This often affects email addresses of well-known email providers. Send email to the mailing list which requires you to subscribe (({\small \url{https://lists.cinelerra-gg.org/mailman/listinfo/cin}}) so that you can be added to the forum manually as long as
255 you confirm that you agree with the terms of use of this website and the forum.
256         \item In the website's Forum, use of unacceptable characters or strings can result in the error
257 message "A potentially unsafe operation has been detected in your request to this site".  You lose what
258 you had typed in and you will have to check what you remember typing in for a non-converational set of 
259 characters.  This can be as simple as ../../ (dot dot slash dot dot slash) or some types of C++ code.
260
261         \item Entries not showing up for several hours could be due to taking a long time
262 to propagate around the world on some time basis.
263         \item Not seeing a comment or reply section could be because you are not logged in
264 or recognized as logged in.  If you seem to be logged in, logout and then login again to
265 see if that resolves the problem.  Another potential solution is the switch the language
266 being used to English, even if you think it is already English.  Sometimes it is left in
267 a different language and needs to be reset.
268         \item Until you have made a few entries in the Forum, you will have to wait a few
269 hours for your entry to be approved.  This is because there are people who spam the
270 forum so attempts to alleviate this by requiring moderation for new users until validated.
271   \end{enumerate}
272
273 \end{enumerate}
274
275 \textbf{Some Helpful User Readable Text Dumps}
276
277 On the \textit{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
278 the text results will be shown in that window.
279
280 \begin{itemize}[nosep]
281 \item \textit{Dump EDL} \index{EDL dump} will display your current EDL state on the screen in the window from where you started .\CGG{} This can be useful to see information concerning a specific edit or a file path.
282 \item \textit{Dump Plugins} \index{plugins!dumps} will show the names of the currently loaded plugins.
283 \item \textit{Dump Assets} \index{asset!dump} displays the media assets that you have loaded and various pertinent details on each, such as samplerate, width, and height.
284 \item \textit{Dump Undo} \index{undo dump} will dump the last 32 edits on the undo stack exactly as kept, which can be useful if you are looking to see how far back in the undo to go to get to a specific spot.
285 \end{itemize}
286
287 \textbf{Common Problems}
288
289 Some messages you may see in the startup window may or may not be errors. Some examples are:
290 \bigskip
291
292 \textit{FFMPEG::open\_decoder: some stream times estimated:}  \texttt{/your directory/filename}
293
294 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.
295 \bigskip
296
297 \textit{FFMPEG::scan: codec open failed} followed by
298 \newline 
299 \textit{FFMPEG::scan:file=} \quad \texttt{your directory/filename}
300
301 This is not a problem. \CGG{} is building an index for your file in order to better seek.  In that process, different methods are tried until a successful scan is complete.
302 \bigskip
303
304 \textit{int FFMPEG::init\_encoder(const char*);} followed by
305 \newline 
306 \textit{bad file format:} \quad \texttt{your directory/filename}
307
308 This error occurs when you are rendering, or possibly capturing media via recording, when the
309 file format/type are set to an incompatible option.  To fix this in the Render window, check
310 the Video and Audio wrenches configure compression settings and choose a compatible Compression
311 as shown when clicking on the down arrow in the Preset window.
312 \bigskip
313
314 \textit{AudioALSA::write\_buffer err -32(Broken pipe) at sample \#}
315
316 This indicates that there is something wrong with the audio. Some reasons for this are:
317 \begin{itemize}[nosep]
318         \item You simply stopped playing in \CGG{} while the audio is in progress.
319         \item Running on a computer where there is no sound card.
320         \item Incorrect setup of the audio parameters in the \texttt{Settings $\rightarrow$ Preferences, Playback} tab.
321         \item Your sound system is already in use by another program, like when playing \textit{tunes} outside \CGG{}.
322 \end{itemize}
323 \bigskip
324
325 \textit{Playback does not keep up so you hear the audio ahead of the video.}
326
327 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 section \ref{sec:background_rendering}.
328 \bigskip
329
330 \textit{\CGG{} will not start and produces error message on the startup window.}
331
332 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.
333 \medskip
334
335 \begin{itemize}[nosep]
336         \item \CGG{} doesn't come up in Debian with compiz window manager running. Workaround is to use a different window manager or bring up cin first and then compiz. There is also a report that Compiz leads to single frame problems after a certain amount of time in the case where you switch to fullscreen mode and than back to normal node -- cin stops working and so you will have to restart cin.
337         \item When a library goes from one version to a later version, sometimes a pre-built \CGG{} binary will fail because it was created at a different version than the one the user has on their computer. This seems to happen more frequently on Arch distros because Arch has continuous releases and is usually kept up to date. An example of the error message you might see in your startup window would be:\\
338         \texttt{cin: error while loading shared libraries: libvpx.so.5: \\
339         cannot open shared object file: No such file}
340 \end{itemize}
341 \medskip
342
343 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.
344 \bigskip
345
346 \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 \CGG{}:}
347
348 \begin{lstlisting}[numbers=none,xleftmargin=10mm]
349
350    BC_DisplayInfo::init_window: cannot open display "".
351    BC_DisplayInfo::init_window: cannot connect to X server.
352    unjoined tids / owner 42
353      00007feb27fff700 / 00007feb8f496700 9MainError
354      00007feb267fc700 / 00007feb7affd700 18FFMPEGScanProgress
355      ... 
356
357 \end{lstlisting}
358
359 This usually indicates that you are out of Operating System file descriptors.  You can increase the amount easily with the following command line:  \texttt{ulimit -n 4096}   where 4096 is a size suggestion but can be increased.  You can include this command line in your \texttt{.bashrc} or \texttt{.profile} file for the user login which gets run every time you login, or modify the Operating System limit for everyone in the system file, which for Fedora is \texttt{/etc/security/limits.conf}.  Alternatively, you can reduce the number of file descriptors needed by going into \texttt{Settings $\rightarrow$ Preferences, Appearance} tab and unchecking the flag \textit{use thumbnails in resource window}.
360
361 \bigskip
362
363 \textit{Using a non-supported locale could cause a failure in starting \CGG{} with the following error.}
364
365 \begin{lstlisting}[numbers=none,xleftmargin=10mm]
366
367    BC_WindowBase::init_im: Could not open input method.
368    unjoined tids / owner 1
369      00007f543dffb700 / 00007f54989d5840 12BC_Clipboard
370
371 \end{lstlisting}
372
373 This is caused by LC\_CTYPE setting you are using, and maybe other Locale settings too. 
374 For example, using the following will cause the \textit{unjoined tids} error.
375
376 \begin{lstlisting}[numbers=none,xleftmargin=10mm]
377    LC_CTYPE="en_IL" /mnt0/build5/cinelerra-5.1/bin/cin # set LC_CTYPE and start cin 
378 \end{lstlisting}
379
380 This is an operating system error which is resolved by using the following startup instead:
381
382 \begin{lstlisting}[numbers=none,xleftmargin=10mm]
383
384    LC_CTYPE="en_GB.utf8" /mnt0/build5/cinelerra-5.1/bin/cin # set LC_CTYPE and start cin 
385 \end{lstlisting}
386
387 You can either export the LC\_CTYPE variable before starting \CGG{} or
388 add this in your bash startup file or simply run from the command line as shown above.
389
390 \bigskip
391 \textit{Masking Feather is not working and produces error messages on the startup window similar to:}
392
393 \begin{lstlisting}[numbers=none,xleftmargin=10mm]
394 0:1(10): error: GLSL 4.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES
395 Playback3D::print_error:
396 #version 430 // vertex shader
397 in vec3 in_pos;
398 void main000() \{
399 gl_Position = vec4(in_pos-vec3(0.5,0.5,0.), .5);
400 }
401 void main() \{
402 main000();
403 }
404 \end{lstlisting}
405
406 In the mask window, check the box \textit{Disable OpenGL masking} to use software instead of OpenGL.
407
408 \section{Menu Bar Shell Commands}%
409 \label{sec:menu_bar_shell_commands}
410 \index{shell commands}
411
412 In order to provide some types of help, the Menu Bar Shell Commands are available for customization purposes (figure~\ref{fig:trouble-img001}).
413
414 \begin{figure}[ht]
415         \centering
416         \includegraphics[width=1.0\linewidth]{trouble-img001.png} 
417         \caption{Some windows used to manipulate Shell Commands scripts}
418         \label{fig:trouble-img001}
419 \end{figure}
420
421 In the main window on the top line containing the \textit{File}, \textit{Edit}, {\dots} \textit{Window} pulldown menus, all the way to the right hand side is the \textit{shell cmds} icon. You might see a small white-color bordered box with the "\texttt{i}" inside and if you mouse over it, the tooltip says \textit{shell cmds}. This is a configurable popup which gives you the ability to 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 \CGG{}.
422
423 The Shell Cmds popup menu items are configured in:
424
425 \texttt{Settings $\rightarrow$ Preferences $\rightarrow$ Interface $\rightarrow$ Shell Commands}
426
427 This runs a dialog that lets you Add/Del/Edit the scripts in the main menu popup. \ Possible options are:\newline
428
429 \begin{enumerate}
430         \item \textit{Add} a new menu item/script:
431         \begin{itemize}[noitemsep]
432                 \item click on the \textit{Add} button
433                 \item in the Label box, change the word \textit{new} to the desired menu label (for example: Graphics Editor)
434                 \item in the Commands box, type the command lines to be included in the script (for example: gimp)
435                 \item click the green checkmark for OK in the Commands window
436                 \item click the green checkmark for OK in the Shell window
437                 \item click on OK or Apply in the Preferences window
438         \end{itemize}
439         \item \textit{Del} to delete an existing menu item
440         \begin{itemize}[noitemsep]
441                 \item select to highlight an entry in the \CGG{}: Shell listbox
442                 \item click on the \textit{Del }button
443                 \item click the green checkmark for OK in the Shell window
444                 \item click on OK or Apply in the Preferences window (the entry is now deleted)
445         \end{itemize}
446         \item \textit{Edit} an existing menu item:
447         \begin{itemize}[noitemsep]
448                 \item select to highlight an entry in the \CGG{}: Shell listbox
449                 \item click on the \textit{Edit} button (the Commands window appears)
450                 \item set the label and/or commands to the new desired values
451                 \item click on the green checkmark for OK in the Commands window
452                 \item click on the green checkmark for OK in the Shell window
453                 \item click on OK or Apply in the Preferences window
454         \end{itemize} 
455 \end{enumerate}
456         
457 Next time you click on the \textit{shell cmds} icon, you will have the changes you made in effect.
458
459 Both the \textit{Add} and \textit{Edit} options have checkboxes in the Commands window for the following:
460
461 \begin{itemize}[nosep]
462         \item \textit{OnExit notify} \quad  choose Always, Never, or On error to get a popup window notify
463         \item run \texttt{path/script.sh + argvs} \quad to run a particular script with argvs (\$1, \$2,{\dots} arguments)
464 \end{itemize}
465
466
467 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.
468
469 There are 2 specific \CGG{} file names that have unique characteristics that allow for usage from a user-defined
470 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.
471
472 The second one concerns usage of the Resource window assets to use as argvs in shell scripts. The added command line
473 can ONLY be a script. Then if your script refers to \$1, \$2 and \$3 and you highlight 3 files in the Media folder,
474 their full path name will be used as the argvs to your script. For example, if you added a shell commands script
475 \texttt{/workspace/script.sh} that contains the following lines:
476
477 \begin{lstlisting}[numbers=none,xleftmargin=10mm]
478 cp ``\$1'' /tmp/temporary_copy
479 cp ``\$2'' /tmp/new_copy
480 cp ``\$3'' /tmp/file_to_upload
481 \end{lstlisting}
482
483 and you highlight 3 files in the Resources window called\textit{ ABC.mp4}, \textit{123.mp4}, and \textit{Final.mp4} and execute your added script from the Shell Cmds icon, you will be copying those 3 highlighted files to the new names on \texttt{/tmp}.
484
485 There are some Help features currently included in the Shell Cmds menu. Those available are:
486
487 \begin{enumerate}
488         \item \textit{Current Manual} in PDF format from cinelerra-gg.org or automatically downloaded.
489         \item \textit{Setting Shell Commands} \textit{how to} which explains how to configure your own commands.
490         \item \textit{Shortcuts} html file for easily looking up a particular shortcut.
491         \item \textit{RenderMux} shell script to use ffmpeg concatenate to copy files such as \textit{look.mp4001}, \textit{look.mp4002}, \textit{look.mp4005}{\dots} that were rendered using \textit{Create new file at each label} or with the Render Farm.
492         \item \textit{Delete brender files in tmp} shell script to delete the many brenderX files in /tmp when using the default location.
493 \end{enumerate}
494
495 \section{\CGG{} Command Line -h}%
496 \label{cha:cinelerra_command_line_-h}
497 \index{command line}
498
499 To see the command line parameters available to use with \CGG{}, key in:
500
501 \qquad \texttt{<your \CGG{} directory path>/bin/cin -h}
502
503 What will be shown in the window where this line was entered is:
504
505 Usage:
506
507 \texttt{./cin [-f] [-c configuration] [-d port] [-n nice] [-r batch file] [filenames]}
508
509 -d = Run in the background as renderfarm client.  The port (400) is optional.\\
510 -f = Run in the foreground as renderfarm client. Substitute for -d.\\
511 -n = Nice value if running as renderfarm client. (19)\\
512 -c = Configuration file to use instead of /root/.bcast5/Cinelerra\_rc.\\
513 -r = batch render the contents of the batch file (/root/.bcast5/batchrender.rc) with no gui. batch file is optional.\\
514 -S = do not reload perpetual session\\
515 -x = reload from backup\\
516 filenames = files to load
517