Add section on multiple soundtracks to the manual.
[dcpomatic.git] / doc / manual / dcpomatic.xml
index 0200cf26e4a9fd6335d351735556001264aaa5f0..f2c378e8ad6b1d1796a17e15cb6951a7b4a03fe6 100644 (file)
 ]>
 <book xmlns="http://docbook.org/ns/docbook" xmlns:mml="http://www.w3.org/1998/Math/MathML" version="5.0" xml:lang="en">
 
-<!-- By good luck or good management, the scale parameter to imagedata
-     appears only to affect PDF output.  HTML scaling is done in the
-     Makefile.
--->
-
 <bookinfo>
 <title>DCP-o-matic users' manual</title>
 <author><firstname>Carl</firstname><surname>Hetherington</surname></author>
@@ -34,8 +29,8 @@ Hello, and welcome to DCP-o-matic!
 <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 DVDs, Blu-Rays, video files such as MP4
-and AVI, or still images.  The resulting DCPs will play on modern 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>
 
@@ -63,6 +58,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>
 
@@ -92,6 +101,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>
 
 
@@ -103,47 +118,65 @@ version.
 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
+click to open it.  Then drag the DCP-o-matics icon to your
 <guilabel>Applications</guilabel> folder or wherever else you would
 like to install it.
 </para>
 
+<para>
+You do not have to install all the applications, but you must always
+install <code>DCP-o-matic 2.app</code> as the other applications
+depend on it.
+</para>
+
 </section>
 
+<!-- ============================================================== -->
 <section>
-<title>Ubuntu Linux</title>
+<title>Debian or Ubuntu Linux</title>
 
 <para>
-You can install DCP-o-matic on Ubuntu 12.04 (&lsquo;Precise
-Pangolin&rsquo;), 14.04 (&lsquo;Trusty Tahr&rsquo;) or 15.04
-(&lsquo;Vivid Vervet&rsquo;) using <code>.deb</code> packages:
-download the appropriate package from <ulink
-url="http://dcpomatic.com/">http://dcpomatic.com/</ulink> and
-double-click it.  Ubuntu will install the necessary bits and pieces
-and set DCP-o-matic up for you.
+  You can install DCP-o-matic on:
 </para>
 
