Manual tweaks.
[dcpomatic.git] / doc / manual / dcpomatic.xml
index 312e3324b0ca917b24d2bb73b2b72045dc8218d9..9155d6a97fb4716a40e2e2f81c3257ecc9bee21d 100644 (file)
@@ -26,13 +26,16 @@ Hello, and welcome to DCP-o-matic!
 <section>
 <title>What is DCP-o-matic?</title>
 
-<para>
-DCP-o-matic is a program to generate <ulink
-url="http://en.wikipedia.org/wiki/Digital_Cinema_Package">Digital
-Cinema Packages</ulink> (DCPs) from almost any video, audio and/or
-subtitle source files.  The resulting DCPs will play on modern digital
-cinema projectors.
-</para>
+<para>DCP-o-matic is a set of programs to perform the following tasks:</para>
+
+<itemizedlist>
+  <listitem>Creation of <ulink
+  url="http://en.wikipedia.org/wiki/Digital_Cinema_Package">Digital
+  Cinema Packages</ulink> (DCPs) from video, audio and/or
+  subtitle files.</listitem>
+  <listitem>Playback of DCPs on a PC.</listitem>
+  <listitem>Creation of KDMs for DCPs.</listitem>
+</itemizedlist>
 
 </section>
 
@@ -58,6 +61,20 @@ GPL</ulink>.
 This manual uses icons from the <ulink url="http://tango.freedesktop.org/">Tango Desktop Project</ulink>, with thanks.
 </para>
 
+</section>
+
+<!-- ============================================================== -->
+<section>
+<title>This manual</title>
+
+<para>
+This manual presents bits of DCP-o-matic's user interface (such as menu items or buttons) <guilabel>like this</guilabel>.
+</para>
+
+<note>
+Notes of an advanced nature are presented like this.  Ignore them unless you want to know the gory details.
+</note>
+
 </section>
 </chapter>
 
@@ -87,6 +104,12 @@ many parallel encoding threads (more than 4) on the 32-bit
 version.
 </para>
 
+<para>
+If you are still using Windows XP, download the specific XP version as
+it should be more stable on your machine than the &lsquo;normal&rsquo;
+Windows version.
+</para>
+
 </section>
 
 
@@ -96,18 +119,22 @@ version.
 
 <para>
 DCP-o-matic will run on Mac OS X version 10.6 (Snow Leopard) and
-higher.  To install it, download the <code>.dmg</code> from <ulink
-url="http://dcpomatic.com/">http://dcpomatic.com/</ulink> and double
-click to open it.  Then drag the DCP-o-matic icon to your
-<guilabel>Applications</guilabel> folder or wherever else you would
-like to install it.
+higher.  DCP-o-matic is split into four separate applications, each of
+which can be installed by downloading the <code>.dmg</code>,
+double-clicking to open and then dragging the icon to your
+<guilabel>Applications</guilabel> folder.
+</para>
+
+<para>
+If you are not sure which parts of DCP-o-matic to install, start
+with the first (main) part.
 </para>
 
 </section>
 
 <!-- ============================================================== -->
 <section>
-<title>Debian or Ubuntu Linux</title>
+<title>Debian, Ubuntu or Mint Linux</title>
 
 <para>
   You can install DCP-o-matic on:
@@ -116,11 +143,14 @@ like to install it.
 <itemizedlist>
   <listitem>Debian 7 (&lsquo;wheezy&rsquo;)</listitem>
   <listitem>Debian 8 (&lsquo;jessie&rsquo;)</listitem>
+  <listitem>Debian 9 (&lsquo;squeeze&rsquo;)</listitem>
   <listitem>Debian unstable (&lsquo;sid&rsquo;)</listitem>
-  <listitem>Ubuntu 12.04 (&lsquo;Precise Pangolin&rsquo;)</listitem>
   <listitem>Ubuntu 14.04 (&lsquo;Trusty Tahr&rsquo;)</listitem>
-  <listitem>Ubuntu 15.04 (&lsquo;Vivid Vervet&rsquo;)</listitem>
-  <listitem>Ubuntu 15.10 (&lsquo;Wily Werewolf&rsquo;)</listitem>
+  <listitem>Ubuntu 16.04 (&lsquo;Xenial Xerus&rsquo;)</listitem>
+  <listitem>Ubuntu 18.04 (&lsquo;Bionic Beaver&rsquo;)</listitem>
+  <listitem>Mint 17</listitem>
+  <listitem>Mint 18</listitem>
+  <listitem>Mint 19</listitem>
 </itemizedlist>
 
 <para>
@@ -135,25 +165,14 @@ pieces and set DCP-o-matic up for you.
 
 <!-- ============================================================== -->
 <section>
-  <title>Fedora Linux</title>
-
-  <para>There are <code>.rpm</code> packages for Fedora 22 and 23 on
-  <ulink url="http://dcpomatic.com/">http://dcpomatic.com/</ulink>
-  </para>
-</section>
-<!-- ============================================================== -->
-
+  <title>Fedora, Centos and Mageia Linux</title>
 
-<!-- ============================================================== -->
-<section>
-  <title>Centos Linux</title>
-  <para>There are <code>.rpm</code> packages for Centos 6.5 and 7 on
+  <para>There are <code>.rpm</code> packages for Fedora 27 and 28, Centos 6 and 7 and Mageia 6 on
   <ulink url="http://dcpomatic.com/">http://dcpomatic.com/</ulink>
   </para>
 </section>
 <!-- ============================================================== -->
 
-
 <!-- ============================================================== -->
 <section>
 <title>Arch Linux</title>
@@ -171,10 +190,10 @@ thanks to Stefan Karner.
 
 <para>
 Installation on other Linux systems (for which no packages are
-available) is quite hard; you will have to compile it from source.  If
-you are using distribution for which no packages are available, do let
-me know by <ulink url="mailto:carl@dcpomatic.com">email</ulink> and I
-will look into providing packages on the website.
+available) is quite hard as it must be compiled from source.  If you
+can't download packages for your distribution, do let me know by
+<ulink url="mailto:carl@dcpomatic.com">email</ulink> and I will look
+into providing packages on the website.
 </para>
 
 <para>
@@ -194,9 +213,12 @@ The following dependencies are required:
 <listitem><ulink url="http://www.aleksey.com/xmlsec/">xmlsec</ulink></listitem>
 <listitem><ulink url="http://curl.haxx.se/">curl</ulink></listitem>
 <listitem><ulink url="http://www.nih.at/libzip/">libzip</ulink></listitem>
+<listitem><ulink url="http://carlh.net/asdcplib/">asdcplib with some patches</ulink></listitem>
 <listitem><ulink url="http://carlh.net/libdcp/">libdcp</ulink></listitem>
 <listitem><ulink url="http://carlh.net/libsub/">libsub</ulink></listitem>
 <listitem><ulink url="http://carlh.net/libcxml/">libcxml</ulink></listitem>
+<listitem><ulink url="https://carlh.net/locked_sstream">locked_sstream</ulink></listitem>
+<listitem><ulink url="https://www.music.mcgill.ca/~gary/rtaudio/">rtaudio</ulink></listitem>
 <listitem><ulink url="http://site.icu-project.org">libicu</ulink></listitem>
 </itemizedlist>
 </para>
@@ -233,10 +255,10 @@ in a shell.
 
 <!-- ============================================================== -->
 <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
-<title>Creating a video DCP</title>
+<title>Creating a DCP from a video</title>
 
 <para>
-In this chapter we will see how to create a video DCP using
+In this chapter we will see how to create a DCP from a video file using
 DCP-o-matic.  We will gloss over the details and look at the basics.
 </para>
 
@@ -247,8 +269,8 @@ DCP-o-matic.  We will gloss over the details and look at the basics.
 Let's make a very simple DCP to see how DCP-o-matic works.  First, we
 need some content.  Download the low-resolution trailer for the open
 movie <ulink url="http://sintel.org/">Sintel</ulink> from <ulink
-url="http://ftp.nluug.nl/ftp/graphics/blender/apricot/trailer/Sintel_Trailer1.480p.DivX_Plus_HD.mkv">their
-website</ulink>.  Generally, of course, one would want to use the
+url="https://download.blender.org/durian/trailer/Sintel_Trailer.480p.DivX_Plus_HD.mkv">their
+website</ulink>.  Generally one would want to use the
 highest-resolution material available, but for this test we will use
 the low-resolution version to save everyone's bandwidth bills.
 </para>
@@ -353,15 +375,7 @@ the right of the window, as shown in <xref linkend="fig-examine-content"/>.
 
 <para>
 Dragging the slider will move through your video.  You can also click
