Update for newer libdcp; add start of manual.
authorCarl Hetherington <cth@carlh.net>
Tue, 31 Jul 2012 15:59:41 +0000 (16:59 +0100)
committerCarl Hetherington <cth@carlh.net>
Tue, 31 Jul 2012 15:59:41 +0000 (16:59 +0100)
21 files changed:
.gitignore
doc/manual/Makefile [new file with mode: 0644]
doc/manual/dvdomatic-html.xsl [new file with mode: 0644]
doc/manual/dvdomatic-pdf.xsl [new file with mode: 0644]
doc/manual/dvdomatic.css [new file with mode: 0644]
doc/manual/dvdomatic.sty [new file with mode: 0644]
doc/manual/dvdomatic.xml [new file with mode: 0644]
doc/manual/extensions-html.ent [new file with mode: 0644]
doc/manual/extensions-pdf.ent [new file with mode: 0644]
doc/manual/pptex.py [new file with mode: 0755]
doc/manual/screenshots/click-content-selector.png [new file with mode: 0644]
doc/manual/screenshots/examine-thumbs.png [new file with mode: 0644]
doc/manual/screenshots/file-new.png [new file with mode: 0644]
doc/manual/screenshots/job-make-dcp.png [new file with mode: 0644]
doc/manual/screenshots/making-dcp.png [new file with mode: 0644]
doc/manual/screenshots/new-film.png [new file with mode: 0644]
doc/manual/screenshots/select-content-file.png [new file with mode: 0644]
doc/manual/screenshots/setup.png [new file with mode: 0644]
src/lib/dcp_content_type.cc
src/lib/dcp_content_type.h
src/lib/make_dcp_job.cc

index 31dbd5e1f85bd1bda01ee9f5977b2d42323dba60..757f42eced83e9910a9404e8679792b5026c3f32 100644 (file)
@@ -13,3 +13,6 @@ src/lib/version.cc
 *.exe
 alignment
 sync