+<itemizedlist>
+  <listitem>Debian 7 (&lsquo;wheezy&rsquo;)</listitem>
+  <listitem>Debian 8 (&lsquo;jessie&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 16.04 (&lsquo;Xenial Xerus&rsquo;)</listitem>
+</itemizedlist>
+
+<para>
+using <code>.deb</code> packages: download the appropriate package
+from <ulink url="http://dcpomatic.com/">http://dcpomatic.com/</ulink>
+and double-click it.  Debian or Ubuntu will install the necessary bits and
+pieces and set DCP-o-matic up for you.
+</para>
 </section>
+<!-- ============================================================== -->
 
 
 <!-- ============================================================== -->
 <section>
-<title>Debian Linux</title>
-<para>
-Packages are available for Debian 7 (squeeze), 8 (jessie) and unstable (sid) from <ulink
-url="http://dcpomatic.com/">http://dcpomatic.com/</ulink>.
-</para>
+  <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>
+<!-- ============================================================== -->
 
 
 <!-- ============================================================== -->
 <section>
-<title>Centos Linux</title>
-<para>
-Packages are available for Centos 6.5 and 7 from <ulink
-url="http://dcpomatic.com/">http://dcpomatic.com/</ulink>.
-</para>
+  <title>Centos Linux</title>
+  <para>There are <code>.rpm</code> packages for Centos 5, 6.5 and 7 on
+  <ulink url="http://dcpomatic.com/">http://dcpomatic.com/</ulink>
+  </para>
 </section>
+<!-- ============================================================== -->
 
 
 <!-- ============================================================== -->
@@ -163,10 +196,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>
@@ -174,6 +207,7 @@ The following dependencies are required:
 <itemizedlist>
 <listitem><ulink url="http://ffmpeg.org/">FFmpeg</ulink></listitem>
 <listitem><ulink url="http://www.mega-nerd.com/libsndfile/">libsndfile</ulink></listitem>
+<listitem><ulink url="http://www.mega-nerd.com/SRC/">libsamplerate</ulink></listitem>
 <listitem><ulink url="http://www.openssl.org/">OpenSSL</ulink></listitem>
 <listitem><ulink url="http://www.openjpeg.org/">libopenjpeg</ulink></listitem>
 <listitem><ulink url="http://www.imagemagick.org/script/index.php">ImageMagick</ulink></listitem>
@@ -185,8 +219,10 @@ 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/software/libdcp/">libdcp</ulink></listitem>
-<listitem><ulink url="http://carlh.net/software/libcxml/">libcxml</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="http://site.icu-project.org">libicu</ulink></listitem>
 </itemizedlist>
 </para>
 
@@ -222,10 +258,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>
 
@@ -237,7 +273,7 @@ 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
+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>
@@ -253,11 +289,11 @@ shown in <xref linkend="fig-file-new"/>.
 </para>
 
 <figure id="fig-file-new">
-  <title>Creating a new film</title> 
+  <title>Creating a new film</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata fileref="screenshots/file-new&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -267,11 +303,11 @@ linkend="fig-video-new-film"/>.
 </para>
 
 <figure id="fig-video-new-film">
-  <title>Dialogue box for creating a new film</title> 
+  <title>Dialogue box for creating a new film</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata fileref="screenshots/video-new-film&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -301,21 +337,21 @@ select the content file to use, as shown in <xref
 linkend="fig-video-select-content-file"/>.
 </para>
 
-<figure id="fig-add-file"> 
-  <title>Adding content files</title> 
+<figure id="fig-add-file">
+  <title>Adding content files</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata fileref="screenshots/add-file&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
-<figure id="fig-video-select-content-file"> 
-  <title>Selecting a video content file</title> 
+<figure id="fig-video-select-content-file">
+  <title>Selecting a video content file</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata fileref="screenshots/video-select-content-file&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -331,12 +367,12 @@ has finished), you can look through your content using the slider to
 the right of the window, as shown in <xref linkend="fig-examine-content"/>.
 </para>
 
-<figure id="fig-examine-content"> 
+<figure id="fig-examine-content">
   <title>Examining the content</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata fileref="screenshots/examine-content&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -379,9 +415,9 @@ linkend="fig-making-dcp"/>.
 <figure id="fig-making-dcp">
   <title>Making the DCP</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata scale="50" fileref="screenshots/making-dcp&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -393,8 +429,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>
@@ -405,7 +441,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
@@ -414,18 +450,18 @@ 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"/>.
 </para>
 
-<figure id="fig-still-new-film"> 
-  <title>Dialogue box for creating a new film</title> 
+<figure id="fig-still-new-film">
+  <title>Dialogue box for creating a new film</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata fileref="screenshots/still-new-film&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -436,29 +472,29 @@ For our example, we will add a single image file, as shown in <xref
 linkend="fig-still-select-content-file"/>.
 </para>
 
-<figure id="fig-still-select-content-file"> 
-  <title>Selecting a still content file</title> 
+<figure id="fig-still-select-content-file">
+  <title>Selecting a still content file</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata fileref="screenshots/still-select-content-file&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </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>
 
-<figure id="fig-timing-tab"> 
+<figure id="fig-timing-tab">
   <title>The timing tab</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata fileref="screenshots/timing-tab&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -471,13 +507,195 @@ 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>
 
 </chapter>
 
 
+<!-- ============================================================== -->
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
+<title>Manipulating existing DCPs</title>
+
+<para>
+Frequently DCP-o-matic is used to take content in formats such as MP4
+and convert it to JPEG2000 for a DCP.  It can also be used
+to take existing DCPs and modify them in various ways.
+</para>
+
+<section>
+<title>Importing a DCP into DCP-o-matic</title>
+
+<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
+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), in other words it refers to
+another DCP's assets, you should import it as follows:
+</para>
+
+<itemizedlist>
+<listitem>Use <guilabel>Add folder...</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>
+<title>Decrypting encrypted DCPs</title>
+
+<para>
+DCPs can be encrypted (see <xref linkend="ch-encryption"/> for
+details).  If you import an encrypted DCP you will need a key, in the
+form of a Key Delivery Message (KDM), to decrypt it.
+</para>
+
+<para>
+KDMs must be prepared by the organisation which created the DCP.  They
+contain the keys to decrypt the DCP wrapped up in such a way that only
+the intended recipient can read them.  You will need to provide the
+organisation with a certificate which identifies your copy of
+DCP-o-matic and allows them to create a KDM for you.
+</para>
+
+<para>
+To get DCP-o-matic's decryption certificate, open the Preferences
+dialogue (see <xref linkend="ch-preferences"/>) and go to the
+<guilabel>Keys</guilabel> tab.  Click the <guilabel>Export DCP
+decryption certificate...</guilabel> button at the bottom of this tab
+and save the certificate.  Send this certificate to the DCP creators
+and they can create a KDM to allow DCP-o-matic to decrypt their DCP.
+</para>
+
+<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.
+</para>
+
+</section>
+
+
+<section>
+<title>Making a DCP from a DCP</title>
+
+<para>
+In many ways, using DCPs as <emphasis>content</emphasis> in
+DCP-o-matic is the same as using any other content.  There are a few
+things to note, though.
+</para>
+
+
+<section>
+<title>Re-use of existing data</title>
+
+<para>
+Where possible DCP-o-matic will re-use existing JPEG2000-compressed
+data from DCP content without modification.  This has the advantage
+that creation of the new DCP will be quick, as the time-consuming
+JPEG2000 encoding is not necessary.
+</para>
+
+<para>
+DCP-o-matic can do this if you <emphasis>avoid</emphasis> changes to
+the following content settings:
+</para>
+
+<itemizedlist>
+<listitem>Crop</listitem>
+<listitem>Scaling</listitem>
+<listitem>Subtitle burn-in</listitem>
+<listitem>Fades</listitem>
+<listitem>Colour conversion</listitem>
+</itemizedlist>
+
+<para>
+If you do change any of these settings on a piece of DCP content
+DCP-o-matic will decode and then re-encode the JPEG2000 data.
+</para>
+
+</section>
+
+
+<section xml:id="sec-overlay">
+<title>Making overlay files</title>
+
+<para>
+With its default settings, DCP-o-matic will take any data from DCP
+content and copy it into the DCP that it creates.  See <xref linkend="fig-dcp-copy"/>.
+</para>
+
+<figure id="fig-dcp-copy">
+<title>Creating a new DCP by copying an existing one</title>
+<mediaobject><imageobject><imagedata scale="100" fileref="diagrams/dcp-copy&dia;"/></imageobject></mediaobject>
+</figure>
+
+<para>
+This can be inefficient in some cases.  Consider, for example, a film
+which has ten different translations for which the subtitles are
+different but video and audio are the same.  If the video and audio
+content takes up, say, 100Gb this means that the set of DCPs for every
+translation would be about 1Tb with a lot of duplicated data.
+</para>
+
+<para>
+The DCP format has a solution to this problem.  One DCP can refer to
+the &lsquo;assets&rsquo; (picture, sound or subtitle) of another DCP.
+For our translation example this means that we could have a
+&lsquo;base&rsquo; DCP (often called the OV or Original Version)
+containing video, audio and one set of subtitles and then any number
+of overlay DCPs (often called VF or Version Files) which refer to the
+base version and replace the original subtitles with their own.  <xref
+linkend="fig-dcp-refer"/> shows this principle for one of our
+translations.  The DCP that we make refers to the original content
+DCP's video and audio rather than containing a copy.
+</para>
+
+<figure id="fig-dcp-refer">
+<title>Creating a new DCP by referring to an existing one</title>
+<mediaobject><imageobject><imagedata scale="100" fileref="diagrams/dcp-refer&dia;"/></imageobject></mediaobject>
+</figure>
+
+<para>
+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>Refer to existing DCP</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>Refer to existing DCP</guilabel> then select the <guilabel>Audio</guilabel> tab and do the same.</listitem>
+<listitem>Do <guilabel>Make DCP</guilabel> as usual and your VF DCP will be created.</listitem>
+</itemizedlist>
+
+</section>
+
+</section>
+
+
+
+</chapter>
+<!-- ============================================================== -->
+
+
 <!-- ============================================================== -->
 <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
 <title>Content settings</title>
