update Installation for multibit availability and how-to
[goodguy/cin-manual-latex.git] / parts / Installation.tex
index aef42402db1da652351d7a4020566cfe16a10426..f87a6490dab9e24515aaa809f68c71b3ec793fe4 100644 (file)
@@ -11,7 +11,7 @@ and since each release is named differently, you can keep a number of versions i
 and when testing from a terminal you just have to type CinGG, then hit tab, and complete it to
 the desired date release.
 
-For 64-bit systems you can choose between an image with up-to-date libraries or one that supports older libraries, which you should use only if the first image gives you problems with unsupported libs. There is also a 32-bit older distro available that has \textit{i686} as part of the filename.  Installing the appimage is simple:
+For 64-bit systems you can choose between an image with up-to-date libraries or one that supports older libraries, which you should use only if the first image gives you problems with unsupported libs. There is also a 32-bit older distro available that has \textit{i686} as part of the filename and a 8/10/12 bit newer distro that handles 8 or 10 or 12 bits that has \textit{multibit} as part of the filename.  Installing the appimage is simple:
 
 Download the file from:
 
@@ -20,12 +20,14 @@ Download the file from:
 Some example file names are as follows - where 8 digits represent yyyymmdd:
 
 \begin{lstlisting}[style=sh]
-       CinGG-20210228-x86_64.AppImage
+       CinGG-20210731-x86_64.AppImage
          (currently based on Fedora Core 32, libc version 2.31)
-       CinGG-20210228-x86_64-older-distros.AppImage
+       CinGG-20210731-x86_64-older-distros.AppImage
          (currently based on Ubuntu 16.04, libc version 2.23)
-       CinGG-20210228-i686.AppImage
-         (not yet available, but will be based on Debian 9, libc version 2.23)
+       CinGG-20210731-i686.AppImage
+         (currently based on Debian 9, linux kernel 4.9)
+       CinGG-20210731-x86_64-multibit.AppImage
+         (currently based on Fedora Core 32, libc version 2.31)
 \end{lstlisting}
 
 Make the file executable with the proper execute permissions either from the GUI of the Desktop Environment used (link to the file) or from a terminal window.  Make sure you are already in the directory containing the appimage:
@@ -129,6 +131,16 @@ some minor changes.  Also works on a somewhat limited basis on
 FreeBSD and Windows 10 with the bsd.patch for FreeBSD and the
 cygwin.patch for Windows 10.
 
