Supporters update.
[dcpomatic.git] / doc / manual / dcpomatic.xml
index 93639a7d46c79373ff4f7c692e8a8e7e91d7e5b0..ee687ad6ea52ce8de5cde68a816a55039475ecb9 100644 (file)
@@ -320,7 +320,20 @@ making the DCP.</para>
 
 <para>
 Choose <guilabel>Make DCP</guilabel> from the
-<guilabel>Jobs</guilabel> menu.  DCP-o-matic will encode your DCP.
+<guilabel>Jobs</guilabel> menu.  Before encoding your DCP, DCP-o-matic
+will run a series of checks on your film to look for various conditions
+that might cause problems when playing back the DCP.  If any potential
+problems are found, DCP-o-matic will show you a list of hints.
+Each hint describes the condition that was found and gives
+advice on how to resolve it.  If hints are found and reported, you can
+either <guilabel>Make DCP</guilabel> anyway (without adjusting any
+settings), or <guilabel>Go back</guilabel> in order to make
+adjustments before encoding the DCP.
+</para>
+
+<para>
+If no hints were found (or you pressed <guilabel>Make DCP</guilabel>
+after hints were displayed), DCP-o-matic will encode your DCP.
 This may take some time (many hours in some cases).  While the job is
 in progress, DCP-o-matic will update you on how it is getting on with
 the progress bar in the bottom of its window, as shown in <xref
@@ -485,8 +498,8 @@ DCP-o-matic and allows them to create a KDM for you.
 <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
+<guilabel>Keys</guilabel> tab.  Click the <guilabel>Export KDM
+decryption leaf certificate...</guilabel> button at the top of this tab
 and save the certificate.  Send this certificate to the KDM creators
 and they can make a KDM to allow DCP-o-matic to decrypt the DCP.
 </para>
@@ -1730,8 +1743,16 @@ generates and modify it, click <guilabel>Copy as name</guilabel> and
 the ISDCF name will be copied into the <guilabel>Name</guilabel> box.
 You can then edit it as you wish.  The DCP name should not matter (in
 that it should not affect how the DCP ingests or plays) but
-projectionists will appreciate it if you use the standard naming
-scheme as it makes it easier to identify details of the content.
+projectionists will appreciate it if you use the
+<ulink url="https://registry-page.isdcf.com/illustratedguide/">standard naming scheme</ulink>
+as it makes it easier to identify details of the content.
+</para>
+
+<para>
+If there is spoken language in your project's audio you can tick the
+<guilabel>Audio Language</guilabel> checkbox and then specify the language
+of that audio.  This information will be used for the ISDCF name, written into
+the DCP cover sheet, and added as metadata to the audio MXF files in the DCP.
 </para>
 
 <para>
@@ -1996,6 +2017,8 @@ The smoothing slider applies a variable degree of temporal smoothing
 to the plots, which can make them easier to read in some cases.
 </para>
 
+<para>Underneath the plot are shown some precise numbers for peaks and other measurements.  A peak value displayed in red means that it is greater than -3dB.</para>
+
 <para>
 The audio plot is no substitute for listening in an
 cinema, but it can be useful to get levels in roughly the right area.
@@ -2373,7 +2396,6 @@ emailed to the appropriate cinema email addresses.  Click
 
 <section>
 <title>Creating KDMs using a DKDM</title>
-</section>
 
 <para>
 It can be inconvenient to need a whole DCP-o-matic project just to