@@ -485,8 +703,8 @@ to encode a single frame which it can then repeat.
 <para>
 The previous chapters showed DCP generation using the default
 settings.  DCP-o-matic offers a range of features to adjust the
-content that goes into your DCP, and this chapter describes those features in
-detail.
+content that goes into your DCP, and this chapter describes those
+features in detail.
 </para>
 
 <section>
@@ -517,7 +735,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>
@@ -605,22 +823,35 @@ in each section are described below.
 The <guilabel>Video</guilabel> tab controls properties of the image, as shown in <xref linkend="fig-video-tab"/>.
 </para>
 
-<figure id="fig-video-tab"> 
+<figure id="fig-video-tab">
   <title>Video settings tab</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
        <imagedata fileref="screenshots/video-tab&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
 
+<!-- ============================================================== -->
+<section>
+<title>Refer to existing DCP</title>
+
+<para>
+This option is only applicable if the selected content is an existing
+DCP.  It allows you to get 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
@@ -628,12 +859,12 @@ left/right</guilabel> option tells DCP-o-matic to interpret the frame as a
 left-right pair, as shown in <xref linkend="fig-3d-left-right"/>.
 </para>
 
-<figure id="fig-3d-left-right"> 
+<figure id="fig-3d-left-right">
   <title>3D left/right image type</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
        <imagedata scale="100" fileref="diagrams/3d-left-right&dia;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -643,12 +874,12 @@ DCP-o-matic to see the frame as a top-bottom pair, as shown in <xref
 linkend="fig-3d-top-bottom"/>.
 </para>
 