-the <guilabel>Play</guilabel> button to play the content back.  <emphasis>Note
-that there will be no sound</emphasis>, and playback might not be entirely
-accurate (it may be slightly slower or faster than it should be, for
-example).  This player is really only intended for brief inspection of
-content; if you need to check it more thoroughly, use another player
-such as <ulink
-url="http://projects.gnome.org/totem/index.html">Totem</ulink>, <ulink
-url="http://www.mplayerhq.hu/design7/news.html">mplayer</ulink> or
-<ulink url="http://www.videolan.org/vlc/index.html">VLC</ulink>.
+the <guilabel>Play</guilabel> button to play the content back.
 </para>
 
 </section>
@@ -404,8 +418,8 @@ linkend="ch-files"/> for details about the files that DCP-o-matic creates.
 </para>
 
 <para>
-Alternatively, if  you have a  projector or Theatre  Management System
-(TMS) that is accessible via SCP across your network, you can upload
+Alternatively, if you have a projector or Theatre Management System
+(TMS) that is accessible via SCP or FTP across your network, you can upload
 the content directly from DCP-o-matic.  See the <xref
 linkend="sec-prefs-tms" endterm="sec-prefs-tms-short"/> in <xref linkend="sec-prefs-tms"/>.
 </para>
@@ -416,7 +430,7 @@ linkend="sec-prefs-tms" endterm="sec-prefs-tms-short"/> in <xref linkend="sec-pr
 
 <!-- ============================================================== -->
 <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
-<title>Creating a still-image DCP</title>
+<title>Creating a DCP from a still image</title>
 
 <para>
 DCP-o-matic can also be used to create DCPs of one or more still images, perhaps
@@ -425,7 +439,7 @@ how to do it.
 </para>
 
 <para>
-As with video DCPs, the first step is to create a new
+As with DCPs made from video files, the first step is to create a new
 &lsquo;Film&rsquo;; select <guilabel>New</guilabel> from the
 <guilabel>File</guilabel> menu and the new film dialogue will open as
 shown in <xref linkend="fig-still-new-film"/>.
@@ -457,10 +471,10 @@ linkend="fig-still-select-content-file"/>.
 </figure>
 
 <para>
-As with video DCPs, most of the default settings will be fine for a
-simple test.  The one thing that you might wish to change is the
-length of the still.  Select the <guilabel>Timing</guilabel> tab and
-you will see a <guilabel>Play length</guilabel> setting, as shown in <xref
+Most of the default settings will be fine for a simple test.  The one
+thing that you might wish to change is the length of the still.
+Select the <guilabel>Timing</guilabel> tab and you will see a
+<guilabel>Play length</guilabel> setting, as shown in <xref
 linkend="fig-timing-tab"/>.
 </para>
 
@@ -482,7 +496,7 @@ fourth frames.  Enter the duration that you want and then click <guilabel>Set</g
 <para>
 Finally, as with video, you can choose <guilabel>Make DCP</guilabel>
 from the <guilabel>Jobs</guilabel> menu to create your DCP.  This will
-be much quicker than creating a video DCP, as DCP-o-matic only needs
+be much quicker than creating a DCP from a video file, as DCP-o-matic only needs
 to encode a single frame which it can then repeat.
 </para>
 
@@ -495,7 +509,7 @@ to encode a single frame which it can then repeat.
 
 <para>
 Frequently DCP-o-matic is used to take content in formats such as MP4
-and convert it to JPEG2000 for a DCP.  Alternatively, it can be used
+and convert it to JPEG2000 for a DCP.  It can also be used
 to take existing DCPs and modify them in various ways.
 </para>
 
@@ -504,17 +518,30 @@ to take existing DCPs and modify them in various ways.
 
 <para>
 If you want to do something to an existing DCP the first step is to
-import it.  Click <guilabel>Add folder...</guilabel> and select your
+import it.  Click <guilabel>Add DCP...</guilabel> and select your
 DCP's folder.  It will be added to the DCP-o-matic project.  If the
 DCP is unencrypted you can preview it in the normal way, though
 playback will be very slow as decoding of DCPs is almost as
 computationally intensive as encoding them.
 </para>
 