@@ -2440,11 +2462,73 @@ 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>Creating KDMs for a distributor</title>
+
+<para>
+Sometimes you have an encrypted DCP and you want to allow somebody else
+(for example, a distributor) to make KDMs for the DCP on your behalf.
+</para>
+
+<para>
+The normal way to do this is to send the distributor a KDM which they
+can use with their own KDM creation system.  Such a KDM is often called
+a DKDM (the &lsquo;D&rsquo; stands for <emphasis>Distribution</emphasis>).
+It is the same as a normal KDM except that it is made to work with another
+computer, rather than with a projection system.
+</para>
+
+<para>
+To make a DKDM for a distributor you will first need to ask them to send you
+a decryption certificate.  This should be a small file, usually with the extension
+<code>.pem</code>.
+</para>
+
+<para>
+Once you have the certificate, you will need to add a &lsquo;fake&rsquo; cinema
+and screen to the list in DCP-o-matic.  This is because making a KDM for another
+computer uses the same process internally as making one for a projection system,
+it's just that DCP-o-matic does not have a nice way to present that.
+</para>
+
+<para>
+In either the KDM window in the main DCP-o-matic, or the KDM creator, first add
+a new cinema by clicking <guilabel>Add Cinema...</guilabel>, giving it a name
+(perhaps the name of the distributor).
+</para>
+
+<para>
+Then select this new cinema and click <guilabel>Add Screen...</guilabel> to open
+the screen dialog box, as shown in <xref linkend="fig-add-screen"/>.
+</para>
+
+<figure id="fig-add-screen">
+  <title>Adding a screen</title>
+  <mediaobject>
+    <imageobject>
+      <imagedata scale="30" fileref="screenshots/add-screen&scs;"/>
+    </imageobject>
+  </mediaobject>
+</figure>
+
+<para>
+Here you can give any name (perhaps just &lsquo;DKDM&rsquo;).  Then click <guilabel>Get from file...</guilabel>
+and choose the certificate file that the distributor gave you.  Finally, click <guilabel>OK</guilabel>.
+</para>
 
+<para>
+Now you can create a KDM for this screen, and send it to the distributor.  Using that KDM the distributor
+can then make KDMs for your DCP for anybody (and also, of course, decrypt the DCP if they wanted to).
 </para>
 
 </section>
 
+</section>
+
 <section>
 <title>Encryption keys</title>
 
@@ -2570,7 +2654,7 @@ You will need to restart DCP-o-matic to see the new language.
 
 <para>
 The translations for DCP-o-matic have been contributed by helpful
-users.  If your language is not on the last, head to <ulink
+users.  If your language is not on the last, visit <ulink
 url="https://dcpomatic.com/i18n.php">the DCP-o-matic website</ulink> to
 find out how to contribute a translation.
 </para>
@@ -2612,7 +2696,7 @@ encode.
 <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.
+DCP-o-matic: across a network share, for instance.
 </para>
 </section>
 
@@ -2633,7 +2717,7 @@ store details of the cinemas and screens used to make KDMs.
 
 <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
+disables DCP-o-matic's 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>
@@ -2647,8 +2731,7 @@ be played.
 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.
+are useful to you.  If not, untick it to make audio analysis faster.
 </para>
 
 </section>
@@ -2669,7 +2752,7 @@ If this checkbox is ticked an audio analysis will be run whenever content is add
 <para>
 The <guilabel>Check for updates on startup</guilabel> option, if
 enabled, will tell DCP-o-matic to check on <ulink
-url="https://dcpomatic.com/">dcpomatic.com</ulink> to see if there any
+url="https://dcpomatic.com/">dcpomatic.com</ulink> to see if there are any
 newer versions of DCP-o-matic then the one you are running.  If so, a
 dialogue box will open with a link to download the new version.
 </para>
@@ -2677,8 +2760,7 @@ dialogue box will open with a link to download the new version.
 <para>
 The <guilabel>Check for testing updates as well as stable
 ones</guilabel> option will also check for test updates as well as
-those that are formally &lsquo;released&rsquo;. This is useful if you
-like to live on the bleeding edge!
+those that are formally &lsquo;released&rsquo;. 
 </para>
 </section>
 
@@ -2851,7 +2933,7 @@ you can upload DCPs directly from DCP-o-matic to the TMS using the
 <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
+and the Doremi ranges uses SCP connections, and that Dolby's TMS uses
 FTP.  Do let us know if you use any other type of TMS with the
 <guilabel>Send DCP to TMS</guilabel> feature.
 </para>
@@ -2932,9 +3014,15 @@ KDM that is being sent; these strings are shown in <xref linkend="tab-kdm-magic"
 <entry><code>$CPL_NAME</code></entry><entry>DCP title</entry>
 </row>
 <row>
+<entry><code>$CPL_FILENAME</code></entry><entry>Filename of the CPL</entry>
+</row>
+<row>
 <entry><code>$CINEMA_NAME</code></entry><entry>Cinema name</entry>
 </row>
 <row>