-<figure id="fig-3d-top-bottom"> 
+<figure id="fig-3d-top-bottom">
   <title>3D top/bottom image type</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
        <imagedata scale="100" fileref="diagrams/3d-top-bottom&dia;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -680,12 +911,12 @@ setup area of the DCP-o-matic window; this opens the filters selector
 as shown in <xref linkend="fig-filters"/>.
 </para>
 
-<figure id="fig-filters"> 
-  <title>Filters selector</title> 
+<figure id="fig-filters">
+  <title>Filters selector</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata fileref="screenshots/filters&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -746,11 +977,11 @@ colour conversion editing dialogue box:
 </para>
 
 <figure id="fig-colour-conversion">
-  <title>Dialogue box for custom colour conversion</title> 
+  <title>Dialogue box for custom colour conversion</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata fileref="screenshots/colour-conversion&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -829,16 +1060,15 @@ frame-rate conversion.
 The <guilabel>Audio</guilabel> tab controls properties of the image, as shown in <xref linkend="fig-audio-tab"/>.
 </para>
 
-<figure id="fig-audio-tab"> 
+<figure id="fig-audio-tab">
   <title>Audio settings tab</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
        <imagedata fileref="screenshots/audio-tab&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
-
 <!-- ============================================================== -->
 <section>
 <title>The audio map</title>
@@ -892,9 +1122,9 @@ Consider, for example, the case in <xref linkend="fig-audio-map-eg1"/>.
 <figure id="fig-audio-map-eg1">
   <title>Audio map example 1</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
        <imagedata fileref="screenshots/audio-map-eg1&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -908,9 +1138,9 @@ the settings to those shown in <xref linkend="fig-audio-map-eg2"/>
 <figure id="fig-audio-map-eg2">
   <title>Audio map example 2</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
        <imagedata fileref="screenshots/audio-map-eg2&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -927,9 +1157,9 @@ and right.
 <figure id="fig-audio-map-eg3">
   <title>Audio map example 3</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
        <imagedata fileref="screenshots/audio-map-eg3&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -943,7 +1173,20 @@ 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>Refer to existing DCP</guilabel> checkbox isonly
+applicable if the selected content is an existing DCP.  It allows you
+to get 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
@@ -961,12 +1204,12 @@ button next to the audio gain entry, and the dialogue box in <xref
 linkend="fig-calculate-audio-gain"/> will open.
 </para>
 