+<para>
+If your DCP is a Version File (VF) (i.e. it refers to
+another DCP's assets) you should import it as follows:
+</para>
+
+<itemizedlist>
+<listitem>Use <guilabel>Add DCP...</guilabel> to import the VF DCP.
+The VF DCP will be added to the content list and marked &ldquo;NEEDS
+OV&rdquo;.</listitem>
+<listitem>Right-click on the VF DCP in the content list and choose <guilabel>Add OV...</guilabel> from the menu.</listitem>
+<listitem>Choose the folder that contains the OV DCP.  The VF will now be playable as normal.</listitem>
+</itemizedlist>
+
 </section>
 
 
-<section>
+<section xml:id="sec-decrypting">
 <title>Decrypting encrypted DCPs</title>
 
 <para>
@@ -542,8 +569,8 @@ and they can create a KDM to allow DCP-o-matic to decrypt their DCP.
 
 <para>
 Once you have your KDM, right-click the DCP's name in DCP-o-matic and
-choose <guilabel>Add KDM...</guilabel>.  Specify your KDM and (all
-being well) the DCP will be decrypted and become available for preview.
+choose <guilabel>Add KDM...</guilabel>.  Specify your KDM and the DCP
+will be decrypted and become available for preview.
 </para>
 
 </section>
@@ -570,8 +597,8 @@ JPEG2000 encoding is not necessary.
 </para>
 
 <para>
-DCP-o-matic can do this if you avoid changes to the following content
-settings:
+DCP-o-matic can do this if you <emphasis>avoid</emphasis> changes to
+the following content settings:
 </para>
 
 <itemizedlist>
@@ -590,7 +617,7 @@ DCP-o-matic will decode and then re-encode the JPEG2000 data.
 </section>
 
 
-<section>
+<section xml:id="sec-overlay">
 <title>Making overlay files</title>
 
 <para>
@@ -634,6 +661,20 @@ To play back the subtitled DCP the projectionist ingests both the base
 (OV) DCP and the overlay (VF) DCP, then plays the VF one.
 </para>
 
+<para>
+To make a DCP like this:
+</para>
+
+<itemizedlist>
+<listitem>Import your &lsquo;Content DCP&rsquo; to a DCP-o-matic project.</listitem>
+<listitem>Add whatever replacement you want in your new DCP (replacement subtitles or audio files, for example).</listitem>
+<listitem>Select the DCP in the content list</listitem>
+<listitem>Tick the <guilabel>Use's this DCP's ... as OV and make VF</guilabel> checkbox
+in the tabs for the parts of the DCP that you want to refer to in your
+new DCP.  For example, to refer to the Content DCP's video and audio you would select the <guilabel>Video</guilabel> tab, click <guilabel>Use this DCP's video as OV and make VF</guilabel> then select the <guilabel>Audio</guilabel> tab and click <guilabel>Use this DCP's audio as OV and make VF</guilabel>.</listitem>
+<listitem>Do <guilabel>Make DCP</guilabel> as usual and your VF DCP will be created.</listitem>
+</itemizedlist>
+
 </section>
 
 </section>
@@ -683,7 +724,7 @@ images which should be treated as the frames of a video.
 
 <listitem>Subtitle &mdash; a file containing subtitle which will be
 superimposed on the image of the DCP.  These can be
-<guilabel>.srt</guilabel> or <guilabel>.xml</guilabel>
+<guilabel>.srt</guilabel>, <guilabel>.ssa</guilabel>, <guilabel>.ass</guilabel> or <guilabel>.xml</guilabel>
 files.</listitem>
 
 <listitem>DCP &mdash; an existing DCP.</listitem>
@@ -695,11 +736,15 @@ To add one or more movie, sound, still-image or subtitle files, select
 </para>
 
 <para>
-To add a directory (folder) of images or a DCP, choose <guilabel>Add
-folder...</guilabel> and choose the directory from the selector.  If
-you select a folder of images DCP-o-matic will open a small dialogue
-box where you can enter the frame rate that the image sequence should
-be run at.
+To add a directory (folder) of images, choose <guilabel>Add
+folder...</guilabel> and choose the directory from the selector.
+DCP-o-matic will open a small dialogue box where you can enter the
+frame rate that the image sequence should be run at.
+</para>
+
+<para>
+To add a DCP, choose <guilabel>Add DCP...</guilabel> and choose the
+DCP's directory from the selector.
 </para>
 
 <para>
@@ -781,12 +826,25 @@ The <guilabel>Video</guilabel> tab controls properties of the image, as shown in
 </figure>
 
 
+<!-- ============================================================== -->
+<section>
+<title>Use this DCP's video as OV and make VF</title>
+
+<para>
+This option is only applicable if the selected content is an existing
+DCP.  It allows you make a VF DCP, using the video content from the
+existing DCP by referencing it (rather than copying).  See <xref
+linkend="sec-overlay"/>.
+</para>
+
+</section>
+
 <!-- ============================================================== -->
 <section>
 <title>Image type</title>
 
 <para>
-The first option on this tab is the &lsquo;type&rsquo; of the video.
+The next option on this tab is the &lsquo;type&rsquo; of the video.
 This specifies how DCP-o-matic should interpret the video's image.
 <guilabel>2D</guilabel> is the default; this just takes the video
 image as a standard 2D frame.  The <guilabel>3D
@@ -1004,7 +1062,6 @@ The <guilabel>Audio</guilabel> tab controls properties of the image, as shown in
   </mediaobject>
 </figure>
 
-
 <!-- ============================================================== -->
 <section>
 <title>The audio map</title>
@@ -1109,7 +1166,21 @@ shows the mapping of a 5.1 source into a 5.1 DCP.
 
 <!-- ============================================================== -->
 <section>
-<title>Other controls</title>
+  <title>Other controls</title>
+
+<para>
+The <guilabel>Use this DCP's audio as OV and make VF</guilabel>
+checkbox is only applicable if the selected content is an existing
+DCP.  It allows you to make a VF DCP, using the audio content from the
+existing DCP by referencing it (rather than copying).  See <xref
+linkend="sec-overlay"/>.
+</para>
+
+<para>
+<guilabel>Show graphs of audio levels</guilabel> will analyse the
+audio of the selected content and plot it on a graph.  See <xref
+linkend="sec-show-audio"/> for more details.
+</para>
 
 <para>
 &lsquo;Audio Gain&rsquo; is used to alter the volume of the
@@ -1181,13 +1252,32 @@ content, as shown in <xref linkend="fig-subtitles-tab"/>.
 </figure>
 
 <para>
-DCP-o-matic will extract subtitles from the content, if present, and
-they can be &lsquo;burnt into&rsquo; the DCP (that is, they are
-included in the image and not overlaid by the projector) or included
-as a separate subtitle &lsquo;asset&rsquo; within your DCP (in which
-case the projector overlays them onto the image on playback).  The
-difference between these two arrangements is illustrated by <xref
-linkend="fig-burn-in"/> and <xref linkend="fig-discrete"/>
+DCP-o-matic can either:
+</para>
+
+<itemizedlist>
+  <listitem>Extract subtitles that are embedded in video files, or</listitem>
+  <listitem>Use subtitles from SubRip (<code>.srt</code>), SubStation
+  Alpha (<code>.ssa</code> or <code>.ass</code>) or DCP XML files.  You may find the great
+  free program <ulink
+  url="http://www.nikse.dk/subtitleedit/">Subtitle Edit</ulink> useful
+  for creating such files.</listitem>
+</itemizedlist>
+
+<para>
+Embedded subtitles are usually represented using a set of bitmaps,
+especially on files that have come from DVD or BluRay.  Such subtitles
+can (currently) only be &lsquo;burnt&rsquo; into the DCP (that is,
+they are included in the image and not overlaid by the projector).
+</para>
+
+<para>
+With SubRip, SubStation Alpha or DCP subtitles you have the choice to
+either burn-in or include the subtitles as separate subtitle
+&lsquo;asset&rsquo; within your DCP (in which case the projector
+overlays them onto the image on playback).  The difference between
+burn-in and overlay is illustrated by <xref linkend="fig-burn-in"/>
+and <xref linkend="fig-discrete"/>.
 </para>
 
 <figure id="fig-burn-in">
@@ -1217,25 +1307,17 @@ encoding need only be done once for the project rather than once for
 every language.
 </para>
 
-<para>
-Note that subtitles come in two types: text and bitmap.  Text
-subtitles are expressed as plain text and can be either burnt into the
-image or included as a separate subtitle asset within the DCP.  Bitmap
-subtitles, on the other hand, are expressed as pre-rendered bitmaps.
-They cannot (yet) be added to the DCP as a separate asset and must be
-burnt into the image.
-</para>
-
 <para>
 Select the <guilabel>Use Subtitles</guilabel> check-box to enable
-these subtitles.
+the subtitles in the selected content.
 </para>
 
 <para>
 Select the <guilabel>Burn subtitles into image</guilabel> check-box to
 burn these subtitles into the image; if this is not ticked the
 subtitles will be included separately in the DCP to be rendered by the
-projector.
+projector.  This check-box will always be ticked if you are using
+embedded &lsquo;image&rsquo; subtitles.
 </para>
 
 <para>
@@ -1259,11 +1341,27 @@ frame) than those typically used for DCP, so it is often useful to
 scale such subtitles down using these controls.
 </para>
 
+<para>
+The <guilabel>Line spacing</guilabel> control adjusts the line spacing
+of the subtitles.  This only works for non-embedded (text) subtitles.
+</para>
+
 <para>
 The <guilabel>Stream</guilabel> control changes the subtitle stream
 that is used when the content has more than one.
 </para>
 
+<para>
+If you are using non-embedded (text) subtitles you can see the
+subtitle text and timings by clicking the <guilabel>View...</guilabel>
+button, or specify the fonts that should be used by clicking <guilabel>Fonts...</guilabel>.
+</para>
+
+<para>
+With any subtitles you can click <guilabel>Appearance...</guilabel> to
+change how the subtitles look.
+</para>
+
 </section>
 
 
@@ -1316,11 +1414,17 @@ should be displayed using this control.
 </para>
 
 <para>
-<guilabel>Trim from start</guilabel> specifies the amount that should be trimmed from the start of the content.
+<guilabel>Trim from start</guilabel> specifies the amount that should
+be trimmed from the start of the content.  You can set this amount to
+trim up to the current preview position by clicking <guilabel>Trim up
+to current position</guilabel>.
 </para>
 
 <para>
-<guilabel>Trim from end</guilabel> specifies the amount that should be trimmed from the end of the content.
+<guilabel>Trim from end</guilabel> specifies the amount that should be
+trimmed from the end of the content.  You can set this amount to trim
+after the current preview position by clicking <guilabel>Trim after to
+current position</guilabel>.
 </para>
 
 <para>
@@ -1467,8 +1571,27 @@ linkend="fig-pipeline3"/>.
 
 </section>
 
+
+<section>
+  <title>Copy and paste settings</title>
+
+<para>
+Once you have set up a piece of content it is possible to copy the
+settings you have applied to another piece of content.  To do this,
+select the content to copy from and choose <guilabel>Copy</guilabel>
+from the <guilabel>Edit</guilabel> menu.  Then select the content to
+copy to and choose <guilabel>Paste</guilabel>.  A dialogue box will
+open to allow you to choose which settings you want to copy.  Clicking
+<guilabel>OK</guilabel> will apply the copied settings.
+</para>
+
+</section>
+
+
 </chapter>
 
+
+<!-- ============================================================== -->
 <chapter xml:id="ch-dcp" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
 <title>DCP settings</title>
 
@@ -1541,12 +1664,23 @@ key for you.  To specify your own key, click the
 <guilabel>Edit..</guilabel> button next to the key.
 </para>
 
+<para>
+The <guilabel>Reels</guilabel> and <guilabel>Reel length</guilabel>
+controls specify how the DCP will be split up into
+&lsquo;reels&rsquo;.  See <xref linkend="sec-reels"/> below.
+</para>
+
 <para>
 The <guilabel>Standard</guilabel> option specifies which of the two
 DCP standards DCP-o-matic should use.  If in doubt, use SMPTE (the
 more modern of the two).
 </para>
 
+<para>
+Ticking the <guilabel>Upload DCP to TMS after it is made</guilabel>
+will ask DCP-o-matic to copy the finished DCP to your configured TMS (see <xref linkend="sec-prefs-tms"/>).
+</para>
+
 <para>
 At the bottom of the DCP tab are a further two tabs, one each to
 contain the settings for the DCP's video and audio parts.
@@ -1596,7 +1730,7 @@ The <guilabel>JPEG2000 bandwidth</guilabel>; setting changes how big
 the final image files used within the DCP will be.  Larger numbers
 will give better quality, but correspondingly larger DCPs.  The
 bandwidth can be between 50 and 250 megabits per second (Mbit/s).
-Most commercial DCPs use bit rates between 75 and 125 MBit/s.
+Most commercial DCPs use bit rates between 75 and 125 Mbit/s.
 </para>
 
 <para>
@@ -1611,7 +1745,7 @@ unused channel will be filled with silence.
 
 <para>
 The <guilabel>Processor</guilabel> control allows you to select a