+doc/manual/html
+doc/manual/pdf
+doc/manual/extensions.ent
\ No newline at end of file
diff --git a/doc/manual/Makefile b/doc/manual/Makefile
new file mode 100644 (file)
index 0000000..9c46819
--- /dev/null
@@ -0,0 +1,121 @@
+# DVD-o-matic manual makefile
+
+all:   html pdf
+
+DIAGRAMS := 
+
+SCREENSHOTS := file-new.png new-film.png click-content-selector.png select-content-file.png examine-thumbs.png setup.png
+
+XML := dvdomatic.xml
+
+GRAPHICS := 
+
+#
+# For the HTML, default to copying the screenshots direct
+#
+html/screenshots/%.png: screenshots/%.png
+       mkdir -p html/screenshots
+       cp $< $@
+
+#
+# Some need resizing...
+#
+html/screenshots/editor.png: screenshots/editor.png
+       mkdir -p html/screenshots
+       convert -resize 50% $< $@
+html/screenshots/mixer.png: screenshots/mixer.png
+       mkdir -p html/screenshots
+       convert -resize 50% $< $@
+html/screenshots/default-folder-for-new-sessions.png: screenshots/default-folder-for-new-sessions.png
+       mkdir -p html/screenshots
+       convert -resize 75% $< $@
+html/screenshots/welcome-to-ardour.png: screenshots/welcome-to-ardour.png
+       mkdir -p html/screenshots
+       convert -resize 75% $< $@
+html/screenshots/monitoring-choices.png: screenshots/monitoring-choices.png
+       mkdir -p html/screenshots
+       convert -resize 75% $< $@
+html/screenshots/monitor-section.png: screenshots/monitor-section.png
+       mkdir -p html/screenshots
+       convert -resize 75% $< $@
+html/screenshots/audio-midi-setup-device.png: screenshots/audio-midi-setup-device.png
+       mkdir -p html/screenshots
+       convert -resize 75% $< $@
+html/screenshots/new-session.png: screenshots/new-session.png
+       mkdir -p html/screenshots
+       convert -resize 75% $< $@
+html/screenshots/export-dialogue.png: screenshots/export-dialogue.png
+       mkdir -p html/screenshots
+       convert -resize 75% $< $@
+
+# For HTML: convert graphics from SVG to PNG
+graphics/%.png:        graphics/%.svg
+       inkscape -z -f $< --export-png $@ --export-area-drawing
+
+# For LaTeX/PDF: convert graphics from SVG to PDF
+graphics/%.pdf:        graphics/%.svg
+       inkscape -z -f $< --export-pdf $@ --export-area-drawing
+
+# For HTML: convert diagrams from SVG to PNG
+diagrams/%.png:        diagrams/%.svg
+       inkscape -z -f $< --export-png $@ --export-area-drawing
+
+# For LaTeX/PDF: convert diagrams from SVG to PDF
+diagrams/%.pdf:        diagrams/%.svg
+       inkscape -z -f $< --export-pdf $@ --export-area-drawing
+
+#
+# HTML
+#
+
+html:  $(XML) dvdomatic-html.xsl extensions-html.ent dvdomatic.css \
+       $(addprefix html/screenshots/,$(SCREENSHOTS)) \
+       $(subst .svg,.png,$(addprefix diagrams/,$(DIAGRAMS))) \
+       $(subst .svg,.png,$(addprefix graphics/,$(GRAPHICS))) \
+
+#      The DocBook needs to know what file extensions to look for
+#      for screenshots and diagrams; use the correct file to tell it.
+       cp extensions-html.ent extensions.ent
+
+#      DocBoox -> html
+       xmlto html -m dvdomatic-html.xsl dvdomatic.xml --skip-validation -o html
+
+#      Copy graphics and CSS in
+#      mkdir -p html/diagrams html/graphics
+#      cp diagrams/*.png html/diagrams
+#      cp graphics/*.png html/graphics
+       cp dvdomatic.css html
+
+#
+# PDF
+#
+
+pdf:   $(XML) dvdomatic-pdf.xsl extensions-pdf.ent screenshots/*.png $(subst .svg,.pdf,$(addprefix diagrams/,$(DIAGRAMS)))
+
+#      The DocBook needs to know what file extensions to look for
+#      for screenshots and diagrams; use the correct file to tell it.
+       cp extensions-pdf.ent extensions.ent
+
+       mkdir -p pdf
+
+       dblatex -p dvdomatic-pdf.xsl -s dvdomatic.sty -r pptex.py -T native dvdomatic.xml -t pdf -o pdf/dvdomatic.pdf
+
+
+#
+# LaTeX (handy for debugging)
+#
+
+tex:   $(XML) dvdomatic-pdf.xsl extensions-pdf.ent
+
+#      The DocBook needs to know what file extensions to look for
+#      for screenshots and diagrams; use the correct file to tell it.
+       cp extensions-pdf.ent extensions.ent
+
+       mkdir -p tex
+
+#      -P <foo> removes the revhistory table
+       dblatex -P doc.collab.show=0 -P latex.output.revhistory=0 -p dvdomatic-pdf.xsl -s dvdomatic.sty -r pptex.py -T native dvdomatic.xml -t tex -o tex/dvdomatic.tex
+
+
+clean:;        rm -rf html pdf diagrams/*.pdf diagrams/*.png graphics/*.png *.aux dvdomatic.cb dvdomatic.cb2 dvdomatic.glo dvdomatic.idx dvdomatic.ilg
+       rm -rf dvdomatic.ind dvdomatic.lof dvdomatic.log dvdomatic.tex dvdomatic.toc extensions.ent dvdomatic.out
diff --git a/doc/manual/dvdomatic-html.xsl b/doc/manual/dvdomatic-html.xsl
new file mode 100644 (file)
index 0000000..2b89604
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:fo="http://www.w3.org/1999/XSL/Format"
+                version="1.0">
+
+<!-- Our CSS -->
+<xsl:param name="html.stylesheet" select="'ardour.css'"/>
+
+<!-- I can't fathom xmlto's logic with image scaling, so I've turned it off -->
+<xsl:param name="ignore.image.scaling" select="1"/>
+
+</xsl:stylesheet>
diff --git a/doc/manual/dvdomatic-pdf.xsl b/doc/manual/dvdomatic-pdf.xsl
new file mode 100644 (file)
index 0000000..414fb64
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version='1.0' encoding="iso-8859-1"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
+
+<!-- colour links in black -->
+<xsl:param name="latex.hyperparam">colorlinks,linkcolor=black,urlcolor=black</xsl:param>
+
+<!-- no revhistory table -->
+<xsl:param name="doc.collab.show">0</xsl:param>
+<xsl:param name="latex.output.revhistory">0</xsl:param>
+
+<!-- hack images to vaguely the right size -->
+<xsl:param name="imagedata.default.scale">scale=0.6</xsl:param>
+
+<!-- don't make too-ridiculous section numbers -->
+<xsl:param name="doc.section.depth">3</xsl:param>
+
+</xsl:stylesheet>
diff --git a/doc/manual/dvdomatic.css b/doc/manual/dvdomatic.css
new file mode 100644 (file)
index 0000000..eb366b5
--- /dev/null
@@ -0,0 +1,18 @@
+body {
+    font-family: luxi sans, sans-serif;
+    margin-left: 4em;
+    margin-right: 4em;
+    margin-top: 1em;
+    margin-bottom: 1em;
+}
+
+div.sidebar {
+    margin-left: 1em;
+    margin-right: 1em;
+    padding-left: 1em;
+    padding-right: 1em;
+    border-color: #000000;
+    border-width: 2px;
+    border-style: solid;
+    background-color: #0E9E75;
+}
diff --git a/doc/manual/dvdomatic.sty b/doc/manual/dvdomatic.sty
new file mode 100644 (file)
index 0000000..272640b
--- /dev/null
@@ -0,0 +1,68 @@
+%%
+%% This style is derivated from the docbook one
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{ardour}[2007/04/04 My DocBook Style]
+
+%% Just use the original package and pass the options
+\RequirePackageWithOptions{docbook}
+
+% Use a nice font
+\usepackage{lmodern}
+
+% Define \dbend as the dangerous bend sign
+\font\manual=manfnt
+\def\dbend{{\manual\char127}}
+
+% Redefine sidebar environment to use the dangerous bend style
+% Danger, Will Robinson!
+\def\sidebar{\begin{trivlist}\item[]\noindent%
+\begingroup\hangindent=2pc\hangafter=-2%\clubpenalty=10000%
+\def\par{\endgraf\endgroup}%
+\hbox to0pt{\hskip-\hangindent\dbend\hfill}\ignorespaces}
+\def\endsidebar{\par\end{trivlist}}
+
+
+% Futz with the title page; basically a copy of
+% /usr/share/texmf/tex/latex/dblatex/style/dbk_title.sty
+% with authors added.
+
+\def\DBKcover{
+\ifthenelse{\equal{\DBKedition}{}}{\def\edhead{}}{\def\edhead{Ed. \DBKedition}}
+
+\pagestyle{empty}
+
+% interligne double
+\setlength{\oldbaselineskip}{\baselineskip}
+\setlength{\baselineskip}{2\oldbaselineskip}
+\textsf{
+\vfill
+\vspace{2.5cm}
+\begin{center}
+  \huge{\textbf{\DBKtitle}}\\ %
+  \ \\ %
+  \ \\ %
+  \Large{\DBKauthor}\\ %
+  \ifx\DBKsubtitle\relax\else%
+    \underline{\ \ \ \ \ \ \ \ \ \ \ }\\ %
+    \ \\ %
+    \huge{\textbf{\DBKsubtitle}}\\ %
+  \fi
+\end{center}
+\vfill
+\setlength{\baselineskip}{\oldbaselineskip}
+\hspace{1cm}
+\vspace{1cm}
+\begin{center}
+\begin{tabular}{p{7cm} p{7cm}}
+\Large{\DBKreference{} \edhead} & \\
+\end{tabular}
+\end{center}
+}
+
+% Format for the other pages
+\newpage
+\setlength{\baselineskip}{\oldbaselineskip}
+\chead[]{\DBKcheadfront}
+\lfoot[]{}
+}
diff --git a/doc/manual/dvdomatic.xml b/doc/manual/dvdomatic.xml
new file mode 100644 (file)
index 0000000..70480bf
--- /dev/null
@@ -0,0 +1,313 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book [
+<!ENTITY % sgml.features "IGNORE">
+<!ENTITY % xml.features "INCLUDE">
+<!ENTITY % dbcent PUBLIC "-//OASIS//ENTITIES DocBook Character Entities V4.5//EN"
+   "/usr/share/xml/docbook/schema/dtd/4.5/dbcentx.mod">
+%dbcent;
+<!ENTITY % extensions SYSTEM "extensions.ent">
+%extensions;
+]>
+<book xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
+
+<bookinfo>
+<title>DVD-o-matic</title>
+<author><firstname>Carl</firstname><surname>Hetherington</surname></author>
+</bookinfo>
+
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
+<title>Introduction</title>
+
+<para>
+Hello, and welcome to DVD-o-matic!
+</para>
+
+<section>
+<title>What is DVD-o-matic?</title>
+
+<para>
+DVD-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 projectors.
+</para>
+
+<para>
+You might find it useful to make DVDs easier to present, to encode
+independently-shot feature films, or to generate local advertising for
+your cinema.
+</para>
+
+</section>
+</chapter>
+
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
+<title>Installation</title>
+
+<section>
+<title>Windows</title>
+
+<para>
+To install DVD-o-matic on Windows, simply download the installer from
+<ulink url="http://carlh.net/software/dvdomatic">http://carlh.net</ulink>
+and double-click it.  Click through the installer wizard, and
+DVD-o-matic will be installed to your machine.
+</para>
+
+</section>
+
+<section>
+<title>Linux</title>
+
+<para>
+Installation on Linux is currently a little involved, as there are no
+packages available (yet); you will have to compile it from source.
+</para>
+
+<para>
+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.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>
+<listitem><ulink url="http://www.boost.org/">Boost</ulink></listitem>
+<listitem><ulink url="http://www.libssh.org/">libssh</ulink></listitem>
+<listitem><ulink url="http://www.gtk.org/">GTK</ulink></listitem>
+<listitem><ulink url="http://www.wxwidgets.org/">wxWidgets</ulink></listitem>
+<listitem><ulink url="http://carlh.net/software/libdcp/">libdcp</ulink></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Once you have installed the development packages for the dependencies,
+download the source code from <ulink
+url="http://carlh.net/software/dvdomatic">http://carlh.net</ulink>,
+unpack it and run the following commands from inside the source
+directory:
+</para>
+
+<programlisting>
+./waf configure
+./waf build
+sudo ./waf install
+</programlisting>
+
+<para>
+With any luck, this will build and install DVD-o-matic on your system.  To run it, enter:
+</para>
+
+<programlisting>
+dvdomatic
+</programlisting>
+
+<para>
+in a shell.
+</para>
+
+</section>
+</chapter>
+
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
+<title>Creating a video DCP with DVD-o-matic</title>
+
+<para>
+In this chapter we will see how to create a video DCP using DVD-o-matic.
+</para>
+
+<section>
+<title>Creating a new film</title>
+
+<para>
+Let's make a very simple DCP to see how DVD-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
+highest-resolution material available, but for this test we will use
+the low-resolution version to save everyone's bandwidth bills.
+</para>
+
+<para>
+Now, start DVD-o-matic and its window will open.  First, we will
+create a new film.  A &lsquo;film&rsquo; is how DVD-o-matic refers to
+a piece of content, along with some settings, which we will make into
+a DCP.  DVD-o-matic stores its data in a folder on your disk while it
+creates the DCP.  will use to store its working files while it creates
+your DCP.  You can create a new film by selecting
+<guilabel>New</guilabel> from the <guilabel>File</guilabel> menu, as
+shown in <xref linkend="fig-file-new"/>.
+</para>
+
+<figure id="fig-file-new"> 
+  <title>Creating a new film</title> 
+  <mediaobject>
+    <imageobject> 
+      <imagedata fileref="screenshots/file-new&scs;"/>
+    </imageobject> 
+  </mediaobject>
+</figure>
+
+<para>
+This will open a dialogue box for the new film, as shown in <xref
+linkend="fig-new-film"/>.
+</para>
+
+<figure id="fig-new-film"> 
+  <title>Dialogue box for creating a new film</title> 
+  <mediaobject>
+    <imageobject> 
+      <imagedata fileref="screenshots/new-film&scs;"/>
+    </imageobject> 
+  </mediaobject>
+</figure>
+
+<para>
+In this dialogue box you can choose a name for the DCP.  This will be
+used to name the folder to store its data in, and also as the initial
+name for the DCP itself).  You can also set where you want to create
+the film.  In the example from the figure, DVD-o-matic will create a
+folder called &lsquo;DCP Test&rsquo; inside my home folder (carl) into which it
+will write its working files.
+</para>
+
+</section>
+
+<section>
+<title>Selecting content</title>
+
+<para>
+The next step is to set the content that you want to use.  Click the
+content selector, as shown in <xref
+linkend="fig-click-content-selector"/> and the a file chooser will
+open for you to select the content file to use, as shown in <xref
+linkend="fig-select-content-file"/>.
+</para>
+
+<figure id="fig-click-content-selector">
+  <title>Opening the content selector</title> 
+  <mediaobject>
+    <imageobject> 
+      <imagedata fileref="screenshots/click-content-selector&scs;"/>
+    </imageobject> 
+  </mediaobject>
+</figure>
+
+<figure id="fig-select-content-file"> 
+  <title>Selecting the content file</title> 
+  <mediaobject>
+    <imageobject> 
+      <imagedata fileref="screenshots/select-content-file&scs;"/>
+    </imageobject> 
+  </mediaobject>
+</figure>
+
+<para>
+Select your content file and click <guilabel>Open</guilabel>.  In this
+case, we are using the Sintel trailer that we downloaded earlier.
+</para>
+
+<para>
+When you do this, DVD-o-maticw will take a look at your file.  After a
+short while (when the progress bars at the bottom right of the window
+have finished), you can look through your content using the slider to
+the right of the window, as shown in <xref linkend="fig-examine-thumbs"/>.
+</para>
+
+<figure id="fig-examine-thumbs"> 
+  <title>Examining the content</title>
+  <mediaobject>
+    <imageobject> 
+      <imagedata fileref="screenshots/examine-thumbs&scs;"/>
+    </imageobject> 
+  </mediaobject>
+</figure>
+
+<para>
+Dragging the slider will move through your video.
+</para>
+
+</section>
+
+<section>
+<title>Setting up</title>
+
+<para>
+Now there are a few things to set up to describe how the DCP should be
+created, as shown in <xref linkend="fig-setup"/>.
+</para>
+
+<figure id="fig-setup"> 
+  <title>Setting up</title>
+  <mediaobject>
+    <imageobject> 
+      <imagedata fileref="screenshots/setup&scs;"/>
+    </imageobject> 
+  </mediaobject>
+</figure>
+
+<para>
+The first thing is the content type.  This can be
+&lsquo;feature&rsquo;, &lsquo;trailer&rsquo; or whatever; select the
+required type from the drop-down list.
+</para>
+
+<para>
+Next is the format.  This will govern the shape that DVD-o-matic will
+make your image into.  Select the aspect ratio that your content
+should be presented in.  The &lsquo;4:3 within Flat&rsquo; and
+&lsquo;16:9 within Flat&rsquo; settings will put the image at the
+specified ratio within a Flat (1.85:1) frame, so that you can project
+the DCP using your projector's Flat preset.
+</para>
+
+<para>
+The remaining options can often be left alone, but may sometimes be
+useful.  The &lsquo;crop&rsquo; settings can be used to crop your
+content, which can be useful to remove black borders from round the
+edges of DVD images, for example.  The <guilabel>L</guilabel>,
+<guilabel>R</guilabel>, <guilabel>T</guilabel> and
+<guilabel>B</guilabel> settings correspond to the left, right, top and
+bottom of the image respectively.  The specified number of pixels will
+be trimmed from each edge, and your content image in the right of the
+window will be updated to show the cropping in action.
+</para>
+
+<para>
+The &lsquo;filters&rsquo; settings allow you to apply various video
+filters to the image.  These may be useful to try to improve
+poor-quality sources like DVDs.  We will discuss filtering later in the manual.
+<!-- XXX: link -->
+</para>
+
+<para>
+The &lsquo;scaler&rsquo; is the method that will be used to scale up
+your content to the required size for the DCP, if required.  We will
+discuss the options in more detail later; Bicubic is a fine choice in
+most situations.
+<!-- XXX: link -->
+</para>
+
+<para>
+&lsquo;Audio Gain&rsquo; is used to alter the volume of the
+soundtrack.  The specified gain (in dB) will be applied to each sound
+channel before it is written to the DCP.
+</para>
+
+<para>
+&lsquo;Audio Delay&rsquo; is used to adjust the synchronisation
+between audio and video.  A positive delay will move the audio later
+with respect to the video, and a negative delay will move it earlier.
+</para>
+
+<!-- XXX: I don't think FPS should be editable -->
+
+<!-- XXX: Range -->
+
+</section>
+
+</chapter>
+
+</book>
diff --git a/doc/manual/extensions-html.ent b/doc/manual/extensions-html.ent
new file mode 100644 (file)
index 0000000..7cfd790
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!ENTITY scs ".png">
+<!ENTITY dia ".png">
diff --git a/doc/manual/extensions-pdf.ent b/doc/manual/extensions-pdf.ent
new file mode 100644 (file)
index 0000000..75cb164
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!ENTITY scs ".png">
+<!ENTITY dia ".pdf">
diff --git a/doc/manual/pptex.py b/doc/manual/pptex.py
new file mode 100755 (executable)
index 0000000..85653e5
--- /dev/null
@@ -0,0 +1,35 @@
+#!/usr/bin/python
+
+# Farcical script to remove newlines after
+# \begin{sidebar} in dblatex' .tex output;
+#
+# farcical because I'm sure this can be done
+# in 1 line of sed, and also because I'm sure
+# the whole need for this script could be fixed
+# in the ardour.sty (but I don't know how).
+
+import sys
+import os
+import tempfile
+import shutil
+
+f = open(sys.argv[1])
+t = tempfile.NamedTemporaryFile(delete = False)
+remove_next = False
+while 1:
+    l = f.readline()
+    if l == '':
+        break
+
+    if not remove_next:
+        print>>t,l,
+
+    remove_next = False
+
+    if l.strip() == '\\begin{sidebar}':
+        remove_next = True
+
+f.close()
+t.close()
+shutil.move(t.name, sys.argv[1])
+
diff --git a/doc/manual/screenshots/click-content-selector.png b/doc/manual/screenshots/click-content-selector.png
new file mode 100644 (file)
index 0000000..556232e
Binary files /dev/null and b/doc/manual/screenshots/click-content-selector.png differ
diff --git a/doc/manual/screenshots/examine-thumbs.png b/doc/manual/screenshots/examine-thumbs.png
new file mode 100644 (file)
index 0000000..bd52e66
Binary files /dev/null and b/doc/manual/screenshots/examine-thumbs.png differ
diff --git a/doc/manual/screenshots/file-new.png b/doc/manual/screenshots/file-new.png
new file mode 100644 (file)
index 0000000..d9c6d02
Binary files /dev/null and b/doc/manual/screenshots/file-new.png differ
diff --git a/doc/manual/screenshots/job-make-dcp.png b/doc/manual/screenshots/job-make-dcp.png
new file mode 100644 (file)
index 0000000..0e91b63
Binary files /dev/null and b/doc/manual/screenshots/job-make-dcp.png differ
diff --git a/doc/manual/screenshots/making-dcp.png b/doc/manual/screenshots/making-dcp.png
new file mode 100644 (file)
index 0000000..b08c686
Binary files /dev/null and b/doc/manual/screenshots/making-dcp.png differ
diff --git a/doc/manual/screenshots/new-film.png b/doc/manual/screenshots/new-film.png
new file mode 100644 (file)
index 0000000..6d93e75
Binary files /dev/null and b/doc/manual/screenshots/new-film.png differ
diff --git a/doc/manual/screenshots/select-content-file.png b/doc/manual/screenshots/select-content-file.png
new file mode 100644 (file)
index 0000000..a422386
Binary files /dev/null and b/doc/manual/screenshots/select-content-file.png differ
diff --git a/doc/manual/screenshots/setup.png b/doc/manual/screenshots/setup.png
new file mode 100644 (file)
index 0000000..897590f
Binary files /dev/null and b/doc/manual/screenshots/setup.png differ
index 03712cb0de7a5272b4de0393cbc37c8feb6af85d..1f50c8dc4da519fc0881f336af798be70020e1f1 100644 (file)
@@ -28,9 +28,9 @@ using namespace std;
 
 vector<DCPContentType const *> DCPContentType::_dcp_content_types;
 
-DCPContentType::DCPContentType (string p, libdcp::DCP::ContentType c)
+DCPContentType::DCPContentType (string p, libdcp::ContentKind k)
        : _pretty_name (p)
-       , _libdcp_type (c)
+       , _libdcp_kind (k)
 {
 
 }
@@ -38,16 +38,16 @@ DCPContentType::DCPContentType (string p, libdcp::DCP::ContentType c)
 void
 DCPContentType::setup_dcp_content_types ()
 {
-       _dcp_content_types.push_back (new DCPContentType ("Feature", libdcp::DCP::FEATURE));
-       _dcp_content_types.push_back (new DCPContentType ("Short", libdcp::DCP::SHORT));
-       _dcp_content_types.push_back (new DCPContentType ("Trailer", libdcp::DCP::TRAILER));
-       _dcp_content_types.push_back (new DCPContentType ("Test", libdcp::DCP::TEST));
-       _dcp_content_types.push_back (new DCPContentType ("Transitional", libdcp::DCP::TRANSITIONAL));
-       _dcp_content_types.push_back (new DCPContentType ("Rating", libdcp::DCP::RATING));
-       _dcp_content_types.push_back (new DCPContentType ("Teaser", libdcp::DCP::TEASER));
-       _dcp_content_types.push_back (new DCPContentType ("Policy", libdcp::DCP::POLICY));
-       _dcp_content_types.push_back (new DCPContentType ("Public Service Announcement", libdcp::DCP::PUBLIC_SERVICE_ANNOUNCEMENT));
-       _dcp_content_types.push_back (new DCPContentType ("Advertisement", libdcp::DCP::ADVERTISEMENT));
+       _dcp_content_types.push_back (new DCPContentType ("Feature", libdcp::FEATURE));
+       _dcp_content_types.push_back (new DCPContentType ("Short", libdcp::SHORT));
+       _dcp_content_types.push_back (new DCPContentType ("Trailer", libdcp::TRAILER));
+       _dcp_content_types.push_back (new DCPContentType ("Test", libdcp::TEST));
+       _dcp_content_types.push_back (new DCPContentType ("Transitional", libdcp::TRANSITIONAL));
+       _dcp_content_types.push_back (new DCPContentType ("Rating", libdcp::RATING));
+       _dcp_content_types.push_back (new DCPContentType ("Teaser", libdcp::TEASER));
+       _dcp_content_types.push_back (new DCPContentType ("Policy", libdcp::POLICY));
+       _dcp_content_types.push_back (new DCPContentType ("Public Service Announcement", libdcp::PUBLIC_SERVICE_ANNOUNCEMENT));
+       _dcp_content_types.push_back (new DCPContentType ("Advertisement", libdcp::ADVERTISEMENT));
 }
 
 DCPContentType const *
index 2c6d1879be59fd7f35dd7bf7f4e391f937d44cc4..cb858cf5a34975a169fcef5dc72b37c9fc438a2b 100644 (file)
 class DCPContentType
 {
 public:
-       DCPContentType (std::string, libdcp::DCP::ContentType);
+       DCPContentType (std::string, libdcp::ContentKind);
 
        /** @return user-visible `pretty' name */
        std::string pretty_name () const {
                return _pretty_name;
        }
 