-<figure id="fig-calculate-audio-gain"> 
+<figure id="fig-calculate-audio-gain">
   <title>Calculating audio gain</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata fileref="screenshots/calculate-audio-gain&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -1005,40 +1248,59 @@ The subtitles tab contains settings related to subtitles in your
 content, as shown in <xref linkend="fig-subtitles-tab"/>.
 </para>
 
-<figure id="fig-subtitles-tab"> 
+<figure id="fig-subtitles-tab">
   <title>Subtitle settings tab</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
        <imagedata fileref="screenshots/subtitles-tab&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </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 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">
   <title>Burnt-in subtitles</title>
   <mediaobject>
-    <imageobject> 
-       <imagedata scale="80" fileref="diagrams/burn-in&dia;"/>
-    </imageobject> 
+    <imageobject>
+       <imagedata scale="100" fileref="diagrams/burn-in&dia;"/>
+    </imageobject>
   </mediaobject>
 </figure>
 
 <figure id="fig-discrete">
   <title>Separate subtitles</title>
   <mediaobject>
-    <imageobject> 
-       <imagedata scale="80" fileref="diagrams/discrete&dia;"/>
-    </imageobject> 
+    <imageobject>
+       <imagedata scale="100" fileref="diagrams/discrete&dia;"/>
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -1052,17 +1314,16 @@ 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.
+Select the <guilabel>Use Subtitles</guilabel> check-box to enable
+the subtitles in the selected content.
 </para>
 
 <para>
-Select the <guilabel>With Subtitles</guilabel> check-box to enable
-subtitles.
+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.  This check-box will always be ticked if you are using
+embedded &lsquo;image&rsquo; subtitles.
 </para>
 
 <para>
@@ -1086,11 +1347,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>
 
 
@@ -1103,12 +1380,12 @@ The timing tab contains settings related to the timing of your
 content, as shown in <xref linkend="fig-timing-tab-detail"/>.
 </para>
 
-<figure id="fig-timing-tab-detail"> 
+<figure id="fig-timing-tab-detail">
   <title>Timing settings tab</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
        <imagedata fileref="screenshots/timing-tab&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -1118,12 +1395,12 @@ These are expressed as four numbers, as shown in <xref
 linkend="fig-timecode"/>.
 </para>
 
-<figure id="fig-timecode"> 
+<figure id="fig-timecode">
   <title>Timecode</title>
   <mediaobject>
-    <imageobject> 
-       <imagedata fileref="diagrams/timecode&dia;"/>
-    </imageobject> 
+    <imageobject>
+       <imagedata scale="100" fileref="diagrams/timecode&dia;"/>
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -1143,11 +1420,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>
@@ -1190,12 +1473,12 @@ happen with a trailer).  The source image is shown in <xref
 linkend="fig-pipeline1"/>.
 </para>
 
-<figure id="fig-pipeline1"> 
+<figure id="fig-pipeline1">
   <title>Example image to demonstrate video processing</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
        <imagedata scale="100" fileref="diagrams/pipeline1&dia;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -1221,12 +1504,12 @@ bottom.  This would give the new image shown in <xref
 linkend="fig-pipeline2"/>.
 </para>
 
-<figure id="fig-pipeline2"> 
+<figure id="fig-pipeline2">
   <title>Example image after cropping</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
        <imagedata scale="100" fileref="diagrams/pipeline2&dia;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -1263,12 +1546,12 @@ size of 1998 x 836.  This gives us a new version of the image as shown
 in <xref linkend="fig-pipeline3"/>.
 </para>
 
-<figure id="fig-pipeline3"> 
+<figure id="fig-pipeline3">
   <title>Example image after cropping and scaling</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
        <imagedata scale="100" fileref="diagrams/pipeline3&dia;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -1283,12 +1566,12 @@ shares out this black equally, as shown in <xref
 linkend="fig-pipeline3"/>.
 </para>
 