-process to apply to the audio before it goes into the DCP.  Two processes are currently provided:
+process to apply to the audio before it goes into the DCP.  Three processes are currently provided:
 </para>
 
 <itemizedlist>
@@ -1646,7 +1780,85 @@ This upmixing algorithm is due to Gérald Maruccia.
 </itemizedlist>
 
 <!-- ============================================================== -->
-<section>
+<section xml:id="sec-reels">
+<title>Reels</title>
+
+<para>
+A &lsquo;reel&rsquo; in a DCP is a subsection of the DCP, in the same
+way as a 35mm reel is a section of a film.  A DCP can be split up into
+any number of reels and the joins (the equivalent to 35mm splices)
+between the reels are seamless.
+</para>
+
+<para>
+There is no reason why you can't just use a single reel for the whole
+of your DCP, as there is no limit on their length.  Many people choose
+to do this.
+</para>
+
+<para>
+There are, however, some possible advantages of splitting things up
+into reels:
+</para>
+
+<itemizedlist>
+<listitem>
+The picture, sound and subtitle data of the DCP will be
+split up into more smaller files on disk, rather than fewer larger
+files.  This can be useful if the DCP is to be transferred on storage
+that have file size limits.  The FAT32 filesystem, for example, can
+only hold files smaller than 4Gb.  A 6Gb DCP with a single reel could
+not be transferred using a FAT32-formatted disk.  If that DCP were
+split up into two 3Gb reels it could be transferred.
+</listitem>
+<listitem>
+It is easier to re-use DCP components if they are in reels.  Consider,
+for example, a film company who wants to put a 5 second ident onto the
+beginning of DCPs that they distribute.  If they receive a feature
+film DCP they can modify it to add their ident as a separate reel.
+This is easier than attaching the picture data in the DCP.
+</listitem>
+</itemizedlist>
+
+<para>
+DCP-o-matic offers three options for setting up the reels in your DCP:
+single reel, split by video content or custom.
+</para>
+
+<para>
+<guilabel>Single reel</guilabel>, as its name suggests, keeps the whole DCP as one reel.
+This is a perfectly good option if you have no particular reason to
+need reels.
+</para>
+
+<para>
+<guilabel>Split by video content</guilabel> puts each piece of source
+video content in its own reel, as shown in <xref linkend="fig-reels-by-video"/>.
+</para>
+
+<figure id="fig-reels-by-video">
+<title>Making reels using split by video content</title>
+<mediaobject><imageobject><imagedata scale="100" fileref="diagrams/reels-by-video&dia;"/></imageobject></mediaobject>
+</figure>
+
+<para>
+Here we have three video files (<code>ident.mp4</code>,
+<code>feature.ts</code> and <code>cred.mov</code>).  With
+<guilabel>split by video content</guilabel> DCP-o-matic makes a new
+reel to hold each video file.
+</para>
+
+<para>
+<guilabel>Custom</guilabel> splits reels by the size of the files that
+will make up their video content.  With <guilabel>Custom</guilabel>
+you must specify a reel length in Gb.  Then no file in the DCP will be larger than this reel length.
+</para>
+
+</section>
+
+
+<!-- ============================================================== -->
+<section xml:id="sec-show-audio">
 <title>Show audio</title>
 
 <para>
@@ -1697,6 +1909,77 @@ auditorium, but it can be useful to get levels in the right rough area.
 
 </chapter>
 
+
+<!-- ============================================================== -->
+<chapter xml:id="ch-templates" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
+<title>Templates</title>
+
+<para>
+If you frequently make DCPs with similar settings you may find it
+useful to use templates.
+</para>
+
+<para>
+Say, for example, you often make 4K feature DCPs from video files in
+&rsquo;scope at 25fps.  You can speed up this process by following
+these steps:
+</para>
+
+<itemizedlist>
+  <listitem>Create a film with any content and set it up how you like;
+  in our example, set the content to scale to DCP, the DCP resolution
+  to 4K, and so on.</listitem>
+  <listitem>Choose <guilabel>Save as template...</guilabel> from the <guilabel>File</guilabel> menu.</listitem>
+  <listitem>Enter a name for your template.</listitem>
+</itemizedlist>
+
+<para>
+Then in the future you can create a new film, tick the
+<guilabel>Template</guilabel> box and choose your previously-saved
+template.  The basic film's settings will come from your template, and
+when you add some content it will take on the settings of the
+first similarly-typed piece of content in your template.
+</para>
+
+<para>
+For example if the template has a piece of video content and some
+subtitles, any video that you add to the new film will take on the
+settings of the video in the template.  Similarly, any subtitles that
+you add will take on the settings of the subtitles from the template.
+</para>
+
+<para>
+The following settings from the <guilabel>DCP</guilabel> tab are saved
+in templates:
+</para>
+
+<itemizedlist>
+  <listitem>&ldquo;Use ISDCF name&rdquo; checkbox</listitem>
+  <listitem>Content type (FTR, TLR etc.)</listitem>
+  <listitem>Container</listitem>
+  <listitem>Resolution</listitem>
+  <listitem>JPEG200 bandwidth</listitem>
+  <listitem>Video frame rate</listitem>
+  <listitem>Signed and encrypted checkboxes</listitem>
+  <listitem>Audio channels</listitem>
+  <listitem>Standard (Interop / SMPTE)</listitem>
+  <listitem>Audio processor</listitem>
+  <listitem>Reel type and length</listitem>
+  <listitem>Upload after make DCP checkbox</listitem>
+</itemizedlist>
+
+<para>
+In addition to this, the settings (but not the filenames) of any
+content in the template are stored, as discussed above.  The status of
+the <guilabel>Keep video and subtitles in sequence</guilabel> checkbox
+from the timeline is also preserved.
+</para>
+
+</chapter>
+
+
+
+<!-- ============================================================== -->
 <chapter xml:id="ch-encryption" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
 <title>Encryption</title>
 
@@ -1724,7 +2007,7 @@ delivery message (KDM) can play the DCP.
 
 <!-- ============================================================== -->
 <section>
-<title>How it works (in a nutshell)</title>
+<title>How it works</title>
 
 <para>
 This section attempts to summarise how DCP encryption works.  You can
@@ -1774,9 +2057,16 @@ key from the public key.
 <para>
 Public-key encryption allows us to distribute the DCP's key to Alice
 securely.  The manufacturer of Alice's projector generates a public
-and private key.  They hide the private key deep inside the bowels of
-the projector (inside an integrated circuit) where no-one can read it.
-They then make the public key available to anyone who is interested.
+and private key.  They hide the private key inside the projector where
+no-one can read it.  They then make the public key available to anyone
+who is interested.
+</para>
+
+<para>
+DCP-o-matic has a similar arrangement except that it stores its
+private keys in the user's configuration file. See <xref
+linkend="sec-decrypting"/> for details of how to share DCP-o-matic's
+certificate so that others can make encrypted DCPs for DCP-o-matic.
 </para>
 
 <para>
@@ -1812,10 +2102,10 @@ those cinemas that are allowed to play the DCP.
 
 <para>
 The first part is simple: ticking the <guilabel>Encrypted</guilabel>
-box in the <guilabel>DCP</guilabel> tab of DCP-o-matic will encrypt
-the DCP using a random key that DCP-o-matic generates.  The key will
-be written to the film's metadata file, which should be kept
-secure.
+box in the <guilabel>DCP</guilabel> tab will instruct DCP-o-matic to
+encrypt the DCP that it makes using a random key that DCP-o-matic
+generates.  The key will be written to the film's metadata file, which
+should be kept secure.
 </para>
 
 <para>
@@ -1826,17 +2116,27 @@ is).
 </para>
 
 <para>
-The second part is to generate KDMs for the cinemas that you wish to
-allow to play your DCP.  This is done using the <guilabel>Make
-KDMs</guilabel> option on the <guilabel>Jobs</guilabel> menu.  This
-will open the KDM dialogue box, as shown in <xref linkend="fig-kdm"/>.
+The second part of distributions is to generate KDMs for the cinemas
+that you wish to allow to play your DCP.  There are two approaches to
+this within DCP-o-matic: using the project, or using a DKDM.  These
+approaches are now described in turn.
+</para>
+
+<section>
+<title>Creating KDMs from a DCP-o-matic project</title>
+
+<para>
+You can create KDMs from inside a DCP-o-matic project using the
+<guilabel>Make KDMs</guilabel> option on the <guilabel>Jobs</guilabel>
+menu.  This will open the KDM dialogue box, as shown in <xref
+linkend="fig-kdm"/>.
 </para>
 
 <figure id="fig-kdm">
   <title>KDM dialog</title>
   <mediaobject>
     <imageobject>