-       libdcp::DCP::ContentType libdcp_type () const {
-               return _libdcp_type;
+       libdcp::ContentKind libdcp_kind () const {
+               return _libdcp_kind;
        }
 
        static DCPContentType const * from_pretty_name (std::string);
@@ -50,7 +50,7 @@ public:
 
 private:
        std::string _pretty_name;
-       libdcp::DCP::ContentType _libdcp_type;
+       libdcp::ContentKind _libdcp_kind;
 
        /** All available DCP content types */
        static std::vector<DCPContentType const *> _dcp_content_types;
index a6d0c2d10a1ed755d52d71a2b2af27d2fc2a6de3..4f42e13f13f2881939de89ea3d5097338b174423 100644 (file)
@@ -84,7 +84,7 @@ MakeDCPJob::run ()
                break;
        }
        
-       libdcp::DCP dcp (_fs->dir (_fs->name), _fs->name, _fs->dcp_content_type->libdcp_type (), rint (_fs->frames_per_second), frames);
+       libdcp::DCP dcp (_fs->dir (_fs->name), _fs->name, _fs->dcp_content_type->libdcp_kind (), rint (_fs->frames_per_second), frames);
        dcp.Progress.connect (sigc::mem_fun (*this, &MakeDCPJob::dcp_progress));
 
        descend (0.9);