-<figure id="fig-pipeline4"> 
+<figure id="fig-pipeline4">
   <title>Example image in the DCP</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
        <imagedata scale="100" fileref="diagrams/pipeline4&dia;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -1305,12 +1588,12 @@ controls for these settings are in the <guilabel>DCP</guilabel> tab of
 the main window, as shown in <xref linkend="fig-dcp-tab"/>.
 </para>
 
-<figure id="fig-dcp-tab"> 
+<figure id="fig-dcp-tab">
   <title>DCP settings tab</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
        <imagedata fileref="screenshots/dcp-tab&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -1320,7 +1603,7 @@ of the film that is being encoded.  If <guilabel>Use ISDCF
 name</guilabel> is not ticked, the name that you specify will be used
 as-is for the name of the DCP.  If <guilabel>Use ISDCF name</guilabel>
 is ticked, the name that you enter will be used as part of a
-ISDCF-compliant name.  
+ISDCF-compliant name.
 </para>
 
 <para>
@@ -1368,12 +1651,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.
@@ -1404,13 +1698,6 @@ to what DCP-o-matic thinks is the best given the content that you have
 added.
 </para>
 
-<para>
-<guilabel>Burn subtitles into image</guilabel> should be selected if
-you want DCP-o-matic to overlay the subtitles onto the video frame
-before encoding.  Leave this un-ticked to include the subtitles
-separately in the DCP.
-</para>
-
 <para>
 The <guilabel>3D</guilabel> button will set your DCP to 3D mode if it
 is checked.  A 3D DCP will then be created, and any 2D content will be
@@ -1445,7 +1732,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>
@@ -1464,16 +1751,101 @@ cinema audio systems.</listitem>
 <listitem>DCP Ls is input L bandpass-filtered between 4.8kHz and 20kHz.</listitem>
 <listitem>DCP Rs is input R bandpass-filtered between 4.8kHz and 20kHz.</listitem>
 </itemizedlist>
+<para>
+This upmixing algorithm is due to Gérald Maruccia.
+</para>
+</listitem>
+<listitem>Stereo to 5.1 up-mixer B &mdash; this uses a different approach:
+<itemizedlist>
+  <listitem>DCP L is input L.</listitem>
+  <listitem>DCP R is input R.</listitem>
+  <listitem>DCP C is input L + input R taken down by 3dB.</listitem>
+  <listitem>DCP Lfe is DCP C bandpass filtered between 20Hz and 150Hz.</listitem>
+  <listitem>DCP Ls and Rs are input L - input R with a 20ms delay.</listitem>
+</itemizedlist>
 </listitem>
 </itemizedlist>
 
+<!-- ============================================================== -->
+<section xml:id="sec-reels">
+<title>Reels</title>
+
 <para>
-This upmixing algorithm is due to Gérald Maruccia.
+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>
+<section xml:id="sec-show-audio">
 <title>Show audio</title>
 
 <para>
@@ -1484,12 +1856,12 @@ the sound will be in the cinema auditorium.  A typical plot is shown
 in <xref linkend="fig-audio-plot"/>
 </para>
 
-<figure id="fig-audio-plot"> 
+<figure id="fig-audio-plot">
   <title>Audio plot</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
        <imagedata fileref="screenshots/audio-plot&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -1524,6 +1896,43 @@ 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>
+
+</chapter>
+
+
+
+<!-- ============================================================== -->
 <chapter xml:id="ch-encryption" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
 <title>Encryption</title>
 
@@ -1560,8 +1969,8 @@ methods to understand it.
 </para>
 
 <para>
-We suppose that we are trying to distribute a DCP, to
-Alice's cinema, without a troublemaker called Mallory being able to
+We suppose that we are trying to send a DCP to
+Alice's cinema without a troublemaker called Mallory being able to
 watch it himself.
 </para>
 
@@ -1588,11 +1997,12 @@ happened to know Mallory, she could just send him a copy of the key.
 </para>
 
 <para>
-The clever bit in DCP encryption requires the use of public-key
+The clever bit in the process requires the use of public-key
 encryption.  With this technique we can encrypt a block of data using
 some &lsquo;public&rsquo; key.  That data can then only be decrypted