+NOTE: as of May 31, 2021 when Context Help was added, to include
+this Context Help you will need to download the corresponding
+tgz file containing the HTML manual sections referenced for the
+Help pages.  The file to download is:
+\url{https://cinelerra-gg.org/download/images/HTML_Manual-20210531.tgz}
+substituting for "20210531" the "yyyymmdd" representing latest release date.
+Then unpack to your Cinelerra/bin/doc directory so it is included in
+your built system.
+NOTE End
+
 Alternatively, there are some pre-built dynamic or static binaries
 which are updated on a fairly regular basis (as long as code changes
 have been made) available at the link below.
@@ -416,6 +428,16 @@ export ac_cv_header_xmmintrin_h=no
 export FFMPEG_EXTRA_CFG=" --disable-vdpau"
 \end{lstlisting}
 
+NOTE: as of May 31, 2021 when Context Help was added, to include
+this Context Help you will need to download the corresponding
+tgz file containing the HTML manual sections referenced for the
+Help pages.  The file to download is:
+\url{https://cinelerra-gg.org/download/images/HTML_Manual-20210531.tgz}
+substituting for "20210531" the "yyyymmdd" representing latest release date.
+Then unpack to your Cinelerra/bin/doc directory so it is included in
+your built system.  The reason for not including the HTML manual in 
+the source code so that it would already be there, is because it is
+very large and has its own GIT base.
 
 \subsection{Notes about Building from Git in your Customized Environment}%
 \label{sub:notes_about_building_from_git_in_your_customized_environment}
@@ -431,54 +453,52 @@ the library interfaces exist.  Below is the list of thirdparty
 builds, but this list may have changed over time.
 % It's list of Table?
 
-\begin{table}[htpb]
-  \centering
-  \caption{List of thirdparty builds}
-  \label{tab:List_of_thirdparty_builds}
-  \small
-  \begin{tabular}{m{8em}c}
-    \toprule
-       a52dec   & yes\\
-       djbfft   & yes\\
-       ffmpeg   & yes\\
-       fftw     & auto\\
-       flac     & auto\\
-       giflib   & yes\\
-       ilmbase  & auto\\
-       lame     & auto\\
-       libavc1394&auto\\
-       libraw1394&auto\\
-       libiec61883&auto\\
-    libdv     &auto\\
-       libjpeg   &auto\\
-       opus      &auto\\
-       openjpeg  &auto\\
-       libogg    &auto\\
-       libsndfile&auto\\
-       libtheora&auto\\
-       libuuid  & yes\\
-       libvorbis&auto\\
-       mjpegtools&yes\\
-       openexr   &auto\\
-    tiff      &auto\\
-       twolame   &auto\\
-       x264      &auto\\
-       x265      &auto\\
-       libvpx    &auto\\
-       lv2       &auto\\
-       sratom    &auto\\
-       serd      &auto\\
-       sord      &auto\\
-       lilv      &auto\\
-       suil      &auto\\
-       libaom    &auto\\
-       dav1d     &auto\\
-    libwebp   &auto\\
-       ffnvcodec &auto\\
-    \bottomrule
-  \end{tabular}
-\end{table}
-
+\begin{center}
+       \small
+       \begin{longtable}{m{8em} c}             
+               \caption{List of thirdparty builds}
+               \label{tab:List_of_thirdparty_builds}\\
+               \toprule
+               a52dec   & yes\\
+               djbfft   & yes\\
+               ffmpeg   & yes\\
+               fftw     & auto\\
+               flac     & auto\\
+               giflib   & yes\\
+               ilmbase  & auto\\
+               lame     & auto\\
+               libavc1394&auto\\
+               libraw1394&auto\\
+               libiec61883&auto\\
+               libdv     &auto\\
+               libjpeg   &auto\\
+               opus      &auto\\
+               openjpeg  &auto\\
+               libogg    &auto\\
+               libsndfile&auto\\
+               libtheora&auto\\
+               libuuid  & yes\\
+               libvorbis&auto\\
+               mjpegtools&yes\\
+               openexr   &auto\\
+               tiff      &auto\\
+               twolame   &auto\\
+               x264      &auto\\
+               x265      &auto\\
+               libvpx    &auto\\
+               lv2       &auto\\
+               sratom    &auto\\
+               serd      &auto\\
+               sord      &auto\\
+               lilv      &auto\\
+               suil      &auto\\
+               libaom    &auto\\
+               dav1d     &auto\\
+               libwebp   &auto\\
+               ffnvcodec &auto\\
+               \bottomrule
+       \end{longtable}
+\end{center}
 
 The \textit{yes} means force build and \textit{auto} means probe and
 use the system version if the build operation is not static.  To get
@@ -722,6 +742,48 @@ this can be debilitating; you can always run \texttt{ffmpeg
   -formats} and \texttt{ffmpeg -codecs} to see what is available
 on your system.
 
+\section{Building the HTML Manual for Context Help}%
+\label{sec:building_the_manual}
+\index{context help}
+
+In addition to compiling your own \CGG{}, you should also build an html version of the manual that is needed for Context Help in the program. The main version of the manual is in latex to produce a pdf version of the manual and this is required to be built first as the basis for the html version. This means that you need a full latex environment, git, and the latex2html program in order to eventually create the html version. Texlive is about 1 GB; Latex2html itself has many requirements and missing any will result in failure: some requirments include Netpbm, GhostScript, dvips, etc.  Latex2html must be at least version \textit{2021.2} in order to create the html manual version from the latex.
+
+The steps are as follows:
+\begin{enumerate}
+       \item Download the manual in LaTeX:
+
+\begin{lstlisting}[style=sh]
+git clone "git://git.cinelerra-gg.org/goodguy/cin-manual-latex.git" master
+\end{lstlisting}
+
+       \item Included in the download is the \texttt{translate\_manual} script. After modifying this file to have execute permission, run this script from a terminal window in the \textit{master} directory where it was downloaded (be aware that this script includes several \textit{rm} commands):
+\begin{lstlisting}[style=sh]
+./translate_manual
+\end{lstlisting}
+
+       The steps that this script performs are as follows:
+       \begin{itemize}
+               \item PDF production. The PDF document will be produced from the latex source in the \textit{master} directory. Since the glossary and index are also present, it has to run the pdf build several times. The following commands in the \texttt{translate\_manual} script produce the PDF document from latex source which includes invoking makeindex for the Index and Glossary.
+               
+               \begin{lstlisting}[style=sh]
+                       pdflatex CinelerraGG_Manual.tex
+                       makeindex CinelerraGG_Manual.idx
+                       pdflatex CinelerraGG_Manual.tex
+                       makeindex CinelerraGG_Manual.nlo -s nomencl.ist -o CinelerraGG_Manual.nls
+                       pdflatex CinelerraGG_Manual.tex
+               \end{lstlisting}
+               
+               After these commands are executed you will have the manual only in PDF format.  So if you only want a PDF version, you only need to run these previous 5 lines but Context Help from the program will not be available with the PDF version.
+               \item Next, to produce HTML output the script then moves (renames) \texttt{latex 2html-init} to \texttt{.latex2html-init} (starting with dot).
+               
+               \item Then the script uses latex2html: latex2html is run with a unique set of parameters and some cleanup is performed. It creates the directory CinelerraGG\_Manual containing all the files of the manual in html:  tables, references, index, glossary, and various images.
+       \end{itemize}
+
+       \item After installation of the \CGG{} program, place the complete unchanged directory \texttt{CinelerraGG\_Manual}, as it was produced by latex2html from the manual package, into the \textit{doc} directory of the installed Cinelerra package. This will be the directory \textit{bin/doc/CinelerraGG\_Manual} if \CGG{} was built \texttt{--with-single-user}. The script ContextManual.pl will automatically be in bin/doc after the successful build of the program. It is this perl script that allows the program to access CinelerraGG\_Manual to offer Context Help.
+
+       \item Optionally you can make some adjustments to the latex2html command line in the \texttt{translate\_manual} script. Some variants are shown in the comments inside the script but changes may impact the usability of Alt/h hotkey from the program.
+\end{enumerate}
+
 \section{Windows 10 with Cygwin for \CGG{} Limited}%
 \label{sec:ms_windows10}
 \index{windows 10}
@@ -970,9 +1032,12 @@ You can read all about DeLinuxCo \href{https://www.delinuxco.com/}{here} and dow
 \subsection{Elive}
 \label{sec:elive}
 
-\textbf{Elive}, or Enlightenment live CD, is a non-commercial, cost-free operating system based on Debian, for the daily use and it can be used both as live CD or Installed system. Elive uses a customized Enlightenment desktop. It is fast, user-friendly and feature-rich and \CGG{} is included in the 64 bit version.
+\textbf{Elive}, or Enlightenment live CD, is a non-commercial, cost-free operating system based on Debian, and it can be used either as a live CD or an Installed system. Elive uses a customized Enlightenment desktop. It is fast, user-friendly and feature-rich and \CGG{} is included in the 64 bit version.
 
-Click \href{https://www.elivecd.org/}{Elive} for more information.
+Click \href{https://www.elivecd.org/}{Elive} for more information.  The \CGG{} package is at 
+\href{http://repository.elivecd.org/pool/multimedia/c/cinelerra-gg/} {package} - just download
+the .deb file and install via “dpkg -i “.  To include access to the Alt/h hotkey help, also install
+\href{http://repository.elivecd.org/pool/multimedia/c/cinelerra-gg-manual/}{manual} for help.
 
 \section{Cinx and a “Bit” of Confusion}%
 \label{sec:cinx_and_a_bit_of_confusion}
@@ -1002,6 +1067,22 @@ There is also a 12-bit version for consideration but currently the
 results are simply the same as 10-bit with padding to make 12-bit
 so it is of no value.
 
+\section{Multibit build for 8/10/12-bit Handling}%
+\label{sec:multibit_build}
+\index{multibit}
+
+To build a version that can handle 8 bit, or 10 bit, or 12 bit videos,
+a patch is provided in the \textit{thirdparty} subdirectory that needs
+to be applied to do so.  Be aware that the compile will take a
+substantial amount of extra time.  To apply the required patch:
+
+\begin{lstlisting}[style=sh]
+cd location of your cinelerra/cinelerra-5.1/thirdparty
+patch < x265_compile_multibit.patch
+mv x265_3.5.patch* src/.
+\end{lstlisting}
+Render formats h265-10bit and h265-12bit have been provided and will
+be operational after the applied patch is compiled in.
 
 %%% Local Variables:
 %%% mode: latex