+<entry><code>$CINEMA_SHORT_NAME</code></entry><entry>First 14 characters of the cinema name</entry>
+</row>
+<row>
 <entry><code>$SCREENS</code></entry><entry>Name of screen or screens that KDMs are being generated for</entry>
 </row>
 <row>
@@ -2980,7 +3068,7 @@ send.
 </para>
 
 <para>
-The bottom box in the tab is the contents of the email that should
+The bottom box in the tab is the content of the email that should
 be sent.  DCP-o-matic will replace the &lsquo;magic&rsquo; strings
 <code>$JOB_NAME</code> and <code>$JOB_STATUS</code> in the with the
 details of the job that has completed.
@@ -3098,7 +3186,7 @@ that you might see with your current settings.
 </para>
 
 <para>
-The four checkboxes labelled <guilabel>Log</guilabel> control what
+The checkboxes labelled <guilabel>Log</guilabel> control what
 sort of messages DCP-o-matic writes to its log file when creating a
 DCP.  It is useful to leave <guilabel>General</guilabel>,
 <guilabel>Warnings</guilabel> and <guilabel>Errors</guilabel> ticked
@@ -3134,7 +3222,7 @@ however, always possible.
 There are some limitations to video and audio frame rates in DCPs.  This is
 complicated by the fact that not all projectors will play DCPs at the
 same frame rates.  It is possible to create a DCP which one projector will
-play fine, but another (of a different type) will refuse to play.
+play fine, but another (of a different type, or even just with a different software version) will refuse to play.
 </para>
 
 
@@ -3177,7 +3265,7 @@ with minimal loss in quality.
 </para>
 
 <para>
-Video rate conversion is harder.  DCP-o-matic's basic strategy to deal
+Video rate conversion is harder.  DCP-o-matic's strategy to deal
 with a non-supported content rate is to run it at the wrong speed, and
 to adjust the audio to keep it in sync.
 </para>
@@ -3226,8 +3314,8 @@ content.
 </para>
 
 <para>
-If you want to experiment with other non-standard frame rates, you can
-do so by ticking the <guilabel>Allow any DCP frame rate</guilabel> in
+You can experiment with other non-standard frame rates
+by ticking the <guilabel>Allow any DCP frame rate</guilabel> in
 the <guilabel>Advanced</guilabel> tab of the preferences dialogue (see the
 <xref linkend="sec-prefs-advanced" endterm="sec-prefs-advanced-short"/>).  You are strongly advised to
 use this only on your own equipment, and only for experimentation
@@ -3253,7 +3341,7 @@ a small program called <code>dcpomatic_server</code>.
 </para>
 
 <para>
-The master and server machines do not need to be the same type, so you
+The master and server machines do not need to be running the same operating system, so you
 can mix Windows PCs, Macs and Linux machines as you wish.
 </para>
 
@@ -3263,7 +3351,7 @@ can mix Windows PCs, Macs and Linux machines as you wish.
 <title>Running the servers</title>
 
 <para>
-There are two options for the encoding server;
+There are two options for the encoding server:
 <code>dcpomatic_server_cli</code>, which runs on the command line, and
 <code>dcpomatic_server</code>, which has a simple GUI.  The command line
 version is well-suited to headless servers, especially on Linux, and
@@ -3398,7 +3486,7 @@ 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.  It may also
-contain subtitles in either XML or MXF format.  This folder
+contain subtitles or closed captions 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>
@@ -3612,8 +3700,8 @@ sets.
 <listitem>Start a new DCP-o-matic film.</listitem>
 <listitem>Click <guilabel>Add DCP...</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>Go to the <guilabel>Video</guilabel> tab and tick the <guilabel>Use this DCP's video as OV and make VF</guilabel> checkbox.</listitem>
+<listitem>Go to the <guilabel>Audio</guilabel> tab and tick the <guilabel>Use this DCP's audio as OV and make VF</guilabel> checkbox.</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
@@ -3633,7 +3721,7 @@ DCP.</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>
+<guilabel>Timed Text</guilabel> or <guilabel>Closed Captions</guilabel> tabs if required.</listitem>
 <listitem>Choose <guilabel>Make DCP</guilabel> from the menu.</listitem>
 </itemizedlist>
 
@@ -3650,7 +3738,7 @@ DCP.  Adjust the appearance using controls in the
 <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>