-using a <emphasis>different</emphasis> &lsquo;private&rsquo; key.  The
-private and public keys are related mathematically, but it is
+using a corresponding private key which is
+<emphasis>different</emphasis> to the public key.  The private and
+public keys form a pair which are related mathematically, but it is
 extremely hard (or rather, virtually impossible) to derive the private
 key from the public key.
 </para>
@@ -1638,10 +2048,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>
@@ -1652,18 +2062,28 @@ 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> 
+  <title>KDM dialog</title>
   <mediaobject>
-    <imageobject> 
-      <imagedata fileref="screenshots/kdm&scs;"/>
-    </imageobject> 
+    <imageobject>
+      <imagedata scale="40" fileref="screenshots/kdm&scs;"/>
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -1675,17 +2095,18 @@ 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>
 To add a cinema, click <guilabel>Add Cinema...</guilabel>.  This opens
 a dialogue box into which you can enter the cinema's name, and
 optionally an email address.  This email address can be used to
-get DCP-o-matic to deliver KDMs via email, but it is optional.
+get DCP-o-matic to deliver KDMs via email.
 </para>
 
 <para>
@@ -1700,11 +2121,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>
@@ -1733,17 +2153,119 @@ 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 users'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 overview</title>
+
+<figure id="fig-encryption-overview">
+  <title>Overview of encryption</title>
+  <mediaobject>
+    <imageobject>
+      <imagedata fileref="diagrams/crypt&dia;"/>
+    </imageobject>
+  </mediaobject>
+</figure>
+
+</section>
 </chapter>
 
 
@@ -1757,15 +2279,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>
 
 <!-- ============================================================== -->
@@ -1776,12 +2293,12 @@ menu.  The dialogue is split into seven tabs.
 The general tab is shown in <xref linkend="fig-prefs-general"/>.
 </para>
 
-<figure id="fig-prefs-general"> 
-  <title>General preferences</title> 
+<figure id="fig-prefs-general">
+  <title>General preferences</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata fileref="screenshots/prefs-general&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -1819,6 +2336,30 @@ to set this up correctly when you run it for the first time.
 
 </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>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>Updates</title>
@@ -1840,6 +2381,16 @@ like to live on the bleeding edge!
 </para>
 </section>
 
+<!-- ============================================================== -->
+<section>
+<title>Issuer and creator</title>
+
+<para>
+With these controls you can set the issuer and creator strings that
+will be put into the DCPs which you create.
+</para>
+</section>
+
 </section>
 
 <!-- ============================================================== -->
@@ -1851,11 +2402,11 @@ The defaults tab is shown in <xref linkend="fig-prefs-defaults"/>.
 </para>
 
 <figure id="fig-prefs-defaults">
-  <title>Defaults preferences</title> 
+  <title>Defaults preferences</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata fileref="screenshots/prefs-defaults&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -1875,11 +2426,11 @@ The servers tab is shown in <xref linkend="fig-prefs-servers"/>.
 </para>
 
 <figure id="fig-prefs-servers">
-  <title>Servers preferences</title> 
+  <title>Servers preferences</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata fileref="screenshots/prefs-servers&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -1908,21 +2459,21 @@ related to the keys and certificates used in some parts of DCP
 creation.
 </para>
 
-<figure id="fig-prefs-keys"> 
-  <title>Keys preferences</title> 
+<figure id="fig-prefs-keys">
+  <title>Keys preferences</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata fileref="screenshots/prefs-keys&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </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, so if you are happy to use a randomly-generated chain
-you can ignore the preferences.  Otherwise, you can add or remove
-certificates from the chain using the <guilabel>Add...</guilabel> and
+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.
 </para>
 
@@ -1942,13 +2493,28 @@ corresponds to the public key held in the leaf certificate.
 </para>
 
 <para>
-The bottom of the tab specifies the certificate and private key that
-is used to decrypt DCPs if they are imported as sources to
-DCP-o-matic.  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.  As with the certificate chain,
-DCP-o-matic will create a certificate and private key for you.  You
-can also choose to load your own certificate and key.
+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
+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
+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>
@@ -1961,28 +2527,43 @@ can also choose to load your own certificate and key.
 <para>
 The TMS tab (shown in <xref linkend="fig-prefs-tms"/>) gives some
 options for specifying details about your theatre management system