-      <imagedata fileref="screenshots/kdm&scs;"/>
+      <imagedata scale="40" fileref="screenshots/kdm&scs;"/>
     </imageobject>
   </mediaobject>
 </figure>
@@ -1849,10 +2149,11 @@ available by the projector manufacturers as text files with a
 </para>
 
 <para>
-DCP-o-matic can store these certificates to make life easier.  It
-stores details of cinemas and screens within those cinemas.  Each
-screen has a certificate for its projector.  DCP-o-matic can generate
-KDMs for any screens that it knows about.
+DCP-o-matic can store these certificates along with details of their
+cinemas and screens within those cinemas.  Each screen has a
+certificate for its projector (and optionally certificates for other
+trusted devices, such as the sound processor).  DCP-o-matic can
+generate KDMs for any screens that it knows about.
 </para>
 
 <para>
@@ -1874,11 +2175,10 @@ Alternatively, certificates for projection systems made by some
 manufacturers can be downloaded from databases provided by the
 manufacturer.  Currently this is supported for Doremi and Dolby
 equipment.  If you are targeting a screen with equipment by one of
-these manufacturers you can select Doremi or Dolby from the
-<guilabel>Server manufacturer</guilabel> selection and then click
-<guilabel>Download</guilabel>.  In the next dialogue box, enter
-details of the screen and click <guilabel>Download</guilabel> and, all
-being well, the certificate will be fetched.
+these manufacturers you can click <guilabel>Download</guilabel> then
+enter the serial number of the server in the screen and click
+<guilabel>Download</guilabel> again and, all being well, the certificate
+will be fetched.
 </para>
 
 <para>
@@ -1907,17 +2207,143 @@ You must also select the type of KDM that you want to generate.  If in
 doubt, use <guilabel>Modified Transitional 1</guilabel>.
 </para>
 
+<note>
+The differences between the three KDM types are fairly subtle.
+<guilabel>DCI Specific</guilabel> and <guilabel>DCI Any</guilabel> add
+a <code>&lt;ContentAuthenticator&gt;</code> tag to the KDM which
+allows the exhibitor to check that the DCP and KDM have come from a
+bona-fide source.  In addition, <guilabel>DCI Specific</guilabel> adds
+information on trusted devices to the KDM.  This allows the KDM
+creator to specify devices (such as sound processors) that are allowed
+to use keys delivered by the KDM.  At present it is not clear how
+widely the <guilabel>DCI Specific</guilabel> and <guilabel>DCI
+Any</guilabel> features are supported (or even tolerated) by servers
+so you are advised to use <guilabel>Modified Transitional
+1</guilabel>.
+</note>
+
 <para>
 Finally, choose what you want to do with the KDMs.  They can be
 written to disk, to a location that you can specify by clicking
 <guilabel>Browse</guilabel>.  Alternatively, if you choose
 <guilabel>Send by email</guilabel> the KDMs will be zipped up and
-emailed to the appropriate cinema email addresses.  Click OK to
-generate the KDMs.
+emailed to the appropriate cinema email addresses.  Click
+<guilabel>Make KDMs</guilabel> to generate the KDMs.
+</para>
+
+</section>
+
+<section>
+<title>Creating KDMs using a DKDM</title>
+</section>
+
+<para>
+It can be inconvenient to need a whole DCP-o-matic project just to
+create KDMs for its film.  Perhaps you want to archive the project to
+save space, or create KDMs on a different machine.  In such situations
+it is easier to use a DKDM.  This is a normal KDM, but instead of
+being targeted at a projection system (to allow it to decrypt the
+content) it is targeted at a particular user's certificate.  This
+means that the certificate owner can create new KDMs for other users.
+The DKDM holds everything that is required to create further KDMs.
+</para>
+
+<para>
+Sometimes it is useful to create DKDMs that can be used by
+DCP-o-matic.  If you create such a DKDM you can keep it and then, at
+any point in the future, use DCP-o-matic's standalone KDM creator to
+make KDMs for the DKDM's film for any cinema.
+</para>
+
+<para>
+In other cases a DKDM is sent to a 3rd party so that they can create
+KDMs for your films.  This can be useful if, for example, you have a
+distributor who provides 24-hour KDM support to cinemas and can create
+KDMs for anybody that requires them at short notice.
+</para>
+
+<para>
+To create a DKDM for DCP-o-matic, open your encrypted project and
+select <guilabel>Make DKDM for DCP-o-matic...</guilabel> from the
+<guilabel>Jobs</guilabel> menu.  Select the CPL that you want to make
+the DKDM for and click <guilabel>OK</guilabel>.  This DKDM will then
+be available in the KDM creator.  This is a separate program which you
+can start from the same place that you start the &lsquo;normal&rsquo;
+DCP-o-matic.  Its window is shown in <xref linkend="fig-kdm-creator"/>.
+</para>
+
+<figure id="fig-kdm-creator">
+  <title>The KDM creator</title>
+  <mediaobject>
+    <imageobject>
+      <imagedata scale="35" fileref="screenshots/kdm-creator&scs;"/>
+    </imageobject>
+  </mediaobject>
+</figure>
+
+<para>
+To create KDMs, select the cinema(s) and/or screens that you want KDMs
+to be created for, the date range, the DCP that the KDMs are for and
+the destination for the KDMs and click <guilabel>Create
+KDMs</guilabel>.
+</para>
+
+<para>
+By default the <guilabel>DKDM</guilabel> list will list any DCPs for
+which you have clicked <guilabel>Make DKDM for
+DCP-o-matic</guilabel>in the main DCP-o-matic program.  If you have
+other DKDMs you can add them by clicking <guilabel>Add...</guilabel> and
+specifying the file containing the DKDM.
+</para>
+
+<para>
+If another organisation wants to send you a DKDM they will ask you for
+a target certificate.  You can get DCP-o-matic's target certificate by
+opening <guilabel>Preferences</guilabel> and clicking <guilabel>Export
+DCP decryption certificate...</guilabel> in the <guilabel>Keys</guilabel>
+tab.
+
+</para>
+
+</section>
+
+<section>
+<title>Encryption keys</title>
+
+<para>
+  You must be careful when using encryption not to lose important keys.
+</para>
+
+<para>
+If you are making KDMs from a DCP-o-matic film you
+<emphasis>must</emphasis> ensure that you have a backup of the
+<code>metadata.xml</code> file from the project, as well as the DCP
+itself.
+</para>
+
+<para>
+If you are using a DKDM you <emphasis>must</emphasis> ensure that you
+have a backup of DCP-o-matic's <code>config.xml</code> file, since it
+contains the only key which can decrypt the DKDM.  The
+<code>config.xml</code> file location depends on your operating
+system; possible locations are listed in <xref linkend="ch-config"/>
 </para>
 
 </section>
 
+<section>
+<title>Encryption overview</title>
+
+<figure id="fig-encryption-overview">
+  <title>Overview of encryption</title>
+  <mediaobject>
+    <imageobject>
+      <imagedata fileref="diagrams/crypt&dia;"/>
+    </imageobject>
+  </mediaobject>
+</figure>
+
+</section>
 </chapter>
 
 
@@ -1931,15 +2357,10 @@ DCP-o-matic provides a few preferences which can be used to modify its
 behaviour.  This chapter explains those options.
 </para>
 
-
-<!-- ============================================================== -->
-<section>
-<title>The preferences dialogue</title>
-
 <para>
-The preferences dialogue is opened by choosing
+Preferences can be edited by choosing
 <guilabel>Preferences...</guilabel> from the <guilabel>Edit</guilabel>
-menu.  The dialogue is split into seven tabs.
+menu.  This opens a dialogue which is split into seven tabs.
 </para>
 
 <!-- ============================================================== -->
@@ -1981,7 +2402,7 @@ read about how to contribute a translation.
 
 <!-- ============================================================== -->
 <section>
-<title>Threads</title>
+<title>Number of threads DCP-o-matic should use</title>
 
 <para>
 When DCP-o-matic is encoding DCPs it can use multiple parallel threads
@@ -1993,6 +2414,77 @@ to set this up correctly when you run it for the first time.
 
 </section>
 