+<guilabel>Timed Text</guilabel> or <guilabel>Closed Captions</guilabel> tabs if required.</listitem>
 <listitem>Choose <guilabel>Make DCP</guilabel> from the menu.</listitem>
 </itemizedlist>
 
@@ -3728,6 +3816,102 @@ The full details of OV and VF files are discussed in <xref linkend="sec-overlay"
   resolution.
   </para>
 
+  <para>Another way to improve performance is to set the <guilabel>Video display mode</guilabel>
+  in <guilabel>Preferences</guilabel> to <guilabel>OpenGL (faster)</guilabel>.  This should provide
+  a significant speed-up on most systems, although this mode has not been so widely tested so may
+  have problems.
+  </para>
+
+
+<section>
+<title>Advanced playback mode</title>
+
+<para>
+By default, the DCP-o-matic player is set up to load and play back single DCPs, mostly for checking purposes.
+There is also a second, more experimental mode, which is more suited to using DCP-o-matic for &lsquo;presentation&rsquo;
+applications, such as playing back DCPs via a projector.  In this mode you can set up basic playlists, in a similar
+way to how most commercial playback servers work.
+</para>
+
+<para>
+<emphasis>Using DCP-o-matic for theatrical exhibition is not widely tested, and I would not advise depending
+on it without plenty of testing in your particular environment.</emphasis>
+</para>
+
+<para>
+The &lsquo;advanced&rsquo; playback mode uses two windows (instead of the usual one):
+<itemizedlist>
+  <listitem>Full-screen playback window.</listitem>
+  <listitem>Control window.</listitem>
+</itemizedlist>
+The idea is that these windows are spread over two monitors (or one monitor and one projector).
+</para>
+
+<para>
+To enable &lsquo;advanced&rsquo; mode, load the player and go to the preferences and open the <guilabel>General</guilabel>
+tab of preferences, then choose <guilabel>full screen with separate advanced controls</guilabel> from the
+<guilabel>Start player as</guilabel> drop-down list.  Then close and re-start the player.
+</para>
+</section>
+
+<para>
+On loading the player in &lsquo;advanced&rsquo; mode you will see a control window like the one in <xref linkend="fig-advanced-player"/>.
+</para>
+
+<figure id="fig-advanced-player">
+  <title>Player in advanced mode</title>
+  <mediaobject>
+    <imageobject>
+      <imagedata scale="30" fileref="screenshots/advanced-player&scs;"/>
+    </imageobject>
+  </mediaobject>
+</figure>
+
+<para>
+The important parts are the list of playlists, in the top left, and the current playlist, on the right.  Double-click a playlist to load it,
+and then press the <guilabel>Play</guilabel> button to start playback.
+</para>
+
+<para>
+Creating playlists must be done using the separate DCP-o-matic Playlist Editor.  As with the other tools, this is included
+with the normal installer on Windows and most Linux distributions, but must be downloaded separately on macOS or if you are using AppImage.
+</para>
+
+<para>
+The first important step after loading the playlist editor for the first time is to set the location of your playlists, the content (i.e. DCPs)
+that they will use, and a folder containing any KDMs that the content needs.  This can be done in the Playlist Editor preferences window,
+as shown in <xref linkend="fig-playlist-editor-prefs"/>.
+</para>
+
+<figure id="fig-playlist-editor-prefs">
+  <title>Playlist editor preferences</title>
+  <mediaobject>
+    <imageobject>
+      <imagedata fileref="screenshots/playlist-editor-prefs&scs;"/>
+    </imageobject>
+  </mediaobject>
+</figure>
+
+<para>
+Once you have done this you can start creating playlists in the main editor window.  Each playlist you create will be shown in the player and
+so be available for playback.  The playlist editor is shown in <xref linkend="fig-playlist-editor"/>.
+</para>
+
+<figure id="fig-playlist-editor">
+  <title>Playlist editor</title>
+  <mediaobject>
+    <imageobject>
+      <imagedata fileref="screenshots/playlist-editor&scs;"/>
+    </imageobject>
+  </mediaobject>
+</figure>
+
+<para>
+The top half of the window shows the current list of playlists.  Create a new one by clicking the <guilabel>New</guilabel> button.  You can
+then edit its name and add remove, or reorder content in the bottom half of the window.  Playlists are saved automatically each time they
+are changed.
+</para>
+
 </chapter>