-(TMS).  If you do this, and your TMS accepts SSH connections, you can
-upload DCPs directly from DCP-o-matic to the TMS using the
+(TMS).  If you do this, and your TMS accepts SSH or FTP connections,
+you can upload DCPs directly from DCP-o-matic to the TMS using the
 <guilabel>Send DCP to TMS</guilabel> option in the
 <guilabel>Jobs</guilabel> menu.
 </para>
 
-<figure id="fig-prefs-tms"> 
-  <title>TMS preferences</title> 
+<figure id="fig-prefs-tms">
+  <title>TMS preferences</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata fileref="screenshots/prefs-tms&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
+<para>
+<guilabel>Protocol</guilabel> should be set to SCP or FTP as
+appropriate for your TMS.  We know that the Arts Alliance Media (AAM)
+and the Doremi ranges uses SCP connections, and that Dolby's TMSs use
+FTP.  Do let us know if you use any other type of TMS with the
+<guilabel>Send DCP to TMS</guilabel> feature.
+</para>
+
 <para>
 <guilabel>TMS IP address</guilabel> should be set to the IP address of
 your TMS, <guilabel>TMS target path</guilabel> to the place that DCPs
 should be uploaded to (which will be relative to the home directory of
-the SSH user).  Finally, the user name and password are the
-credentials required to log into the TMS via SSH.
+the SSH or FTP user).  Finally, the user name and password are the
+credentials required to log into the TMS via SSH or FTP.
+</para>
+
+<para>
+Note that for this to work on Doremi servers you will need to set the
+<code>PasswordAuthentication</code> option in your server's
+<code>sshd_config</code> to <code>yes</code>.
 </para>
+
 </section>
 
 
@@ -1994,12 +2575,12 @@ credentials required to log into the TMS via SSH.
 The KDM email is shown in <xref linkend="fig-prefs-kdm-email"/>.
 </para>
 
-<figure id="fig-prefs-kdm-email"> 
-  <title>KDM email preferences</title> 
+<figure id="fig-prefs-kdm-email">
+  <title>KDM email preferences</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata fileref="screenshots/prefs-kdm-email&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -2049,12 +2630,12 @@ The <guilabel>Reset to default text</guilabel> will replace the current KDM emai
 The advanced preferences are shown in <xref linkend="fig-prefs-advanced"/>.
 </para>
 
-<figure id="fig-prefs-advanced"> 
-  <title>Advanced preferences</title> 
+<figure id="fig-prefs-advanced">
+  <title>Advanced preferences</title>
   <mediaobject>
-    <imageobject> 
+    <imageobject>
       <imagedata fileref="screenshots/prefs-advanced&scs;"/>
-    </imageobject> 
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -2072,6 +2653,20 @@ useful for experimentation.  Again, you are strongly advised to leave
 this unticked for normal use.
 </para>
 
+<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.
+</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>
 The four checkboxes labelled <guilabel>Log</guilabel> control what
 sort of messages DCP-o-matic writes to its log file when creating a
@@ -2088,7 +2683,6 @@ that are generated, so in normal use it is best to leave this
 unticked.
 </para>
 
-</section>
 </section>
 </chapter>
 
@@ -2332,12 +2926,12 @@ linkend="fig-file-structure"/> shows the files that might be generated
 after you have created a DCP for a film called &lsquo;DCP Test&rsquo;.
 </para>
 
-<figure id="fig-file-structure"> 
-  <title>Creating a new film</title> 
+<figure id="fig-file-structure">
+  <title>Creating a new film</title>
   <mediaobject>
-    <imageobject> 
-      <imagedata fileref="diagrams/file-structure&dia;"/>
-    </imageobject> 
+    <imageobject>
+      <imagedata scale="100" fileref="diagrams/file-structure&dia;"/>
+    </imageobject>
   </mediaobject>
 </figure>
 
@@ -2373,7 +2967,8 @@ 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>
@@ -2414,4 +3009,152 @@ 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>Refer to existing DCP</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>Refer to existing DCP</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>
+
 </book>