+
+<!-- ============================================================== -->
+<section>
+<title>Number of threads DCP-o-matic encode server should use</title>
+
+<para>
+This is the number of threads that the encode server should use when
+it is running and helping another copy of DCP-o-matic to speed up its
+encode.
+</para>
+
+</section>
+
+
+<!-- ============================================================== -->
+<section>
+<title>Configuration file</title>
+
+<para>
+This is the location of DCP-o-matic's configuration file on disk.  You
+can use this to share configuration between several copies of
+DCP-o-matic, across a network share, for instance.
+</para>
+</section>
+
+<!-- ============================================================== -->
+<section>
+<title>Cinema and screen database file</title>
+
+<para>
+This option allows you to change the file that DCP-o-matic uses to
+store details of the cinemas and screens used to make KDMs.
+</para>
+</section>
+
+
+<!-- ============================================================== -->
+<section>
+<title>Play sound via</title>
+
+<para>
+The checkbox to the left of <guilabel>Play sound</guilabel> enables or
+disables DCP-o-matic use of sound.  On some machines there will be
+multiple options in the drop-down menu to decide how the sound should
+be played.
+</para>
+</section>
+
+<!-- ============================================================== -->
+<section>
+<title>Integrated loudness</title>
+
+<para>
+If <guilabel>Find integrated loudness, true peak and loudness range
+when analysing audio</guilabel> is ticked, DCP-o-matic will do extra
+work when analysing audio.  Leave this ticked if the extra parameters
+are useful to you.  If not, untick it and audio analysis will be
+faster.
+</para>
+
+</section>
+
+<!-- ============================================================== -->
+<section>
+<title>Automatically analyse content audio</title>
+
+<para>
+If this checkbox is ticked an audio analysis will be run whenever content is added that contains sound.
+</para>
+</section>
+
 <!-- ============================================================== -->
 <section>
 <title>Updates</title>
@@ -2087,7 +2579,7 @@ name or IP address of the server to use.
 <title>Keys</title>
 
 <para>
-The Keys tab (shown in <xref linkend="fig-prefs-keys"/>) holds options
+The Keys tab (shown in <xref linkend="fig-prefs-keys"/>) has controls
 related to the keys and certificates used in some parts of DCP
 creation.
 </para>
@@ -2102,9 +2594,43 @@ creation.
 </figure>
 
 <para>
-At the top of the tab is the chain of certificates that will be used
-to sign DCPs and KDMs.  DCP-o-matic creates a random chain when you
-first run it and if you are happy to use this chain you can ignore the
+<guilabel>Export KDM decryption certificate...</guilabel> allows you
+to save the certificate that DCP-o-matic uses when decrypting KDMs
+that you give it.  Use this option if somebody wants to make a KDM for
+you and asks for your certificate.
+</para>
+
+<para>
+<guilabel>Export KDM decryption chain...</guilabel> exports the whole
+KDM decryption chain rather than just its certificate.  This may also
+be requested by KDM creators.
+</para>
+
+<para>
+<guilabel>Export all KDM decryption settings...</guilabel> exports a
+file which contains all the DCP-o-matic settings related to the use of
+KDMs supplied by other people.  Use this button and <guilabel>Import
+all KDM decryption settings...</guilabel> to transfer settings between
+different copies of DCP-o-matic so that they can both use the same
+KDMs.
+</para>
+
+<para>
+The two <guilabel>Advanced...</guilabel> buttons open advanced
+dialogue boxes for detailed manipulation of DCP-o-matic's certificate
+chains.
+</para>
+
+</section>
+
+<section>
+<title>Advanced keys settings</title>
+
+<para>
+At the top of the <guilabel>Advanced</guilabel> dialogue for signing
+DCPs and KDMs is the chain of certificates that will be used to sign
+DCPs and KDMs.  DCP-o-matic creates a random chain when you first run
+it and if you are happy to use this chain you can ignore the
 preferences.  Otherwise, you can add or remove certificates from the
 chain using the <guilabel>Add...</guilabel> and
 <guilabel>Remove</guilabel> buttons.
@@ -2126,24 +2652,30 @@ corresponds to the public key held in the leaf certificate.
 </para>
 
 <para>
-Underneath the details of the certificate chain and private key for
-signing of DCPs and KDMs is a second chain and key which is used by
+At the top of the <guilabel>Advanced</guilabel> dialogue for decrypting DCPs is the chain and key which is used by
 DCP-o-matic when you import an encrypted DCP as a piece of content.
 The leaf certificate of this chain contains the public key that should
 be used when targeting a KDM at DCP-o-matic.
 </para>
 
+
 <para>
 If you want to import an encrypted DCP you will need to give the
 decryption certificate to the distributor of the DCP so that they can
 generate a DKDM for you.  You can save this certificate to disk by
-clicking <guilabel>Export DCP decryption certificate</guilabel>.  As
-with the signing chain, DCP-o-matic will create a certificate chain
+clicking <guilabel>Export DCP decryption certificate...</guilabel>.
+As with the signing chain, DCP-o-matic will create a certificate chain
 and private key for you.  You can also choose to load your own
 certificates and key or re-make the chain and key with new, random
 values.
 </para>
 
+<para>
+Clicking <guilabel>Export DCP decryption chain...</guilabel> will
+export the whole certificate chain, rather than just the leaf
+certificate.
+</para>
+
 </section>
 
 <!-- ============================================================== -->
@@ -2248,6 +2780,68 @@ The <guilabel>Reset to default text</guilabel> will replace the current KDM emai
 </section>
 
 
+<!-- ============================================================== -->
+<section>
+<title>Cover sheet</title>
+
+<para>
+The DCP cover sheet configuration is shown in <xref linkend="fig-prefs-cover-sheet"/>.
+</para>
+
+<figure id="fig-prefs-cover-sheet">
+  <title>DCP cover sheet preferences</title>
+  <mediaobject>
+    <imageobject>
+      <imagedata fileref="screenshots/prefs-cover-sheet&scs;"/>
+    </imageobject>
+  </mediaobject>
+</figure>
+
+<para>
+This is a template for the cover sheet that is written next to every DCP that DCP-o-matic creates.  You can change it to say whatever you like.  A few
+&lsquo;magic&rsquo; strings will be replaced by information from the
+DCP that has been made:
+</para>
+
+<table>
+<title>&lsquo;Magic&rsquo; Cover sheet strings</title>
+<tgroup cols='2' align='left' colsep='1' rowsep='1'>
+<tbody>
+<row>
+<entry><code>$CPL_NAME</code></entry><entry>DCP title</entry>
+</row>
+<row>
+<entry><code>$TYPE</code></entry><entry>DCP content type (e.g. feature, trailer...)</entry>
+</row>
+<row>
+<entry><code>$CONTAINER</code></entry><entry>The container ratio (e.g. flat, scope...)</entry>
+</row>
+<row>
+<entry><code>$AUDIO</code></entry><entry>Details of the audio channels</entry>
+</row>
+<row>
+<entry><code>$AUDIO_LANGUAGE</code></entry><entry>Audio language</entry>
+</row>
+<row>
+<entry><code>$SUBTITLE_LANGUAGE</code></entry><entry>Subtitle language</entry>
+</row>
+<row>
+<entry><code>$LENGTH</code></entry><entry>DCP length in hours, minutes and seconds</entry>
+</row>
+<row>
+<entry><code>$SIZE</code></entry><entry>DCP size in gigabytes</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+
+<para>
+The <guilabel>Reset to default text</guilabel> will replace the current cover sheet with DCP-o-matic's default.
+</para>
+
+</section>
+
+
 <!-- ============================================================== -->
 <section xml:id="sec-prefs-advanced">
 <title>Advanced</title>
@@ -2283,7 +2877,15 @@ this unticked for normal use.
 <para>
 <guilabel>Only servers encode</guilabel> makes DCP-o-matic encode
 JPEG2000 data only on encoding servers and not on the host.  We
-suggest you leave this un-ticked unless you have a good reason to do otherwise.
+suggest you leave this unticked unless you have a good reason to do otherwise.
+</para>
+
+<para>
+With the filename format fields you can adjust the filenames that are
+used for metadata (CPL and PKL files) and assets (MXF and subtitle
+files).  Below each field there is a list of the &lsquo;magic&rsquo;
+values that you can use in the format and an example of a filename
+that you might see with your current settings.
 </para>
 
 <para>
@@ -2296,13 +2898,12 @@ as this makes the log files useful for tracking down bugs.
 
 <para>
 The <guilabel>Timing</guilabel> checkbox will enable extra log entries
-to allow developers to investigate and optimize the speed of
+to allow developers to investigate and optimise the speed of
 DCP-o-matic.  It will significantly increase the size of the log files
 that are generated, so in normal use it is best to leave this
 unticked.
 </para>
 
-</section>
 </section>
 </chapter>
 
@@ -2430,6 +3031,7 @@ purposes.
 </chapter>
 
 
+<!-- ============================================================== -->
 <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en" xml:id="ch-servers">
 <title>Encoding servers</title>
 
@@ -2587,13 +3189,168 @@ operation is interrupted and DCP-o-matic must resume it.</listitem>
 Following this is the DCP itself:
 <code>DCP-TEST_EN-XX_UK-U_51_2K_CSY_20130218_CSY_OV</code>.  This
 contains some small XML files, which describe the DCP, and two large
-MXF files, which contain the DCP's audio and video data.  This folder
+MXF files, which contain the DCP's audio and video data.  It may also
+contain subtitles in either XML or MXF format.  This folder
 (<code>DCP-TEST_EN-XX_...</code>) is what you should ingest, or pass
 to the cinema which is showing your DCP.
 </para>
 
 </chapter>
 
+
+<chapter>
+  <title>Command-line tools</title>
+
+  <para>
+    DCP-o-matic includes some tools which allow DCP creation from the
+    command line or from scripting languages.  This chapter covers the
+    use of those tools.
+  </para>
+
+  <para>
+    There are three command-line tools in DCP-o-matic.
+    <code>dcpomatic2_create</code> creates film directories, with the
+    associated metadata, from a list of content files.  Then
+    <code>dcpomatic2_cli</code> runs the transcode process on these
+    film directories.  Finally, <code>dcpomatic2_kdm_cli</code> can be
+    used to create KDMs.
+  </para>
+
+  <para>
+    Some applications will benefit from setting up the films using the
+    main DCP-o-matic GUI and then using <code>dcpomatic2_cli</code> to
+    do the encode.  This allows, for example, setup on a relatively
+    low-powered machine before running the encode on a higher-powered
+    headless server.
+  </para>
+
+  <section>
+    <title><code>dcpomatic2_create</code></title>
+
+    <para>
+      The syntax for <code>dcpomatic2_create</code> is:
+    </para>
+
+    <para>
+      <code>dcpomatic2_create [OPTION] [CONTENT] [&lt;CONTENT&gt; ...]</code>
+    </para>
+
+    <para>
+      <code>[CONTENT]</code> are the files or folders that you want to use in the
+      DCP. They can be:
+      <itemizedlist>
+       <listitem>&lsquo;Movie&rsquo; files in almost any common format (e.g. MP4, MOV, MKV, etc.)</listitem>
+       <listitem>A folder containing and image sequence in almost any common format (e.g. TIFF, DPX etc.)</listitem>
+       <listitem>Sound files (e.g. WAV, MP3, AIFF)</listitem>
+       <listitem>Subtitles files (e.g. <code>.srt</code>, DCP XML, <code>.ssa</code> etc.)</listitem>
+      </itemizedlist>
+    </para>
+
+    <para>
+      The options are:
+    </para>
+
+    <itemizedlist>
+      <listitem><code>-v</code>, <code>--version</code> &#8212; show DCP-o-matic version</listitem>
+      <listitem><code>-h</code>, <code>--help</code> &#8212; show this help</listitem>
+      <listitem><code>-n</code>, <code>--name</code> &#8212; &lt;name&gt; film name</listitem>
+      <listitem><code>-t, --template &lt;name&gt;</code> &#8212; template name</listitem>
+      <listitem><code>-c, --dcp-content-type &lt;type&gt;</code> &#8212; FTR, SHR, TLR, TST, XSN, RTG, TSR, POL, PSA or ADV</listitem>
+      <listitem><code>--container-ratio &lt;ratio&gt;</code> &#8212; 119, 133, 137, 138, 166, 178, 185 or 239</listitem>
+      <listitem><code>--content-ratio &lt;ratio&gt;</code> &#8212; 119, 133, 137, 138, 166, 178, 185 or 239</listitem>
+      <listitem><code>-s, --still-length &lt;n&gt;</code> &#8212; number of seconds that still content should last</listitem>
+      <listitem><code>--standard &lt;standard&gt;</code> &#8212; SMPTE or interop (default SMPTE)</listitem>
+      <listitem><code>--no-use-isdcf-name&gt;</code> &#8212; do not use an ISDCF name; use the specified name unmodified</listitem>
+      <listitem><code>--no-sign</code>&#8212; do not sign the DCP</listitem>
+      <listitem><code>-o</code>, <code>--output &lt;dir&gt;</code> &#8212; output directory</listitem>
+    </itemizedlist>
+
+    <para>
+      For example, to setup a film using a MP4 file you might do:
+    </para>
+
+    <para>
+      <code>dcpomatic2_create -o my_film --container-ratio 185 --content-ratio 185 -c FTR -n "My Film" Stuff.mp4</code>
+    </para>
+
+    <para>
+      This will create a folder called <code>my_film</code> which is ready for a DCP to be made by <code>dcpomatic2_cli</code>.
+    </para>
+
+    <para>
+      <code>dcpomatic2_create</code> will use any default settings that you have configured in the main DCP-o-matic preferences.
+    </para>
+  </section>
+
+  <section>
+    <title><code>dcpomatic2_cli</code></title>
+
+    <para>
+      The syntax for <code>dcpomatic2_cli</code> is:
+    </para>
+
+    <para>
+      <code>dcpomatic2_cli [OPTION] [FILM]</code>
+    </para>
+
+    <para>
+      <itemizedlist>
+       <listitem><code>-v</code>, <code>--version</code> &#8212; show DCP-o-matic version</listitem>
+       <listitem><code>-h</code>, <code>--help</code> &#8212; show this help</listitem>
+       <listitem><code>-f</code>, <code>--flags</code> &#8212; show flags passed to C++ compiler on build</listitem>
+       <listitem><code>-n</code>, <code>--no-progress</code> &#8212; do not print progress to stdout</listitem>
+       <listitem><code>-r</code>, <code>--no-remote</code> &#8212; do not use any remote servers</listitem>
+       <listitem><code>-t</code>, <code>--threads</code> &#8212; specify number of local encoding threads (overriding configuration)</listitem>
+       <listitem><code>-j</code>, <code>--json</code> &lt;port&gt; &#8212; run a JSON server on the specified port</listitem>
+       <listitem><code>-k</code>, <code>--keep-going</code> &#8212; keep running even when the job is complete</listitem>
+       <listitem><code>-s</code>, <code>--servers</code> &#8212; just display a list of encoding servers that DCP-o-matic is configured to use; don't encode</listitem>
+       <listitem><code>-d</code>, <code>--dcp-path</code> &#8212; echo DCP's path to stdout on successful completion (implies -n)</listitem>
+       <listitem><code>--dump</code> &#8212; just dump a summary of the film's settings; don't encode</listitem>
+      </itemizedlist>
+    </para>
+
+    <para>
+      For example, to encode a film called <code>my_film</code> you might do:
+    </para>
+
+    <para>
+      <code>dcpomatic2_cli my_film</code>
+    </para>
+  </section>
+
+  <section>
+    <title><code>dcpomatic2_kdm_cli</code></title>
+
+    <para>
+      The syntax for <code>dcpomatic2_kdm_cli</code> is:
+    </para>
+
+    <para>
+      <code>dcpomatic2_kdm_cli [OPTION] &lt;FILM|CPL-ID&gt;</code>
+    </para>
+
+    <para>
+      <itemizedlist>
+       <listitem><code>-o</code>, <code>--output</code> &#8212; output file or directory</listitem>
+       <listitem><code>-f</code>, <code>--valid-from</code> &#8212; valid from time (in local time zone of the cinema) (e.g. "2013-09-28 01:41:51") or "now"</listitem>
+       <listitem><code>-t</code>, <code>--valid-to</code> &#8212; valid to time (in local time zone of the cinema) (e.g. "2014-09-28 01:41:51")</listitem>
+       <listitem><code>-d</code>, <code>--valid-duration</code> &#8212; valid duration (e.g. "1 day", "4 hours", "2 weeks")</listitem>
+       <listitem><code>--formulation</code> &#8212; modified-transitional-1, dci-any or dci-specific [default modified-transitional-1]</listitem>
+       <listitem><code>-z</code>, <code>--zip</code> &#8212; ZIP each cinema's KDMs into its own file</listitem>
+       <listitem><code>-v</code>, <code>--verbose</code> &#8212; be verbose</listitem>
+       <listitem><code>-c</code>, <code>--cinema</code> &#8212; specify a cinema, either by name or email address</listitem>
+       <listitem><code>--certificate</code> &#8212; file containing projector certificate</listitem>
+       <listitem><code>--cinemas</code> &#8212; list known cinemas from the DCP-o-matic settings</listitem>
+       <listitem><code>--dkdm-cpls</code> &#8212; list CPLs for which DCP-o-matic has DKDMs</listitem>
+      </itemizedlist>
+    </para>
+
+  </section>
+</chapter>
+
+
+
+<!-- ============================================================== -->
 <chapter>
 <title>Loose ends</title>
 
@@ -2628,4 +3385,200 @@ hashes.
 
 </chapter>
 
+<!-- ============================================================== -->
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
+<title>Common tasks</title>
+
+<para>
+This chapter describes how to carry out some commonly-required tasks
+with DCP-o-matic.  The full details are elsewhere in the manual: here
+we just discuss different approaches to these tasks and how to carry
+them out.
+</para>
+
+<section>
+<title>Adding subtitles to an existing DCP</title>
+
+<para>
+You have three options:
+</para>
+
+<itemizedlist>
+<listitem>Make a &ldquo;Version File&rdquo; (VF) DCP.</listitem>
+<listitem>Make a complete DCP with projector-added subtitles.</listitem>
+<listitem>Make a complete DCP with burnt-in subtitles.</listitem>
+</itemizedlist>
+
+<para>
+Making a VF DCP is usually the best option.  This will be a very small
+DCP which contains only the subtitles: it refers to your existing DCP
+for the picture and sound.  The projectionist will ingest both the
+existing and VF DCPs and play back the VF.  The advantages of this
+approach are that the VF is very quick to generate, and small in size,
+making it easy to distribute.  This is especially useful if you have
+to make VF DCPs in many different languages.
+</para>
+
+<para>
+Making a complete DCP with projector-added subtitles gives you a new,
+single DCP which the projectionist can ingest and play.  It will be
+the same size as your existing DCP, and fairly quick to create.  This
+approach relies on the projector (or server) to create the subtitles
+and overlay them on the image, which mostly works well but is not
+100&percnt; reliable.
+</para>
+
+<para>
+Making a complete DCP with burnt-in subtitles gives you a new, single DCP
+but with the subtitles rendered by DCP-o-matic and copied into your
+image.  This is slower to create than a DCP with projector-added
+subtitles as every video frame with a subtitle must be re-encoded.
+The advantage of this approach is that it is less likely to go wrong,
+especially if you are using unusual subtitle positioning or character
+sets.
+</para>
+
+<section>
+<title>Making a VF DCP</title>
+
+<itemizedlist>
+<listitem>Start a new DCP-o-matic film.</listitem>
+<listitem>Click <guilabel>Add folder...</guilabel> and specify your existing DCP's folder.</listitem>
+<listitem>Go to the <guilabel>DCP</guilabel> tab and choose <guilabel>Split by video content</guilabel> for <guilabel>Reel type</guilabel>.</listitem>
+<listitem>Go to the <guilabel>Video</guilabel> and
+<guilabel>Audio</guilabel> tabs in turn and tick the <guilabel>Use this DCP's audio as OV and make VF</guilabel> checkboxes.</listitem>
+<listitem>Add your subtitles to the film in whatever format you have.</listitem>
+<listitem>Check the subtitle appearance in the preview; it will be
+slow to respond as it is having to decompress images from the existing
+DCP.</listitem>
+<listitem>Choose <guilabel>Make DCP</guilabel> from the menu.</listitem>
+</itemizedlist>
+
+</section>
+
+<section>
+<title>Making a complete DCP with projector-added subtitles</title>
+
+<itemizedlist>
+<listitem>Start a new DCP-o-matic film.</listitem>
+<listitem>Click <guilabel>Add folder...</guilabel> and specify your existing DCP's folder.</listitem>
+<listitem>Add your subtitles to the film in whatever format you have.</listitem>
+<listitem>Check the subtitle appearance in the preview; it will be
+slow to respond as it is having to decompress images from the existing
+DCP.  Adjust the appearance using controls in the
+<guilabel>Subtitle</guilabel> tab if required.</listitem>
+<listitem>Choose <guilabel>Make DCP</guilabel> from the menu.</listitem>
+</itemizedlist>
+
+</section>
+
+<section>
+<title>Making a complete DCP with burnt-in subtitles</title>
+
+<itemizedlist>
+<listitem>Start a new DCP-o-matic film.</listitem>
+<listitem>Click <guilabel>Add folder...</guilabel> and specify your existing DCP's folder.</listitem>
+<listitem>Add your subtitles to the film in whatever format you have.</listitem>
+<listitem>Go to the <guilabel>Subtitle</guilabel> tab and tick the <guilabel>Burn subtitles into image</guilabel> checkbox.</listitem>
+<listitem>Check the subtitle appearance in the preview; it will be
+slow to respond as it is having to decompress images from the existing
+DCP.  Adjust the appearance using controls in the
+<guilabel>Subtitle</guilabel> tab if required.</listitem>
+<listitem>Choose <guilabel>Make DCP</guilabel> from the menu.</listitem>
+</itemizedlist>
+
+</section>
+</section>
+
+<section>
+<title>Adding soundtracks or subtitles in different languages</title>
+
+<para>
+If you have a film that is to be dubbed or subtitled in several
+languages, the best approach with DCP-o-matic is as follows:
+</para>
+
+<itemizedlist>
+<listitem>Make a DCP with the common elements (perhaps just the video, or maybe the video and sound); this is known as the Original Version (OV).</listitem>
+<listitem>For each language, make a new Version File (VF) DCP which refers to the OV.</listitem>
+</itemizedlist>
+
+<para>
+Once you have done this, you send the OV DCP to every cinema and then
+the appropriate VF to each cinema depending on what language they want
+to play the film in.  The projectionist ingests both DCPs and then plays the VF.
+</para>
+
+<para>
+The advantage of this approach is that the VF DCPs are much smaller
+than the OV since they only have the language-specific parts.  If you
+are just changing the subtitles you can often ship the OV by normal
+transport means (e.g. a hard drive or high-speed download) and send
+the VF by email.
+</para>
+
+<para>
+The full details of OV and VF files are discussed in <xref linkend="sec-overlay"/>.  The steps can be summarised as follows:
+</para>
+
+<itemizedlist>
+<listitem>Create a new DCP-o-matic project for the OV, as normal, adding video and perhaps sound.  Make the DCP.</listitem>
+<listitem>Create a new DCP-o-matic project for the VF.</listitem>
+<listitem>Use <guilabel>Add folder...</guilabel> to add your OV DCP to the project.</listitem>
+<listitem>Select the video tab and tick <guilabel>Use this DCP's video as OV and make VF</guilabel> (you may need to select <guilabel>By video content</guilabel> for <guilabel>Reel type</guilabel> in the <guilabel>DCP</guilabel> tab).</listitem>
+<listitem>Do the same in the <guilabel>Audio</guilabel> tab if your OV has audio.</listitem>
+<listitem>Add your language-specific audio and/or subtitles and Make DCP.</listitem>
+</itemizedlist>
+
+</section>
+
+</chapter>
+
+<chapter xml:id="ch-player" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
+  <title>Playing DCPs</title>
+
+  <para>DCP-o-matic includes a DCP player, and although it requires a
+  very high-speed CPU to play DCPs in full resolution, it can also
+  play DCPs at reduced resolutions with slower CPUs.</para>
+
+  <para>To use the player, start <guilabel>DCP-o-matic
+  Player</guilabel>, and load a DCP using the
+  <guilabel>Open</guilabel> option on the <guilabel>File</guilabel>
+  menu.</para>
+
+  <para>If you load a VF and/or encrypted DCP you can add your OV
+  and/or KDM using the appropriate options on the
+  <guilabel>File</guilabel> menu.</para>
+
+  <para>During playback the <guilabel>Performance</guilabel> area at
+  the bottom right of the window will give details of how many frames
+  are being dropped; these are frames that were not decoded from the
+  DCP quickly enough.  If this number is high you can increase
+  performance at the cost of rendering quality by choosing an option
+  from the <guilabel>View</guilabel> menu.  If you set the player to
+  decode at less than full resolution the DCP's data will be decoded
+  at this lower resolution, which is quicker than decoding at full
+  resolution.
+  </para>
+
+</chapter>
+
+<!-- ============================================================== -->
+<chapter xml:id="ch-config" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
+<title>Configuration files</title>
+
+<para>Most of DCP-o-matic's configuration is stored in an XML file called <code>config.xml</code>.  This is stored in different places depending on your operating system:</para>
+
+<itemizedlist>
+  <listitem>Windows: <code>c:\Users\your_user_name\AppData\Local\dcpomatic</code></listitem>
+  <listitem>OS X: <code>/Users/your_user_Name/Library/Preferences/com.dcpomatic/2</code></listitem>
+  <listitem>Linux: <code>~/.config/dcpomatic2</code></listitem>
+</itemizedlist>
+
+<para>Possible XML tags are as follows:</para>
+
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="config.xml"/>
+
+</chapter>
+
 </book>