Merge master.
authorCarl Hetherington <cth@carlh.net>
Sat, 25 Oct 2014 13:47:43 +0000 (14:47 +0100)
committerCarl Hetherington <cth@carlh.net>
Sat, 25 Oct 2014 13:47:43 +0000 (14:47 +0100)
36 files changed:
1  2 
ChangeLog
debian/changelog
src/lib/colour_conversion.cc
src/lib/dcp_video.cc
src/lib/job.cc
src/lib/player_video.cc
src/lib/player_video.h
src/lib/playlist.cc
src/lib/po/de_DE.po
src/lib/po/es_ES.po
src/lib/po/fr_FR.po
src/lib/po/it_IT.po
src/lib/po/nl_NL.po
src/lib/po/sv_SE.po
src/lib/video_content.cc
src/lib/video_content.h
src/tools/dcpomatic.cc
src/tools/po/de_DE.po
src/tools/po/es_ES.po
src/tools/po/fr_FR.po
src/tools/po/it_IT.po
src/tools/po/nl_NL.po
src/tools/po/sv_SE.po
src/wx/about_dialog.cc
src/wx/film_editor.cc
src/wx/po/de_DE.po
src/wx/po/es_ES.po
src/wx/po/fr_FR.po
src/wx/po/it_IT.po
src/wx/po/nl_NL.po
src/wx/po/sv_SE.po
src/wx/timeline.cc
src/wx/timeline_dialog.cc
src/wx/timeline_dialog.h
src/wx/video_panel.cc
src/wx/video_panel.h

diff --combined ChangeLog
index 053c1f106cf2db45745c0af86978eeeb4f074712,1978d85f73dbbe7b6655119a64c610f808aaac9d..07c8218f763c61acf8dc53a64619f76d56f2527c
+++ b/ChangeLog
@@@ -1,7 -1,30 +1,34 @@@
+ 2014-10-24  Carl Hetherington  <cth@carlh.net>
+       * Add a pause button for jobs.
+       * Experimental support for bypassing colourspace conversion (#266).
+       * Version 1.76.6 released.
+ 2014-10-23  Carl Hetherington  <cth@carlh.net>
+       * Version 1.76.5 released.
+ 2014-10-23  Carl Hetherington  <cth@carlh.net>
+       * Version 1.76.4 released.
+ 2014-10-23  Carl Hetherington  <cth@carlh.net>
+       * Rename 'Add folder' to 'Add image sequence'
+       and add some tooltips.
+       * Move the "keep video in sequence" button into
+       the timeline dialogue.
+       * Fix mix-placement of content when using the "Down"
+       button to move it.
 +2014-10-22  Carl Hetherington  <cth@carlh.net>
 +
 +      * Version 2.0.15 released.
 +
  2014-10-22  Carl Hetherington  <cth@carlh.net>
  
        * Version 1.76.3 released.
        * Make server finding more reliable when
        there are more than a few servers.
  
 +2014-10-05  Carl Hetherington  <cth@carlh.net>
 +
 +      * Use a more sensible default position and size for
 +      .srt subs.
 +
 +2014-10-03  Carl Hetherington  <cth@carlh.net>
 +
 +      * Version 2.0.14 released.
 +
 +2014-10-01  Carl Hetherington  <cth@carlh.net>
 +
 +      * Version 2.0.13 released.
 +
 +2014-09-30  Carl Hetherington  <cth@carlh.net>
 +
 +      * Version 2.0.12 released.
 +
 +2014-09-30  Carl Hetherington  <cth@carlh.net>
 +
 +      * Add basic video fade in/out.
 +
 +2014-09-22  Carl Hetherington  <cth@carlh.net>
 +
 +      * Version 2.0.11 released.
 +
 +2014-09-18  Carl Hetherington  <cth@carlh.net>
 +
 +      * Version 2.0.10 released.
 +
  2014-10-08  Carl Hetherington  <cth@carlh.net>
  
        * Version 1.74.2 released.
  
  2014-09-12  Carl Hetherington  <cth@carlh.net>
  
 +      * Version 2.0.9 released.
 +
 +2014-09-12  Carl Hetherington  <cth@carlh.net>
 +
 +      * Add "re-examine" option to content context menu (#339).
 +
 +2014-09-11  Carl Hetherington  <cth@carlh.net>
 +
 +      * Restore encoding optimisations for still-image sources.
 +
 +      * Add option to re-make signing chain with specified organisation,
 +      common names etc. (#354)
 +
        * Allow separate X and Y scale for subtitles (#337).
  
  2014-09-10  Carl Hetherington  <cth@carlh.net>
  
        * Fix hidden advanced preferences button in some locales.
  
 -2014-09-08  Carl Hetherington  <cth@carlh.net>
 +      * Version 2.0.8 released.
 +
 +2014-09-10  Carl Hetherington  <cth@carlh.net>
  
 -      * Version 1.73.4 released.
 +      * Fix loading of 1.x films.
 +
 +      * Fix crash on audio analysis in some cases.
 +
 +2014-09-09  Carl Hetherington  <cth@carlh.net>
 +
 +      * Version 2.0.7 released.
 +
 +2014-09-09  Carl Hetherington  <cth@carlh.net>
 +
 +      * Version 2.0.6 released.
 +
 +2014-09-09  Carl Hetherington  <cth@carlh.net>
 +
 +      * Fix missing OS X dependencies.
 +
 +      * Use a different directory for DCP-o-matic 2
 +      configuration (not the same as 1.x).
  
  2014-09-08  Carl Hetherington  <cth@carlh.net>
  
 -      * Fix failure to load Targa files.
 +      * Version 2.0.5 released.
  
 -2014-09-07  Carl Hetherington  <cth@carlh.net>
 +      * Fix hidden advanced preferences button in some locales.
  
 -      * Version 1.73.3 released.
 +2014-09-08  Carl Hetherington  <cth@carlh.net>
 +
 +      * Fix failure to load Targa files.
  
  2014-09-07  Carl Hetherington  <cth@carlh.net>
  
  
        * Fix a few bad fuzzy translations from the preferences dialog.
  
 -2014-09-03  Carl Hetherington  <cth@carlh.net>
 -
 -      * Version 1.73.2 released.
 -
  2014-09-03  Carl Hetherington  <cth@carlh.net>
  
        * Fix server certificate downloads on OS X (#376).
  
  2014-08-29  Carl Hetherington  <cth@carlh.net>
  
 +      * Version 2.0.4 released.
 +
 +2014-08-24  Carl Hetherington  <cth@carlh.net>
 +
 +      * Version 2.0.3 released.
 +
 +2014-08-24  Carl Hetherington  <cth@carlh.net>
 +
 +      * Version 2.0.2 released.
 +
 +2014-08-06  Carl Hetherington  <cth@carlh.net>
 +
 +      * Version 2.0.1 released.
 +
 +2014-07-15  Carl Hetherington  <cth@carlh.net>
 +
 +      * A variety of changes were made on the 2.0 branch
 +      but not documented in the ChangeLog.  Most sigificantly:
 +
 +      - DCP import
 +      - Creation of DCPs with proper XML subtitles
 +      - Import of .srt and .xml subtitles
 +      - Audio processing framework (with some basic processors).
 +
 +2014-03-07  Carl Hetherington  <cth@carlh.net>
 +
 +      * Add subtitle view.
        * Some improvements to the manual.
  
  2014-08-26  Carl Hetherington  <cth@carlh.net>
        * Attempt to fix random crashes on OS X (especially during encodes)
        thought to be caused by multiple threads using (different) stringstreams
        at the same time; see src/lib/safe_stringstream.
 +>>>>>>> origin/master
  
  2014-08-09  Carl Hetherington  <cth@carlh.net>
  
  2014-07-10  Carl Hetherington  <cth@carlh.net>
  
        * Version 1.72.2 released.
 +>>>>>>> origin/master
  
  2014-07-10  Carl Hetherington  <cth@carlh.net>
  
diff --combined debian/changelog
index 5702a6dfd4ad3381feacb2aa813967c6f5ab271f,6f3d19700feaabba84e45680287888d6faa1f6f2..9087bd1051a832f11a1182d21c1fc22c8ea2229b
@@@ -1,4 -1,4 +1,4 @@@
 -dcpomatic (1.76.6-1) UNRELEASED; urgency=low
 +dcpomatic (2.0.15-1) UNRELEASED; urgency=low
  
    * New upstream release.
    * New upstream release.
    * New upstream release.
    * New upstream release.
    * New upstream release.
++<<<<<<< HEAD
 +
 + -- Carl Hetherington <carl@d1stkfactory>  Wed, 22 Oct 2014 14:24:53 +0100
++=======
+   * New upstream release.
+   * New upstream release.
+  -- Carl Hetherington <carl@d1stkfactory>  Fri, 24 Oct 2014 01:19:26 +0100
++>>>>>>> origin/master
  
  dcpomatic (0.87-1) UNRELEASED; urgency=low
  
index c836cc2715728e8c75f09eb5271d4b003748dbc3,daf890aea0628940104c11e68cc472ff764c0c43..5ecbf4021ce4efb30f8ccb39de37eea6f127820b
@@@ -18,8 -18,8 +18,8 @@@
  */
  
  #include <libxml++/libxml++.h>
 -#include <libdcp/colour_matrix.h>
 -#include <libdcp/raw_convert.h>
 +#include <dcp/colour_matrix.h>
 +#include <dcp/raw_convert.h>
  #include <libcxml/cxml.h>
  #include "config.h"
  #include "colour_conversion.h"
@@@ -34,7 -34,7 +34,7 @@@ using std::cout
  using std::vector;
  using boost::shared_ptr;
  using boost::optional;
 -using libdcp::raw_convert;
 +using dcp::raw_convert;
  
  ColourConversion::ColourConversion ()
        : input_gamma (2.4)
@@@ -44,7 -44,7 +44,7 @@@
  {
        for (int i = 0; i < 3; ++i) {
                for (int j = 0; j < 3; ++j) {
 -                      matrix (i, j) = libdcp::colour_matrix::srgb_to_xyz[i][j];
 +                      matrix (i, j) = dcp::colour_matrix::srgb_to_xyz[i][j];
                }
        }
  }
@@@ -84,6 -84,16 +84,16 @@@ ColourConversion::ColourConversion (cxm
        output_gamma = node->number_child<double> ("OutputGamma");
  }
  
+ boost::optional<ColourConversion>
+ ColourConversion::from_xml (cxml::NodePtr node)
+ {
+       if (!node->optional_node_child ("InputGamma")) {
+               return boost::optional<ColourConversion> ();
+       }
+       return ColourConversion (node);
+ }
  void
  ColourConversion::as_xml (xmlpp::Node* node) const
  {
diff --combined src/lib/dcp_video.cc
index f6c671fd14774b655acb67708b75084c6a49eaf8,0000000000000000000000000000000000000000..cacba190f87603dfa5d12a1a27c953229af959a5
mode 100644,000000..100644
--- /dev/null
@@@ -1,332 -1,0 +1,339 @@@
-       shared_ptr<dcp::GammaLUT> in_lut = dcp::GammaLUT::cache.get (
-               12, _frame->colour_conversion().input_gamma, _frame->colour_conversion().input_gamma_linearised
-               );
-       
-       /* XXX: libdcp should probably use boost */
-       
-       double matrix[3][3];
-       for (int i = 0; i < 3; ++i) {
-               for (int j = 0; j < 3; ++j) {
-                       matrix[i][j] = _frame->colour_conversion().matrix (i, j);
 +/*
 +    Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
 +    Taken from code Copyright (C) 2010-2011 Terrence Meiczinger
 +
 +    This program is free software; you can redistribute it and/or modify
 +    it under the terms of the GNU General Public License as published by
 +    the Free Software Foundation; either version 2 of the License, or
 +    (at your option) any later version.
 +
 +    This program is distributed in the hope that it will be useful,
 +    but WITHOUT ANY WARRANTY; without even the implied warranty of
 +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +    GNU General Public License for more details.
 +
 +    You should have received a copy of the GNU General Public License
 +    along with this program; if not, write to the Free Software
 +    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 +
 +*/
 +
 +/** @file  src/dcp_video_frame.cc
 + *  @brief A single frame of video destined for a DCP.
 + *
 + *  Given an Image and some settings, this class knows how to encode
 + *  the image to J2K either on the local host or on a remote server.
 + *
 + *  Objects of this class are used for the queue that we keep
 + *  of images that require encoding.
 + */
 +
 +#include <stdint.h>
 +#include <cstring>
 +#include <cstdlib>
 +#include <stdexcept>
 +#include <cstdio>
 +#include <iomanip>
 +#include <iostream>
 +#include <fstream>
 +#include <unistd.h>
 +#include <errno.h>
 +#include <boost/array.hpp>
 +#include <boost/asio.hpp>
 +#include <boost/filesystem.hpp>
 +#include <boost/lexical_cast.hpp>
 +#include <dcp/gamma_lut.h>
 +#include <dcp/xyz_frame.h>
 +#include <dcp/rgb_xyz.h>
 +#include <dcp/colour_matrix.h>
 +#include <dcp/raw_convert.h>
 +#include <libcxml/cxml.h>
 +#include "film.h"
 +#include "dcp_video.h"
 +#include "config.h"
 +#include "exceptions.h"
 +#include "server.h"
 +#include "util.h"
 +#include "scaler.h"
 +#include "image.h"
 +#include "log.h"
 +#include "cross.h"
 +#include "player_video.h"
 +#include "encoded_data.h"
 +
 +#define LOG_GENERAL(...) _log->log (String::compose (__VA_ARGS__), Log::TYPE_GENERAL);
 +
 +#include "i18n.h"
 +
 +using std::string;
 +using std::cout;
 +using boost::shared_ptr;
 +using boost::lexical_cast;
 +using dcp::Size;
 +using dcp::raw_convert;
 +
 +#define DCI_COEFFICENT (48.0 / 52.37)
 +
 +/** Construct a DCP video frame.
 + *  @param frame Input frame.
 + *  @param index Index of the frame within the DCP.
 + *  @param bw J2K bandwidth to use (see Config::j2k_bandwidth ())
 + *  @param l Log to write to.
 + */
 +DCPVideo::DCPVideo (
 +      shared_ptr<const PlayerVideo> frame, int index, int dcp_fps, int bw, Resolution r, bool b, shared_ptr<Log> l
 +      )
 +      : _frame (frame)
 +      , _index (index)
 +      , _frames_per_second (dcp_fps)
 +      , _j2k_bandwidth (bw)
 +      , _resolution (r)
 +      , _burn_subtitles (b)
 +      , _log (l)
 +{
 +      
 +}
 +
 +DCPVideo::DCPVideo (shared_ptr<const PlayerVideo> frame, shared_ptr<const cxml::Node> node, shared_ptr<Log> log)
 +      : _frame (frame)
 +      , _log (log)
 +{
 +      _index = node->number_child<int> ("Index");
 +      _frames_per_second = node->number_child<int> ("FramesPerSecond");
 +      _j2k_bandwidth = node->number_child<int> ("J2KBandwidth");
 +      _resolution = Resolution (node->optional_number_child<int>("Resolution").get_value_or (RESOLUTION_2K));
 +      _burn_subtitles = node->bool_child ("BurnSubtitles");
 +}
 +
 +/** J2K-encode this frame on the local host.
 + *  @return Encoded data.
 + */
 +shared_ptr<EncodedData>
 +DCPVideo::encode_locally ()
 +{
-       shared_ptr<dcp::XYZFrame> xyz = dcp::rgb_to_xyz (
-               _frame->image (AV_PIX_FMT_RGB48LE, _burn_subtitles),
-               in_lut,
-               dcp::GammaLUT::cache.get (16, 1 / _frame->colour_conversion().output_gamma, false),
-               matrix
-               );
++      shared_ptr<dcp::XYZFrame> xyz;
++
++      if (_frame->colour_conversion()) {
++              ColourConversion conversion = _frame->colour_conversion().get ();
++              shared_ptr<dcp::GammaLUT> in_lut = dcp::GammaLUT::cache.get (
++                      12, conversion.input_gamma, conversion.input_gamma_linearised
++                      );
++              
++              /* XXX: dcp should probably use boost */
++              
++              double matrix[3][3];
++              for (int i = 0; i < 3; ++i) {
++                      for (int j = 0; j < 3; ++j) {
++                              matrix[i][j] = conversion.matrix (i, j);
++                      }
 +              }
++              
++              xyz = dcp::rgb_to_xyz (
++                      _frame->image (AV_PIX_FMT_RGB48LE, _burn_subtitles),
++                      in_lut,
++                      dcp::GammaLUT::cache.get (16, 1 / conversion.output_gamma, false),
++                      matrix
++                      );
++      } else {
++              xyz = dcp::xyz_to_xyz (_frame->image (AV_PIX_FMT_RGB48LE, _burn_subtitles));
 +      }
 +
 +      /* Set the max image and component sizes based on frame_rate */
 +      int max_cs_len = ((float) _j2k_bandwidth) / 8 / _frames_per_second;
 +      if (_frame->eyes() == EYES_LEFT || _frame->eyes() == EYES_RIGHT) {
 +              /* In 3D we have only half the normal bandwidth per eye */
 +              max_cs_len /= 2;
 +      }
 +      int const max_comp_size = max_cs_len / 1.25;
 +
 +      /* get a J2K compressor handle */
 +      opj_cinfo_t* cinfo = opj_create_compress (CODEC_J2K);
 +      if (cinfo == 0) {
 +              throw EncodeError (N_("could not create JPEG2000 encoder"));
 +      }
 +
 +      /* Set encoding parameters to default values */
 +      opj_cparameters_t parameters;
 +      opj_set_default_encoder_parameters (&parameters);
 +
 +      /* Set default cinema parameters */
 +      parameters.tile_size_on = false;
 +      parameters.cp_tdx = 1;
 +      parameters.cp_tdy = 1;
 +      
 +      /* Tile part */
 +      parameters.tp_flag = 'C';
 +      parameters.tp_on = 1;
 +      
 +      /* Tile and Image shall be at (0,0) */
 +      parameters.cp_tx0 = 0;
 +      parameters.cp_ty0 = 0;
 +      parameters.image_offset_x0 = 0;
 +      parameters.image_offset_y0 = 0;
 +
 +      /* Codeblock size = 32x32 */
 +      parameters.cblockw_init = 32;
 +      parameters.cblockh_init = 32;
 +      parameters.csty |= 0x01;
 +      
 +      /* The progression order shall be CPRL */
 +      parameters.prog_order = CPRL;
 +      
 +      /* No ROI */
 +      parameters.roi_compno = -1;
 +      
 +      parameters.subsampling_dx = 1;
 +      parameters.subsampling_dy = 1;
 +      
 +      /* 9-7 transform */
 +      parameters.irreversible = 1;
 +      
 +      parameters.tcp_rates[0] = 0;
 +      parameters.tcp_numlayers++;
 +      parameters.cp_disto_alloc = 1;
 +      parameters.cp_rsiz = _resolution == RESOLUTION_2K ? CINEMA2K : CINEMA4K;
 +      if (_resolution == RESOLUTION_4K) {
 +              parameters.numpocs = 2;
 +              parameters.POC[0].tile = 1;
 +              parameters.POC[0].resno0 = 0; 
 +              parameters.POC[0].compno0 = 0;
 +              parameters.POC[0].layno1 = 1;
 +              parameters.POC[0].resno1 = parameters.numresolution - 1;
 +              parameters.POC[0].compno1 = 3;
 +              parameters.POC[0].prg1 = CPRL;
 +              parameters.POC[1].tile = 1;
 +              parameters.POC[1].resno0 = parameters.numresolution - 1; 
 +              parameters.POC[1].compno0 = 0;
 +              parameters.POC[1].layno1 = 1;
 +              parameters.POC[1].resno1 = parameters.numresolution;
 +              parameters.POC[1].compno1 = 3;
 +              parameters.POC[1].prg1 = CPRL;
 +      }
 +      
 +      parameters.cp_comment = strdup (N_("DCP-o-matic"));
 +      parameters.cp_cinema = _resolution == RESOLUTION_2K ? CINEMA2K_24 : CINEMA4K_24;
 +
 +      /* 3 components, so use MCT */
 +      parameters.tcp_mct = 1;
 +      
 +      /* set max image */
 +      parameters.max_comp_size = max_comp_size;
 +      parameters.tcp_rates[0] = ((float) (3 * xyz->size().width * xyz->size().height * 12)) / (max_cs_len * 8);
 +
 +      /* Set event manager to null (openjpeg 1.3 bug) */
 +      cinfo->event_mgr = 0;
 +
 +      /* Setup the encoder parameters using the current image and user parameters */
 +      opj_setup_encoder (cinfo, &parameters, xyz->opj_image ());
 +
 +      opj_cio_t* cio = opj_cio_open ((opj_common_ptr) cinfo, 0, 0);
 +      if (cio == 0) {
 +              opj_destroy_compress (cinfo);
 +              throw EncodeError (N_("could not open JPEG2000 stream"));
 +      }
 +
 +      int const r = opj_encode (cinfo, cio, xyz->opj_image(), 0);
 +      if (r == 0) {
 +              opj_cio_close (cio);
 +              opj_destroy_compress (cinfo);
 +              throw EncodeError (N_("JPEG2000 encoding failed"));
 +      }
 +
 +      switch (_frame->eyes()) {
 +      case EYES_BOTH:
 +              LOG_GENERAL (N_("Finished locally-encoded frame %1 for mono"), _index);
 +              break;
 +      case EYES_LEFT:
 +              LOG_GENERAL (N_("Finished locally-encoded frame %1 for L"), _index);
 +              break;
 +      case EYES_RIGHT:
 +              LOG_GENERAL (N_("Finished locally-encoded frame %1 for R"), _index);
 +              break;
 +      default:
 +              break;
 +      }
 +
 +      shared_ptr<EncodedData> enc (new LocallyEncodedData (cio->buffer, cio_tell (cio)));
 +
 +      opj_cio_close (cio);
 +      free (parameters.cp_comment);
 +      opj_destroy_compress (cinfo);
 +
 +      return enc;
 +}
 +
 +/** Send this frame to a remote server for J2K encoding, then read the result.
 + *  @param serv Server to send to.
 + *  @return Encoded data.
 + */
 +shared_ptr<EncodedData>
 +DCPVideo::encode_remotely (ServerDescription serv)
 +{
 +      boost::asio::io_service io_service;
 +      boost::asio::ip::tcp::resolver resolver (io_service);
 +      boost::asio::ip::tcp::resolver::query query (serv.host_name(), raw_convert<string> (Config::instance()->server_port_base ()));
 +      boost::asio::ip::tcp::resolver::iterator endpoint_iterator = resolver.resolve (query);
 +
 +      shared_ptr<Socket> socket (new Socket);
 +
 +      socket->connect (*endpoint_iterator);
 +
 +      /* Collect all XML metadata */
 +      xmlpp::Document doc;
 +      xmlpp::Element* root = doc.create_root_node ("EncodingRequest");
 +      root->add_child("Version")->add_child_text (raw_convert<string> (SERVER_LINK_VERSION));
 +      add_metadata (root);
 +
 +      LOG_GENERAL (N_("Sending frame %1 to remote"), _index);
 +      
 +      /* Send XML metadata */
 +      string xml = doc.write_to_string ("UTF-8");
 +      socket->write (xml.length() + 1);
 +      socket->write ((uint8_t *) xml.c_str(), xml.length() + 1);
 +
 +      /* Send binary data */
 +      _frame->send_binary (socket, _burn_subtitles);
 +
 +      /* Read the response (JPEG2000-encoded data); this blocks until the data
 +         is ready and sent back.
 +      */
 +      shared_ptr<EncodedData> e (new RemotelyEncodedData (socket->read_uint32 ()));
 +      socket->read (e->data(), e->size());
 +
 +      LOG_GENERAL (N_("Finished remotely-encoded frame %1"), _index);
 +      
 +      return e;
 +}
 +
 +void
 +DCPVideo::add_metadata (xmlpp::Element* el) const
 +{
 +      el->add_child("Index")->add_child_text (raw_convert<string> (_index));
 +      el->add_child("FramesPerSecond")->add_child_text (raw_convert<string> (_frames_per_second));
 +      el->add_child("J2KBandwidth")->add_child_text (raw_convert<string> (_j2k_bandwidth));
 +      el->add_child("Resolution")->add_child_text (raw_convert<string> (int (_resolution)));
 +      el->add_child("BurnSubtitles")->add_child_text (_burn_subtitles ? "1" : "0");
 +      _frame->add_metadata (el, _burn_subtitles);
 +}
 +
 +Eyes
 +DCPVideo::eyes () const
 +{
 +      return _frame->eyes ();
 +}
 +
 +/** @return true if this DCPVideo is definitely the same as another;
 + *  (apart from the frame index), false if it is probably not.
 + */
 +bool
 +DCPVideo::same (shared_ptr<const DCPVideo> other) const
 +{
 +      if (_frames_per_second != other->_frames_per_second ||
 +          _j2k_bandwidth != other->_j2k_bandwidth ||
 +          _resolution != other->_resolution ||
 +          _burn_subtitles != other->_burn_subtitles) {
 +              return false;
 +      }
 +
 +      return _frame->same (other->_frame);
 +}
diff --combined src/lib/job.cc
index 1d3cb73b6fcf39f276e9aefc3fbdd91841397051,52276c0eab3d69ae834f08bd80d8522715c66cd7..7be17141769c78fb22b0e4a669f8c911bfbbaaa1
@@@ -1,5 -1,5 +1,5 @@@
  /*
 -    Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
 +    Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
  
      This program is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published by
  
  #include <boost/thread.hpp>
  #include <boost/filesystem.hpp>
 -#include <libdcp/exceptions.h>
 +#include <dcp/exceptions.h>
  #include "job.h"
  #include "util.h"
  #include "cross.h"
  #include "ui_signaller.h"
  #include "exceptions.h"
 -#include "safe_stringstream.h"
 +#include "film.h"
 +#include "log.h"
  
  #include "i18n.h"
  
@@@ -67,8 -66,8 +67,8 @@@ Job::run_wrapper (
  
                run ();
  
 -      } catch (libdcp::FileError& e) {
 -              
 +      } catch (dcp::FileError& e) {
 +
                string m = String::compose (_("An error occurred whilst handling the file %1."), boost::filesystem::path (e.filename()).leaf());
  
                try {
@@@ -205,7 -204,7 +205,7 @@@ Job::set_state (State s
        }       
  }
  
 -/** @return Time (in seconds) that this sub-job has been running */
 +/** @return DCPTime (in seconds) that this sub-job has been running */
  int
  Job::elapsed_time () const
  {
@@@ -231,8 -230,9 +231,9 @@@ Job::set_progress (float p, bool force
        _progress = p;
        boost::this_thread::interruption_point ();
  
-       if (paused ()) {
-               dcpomatic_sleep (1);
+       boost::mutex::scoped_lock lm2 (_state_mutex);
+       while (_state == PAUSED) {
+               _pause_changed.wait (lm2);
        }
  
        if (ui_signaller) {
@@@ -280,7 -280,6 +281,7 @@@ Job::error_summary () cons
  void
  Job::set_error (string s, string d)
  {
 +      _film->log()->log (String::compose ("Error in job: %1 (%2)", s, d), Log::TYPE_ERROR);
        boost::mutex::scoped_lock lm (_state_mutex);
        _error_summary = s;
        _error_details = d;
@@@ -350,6 -349,7 +351,7 @@@ Job::pause (
  {
        if (running ()) {
                set_state (PAUSED);
+               _pause_changed.notify_all ();
        }
  }
  
@@@ -358,5 -358,6 +360,6 @@@ Job::resume (
  {
        if (paused ()) {
                set_state (RUNNING);
+               _pause_changed.notify_all ();
        }
  }
diff --combined src/lib/player_video.cc
index 8e6fcd5f3524f8baf4e00c54f791cc92bf4778a7,0000000000000000000000000000000000000000..b5f0b5fa5fde53309692c9380eb1cdf920c3f9c1
mode 100644,000000..100644
--- /dev/null
@@@ -1,209 -1,0 +1,212 @@@
-       ColourConversion colour_conversion
 +/*
 +    Copyright (C) 2013-2014 Carl Hetherington <cth@carlh.net>
 +
 +    This program is free software; you can redistribute it and/or modify
 +    it under the terms of the GNU General Public License as published by
 +    the Free Software Foundation; either version 2 of the License, or
 +    (at your option) any later version.
 +
 +    This program is distributed in the hope that it will be useful,
 +    but WITHOUT ANY WARRANTY; without even the implied warranty of
 +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +    GNU General Public License for more details.
 +
 +    You should have received a copy of the GNU General Public License
 +    along with this program; if not, write to the Free Software
 +    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 +
 +*/
 +
 +#include <dcp/raw_convert.h>
 +#include "player_video.h"
 +#include "image.h"
 +#include "image_proxy.h"
 +#include "j2k_image_proxy.h"
 +#include "scaler.h"
 +
 +using std::string;
 +using std::cout;
 +using dcp::raw_convert;
 +using boost::shared_ptr;
 +using boost::dynamic_pointer_cast;
++using boost::optional;
 +
 +PlayerVideo::PlayerVideo (
 +      shared_ptr<const ImageProxy> in,
 +      DCPTime time,
 +      Crop crop,
 +      boost::optional<float> fade,
 +      dcp::Size inter_size,
 +      dcp::Size out_size,
 +      Scaler const * scaler,
 +      Eyes eyes,
 +      Part part,
-       _colour_conversion = ColourConversion (node);
++      optional<ColourConversion> colour_conversion
 +      )
 +      : _in (in)
 +      , _time (time)
 +      , _crop (crop)
 +      , _fade (fade)
 +      , _inter_size (inter_size)
 +      , _out_size (out_size)
 +      , _scaler (scaler)
 +      , _eyes (eyes)
 +      , _part (part)
 +      , _colour_conversion (colour_conversion)
 +{
 +
 +}
 +
 +PlayerVideo::PlayerVideo (shared_ptr<cxml::Node> node, shared_ptr<Socket> socket, shared_ptr<Log> log)
 +{
 +      _time = DCPTime (node->number_child<DCPTime::Type> ("Time"));
 +      _crop = Crop (node);
 +      _fade = node->optional_number_child<float> ("Fade");
 +
 +      _inter_size = dcp::Size (node->number_child<int> ("InterWidth"), node->number_child<int> ("InterHeight"));
 +      _out_size = dcp::Size (node->number_child<int> ("OutWidth"), node->number_child<int> ("OutHeight"));
 +      _scaler = Scaler::from_id (node->string_child ("Scaler"));
 +      _eyes = (Eyes) node->number_child<int> ("Eyes");
 +      _part = (Part) node->number_child<int> ("Part");
-       _colour_conversion.as_xml (node);
++      _colour_conversion = ColourConversion::from_xml (node);
 +
 +      _in = image_proxy_factory (node->node_child ("In"), socket, log);
 +
 +      if (node->optional_number_child<int> ("SubtitleX")) {
 +              
 +              _subtitle.position = Position<int> (node->number_child<int> ("SubtitleX"), node->number_child<int> ("SubtitleY"));
 +
 +              _subtitle.image.reset (
 +                      new Image (PIX_FMT_RGBA, dcp::Size (node->number_child<int> ("SubtitleWidth"), node->number_child<int> ("SubtitleHeight")), true)
 +                      );
 +              
 +              _subtitle.image->read_from_socket (socket);
 +      }
 +}
 +
 +void
 +PlayerVideo::set_subtitle (PositionImage image)
 +{
 +      _subtitle = image;
 +}
 +
 +shared_ptr<Image>
 +PlayerVideo::image (AVPixelFormat pixel_format, bool burn_subtitle) const
 +{
 +      shared_ptr<Image> im = _in->image ();
 +      
 +      Crop total_crop = _crop;
 +      switch (_part) {
 +      case PART_LEFT_HALF:
 +              total_crop.right += im->size().width / 2;
 +              break;
 +      case PART_RIGHT_HALF:
 +              total_crop.left += im->size().width / 2;
 +              break;
 +      case PART_TOP_HALF:
 +              total_crop.bottom += im->size().height / 2;
 +              break;
 +      case PART_BOTTOM_HALF:
 +              total_crop.top += im->size().height / 2;
 +              break;
 +      default:
 +              break;
 +      }
 +              
 +      shared_ptr<Image> out = im->crop_scale_window (total_crop, _inter_size, _out_size, _scaler, pixel_format, true);
 +
 +      if (burn_subtitle && _subtitle.image) {
 +              out->alpha_blend (_subtitle.image, _subtitle.position);
 +      }
 +
 +      if (_fade) {
 +              out->fade (_fade.get ());
 +      }
 +
 +      return out;
 +}
 +
 +void
 +PlayerVideo::add_metadata (xmlpp::Node* node, bool send_subtitles) const
 +{
 +      node->add_child("Time")->add_child_text (raw_convert<string> (_time.get ()));
 +      _crop.as_xml (node);
 +      if (_fade) {
 +              node->add_child("Fade")->add_child_text (raw_convert<string> (_fade.get ()));
 +      }
 +      _in->add_metadata (node->add_child ("In"));
 +      node->add_child("InterWidth")->add_child_text (raw_convert<string> (_inter_size.width));
 +      node->add_child("InterHeight")->add_child_text (raw_convert<string> (_inter_size.height));
 +      node->add_child("OutWidth")->add_child_text (raw_convert<string> (_out_size.width));
 +      node->add_child("OutHeight")->add_child_text (raw_convert<string> (_out_size.height));
 +      node->add_child("Scaler")->add_child_text (_scaler->id ());
 +      node->add_child("Eyes")->add_child_text (raw_convert<string> (_eyes));
 +      node->add_child("Part")->add_child_text (raw_convert<string> (_part));
++      if (_colour_conversion) {
++              _colour_conversion.get().as_xml (node);
++      }
 +      if (send_subtitles && _subtitle.image) {
 +              node->add_child ("SubtitleWidth")->add_child_text (raw_convert<string> (_subtitle.image->size().width));
 +              node->add_child ("SubtitleHeight")->add_child_text (raw_convert<string> (_subtitle.image->size().height));
 +              node->add_child ("SubtitleX")->add_child_text (raw_convert<string> (_subtitle.position.x));
 +              node->add_child ("SubtitleY")->add_child_text (raw_convert<string> (_subtitle.position.y));
 +      }
 +}
 +
 +void
 +PlayerVideo::send_binary (shared_ptr<Socket> socket, bool send_subtitles) const
 +{
 +      _in->send_binary (socket);
 +      if (send_subtitles && _subtitle.image) {
 +              _subtitle.image->write_to_socket (socket);
 +      }
 +}
 +
 +bool
 +PlayerVideo::has_j2k () const
 +{
 +      /* XXX: burnt-in subtitle; maybe other things */
 +      
 +      shared_ptr<const J2KImageProxy> j2k = dynamic_pointer_cast<const J2KImageProxy> (_in);
 +      if (!j2k) {
 +              return false;
 +      }
 +      
 +      return _crop == Crop () && _inter_size == j2k->size();
 +}
 +
 +shared_ptr<EncodedData>
 +PlayerVideo::j2k () const
 +{
 +      shared_ptr<const J2KImageProxy> j2k = dynamic_pointer_cast<const J2KImageProxy> (_in);
 +      assert (j2k);
 +      return j2k->j2k ();
 +}
 +
 +Position<int>
 +PlayerVideo::inter_position () const
 +{
 +      return Position<int> ((_out_size.width - _inter_size.width) / 2, (_out_size.height - _inter_size.height) / 2);
 +}
 +
 +/** @return true if this PlayerVideo is definitely the same as another
 + * (apart from _time), false if it is probably not
 + */
 +bool
 +PlayerVideo::same (shared_ptr<const PlayerVideo> other) const
 +{
 +      if (_in != other->_in ||
 +          _crop != other->_crop ||
 +          _fade.get_value_or(0) != other->_fade.get_value_or(0) ||
 +          _inter_size != other->_inter_size ||
 +          _out_size != other->_out_size ||
 +          _scaler != other->_scaler ||
 +          _eyes != other->_eyes ||
 +          _part != other->_part ||
 +          _colour_conversion != other->_colour_conversion ||
 +          !_subtitle.same (other->_subtitle)) {
 +              return false;
 +      }
 +
 +      return _in->same (other->_in);
 +}
diff --combined src/lib/player_video.h
index e9d260972824b10e58c3a4a71e2b2388b8bf97a3,0000000000000000000000000000000000000000..610a7526cb26090d582e647fff99ca3518a9d035
mode 100644,000000..100644
--- /dev/null
@@@ -1,102 -1,0 +1,102 @@@
-               ColourConversion
 +/*
 +    Copyright (C) 2013-2014 Carl Hetherington <cth@carlh.net>
 +
 +    This program is free software; you can redistribute it and/or modify
 +    it under the terms of the GNU General Public License as published by
 +    the Free Software Foundation; either version 2 of the License, or
 +    (at your option) any later version.
 +
 +    This program is distributed in the hope that it will be useful,
 +    but WITHOUT ANY WARRANTY; without even the implied warranty of
 +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +    GNU General Public License for more details.
 +
 +    You should have received a copy of the GNU General Public License
 +    along with this program; if not, write to the Free Software
 +    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 +
 +*/
 +
 +#include <boost/shared_ptr.hpp>
 +extern "C" {
 +#include <libavutil/pixfmt.h>
 +}
 +#include "types.h"
 +#include "position.h"
 +#include "colour_conversion.h"
 +#include "position_image.h"
 +
 +class Image;
 +class ImageProxy;
 +class Scaler;
 +class Socket;
 +class Log;
 +class EncodedData;
 +
 +/** Everything needed to describe a video frame coming out of the player, but with the
 + *  bits still their raw form.  We may want to combine the bits on a remote machine,
 + *  or maybe not even bother to combine them at all.
 + */
 +class PlayerVideo
 +{
 +public:
 +      PlayerVideo (
 +              boost::shared_ptr<const ImageProxy>,
 +              DCPTime,
 +              Crop,
 +              boost::optional<float>,
 +              dcp::Size,
 +              dcp::Size,
 +              Scaler const *,
 +              Eyes,
 +              Part,
-       ColourConversion colour_conversion () const {
++              boost::optional<ColourConversion>
 +              );
 +      
 +      PlayerVideo (boost::shared_ptr<cxml::Node>, boost::shared_ptr<Socket>, boost::shared_ptr<Log>);
 +
 +      void set_subtitle (PositionImage);
 +      
 +      boost::shared_ptr<Image> image (AVPixelFormat pix_fmt, bool burn_subtitle) const;
 +
 +      void add_metadata (xmlpp::Node* node, bool send_subtitles) const;
 +      void send_binary (boost::shared_ptr<Socket> socket, bool send_subtitles) const;
 +
 +      bool has_j2k () const;
 +      boost::shared_ptr<EncodedData> j2k () const;
 +
 +      DCPTime time () const {
 +              return _time;
 +      }
 +
 +      Eyes eyes () const {
 +              return _eyes;
 +      }
 +
-       ColourConversion _colour_conversion;
++      boost::optional<ColourConversion> colour_conversion () const {
 +              return _colour_conversion;
 +      }
 +
 +      /** @return Position of the content within the overall image once it has been scaled up */
 +      Position<int> inter_position () const;
 +
 +      /** @return Size of the content within the overall image once it has been scaled up */
 +      dcp::Size inter_size () const {
 +              return _inter_size;
 +      }
 +
 +      bool same (boost::shared_ptr<const PlayerVideo> other) const;
 +
 +private:
 +      boost::shared_ptr<const ImageProxy> _in;
 +      DCPTime _time;
 +      Crop _crop;
 +      boost::optional<float> _fade;
 +      dcp::Size _inter_size;
 +      dcp::Size _out_size;
 +      Scaler const * _scaler;
 +      Eyes _eyes;
 +      Part _part;
++      boost::optional<ColourConversion> _colour_conversion;
 +      PositionImage _subtitle;
 +};
diff --combined src/lib/playlist.cc
index 22412da4a3640b5313cd6d75cdb25422a4ee08f6,264d9ab4a1bf6c69e86976629a85e6af752793cb..4580e54d400e40e9fc59f7eaebec9bd806f8520d
@@@ -62,6 -62,12 +62,12 @@@ Playlist::~Playlist (
  void
  Playlist::content_changed (weak_ptr<Content> content, int property, bool frequent)
  {
+       /* Don't respond to position changes here, as:
+          - sequencing after earlier/later changes is handled by move_earlier/move_later
+          - any other position changes will be timeline drags which should not result in content
+          being sequenced.
+       */
+       
        if (property == ContentProperty::LENGTH || property == VideoContentProperty::VIDEO_FRAME_TYPE) {
                maybe_sequence_video ();
        }
@@@ -79,20 -85,20 +85,20 @@@ Playlist::maybe_sequence_video (
        _sequencing_video = true;
        
        ContentList cl = _content;
 -      Time next_left = 0;
 -      Time next_right = 0;
 +      DCPTime next_left;
 +      DCPTime next_right;
        for (ContentList::iterator i = _content.begin(); i != _content.end(); ++i) {
                shared_ptr<VideoContent> vc = dynamic_pointer_cast<VideoContent> (*i);
                if (!vc) {
                        continue;
                }
 -      
 +              
                if (vc->video_frame_type() == VIDEO_FRAME_TYPE_3D_RIGHT) {
                        vc->set_position (next_right);
 -                      next_right = vc->end() + 1;
 +                      next_right = vc->end() + DCPTime::delta ();
                } else {
                        vc->set_position (next_left);
 -                      next_left = vc->end() + 1;
 +                      next_left = vc->end() + DCPTime::delta ();
                }
        }
  
@@@ -120,7 -126,7 +126,7 @@@ Playlist::video_identifier () cons
  
  /** @param node <Playlist> node */
  void
 -Playlist::set_from_xml (shared_ptr<const Film> film, shared_ptr<const cxml::Node> node, int version, list<string>& notes)
 +Playlist::set_from_xml (shared_ptr<const Film> film, cxml::ConstNodePtr node, int version, list<string>& notes)
  {
        list<cxml::NodePtr> c = node->node_children ("Content");
        for (list<cxml::NodePtr>::iterator i = c.begin(); i != c.end(); ++i) {
@@@ -185,6 -191,19 +191,6 @@@ Playlist::remove (ContentList c
        Changed ();
  }
  
 -bool
 -Playlist::has_subtitles () const
 -{
 -      for (ContentList::const_iterator i = _content.begin(); i != _content.end(); ++i) {
 -              shared_ptr<const FFmpegContent> fc = dynamic_pointer_cast<FFmpegContent> (*i);
 -              if (fc && !fc->subtitle_streams().empty()) {
 -                      return true;
 -              }
 -      }
 -
 -      return false;
 -}
 -
  class FrameRateCandidate
  {
  public:
@@@ -248,12 -267,12 +254,12 @@@ Playlist::best_dcp_frame_rate () cons
        return best->dcp;
  }
  
 -Time
 +DCPTime
  Playlist::length () const
  {
 -      Time len = 0;
 +      DCPTime len;
        for (ContentList::const_iterator i = _content.begin(); i != _content.end(); ++i) {
 -              len = max (len, (*i)->end() + 1);
 +              len = max (len, (*i)->end() + DCPTime::delta ());
        }
  
        return len;
@@@ -273,10 -292,10 +279,10 @@@ Playlist::reconnect (
        }
  }
  
 -Time
 +DCPTime
  Playlist::video_end () const
  {
 -      Time end = 0;
 +      DCPTime end;
        for (ContentList::const_iterator i = _content.begin(); i != _content.end(); ++i) {
                if (dynamic_pointer_cast<const VideoContent> (*i)) {
                        end = max (end, (*i)->end ());
        return end;
  }
  
 +FrameRateChange
 +Playlist::active_frame_rate_change (DCPTime t, int dcp_video_frame_rate) const
 +{
 +      for (ContentList::const_iterator i = _content.begin(); i != _content.end(); ++i) {
 +              shared_ptr<const VideoContent> vc = dynamic_pointer_cast<const VideoContent> (*i);
 +              if (!vc) {
 +                      continue;
 +              }
 +
 +              if (vc->position() >= t && t < vc->end()) {
 +                      return FrameRateChange (vc->video_frame_rate(), dcp_video_frame_rate);
 +              }
 +      }
 +
 +      return FrameRateChange (dcp_video_frame_rate, dcp_video_frame_rate);
 +}
 +
  void
  Playlist::set_sequence_video (bool s)
  {
@@@ -325,7 -327,7 +331,7 @@@ Playlist::content () cons
  void
  Playlist::repeat (ContentList c, int n)
  {
 -      pair<Time, Time> range (TIME_MAX, 0);
 +      pair<DCPTime, DCPTime> range (DCPTime::max (), DCPTime ());
        for (ContentList::iterator i = c.begin(); i != c.end(); ++i) {
                range.first = min (range.first, (*i)->position ());
                range.second = max (range.second, (*i)->position ());
                range.second = max (range.second, (*i)->end ());
        }
  
 -      Time pos = range.second;
 +      DCPTime pos = range.second;
        for (int i = 0; i < n; ++i) {
                for (ContentList::iterator i = c.begin(); i != c.end(); ++i) {
                        shared_ptr<Content> copy = (*i)->clone ();
@@@ -367,7 -369,7 +373,7 @@@ Playlist::move_earlier (shared_ptr<Cont
        }
  
        
 -      Time const p = (*previous)->position ();
 +      DCPTime const p = (*previous)->position ();
        (*previous)->set_position (p + c->length_after_trim ());
        c->set_position (p);
        sort (_content.begin(), _content.end(), ContentSorter ());
@@@ -393,6 -395,23 +399,6 @@@ Playlist::move_later (shared_ptr<Conten
        }
  
        (*next)->set_position (c->position ());
-       c->set_position (c->position() + c->length_after_trim ());
+       c->set_position (c->position() + (*next)->length_after_trim ());
        sort (_content.begin(), _content.end(), ContentSorter ());
  }
 -
 -FrameRateChange
 -Playlist::active_frame_rate_change (Time t, int dcp_video_frame_rate) const
 -{
 -      for (ContentList::const_iterator i = _content.begin(); i != _content.end(); ++i) {
 -              shared_ptr<const VideoContent> vc = dynamic_pointer_cast<const VideoContent> (*i);
 -              if (!vc) {
 -                      continue;
 -              }
 -
 -              if (vc->position() >= t && t < vc->end()) {
 -                      return FrameRateChange (vc->video_frame_rate(), dcp_video_frame_rate);
 -              }
 -      }
 -
 -      return FrameRateChange (dcp_video_frame_rate, dcp_video_frame_rate);
 -}
diff --combined src/lib/po/de_DE.po
index 68418910cb9fc190ff35e6526c8a77a1b29e8472,0dc9cd5df9c207a688fc84a8a89a00c8a59e558d..32a4b67e2ae9adde45131a8083a4f59d97d28ccc
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: \n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2014-10-15 09:37+0100\n"
+ "POT-Creation-Date: 2014-10-23 22:03+0100\n"
  "PO-Revision-Date: 2014-07-13 02:32+0100\n"
  "Last-Translator: Carsten Kurz\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
  "X-Generator: Poedit 1.6.5\n"
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
  
 -#: src/lib/sndfile_content.cc:61
 +#: src/lib/dcp_content.cc:106
 +msgid "%1 [DCP]"
 +msgstr ""
 +
 +#: src/lib/sndfile_content.cc:64
  msgid "%1 [audio]"
  msgstr "%1 [Ton]"
  
 -#: src/lib/ffmpeg_content.cc:211
 +#: src/lib/ffmpeg_content.cc:205
  msgid "%1 [movie]"
  msgstr "%1 [Film]"
  
 -#: src/lib/sndfile_content.cc:82
 +#: src/lib/sndfile_content.cc:85
  msgid "%1 channels, %2kHz, %3 samples"
  msgstr "%1 Kanäle, %2kHz, %3 samples"
  
 -#: src/lib/ffmpeg_content.cc:246
 +#: src/lib/ffmpeg_content.cc:240
  msgid "%1 frames; %2 frames per second"
  msgstr "%1 Bilder; %2 Bilder pro Sekunde"
  
 -#: src/lib/video_content.cc:211
 +#: src/lib/video_content.cc:235
  msgid "%1x%2 pixels (%3:1)"
  msgstr "%1x%2 pixel (%3:1)"
  
@@@ -74,11 -70,11 +74,11 @@@ msgstr "Academy
  msgid "Advertisement"
  msgstr "Werbung"
  
 -#: src/lib/job.cc:71
 +#: src/lib/job.cc:72
  msgid "An error occurred whilst handling the file %1."
  msgstr "Beim Bearbeiten der Datei %1 trat ein Fehler auf."
  
 -#: src/lib/analyse_audio_job.cc:48
 +#: src/lib/analyse_audio_job.cc:49
  msgid "Analyse audio"
  msgstr "Audio analysieren"
  
@@@ -94,7 -90,7 +94,7 @@@ msgstr "Bi-Kubisch
  msgid "Bilinear"
  msgstr "Bi-Linear"
  
 -#: src/lib/job.cc:322
 +#: src/lib/job.cc:324
  msgid "Cancelled"
  msgstr "Abgebrochen"
  
  msgid "Cannot handle pixel format %1 during %2"
  msgstr "Kann dieses Pixelformat %1 während %2 nicht bearbeiten"
  
- #: src/lib/util.cc:775
+ #: src/lib/util.cc:791
  msgid "Centre"
  msgstr "Center"
  
 -#: src/lib/writer.cc:83
 +#: src/lib/writer.cc:90
  msgid "Checking existing image data"
  msgstr "Ãœberprüfe bestehende Bilddateien"
  
 -#: src/lib/writer.cc:475
 +#: src/lib/writer.cc:490
  msgid "Computing audio digest"
  msgstr "Tonübersicht berechnen"
  
  msgid "Computing digest"
  msgstr "Zusammenfassung berechnen"
  
 -#: src/lib/writer.cc:471
 +#: src/lib/writer.cc:486
  msgid "Computing image digest"
  msgstr "Bildübersicht berechnen"
  
  msgid "Content and DCP have the same rate.\n"
  msgstr "Quelle und DCP haben dieselbe Bildrate. Gut ;-)\n"
  
 -#: src/lib/audio_content.cc:83
 +#: src/lib/subtitle_content.cc:103
 +#, fuzzy
 +msgid "Content to be joined must have the same 'use subtitles' setting."
 +msgstr "Zu verbindende Inhalte müssen die gleiche Skalierung verwenden."
 +
 +#: src/lib/audio_content.cc:100
  msgid "Content to be joined must have the same audio delay."
  msgstr "Zu verbindende Inhalte müssen die gleiche Tonverzögerung verwenden."
  
 -#: src/lib/audio_content.cc:79
 +#: src/lib/audio_content.cc:96
  msgid "Content to be joined must have the same audio gain."
  msgstr ""
  "Zu verbindende Inhalte müssen die gleichen Tonpegeleinstellungen verwenden."
  
 -#: src/lib/video_content.cc:146
 +#: src/lib/video_content.cc:158
  msgid "Content to be joined must have the same colour conversion."
  msgstr "Zu verbindende Inhalte müssen die gleiche Farbumwandlung verwenden."
  
 -#: src/lib/video_content.cc:138
 +#: src/lib/video_content.cc:150
  msgid "Content to be joined must have the same crop."
  msgstr "Zu verbindende Inhalte müssen gleichen Beschnitt verwenden."
  
 -#: src/lib/video_content.cc:126
 +#: src/lib/video_content.cc:162
 +#, fuzzy
 +msgid "Content to be joined must have the same fades."
 +msgstr "Zu verbindende Inhalte müssen gleichen Beschnitt verwenden."
 +
 +#: src/lib/video_content.cc:138
  msgid "Content to be joined must have the same picture size."
  msgstr "Zu verbindende Inhalte müssen die gleiche Bildgröße haben."
  
 -#: src/lib/video_content.cc:142
 +#: src/lib/video_content.cc:154
  msgid "Content to be joined must have the same scale setting."
  msgstr "Zu verbindende Inhalte müssen die gleiche Skalierung verwenden."
  
 -#: src/lib/subtitle_content.cc:81
 +#: src/lib/subtitle_content.cc:107
  msgid "Content to be joined must have the same subtitle X offset."
  msgstr ""
  "Zu verbindende Inhalte müssen den gleichen horizontalen Untertitelversatz "
  "verwenden."
  
 -#: src/lib/subtitle_content.cc:89
 +#: src/lib/subtitle_content.cc:115
  #, fuzzy
  msgid "Content to be joined must have the same subtitle X scale."
  msgstr "Zu verbindende Inhalte müssen die gleiche Untertitelgröße verwenden."
  
 -#: src/lib/subtitle_content.cc:85
 +#: src/lib/subtitle_content.cc:111
  msgid "Content to be joined must have the same subtitle Y offset."
  msgstr ""
  "Zu verbindende Inhalte müssen den gleichen vertikalen Untertitelversatz "
  "verwenden."
  
 -#: src/lib/subtitle_content.cc:93
 +#: src/lib/subtitle_content.cc:119
  #, fuzzy
  msgid "Content to be joined must have the same subtitle Y scale."
  msgstr "Zu verbindende Inhalte müssen die gleiche Untertitelgröße verwenden."
  
 -#: src/lib/video_content.cc:130
 +#: src/lib/video_content.cc:142
  msgid "Content to be joined must have the same video frame rate."
  msgstr "Zu verbindende Inhalte müssen die gleiche Bildrate haben."
  
 -#: src/lib/video_content.cc:134
 +#: src/lib/video_content.cc:146
  msgid "Content to be joined must have the same video frame type."
  msgstr "Zu verbindende Inhalte müssen den gleichen Bildtyp (z.B. 2D) haben."
  
 -#: src/lib/ffmpeg_content.cc:116
 +#: src/lib/ffmpeg_content.cc:118
  msgid "Content to be joined must use the same audio stream."
  msgstr ""
  "Zu verbindende Inhalte müssen die gleiche Tonspurkonfiguration verwenden."
  
 -#: src/lib/ffmpeg_content.cc:112
 +#: src/lib/ffmpeg_content.cc:114
  msgid "Content to be joined must use the same subtitle stream."
  msgstr "Zu verbindende Inhalte müssen die gleiche Untertitelspur verwenden."
  
@@@ -212,12 -198,18 +212,18 @@@ msgstr "Keine Verbindung zu Server %1 (
  msgid "Could not create remote directory %1 (%2)"
  msgstr "Konnte entfernten Ordner %1 (%2) nicht erstellen."
  
 -#: src/lib/image_proxy.cc:147
 +#: src/lib/magick_image_proxy.cc:103
  #, fuzzy
  msgid "Could not decode image file (%1)"
  msgstr "Bilddatei konnte nicht dekodiert werden"
  
- #: src/lib/job.cc:91
+ #: src/lib/server_finder.cc:114
+ msgid ""
+ "Could not listen for remote encode servers.  Perhaps another instance of DCP-"
+ "o-matic is running."
+ msgstr ""
+ #: src/lib/job.cc:90
  msgid "Could not open %1"
  msgstr "%1 konnte nicht geöffnet werden."
  
@@@ -237,10 -229,6 +243,10 @@@ msgstr "SCP Session (%1) konnte nicht g
  msgid "Could not write to remote file (%1)"
  msgstr "Entfernte Datei (%1) konnte nicht gespeichert werden"
  
 +#: src/lib/dcp_subtitle_content.cc:72
 +msgid "DCP XML subtitles"
 +msgstr ""
 +
  #: src/lib/frame_rate_change.cc:98
  msgid "DCP will run at %1%% of the content speed.\n"
  msgstr "DCP läuft mit %1% der Original Geschwindigkeit der Quelle.\n"
  msgid "DCP will use every other frame of the content.\n"
  msgstr "DCP verwendet nur jedes zweite Bild des Quelle.\n"
  
 -#: src/lib/job.cc:91
 +#: src/lib/job.cc:92
  msgid ""
  "DCP-o-matic could not open the file %1.  Perhaps it does not exist or is in "
  "an unexpected format."
@@@ -257,7 -245,7 +263,7 @@@ msgstr "
  "DCP-o-matic konnte die Datei %1 nicht Ã¶ffnen. Vielleicht existiert sie nicht "
  "oder ist in einem unerwarteten Format."
  
 -#: src/lib/ffmpeg_content.cc:93
 +#: src/lib/ffmpeg_content.cc:95
  msgid ""
  "DCP-o-matic no longer supports the `%1' filter, so it has been turned off."
  msgstr ""
  msgid "De-interlacing"
  msgstr "De-Interlacer"
  
 -#: src/lib/config.cc:436
 +#: src/lib/config.cc:427
  msgid ""
  "Dear Projectionist\n"
  "\n"
@@@ -313,18 -301,14 +319,18 @@@ msgstr "Jedes Bild der Quelle wird %1 m
  msgid "Email KDMs for %1"
  msgstr "Email KDMs für %1"
  
 -#: src/lib/writer.cc:126
 +#: src/lib/writer.cc:136
  msgid "Encoding image data"
  msgstr "Kodiere Bilddaten"
  
 -#: src/lib/job.cc:320
 +#: src/lib/job.cc:322
  msgid "Error (%1)"
  msgstr "Fehler (%1)"
  
 +#: src/lib/exceptions.cc:66
 +msgid "Error in SubRip file: saw %1 while expecting %2"
 +msgstr ""
 +
  #: src/lib/examine_content_job.cc:46
  msgid "Examine content"
  msgstr "Inhalt wird Ã¼berprüft"
@@@ -357,7 -341,7 +363,7 @@@ msgstr "Gauss Filter
  msgid "Gradient debander"
  msgstr "Gradient Glätter"
  
- #: src/lib/util.cc:779
+ #: src/lib/util.cc:795
  msgid "Hearing impaired"
  msgstr "HI"
  
  msgid "High quality 3D denoiser"
  msgstr "3D Rauschunterdrückung hoher Qualität"
  
 -#: src/lib/job.cc:111 src/lib/job.cc:121
 +#: src/lib/job.cc:112 src/lib/job.cc:122
  msgid ""
  "It is not known what caused this error.  Please report the problem to the "
  "DCP-o-matic author (carl@dcpomatic.com)."
@@@ -373,7 -357,7 +379,7 @@@ msgstr "
  "Ein unbekannter Fehler ist aufgetreten. Bitte schicken Sie eine Nachricht an "
  "den DCP-o-matic Autor (carl@dcpomatic.com)."
  
 -#: src/lib/config.cc:199
 +#: src/lib/config.cc:212
  msgid "KDM delivery: $CPL_NAME"
  msgstr "KDM Zustellung: $CPL_NAME"
  
@@@ -385,50 -369,30 +391,50 @@@ msgstr "Kernel De-Interlacer
  msgid "Lanczos"
  msgstr "Lanczos"
  
- #: src/lib/util.cc:773
+ #: src/lib/util.cc:789
  msgid "Left"
  msgstr "Links"
  
- #: src/lib/util.cc:781
+ #: src/lib/util.cc:797
  msgid "Left centre"
  msgstr "Center links"
  
- #: src/lib/util.cc:783
+ #: src/lib/util.cc:799
  msgid "Left rear surround"
  msgstr "Surround hinten links"
  
- #: src/lib/util.cc:777
+ #: src/lib/util.cc:793
  msgid "Left surround"
  msgstr "Surround links"
  
- #: src/lib/util.cc:776
+ #: src/lib/util.cc:792
  msgid "Lfe (sub)"
  msgstr "LFE (Subwoofer)"
  
 +#: src/lib/mid_side_decoder.cc:31
 +msgid "Mid-side decoder"
 +msgstr ""
 +
  #: src/lib/filter.cc:68 src/lib/filter.cc:69 src/lib/filter.cc:72
  msgid "Misc"
  msgstr "Verschiedenes"
  
 +#: src/lib/dcp_examiner.cc:93
 +msgid "Mismatched audio channel counts in DCP"
 +msgstr ""
 +
 +#: src/lib/dcp_examiner.cc:99
 +msgid "Mismatched audio frame rates in DCP"
 +msgstr ""
 +
 +#: src/lib/dcp_examiner.cc:74
 +msgid "Mismatched frame rates in DCP"
 +msgstr ""
 +
 +#: src/lib/dcp_examiner.cc:81
 +msgid "Mismatched video sizes in DCP"
 +msgstr ""
 +
  #: src/lib/filter.cc:65
  msgid "Motion compensating deinterlacer"
  msgstr "Bewegungskompensierender De-Interlacer"
@@@ -449,23 -413,23 +455,23 @@@ msgstr "Keine gültigen Bilddaten gefun
  msgid "Noise reduction"
  msgstr "Rauschunterdrückung"
  
 -#: src/lib/job.cc:318
 +#: src/lib/job.cc:320
  msgid "OK (ran for %1)"
  msgstr "OK (Dauer %1)"
  
 -#: src/lib/content.cc:102
 +#: src/lib/content.cc:106
  msgid "Only the first piece of content to be joined can have a start trim."
  msgstr ""
  "Nur das erste Segment der zu verbindenden Inhalte kann vom Anfang her "
  "beschnitten werden."
  
 -#: src/lib/content.cc:106
 +#: src/lib/content.cc:110
  msgid "Only the last piece of content to be joined can have an end trim."
  msgstr ""
  "Nur das letzte Segment der zu verbindenden Inhalte kann vom Ende her "
  "beschnitten werden."
  
 -#: src/lib/job.cc:103
 +#: src/lib/job.cc:104
  msgid "Out of memory"
  msgstr "Zuwenig Speicher"
  
@@@ -485,23 -449,23 +491,23 @@@ msgstr "Hinweis
  msgid "Rating"
  msgstr "Freigabehinweis"
  
 -#: src/lib/config.cc:86 src/lib/config.cc:183
 +#: src/lib/config.cc:92 src/lib/config.cc:196
  msgid "Rec. 709"
  msgstr "Rec. 709"
  
- #: src/lib/util.cc:774
+ #: src/lib/util.cc:790
  msgid "Right"
  msgstr "Rechts"
  
- #: src/lib/util.cc:782
+ #: src/lib/util.cc:798
  msgid "Right centre"
  msgstr "Center rechts"
  
- #: src/lib/util.cc:784
+ #: src/lib/util.cc:800
  msgid "Right rear surround"
  msgstr "Surround hinten rechts"
  
- #: src/lib/util.cc:778
+ #: src/lib/util.cc:794
  msgid "Right surround"
  msgstr "Surround rechts"
  
@@@ -525,14 -489,6 +531,14 @@@ msgstr "Sinc
  msgid "Spline"
  msgstr "Spline"
  
 +#: src/lib/upmixer_a.cc:42
 +msgid "Stereo to 5.1 up-mixer A"
 +msgstr ""
 +
 +#: src/lib/subrip_content.cc:73
 +msgid "SubRip subtitles"
 +msgstr ""
 +
  #: src/lib/dcp_content_type.cc:50
  msgid "Teaser"
  msgstr "Teaser"
@@@ -545,16 -501,7 +551,16 @@@ msgstr "Telecine Filter
  msgid "Test"
  msgstr "Test"
  
 -#: src/lib/job.cc:77
 +#: src/lib/dcp_examiner.cc:133
 +msgid ""
 +"The KDM does not decrypt the DCP.  Perhaps it is targeted at the wrong CPL"
 +msgstr ""
 +
 +#: src/lib/exceptions.cc:72
 +msgid "The certificate chain for signing is invalid"
 +msgstr ""
 +
 +#: src/lib/job.cc:78
  msgid ""
  "The drive that the film is stored on is low in disc space.  Free some more "
  "space and try again."
@@@ -562,11 -509,11 +568,11 @@@ msgstr "
  "Das Laufwerk, auf dem der Film gespeichert werden soll, hat zu wenig freien "
  "Speicher. Bitte Speicher freigeben und nochmal versuchen."
  
 -#: src/lib/job.cc:103
 +#: src/lib/job.cc:104
  msgid "There was not enough memory to do this."
  msgstr "Zu wenig Speicher für diese Operation."
  
 -#: src/lib/film.cc:414
 +#: src/lib/film.cc:423
  msgid ""
  "This film was created with a newer version of DCP-o-matic, and it cannot be "
  "loaded into this version.  Sorry!"
@@@ -575,7 -522,7 +581,7 @@@ msgstr "
  "kann leider nicht mit dieser Ã¤lteren Version geladen werden. Sie müssen den "
  "Film neu erstellen. Sorry!"
  
 -#: src/lib/film.cc:406
 +#: src/lib/film.cc:415
  msgid ""
  "This film was created with an older version of DCP-o-matic, and "
  "unfortunately it cannot be loaded into this version.  You will need to "
@@@ -589,7 -536,7 +595,7 @@@ msgstr "
  msgid "Trailer"
  msgstr "Trailer"
  
 -#: src/lib/transcode_job.cc:53
 +#: src/lib/transcode_job.cc:54
  msgid "Transcode %1"
  msgstr "Wandle %1 um"
  
@@@ -601,15 -548,15 +607,15 @@@ msgstr "Ãœberleitung
  msgid "Unexpected ZIP file contents"
  msgstr "Ungültiger ZIP Inhalt"
  
- #: src/lib/image_proxy.cc:56
+ #: src/lib/image_proxy.cc:197
  msgid "Unexpected image type received by server"
  msgstr "Ungültiges Bildformat vom Server erhalten"
  
 -#: src/lib/job.cc:120
 +#: src/lib/job.cc:121
  msgid "Unknown error"
  msgstr "Unbekannter Fehler"
  
 -#: src/lib/ffmpeg_decoder.cc:293
 +#: src/lib/ffmpeg_decoder.cc:263
  msgid "Unrecognised audio sample format (%1)"
  msgstr "Ton Sample Format (%1) nicht erkannt."
  
@@@ -621,7 -568,7 +627,7 @@@ msgstr "Unscharf Maskieren mit Gaußsch
  msgid "Untitled"
  msgstr "Unbenannt"
  
- #: src/lib/util.cc:780
+ #: src/lib/util.cc:796
  msgid "Visually impaired"
  msgstr "VI"
  
@@@ -637,7 -584,7 +643,7 @@@ msgstr "X
  msgid "Yet Another Deinterlacing Filter"
  msgstr "Und ein weiterer De-Interlacer..."
  
 -#: src/lib/film.cc:311
 +#: src/lib/film.cc:320
  msgid "You must add some content to the DCP before creating it"
  msgstr "Sie müssen erst Inhalte hinzufügen bevor Sie ein DCP erstellen können!"
  
@@@ -649,15 -596,11 +655,15 @@@ msgstr "[Bewegte Bilder]
  msgid "[still]"
  msgstr "[Standbild]"
  
 -#: src/lib/film.cc:259
 +#: src/lib/dcp_subtitle_content.cc:66 src/lib/subrip_content.cc:67
 +msgid "[subtitles]"
 +msgstr ""
 +
 +#: src/lib/film.cc:268
  msgid "cannot contain slashes"
  msgstr "Darf keine Schrägstriche enthalten"
  
- #: src/lib/util.cc:554
+ #: src/lib/util.cc:570
  msgid "connect timed out"
  msgstr "Zeit für Verbindung abgelaufen"
  
  msgid "connecting"
  msgstr "verbinde..."
  
 -#: src/lib/film.cc:307
 +#: src/lib/film.cc:316
  msgid "container"
  msgstr "Containerformat"
  
 -#: src/lib/film.cc:315
 +#: src/lib/film.cc:324
  msgid "content type"
  msgstr "Inhaltsbeschreibung"
  
@@@ -681,15 -624,23 +687,23 @@@ msgstr "kopiere %1
  msgid "could not create file %1"
  msgstr "Datei %1 konnte nicht erstellt werden."
  
- #: src/lib/writer.cc:430
 +#: src/lib/ffmpeg.cc:102
 +msgid "could not find stream information"
 +msgstr "Keine Spur-Information gefunden"
 +
 -#: src/lib/ffmpeg.cc:105
 -msgid "could not find stream information"
 -msgstr "Keine Spur-Information gefunden"
 -
+ #: src/lib/ffmpeg.cc:179
+ msgid "could not find audio decoder"
+ msgstr "Ton Dekoder nicht gefunden."
+ #: src/lib/ffmpeg.cc:158
+ msgid "could not find video decoder"
+ msgstr "Bild-Dekoder nicht gefunden"
+ #: src/lib/writer.cc:439
  msgid "could not move audio MXF into the DCP (%1)"
  msgstr "Ton MXF kann nicht in das DCP verschoben werden (%1)"
  
 -#: src/lib/sndfile_decoder.cc:56
 +#: src/lib/sndfile_decoder.cc:54
  msgid "could not open audio file for reading"
  msgstr "Tondatei kann nicht zum Lesen geöffnet werden."
  
  msgid "could not open file %1"
  msgstr "Datei %1 konnte nicht geöffnet werden."
  
 -#: src/lib/dcp_video_frame.cc:331
 +#: src/lib/encoded_data.cc:50
  msgid "could not open file for reading"
  msgstr "Datei konnte nicht zum Lesen geöffnet werden."
  
 -#: src/lib/dcp_video_frame.cc:337
 +#: src/lib/encoded_data.cc:56
  msgid "could not read encoded data"
  msgstr "Kodierte Daten nicht gefunden."
  
  msgid "could not read from file %1 (%2)"
  msgstr "Datei %1 konnte nicht gelesen werden (%2)"
  
 -#: src/lib/resampler.cc:98
 +#: src/lib/resampler.cc:96
  msgid "could not run sample-rate converter"
  msgstr "Sample-Rate konnte nicht gewandelt werden"
  
 -#: src/lib/resampler.cc:79
 +#: src/lib/resampler.cc:77
  msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
  msgstr "Sample-Rate für %1 samples konnte nicht gewandelt werden (%2)(%3)"
  
@@@ -729,43 -680,43 +743,43 @@@ msgstr "SSH Session konnte nicht gestar
  msgid "could not write to file %1 (%2)"
  msgstr "Datei %1 konnte nicht geschrieben werden (%2)"
  
- #: src/lib/util.cc:574
+ #: src/lib/util.cc:590
  msgid "error during async_accept (%1)"
  msgstr "error during async_accept (%1)"
  
- #: src/lib/util.cc:550
+ #: src/lib/util.cc:566
  msgid "error during async_connect (%1)"
  msgstr "error during async_connect (%1)"
  
- #: src/lib/util.cc:623
+ #: src/lib/util.cc:639
  msgid "error during async_read (%1)"
  msgstr "error during async_read (%1)"
  
- #: src/lib/util.cc:595
+ #: src/lib/util.cc:611
  msgid "error during async_write (%1)"
  msgstr "error during async_write (%1)"
  
 -#: src/lib/transcode_job.cc:97
 +#: src/lib/transcode_job.cc:98
  msgid "frames per second"
  msgstr "Bilder pro Sekunde"
  
- #: src/lib/util.cc:158
+ #: src/lib/util.cc:161
  msgid "hour"
  msgstr "Stunde"
  
- #: src/lib/util.cc:154 src/lib/util.cc:160
+ #: src/lib/util.cc:157 src/lib/util.cc:163
  msgid "hours"
  msgstr "Stunden"
  
- #: src/lib/util.cc:176
+ #: src/lib/util.cc:179
  msgid "minute"
  msgstr "Minute"
  
- #: src/lib/util.cc:172 src/lib/util.cc:178
+ #: src/lib/util.cc:175 src/lib/util.cc:181
  msgid "minutes"
  msgstr "Minuten"
  
- #: src/lib/util.cc:706
+ #: src/lib/util.cc:711
  msgid "missing key %1 in key-value set"
  msgstr "Key %1 in Key-value set fehlt"
  
@@@ -777,34 -728,38 +791,34 @@@ msgstr "Benötigte Einstellung %1 fehlt
  msgid "moving"
  msgstr "wird verschoben"
  
 -#: src/lib/ffmpeg_decoder.cc:589
 +#: src/lib/ffmpeg_decoder.cc:420
  msgid "multi-part subtitles not yet supported"
  msgstr "Mehr-Segment Untertitel werden noch nicht unterstützt"
  
 -#: src/lib/film.cc:259 src/lib/film.cc:319
 +#: src/lib/film.cc:268 src/lib/film.cc:328
  msgid "name"
  msgstr "Name"
  
 -#: src/lib/ffmpeg_decoder.cc:604
 -msgid "non-bitmap subtitles not yet supported"
 -msgstr "Nur Bitmap Untertitel werden unterstützt"
 -
  #. / TRANSLATORS: remaining here follows an amount of time that is remaining
  #. / on an operation.
 -#: src/lib/job.cc:315
 +#: src/lib/job.cc:317
  msgid "remaining"
  msgstr "verbleibend"
  
 -#: src/lib/config.cc:84 src/lib/video_content.cc:179
 +#: src/lib/config.cc:90 src/lib/video_content.cc:197
  msgid "sRGB"
  msgstr "sRGB"
  
 -#: src/lib/config.cc:85
 +#: src/lib/config.cc:91
  msgid "sRGB non-linearised"
  msgstr "sRGB nicht linearisiert"
  
- #: src/lib/util.cc:191
+ #: src/lib/util.cc:194
  #, fuzzy
  msgid "second"
  msgstr "Sekunden"
  
- #: src/lib/util.cc:193
+ #: src/lib/util.cc:196
  msgid "seconds"
  msgstr "Sekunden"
  
  msgid "still"
  msgstr "Standbild"
  
 -#: src/lib/ffmpeg_examiner.cc:168
 +#: src/lib/ffmpeg_examiner.cc:207
  msgid "unknown"
  msgstr "unbekannt"
  
- #~ msgid "could not find audio decoder"
- #~ msgstr "Ton Dekoder nicht gefunden."
- #~ msgid "could not find video decoder"
- #~ msgstr "Bild-Dekoder nicht gefunden"
 +#~ msgid "non-bitmap subtitles not yet supported"
 +#~ msgstr "Nur Bitmap Untertitel werden unterstützt"
 +
  #~ msgid "Could not read DCP to make KDM for"
  #~ msgstr "DCP konnte nicht zur Schlüsselerstellung geöffnet werden"
  
diff --combined src/lib/po/es_ES.po
index e874c64151ca619bc1663f6c60a01c9931e92e7a,4fcfac93a8a06c9abf85477b20581f9ae1743dfa..5dc99462b266e8d5d194761beb6b87620d4a1766
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: LIBDCPOMATIC\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2014-10-15 09:37+0100\n"
+ "POT-Creation-Date: 2014-10-23 22:03+0100\n"
  "PO-Revision-Date: 2014-04-20 10:12-0500\n"
  "Last-Translator: Manuel AC <manuel.acevedo@civantos.>\n"
  "Language-Team: Manuel AC <manuel.acevedo@civantos.com>\n"
  "Content-Transfer-Encoding: 8bit\n"
  "X-Generator: Poedit 1.6.4\n"
  
 -#: src/lib/sndfile_content.cc:61
 +#: src/lib/dcp_content.cc:106
 +msgid "%1 [DCP]"
 +msgstr ""
 +
 +#: src/lib/sndfile_content.cc:64
  msgid "%1 [audio]"
  msgstr "%1 [audio]"
  
 -#: src/lib/ffmpeg_content.cc:211
 +#: src/lib/ffmpeg_content.cc:205
  msgid "%1 [movie]"
  msgstr "%1 [película]"
  
 -#: src/lib/sndfile_content.cc:82
 +#: src/lib/sndfile_content.cc:85
  msgid "%1 channels, %2kHz, %3 samples"
  msgstr "%1 canales, %2kHz, %3 muestras"
  
 -#: src/lib/ffmpeg_content.cc:246
 +#: src/lib/ffmpeg_content.cc:240
  msgid "%1 frames; %2 frames per second"
  msgstr "%1 imágenes; %2 imágenes per second"
  
 -#: src/lib/video_content.cc:211
 +#: src/lib/video_content.cc:235
  msgid "%1x%2 pixels (%3:1)"
  msgstr "%1x%2 pixels (%3:1)"
  
@@@ -73,11 -69,11 +73,11 @@@ msgstr "Academy
  msgid "Advertisement"
  msgstr "Publicidad"
  
 -#: src/lib/job.cc:71
 +#: src/lib/job.cc:72
  msgid "An error occurred whilst handling the file %1."
  msgstr "Ha ocurrido un error con el fichero %1."
  
 -#: src/lib/analyse_audio_job.cc:48
 +#: src/lib/analyse_audio_job.cc:49
  msgid "Analyse audio"
  msgstr "Analizar audio"
  
@@@ -93,7 -89,7 +93,7 @@@ msgstr "Bicúbico
  msgid "Bilinear"
  msgstr "Bilineal"
  
 -#: src/lib/job.cc:322
 +#: src/lib/job.cc:324
  msgid "Cancelled"
  msgstr "Cancelado"
  
  msgid "Cannot handle pixel format %1 during %2"
  msgstr "No se puede usar el formato de pixel %1 para %2"
  
- #: src/lib/util.cc:775
+ #: src/lib/util.cc:791
  msgid "Centre"
  msgstr "Centro"
  
 -#: src/lib/writer.cc:83
 +#: src/lib/writer.cc:90
  msgid "Checking existing image data"
  msgstr "Comprobando las imágenes existentes"
  
 -#: src/lib/writer.cc:475
 +#: src/lib/writer.cc:490
  msgid "Computing audio digest"
  msgstr "Calculando la firma resumen del audio"
  
  msgid "Computing digest"
  msgstr "Calculando la firma resumen"
  
 -#: src/lib/writer.cc:471
 +#: src/lib/writer.cc:486
  msgid "Computing image digest"
  msgstr "Calculando la firma resumen de imagen"
  
  msgid "Content and DCP have the same rate.\n"
  msgstr "La fuente y el DCP tienen la misma velocidad.\n"
  
 -#: src/lib/audio_content.cc:83
 +#: src/lib/subtitle_content.cc:103
 +#, fuzzy
 +msgid "Content to be joined must have the same 'use subtitles' setting."
 +msgstr "Para unir contenido debe tener la misma redimensión."
 +
 +#: src/lib/audio_content.cc:100
  msgid "Content to be joined must have the same audio delay."
  msgstr "Para unir contenido debe tener el mismo retardo de audio."
  
 -#: src/lib/audio_content.cc:79
 +#: src/lib/audio_content.cc:96
  msgid "Content to be joined must have the same audio gain."
  msgstr "Para unir contenido debe tener la misma ganancia de audio."
  
 -#: src/lib/video_content.cc:146
 +#: src/lib/video_content.cc:158
  msgid "Content to be joined must have the same colour conversion."
  msgstr "Para unir contenido debe tener la misma conversión de color."
  
 -#: src/lib/video_content.cc:138
 +#: src/lib/video_content.cc:150
  msgid "Content to be joined must have the same crop."
  msgstr "Para unir contenido debe tener el mismo recorte."
  
 -#: src/lib/video_content.cc:126
 +#: src/lib/video_content.cc:162
 +#, fuzzy
 +msgid "Content to be joined must have the same fades."
 +msgstr "Para unir contenido debe tener el mismo recorte."
 +
 +#: src/lib/video_content.cc:138
  msgid "Content to be joined must have the same picture size."
  msgstr "Para unir contenido debe tener el mismo tamaño de imagen."
  
 -#: src/lib/video_content.cc:142
 +#: src/lib/video_content.cc:154
  msgid "Content to be joined must have the same scale setting."
  msgstr "Para unir contenido debe tener la misma redimensión."
  
 -#: src/lib/subtitle_content.cc:81
 +#: src/lib/subtitle_content.cc:107
  msgid "Content to be joined must have the same subtitle X offset."
  msgstr ""
  "Para unir contenido debe tener el mismo desplazamiento de subtítulo en X."
  
 -#: src/lib/subtitle_content.cc:89
 +#: src/lib/subtitle_content.cc:115
  #, fuzzy
  msgid "Content to be joined must have the same subtitle X scale."
  msgstr "Para unir contenido debe tener el mismo tamaño de subtítulo."
  
 -#: src/lib/subtitle_content.cc:85
 +#: src/lib/subtitle_content.cc:111
  msgid "Content to be joined must have the same subtitle Y offset."
  msgstr ""
  "Para unir contenido debe tener el mismo desplazamiento de subtítulo en Y."
  
 -#: src/lib/subtitle_content.cc:93
 +#: src/lib/subtitle_content.cc:119
  #, fuzzy
  msgid "Content to be joined must have the same subtitle Y scale."
  msgstr "Para unir contenido debe tener el mismo tamaño de subtítulo."
  
 -#: src/lib/video_content.cc:130
 +#: src/lib/video_content.cc:142
  msgid "Content to be joined must have the same video frame rate."
  msgstr "Para unir contenido debe tener la misma velocidad de imagen."
  
 -#: src/lib/video_content.cc:134
 +#: src/lib/video_content.cc:146
  msgid "Content to be joined must have the same video frame type."
  msgstr "Para unir contenido debe tener el mismo tamaño de imagen."
  
 -#: src/lib/ffmpeg_content.cc:116
 +#: src/lib/ffmpeg_content.cc:118
  msgid "Content to be joined must use the same audio stream."
  msgstr "Para unir contenido debe usar el mismo tipo de audio."
  
 -#: src/lib/ffmpeg_content.cc:112
 +#: src/lib/ffmpeg_content.cc:114
  msgid "Content to be joined must use the same subtitle stream."
  msgstr "Para unir contenido debe tener el mismo tipo de subtítulos."
  
@@@ -207,12 -193,18 +207,18 @@@ msgstr "No se pudo conectar al servido
  msgid "Could not create remote directory %1 (%2)"
  msgstr "No se pudo crear la carpeta remota %1 (%2)"
  
 -#: src/lib/image_proxy.cc:147
 +#: src/lib/magick_image_proxy.cc:103
  #, fuzzy
  msgid "Could not decode image file (%1)"
  msgstr "No se pudo crear el fichero (%1)"
  
- #: src/lib/job.cc:91
+ #: src/lib/server_finder.cc:114
+ msgid ""
+ "Could not listen for remote encode servers.  Perhaps another instance of DCP-"
+ "o-matic is running."
+ msgstr ""
+ #: src/lib/job.cc:90
  msgid "Could not open %1"
  msgstr "No se pudo abrir %1"
  
@@@ -232,10 -224,6 +238,10 @@@ msgstr "No se pudo iniciar la sesión S
  msgid "Could not write to remote file (%1)"
  msgstr "No se pudo escribir el fichero remoto (%1)"
  
 +#: src/lib/dcp_subtitle_content.cc:72
 +msgid "DCP XML subtitles"
 +msgstr ""
 +
  #: src/lib/frame_rate_change.cc:98
  msgid "DCP will run at %1%% of the content speed.\n"
  msgstr "El DCP se reproducirá al %1%% de la velocidad de la fuente.\n"
  msgid "DCP will use every other frame of the content.\n"
  msgstr "El DCP usará imágenes alternas de la fuente.\n"
  
 -#: src/lib/job.cc:91
 +#: src/lib/job.cc:92
  msgid ""
  "DCP-o-matic could not open the file %1.  Perhaps it does not exist or is in "
  "an unexpected format."
@@@ -252,7 -240,7 +258,7 @@@ msgstr "
  "DCP-o-matic no pudo abrir el fichero %1. Quizás no existe o está en un "
  "formato inesperado."
  
 -#: src/lib/ffmpeg_content.cc:93
 +#: src/lib/ffmpeg_content.cc:95
  msgid ""
  "DCP-o-matic no longer supports the `%1' filter, so it has been turned off."
  msgstr "DCP-o-matic ya no ofrece el filtro `%1', así que ha sido desactivado."
  msgid "De-interlacing"
  msgstr "Desentrelazado"
  
 -#: src/lib/config.cc:436
 +#: src/lib/config.cc:427
  #, fuzzy
  msgid ""
  "Dear Projectionist\n"
@@@ -305,18 -293,14 +311,18 @@@ msgstr "Cada imagen será repetida otra
  msgid "Email KDMs for %1"
  msgstr "Enviar por email las KDM para %1"
  
 -#: src/lib/writer.cc:126
 +#: src/lib/writer.cc:136
  msgid "Encoding image data"
  msgstr "Codificando imagen"
  
 -#: src/lib/job.cc:320
 +#: src/lib/job.cc:322
  msgid "Error (%1)"
  msgstr "Error (%1)"
  
 +#: src/lib/exceptions.cc:66
 +msgid "Error in SubRip file: saw %1 while expecting %2"
 +msgstr ""
 +
  #: src/lib/examine_content_job.cc:46
  msgid "Examine content"
  msgstr "Examinar contenido"
@@@ -349,7 -333,7 +355,7 @@@ msgstr "Gaussiano
  msgid "Gradient debander"
  msgstr "Gradient debander"
  
- #: src/lib/util.cc:779
+ #: src/lib/util.cc:795
  msgid "Hearing impaired"
  msgstr "Sordos"
  
  msgid "High quality 3D denoiser"
  msgstr "Reductor de ruido 3D de alta calidad"
  
 -#: src/lib/job.cc:111 src/lib/job.cc:121
 +#: src/lib/job.cc:112 src/lib/job.cc:122
  #, fuzzy
  msgid ""
  "It is not known what caused this error.  Please report the problem to the "
@@@ -366,7 -350,7 +372,7 @@@ msgstr "
  "Error desconocido. La mejor idea es informar del problema a la lista de "
  "correo de DCP-o-matic (carl@dcpomatic.com)"
  
 -#: src/lib/config.cc:199
 +#: src/lib/config.cc:212
  msgid "KDM delivery: $CPL_NAME"
  msgstr ""
  
@@@ -378,50 -362,30 +384,50 @@@ msgstr "Kernel deinterlacer
  msgid "Lanczos"
  msgstr "Lanczos"
  
- #: src/lib/util.cc:773
+ #: src/lib/util.cc:789
  msgid "Left"
  msgstr "Izquierda"
  
- #: src/lib/util.cc:781
+ #: src/lib/util.cc:797
  msgid "Left centre"
  msgstr "Centro izquierda"
  
- #: src/lib/util.cc:783
+ #: src/lib/util.cc:799
  msgid "Left rear surround"
  msgstr "Surround trasero izquierda"
  
- #: src/lib/util.cc:777
+ #: src/lib/util.cc:793
  msgid "Left surround"
  msgstr "Surround izquierda"
  
- #: src/lib/util.cc:776
+ #: src/lib/util.cc:792
  msgid "Lfe (sub)"
  msgstr "Lfe (bajos)"
  
 +#: src/lib/mid_side_decoder.cc:31
 +msgid "Mid-side decoder"
 +msgstr ""
 +
  #: src/lib/filter.cc:68 src/lib/filter.cc:69 src/lib/filter.cc:72
  msgid "Misc"
  msgstr "Miscelánea"
  
 +#: src/lib/dcp_examiner.cc:93
 +msgid "Mismatched audio channel counts in DCP"
 +msgstr ""
 +
 +#: src/lib/dcp_examiner.cc:99
 +msgid "Mismatched audio frame rates in DCP"
 +msgstr ""
 +
 +#: src/lib/dcp_examiner.cc:74
 +msgid "Mismatched frame rates in DCP"
 +msgstr ""
 +
 +#: src/lib/dcp_examiner.cc:81
 +msgid "Mismatched video sizes in DCP"
 +msgstr ""
 +
  #: src/lib/filter.cc:65
  msgid "Motion compensating deinterlacer"
  msgstr "Motion compensating deinterlacer"
@@@ -442,20 -406,20 +448,20 @@@ msgstr "
  msgid "Noise reduction"
  msgstr "Reducción de ruido"
  
 -#: src/lib/job.cc:318
 +#: src/lib/job.cc:320
  msgid "OK (ran for %1)"
  msgstr "OK (ejecución %1)"
  
 -#: src/lib/content.cc:102
 +#: src/lib/content.cc:106
  msgid "Only the first piece of content to be joined can have a start trim."
  msgstr ""
  "Solo la primera pieza a ser unida puede tener un recorte en su comienzo."
  
 -#: src/lib/content.cc:106
 +#: src/lib/content.cc:110
  msgid "Only the last piece of content to be joined can have an end trim."
  msgstr "Solo la Ãºltima pieza a ser unida puede tener un recorte en su final."
  
 -#: src/lib/job.cc:103
 +#: src/lib/job.cc:104
  msgid "Out of memory"
  msgstr "Falta de memoria"
  
@@@ -475,23 -439,23 +481,23 @@@ msgstr "Anuncio de servicio público
  msgid "Rating"
  msgstr "Clasificación"
  
 -#: src/lib/config.cc:86 src/lib/config.cc:183
 +#: src/lib/config.cc:92 src/lib/config.cc:196
  msgid "Rec. 709"
  msgstr "Rec. 709"
  
- #: src/lib/util.cc:774
+ #: src/lib/util.cc:790
  msgid "Right"
  msgstr "Derecha"
  
- #: src/lib/util.cc:782
+ #: src/lib/util.cc:798
  msgid "Right centre"
  msgstr "Centro derecha"
  
- #: src/lib/util.cc:784
+ #: src/lib/util.cc:800
  msgid "Right rear surround"
  msgstr "Surround trasero derecha"
  
- #: src/lib/util.cc:778
+ #: src/lib/util.cc:794
  msgid "Right surround"
  msgstr "Surround derecha"
  
@@@ -515,14 -479,6 +521,14 @@@ msgstr "Sinc
  msgid "Spline"
  msgstr "Spline"
  
 +#: src/lib/upmixer_a.cc:42
 +msgid "Stereo to 5.1 up-mixer A"
 +msgstr ""
 +
 +#: src/lib/subrip_content.cc:73
 +msgid "SubRip subtitles"
 +msgstr ""
 +
  #: src/lib/dcp_content_type.cc:50
  msgid "Teaser"
  msgstr "Teaser"
@@@ -535,16 -491,7 +541,16 @@@ msgstr "Filtro telecine
  msgid "Test"
  msgstr "Test"
  
 -#: src/lib/job.cc:77
 +#: src/lib/dcp_examiner.cc:133
 +msgid ""
 +"The KDM does not decrypt the DCP.  Perhaps it is targeted at the wrong CPL"
 +msgstr ""
 +
 +#: src/lib/exceptions.cc:72
 +msgid "The certificate chain for signing is invalid"
 +msgstr ""
 +
 +#: src/lib/job.cc:78
  msgid ""
  "The drive that the film is stored on is low in disc space.  Free some more "
  "space and try again."
@@@ -552,11 -499,11 +558,11 @@@ msgstr "
  "En el dispositivo donde se encuentra la película queda poco espacio. Libere "
  "espacio en el disco y pruebe de nuevo."
  
 -#: src/lib/job.cc:103
 +#: src/lib/job.cc:104
  msgid "There was not enough memory to do this."
  msgstr "No hubo suficiente memoria para hacer esto."
  
 -#: src/lib/film.cc:414
 +#: src/lib/film.cc:423
  msgid ""
  "This film was created with a newer version of DCP-o-matic, and it cannot be "
  "loaded into this version.  Sorry!"
@@@ -565,7 -512,7 +571,7 @@@ msgstr "
  "desgraciadamente no s puede cargar. Necesitas crear una nueva película, "
  "volver a añadir y configurar ton contenido. Â¡Lo siento!"
  
 -#: src/lib/film.cc:406
 +#: src/lib/film.cc:415
  msgid ""
  "This film was created with an older version of DCP-o-matic, and "
  "unfortunately it cannot be loaded into this version.  You will need to "
@@@ -579,7 -526,7 +585,7 @@@ msgstr "
  msgid "Trailer"
  msgstr "Trailer"
  
 -#: src/lib/transcode_job.cc:53
 +#: src/lib/transcode_job.cc:54
  msgid "Transcode %1"
  msgstr "Codificar %1"
  
@@@ -591,15 -538,15 +597,15 @@@ msgstr "Transitional
  msgid "Unexpected ZIP file contents"
  msgstr "Contenidos inesperados del fichero ZIP"
  
- #: src/lib/image_proxy.cc:56
+ #: src/lib/image_proxy.cc:197
  msgid "Unexpected image type received by server"
  msgstr ""
  
 -#: src/lib/job.cc:120
 +#: src/lib/job.cc:121
  msgid "Unknown error"
  msgstr "Error desconocido"
  
 -#: src/lib/ffmpeg_decoder.cc:293
 +#: src/lib/ffmpeg_decoder.cc:263
  msgid "Unrecognised audio sample format (%1)"
  msgstr "Formato de audio desconocido (%1)"
  
@@@ -611,7 -558,7 +617,7 @@@ msgstr "Máscara de desenfoque Gaussian
  msgid "Untitled"
  msgstr "Sin título"
  
- #: src/lib/util.cc:780
+ #: src/lib/util.cc:796
  msgid "Visually impaired"
  msgstr "Ciegos"
  
@@@ -627,7 -574,7 +633,7 @@@ msgstr "X
  msgid "Yet Another Deinterlacing Filter"
  msgstr "Yet Another Deinterlacing Filter"
  
 -#: src/lib/film.cc:311
 +#: src/lib/film.cc:320
  msgid "You must add some content to the DCP before creating it"
  msgstr "Tienes que añadir contenido al DCP antes de crearlo."
  
@@@ -639,15 -586,11 +645,15 @@@ msgstr "[imágenes en movimiento]
  msgid "[still]"
  msgstr "[imagen fija]"
  
 -#: src/lib/film.cc:259
 +#: src/lib/dcp_subtitle_content.cc:66 src/lib/subrip_content.cc:67
 +msgid "[subtitles]"
 +msgstr ""
 +
 +#: src/lib/film.cc:268
  msgid "cannot contain slashes"
  msgstr "no puede contener barras"
  
- #: src/lib/util.cc:554
+ #: src/lib/util.cc:570
  msgid "connect timed out"
  msgstr "tiempo de conexión agotado"
  
  msgid "connecting"
  msgstr "conectando"
  
 -#: src/lib/film.cc:307
 +#: src/lib/film.cc:316
  msgid "container"
  msgstr "continente"
  
 -#: src/lib/film.cc:315
 +#: src/lib/film.cc:324
  msgid "content type"
  msgstr "tipo de contenido"
  
@@@ -671,15 -614,23 +677,23 @@@ msgstr "copiando %1
  msgid "could not create file %1"
  msgstr "No se pudo crear el fichero (%1)"
  
 -#: src/lib/ffmpeg.cc:179
 -msgid "could not find audio decoder"
 -msgstr "no se encontró el decodificador de audio"
 -
 -#: src/lib/ffmpeg.cc:105
 +#: src/lib/ffmpeg.cc:102
  msgid "could not find stream information"
  msgstr "no se pudo encontrar información del flujo"
  
 +#: src/lib/writer.cc:430
++msgid "could not find audio decoder"
++msgstr "no se encontró el decodificador de audio"
++
+ #: src/lib/ffmpeg.cc:158
+ msgid "could not find video decoder"
+ msgstr "no se pudo encontrar decodificador de vídeo"
+ #: src/lib/writer.cc:439
  msgid "could not move audio MXF into the DCP (%1)"
  msgstr "no s puedo mover el audio MXF en el DCP (%1)"
  
 -#: src/lib/sndfile_decoder.cc:56
 +#: src/lib/sndfile_decoder.cc:54
  msgid "could not open audio file for reading"
  msgstr "no se pudo abrir el fichero de audio para lectura"
  
  msgid "could not open file %1"
  msgstr "no se pudo abrir el fichero %1"
  
 -#: src/lib/dcp_video_frame.cc:331
 +#: src/lib/encoded_data.cc:50
  msgid "could not open file for reading"
  msgstr "no se pudo abrir el fichero para lectura"
  
 -#: src/lib/dcp_video_frame.cc:337
 +#: src/lib/encoded_data.cc:56
  msgid "could not read encoded data"
  msgstr "no se pudo leer la información codificada"
  
  msgid "could not read from file %1 (%2)"
  msgstr "No se pudo leer del fichero %1 (%2)"
  
 -#: src/lib/resampler.cc:98
 +#: src/lib/resampler.cc:96
  msgid "could not run sample-rate converter"
  msgstr "no se pudo ejecutar el conversor de velocidad"
  
 -#: src/lib/resampler.cc:79
 +#: src/lib/resampler.cc:77
  msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
  msgstr "no se pudo ejecutar el conversor de velocidad"
  
@@@ -719,43 -670,43 +733,43 @@@ msgstr "no se pudo abrir la sesión SSH
  msgid "could not write to file %1 (%2)"
  msgstr "No se pudo escribir en el fichero (%1)"
  
- #: src/lib/util.cc:574
+ #: src/lib/util.cc:590
  msgid "error during async_accept (%1)"
  msgstr "error durante async_accept (%1)"
  
- #: src/lib/util.cc:550
+ #: src/lib/util.cc:566
  msgid "error during async_connect (%1)"
  msgstr "error durante async_connect (%1)"
  
- #: src/lib/util.cc:623
+ #: src/lib/util.cc:639
  msgid "error during async_read (%1)"
  msgstr "error durante async_read (%1)"
  
- #: src/lib/util.cc:595
+ #: src/lib/util.cc:611
  msgid "error during async_write (%1)"
  msgstr "error durante async_write (%1)"
  
 -#: src/lib/transcode_job.cc:97
 +#: src/lib/transcode_job.cc:98
  msgid "frames per second"
  msgstr "imágenes por segundo"
  
- #: src/lib/util.cc:158
+ #: src/lib/util.cc:161
  msgid "hour"
  msgstr "hora"
  
- #: src/lib/util.cc:154 src/lib/util.cc:160
+ #: src/lib/util.cc:157 src/lib/util.cc:163
  msgid "hours"
  msgstr "horas"
  
- #: src/lib/util.cc:176
+ #: src/lib/util.cc:179
  msgid "minute"
  msgstr "minuto"
  
- #: src/lib/util.cc:172 src/lib/util.cc:178
+ #: src/lib/util.cc:175 src/lib/util.cc:181
  msgid "minutes"
  msgstr "minutos"
  
- #: src/lib/util.cc:706
+ #: src/lib/util.cc:711
  msgid "missing key %1 in key-value set"
  msgstr "falta la clave %1 en el par clave-valor"
  
@@@ -767,34 -718,38 +781,34 @@@ msgstr "falta una configuración obliga
  msgid "moving"
  msgstr "moviendo"
  
 -#: src/lib/ffmpeg_decoder.cc:589
 +#: src/lib/ffmpeg_decoder.cc:420
  msgid "multi-part subtitles not yet supported"
  msgstr "todavía no se soportan subtítulos en múltiples partes"
  
 -#: src/lib/film.cc:259 src/lib/film.cc:319
 +#: src/lib/film.cc:268 src/lib/film.cc:328
  msgid "name"
  msgstr "nombre"
  
 -#: src/lib/ffmpeg_decoder.cc:604
 -msgid "non-bitmap subtitles not yet supported"
 -msgstr "todavía no se soportan subtítulos que no son en mapas de bits"
 -
  #. / TRANSLATORS: remaining here follows an amount of time that is remaining
  #. / on an operation.
 -#: src/lib/job.cc:315
 +#: src/lib/job.cc:317
  msgid "remaining"
  msgstr "pendiente"
  
 -#: src/lib/config.cc:84 src/lib/video_content.cc:179
 +#: src/lib/config.cc:90 src/lib/video_content.cc:197
  msgid "sRGB"
  msgstr "sRGB"
  
 -#: src/lib/config.cc:85
 +#: src/lib/config.cc:91
  msgid "sRGB non-linearised"
  msgstr "sRGB no-lineal"
  
- #: src/lib/util.cc:191
+ #: src/lib/util.cc:194
  #, fuzzy
  msgid "second"
  msgstr "segundos"
  
- #: src/lib/util.cc:193
+ #: src/lib/util.cc:196
  msgid "seconds"
  msgstr "segundos"
  
  msgid "still"
  msgstr "imagen fija"
  
 -#: src/lib/ffmpeg_examiner.cc:168
 +#: src/lib/ffmpeg_examiner.cc:207
  msgid "unknown"
  msgstr "desconocido"
  
- #~ msgid "could not find audio decoder"
- #~ msgstr "no se encontró el decodificador de audio"
- #~ msgid "could not find video decoder"
- #~ msgstr "no se pudo encontrar decodificador de vídeo"
 +#~ msgid "non-bitmap subtitles not yet supported"
 +#~ msgstr "todavía no se soportan subtítulos que no son en mapas de bits"
 +
  #~ msgid "Could not read DCP to make KDM for"
  #~ msgstr "No se pudo leer el DCP para hacer el KDM"
  
diff --combined src/lib/po/fr_FR.po
index 474da73f9a3a6fe24d33900b09c4c89e38716aa3,ff1152f390c7dbc259629a53142f9ff474a06e5a..bf8dc04f7cf1f35e158e833b1882241b6a2b014d
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: DCP-o-matic FRENCH\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2014-10-15 09:37+0100\n"
+ "POT-Creation-Date: 2014-10-23 22:03+0100\n"
  "PO-Revision-Date: 2014-07-14 12:04+0100\n"
  "Last-Translator: Grégoire AUSINA <gregoire@gisele-productions.eu>\n"
  "Language-Team: \n"
  "Content-Transfer-Encoding: 8bit\n"
  "X-Generator: Poedit 1.6.6\n"
  
 -#: src/lib/sndfile_content.cc:61
 +#: src/lib/dcp_content.cc:106
 +msgid "%1 [DCP]"
 +msgstr ""
 +
 +#: src/lib/sndfile_content.cc:64
  msgid "%1 [audio]"
  msgstr "%1 [audio]"
  
 -#: src/lib/ffmpeg_content.cc:211
 +#: src/lib/ffmpeg_content.cc:205
  msgid "%1 [movie]"
  msgstr "%1 [vidéo]"
  
 -#: src/lib/sndfile_content.cc:82
 +#: src/lib/sndfile_content.cc:85
  msgid "%1 channels, %2kHz, %3 samples"
  msgstr "%1 canaux, %2kHz, %3 Ã©chantillons"
  
 -#: src/lib/ffmpeg_content.cc:246
 +#: src/lib/ffmpeg_content.cc:240
  msgid "%1 frames; %2 frames per second"
  msgstr "%1 images ; %2 images par seconde"
  
 -#: src/lib/video_content.cc:211
 +#: src/lib/video_content.cc:235
  msgid "%1x%2 pixels (%3:1)"
  msgstr "%1x%2 pixels (%3:1)"
  
@@@ -73,11 -69,11 +73,11 @@@ msgstr "Academy
  msgid "Advertisement"
  msgstr "Advertisement"
  
 -#: src/lib/job.cc:71
 +#: src/lib/job.cc:72
  msgid "An error occurred whilst handling the file %1."
  msgstr "Une erreur s'est produite lors du traitement du fichier %1."
  
 -#: src/lib/analyse_audio_job.cc:48
 +#: src/lib/analyse_audio_job.cc:49
  msgid "Analyse audio"
  msgstr "Analyse audio"
  
@@@ -93,7 -89,7 +93,7 @@@ msgstr "Bicubique
  msgid "Bilinear"
  msgstr "Bilinéaire"
  
 -#: src/lib/job.cc:322
 +#: src/lib/job.cc:324
  msgid "Cancelled"
  msgstr "Annulé"
  
  msgid "Cannot handle pixel format %1 during %2"
  msgstr "Format du pixel %1 non géré par %2"
  
- #: src/lib/util.cc:775
+ #: src/lib/util.cc:791
  msgid "Centre"
  msgstr "Centre"
  
 -#: src/lib/writer.cc:83
 +#: src/lib/writer.cc:90
  msgid "Checking existing image data"
  msgstr "Recherche de données images existantes"
  
 -#: src/lib/writer.cc:475
 +#: src/lib/writer.cc:490
  msgid "Computing audio digest"
  msgstr "Fabrication rendu audio"
  
  msgid "Computing digest"
  msgstr "fabrication rendu"
  
 -#: src/lib/writer.cc:471
 +#: src/lib/writer.cc:486
  msgid "Computing image digest"
  msgstr "Fabrication rendu image"
  
  msgid "Content and DCP have the same rate.\n"
  msgstr "Le DCP et la source ont la même cadence image.\n"
  
 -#: src/lib/audio_content.cc:83
 +#: src/lib/subtitle_content.cc:103
 +#, fuzzy
 +msgid "Content to be joined must have the same 'use subtitles' setting."
 +msgstr ""
 +"Le contenu Ã  ajouter doit avoir les mêmes paramètres de mise Ã  l'échelle"
 +
 +#: src/lib/audio_content.cc:100
  msgid "Content to be joined must have the same audio delay."
  msgstr "Le contenu Ã  ajouter doit présenter le même délais audio"
  
 -#: src/lib/audio_content.cc:79
 +#: src/lib/audio_content.cc:96
  msgid "Content to be joined must have the same audio gain."
  msgstr "Le contenu Ã  ajouter doit avoir le même gain audio"
  
 -#: src/lib/video_content.cc:146
 +#: src/lib/video_content.cc:158
  msgid "Content to be joined must have the same colour conversion."
  msgstr "Le contenu Ã  ajouter doit avoir le même type de conversion couleur"
  
 -#: src/lib/video_content.cc:138
 +#: src/lib/video_content.cc:150
  msgid "Content to be joined must have the same crop."
  msgstr "le contenu Ã  ajouter doit avoir les mêmes valeurs de rognage"
  
 -#: src/lib/video_content.cc:126
 +#: src/lib/video_content.cc:162
 +#, fuzzy
 +msgid "Content to be joined must have the same fades."
 +msgstr "le contenu Ã  ajouter doit avoir les mêmes valeurs de rognage"
 +
 +#: src/lib/video_content.cc:138
  msgid "Content to be joined must have the same picture size."
  msgstr "Le contenu Ã  ajouter doit avoir la même taille d'image"
  
 -#: src/lib/video_content.cc:142
 +#: src/lib/video_content.cc:154
  msgid "Content to be joined must have the same scale setting."
  msgstr ""
  "Le contenu Ã  ajouter doit avoir les mêmes paramètres de mise Ã  l'échelle"
  
 -#: src/lib/subtitle_content.cc:81
 +#: src/lib/subtitle_content.cc:107
  msgid "Content to be joined must have the same subtitle X offset."
  msgstr ""
  "Le contenu Ã  ajouter doit avoir le même positionnement horizontal des sous-"
  "titres"
  
 -#: src/lib/subtitle_content.cc:89
 +#: src/lib/subtitle_content.cc:115
  #, fuzzy
  msgid "Content to be joined must have the same subtitle X scale."
  msgstr "le contenu Ã  ajouter doit avoir le même positionnement de sous-titre"
  
 -#: src/lib/subtitle_content.cc:85
 +#: src/lib/subtitle_content.cc:111
  msgid "Content to be joined must have the same subtitle Y offset."
  msgstr ""
  "Le contenu Ã  ajouter doit avoir le même positionnement vertical des sous-"
  "titres"
  
 -#: src/lib/subtitle_content.cc:93
 +#: src/lib/subtitle_content.cc:119
  #, fuzzy
  msgid "Content to be joined must have the same subtitle Y scale."
  msgstr "le contenu Ã  ajouter doit avoir le même positionnement de sous-titre"
  
 -#: src/lib/video_content.cc:130
 +#: src/lib/video_content.cc:142
  msgid "Content to be joined must have the same video frame rate."
  msgstr "Le contenu Ã  ajouter doit avoir la même cadence d'images"
  
 -#: src/lib/video_content.cc:134
 +#: src/lib/video_content.cc:146
  msgid "Content to be joined must have the same video frame type."
  msgstr "Le contenu Ã  ajouter doit avoir le même type de trame vidéo"
  
 -#: src/lib/ffmpeg_content.cc:116
 +#: src/lib/ffmpeg_content.cc:118
  msgid "Content to be joined must use the same audio stream."
  msgstr "Le contenu Ã  ajouter doit avoir le même flux audio"
  
 -#: src/lib/ffmpeg_content.cc:112
 +#: src/lib/ffmpeg_content.cc:114
  msgid "Content to be joined must use the same subtitle stream."
  msgstr "Le contenu Ã  ajouter doit avoir le même flux sous titre"
  
@@@ -211,12 -196,18 +211,18 @@@ msgstr "Connexion au serveur %1 (%2) im
  msgid "Could not create remote directory %1 (%2)"
  msgstr "Création du dossier distant %1 (%2) impossible"
  
 -#: src/lib/image_proxy.cc:147
 +#: src/lib/magick_image_proxy.cc:103
  #, fuzzy
  msgid "Could not decode image file (%1)"
  msgstr "Impossible de décoder le ficher image"
  
- #: src/lib/job.cc:91
+ #: src/lib/server_finder.cc:114
+ msgid ""
+ "Could not listen for remote encode servers.  Perhaps another instance of DCP-"
+ "o-matic is running."
+ msgstr ""
+ #: src/lib/job.cc:90
  msgid "Could not open %1"
  msgstr "lecture du fichier %1 impossible"
  
@@@ -236,10 -227,6 +242,10 @@@ msgstr "Démarrage de session SCP (%1) 
  msgid "Could not write to remote file (%1)"
  msgstr "Écriture vers fichier distant (%1) impossible"
  
 +#: src/lib/dcp_subtitle_content.cc:72
 +msgid "DCP XML subtitles"
 +msgstr ""
 +
  #: src/lib/frame_rate_change.cc:98
  msgid "DCP will run at %1%% of the content speed.\n"
  msgstr "Le DCP sera lu Ã  %1%% de la vitesse du contenu source.\n"
  msgid "DCP will use every other frame of the content.\n"
  msgstr "Le DCP utilisera les autres images de la source.\n"
  
 -#: src/lib/job.cc:91
 +#: src/lib/job.cc:92
  msgid ""
  "DCP-o-matic could not open the file %1.  Perhaps it does not exist or is in "
  "an unexpected format."
@@@ -256,7 -243,7 +262,7 @@@ msgstr "
  "DCP-o-matic ne peut pas ouvrir le fichier %1. Soit il n'existe pas, soit il "
  "n'est pas au bon format."
  
 -#: src/lib/ffmpeg_content.cc:93
 +#: src/lib/ffmpeg_content.cc:95
  msgid ""
  "DCP-o-matic no longer supports the `%1' filter, so it has been turned off."
  msgstr "DCP-o-matic ne gère plus le filtre `%1'. Celui-ci a Ã©té désactivé."
  msgid "De-interlacing"
  msgstr "Désentrelacement"
  
 -#: src/lib/config.cc:436
 +#: src/lib/config.cc:427
  msgid ""
  "Dear Projectionist\n"
  "\n"
@@@ -311,18 -298,14 +317,18 @@@ msgstr "Chaque image source sera répet
  msgid "Email KDMs for %1"
  msgstr "Envoyer KDM par email pour %1"
  
 -#: src/lib/writer.cc:126
 +#: src/lib/writer.cc:136
  msgid "Encoding image data"
  msgstr "encodage des données image"
  
 -#: src/lib/job.cc:320
 +#: src/lib/job.cc:322
  msgid "Error (%1)"
  msgstr "Erreur (%1)"
  
 +#: src/lib/exceptions.cc:66
 +msgid "Error in SubRip file: saw %1 while expecting %2"
 +msgstr ""
 +
  #: src/lib/examine_content_job.cc:46
  msgid "Examine content"
  msgstr "Examen du contenu"
@@@ -355,7 -338,7 +361,7 @@@ msgstr "Gaussien
  msgid "Gradient debander"
  msgstr "Corrections des bandes par dégradé"
  
- #: src/lib/util.cc:779
+ #: src/lib/util.cc:795
  msgid "Hearing impaired"
  msgstr "Déficients Auditifs"
  
  msgid "High quality 3D denoiser"
  msgstr "Débruiteur 3D haute qualité"
  
 -#: src/lib/job.cc:111 src/lib/job.cc:121
 +#: src/lib/job.cc:112 src/lib/job.cc:122
  msgid ""
  "It is not known what caused this error.  Please report the problem to the "
  "DCP-o-matic author (carl@dcpomatic.com)."
@@@ -371,7 -354,7 +377,7 @@@ msgstr "
  "Erreur indéterminée. Merci de rapporter le problème Ã  l'auteur de DCP-o-"
  "matic (carl@dcpomatic.com)"
  
 -#: src/lib/config.cc:199
 +#: src/lib/config.cc:212
  msgid "KDM delivery: $CPL_NAME"
  msgstr ""
  
@@@ -383,50 -366,30 +389,50 @@@ msgstr "Désentrelaceur noyau
  msgid "Lanczos"
  msgstr "Lanczos"
  
- #: src/lib/util.cc:773
+ #: src/lib/util.cc:789
  msgid "Left"
  msgstr "Gauche"
  
- #: src/lib/util.cc:781
+ #: src/lib/util.cc:797
  msgid "Left centre"
  msgstr "Centre Gauche"
  
- #: src/lib/util.cc:783
+ #: src/lib/util.cc:799
  msgid "Left rear surround"
  msgstr "Surround arrière gauche"
  
- #: src/lib/util.cc:777
+ #: src/lib/util.cc:793
  msgid "Left surround"
  msgstr "Arrière gauche"
  
- #: src/lib/util.cc:776
+ #: src/lib/util.cc:792
  msgid "Lfe (sub)"
  msgstr "Basses fréquences"
  
 +#: src/lib/mid_side_decoder.cc:31
 +msgid "Mid-side decoder"
 +msgstr ""
 +
  #: src/lib/filter.cc:68 src/lib/filter.cc:69 src/lib/filter.cc:72
  msgid "Misc"
  msgstr "Divers"
  
 +#: src/lib/dcp_examiner.cc:93
 +msgid "Mismatched audio channel counts in DCP"
 +msgstr ""
 +
 +#: src/lib/dcp_examiner.cc:99
 +msgid "Mismatched audio frame rates in DCP"
 +msgstr ""
 +
 +#: src/lib/dcp_examiner.cc:74
 +msgid "Mismatched frame rates in DCP"
 +msgstr ""
 +
 +#: src/lib/dcp_examiner.cc:81
 +msgid "Mismatched video sizes in DCP"
 +msgstr ""
 +
  #: src/lib/filter.cc:65
  msgid "Motion compensating deinterlacer"
  msgstr "Désentrelaceur par compensation de mouvement"
@@@ -447,19 -410,19 +453,19 @@@ msgstr "Aucun fichier image valide dan
  msgid "Noise reduction"
  msgstr "Réduction de bruit"
  
 -#: src/lib/job.cc:318
 +#: src/lib/job.cc:320
  msgid "OK (ran for %1)"
  msgstr "OK (processus %1)"
  
 -#: src/lib/content.cc:102
 +#: src/lib/content.cc:106
  msgid "Only the first piece of content to be joined can have a start trim."
  msgstr "Seul le premier contenu Ã  ajouter peut Ãªtre rogné au point d'entrée."
  
 -#: src/lib/content.cc:106
 +#: src/lib/content.cc:110
  msgid "Only the last piece of content to be joined can have an end trim."
  msgstr "Seul le dernier contenu Ã  ajouter peut Ãªtre rogné au point de sortie."
  
 -#: src/lib/job.cc:103
 +#: src/lib/job.cc:104
  msgid "Out of memory"
  msgstr "Hors capacité mémoire"
  
@@@ -479,23 -442,23 +485,23 @@@ msgstr "Public Service Announcement
  msgid "Rating"
  msgstr "Classification"
  
 -#: src/lib/config.cc:86 src/lib/config.cc:183
 +#: src/lib/config.cc:92 src/lib/config.cc:196
  msgid "Rec. 709"
  msgstr "Rec. 709"
  
- #: src/lib/util.cc:774
+ #: src/lib/util.cc:790
  msgid "Right"
  msgstr "Droite"
  
- #: src/lib/util.cc:782
+ #: src/lib/util.cc:798
  msgid "Right centre"
  msgstr "Centre Droit"
  
- #: src/lib/util.cc:784
+ #: src/lib/util.cc:800
  msgid "Right rear surround"
  msgstr "Surround arrière droite"
  
- #: src/lib/util.cc:778
+ #: src/lib/util.cc:794
  msgid "Right surround"
  msgstr "Arrière droite"
  
@@@ -519,14 -482,6 +525,14 @@@ msgstr "Sinc
  msgid "Spline"
  msgstr "Spline"
  
 +#: src/lib/upmixer_a.cc:42
 +msgid "Stereo to 5.1 up-mixer A"
 +msgstr ""
 +
 +#: src/lib/subrip_content.cc:73
 +msgid "SubRip subtitles"
 +msgstr ""
 +
  #: src/lib/dcp_content_type.cc:50
  msgid "Teaser"
  msgstr "Teaser"
@@@ -539,16 -494,7 +545,16 @@@ msgstr "Filtre télécinéma
  msgid "Test"
  msgstr "Test"
  
 -#: src/lib/job.cc:77
 +#: src/lib/dcp_examiner.cc:133
 +msgid ""
 +"The KDM does not decrypt the DCP.  Perhaps it is targeted at the wrong CPL"
 +msgstr ""
 +
 +#: src/lib/exceptions.cc:72
 +msgid "The certificate chain for signing is invalid"
 +msgstr ""
 +
 +#: src/lib/job.cc:78
  msgid ""
  "The drive that the film is stored on is low in disc space.  Free some more "
  "space and try again."
@@@ -556,11 -502,11 +562,11 @@@ msgstr "
  "Le disque contenant le film est presque plein. Libérez de l'espace et "
  "essayez Ã  nouveau."
  
 -#: src/lib/job.cc:103
 +#: src/lib/job.cc:104
  msgid "There was not enough memory to do this."
  msgstr "Il n'y avait pas assez de mémoire pour faire cela."
  
 -#: src/lib/film.cc:414
 +#: src/lib/film.cc:423
  msgid ""
  "This film was created with a newer version of DCP-o-matic, and it cannot be "
  "loaded into this version.  Sorry!"
@@@ -568,7 -514,7 +574,7 @@@ msgstr "
  "Ce film a Ã©té créé avec une nouvelle version de DCP-o-matic et il ne peut "
  "être ouvert dans cette version du programme. Désolé!"
  
 -#: src/lib/film.cc:406
 +#: src/lib/film.cc:415
  msgid ""
  "This film was created with an older version of DCP-o-matic, and "
  "unfortunately it cannot be loaded into this version.  You will need to "
@@@ -582,7 -528,7 +588,7 @@@ msgstr "
  msgid "Trailer"
  msgstr "Trailer"
  
 -#: src/lib/transcode_job.cc:53
 +#: src/lib/transcode_job.cc:54
  msgid "Transcode %1"
  msgstr "Transcodage %1"
  
@@@ -594,15 -540,15 +600,15 @@@ msgstr "Transitional
  msgid "Unexpected ZIP file contents"
  msgstr "Contenu de fichier ZIP non géré."
  
- #: src/lib/image_proxy.cc:56
+ #: src/lib/image_proxy.cc:197
  msgid "Unexpected image type received by server"
  msgstr "Type d'image non conforme reçu par le serveur"
  
 -#: src/lib/job.cc:120
 +#: src/lib/job.cc:121
  msgid "Unknown error"
  msgstr "Erreur inconnue"
  
 -#: src/lib/ffmpeg_decoder.cc:293
 +#: src/lib/ffmpeg_decoder.cc:263
  msgid "Unrecognised audio sample format (%1)"
  msgstr "Échantillonnage audio (%1) inconnu"
  
@@@ -614,7 -560,7 +620,7 @@@ msgstr "Adoucissement et flou Gaussien
  msgid "Untitled"
  msgstr "Sans titre"
  
- #: src/lib/util.cc:780
+ #: src/lib/util.cc:796
  msgid "Visually impaired"
  msgstr "Déficients Visuels"
  
@@@ -630,7 -576,7 +636,7 @@@ msgstr "X
  msgid "Yet Another Deinterlacing Filter"
  msgstr "Un autre filtre de désentrelacement"
  
 -#: src/lib/film.cc:311
 +#: src/lib/film.cc:320
  msgid "You must add some content to the DCP before creating it"
  msgstr "Ajoutez un contenu pour créer le DCP"
  
@@@ -642,15 -588,11 +648,15 @@@ msgstr "[Déplacement d'images]
  msgid "[still]"
  msgstr "[restant]"
  
 -#: src/lib/film.cc:259
 +#: src/lib/dcp_subtitle_content.cc:66 src/lib/subrip_content.cc:67
 +msgid "[subtitles]"
 +msgstr ""
 +
 +#: src/lib/film.cc:268
  msgid "cannot contain slashes"
  msgstr "slash interdit"
  
- #: src/lib/util.cc:554
+ #: src/lib/util.cc:570
  msgid "connect timed out"
  msgstr "temps de connexion expiré"
  
  msgid "connecting"
  msgstr "connexion"
  
 -#: src/lib/film.cc:307
 +#: src/lib/film.cc:316
  msgid "container"
  msgstr "conteneur"
  
 -#: src/lib/film.cc:315
 +#: src/lib/film.cc:324
  msgid "content type"
  msgstr "type de contenu"
  
@@@ -674,15 -616,23 +680,23 @@@ msgstr "copie de %1
  msgid "could not create file %1"
  msgstr "Écriture vers fichier distant (%1) impossible"
  
- #: src/lib/writer.cc:430
 +#: src/lib/ffmpeg.cc:102
 +msgid "could not find stream information"
 +msgstr "information du flux introuvable"
 +
 -#: src/lib/ffmpeg.cc:105
 -msgid "could not find stream information"
 -msgstr "information du flux introuvable"
 -
+ #: src/lib/ffmpeg.cc:179
+ msgid "could not find audio decoder"
+ msgstr "décodeur audio introuvable"
+ #: src/lib/ffmpeg.cc:158
+ msgid "could not find video decoder"
+ msgstr "décodeur vidéo introuvable"
+ #: src/lib/writer.cc:439
  msgid "could not move audio MXF into the DCP (%1)"
  msgstr "ne peut déplacer un MXF son dans le DCP (%1)"
  
 -#: src/lib/sndfile_decoder.cc:56
 +#: src/lib/sndfile_decoder.cc:54
  msgid "could not open audio file for reading"
  msgstr "lecture du fichier audio impossible"
  
  msgid "could not open file %1"
  msgstr "lecture du fichier (%1) impossible"
  
 -#: src/lib/dcp_video_frame.cc:331
 +#: src/lib/encoded_data.cc:50
  msgid "could not open file for reading"
  msgstr "lecture du fichier impossible"
  
 -#: src/lib/dcp_video_frame.cc:337
 +#: src/lib/encoded_data.cc:56
  msgid "could not read encoded data"
  msgstr "lecture des données encodées impossible"
  
  msgid "could not read from file %1 (%2)"
  msgstr "lecture du fichier impossible %1 (%2)"
  
 -#: src/lib/resampler.cc:98
 +#: src/lib/resampler.cc:96
  msgid "could not run sample-rate converter"
  msgstr "conversion de la fréquence d'échantillonnage impossible"
  
 -#: src/lib/resampler.cc:79
 +#: src/lib/resampler.cc:77
  msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
  msgstr ""
  "n'a pas pu convertir la fréquence d'échantillonnage pour %1 Ã©chantillons "
@@@ -724,43 -674,43 +738,43 @@@ msgstr "démarrage de session SSH impos
  msgid "could not write to file %1 (%2)"
  msgstr "Écriture vers fichier distant (%1) impossible (%2)"
  
- #: src/lib/util.cc:574
+ #: src/lib/util.cc:590
  msgid "error during async_accept (%1)"
  msgstr "erreur pendant async_accept (%1)"
  
- #: src/lib/util.cc:550
+ #: src/lib/util.cc:566
  msgid "error during async_connect (%1)"
  msgstr "erreur pendant async_connect (%1)"
  
- #: src/lib/util.cc:623
+ #: src/lib/util.cc:639
  msgid "error during async_read (%1)"
  msgstr "erreur pendant async_read (%1)"
  
- #: src/lib/util.cc:595
+ #: src/lib/util.cc:611
  msgid "error during async_write (%1)"
  msgstr "erreur pendant async_write (%1)"
  
 -#: src/lib/transcode_job.cc:97
 +#: src/lib/transcode_job.cc:98
  msgid "frames per second"
  msgstr "images par seconde"
  
- #: src/lib/util.cc:158
+ #: src/lib/util.cc:161
  msgid "hour"
  msgstr "heure"
  
- #: src/lib/util.cc:154 src/lib/util.cc:160
+ #: src/lib/util.cc:157 src/lib/util.cc:163
  msgid "hours"
  msgstr "heures"
  
- #: src/lib/util.cc:176
+ #: src/lib/util.cc:179
  msgid "minute"
  msgstr "minute"
  
- #: src/lib/util.cc:172 src/lib/util.cc:178
+ #: src/lib/util.cc:175 src/lib/util.cc:181
  msgid "minutes"
  msgstr "minutes"
  
- #: src/lib/util.cc:706
+ #: src/lib/util.cc:711
  msgid "missing key %1 in key-value set"
  msgstr "clé %1 manquante dans le réglage"
  
@@@ -772,34 -722,38 +786,34 @@@ msgstr "paramètre %1 manquant
  msgid "moving"
  msgstr "déplacement"
  
 -#: src/lib/ffmpeg_decoder.cc:589
 +#: src/lib/ffmpeg_decoder.cc:420
  msgid "multi-part subtitles not yet supported"
  msgstr "sous-titres en plusieurs parties non supportés"
  
 -#: src/lib/film.cc:259 src/lib/film.cc:319
 +#: src/lib/film.cc:268 src/lib/film.cc:328
  msgid "name"
  msgstr "nom"
  
 -#: src/lib/ffmpeg_decoder.cc:604
 -msgid "non-bitmap subtitles not yet supported"
 -msgstr "sous-titres non-bitmap non supportés actuellement"
 -
  #. / TRANSLATORS: remaining here follows an amount of time that is remaining
  #. / on an operation.
 -#: src/lib/job.cc:315
 +#: src/lib/job.cc:317
  msgid "remaining"
  msgstr "restant"
  
 -#: src/lib/config.cc:84 src/lib/video_content.cc:179
 +#: src/lib/config.cc:90 src/lib/video_content.cc:197
  msgid "sRGB"
  msgstr "sRGB"
  
 -#: src/lib/config.cc:85
 +#: src/lib/config.cc:91
  msgid "sRGB non-linearised"
  msgstr "sRGB non linéarisé"
  
- #: src/lib/util.cc:191
+ #: src/lib/util.cc:194
  #, fuzzy
  msgid "second"
  msgstr "secondes"
  
- #: src/lib/util.cc:193
+ #: src/lib/util.cc:196
  msgid "seconds"
  msgstr "secondes"
  
  msgid "still"
  msgstr "%1 [restant]"
  
 -#: src/lib/ffmpeg_examiner.cc:168
 +#: src/lib/ffmpeg_examiner.cc:207
  msgid "unknown"
  msgstr "Inconnu"
  
- #~ msgid "could not find audio decoder"
- #~ msgstr "décodeur audio introuvable"
- #~ msgid "could not find video decoder"
- #~ msgstr "décodeur vidéo introuvable"
 +#~ msgid "non-bitmap subtitles not yet supported"
 +#~ msgstr "sous-titres non-bitmap non supportés actuellement"
 +
  #~ msgid "Could not read DCP to make KDM for"
  #~ msgstr "DCP illisible pour fabrication de KDM"
  
diff --combined src/lib/po/it_IT.po
index a22ccee3ca5be3aedc9f104abaee92f071bef673,5863e5ad7726bec9db3feb8b3bce6bb37c574ee3..a3b1b9de752024c837ea207e6c3e5ac243e5c528
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: IT VERSION\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2014-10-15 09:37+0100\n"
+ "POT-Creation-Date: 2014-10-23 22:03+0100\n"
  "PO-Revision-Date: 2014-02-03 10:48+0100\n"
  "Last-Translator: William Fanelli <william.f@impronte.com>\n"
  "Language-Team: \n"
  "Content-Transfer-Encoding: 8bit\n"
  "X-Generator: Poedit 1.6.3\n"
  
 -#: src/lib/sndfile_content.cc:61
 +#: src/lib/dcp_content.cc:106
 +msgid "%1 [DCP]"
 +msgstr ""
 +
 +#: src/lib/sndfile_content.cc:64
  msgid "%1 [audio]"
  msgstr ""
  
 -#: src/lib/ffmpeg_content.cc:211
 +#: src/lib/ffmpeg_content.cc:205
  msgid "%1 [movie]"
  msgstr ""
  
 -#: src/lib/sndfile_content.cc:82
 +#: src/lib/sndfile_content.cc:85
  msgid "%1 channels, %2kHz, %3 samples"
  msgstr ""
  
 -#: src/lib/ffmpeg_content.cc:246
 +#: src/lib/ffmpeg_content.cc:240
  msgid "%1 frames; %2 frames per second"
  msgstr "%1 fotogrammi; %2 fotogrammi al secondo"
  
 -#: src/lib/video_content.cc:211
 +#: src/lib/video_content.cc:235
  msgid "%1x%2 pixels (%3:1)"
  msgstr ""
  
@@@ -73,11 -69,11 +73,11 @@@ msgstr "Academy
  msgid "Advertisement"
  msgstr "Pubblicità"
  
 -#: src/lib/job.cc:71
 +#: src/lib/job.cc:72
  msgid "An error occurred whilst handling the file %1."
  msgstr "Errore durante l'elaborazione del file %1."
  
 -#: src/lib/analyse_audio_job.cc:48
 +#: src/lib/analyse_audio_job.cc:49
  #, fuzzy
  msgid "Analyse audio"
  msgstr "Analizzo l'audio di %1"
@@@ -94,7 -90,7 +94,7 @@@ msgstr "Bicubica
  msgid "Bilinear"
  msgstr "Bilineare"
  
 -#: src/lib/job.cc:322
 +#: src/lib/job.cc:324
  msgid "Cancelled"
  msgstr "Cancellato"
  
  msgid "Cannot handle pixel format %1 during %2"
  msgstr "Non posso gestire il formato di pixel %1 durante %2"
  
- #: src/lib/util.cc:775
+ #: src/lib/util.cc:791
  msgid "Centre"
  msgstr "Centro"
  
 -#: src/lib/writer.cc:83
 +#: src/lib/writer.cc:90
  msgid "Checking existing image data"
  msgstr ""
  
 -#: src/lib/writer.cc:475
 +#: src/lib/writer.cc:490
  msgid "Computing audio digest"
  msgstr ""
  
  msgid "Computing digest"
  msgstr ""
  
 -#: src/lib/writer.cc:471
 +#: src/lib/writer.cc:486
  msgid "Computing image digest"
  msgstr ""
  
  msgid "Content and DCP have the same rate.\n"
  msgstr "Il DCP e il sorgente hanno la stessa frequenza.\n"
  
 -#: src/lib/audio_content.cc:83
 +#: src/lib/subtitle_content.cc:103
 +#, fuzzy
 +msgid "Content to be joined must have the same 'use subtitles' setting."
 +msgstr ""
 +"Il contenuto da unire deve avere lo stesso spostamento X dei sottotitoli."
 +
 +#: src/lib/audio_content.cc:100
  msgid "Content to be joined must have the same audio delay."
  msgstr ""
  
 -#: src/lib/audio_content.cc:79
 +#: src/lib/audio_content.cc:96
  msgid "Content to be joined must have the same audio gain."
  msgstr ""
  
 -#: src/lib/video_content.cc:146
 +#: src/lib/video_content.cc:158
  msgid "Content to be joined must have the same colour conversion."
  msgstr ""
  
 -#: src/lib/video_content.cc:138
 +#: src/lib/video_content.cc:150
  msgid "Content to be joined must have the same crop."
  msgstr ""
  
 -#: src/lib/video_content.cc:126
 +#: src/lib/video_content.cc:162
 +#, fuzzy
 +msgid "Content to be joined must have the same fades."
 +msgstr ""
 +"Il contenuto da unire deve avere lo stesso spostamento X dei sottotitoli."
 +
 +#: src/lib/video_content.cc:138
  msgid "Content to be joined must have the same picture size."
  msgstr ""
  
 -#: src/lib/video_content.cc:142
 +#: src/lib/video_content.cc:154
  #, fuzzy
  msgid "Content to be joined must have the same scale setting."
  msgstr ""
  "Il contenuto da unire deve avere lo stesso spostamento X dei sottotitoli."
  
 -#: src/lib/subtitle_content.cc:81
 +#: src/lib/subtitle_content.cc:107
  msgid "Content to be joined must have the same subtitle X offset."
  msgstr ""
  "Il contenuto da unire deve avere lo stesso spostamento X dei sottotitoli."
  
 -#: src/lib/subtitle_content.cc:89
 +#: src/lib/subtitle_content.cc:115
  #, fuzzy
  msgid "Content to be joined must have the same subtitle X scale."
  msgstr ""
  "Il contenuto da unire deve avere lo stesso spostamento X dei sottotitoli."
  
 -#: src/lib/subtitle_content.cc:85
 +#: src/lib/subtitle_content.cc:111
  msgid "Content to be joined must have the same subtitle Y offset."
  msgstr ""
  "Il contenuto da unire deve avere lo stesso spostamento Y dei sottotitoli."
  
 -#: src/lib/subtitle_content.cc:93
 +#: src/lib/subtitle_content.cc:119
  #, fuzzy
  msgid "Content to be joined must have the same subtitle Y scale."
  msgstr ""
  "Il contenuto da unire deve avere lo stesso spostamento Y dei sottotitoli."
  
 -#: src/lib/video_content.cc:130
 +#: src/lib/video_content.cc:142
  msgid "Content to be joined must have the same video frame rate."
  msgstr ""
  
 -#: src/lib/video_content.cc:134
 +#: src/lib/video_content.cc:146
  msgid "Content to be joined must have the same video frame type."
  msgstr ""
  
 -#: src/lib/ffmpeg_content.cc:116
 +#: src/lib/ffmpeg_content.cc:118
  msgid "Content to be joined must use the same audio stream."
  msgstr ""
  
 -#: src/lib/ffmpeg_content.cc:112
 +#: src/lib/ffmpeg_content.cc:114
  msgid "Content to be joined must use the same subtitle stream."
  msgstr ""
  
@@@ -215,12 -199,18 +215,18 @@@ msgstr "Non posso connetermi al server 
  msgid "Could not create remote directory %1 (%2)"
  msgstr "Non posso creare la directory remota %1 (%2)"
  
 -#: src/lib/image_proxy.cc:147
 +#: src/lib/magick_image_proxy.cc:103
  #, fuzzy
  msgid "Could not decode image file (%1)"
  msgstr "Non posso scrivere il file remoto (%1)"
  
- #: src/lib/job.cc:91
+ #: src/lib/server_finder.cc:114
+ msgid ""
+ "Could not listen for remote encode servers.  Perhaps another instance of DCP-"
+ "o-matic is running."
+ msgstr ""
+ #: src/lib/job.cc:90
  msgid "Could not open %1"
  msgstr "Non riesco ad aprire %1"
  
@@@ -241,10 -231,6 +247,10 @@@ msgstr "Non posso avviare la sessione S
  msgid "Could not write to remote file (%1)"
  msgstr "Non posso scrivere il file remoto (%1)"
  
 +#: src/lib/dcp_subtitle_content.cc:72
 +msgid "DCP XML subtitles"
 +msgstr ""
 +
  #: src/lib/frame_rate_change.cc:98
  #, fuzzy
  msgid "DCP will run at %1%% of the content speed.\n"
@@@ -255,7 -241,7 +261,7 @@@ msgstr "Il DCP andrà al %1%% della vel
  msgid "DCP will use every other frame of the content.\n"
  msgstr "Il DCP userà ogni altro fotogramma del sorgente.\n"
  
 -#: src/lib/job.cc:91
 +#: src/lib/job.cc:92
  msgid ""
  "DCP-o-matic could not open the file %1.  Perhaps it does not exist or is in "
  "an unexpected format."
@@@ -263,7 -249,7 +269,7 @@@ msgstr "
  "DCP-o-matic non può aprire il file %1. Non esiste oppure Ã¨ in un formato non "
  "riconosciuto."
  
 -#: src/lib/ffmpeg_content.cc:93
 +#: src/lib/ffmpeg_content.cc:95
  msgid ""
  "DCP-o-matic no longer supports the `%1' filter, so it has been turned off."
  msgstr ""
  msgid "De-interlacing"
  msgstr "De-interlacciamento"
  
 -#: src/lib/config.cc:436
 +#: src/lib/config.cc:427
  #, fuzzy
  msgid ""
  "Dear Projectionist\n"
@@@ -317,18 -303,14 +323,18 @@@ msgstr "Ogni fotogramma del sorgente sa
  msgid "Email KDMs for %1"
  msgstr ""
  
 -#: src/lib/writer.cc:126
 +#: src/lib/writer.cc:136
  msgid "Encoding image data"
  msgstr ""
  
 -#: src/lib/job.cc:320
 +#: src/lib/job.cc:322
  msgid "Error (%1)"
  msgstr "Errore (%1)"
  
 +#: src/lib/exceptions.cc:66
 +msgid "Error in SubRip file: saw %1 while expecting %2"
 +msgstr ""
 +
  #: src/lib/examine_content_job.cc:46
  msgid "Examine content"
  msgstr "Esamino il contenuto"
@@@ -361,7 -343,7 +367,7 @@@ msgstr "Gaussiana
  msgid "Gradient debander"
  msgstr "Gradiente debander"
  
- #: src/lib/util.cc:779
+ #: src/lib/util.cc:795
  msgid "Hearing impaired"
  msgstr ""
  
  msgid "High quality 3D denoiser"
  msgstr "Riduttore di rumore 3D di alta qualità"
  
 -#: src/lib/job.cc:111 src/lib/job.cc:121
 +#: src/lib/job.cc:112 src/lib/job.cc:122
  #, fuzzy
  msgid ""
  "It is not known what caused this error.  Please report the problem to the "
@@@ -378,7 -360,7 +384,7 @@@ msgstr "
  "Non sappiamo cosa ha causato questo errore. La cosa migliore Ã¨ inviare un "
  "report del problema alla mailing list di DCP-o-matic (carl@dcpomatic.com)"
  
 -#: src/lib/config.cc:199
 +#: src/lib/config.cc:212
  msgid "KDM delivery: $CPL_NAME"
  msgstr ""
  
@@@ -390,51 -372,31 +396,51 @@@ msgstr "Deinterlacciatore Kernel
  msgid "Lanczos"
  msgstr "Lanczos"
  
- #: src/lib/util.cc:773
+ #: src/lib/util.cc:789
  msgid "Left"
  msgstr "Sinistro"
  
- #: src/lib/util.cc:781
+ #: src/lib/util.cc:797
  msgid "Left centre"
  msgstr ""
  
- #: src/lib/util.cc:783
+ #: src/lib/util.cc:799
  #, fuzzy
  msgid "Left rear surround"
  msgstr "Surround sinistro"
  
- #: src/lib/util.cc:777
+ #: src/lib/util.cc:793
  msgid "Left surround"
  msgstr "Surround sinistro"
  
- #: src/lib/util.cc:776
+ #: src/lib/util.cc:792
  msgid "Lfe (sub)"
  msgstr "Lfe(sub)"
  
 +#: src/lib/mid_side_decoder.cc:31
 +msgid "Mid-side decoder"
 +msgstr ""
 +
  #: src/lib/filter.cc:68 src/lib/filter.cc:69 src/lib/filter.cc:72
  msgid "Misc"
  msgstr "Varie"
  
 +#: src/lib/dcp_examiner.cc:93
 +msgid "Mismatched audio channel counts in DCP"
 +msgstr ""
 +
 +#: src/lib/dcp_examiner.cc:99
 +msgid "Mismatched audio frame rates in DCP"
 +msgstr ""
 +
 +#: src/lib/dcp_examiner.cc:74
 +msgid "Mismatched frame rates in DCP"
 +msgstr ""
 +
 +#: src/lib/dcp_examiner.cc:81
 +msgid "Mismatched video sizes in DCP"
 +msgstr ""
 +
  #: src/lib/filter.cc:65
  msgid "Motion compensating deinterlacer"
  msgstr "Dinterlacciatore con compensazione di movimento"
@@@ -456,19 -418,19 +462,19 @@@ msgstr "
  msgid "Noise reduction"
  msgstr "Riduzione del rumore"
  
 -#: src/lib/job.cc:318
 +#: src/lib/job.cc:320
  msgid "OK (ran for %1)"
  msgstr "OK (eseguito in %1)"
  
 -#: src/lib/content.cc:102
 +#: src/lib/content.cc:106
  msgid "Only the first piece of content to be joined can have a start trim."
  msgstr ""
  
 -#: src/lib/content.cc:106
 +#: src/lib/content.cc:110
  msgid "Only the last piece of content to be joined can have an end trim."
  msgstr ""
  
 -#: src/lib/job.cc:103
 +#: src/lib/job.cc:104
  msgid "Out of memory"
  msgstr ""
  
@@@ -488,25 -450,25 +494,25 @@@ msgstr "Annuncio di pubblico servizio
  msgid "Rating"
  msgstr "Punteggio"
  
 -#: src/lib/config.cc:86 src/lib/config.cc:183
 +#: src/lib/config.cc:92 src/lib/config.cc:196
  #, fuzzy
  msgid "Rec. 709"
  msgstr "Rec 709"
  
- #: src/lib/util.cc:774
+ #: src/lib/util.cc:790
  msgid "Right"
  msgstr "Destro"
  
- #: src/lib/util.cc:782
+ #: src/lib/util.cc:798
  msgid "Right centre"
  msgstr ""
  
- #: src/lib/util.cc:784
+ #: src/lib/util.cc:800
  #, fuzzy
  msgid "Right rear surround"
  msgstr "Surround destro"
  
- #: src/lib/util.cc:778
+ #: src/lib/util.cc:794
  msgid "Right surround"
  msgstr "Surround destro"
  
@@@ -530,14 -492,6 +536,14 @@@ msgstr "Sinc
  msgid "Spline"
  msgstr "Spline"
  
 +#: src/lib/upmixer_a.cc:42
 +msgid "Stereo to 5.1 up-mixer A"
 +msgstr ""
 +
 +#: src/lib/subrip_content.cc:73
 +msgid "SubRip subtitles"
 +msgstr ""
 +
  #: src/lib/dcp_content_type.cc:50
  msgid "Teaser"
  msgstr "Teaser"
@@@ -550,16 -504,7 +556,16 @@@ msgstr "Filtro telecinema
  msgid "Test"
  msgstr "Prova"
  
 -#: src/lib/job.cc:77
 +#: src/lib/dcp_examiner.cc:133
 +msgid ""
 +"The KDM does not decrypt the DCP.  Perhaps it is targeted at the wrong CPL"
 +msgstr ""
 +
 +#: src/lib/exceptions.cc:72
 +msgid "The certificate chain for signing is invalid"
 +msgstr ""
 +
 +#: src/lib/job.cc:78
  msgid ""
  "The drive that the film is stored on is low in disc space.  Free some more "
  "space and try again."
@@@ -567,11 -512,11 +573,11 @@@ msgstr "
  "Sul disco dove Ã¨ memorizzato il film non c'è abbastanza spazio. Liberare "
  "altro spazio e riprovare."
  
 -#: src/lib/job.cc:103
 +#: src/lib/job.cc:104
  msgid "There was not enough memory to do this."
  msgstr ""
  
 -#: src/lib/film.cc:414
 +#: src/lib/film.cc:423
  #, fuzzy
  msgid ""
  "This film was created with a newer version of DCP-o-matic, and it cannot be "
@@@ -582,7 -527,7 +588,7 @@@ msgstr "
  "un nuovo film, ri-aggiungere i tuoi contenuti e configurarlo di nuovo. Ci "
  "dispiace!"
  
 -#: src/lib/film.cc:406
 +#: src/lib/film.cc:415
  msgid ""
  "This film was created with an older version of DCP-o-matic, and "
  "unfortunately it cannot be loaded into this version.  You will need to "
@@@ -597,7 -542,7 +603,7 @@@ msgstr "
  msgid "Trailer"
  msgstr "Prossimamente"
  
 -#: src/lib/transcode_job.cc:53
 +#: src/lib/transcode_job.cc:54
  msgid "Transcode %1"
  msgstr "Transcodifica %1"
  
@@@ -609,15 -554,15 +615,15 @@@ msgstr "Di transizione
  msgid "Unexpected ZIP file contents"
  msgstr ""
  
- #: src/lib/image_proxy.cc:56
+ #: src/lib/image_proxy.cc:197
  msgid "Unexpected image type received by server"
  msgstr ""
  
 -#: src/lib/job.cc:120
 +#: src/lib/job.cc:121
  msgid "Unknown error"
  msgstr "Errore sconosciuto"
  
 -#: src/lib/ffmpeg_decoder.cc:293
 +#: src/lib/ffmpeg_decoder.cc:263
  msgid "Unrecognised audio sample format (%1)"
  msgstr "Formato di campionamento audio non riconosciuto (%1)"
  
@@@ -629,7 -574,7 +635,7 @@@ msgstr "Maschera unsharp e sfocatura Ga
  msgid "Untitled"
  msgstr "Senza titolo"
  
- #: src/lib/util.cc:780
+ #: src/lib/util.cc:796
  msgid "Visually impaired"
  msgstr ""
  
@@@ -645,7 -590,7 +651,7 @@@ msgstr "X
  msgid "Yet Another Deinterlacing Filter"
  msgstr "Altro filtro di deinterlacciamento"
  
 -#: src/lib/film.cc:311
 +#: src/lib/film.cc:320
  msgid "You must add some content to the DCP before creating it"
  msgstr "Devi aggiungere dei contenuti al DCP prima di crearlo"
  
@@@ -658,15 -603,11 +664,15 @@@ msgstr "
  msgid "[still]"
  msgstr "ancora"
  
 -#: src/lib/film.cc:259
 +#: src/lib/dcp_subtitle_content.cc:66 src/lib/subrip_content.cc:67
 +msgid "[subtitles]"
 +msgstr ""
 +
 +#: src/lib/film.cc:268
  msgid "cannot contain slashes"
  msgstr "non può contenere barre"
  
- #: src/lib/util.cc:554
+ #: src/lib/util.cc:570
  msgid "connect timed out"
  msgstr "connessione scaduta"
  
  msgid "connecting"
  msgstr "mi sto connettendo"
  
 -#: src/lib/film.cc:307
 +#: src/lib/film.cc:316
  msgid "container"
  msgstr "contenitore"
  
 -#: src/lib/film.cc:315
 +#: src/lib/film.cc:324
  msgid "content type"
  msgstr "tipo di contenuto"
  
@@@ -690,15 -631,23 +696,23 @@@ msgstr "copia %1
  msgid "could not create file %1"
  msgstr "Non posso scrivere il file remoto (%1)"
  
- #: src/lib/ffmpeg.cc:102
+ #: src/lib/ffmpeg.cc:179
+ msgid "could not find audio decoder"
+ msgstr "non riesco a trovare il decoder audio"
+ #: src/lib/ffmpeg.cc:105
  msgid "could not find stream information"
  msgstr "non riesco a trovare informazioni sullo streaming"
  
- #: src/lib/writer.cc:430
+ #: src/lib/ffmpeg.cc:158
+ msgid "could not find video decoder"
+ msgstr "non riesco a trovare il decoder video"
+ #: src/lib/writer.cc:439
  msgid "could not move audio MXF into the DCP (%1)"
  msgstr ""
  
 -#: src/lib/sndfile_decoder.cc:56
 +#: src/lib/sndfile_decoder.cc:54
  msgid "could not open audio file for reading"
  msgstr "non riesco ad aprire il file in lettura"
  
  msgid "could not open file %1"
  msgstr "non riesco ad aprire %1"
  
 -#: src/lib/dcp_video_frame.cc:331
 +#: src/lib/encoded_data.cc:50
  msgid "could not open file for reading"
  msgstr "non riesco ad aprire il file per leggerlo"
  
 -#: src/lib/dcp_video_frame.cc:337
 +#: src/lib/encoded_data.cc:56
  #, fuzzy
  msgid "could not read encoded data"
  msgstr "non riesco a trovare il decoder audio"
  msgid "could not read from file %1 (%2)"
  msgstr "non posso leggere dal file %1 (%2)"
  
 -#: src/lib/resampler.cc:98
 +#: src/lib/resampler.cc:96
  msgid "could not run sample-rate converter"
  msgstr "non riesco a eseguire il convertitore della frequenza di campionamento"
  
 -#: src/lib/resampler.cc:79
 +#: src/lib/resampler.cc:77
  #, fuzzy
  msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
  msgstr "non riesco a eseguire il convertitore della frequenza di campionamento"
@@@ -740,43 -689,43 +754,43 @@@ msgstr "non posso avviare la sessione S
  msgid "could not write to file %1 (%2)"
  msgstr "non posso scrivere il file (%1)"
  
- #: src/lib/util.cc:574
+ #: src/lib/util.cc:590
  msgid "error during async_accept (%1)"
  msgstr ""
  
- #: src/lib/util.cc:550
+ #: src/lib/util.cc:566
  msgid "error during async_connect (%1)"
  msgstr ""
  
- #: src/lib/util.cc:623
+ #: src/lib/util.cc:639
  msgid "error during async_read (%1)"
  msgstr ""
  
- #: src/lib/util.cc:595
+ #: src/lib/util.cc:611
  msgid "error during async_write (%1)"
  msgstr ""
  
 -#: src/lib/transcode_job.cc:97
 +#: src/lib/transcode_job.cc:98
  msgid "frames per second"
  msgstr "fotogrammi al secondo"
  
- #: src/lib/util.cc:158
+ #: src/lib/util.cc:161
  msgid "hour"
  msgstr "ora"
  
- #: src/lib/util.cc:154 src/lib/util.cc:160
+ #: src/lib/util.cc:157 src/lib/util.cc:163
  msgid "hours"
  msgstr "ore"
  
- #: src/lib/util.cc:176
+ #: src/lib/util.cc:179
  msgid "minute"
  msgstr "minuto"
  
- #: src/lib/util.cc:172 src/lib/util.cc:178
+ #: src/lib/util.cc:175 src/lib/util.cc:181
  msgid "minutes"
  msgstr "minuti"
  
- #: src/lib/util.cc:706
+ #: src/lib/util.cc:711
  msgid "missing key %1 in key-value set"
  msgstr "persa la chiave %1 tra i valori chiave"
  
@@@ -788,34 -737,38 +802,34 @@@ msgstr "persa la regolazione richiesta 
  msgid "moving"
  msgstr ""
  
 -#: src/lib/ffmpeg_decoder.cc:589
 +#: src/lib/ffmpeg_decoder.cc:420
  msgid "multi-part subtitles not yet supported"
  msgstr "sottotitoli multi-part non ancora supportati"
  
 -#: src/lib/film.cc:259 src/lib/film.cc:319
 +#: src/lib/film.cc:268 src/lib/film.cc:328
  msgid "name"
  msgstr "nome"
  
 -#: src/lib/ffmpeg_decoder.cc:604
 -msgid "non-bitmap subtitles not yet supported"
 -msgstr "sottotitoli non-bitmap non ancora supportati"
 -
  #. / TRANSLATORS: remaining here follows an amount of time that is remaining
  #. / on an operation.
 -#: src/lib/job.cc:315
 +#: src/lib/job.cc:317
  msgid "remaining"
  msgstr "restano"
  
 -#: src/lib/config.cc:84 src/lib/video_content.cc:179
 +#: src/lib/config.cc:90 src/lib/video_content.cc:197
  msgid "sRGB"
  msgstr "sRGB"
  
 -#: src/lib/config.cc:85
 +#: src/lib/config.cc:91
  msgid "sRGB non-linearised"
  msgstr "sRGB non linearizzato"
  
- #: src/lib/util.cc:191
+ #: src/lib/util.cc:194
  #, fuzzy
  msgid "second"
  msgstr "secondi"
  
- #: src/lib/util.cc:193
+ #: src/lib/util.cc:196
  msgid "seconds"
  msgstr "secondi"
  
  msgid "still"
  msgstr "ancora"
  
 -#: src/lib/ffmpeg_examiner.cc:168
 +#: src/lib/ffmpeg_examiner.cc:207
  #, fuzzy
  msgid "unknown"
  msgstr "Errore sconosciuto"
  
- #~ msgid "could not find audio decoder"
- #~ msgstr "non riesco a trovare il decoder audio"
- #~ msgid "could not find video decoder"
- #~ msgstr "non riesco a trovare il decoder video"
 +#~ msgid "non-bitmap subtitles not yet supported"
 +#~ msgstr "sottotitoli non-bitmap non ancora supportati"
 +
  #~ msgid "Cubic interpolating deinterlacer"
  #~ msgstr "Deinterlacciatore cubico interpolato"
  
diff --combined src/lib/po/nl_NL.po
index 81a1e626bf2ff47a5e45ec7715dc2e1f649702bb,bc953fbbe8f549de561b2bb7b2a23323632e0744..414eacdc55d4772ffb3fa247fe5e15145bd8c919
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: DCP-o-matic\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2014-10-15 09:37+0100\n"
+ "POT-Creation-Date: 2014-10-23 22:03+0100\n"
  "PO-Revision-Date: 2014-09-04 20:34+0100\n"
  "Last-Translator: Cherif Ben Brahim <firehc@mac.com>\n"
  "Language-Team: UniversalDV <Tkooijmans@universaldv.nl>\n"
  "X-Generator: Poedit 1.6.9\n"
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
  
 -#: src/lib/sndfile_content.cc:61
 +#: src/lib/dcp_content.cc:106
 +msgid "%1 [DCP]"
 +msgstr ""
 +
 +#: src/lib/sndfile_content.cc:64
  msgid "%1 [audio]"
  msgstr "%1 [audio]"
  
 -#: src/lib/ffmpeg_content.cc:211
 +#: src/lib/ffmpeg_content.cc:205
  msgid "%1 [movie]"
  msgstr "%1 [film]"
  
 -#: src/lib/sndfile_content.cc:82
 +#: src/lib/sndfile_content.cc:85
  msgid "%1 channels, %2kHz, %3 samples"
  msgstr "%1 kanalen, %2kHz, %3 samples"
  
 -#: src/lib/ffmpeg_content.cc:246
 +#: src/lib/ffmpeg_content.cc:240
  msgid "%1 frames; %2 frames per second"
  msgstr "%1 frames; %2 frames per seconde"
  
 -#: src/lib/video_content.cc:211
 +#: src/lib/video_content.cc:235
  msgid "%1x%2 pixels (%3:1)"
  msgstr "%1x%2 pixels (%3:1)"
  
@@@ -74,11 -70,11 +74,11 @@@ msgstr "Academie
  msgid "Advertisement"
  msgstr "Advertentie"
  
 -#: src/lib/job.cc:71
 +#: src/lib/job.cc:72
  msgid "An error occurred whilst handling the file %1."
  msgstr "Er is een fout opgetreden met bestand %1."
  
 -#: src/lib/analyse_audio_job.cc:48
 +#: src/lib/analyse_audio_job.cc:49
  msgid "Analyse audio"
  msgstr "Analyseer audio"
  
@@@ -94,7 -90,7 +94,7 @@@ msgstr "Bicubic
  msgid "Bilinear"
  msgstr "Bilinear"
  
 -#: src/lib/job.cc:322
 +#: src/lib/job.cc:324
  msgid "Cancelled"
  msgstr "Afgebroken"
  
  msgid "Cannot handle pixel format %1 during %2"
  msgstr "Fout met pixel formaat %1 tijdens %2"
  
- #: src/lib/util.cc:775
+ #: src/lib/util.cc:791
  msgid "Centre"
  msgstr "Midden"
  
 -#: src/lib/writer.cc:83
 +#: src/lib/writer.cc:90
  msgid "Checking existing image data"
  msgstr "Controleer bestaande videodata"
  
 -#: src/lib/writer.cc:475
 +#: src/lib/writer.cc:490
  msgid "Computing audio digest"
  msgstr "Verwerk audio data"
  
  msgid "Computing digest"
  msgstr "Verwerken..."
  
 -#: src/lib/writer.cc:471
 +#: src/lib/writer.cc:486
  msgid "Computing image digest"
  msgstr "Verwerk video data"
  
  msgid "Content and DCP have the same rate.\n"
  msgstr "Inhoud en DCP hebben dezelfde framerate .\n"
  
 -#: src/lib/audio_content.cc:83
 +#: src/lib/subtitle_content.cc:103
 +#, fuzzy
 +msgid "Content to be joined must have the same 'use subtitles' setting."
 +msgstr "Toegevoegde bestanden moeten dezelfde schaal hebben."
 +
 +#: src/lib/audio_content.cc:100
  msgid "Content to be joined must have the same audio delay."
  msgstr "Toegevoegde bestanden moeten dezelfde audio vertraging hebben."
  
 -#: src/lib/audio_content.cc:79
 +#: src/lib/audio_content.cc:96
  msgid "Content to be joined must have the same audio gain."
  msgstr "Toegevoegde bestanden moeten dezelfde audio gain hebben."
  
 -#: src/lib/video_content.cc:146
 +#: src/lib/video_content.cc:158
  msgid "Content to be joined must have the same colour conversion."
  msgstr "Toegevoegde bestanden moeten dezelfde kleurindeling hebben."
  
 -#: src/lib/video_content.cc:138
 +#: src/lib/video_content.cc:150
  msgid "Content to be joined must have the same crop."
  msgstr "Toegevoegde bestanden moeten dezelfde crop hebben."
  
 -#: src/lib/video_content.cc:126
 +#: src/lib/video_content.cc:162
 +#, fuzzy
 +msgid "Content to be joined must have the same fades."
 +msgstr "Toegevoegde bestanden moeten dezelfde crop hebben."
 +
 +#: src/lib/video_content.cc:138
  msgid "Content to be joined must have the same picture size."
  msgstr "Toegevoegde bestanden moeten dezelfde grootte hebben."
  
 -#: src/lib/video_content.cc:142
 +#: src/lib/video_content.cc:154
  msgid "Content to be joined must have the same scale setting."
  msgstr "Toegevoegde bestanden moeten dezelfde schaal hebben."
  
 -#: src/lib/subtitle_content.cc:81
 +#: src/lib/subtitle_content.cc:107
  msgid "Content to be joined must have the same subtitle X offset."
  msgstr "Toegevoegde bestanden moeten dezelfde ondertitel X offset hebben."
  
 -#: src/lib/subtitle_content.cc:89
 +#: src/lib/subtitle_content.cc:115
  #, fuzzy
  msgid "Content to be joined must have the same subtitle X scale."
  msgstr "Toegevoegde bestanden moeten dezelfde ondertitel grootte hebben."
  
 -#: src/lib/subtitle_content.cc:85
 +#: src/lib/subtitle_content.cc:111
  msgid "Content to be joined must have the same subtitle Y offset."
  msgstr "Toegevoegde bestanden moeten dezelfde ondertitel Y offset hebben."
  
 -#: src/lib/subtitle_content.cc:93
 +#: src/lib/subtitle_content.cc:119
  #, fuzzy
  msgid "Content to be joined must have the same subtitle Y scale."
  msgstr "Toegevoegde bestanden moeten dezelfde ondertitel grootte hebben."
  
 -#: src/lib/video_content.cc:130
 +#: src/lib/video_content.cc:142
  msgid "Content to be joined must have the same video frame rate."
  msgstr "Toegevoegde bestanden moeten dezelfde video frame rate hebben."
  
 -#: src/lib/video_content.cc:134
 +#: src/lib/video_content.cc:146
  msgid "Content to be joined must have the same video frame type."
  msgstr "Toegevoegde bestanden moeten dezelfde video formaat hebben."
  
 -#: src/lib/ffmpeg_content.cc:116
 +#: src/lib/ffmpeg_content.cc:118
  msgid "Content to be joined must use the same audio stream."
  msgstr "Toegevoegde bestanden moeten dezelfde audio stream gebruiken."
  
 -#: src/lib/ffmpeg_content.cc:112
 +#: src/lib/ffmpeg_content.cc:114
  msgid "Content to be joined must use the same subtitle stream."
  msgstr "Toegevoegde bestanden moeten dezelfde ondertitel stream gebruiken."
  
@@@ -206,12 -192,18 +206,18 @@@ msgstr "Kan niet verbinden met server %
  msgid "Could not create remote directory %1 (%2)"
  msgstr "Kan geen remote map maken %1 (%2)"
  
 -#: src/lib/image_proxy.cc:147
 +#: src/lib/magick_image_proxy.cc:103
  #, fuzzy
  msgid "Could not decode image file (%1)"
  msgstr "Kan beeldbestand niet decoderen"
  
- #: src/lib/job.cc:91
+ #: src/lib/server_finder.cc:114
+ msgid ""
+ "Could not listen for remote encode servers.  Perhaps another instance of DCP-"
+ "o-matic is running."
+ msgstr ""
+ #: src/lib/job.cc:90
  msgid "Could not open %1"
  msgstr "Kan niet openen %1"
  
@@@ -231,10 -223,6 +237,10 @@@ msgstr "Kan SCP sessie niet starten (%1
  msgid "Could not write to remote file (%1)"
  msgstr "Kan niet schrijven naar bestand op FTP server"
  
 +#: src/lib/dcp_subtitle_content.cc:72
 +msgid "DCP XML subtitles"
 +msgstr ""
 +
  #: src/lib/frame_rate_change.cc:98
  msgid "DCP will run at %1%% of the content speed.\n"
  msgstr "DCP renderd met %1%% van de content framerate.\n"
  msgid "DCP will use every other frame of the content.\n"
  msgstr "DCP zal alleen elk ander frame van de content gebruiken.\n"
  
 -#: src/lib/job.cc:91
 +#: src/lib/job.cc:92
  msgid ""
  "DCP-o-matic could not open the file %1.  Perhaps it does not exist or is in "
  "an unexpected format."
@@@ -251,7 -239,7 +257,7 @@@ msgstr "
  "DCP-o-matic kan bestand niet openen %1 . Misschien bestaat het niet of wordt "
  "het formaat niet ondersteund."
  
 -#: src/lib/ffmpeg_content.cc:93
 +#: src/lib/ffmpeg_content.cc:95
  msgid ""
  "DCP-o-matic no longer supports the `%1' filter, so it has been turned off."
  msgstr ""
  msgid "De-interlacing"
  msgstr "De-interlacing"
  
 -#: src/lib/config.cc:436
 +#: src/lib/config.cc:427
  msgid ""
  "Dear Projectionist\n"
  "\n"
@@@ -307,18 -295,14 +313,18 @@@ msgstr "Elk content frame zal %1  herha
  msgid "Email KDMs for %1"
  msgstr "Email KDMs voor %1"
  
 -#: src/lib/writer.cc:126
 +#: src/lib/writer.cc:136
  msgid "Encoding image data"
  msgstr "Encoding bestandsdata"
  
 -#: src/lib/job.cc:320
 +#: src/lib/job.cc:322
  msgid "Error (%1)"
  msgstr "Fout (%1)"
  
 +#: src/lib/exceptions.cc:66
 +msgid "Error in SubRip file: saw %1 while expecting %2"
 +msgstr ""
 +
  #: src/lib/examine_content_job.cc:46
  msgid "Examine content"
  msgstr "Controleer content"
@@@ -351,7 -335,7 +357,7 @@@ msgstr "Gaussian
  msgid "Gradient debander"
  msgstr "Gradient debander"
  
- #: src/lib/util.cc:779
+ #: src/lib/util.cc:795
  msgid "Hearing impaired"
  msgstr "Slechthorenden"
  
  msgid "High quality 3D denoiser"
  msgstr "High quality 3D denoiser"
  
 -#: src/lib/job.cc:111 src/lib/job.cc:121
 +#: src/lib/job.cc:112 src/lib/job.cc:122
  msgid ""
  "It is not known what caused this error.  Please report the problem to the "
  "DCP-o-matic author (carl@dcpomatic.com)."
@@@ -367,7 -351,7 +373,7 @@@ msgstr "
  "Dit is een onbekende fout. U kunt deze het beste melden bij de DCP-o-matic "
  "maker (carl@dcpomatic.com)"
  
 -#: src/lib/config.cc:199
 +#: src/lib/config.cc:212
  msgid "KDM delivery: $CPL_NAME"
  msgstr "KDM levering: $CPL_NAME"
  
@@@ -379,50 -363,30 +385,50 @@@ msgstr "Kernel deinterlacer
  msgid "Lanczos"
  msgstr "Lanczos"
  
- #: src/lib/util.cc:773
+ #: src/lib/util.cc:789
  msgid "Left"
  msgstr "Links"
  
- #: src/lib/util.cc:781
+ #: src/lib/util.cc:797
  msgid "Left centre"
  msgstr "Links midden"
  
- #: src/lib/util.cc:783
+ #: src/lib/util.cc:799
  msgid "Left rear surround"
  msgstr "Links achter surround"
  
- #: src/lib/util.cc:777
+ #: src/lib/util.cc:793
  msgid "Left surround"
  msgstr "links surround"
  
- #: src/lib/util.cc:776
+ #: src/lib/util.cc:792
  msgid "Lfe (sub)"
  msgstr "Lfe (sub)"
  
 +#: src/lib/mid_side_decoder.cc:31
 +msgid "Mid-side decoder"
 +msgstr ""
 +
  #: src/lib/filter.cc:68 src/lib/filter.cc:69 src/lib/filter.cc:72
  msgid "Misc"
  msgstr "Diverse"
  
 +#: src/lib/dcp_examiner.cc:93
 +msgid "Mismatched audio channel counts in DCP"
 +msgstr ""
 +
 +#: src/lib/dcp_examiner.cc:99
 +msgid "Mismatched audio frame rates in DCP"
 +msgstr ""
 +
 +#: src/lib/dcp_examiner.cc:74
 +msgid "Mismatched frame rates in DCP"
 +msgstr ""
 +
 +#: src/lib/dcp_examiner.cc:81
 +msgid "Mismatched video sizes in DCP"
 +msgstr ""
 +
  #: src/lib/filter.cc:65
  msgid "Motion compensating deinterlacer"
  msgstr "Motion compensating deinterlacer"
@@@ -443,23 -407,23 +449,23 @@@ msgstr "Geen geldige beeldbestanden gev
  msgid "Noise reduction"
  msgstr "Ruis reductie"
  
 -#: src/lib/job.cc:318
 +#: src/lib/job.cc:320
  msgid "OK (ran for %1)"
  msgstr "OK (bezig.. %1)"
  
 -#: src/lib/content.cc:102
 +#: src/lib/content.cc:106
  msgid "Only the first piece of content to be joined can have a start trim."
  msgstr ""
  "Alleen het eerste deel van de toegevoegde content kan een start trim "
  "bevatten."
  
 -#: src/lib/content.cc:106
 +#: src/lib/content.cc:110
  msgid "Only the last piece of content to be joined can have an end trim."
  msgstr ""
  "Alleen het laatste deel van de toegevoegde content kan een eind trim "
  "bevatten."
  
 -#: src/lib/job.cc:103
 +#: src/lib/job.cc:104
  msgid "Out of memory"
  msgstr "Te weinig geheugen"
  
@@@ -479,23 -443,23 +485,23 @@@ msgstr "Publieke Service aankondiging
  msgid "Rating"
  msgstr "Beoordeling"
  
 -#: src/lib/config.cc:86 src/lib/config.cc:183
 +#: src/lib/config.cc:92 src/lib/config.cc:196
  msgid "Rec. 709"
  msgstr "Rec. 709"
  
- #: src/lib/util.cc:774
+ #: src/lib/util.cc:790
  msgid "Right"
  msgstr "Rechts"
  
- #: src/lib/util.cc:782
+ #: src/lib/util.cc:798
  msgid "Right centre"
  msgstr "Rechts midden"
  
- #: src/lib/util.cc:784
+ #: src/lib/util.cc:800
  msgid "Right rear surround"
  msgstr "Rechtsachter surround"
  
- #: src/lib/util.cc:778
+ #: src/lib/util.cc:794
  msgid "Right surround"
  msgstr "Rechts surround"
  
@@@ -519,14 -483,6 +525,14 @@@ msgstr "Sinc
  msgid "Spline"
  msgstr "Spline"
  
 +#: src/lib/upmixer_a.cc:42
 +msgid "Stereo to 5.1 up-mixer A"
 +msgstr ""
 +
 +#: src/lib/subrip_content.cc:73
 +msgid "SubRip subtitles"
 +msgstr ""
 +
  #: src/lib/dcp_content_type.cc:50
  msgid "Teaser"
  msgstr "Teaser"
@@@ -539,16 -495,7 +545,16 @@@ msgstr "Telecine filter
  msgid "Test"
  msgstr "Test"
  
 -#: src/lib/job.cc:77
 +#: src/lib/dcp_examiner.cc:133
 +msgid ""
 +"The KDM does not decrypt the DCP.  Perhaps it is targeted at the wrong CPL"
 +msgstr ""
 +
 +#: src/lib/exceptions.cc:72
 +msgid "The certificate chain for signing is invalid"
 +msgstr ""
 +
 +#: src/lib/job.cc:78
  msgid ""
  "The drive that the film is stored on is low in disc space.  Free some more "
  "space and try again."
@@@ -556,11 -503,11 +562,11 @@@ msgstr "
  "De harddisk waar de film is opgeslagen heeft te weinig ruimte.  Maak rumte "
  "en probeer opnieuw."
  
 -#: src/lib/job.cc:103
 +#: src/lib/job.cc:104
  msgid "There was not enough memory to do this."
  msgstr "Er was niet genoeg geheugen om dit uit te voeren."
  
 -#: src/lib/film.cc:414
 +#: src/lib/film.cc:423
  msgid ""
  "This film was created with a newer version of DCP-o-matic, and it cannot be "
  "loaded into this version.  Sorry!"
@@@ -568,7 -515,7 +574,7 @@@ msgstr "
  "Deze film is gemaakt met een nieuwere versie van DCP-o-matic en kan niet "
  "geopend worden. Sorry!"
  
 -#: src/lib/film.cc:406
 +#: src/lib/film.cc:415
  msgid ""
  "This film was created with an older version of DCP-o-matic, and "
  "unfortunately it cannot be loaded into this version.  You will need to "
@@@ -582,7 -529,7 +588,7 @@@ msgstr "
  msgid "Trailer"
  msgstr "Trailer"
  
 -#: src/lib/transcode_job.cc:53
 +#: src/lib/transcode_job.cc:54
  msgid "Transcode %1"
  msgstr "Omzetten %1"
  
@@@ -594,15 -541,15 +600,15 @@@ msgstr "Bumper
  msgid "Unexpected ZIP file contents"
  msgstr "Onverwachte ZIP file inhoud"
  
- #: src/lib/image_proxy.cc:56
+ #: src/lib/image_proxy.cc:197
  msgid "Unexpected image type received by server"
  msgstr "Onverwacht beeldtype ontvangen door server"
  
 -#: src/lib/job.cc:120
 +#: src/lib/job.cc:121
  msgid "Unknown error"
  msgstr "Onbekende fout"
  
 -#: src/lib/ffmpeg_decoder.cc:293
 +#: src/lib/ffmpeg_decoder.cc:263
  msgid "Unrecognised audio sample format (%1)"
  msgstr "Niet herkenbaar audio sample formaat (%1)"
  
@@@ -614,7 -561,7 +620,7 @@@ msgstr "Unsharp mask and Gaussian blur
  msgid "Untitled"
  msgstr "Niet benoemd"
  
- #: src/lib/util.cc:780
+ #: src/lib/util.cc:796
  msgid "Visually impaired"
  msgstr "Slechtzienden"
  
@@@ -630,7 -577,7 +636,7 @@@ msgstr "X
  msgid "Yet Another Deinterlacing Filter"
  msgstr "Yet Another Deinterlacing Filter"
  
 -#: src/lib/film.cc:311
 +#: src/lib/film.cc:320
  msgid "You must add some content to the DCP before creating it"
  msgstr "U moet wat content toevoegen voor het maken van de DCP"
  
@@@ -642,15 -589,11 +648,15 @@@ msgstr "[bewegend beeld]
  msgid "[still]"
  msgstr "[still]"
  
 -#: src/lib/film.cc:259
 +#: src/lib/dcp_subtitle_content.cc:66 src/lib/subrip_content.cc:67
 +msgid "[subtitles]"
 +msgstr ""
 +
 +#: src/lib/film.cc:268
  msgid "cannot contain slashes"
  msgstr "er mag geen '\" gebruikt worden"
  
- #: src/lib/util.cc:554
+ #: src/lib/util.cc:570
  msgid "connect timed out"
  msgstr "verbinding timeout"
  
  msgid "connecting"
  msgstr "verbinden"
  
 -#: src/lib/film.cc:307
 +#: src/lib/film.cc:316
  msgid "container"
  msgstr "container"
  
 -#: src/lib/film.cc:315
 +#: src/lib/film.cc:324
  msgid "content type"
  msgstr "content type"
  
@@@ -674,15 -617,23 +680,23 @@@ msgstr "kopieeren %1
  msgid "could not create file %1"
  msgstr "kan geen bestand maken %1"
  
- #: src/lib/ffmpeg.cc:102
+ #: src/lib/ffmpeg.cc:179
+ msgid "could not find audio decoder"
+ msgstr "kan geen audio decoder vinden"
+ #: src/lib/ffmpeg.cc:105
  msgid "could not find stream information"
  msgstr "kan geen stream informatie vinden"
  
- #: src/lib/writer.cc:430
+ #: src/lib/ffmpeg.cc:158
+ msgid "could not find video decoder"
+ msgstr "kan geen videodecoder vinden"
+ #: src/lib/writer.cc:439
  msgid "could not move audio MXF into the DCP (%1)"
  msgstr "kan MXF audio niet plaatsen in DCP (%1)"
  
 -#: src/lib/sndfile_decoder.cc:56
 +#: src/lib/sndfile_decoder.cc:54
  msgid "could not open audio file for reading"
  msgstr "kan audio bestand niet openen om te lezen"
  
  msgid "could not open file %1"
  msgstr "kan bestand niet openen %1"
  
 -#: src/lib/dcp_video_frame.cc:331
 +#: src/lib/encoded_data.cc:50
  msgid "could not open file for reading"
  msgstr "kan bestand niet openen om te lezen"
  
 -#: src/lib/dcp_video_frame.cc:337
 +#: src/lib/encoded_data.cc:56
  msgid "could not read encoded data"
  msgstr "kan encoded data niet lezen"
  
  msgid "could not read from file %1 (%2)"
  msgstr "kan bestand niet lezen %1 (%2)"
  
 -#: src/lib/resampler.cc:98
 +#: src/lib/resampler.cc:96
  msgid "could not run sample-rate converter"
  msgstr "kan sample-rate converter niet starten"
  
 -#: src/lib/resampler.cc:79
 +#: src/lib/resampler.cc:77
  msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
  msgstr "kan sample-rate converter niet starten gedurende %1 samples (%2) (%3)"
  
@@@ -722,43 -673,43 +736,43 @@@ msgstr "kan SSH sessie niet starten
  msgid "could not write to file %1 (%2)"
  msgstr "kan niet schrijven naar bestand %1 (%2)"
  
- #: src/lib/util.cc:574
+ #: src/lib/util.cc:590
  msgid "error during async_accept (%1)"
  msgstr "fout met async_accepteren (FTP) (%1)"
  
- #: src/lib/util.cc:550
+ #: src/lib/util.cc:566
  msgid "error during async_connect (%1)"
  msgstr "fout met async_verbinden (FTP) (%1)"
  
- #: src/lib/util.cc:623
+ #: src/lib/util.cc:639
  msgid "error during async_read (%1)"
  msgstr "fout met async_lezen (FTP) (%1)"
  
- #: src/lib/util.cc:595
+ #: src/lib/util.cc:611
  msgid "error during async_write (%1)"
  msgstr "fout met async_schrijven (FTP) (%1)"
  
 -#: src/lib/transcode_job.cc:97
 +#: src/lib/transcode_job.cc:98
  msgid "frames per second"
  msgstr "frames per seconde"
  
- #: src/lib/util.cc:158
+ #: src/lib/util.cc:161
  msgid "hour"
  msgstr "uur"
  
- #: src/lib/util.cc:154 src/lib/util.cc:160
+ #: src/lib/util.cc:157 src/lib/util.cc:163
  msgid "hours"
  msgstr "uren"
  
- #: src/lib/util.cc:176
+ #: src/lib/util.cc:179
  msgid "minute"
  msgstr "minuut"
  
- #: src/lib/util.cc:172 src/lib/util.cc:178
+ #: src/lib/util.cc:175 src/lib/util.cc:181
  msgid "minutes"
  msgstr "minuten"
  
- #: src/lib/util.cc:706
+ #: src/lib/util.cc:711
  msgid "missing key %1 in key-value set"
  msgstr "ontbrekende key %1 in key-value set"
  
@@@ -770,33 -721,37 +784,33 @@@ msgstr "ontbrekende verplichte setting 
  msgid "moving"
  msgstr "bewegend"
  
 -#: src/lib/ffmpeg_decoder.cc:589
 +#: src/lib/ffmpeg_decoder.cc:420
  msgid "multi-part subtitles not yet supported"
  msgstr "ondertitels met meerdere delen worden nog niet ondersteund."
  
 -#: src/lib/film.cc:259 src/lib/film.cc:319
 +#: src/lib/film.cc:268 src/lib/film.cc:328
  msgid "name"
  msgstr "naam"
  
 -#: src/lib/ffmpeg_decoder.cc:604
 -msgid "non-bitmap subtitles not yet supported"
 -msgstr "non-bitmap ondertitels worden nog niet ondersteund"
 -
  #. / TRANSLATORS: remaining here follows an amount of time that is remaining
  #. / on an operation.
 -#: src/lib/job.cc:315
 +#: src/lib/job.cc:317
  msgid "remaining"
  msgstr "resterend"
  
 -#: src/lib/config.cc:84 src/lib/video_content.cc:179
 +#: src/lib/config.cc:90 src/lib/video_content.cc:197
  msgid "sRGB"
  msgstr "sRGB"
  
 -#: src/lib/config.cc:85
 +#: src/lib/config.cc:91
  msgid "sRGB non-linearised"
  msgstr "sRGB non-linearised"
  
- #: src/lib/util.cc:191
+ #: src/lib/util.cc:194
  msgid "second"
  msgstr "secondes"
  
- #: src/lib/util.cc:193
+ #: src/lib/util.cc:196
  msgid "seconds"
  msgstr "secondes"
  
  msgid "still"
  msgstr "still"
  
 -#: src/lib/ffmpeg_examiner.cc:168
 +#: src/lib/ffmpeg_examiner.cc:207
  msgid "unknown"
  msgstr "onbekend"
  
- #~ msgid "could not find audio decoder"
- #~ msgstr "kan geen audio decoder vinden"
- #~ msgid "could not find video decoder"
- #~ msgstr "kan geen videodecoder vinden"
 +#~ msgid "non-bitmap subtitles not yet supported"
 +#~ msgstr "non-bitmap ondertitels worden nog niet ondersteund"
 +
  #~ msgid "Could not read DCP to make KDM for"
  #~ msgstr "Kan DCP niet lezen om KDM te maken"
diff --combined src/lib/po/sv_SE.po
index 29127294f9d2291671b9dd4deda2299120480214,0c11c69e087928ec8a8013ecab7c6b08e3d0627d..75a664191e633da678f093c07aea508a4c65033e
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: DCP-o-matic\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2014-10-15 09:37+0100\n"
+ "POT-Creation-Date: 2014-10-23 22:03+0100\n"
  "PO-Revision-Date: 2014-01-19 08:59+0100\n"
  "Last-Translator: Adam Klotblixt <adam.klotblixt@gmail.com>\n"
  "Language-Team: \n"
  "Content-Transfer-Encoding: 8bit\n"
  "X-Generator: Poedit 1.6.3\n"
  
 -#: src/lib/sndfile_content.cc:61
 +#: src/lib/dcp_content.cc:106
 +msgid "%1 [DCP]"
 +msgstr ""
 +
 +#: src/lib/sndfile_content.cc:64
  msgid "%1 [audio]"
  msgstr "%1 [ljud]"
  
 -#: src/lib/ffmpeg_content.cc:211
 +#: src/lib/ffmpeg_content.cc:205
  msgid "%1 [movie]"
  msgstr "%1 [film]"
  
 -#: src/lib/sndfile_content.cc:82
 +#: src/lib/sndfile_content.cc:85
  msgid "%1 channels, %2kHz, %3 samples"
  msgstr "%1 kanaler, %2kHz, %3 sampel"
  
 -#: src/lib/ffmpeg_content.cc:246
 +#: src/lib/ffmpeg_content.cc:240
  msgid "%1 frames; %2 frames per second"
  msgstr "%1 bilder; %2 bilder per sekund"
  
 -#: src/lib/video_content.cc:211
 +#: src/lib/video_content.cc:235
  msgid "%1x%2 pixels (%3:1)"
  msgstr "%1x%2 pixlar (%3:1)"
  
@@@ -73,11 -69,11 +73,11 @@@ msgstr "Academy
  msgid "Advertisement"
  msgstr "Advertisement"
  
 -#: src/lib/job.cc:71
 +#: src/lib/job.cc:72
  msgid "An error occurred whilst handling the file %1."
  msgstr "Ett fel inträffade vid hantering av filen %1"
  
 -#: src/lib/analyse_audio_job.cc:48
 +#: src/lib/analyse_audio_job.cc:49
  msgid "Analyse audio"
  msgstr "Analysera audio"
  
@@@ -93,7 -89,7 +93,7 @@@ msgstr "Bikubisk
  msgid "Bilinear"
  msgstr "Bilinjär"
  
 -#: src/lib/job.cc:322
 +#: src/lib/job.cc:324
  msgid "Cancelled"
  msgstr "Avbruten"
  
  msgid "Cannot handle pixel format %1 during %2"
  msgstr "Kan inte hantera pixelformat %1 under %2"
  
- #: src/lib/util.cc:775
+ #: src/lib/util.cc:791
  msgid "Centre"
  msgstr "Center"
  
 -#: src/lib/writer.cc:83
 +#: src/lib/writer.cc:90
  msgid "Checking existing image data"
  msgstr "Kontrollerar befintligt bilddata"
  
 -#: src/lib/writer.cc:475
 +#: src/lib/writer.cc:490
  msgid "Computing audio digest"
  msgstr "Beräknar audiosammanfattning"
  
  msgid "Computing digest"
  msgstr "Beräknar sammanfattning"
  
 -#: src/lib/writer.cc:471
 +#: src/lib/writer.cc:486
  msgid "Computing image digest"
  msgstr "Beräknar bildsammanfattning"
  
  msgid "Content and DCP have the same rate.\n"
  msgstr "Källa och DCP har samma bildfrekvens.\n"
  
 -#: src/lib/audio_content.cc:83
 +#: src/lib/subtitle_content.cc:103
 +#, fuzzy
 +msgid "Content to be joined must have the same 'use subtitles' setting."
 +msgstr "InnehÃ¥ll som ska sammanfogas mÃ¥ste använda samma bildförhÃ¥llande."
 +
 +#: src/lib/audio_content.cc:100
  msgid "Content to be joined must have the same audio delay."
  msgstr "InnehÃ¥ll som ska sammanfogas mÃ¥ste använda samma audiofördröjning."
  
 -#: src/lib/audio_content.cc:79
 +#: src/lib/audio_content.cc:96
  msgid "Content to be joined must have the same audio gain."
  msgstr "InnehÃ¥ll som ska sammanfogas mÃ¥ste använda samma audioförstärkning."
  
 -#: src/lib/video_content.cc:146
 +#: src/lib/video_content.cc:158
  msgid "Content to be joined must have the same colour conversion."
  msgstr "InnehÃ¥ll som ska sammanfogas mÃ¥ste använda samma färgkonvertering."
  
 -#: src/lib/video_content.cc:138
 +#: src/lib/video_content.cc:150
  msgid "Content to be joined must have the same crop."
  msgstr "InnehÃ¥ll som ska sammanfogas mÃ¥ste använda samma beskärning."
  
 -#: src/lib/video_content.cc:126
 +#: src/lib/video_content.cc:162
 +#, fuzzy
 +msgid "Content to be joined must have the same fades."
 +msgstr "InnehÃ¥ll som ska sammanfogas mÃ¥ste använda samma beskärning."
 +
 +#: src/lib/video_content.cc:138
  msgid "Content to be joined must have the same picture size."
  msgstr "InnehÃ¥ll som ska sammanfogas mÃ¥ste använda samma bildstorlek."
  
 -#: src/lib/video_content.cc:142
 +#: src/lib/video_content.cc:154
  #, fuzzy
  msgid "Content to be joined must have the same scale setting."
  msgstr "InnehÃ¥ll som ska sammanfogas mÃ¥ste använda samma bildförhÃ¥llande."
  
 -#: src/lib/subtitle_content.cc:81
 +#: src/lib/subtitle_content.cc:107
  #, fuzzy
  msgid "Content to be joined must have the same subtitle X offset."
  msgstr ""
  "InnehÃ¥ll som ska sammanfogas mÃ¥ste använda samma förskjutning pÃ¥ undertexten."
  
 -#: src/lib/subtitle_content.cc:89
 +#: src/lib/subtitle_content.cc:115
  #, fuzzy
  msgid "Content to be joined must have the same subtitle X scale."
  msgstr "InnehÃ¥ll som ska sammanfogas mÃ¥ste använda samma skala pÃ¥ undertexten."
  
 -#: src/lib/subtitle_content.cc:85
 +#: src/lib/subtitle_content.cc:111
  #, fuzzy
  msgid "Content to be joined must have the same subtitle Y offset."
  msgstr ""
  "InnehÃ¥ll som ska sammanfogas mÃ¥ste använda samma förskjutning pÃ¥ undertexten."
  
 -#: src/lib/subtitle_content.cc:93
 +#: src/lib/subtitle_content.cc:119
  #, fuzzy
  msgid "Content to be joined must have the same subtitle Y scale."
  msgstr "InnehÃ¥ll som ska sammanfogas mÃ¥ste använda samma skala pÃ¥ undertexten."
  
 -#: src/lib/video_content.cc:130
 +#: src/lib/video_content.cc:142
  msgid "Content to be joined must have the same video frame rate."
  msgstr "InnehÃ¥ll som ska sammanfogas mÃ¥ste använda samma videobildhastighet."
  
 -#: src/lib/video_content.cc:134
 +#: src/lib/video_content.cc:146
  msgid "Content to be joined must have the same video frame type."
  msgstr "InnehÃ¥ll som ska sammanfogas mÃ¥ste använda samma videobildtyp."
  
 -#: src/lib/ffmpeg_content.cc:116
 +#: src/lib/ffmpeg_content.cc:118
  msgid "Content to be joined must use the same audio stream."
  msgstr "InnehÃ¥ll som ska sammanfogas mÃ¥ste använda samma audioström."
  
 -#: src/lib/ffmpeg_content.cc:112
 +#: src/lib/ffmpeg_content.cc:114
  msgid "Content to be joined must use the same subtitle stream."
  msgstr "InnehÃ¥ll som ska sammanfogas mÃ¥ste använda samma undertextström."
  
@@@ -210,12 -196,18 +210,18 @@@ msgstr "Kunde inte ansluta till server 
  msgid "Could not create remote directory %1 (%2)"
  msgstr "Kunde inte skapa fjärrkatalog %1 (%2)"
  
 -#: src/lib/image_proxy.cc:147
 +#: src/lib/magick_image_proxy.cc:103
  #, fuzzy
  msgid "Could not decode image file (%1)"
  msgstr "kunde inte skapa fil %1"
  
- #: src/lib/job.cc:91
+ #: src/lib/server_finder.cc:114
+ msgid ""
+ "Could not listen for remote encode servers.  Perhaps another instance of DCP-"
+ "o-matic is running."
+ msgstr ""
+ #: src/lib/job.cc:90
  msgid "Could not open %1"
  msgstr "Kunde inte Ã¶ppna %1"
  
@@@ -236,10 -228,6 +242,10 @@@ msgstr "Kunde inte starta SCP-session (
  msgid "Could not write to remote file (%1)"
  msgstr "Kunde inte skriva till fjärrfil (%1)"
  
 +#: src/lib/dcp_subtitle_content.cc:72
 +msgid "DCP XML subtitles"
 +msgstr ""
 +
  #: src/lib/frame_rate_change.cc:98
  msgid "DCP will run at %1%% of the content speed.\n"
  msgstr "DCP kommer att köras pÃ¥ %1%% av källans hastighet.\n"
  msgid "DCP will use every other frame of the content.\n"
  msgstr "DCP kommer att använda varannan bild frÃ¥n källan.\n"
  
 -#: src/lib/job.cc:91
 +#: src/lib/job.cc:92
  msgid ""
  "DCP-o-matic could not open the file %1.  Perhaps it does not exist or is in "
  "an unexpected format."
@@@ -256,7 -244,7 +262,7 @@@ msgstr "
  "DCP-o-matic kunde inte Ã¶ppna filen %1. Saknas den, eller har den ett "
  "oförväntat format?"
  
 -#: src/lib/ffmpeg_content.cc:93
 +#: src/lib/ffmpeg_content.cc:95
  msgid ""
  "DCP-o-matic no longer supports the `%1' filter, so it has been turned off."
  msgstr ""
@@@ -266,7 -254,7 +272,7 @@@ msgid "De-interlacing
  msgstr "Avflätning"
  
  # svÃ¥röversatt
 -#: src/lib/config.cc:436
 +#: src/lib/config.cc:427
  #, fuzzy
  msgid ""
  "Dear Projectionist\n"
@@@ -309,18 -297,14 +315,18 @@@ msgstr "
  msgid "Email KDMs for %1"
  msgstr "E-posta KDM:er för %1"
  
 -#: src/lib/writer.cc:126
 +#: src/lib/writer.cc:136
  msgid "Encoding image data"
  msgstr "Kodar bild-data"
  
 -#: src/lib/job.cc:320
 +#: src/lib/job.cc:322
  msgid "Error (%1)"
  msgstr "Fel (%1)"
  
 +#: src/lib/exceptions.cc:66
 +msgid "Error in SubRip file: saw %1 while expecting %2"
 +msgstr ""
 +
  #: src/lib/examine_content_job.cc:46
  msgid "Examine content"
  msgstr "Undersök innehÃ¥llet"
@@@ -353,7 -337,7 +359,7 @@@ msgstr "Gaussisk
  msgid "Gradient debander"
  msgstr "Gradientutjämnare"
  
- #: src/lib/util.cc:779
+ #: src/lib/util.cc:795
  msgid "Hearing impaired"
  msgstr ""
  
  msgid "High quality 3D denoiser"
  msgstr "Högkvalitets 3D-brusreducering"
  
 -#: src/lib/job.cc:111 src/lib/job.cc:121
 +#: src/lib/job.cc:112 src/lib/job.cc:122
  #, fuzzy
  msgid ""
  "It is not known what caused this error.  Please report the problem to the "
@@@ -370,7 -354,7 +376,7 @@@ msgstr "
  "Det Ã¤r inte känt vad som orsakade detta fel. Bästa sättet att rapportera "
  "problemet Ã¤r till DCP-o-matics mejl-lista (carl@dcpomatic.com)"
  
 -#: src/lib/config.cc:199
 +#: src/lib/config.cc:212
  msgid "KDM delivery: $CPL_NAME"
  msgstr ""
  
@@@ -382,51 -366,31 +388,51 @@@ msgstr "Kernel-avflätare
  msgid "Lanczos"
  msgstr "Lanczos"
  
- #: src/lib/util.cc:773
+ #: src/lib/util.cc:789
  msgid "Left"
  msgstr "Vänster"
  
- #: src/lib/util.cc:781
+ #: src/lib/util.cc:797
  msgid "Left centre"
  msgstr ""
  
- #: src/lib/util.cc:783
+ #: src/lib/util.cc:799
  #, fuzzy
  msgid "Left rear surround"
  msgstr "Vänster surround"
  
- #: src/lib/util.cc:777
+ #: src/lib/util.cc:793
  msgid "Left surround"
  msgstr "Vänster surround"
  
- #: src/lib/util.cc:776
+ #: src/lib/util.cc:792
  msgid "Lfe (sub)"
  msgstr "Lfe (sub)"
  
 +#: src/lib/mid_side_decoder.cc:31
 +msgid "Mid-side decoder"
 +msgstr ""
 +
  #: src/lib/filter.cc:68 src/lib/filter.cc:69 src/lib/filter.cc:72
  msgid "Misc"
  msgstr "Diverse"
  
 +#: src/lib/dcp_examiner.cc:93
 +msgid "Mismatched audio channel counts in DCP"
 +msgstr ""
 +
 +#: src/lib/dcp_examiner.cc:99
 +msgid "Mismatched audio frame rates in DCP"
 +msgstr ""
 +
 +#: src/lib/dcp_examiner.cc:74
 +msgid "Mismatched frame rates in DCP"
 +msgstr ""
 +
 +#: src/lib/dcp_examiner.cc:81
 +msgid "Mismatched video sizes in DCP"
 +msgstr ""
 +
  #: src/lib/filter.cc:65
  msgid "Motion compensating deinterlacer"
  msgstr "Rörelsekompenserande avflätare"
@@@ -448,20 -412,20 +454,20 @@@ msgstr "
  msgid "Noise reduction"
  msgstr "Brusreducering"
  
 -#: src/lib/job.cc:318
 +#: src/lib/job.cc:320
  msgid "OK (ran for %1)"
  msgstr "OK (kördes %1)"
  
 -#: src/lib/content.cc:102
 +#: src/lib/content.cc:106
  msgid "Only the first piece of content to be joined can have a start trim."
  msgstr ""
  "Endast den första delen av innehÃ¥llet som läggs ihop kan start-trimmas."
  
 -#: src/lib/content.cc:106
 +#: src/lib/content.cc:110
  msgid "Only the last piece of content to be joined can have an end trim."
  msgstr "Endast den sista delen av innehÃ¥llet som läggs ihop kan slut-trimmas."
  
 -#: src/lib/job.cc:103
 +#: src/lib/job.cc:104
  msgid "Out of memory"
  msgstr ""
  
@@@ -481,24 -445,24 +487,24 @@@ msgstr "Public Service Announcement
  msgid "Rating"
  msgstr "Rating"
  
 -#: src/lib/config.cc:86 src/lib/config.cc:183
 +#: src/lib/config.cc:92 src/lib/config.cc:196
  msgid "Rec. 709"
  msgstr "Rec. 709"
  
- #: src/lib/util.cc:774
+ #: src/lib/util.cc:790
  msgid "Right"
  msgstr "Höger"
  
- #: src/lib/util.cc:782
+ #: src/lib/util.cc:798
  msgid "Right centre"
  msgstr ""
  
- #: src/lib/util.cc:784
+ #: src/lib/util.cc:800
  #, fuzzy
  msgid "Right rear surround"
  msgstr "Höger surround"
  
- #: src/lib/util.cc:778
+ #: src/lib/util.cc:794
  msgid "Right surround"
  msgstr "Höger surround"
  
@@@ -522,14 -486,6 +528,14 @@@ msgstr "Sinc
  msgid "Spline"
  msgstr "Spline"
  
 +#: src/lib/upmixer_a.cc:42
 +msgid "Stereo to 5.1 up-mixer A"
 +msgstr ""
 +
 +#: src/lib/subrip_content.cc:73
 +msgid "SubRip subtitles"
 +msgstr ""
 +
  #: src/lib/dcp_content_type.cc:50
  msgid "Teaser"
  msgstr "Teaser"
@@@ -542,16 -498,7 +548,16 @@@ msgstr "Telecine-filter
  msgid "Test"
  msgstr "Test"
  
 -#: src/lib/job.cc:77
 +#: src/lib/dcp_examiner.cc:133
 +msgid ""
 +"The KDM does not decrypt the DCP.  Perhaps it is targeted at the wrong CPL"
 +msgstr ""
 +
 +#: src/lib/exceptions.cc:72
 +msgid "The certificate chain for signing is invalid"
 +msgstr ""
 +
 +#: src/lib/job.cc:78
  msgid ""
  "The drive that the film is stored on is low in disc space.  Free some more "
  "space and try again."
@@@ -559,11 -506,11 +565,11 @@@ msgstr "
  "Enheten som filmen lagras pÃ¥ har för lite ledigt utrymme. Frigör utrymme och "
  "försök igen."
  
 -#: src/lib/job.cc:103
 +#: src/lib/job.cc:104
  msgid "There was not enough memory to do this."
  msgstr ""
  
 -#: src/lib/film.cc:414
 +#: src/lib/film.cc:423
  #, fuzzy
  msgid ""
  "This film was created with a newer version of DCP-o-matic, and it cannot be "
@@@ -573,7 -520,7 +579,7 @@@ msgstr "
  "inte Ã¶ppnas i denna version. Du mÃ¥ste skapa en ny Film, lägga till ditt "
  "innehÃ¥ll och konfigurera allt igen. Ursäkta!"
  
 -#: src/lib/film.cc:406
 +#: src/lib/film.cc:415
  msgid ""
  "This film was created with an older version of DCP-o-matic, and "
  "unfortunately it cannot be loaded into this version.  You will need to "
@@@ -587,7 -534,7 +593,7 @@@ msgstr "
  msgid "Trailer"
  msgstr "Trailer"
  
 -#: src/lib/transcode_job.cc:53
 +#: src/lib/transcode_job.cc:54
  msgid "Transcode %1"
  msgstr "Konvertera %1"
  
@@@ -599,16 -546,16 +605,16 @@@ msgstr "Transitional
  msgid "Unexpected ZIP file contents"
  msgstr ""
  
- #: src/lib/image_proxy.cc:56
+ #: src/lib/image_proxy.cc:197
  msgid "Unexpected image type received by server"
  msgstr ""
  
 -#: src/lib/job.cc:120
 +#: src/lib/job.cc:121
  msgid "Unknown error"
  msgstr "Okänt fel"
  
  # Svengelska
 -#: src/lib/ffmpeg_decoder.cc:293
 +#: src/lib/ffmpeg_decoder.cc:263
  msgid "Unrecognised audio sample format (%1)"
  msgstr "Okänt audio-sampelformat (%1)"
  
@@@ -620,7 -567,7 +626,7 @@@ msgstr "Oskärpemask och Gaussisk suddi
  msgid "Untitled"
  msgstr "Utan titel"
  
- #: src/lib/util.cc:780
+ #: src/lib/util.cc:796
  msgid "Visually impaired"
  msgstr ""
  
@@@ -637,7 -584,7 +643,7 @@@ msgstr "X
  msgid "Yet Another Deinterlacing Filter"
  msgstr "Yet Another Deinterlacing Filter"
  
 -#: src/lib/film.cc:311
 +#: src/lib/film.cc:320
  msgid "You must add some content to the DCP before creating it"
  msgstr "Du mÃ¥ste lägga till nÃ¥got innehÃ¥ll till DCP:n innan du skapar den"
  
@@@ -649,16 -596,12 +655,16 @@@ msgstr "[rörliga bilder]
  msgid "[still]"
  msgstr "[stillbild]"
  
 -#: src/lib/film.cc:259
 +#: src/lib/dcp_subtitle_content.cc:66 src/lib/subrip_content.cc:67
 +msgid "[subtitles]"
 +msgstr ""
 +
 +#: src/lib/film.cc:268
  msgid "cannot contain slashes"
  msgstr "fÃ¥r inte innehÃ¥lla snedstreck"
  
  # Svengelska
- #: src/lib/util.cc:554
+ #: src/lib/util.cc:570
  msgid "connect timed out"
  msgstr "uppkopplingen tajmade ur"
  
  msgid "connecting"
  msgstr "kopplar upp"
  
 -#: src/lib/film.cc:307
 +#: src/lib/film.cc:316
  msgid "container"
  msgstr "behÃ¥llare"
  
 -#: src/lib/film.cc:315
 +#: src/lib/film.cc:324
  msgid "content type"
  msgstr "innehÃ¥llstyp"
  
@@@ -682,15 -625,23 +688,23 @@@ msgstr "kopierar %1
  msgid "could not create file %1"
  msgstr "kunde inte skapa fil %1"
  
- #: src/lib/ffmpeg.cc:102
+ #: src/lib/ffmpeg.cc:179
+ msgid "could not find audio decoder"
+ msgstr "kunde inte hitta audio-avkodare"
+ #: src/lib/ffmpeg.cc:105
  msgid "could not find stream information"
  msgstr "kunde inte hitta information om strömmen"
  
- #: src/lib/writer.cc:430
+ #: src/lib/ffmpeg.cc:158
+ msgid "could not find video decoder"
+ msgstr "kunde inte hitta video-avkodare"
+ #: src/lib/writer.cc:439
  msgid "could not move audio MXF into the DCP (%1)"
  msgstr "kunde inte flytta audio-MXF in i DCP:n (%1)"
  
 -#: src/lib/sndfile_decoder.cc:56
 +#: src/lib/sndfile_decoder.cc:54
  msgid "could not open audio file for reading"
  msgstr "kunde inte Ã¶ppna audio-fil för läsning"
  
  msgid "could not open file %1"
  msgstr "kunde inte Ã¶ppna fil %1"
  
 -#: src/lib/dcp_video_frame.cc:331
 +#: src/lib/encoded_data.cc:50
  msgid "could not open file for reading"
  msgstr "kunde inte Ã¶ppna fil för läsning"
  
 -#: src/lib/dcp_video_frame.cc:337
 +#: src/lib/encoded_data.cc:56
  msgid "could not read encoded data"
  msgstr "kunde inte läsa kodat data"
  
  msgid "could not read from file %1 (%2)"
  msgstr "kunde inte läsa frÃ¥n fil %1 (%2)"
  
 -#: src/lib/resampler.cc:98
 +#: src/lib/resampler.cc:96
  msgid "could not run sample-rate converter"
  msgstr "kunde inte köra sampelhastighetskonverteraren"
  
 -#: src/lib/resampler.cc:79
 +#: src/lib/resampler.cc:77
  msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
  msgstr ""
  "kunde inte köra sampelhastighetskonverteraren under %1 sampel (%2) (%3)"
@@@ -731,43 -682,43 +745,43 @@@ msgstr "kunde inte starta SSH-session
  msgid "could not write to file %1 (%2)"
  msgstr "kunde inte skriva till fil %1 (%2)"
  
- #: src/lib/util.cc:574
+ #: src/lib/util.cc:590
  msgid "error during async_accept (%1)"
  msgstr "fel vid async_accept (%1)"
  
- #: src/lib/util.cc:550
+ #: src/lib/util.cc:566
  msgid "error during async_connect (%1)"
  msgstr "fel vid async_connect (%1)"
  
- #: src/lib/util.cc:623
+ #: src/lib/util.cc:639
  msgid "error during async_read (%1)"
  msgstr "fel vid async_read (%1)"
  
- #: src/lib/util.cc:595
+ #: src/lib/util.cc:611
  msgid "error during async_write (%1)"
  msgstr "fel vid async_write (%1)"
  
 -#: src/lib/transcode_job.cc:97
 +#: src/lib/transcode_job.cc:98
  msgid "frames per second"
  msgstr "bilder per sekund"
  
- #: src/lib/util.cc:158
+ #: src/lib/util.cc:161
  msgid "hour"
  msgstr "timme"
  
- #: src/lib/util.cc:154 src/lib/util.cc:160
+ #: src/lib/util.cc:157 src/lib/util.cc:163
  msgid "hours"
  msgstr "timmar"
  
- #: src/lib/util.cc:176
+ #: src/lib/util.cc:179
  msgid "minute"
  msgstr "minut"
  
- #: src/lib/util.cc:172 src/lib/util.cc:178
+ #: src/lib/util.cc:175 src/lib/util.cc:181
  msgid "minutes"
  msgstr "minuter"
  
- #: src/lib/util.cc:706
+ #: src/lib/util.cc:711
  msgid "missing key %1 in key-value set"
  msgstr "saknad nyckel %1 i nyckel-värde grupp"
  
@@@ -780,34 -731,38 +794,34 @@@ msgstr "saknad nödvändig inställnin
  msgid "moving"
  msgstr "rörlig"
  
 -#: src/lib/ffmpeg_decoder.cc:589
 +#: src/lib/ffmpeg_decoder.cc:420
  msgid "multi-part subtitles not yet supported"
  msgstr "undertexter i flera delar stöds inte Ã¤nnu"
  
 -#: src/lib/film.cc:259 src/lib/film.cc:319
 +#: src/lib/film.cc:268 src/lib/film.cc:328
  msgid "name"
  msgstr "namn"
  
 -#: src/lib/ffmpeg_decoder.cc:604
 -msgid "non-bitmap subtitles not yet supported"
 -msgstr "icke-rastergrafiska undertexter stöds inte Ã¤nnu"
 -
  #. / TRANSLATORS: remaining here follows an amount of time that is remaining
  #. / on an operation.
 -#: src/lib/job.cc:315
 +#: src/lib/job.cc:317
  msgid "remaining"
  msgstr "Ã¥terstÃ¥ende tid"
  
 -#: src/lib/config.cc:84 src/lib/video_content.cc:179
 +#: src/lib/config.cc:90 src/lib/video_content.cc:197
  msgid "sRGB"
  msgstr "sRGB"
  
 -#: src/lib/config.cc:85
 +#: src/lib/config.cc:91
  msgid "sRGB non-linearised"
  msgstr "sRGB icke-linjär"
  
- #: src/lib/util.cc:191
+ #: src/lib/util.cc:194
  #, fuzzy
  msgid "second"
  msgstr "sekunder"
  
- #: src/lib/util.cc:193
+ #: src/lib/util.cc:196
  msgid "seconds"
  msgstr "sekunder"
  
  msgid "still"
  msgstr "stillbild"
  
 -#: src/lib/ffmpeg_examiner.cc:168
 +#: src/lib/ffmpeg_examiner.cc:207
  msgid "unknown"
  msgstr "okänd"
  
- #~ msgid "could not find audio decoder"
- #~ msgstr "kunde inte hitta audio-avkodare"
- #~ msgid "could not find video decoder"
- #~ msgstr "kunde inte hitta video-avkodare"
 +#~ msgid "non-bitmap subtitles not yet supported"
 +#~ msgstr "icke-rastergrafiska undertexter stöds inte Ã¤nnu"
 +
  #~ msgid "Could not read DCP to make KDM for"
  #~ msgstr "Kunde inte läsa DCP för att skapa KDM"
  
diff --combined src/lib/video_content.cc
index ba656e4c2410330da76bfb4a193facc646137c8d,3094a70c8ca34a87c01f13c82400cf46702ce139..976bc3aa02429736d66fc2b4a235943f8a2a408b
@@@ -19,8 -19,8 +19,8 @@@
  
  #include <iomanip>
  #include <libcxml/cxml.h>
 -#include <libdcp/colour_matrix.h>
 -#include <libdcp/raw_convert.h>
 +#include <dcp/colour_matrix.h>
 +#include <dcp/raw_convert.h>
  #include "video_content.h"
  #include "video_examiner.h"
  #include "compose.hpp"
  #include "film.h"
  #include "exceptions.h"
  #include "frame_rate_change.h"
 +#include "log.h"
  #include "safe_stringstream.h"
  
  #include "i18n.h"
  
 +#define LOG_GENERAL(...) film->log()->log (String::compose (__VA_ARGS__), Log::TYPE_GENERAL);
 +
  int const VideoContentProperty::VIDEO_SIZE      = 0;
  int const VideoContentProperty::VIDEO_FRAME_RATE  = 1;
  int const VideoContentProperty::VIDEO_FRAME_TYPE  = 2;
  int const VideoContentProperty::VIDEO_CROP      = 3;
  int const VideoContentProperty::VIDEO_SCALE     = 4;
  int const VideoContentProperty::COLOUR_CONVERSION = 5;
 +int const VideoContentProperty::VIDEO_FADE_IN     = 6;
 +int const VideoContentProperty::VIDEO_FADE_OUT    = 7;
  
  using std::string;
  using std::setprecision;
@@@ -56,52 -51,49 +56,52 @@@ using std::max
  using boost::shared_ptr;
  using boost::optional;
  using boost::dynamic_pointer_cast;
 -using libdcp::raw_convert;
 +using dcp::raw_convert;
  
  VideoContent::VideoContent (shared_ptr<const Film> f)
        : Content (f)
        , _video_length (0)
 -      , _original_video_frame_rate (0)
        , _video_frame_rate (0)
        , _video_frame_type (VIDEO_FRAME_TYPE_2D)
        , _scale (Config::instance()->default_scale ())
  {
-       setup_default_colour_conversion ();
+       set_default_colour_conversion ();
  }
  
 -VideoContent::VideoContent (shared_ptr<const Film> f, Time s, VideoContent::Frame len)
 +VideoContent::VideoContent (shared_ptr<const Film> f, DCPTime s, ContentTime len)
        : Content (f, s)
        , _video_length (len)
 -      , _original_video_frame_rate (0)
        , _video_frame_rate (0)
        , _video_frame_type (VIDEO_FRAME_TYPE_2D)
        , _scale (Config::instance()->default_scale ())
  {
-       setup_default_colour_conversion ();
+       set_default_colour_conversion ();
  }
  
  VideoContent::VideoContent (shared_ptr<const Film> f, boost::filesystem::path p)
        : Content (f, p)
        , _video_length (0)
 -      , _original_video_frame_rate (0)
        , _video_frame_rate (0)
        , _video_frame_type (VIDEO_FRAME_TYPE_2D)
        , _scale (Config::instance()->default_scale ())
  {
-       setup_default_colour_conversion ();
+       set_default_colour_conversion ();
  }
  
 -VideoContent::VideoContent (shared_ptr<const Film> f, shared_ptr<const cxml::Node> node, int version)
 +VideoContent::VideoContent (shared_ptr<const Film> f, cxml::ConstNodePtr node, int version)
        : Content (f, node)
  {
 -      _video_length = node->number_child<VideoContent::Frame> ("VideoLength");
        _video_size.width = node->number_child<int> ("VideoWidth");
        _video_size.height = node->number_child<int> ("VideoHeight");
        _video_frame_rate = node->number_child<float> ("VideoFrameRate");
 -      _original_video_frame_rate = node->optional_number_child<float> ("OriginalVideoFrameRate").get_value_or (_video_frame_rate);
 +
 +      if (version < 32) {
 +              /* DCP-o-matic 1.0 branch */
 +              _video_length = ContentTime::from_frames (node->number_child<int64_t> ("VideoLength"), _video_frame_rate);
 +      } else {
 +              _video_length = ContentTime (node->number_child<ContentTime::Type> ("VideoLength"));
 +      }
 +      
        _video_frame_type = static_cast<VideoFrameType> (node->number_child<int> ("VideoFrameType"));
        _crop.left = node->number_child<int> ("LeftCrop");
        _crop.right = node->number_child<int> ("RightCrop");
        } else {
                _scale = VideoContentScale (node->node_child ("Scale"));
        }
-       _colour_conversion = ColourConversion (node->node_child ("ColourConversion"));
 +      
+       if (node->optional_node_child ("ColourConversion")) {
+               _colour_conversion = ColourConversion (node->node_child ("ColourConversion"));
+       }
 +      if (version >= 32) {
 +              _fade_in = ContentTime (node->number_child<int64_t> ("FadeIn"));
 +              _fade_out = ContentTime (node->number_child<int64_t> ("FadeOut"));
 +      }
  }
  
  VideoContent::VideoContent (shared_ptr<const Film> f, vector<shared_ptr<Content> > c)
                        throw JoinError (_("Content to be joined must have the same colour conversion."));
                }
  
 +              if (vc->fade_in() != ref->fade_in() || vc->fade_out() != ref->fade_out()) {
 +                      throw JoinError (_("Content to be joined must have the same fades."));
 +              }
 +              
                _video_length += vc->video_length ();
        }
  
        _video_size = ref->video_size ();
 -      _original_video_frame_rate = ref->original_video_frame_rate ();
        _video_frame_rate = ref->video_frame_rate ();
        _video_frame_type = ref->video_frame_type ();
        _crop = ref->crop ();
        _scale = ref->scale ();
        _colour_conversion = ref->colour_conversion ();
 +      _fade_in = ref->fade_in ();
 +      _fade_out = ref->fade_out ();
  }
  
  void
  VideoContent::as_xml (xmlpp::Node* node) const
  {
        boost::mutex::scoped_lock lm (_mutex);
 -      node->add_child("VideoLength")->add_child_text (raw_convert<string> (_video_length));
 +      node->add_child("VideoLength")->add_child_text (raw_convert<string> (_video_length.get ()));
        node->add_child("VideoWidth")->add_child_text (raw_convert<string> (_video_size.width));
        node->add_child("VideoHeight")->add_child_text (raw_convert<string> (_video_size.height));
        node->add_child("VideoFrameRate")->add_child_text (raw_convert<string> (_video_frame_rate));
 -      node->add_child("OriginalVideoFrameRate")->add_child_text (raw_convert<string> (_original_video_frame_rate));
        node->add_child("VideoFrameType")->add_child_text (raw_convert<string> (static_cast<int> (_video_frame_type)));
        _crop.as_xml (node);
        _scale.as_xml (node->add_child("Scale"));
-       _colour_conversion.as_xml (node->add_child("ColourConversion"));
+       if (_colour_conversion) {
+               _colour_conversion.get().as_xml (node->add_child("ColourConversion"));
+       }
 +      node->add_child("FadeIn")->add_child_text (raw_convert<string> (_fade_in.get ()));
 +      node->add_child("FadeOut")->add_child_text (raw_convert<string> (_fade_out.get ()));
  }
  
  void
- VideoContent::setup_default_colour_conversion ()
+ VideoContent::set_default_colour_conversion ()
  {
-       _colour_conversion = PresetColourConversion (_("sRGB"), 2.4, true, dcp::colour_matrix::srgb_to_xyz, 2.6).conversion;
 -      set_colour_conversion (PresetColourConversion (_("sRGB"), 2.4, true, libdcp::colour_matrix::srgb_to_xyz, 2.6).conversion);
++      set_colour_conversion (PresetColourConversion (_("sRGB"), 2.4, true, dcp::colour_matrix::srgb_to_xyz, 2.6).conversion);
  }
  
  void
  VideoContent::take_from_video_examiner (shared_ptr<VideoExaminer> d)
  {
        /* These examiner calls could call other content methods which take a lock on the mutex */
 -      libdcp::Size const vs = d->video_size ();
 +      dcp::Size const vs = d->video_size ();
        float const vfr = d->video_frame_rate ();
 -      
 +      ContentTime vl = d->video_length ();
 +
        {
                boost::mutex::scoped_lock lm (_mutex);
                _video_size = vs;
                _video_frame_rate = vfr;
 -              _original_video_frame_rate = vfr;
 +              _video_length = vl;
        }
 +
 +      shared_ptr<const Film> film = _film.lock ();
 +      assert (film);
 +      LOG_GENERAL ("Video length obtained from header as %1 frames", _video_length.frames (_video_frame_rate));
        
        signal_changed (VideoContentProperty::VIDEO_SIZE);
        signal_changed (VideoContentProperty::VIDEO_FRAME_RATE);
 +      signal_changed (ContentProperty::LENGTH);
  }
  
  
@@@ -327,8 -307,11 +332,11 @@@ VideoContent::identifier () cons
          << "_" << crop().right
          << "_" << crop().top
          << "_" << crop().bottom
-         << "_" << scale().id()
-         << "_" << colour_conversion().identifier ();
+         << "_" << scale().id();
+       if (colour_conversion()) {
+               s << "_" << colour_conversion().get().identifier ();
+       }
  
        return s.str ();
  }
@@@ -349,17 -332,14 +357,17 @@@ VideoContent::technical_summary () cons
  {
        return String::compose (
                "video: length %1, size %2x%3, rate %4",
 -              video_length_after_3d_combine(), video_size().width, video_size().height, video_frame_rate()
 +              video_length_after_3d_combine().seconds(),
 +              video_size().width,
 +              video_size().height,
 +              video_frame_rate()
                );
  }
  
 -libdcp::Size
 +dcp::Size
  VideoContent::video_size_after_3d_split () const
  {
 -      libdcp::Size const s = video_size ();
 +      dcp::Size const s = video_size ();
        switch (video_frame_type ()) {
        case VIDEO_FRAME_TYPE_2D:
        case VIDEO_FRAME_TYPE_3D_ALTERNATE:
        case VIDEO_FRAME_TYPE_3D_RIGHT:
                return s;
        case VIDEO_FRAME_TYPE_3D_LEFT_RIGHT:
 -              return libdcp::Size (s.width / 2, s.height);
 +              return dcp::Size (s.width / 2, s.height);
        case VIDEO_FRAME_TYPE_3D_TOP_BOTTOM:
 -              return libdcp::Size (s.width, s.height / 2);
 +              return dcp::Size (s.width, s.height / 2);
        }
  
        assert (false);
  }
  
+ void
+ VideoContent::unset_colour_conversion ()
+ {
+       {
+               boost::mutex::scoped_lock lm (_mutex);
+               _colour_conversion = boost::optional<ColourConversion> ();
+       }
+       signal_changed (VideoContentProperty::COLOUR_CONVERSION);
+ }
  void
  VideoContent::set_colour_conversion (ColourConversion c)
  {
        signal_changed (VideoContentProperty::COLOUR_CONVERSION);
  }
  
 +void
 +VideoContent::set_fade_in (ContentTime t)
 +{
 +      {
 +              boost::mutex::scoped_lock lm (_mutex);
 +              _fade_in = t;
 +      }
 +
 +      signal_changed (VideoContentProperty::VIDEO_FADE_IN);
 +}
 +
 +void
 +VideoContent::set_fade_out (ContentTime t)
 +{
 +      {
 +              boost::mutex::scoped_lock lm (_mutex);
 +              _fade_out = t;
 +      }
 +
 +      signal_changed (VideoContentProperty::VIDEO_FADE_OUT);
 +}
 +
  /** @return Video size after 3D split and crop */
 -libdcp::Size
 +dcp::Size
  VideoContent::video_size_after_crop () const
  {
        return crop().apply (video_size_after_3d_split ());
  }
  
  /** @param t A time offset from the start of this piece of content.
 - *  @return Corresponding frame index.
 + *  @return Corresponding time with respect to the content.
   */
 -VideoContent::Frame
 -VideoContent::time_to_content_video_frames (Time t) const
 +ContentTime
 +VideoContent::dcp_time_to_content_time (DCPTime t) const
  {
        shared_ptr<const Film> film = _film.lock ();
        assert (film);
 -      
 -      FrameRateChange frc (video_frame_rate(), film->video_frame_rate());
 -
 -      /* Here we are converting from time (in the DCP) to a frame number in the content.
 -         Hence we need to use the DCP's frame rate and the double/skip correction, not
 -         the source's rate.
 -      */
 -      return t * film->video_frame_rate() / (frc.factor() * TIME_HZ);
 +      return ContentTime (t, FrameRateChange (video_frame_rate(), film->video_frame_rate()));
  }
  
  void
@@@ -467,19 -443,3 +486,19 @@@ VideoContent::set_video_frame_rate (flo
        signal_changed (VideoContentProperty::VIDEO_FRAME_RATE);
  }
  
 +optional<float>
 +VideoContent::fade (VideoFrame f) const
 +{
 +      assert (f >= 0);
 +      
 +      if (f < fade_in().frames (video_frame_rate ())) {
 +              return float (f) / _fade_in.frames (video_frame_rate ());
 +      }
 +
 +      VideoFrame fade_out_start = ContentTime (video_length() - fade_out()).frames (video_frame_rate ());
 +      if (f >= fade_out_start) {
 +              return 1 - float (f - fade_out_start) / fade_out().frames (video_frame_rate ());
 +      }
 +
 +      return optional<float> ();
 +}
diff --combined src/lib/video_content.h
index e88fb022720d0c91e13d875b36ff6589c1eec0ce,9aa3be521e48f8ee0187ce2907007c1fa4cb3fd6..3c8e5fefd5a587d7d57ef8f885031197f461e977
@@@ -36,8 -36,6 +36,8 @@@ public
        static int const VIDEO_CROP;
        static int const VIDEO_SCALE;
        static int const COLOUR_CONVERSION;
 +      static int const VIDEO_FADE_IN;
 +      static int const VIDEO_FADE_OUT;
  };
  
  class VideoContent : public virtual Content
@@@ -46,9 -44,9 +46,9 @@@ public
        typedef int Frame;
  
        VideoContent (boost::shared_ptr<const Film>);
 -      VideoContent (boost::shared_ptr<const Film>, Time, VideoContent::Frame);
 +      VideoContent (boost::shared_ptr<const Film>, DCPTime, ContentTime);
        VideoContent (boost::shared_ptr<const Film>, boost::filesystem::path);
 -      VideoContent (boost::shared_ptr<const Film>, boost::shared_ptr<const cxml::Node>, int);
 +      VideoContent (boost::shared_ptr<const Film>, cxml::ConstNodePtr, int);
        VideoContent (boost::shared_ptr<const Film>, std::vector<boost::shared_ptr<Content> >);
  
        void as_xml (xmlpp::Node *) const;
        virtual std::string information () const;
        virtual std::string identifier () const;
  
 -      VideoContent::Frame video_length () const {
 +      ContentTime video_length () const {
                boost::mutex::scoped_lock lm (_mutex);
                return _video_length;
        }
  
 -      VideoContent::Frame video_length_after_3d_combine () const {
 +      ContentTime video_length_after_3d_combine () const {
                boost::mutex::scoped_lock lm (_mutex);
                if (_video_frame_type == VIDEO_FRAME_TYPE_3D_ALTERNATE) {
 -                      return _video_length / 2;
 +                      return ContentTime (_video_length.get() / 2);
                }
                
                return _video_length;
        }
  
 -      libdcp::Size video_size () const {
 +      dcp::Size video_size () const {
                boost::mutex::scoped_lock lm (_mutex);
                return _video_size;
        }
                return _video_frame_rate;
        }
  
 -      float original_video_frame_rate () const {
 -              boost::mutex::scoped_lock lm (_mutex);
 -              return _original_video_frame_rate;
 -      }
 -      
        void set_video_frame_type (VideoFrameType);
        void set_video_frame_rate (float);
  
        void set_bottom_crop (int);
  
        void set_scale (VideoContentScale);
+       void unset_colour_conversion ();
        void set_colour_conversion (ColourConversion);
+       void set_default_colour_conversion ();
 +
 +      void set_fade_in (ContentTime);
 +      void set_fade_out (ContentTime);
        
        VideoFrameType video_frame_type () const {
                boost::mutex::scoped_lock lm (_mutex);
                return _scale;
        }
  
-       ColourConversion colour_conversion () const {
+       boost::optional<ColourConversion> colour_conversion () const {
                boost::mutex::scoped_lock lm (_mutex);
                return _colour_conversion;
        }
  
 -      libdcp::Size video_size_after_3d_split () const;
 -      libdcp::Size video_size_after_crop () const;
 +      ContentTime fade_in () const {
 +              boost::mutex::scoped_lock lm (_mutex);
 +              return _fade_in;
 +      }
 +
 +      ContentTime fade_out () const {
 +              boost::mutex::scoped_lock lm (_mutex);
 +              return _fade_out;
 +      }
 +      
 +      dcp::Size video_size_after_3d_split () const;
 +      dcp::Size video_size_after_crop () const;
 +
 +      ContentTime dcp_time_to_content_time (DCPTime) const;
  
 -      VideoContent::Frame time_to_content_video_frames (Time) const;
 +      boost::optional<float> fade (VideoFrame) const;
  
        void scale_and_crop_to_fit_width ();
        void scale_and_crop_to_fit_height ();
  protected:
        void take_from_video_examiner (boost::shared_ptr<VideoExaminer>);
  
 -      VideoContent::Frame _video_length;
 -      float _original_video_frame_rate;
 +      ContentTime _video_length;
        float _video_frame_rate;
  
  private:
 -      friend class ffmpeg_pts_offset_test;
 -      friend class best_dcp_frame_rate_test_single;
 -      friend class best_dcp_frame_rate_test_double;
 -      friend class audio_sampling_rate_test;
 +      friend struct ffmpeg_pts_offset_test;
 +      friend struct best_dcp_frame_rate_test_single;
 +      friend struct best_dcp_frame_rate_test_double;
 +      friend struct audio_sampling_rate_test;
  
 -      libdcp::Size _video_size;
 +      void setup_default_colour_conversion ();
 +      
 +      dcp::Size _video_size;
        VideoFrameType _video_frame_type;
        Crop _crop;
        VideoContentScale _scale;
-       ColourConversion _colour_conversion;
+       boost::optional<ColourConversion> _colour_conversion;
 +      ContentTime _fade_in;
 +      ContentTime _fade_out;
  };
  
  #endif
diff --combined src/tools/dcpomatic.cc
index d08a11ea9edd84d5e1ae34f3dbdaaf779c69701a,c22253062c87e982bbc7ea8066c9de3e10295d4a..edd04fd517a78cf105053f5192c1cf45c924e0ac
@@@ -30,7 -30,7 +30,7 @@@
  #include <wx/stdpaths.h>
  #include <wx/cmdline.h>
  #include <wx/preferences.h>
 -#include <libdcp/exceptions.h>
 +#include <dcp/exceptions.h>
  #include "wx/film_viewer.h"
  #include "wx/film_editor.h"
  #include "wx/job_manager_view.h"
@@@ -45,7 -45,6 +45,7 @@@
  #include "wx/servers_list_dialog.h"
  #include "wx/hints_dialog.h"
  #include "wx/update_dialog.h"
 +#include "wx/content_panel.h"
  #include "lib/film.h"
  #include "lib/config.h"
  #include "lib/util.h"
@@@ -73,6 -72,8 +73,6 @@@ using std::exception
  using boost::shared_ptr;
  using boost::dynamic_pointer_cast;
  
 -// #define DCPOMATIC_WINDOWS_CONSOLE 1
 -
  class FilmChangedDialog
  {
  public:
@@@ -144,24 -145,20 +144,24 @@@ public
                , _history_position (0)
                , _history_separator (0)
        {
 -#if defined(DCPOMATIC_WINDOWS) && defined(DCPOMATIC_WINDOWS_CONSOLE)
 -                AllocConsole();
 -              
 -              HANDLE handle_out = GetStdHandle(STD_OUTPUT_HANDLE);
 -              int hCrt = _open_osfhandle((intptr_t) handle_out, _O_TEXT);
 -              FILE* hf_out = _fdopen(hCrt, "w");
 -              setvbuf(hf_out, NULL, _IONBF, 1);
 -              *stdout = *hf_out;
 -              
 -              HANDLE handle_in = GetStdHandle(STD_INPUT_HANDLE);
 -              hCrt = _open_osfhandle((intptr_t) handle_in, _O_TEXT);
 -              FILE* hf_in = _fdopen(hCrt, "r");
 -              setvbuf(hf_in, NULL, _IONBF, 128);
 -              *stdin = *hf_in;
 +#if defined(DCPOMATIC_WINDOWS)
 +              if (Config::instance()->win32_console ()) {
 +                      AllocConsole();
 +                      
 +                      HANDLE handle_out = GetStdHandle(STD_OUTPUT_HANDLE);
 +                      int hCrt = _open_osfhandle((intptr_t) handle_out, _O_TEXT);
 +                      FILE* hf_out = _fdopen(hCrt, "w");
 +                      setvbuf(hf_out, NULL, _IONBF, 1);
 +                      *stdout = *hf_out;
 +                      
 +                      HANDLE handle_in = GetStdHandle(STD_INPUT_HANDLE);
 +                      hCrt = _open_osfhandle((intptr_t) handle_in, _O_TEXT);
 +                      FILE* hf_in = _fdopen(hCrt, "r");
 +                      setvbuf(hf_in, NULL, _IONBF, 128);
 +                      *stdin = *hf_in;
 +
 +                      cout << "DCP-o-matic is starting." << "\n";
 +              }
  #endif
  
                wxMenuBar* bar = new wxMenuBar;
  
                Bind (wxEVT_CLOSE_WINDOW, boost::bind (&Frame::close, this, _1));
  
 -              wxAcceleratorEntry accel[1];
 -              accel[0].Set (wxACCEL_CTRL, static_cast<int>('A'), ID_add_file);
 -              Bind (wxEVT_MENU, boost::bind (&FilmEditor::content_add_file_clicked, _film_editor), ID_add_file);
 -              wxAcceleratorTable accel_table (1, accel);
 -              SetAcceleratorTable (accel_table);
 -
                /* Use a panel as the only child of the Frame so that we avoid
                   the dark-grey background on Windows.
                */
  
                _film_editor = new FilmEditor (overall_panel);
                _film_viewer = new FilmViewer (overall_panel);
-               JobManagerView* job_manager_view = new JobManagerView (overall_panel, static_cast<JobManagerView::Buttons> (0));
+               JobManagerView* job_manager_view = new JobManagerView (overall_panel);
  
                wxBoxSizer* right_sizer = new wxBoxSizer (wxVERTICAL);
                right_sizer->Add (_film_viewer, 2, wxEXPAND | wxALL, 6);
                JobManager::instance()->ActiveJobsChanged.connect (boost::bind (&Frame::set_menu_sensitivity, this));
  
                overall_panel->SetSizer (main_sizer);
 +
 +              wxAcceleratorEntry accel[1];
 +              accel[0].Set (wxACCEL_CTRL, static_cast<int>('A'), ID_add_file);
 +              Bind (wxEVT_MENU, boost::bind (&ContentPanel::add_file_clicked, _film_editor->content_panel()), ID_add_file);
 +              wxAcceleratorTable accel_table (1, accel);
 +              SetAcceleratorTable (accel_table);
        }
  
        void new_film (boost::filesystem::path path)
@@@ -413,12 -410,12 +413,12 @@@ private
                                        shared_ptr<Job> (new SendKDMEmailJob (_film, d->screens (), d->cpl (), d->from (), d->until (), d->formulation ()))
                                        );
                        }
 -              } catch (libdcp::NotEncryptedError& e) {
 +              } catch (dcp::NotEncryptedError& e) {
                        error_dialog (this, _("CPL's content is not encrypted."));
                } catch (exception& e) {
                        error_dialog (this, e.what ());
                } catch (...) {
-                       error_dialog (this, _("An unknown exeception occurred."));
+                       error_dialog (this, _("An unknown exception occurred."));
                }
        
                d->Destroy ();
  
        void content_scale_to_fit_width ()
        {
 -              VideoContentList vc = _film_editor->selected_video_content ();
 +              VideoContentList vc = _film_editor->content_panel()->selected_video ();
                for (VideoContentList::iterator i = vc.begin(); i != vc.end(); ++i) {
                        (*i)->scale_and_crop_to_fit_width ();
                }
  
        void content_scale_to_fit_height ()
        {
 -              VideoContentList vc = _film_editor->selected_video_content ();
 +              VideoContentList vc = _film_editor->content_panel()->selected_video ();
                for (VideoContentList::iterator i = vc.begin(); i != vc.end(); ++i) {
                        (*i)->scale_and_crop_to_fit_height ();
                }
                }
                bool const dcp_creation = (i != jobs.end ()) && !(*i)->finished ();
                bool const have_cpl = _film && !_film->cpls().empty ();
 -              bool const have_selected_video_content = !_film_editor->selected_video_content().empty();
 +              bool const have_selected_video_content = !_film_editor->content_panel()->selected_video().empty();
                
                for (map<wxMenuItem*, int>::iterator j = menu_items.begin(); j != menu_items.end(); ++j) {
                        
@@@ -710,9 -707,6 +710,9 @@@ static const wxCmdLineEntryDesc command
        { wxCMD_LINE_NONE, "", "", "", wxCmdLineParamType (0), 0 }
  };
  
 +/** @class App
 + *  @brief The magic App class for wxWidgets.
 + */
  class App : public wxApp
  {
        bool OnInit ()
diff --combined src/tools/po/de_DE.po
index ab8f2fca70f20d5fc6efeaf3254a869f5cb6167b,7f7fba632605fdcc52a0ea1e7115537b14b715d6..627bbe6a505e41dc7b09334fcc04d525a2f52e73
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: \n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2014-10-16 16:38+0100\n"
+ "POT-Creation-Date: 2014-10-23 22:03+0100\n"
  "PO-Revision-Date: 2014-07-13 03:04+0100\n"
  "Last-Translator: Carsten Kurz\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@@ -18,7 -18,7 +18,7 @@@
  "X-Generator: Poedit 1.6.5\n"
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
  
 -#: src/tools/dcpomatic.cc:306
 +#: src/tools/dcpomatic.cc:309
  msgid "%1 already exists as a file, so you cannot use it for a new film."
  msgstr ""
  "%1 existiert bereits als Datei, kann also nicht für einen neuen Film benutzt "
  msgid "&Add Film..."
  msgstr "&Projekt hinzufügen"
  
 -#: src/tools/dcpomatic.cc:652
 +#: src/tools/dcpomatic.cc:655
  msgid "&Content"
  msgstr "&Quelle..."
  
 -#: src/tools/dcpomatic.cc:650
 +#: src/tools/dcpomatic.cc:653
  msgid "&Edit"
  msgstr "&Bearbeiten"
  
 -#: src/tools/dcpomatic.cc:614
 +#: src/tools/dcpomatic.cc:617
  msgid "&Exit"
  msgstr "&Ende"
  
 -#: src/tools/dcpomatic.cc:648 src/tools/dcpomatic_batch.cc:56
 +#: src/tools/dcpomatic.cc:651 src/tools/dcpomatic_batch.cc:56
  msgid "&File"
  msgstr "&Datei"
  
 -#: src/tools/dcpomatic.cc:655 src/tools/dcpomatic_batch.cc:57
 +#: src/tools/dcpomatic.cc:658 src/tools/dcpomatic_batch.cc:57
  msgid "&Help"
  msgstr "&Hilfe"
  
 -#: src/tools/dcpomatic.cc:653
 +#: src/tools/dcpomatic.cc:656
  msgid "&Jobs"
  msgstr "&Aufgaben"
  
 -#: src/tools/dcpomatic.cc:631
 +#: src/tools/dcpomatic.cc:634
  #, fuzzy
  msgid "&Make DCP\tCtrl-M"
  msgstr "&DCP erstellen\tCtrl-M"
  
 -#: src/tools/dcpomatic.cc:601
 +#: src/tools/dcpomatic.cc:604
  #, fuzzy
  msgid "&Open...\tCtrl-O"
  msgstr "&Öffnen...\tCtrl-O"
  
 -#: src/tools/dcpomatic.cc:620 src/tools/dcpomatic.cc:623
 +#: src/tools/dcpomatic.cc:623 src/tools/dcpomatic.cc:626
  #, fuzzy
  msgid "&Preferences...\tCtrl-P"
  msgstr "&Einstellungen...\tCtrl-P"
  
 -#: src/tools/dcpomatic.cc:605
 +#: src/tools/dcpomatic.cc:608
  msgid "&Properties..."
  msgstr "&Eigenschaften..."
  
 -#: src/tools/dcpomatic.cc:616 src/tools/dcpomatic_batch.cc:51
 +#: src/tools/dcpomatic.cc:619 src/tools/dcpomatic_batch.cc:51
  msgid "&Quit"
  msgstr "&Beenden"
  
 -#: src/tools/dcpomatic.cc:603
 +#: src/tools/dcpomatic.cc:606
  msgid "&Save\tCtrl-S"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:633
 +#: src/tools/dcpomatic.cc:636
  msgid "&Send DCP to TMS"
  msgstr "&DCP an TMS senden"
  
 -#: src/tools/dcpomatic.cc:654
 +#: src/tools/dcpomatic.cc:657
  msgid "&Tools"
  msgstr "&Werkzeuge"
  
 -#: src/tools/dcpomatic.cc:645 src/tools/dcpomatic_batch.cc:54
 +#: src/tools/dcpomatic.cc:648 src/tools/dcpomatic_batch.cc:54
  msgid "About"
  msgstr "Ãœber"
  
 -#: src/tools/dcpomatic.cc:643
 +#: src/tools/dcpomatic.cc:646
  msgid "About DCP-o-matic"
  msgstr "Ãœber DCP-o-matic"
  
@@@ -99,7 -99,7 +99,7 @@@
  msgid "Add Film..."
  msgstr "Projekt hinzufügen..."
  
 -#: src/tools/dcpomatic.cc:821
 +#: src/tools/dcpomatic.cc:827
  #, fuzzy, c-format
  msgid ""
  "An exception occurred (%s).  Please report this problem to the DCP-o-matic "
@@@ -108,7 -108,11 +108,11 @@@ msgstr "
  "Ein unbekannter Fehler ist aufgetreten. Bitte melden Sie dieses Problem an "
  "den Autor von DCP-o-matic (carl@dcpomatic.com)!"
  
- #: src/tools/dcpomatic.cc:829 src/tools/dcpomatic.cc:838
+ #: src/tools/dcpomatic.cc:418
+ msgid "An unknown exception occurred."
+ msgstr "Ein unbekannter Fehler ist aufgetreten."
+ #: src/tools/dcpomatic.cc:823 src/tools/dcpomatic.cc:832
  msgid ""
  "An unknown exception occurred.  Please report this problem to the DCP-o-"
  "matic author (carl@dcpomatic.com)."
@@@ -116,38 -120,34 +120,34 @@@ msgstr "
  "Ein unbekannter Fehler ist aufgetreten. Bitte melden Sie dieses Problem an "
  "den Autor von DCP-o-matic (carl@dcpomatic.com)!"
  
- #: src/tools/dcpomatic.cc:421
- msgid "An unknown exeception occurred."
- msgstr "Ein unbekannter Fehler ist aufgetreten."
- #: src/tools/dcpomatic.cc:417
+ #: src/tools/dcpomatic.cc:414
  msgid "CPL's content is not encrypted."
  msgstr "Medien der CPL sind nicht verschlüsselt worden."
  
 -#: src/tools/dcpomatic.cc:639
 +#: src/tools/dcpomatic.cc:642
  msgid "Check for updates"
  msgstr "Auf Updates Ã¼berprüfen..."
  
 -#: src/tools/dcpomatic.cc:760 src/tools/dcpomatic_batch.cc:238
 +#: src/tools/dcpomatic.cc:766 src/tools/dcpomatic_batch.cc:238
  msgid "Could not load film %1 (%2)"
  msgstr "Film %1 (%2) konnte nicht geladen werden"
  
 -#: src/tools/dcpomatic.cc:257 src/tools/dcpomatic_batch.cc:175
 +#: src/tools/dcpomatic.cc:260 src/tools/dcpomatic_batch.cc:175
  #, c-format
  msgid "Could not open film at %s (%s)"
  msgstr "Der Film konnte nicht bei %s (%s) geöffnet werden"
  
 -#: src/tools/dcpomatic.cc:464
 +#: src/tools/dcpomatic.cc:467
  msgid "Could not show DCP (could not run konqueror)"
  msgstr ""
  "DCP kann nicht angezeigt werden (Konqueror konnte nicht gestartet werden)"
  
 -#: src/tools/dcpomatic.cc:457
 +#: src/tools/dcpomatic.cc:460
  msgid "Could not show DCP (could not run nautilus)"
  msgstr "DCP kann nicht angezeigt werden (Nautilus konnte nicht geladen werden)"
  
 -#: src/tools/dcpomatic.cc:277 src/tools/dcpomatic.cc:715
 -#: src/tools/dcpomatic.cc:751
 +#: src/tools/dcpomatic.cc:280 src/tools/dcpomatic.cc:721
 +#: src/tools/dcpomatic.cc:757
  msgid "DCP-o-matic"
  msgstr "DCP-o-matic"
  
  msgid "DCP-o-matic Batch Converter"
  msgstr "DCP-o-matic Batch Converter"
  
 -#: src/tools/dcpomatic.cc:638
 +#: src/tools/dcpomatic.cc:641
  msgid "Encoding servers..."
  msgstr "Encoding Server..."
  
 -#: src/tools/dcpomatic.cc:85
 +#: src/tools/dcpomatic.cc:84
  msgid "Film changed"
  msgstr "Projekt gewechselt"
  
 -#: src/tools/dcpomatic.cc:637
 +#: src/tools/dcpomatic.cc:640
  msgid "Hints...\tCtrl-H"
  msgstr "Tipps...\tCtrl-H"
  
 -#: src/tools/dcpomatic.cc:632
 +#: src/tools/dcpomatic.cc:635
  msgid "Make &KDMs...\tCtrl-K"
  msgstr "&KDM erstellen...\tCtrl-K"
  
 -#: src/tools/dcpomatic.cc:600
 +#: src/tools/dcpomatic.cc:603
  msgid "New...\tCtrl-N"
  msgstr "Neu...\tCtrl-N"
  
 -#: src/tools/dcpomatic.cc:634
 +#: src/tools/dcpomatic.cc:637
  msgid "S&how DCP"
  msgstr "Z&eige DCP"
  
 -#: src/tools/dcpomatic.cc:84
 +#: src/tools/dcpomatic.cc:83
  #, c-format
  msgid "Save changes to film \"%s\" before closing?"
  msgstr "Änderungen des Projekts \"%s\" vor dem Schließen speichern ?"
  
 -#: src/tools/dcpomatic.cc:628
 +#: src/tools/dcpomatic.cc:631
  msgid "Scale to fit &height"
  msgstr "...skalieren auf &Höhe DCI-Container"
  
 -#: src/tools/dcpomatic.cc:627
 +#: src/tools/dcpomatic.cc:630
  msgid "Scale to fit &width"
  msgstr "...skalieren auf &Breite DCI-Container"
  
 -#: src/tools/dcpomatic.cc:322 src/tools/dcpomatic_batch.cc:152
 +#: src/tools/dcpomatic.cc:325 src/tools/dcpomatic_batch.cc:152
  msgid "Select film to open"
  msgstr "Zu Ã¶ffnendes Projekt auswählen"
  
 -#: src/tools/dcpomatic.cc:385
 +#: src/tools/dcpomatic.cc:388
  #, c-format
  msgid ""
  "The DCP for this film will take up about %.1f Gb, and the disk that you are "
@@@ -205,11 -205,11 +205,11 @@@ msgstr "
  "Das DCP für diesen Film wird etwa %.1f Gbyte groß. Auf dem ausgewählten "
  "Laufwerk sind aber nur %.1f Gbyte frei. Möchten Sie trotzdem weitermachen ?"
  
 -#: src/tools/dcpomatic.cc:870
 +#: src/tools/dcpomatic.cc:876
  msgid "The DCP-o-matic download server could not be contacted."
  msgstr "Der DCP-o-matic Download Server ist nicht erreichbar."
  
 -#: src/tools/dcpomatic.cc:296
 +#: src/tools/dcpomatic.cc:299
  msgid ""
  "The directory %1 already exists and is not empty.  Are you sure you want to "
  "use it?"
@@@ -217,17 -217,17 +217,17 @@@ msgstr "
  "Der Ordner %1 existiert bereits und ist nicht leer. Wollen Sie ihn trotzdem "
  "benutzen ?"
  
 -#: src/tools/dcpomatic.cc:865
 +#: src/tools/dcpomatic.cc:871
  msgid "There are no new versions of DCP-o-matic available."
  msgstr "Es ist keine neue Version von DCP-o-matic verfügbar."
  
 -#: src/tools/dcpomatic.cc:509 src/tools/dcpomatic_batch.cc:111
 +#: src/tools/dcpomatic.cc:512 src/tools/dcpomatic_batch.cc:111
  msgid "There are unfinished jobs; are you sure you want to quit?"
  msgstr ""
  "Manche Aufgaben sind nicht erledigt - sind Sie sicher, dass Sie Beenden "
  "wollen ?"
  
 -#: src/tools/dcpomatic.cc:243
 +#: src/tools/dcpomatic.cc:246
  msgid ""
  "This film was created with an old version of DVD-o-matic and may not load "
  "correctly in this version.  Please check the film's settings carefully."
@@@ -236,11 -236,11 +236,11 @@@ msgstr "
  "worden und wird in dieser Programmversion möglicherweise nicht korrekt "
  "umgesetzt. Bitte prüfen Sie alle Projekteinstellungen sorgfältig!"
  
 -#: src/tools/dcpomatic.cc:510 src/tools/dcpomatic_batch.cc:112
 +#: src/tools/dcpomatic.cc:513 src/tools/dcpomatic_batch.cc:112
  msgid "Unfinished jobs"
  msgstr "Unerledigte Aufgaben"
  
 -#: src/tools/dcpomatic.cc:331 src/tools/dcpomatic_batch.cc:161
 +#: src/tools/dcpomatic.cc:334 src/tools/dcpomatic_batch.cc:161
  msgid ""
  "You did not select a folder.  Make sure that you select a folder before "
  "clicking Open."
diff --combined src/tools/po/es_ES.po
index c4074fb12b69434c066b67a35969dbea0aaa91ac,dd4d83c556438818276953758706613f5a7ec5ac..5c99032c0dd11c03b0929d0b4625af3bb191faae
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: DCPOMATIC\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2014-10-16 16:38+0100\n"
+ "POT-Creation-Date: 2014-10-23 22:03+0100\n"
  "PO-Revision-Date: 2014-04-20 10:21-0500\n"
  "Last-Translator: Manuel AC <manuel.acevedo@civantos.>\n"
  "Language-Team: Manuel AC <manuel.acevedo@civantos.com>\n"
@@@ -17,7 -17,7 +17,7 @@@
  "Content-Transfer-Encoding: 8bit\n"
  "X-Generator: Poedit 1.6.4\n"
  
 -#: src/tools/dcpomatic.cc:306
 +#: src/tools/dcpomatic.cc:309
  msgid "%1 already exists as a file, so you cannot use it for a new film."
  msgstr "%1 ya existe como fichero, no puedes usarlo para una nueva película."
  
  msgid "&Add Film..."
  msgstr "&Añadir película..."
  
 -#: src/tools/dcpomatic.cc:652
 +#: src/tools/dcpomatic.cc:655
  msgid "&Content"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:650
 +#: src/tools/dcpomatic.cc:653
  msgid "&Edit"
  msgstr "&Editar"
  
 -#: src/tools/dcpomatic.cc:614
 +#: src/tools/dcpomatic.cc:617
  msgid "&Exit"
  msgstr "&Salir"
  
 -#: src/tools/dcpomatic.cc:648 src/tools/dcpomatic_batch.cc:56
 +#: src/tools/dcpomatic.cc:651 src/tools/dcpomatic_batch.cc:56
  msgid "&File"
  msgstr "&Archivo"
  
 -#: src/tools/dcpomatic.cc:655 src/tools/dcpomatic_batch.cc:57
 +#: src/tools/dcpomatic.cc:658 src/tools/dcpomatic_batch.cc:57
  msgid "&Help"
  msgstr "&Ayuda"
  
 -#: src/tools/dcpomatic.cc:653
 +#: src/tools/dcpomatic.cc:656
  msgid "&Jobs"
  msgstr "&Tareas"
  
 -#: src/tools/dcpomatic.cc:631
 +#: src/tools/dcpomatic.cc:634
  #, fuzzy
  msgid "&Make DCP\tCtrl-M"
  msgstr "&Crear DCP\tCtrl-M"
  
 -#: src/tools/dcpomatic.cc:601
 +#: src/tools/dcpomatic.cc:604
  #, fuzzy
  msgid "&Open...\tCtrl-O"
  msgstr "&Abrir...\tCtrl-O"
  
 -#: src/tools/dcpomatic.cc:620 src/tools/dcpomatic.cc:623
 +#: src/tools/dcpomatic.cc:623 src/tools/dcpomatic.cc:626
  #, fuzzy
  msgid "&Preferences...\tCtrl-P"
  msgstr "&Preferencias...\tCtrl-P"
  
 -#: src/tools/dcpomatic.cc:605
 +#: src/tools/dcpomatic.cc:608
  msgid "&Properties..."
  msgstr "&Propiedades..."
  
 -#: src/tools/dcpomatic.cc:616 src/tools/dcpomatic_batch.cc:51
 +#: src/tools/dcpomatic.cc:619 src/tools/dcpomatic_batch.cc:51
  msgid "&Quit"
  msgstr "&Salir"
  
 -#: src/tools/dcpomatic.cc:603
 +#: src/tools/dcpomatic.cc:606
  msgid "&Save\tCtrl-S"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:633
 +#: src/tools/dcpomatic.cc:636
  msgid "&Send DCP to TMS"
  msgstr "&Enviar DCP al TMS"
  
 -#: src/tools/dcpomatic.cc:654
 +#: src/tools/dcpomatic.cc:657
  msgid "&Tools"
  msgstr "&Herramientas"
  
 -#: src/tools/dcpomatic.cc:645 src/tools/dcpomatic_batch.cc:54
 +#: src/tools/dcpomatic.cc:648 src/tools/dcpomatic_batch.cc:54
  msgid "About"
  msgstr "Acerca de"
  
 -#: src/tools/dcpomatic.cc:643
 +#: src/tools/dcpomatic.cc:646
  msgid "About DCP-o-matic"
  msgstr "Acerca de DVD-o-matic"
  
  msgid "Add Film..."
  msgstr "Añadir película..."
  
 -#: src/tools/dcpomatic.cc:821
 +#: src/tools/dcpomatic.cc:827
  #, c-format
  msgid ""
  "An exception occurred (%s).  Please report this problem to the DCP-o-matic "
  "author (carl@dcpomatic.com)."
  msgstr ""
  
- #: src/tools/dcpomatic.cc:829 src/tools/dcpomatic.cc:838
+ #: src/tools/dcpomatic.cc:418
+ msgid "An unknown exception occurred."
+ msgstr "Ha ocurrido un error desconocido."
+ #: src/tools/dcpomatic.cc:823 src/tools/dcpomatic.cc:832
  msgid ""
  "An unknown exception occurred.  Please report this problem to the DCP-o-"
  "matic author (carl@dcpomatic.com)."
  msgstr ""
  
- #: src/tools/dcpomatic.cc:421
- msgid "An unknown exeception occurred."
- msgstr "Ha ocurrido un error desconocido."
- #: src/tools/dcpomatic.cc:417
+ #: src/tools/dcpomatic.cc:414
  msgid "CPL's content is not encrypted."
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:639
 +#: src/tools/dcpomatic.cc:642
  msgid "Check for updates"
  msgstr "Buscar actualizaciones"
  
 -#: src/tools/dcpomatic.cc:760 src/tools/dcpomatic_batch.cc:238
 +#: src/tools/dcpomatic.cc:766 src/tools/dcpomatic_batch.cc:238
  msgid "Could not load film %1 (%2)"
  msgstr "No se pudo cargar la película %s (%s)"
  
 -#: src/tools/dcpomatic.cc:257 src/tools/dcpomatic_batch.cc:175
 +#: src/tools/dcpomatic.cc:260 src/tools/dcpomatic_batch.cc:175
  #, c-format
  msgid "Could not open film at %s (%s)"
  msgstr "No se pudo cargar la película en %s (%s)"
  
 -#: src/tools/dcpomatic.cc:464
 +#: src/tools/dcpomatic.cc:467
  msgid "Could not show DCP (could not run konqueror)"
  msgstr "No se pudo mostrar el DCP (no se pudo ejecutar konqueror)"
  
 -#: src/tools/dcpomatic.cc:457
 +#: src/tools/dcpomatic.cc:460
  msgid "Could not show DCP (could not run nautilus)"
  msgstr "No se pudo mostrar el DCP (no se pudo ejecutar nautilos)"
  
 -#: src/tools/dcpomatic.cc:277 src/tools/dcpomatic.cc:715
 -#: src/tools/dcpomatic.cc:751
 +#: src/tools/dcpomatic.cc:280 src/tools/dcpomatic.cc:721
 +#: src/tools/dcpomatic.cc:757
  msgid "DCP-o-matic"
  msgstr "DCP-o-matic"
  
  msgid "DCP-o-matic Batch Converter"
  msgstr "Convertidor por lotes DCP-o-matic"
  
 -#: src/tools/dcpomatic.cc:638
 +#: src/tools/dcpomatic.cc:641
  msgid "Encoding servers..."
  msgstr "Servidores de codificación..."
  
 -#: src/tools/dcpomatic.cc:85
 +#: src/tools/dcpomatic.cc:84
  msgid "Film changed"
  msgstr "Película cambiada"
  
 -#: src/tools/dcpomatic.cc:637
 +#: src/tools/dcpomatic.cc:640
  #, fuzzy
  msgid "Hints...\tCtrl-H"
  msgstr "Pistas...\tCtrl-H"
  
 -#: src/tools/dcpomatic.cc:632
 +#: src/tools/dcpomatic.cc:635
  #, fuzzy
  msgid "Make &KDMs...\tCtrl-K"
  msgstr "Crear &KDMs...\tCtrl-K"
  
 -#: src/tools/dcpomatic.cc:600
 +#: src/tools/dcpomatic.cc:603
  #, fuzzy
  msgid "New...\tCtrl-N"
  msgstr "Nuevo...\tCtrl-N"
  
 -#: src/tools/dcpomatic.cc:634
 +#: src/tools/dcpomatic.cc:637
  msgid "S&how DCP"
  msgstr "&Mostrar DCP"
  
 -#: src/tools/dcpomatic.cc:84
 +#: src/tools/dcpomatic.cc:83
  #, c-format
  msgid "Save changes to film \"%s\" before closing?"
  msgstr "Guardar cambios de la película \"%s\" antes de cerrar?"
  
 -#: src/tools/dcpomatic.cc:628
 +#: src/tools/dcpomatic.cc:631
  msgid "Scale to fit &height"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:627
 +#: src/tools/dcpomatic.cc:630
  msgid "Scale to fit &width"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:322 src/tools/dcpomatic_batch.cc:152
 +#: src/tools/dcpomatic.cc:325 src/tools/dcpomatic_batch.cc:152
  msgid "Select film to open"
  msgstr "Selecciona la película a abrir"
  
 -#: src/tools/dcpomatic.cc:385
 +#: src/tools/dcpomatic.cc:388
  #, c-format
  msgid ""
  "The DCP for this film will take up about %.1f Gb, and the disk that you are "
@@@ -201,26 -201,26 +201,26 @@@ msgstr "
  "seleccionado solo tiene %.1f Gb disponibles.  Quieres continuar de todas "
  "formas?"
  
 -#: src/tools/dcpomatic.cc:870
 +#: src/tools/dcpomatic.cc:876
  msgid "The DCP-o-matic download server could not be contacted."
  msgstr "Imposible conectar con el servidor de descarga de DCP-o-matic."
  
 -#: src/tools/dcpomatic.cc:296
 +#: src/tools/dcpomatic.cc:299
  msgid ""
  "The directory %1 already exists and is not empty.  Are you sure you want to "
  "use it?"
  msgstr ""
  "El directorio %1 ya existe y no está vacío. Â¿Estás seguro de querer usarlo?"
  
 -#: src/tools/dcpomatic.cc:865
 +#: src/tools/dcpomatic.cc:871
  msgid "There are no new versions of DCP-o-matic available."
  msgstr "No hay disponibles nuevas versiones de DCP-o-matic."
  
 -#: src/tools/dcpomatic.cc:509 src/tools/dcpomatic_batch.cc:111
 +#: src/tools/dcpomatic.cc:512 src/tools/dcpomatic_batch.cc:111
  msgid "There are unfinished jobs; are you sure you want to quit?"
  msgstr "Hay trabajos sin finalizar; Â¿estás seguro de querer cerrar?"
  
 -#: src/tools/dcpomatic.cc:243
 +#: src/tools/dcpomatic.cc:246
  msgid ""
  "This film was created with an old version of DVD-o-matic and may not load "
  "correctly in this version.  Please check the film's settings carefully."
@@@ -229,11 -229,11 +229,11 @@@ msgstr "
  "cargue correctamente en esta versión. Por favor revisa cuidadosamente las "
  "opciones."
  
 -#: src/tools/dcpomatic.cc:510 src/tools/dcpomatic_batch.cc:112
 +#: src/tools/dcpomatic.cc:513 src/tools/dcpomatic_batch.cc:112
  msgid "Unfinished jobs"
  msgstr "Trabajos sin finalizar"
  
 -#: src/tools/dcpomatic.cc:331 src/tools/dcpomatic_batch.cc:161
 +#: src/tools/dcpomatic.cc:334 src/tools/dcpomatic_batch.cc:161
  msgid ""
  "You did not select a folder.  Make sure that you select a folder before "
  "clicking Open."
diff --combined src/tools/po/fr_FR.po
index 6d426d4327ee16bfa39510aee03d0e41e77d250b,edc671081d440744edfe94bcfcb05dd30e137642..e338bfdac172cd979f4977b9fce2c1ec7cea0bb0
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: DCP-o-matic FRENCH\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2014-10-16 16:38+0100\n"
+ "POT-Creation-Date: 2014-10-23 22:03+0100\n"
  "PO-Revision-Date: 2014-07-14 10:43+0100\n"
  "Last-Translator: Grégoire AUSINA <gregoire@gisele-productions.eu>\n"
  "Language-Team: \n"
@@@ -17,7 -17,7 +17,7 @@@
  "Content-Transfer-Encoding: 8bit\n"
  "X-Generator: Poedit 1.6.6\n"
  
 -#: src/tools/dcpomatic.cc:306
 +#: src/tools/dcpomatic.cc:309
  msgid "%1 already exists as a file, so you cannot use it for a new film."
  msgstr ""
  "Le fichier %1 existe déjà, vous ne pouvez l'utiliser pour un nouveau projet."
  msgid "&Add Film..."
  msgstr "&Ajouter Film..."
  
 -#: src/tools/dcpomatic.cc:652
 +#: src/tools/dcpomatic.cc:655
  msgid "&Content"
  msgstr "&Contenu"
  
 -#: src/tools/dcpomatic.cc:650
 +#: src/tools/dcpomatic.cc:653
  msgid "&Edit"
  msgstr "&Edition"
  
 -#: src/tools/dcpomatic.cc:614
 +#: src/tools/dcpomatic.cc:617
  msgid "&Exit"
  msgstr "&Quitter"
  
 -#: src/tools/dcpomatic.cc:648 src/tools/dcpomatic_batch.cc:56
 +#: src/tools/dcpomatic.cc:651 src/tools/dcpomatic_batch.cc:56
  msgid "&File"
  msgstr "&Fichier"
  
 -#: src/tools/dcpomatic.cc:655 src/tools/dcpomatic_batch.cc:57
 +#: src/tools/dcpomatic.cc:658 src/tools/dcpomatic_batch.cc:57
  msgid "&Help"
  msgstr "&Aide"
  
 -#: src/tools/dcpomatic.cc:653
 +#: src/tools/dcpomatic.cc:656
  msgid "&Jobs"
  msgstr "&Travaux"
  
 -#: src/tools/dcpomatic.cc:631
 +#: src/tools/dcpomatic.cc:634
  #, fuzzy
  msgid "&Make DCP\tCtrl-M"
  msgstr "&Créer le DCP\tCtrl-M"
  
 -#: src/tools/dcpomatic.cc:601
 +#: src/tools/dcpomatic.cc:604
  #, fuzzy
  msgid "&Open...\tCtrl-O"
  msgstr "&Ouvrir...\tCtrl-O"
  
 -#: src/tools/dcpomatic.cc:620 src/tools/dcpomatic.cc:623
 +#: src/tools/dcpomatic.cc:623 src/tools/dcpomatic.cc:626
  #, fuzzy
  msgid "&Preferences...\tCtrl-P"
  msgstr "&Préférences...\tCtrl-P"
  
 -#: src/tools/dcpomatic.cc:605
 +#: src/tools/dcpomatic.cc:608
  msgid "&Properties..."
  msgstr "&Propriétés..."
  
 -#: src/tools/dcpomatic.cc:616 src/tools/dcpomatic_batch.cc:51
 +#: src/tools/dcpomatic.cc:619 src/tools/dcpomatic_batch.cc:51
  msgid "&Quit"
  msgstr "&Quitter"
  
 -#: src/tools/dcpomatic.cc:603
 +#: src/tools/dcpomatic.cc:606
  msgid "&Save\tCtrl-S"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:633
 +#: src/tools/dcpomatic.cc:636
  msgid "&Send DCP to TMS"
  msgstr "&Envoyer le DCP au TMS"
  
 -#: src/tools/dcpomatic.cc:654
 +#: src/tools/dcpomatic.cc:657
  msgid "&Tools"
  msgstr "&Outils"
  
 -#: src/tools/dcpomatic.cc:645 src/tools/dcpomatic_batch.cc:54
 +#: src/tools/dcpomatic.cc:648 src/tools/dcpomatic_batch.cc:54
  msgid "About"
  msgstr "A propos"
  
 -#: src/tools/dcpomatic.cc:643
 +#: src/tools/dcpomatic.cc:646
  msgid "About DCP-o-matic"
  msgstr "À propos de DCP-o-matic"
  
@@@ -97,7 -97,7 +97,7 @@@
  msgid "Add Film..."
  msgstr "Ajouter Film..."
  
 -#: src/tools/dcpomatic.cc:821
 +#: src/tools/dcpomatic.cc:827
  #, fuzzy, c-format
  msgid ""
  "An exception occurred (%s).  Please report this problem to the DCP-o-matic "
@@@ -106,7 -106,11 +106,11 @@@ msgstr "
  "Erreur indéterminée. Merci de rapporter le problème Ã  l'auteur de DCP-o-"
  "matic (carl@dcpomatic.com)."
  
- #: src/tools/dcpomatic.cc:829 src/tools/dcpomatic.cc:838
+ #: src/tools/dcpomatic.cc:418
+ msgid "An unknown exception occurred."
+ msgstr "Exception inconnue"
+ #: src/tools/dcpomatic.cc:823 src/tools/dcpomatic.cc:832
  msgid ""
  "An unknown exception occurred.  Please report this problem to the DCP-o-"
  "matic author (carl@dcpomatic.com)."
@@@ -114,37 -118,33 +118,33 @@@ msgstr "
  "Erreur indéterminée. Merci de rapporter le problème Ã  l'auteur de DCP-o-"
  "matic (carl@dcpomatic.com)."
  
- #: src/tools/dcpomatic.cc:421
- msgid "An unknown exeception occurred."
- msgstr "Exception inconnue"
- #: src/tools/dcpomatic.cc:417
+ #: src/tools/dcpomatic.cc:414
  msgid "CPL's content is not encrypted."
  msgstr "Le contenu du CPL n'est pas crypté."
  
 -#: src/tools/dcpomatic.cc:639
 +#: src/tools/dcpomatic.cc:642
  msgid "Check for updates"
  msgstr "Recherche mises Ã  jour"
  
 -#: src/tools/dcpomatic.cc:760 src/tools/dcpomatic_batch.cc:238
 +#: src/tools/dcpomatic.cc:766 src/tools/dcpomatic_batch.cc:238
  msgid "Could not load film %1 (%2)"
  msgstr "Impossible de charger le film %1 (%2)"
  
 -#: src/tools/dcpomatic.cc:257 src/tools/dcpomatic_batch.cc:175
 +#: src/tools/dcpomatic.cc:260 src/tools/dcpomatic_batch.cc:175
  #, c-format
  msgid "Could not open film at %s (%s)"
  msgstr "Impossible d'ouvrir le film Ã  %s (%s)"
  
 -#: src/tools/dcpomatic.cc:464
 +#: src/tools/dcpomatic.cc:467
  msgid "Could not show DCP (could not run konqueror)"
  msgstr "Ouverture du DCP impossible (konqueror est introuvable)"
  
 -#: src/tools/dcpomatic.cc:457
 +#: src/tools/dcpomatic.cc:460
  msgid "Could not show DCP (could not run nautilus)"
  msgstr "Ouverture du DCP impossible (nautilus est introuvable)"
  
 -#: src/tools/dcpomatic.cc:277 src/tools/dcpomatic.cc:715
 -#: src/tools/dcpomatic.cc:751
 +#: src/tools/dcpomatic.cc:280 src/tools/dcpomatic.cc:721
 +#: src/tools/dcpomatic.cc:757
  msgid "DCP-o-matic"
  msgstr "DCP-o-matic"
  
  msgid "DCP-o-matic Batch Converter"
  msgstr "DCP-o-matic - Convertisseur par lots"
  
 -#: src/tools/dcpomatic.cc:638
 +#: src/tools/dcpomatic.cc:641
  msgid "Encoding servers..."
  msgstr "Serveurs d'encodage"
  
 -#: src/tools/dcpomatic.cc:85
 +#: src/tools/dcpomatic.cc:84
  msgid "Film changed"
  msgstr "Film changé"
  
 -#: src/tools/dcpomatic.cc:637
 +#: src/tools/dcpomatic.cc:640
  #, fuzzy
  msgid "Hints...\tCtrl-H"
  msgstr "Conseils...\tCtrl-H"
  
 -#: src/tools/dcpomatic.cc:632
 +#: src/tools/dcpomatic.cc:635
  msgid "Make &KDMs...\tCtrl-K"
  msgstr "Générer &KDMs...\tCtrl-K"
  
 -#: src/tools/dcpomatic.cc:600
 +#: src/tools/dcpomatic.cc:603
  msgid "New...\tCtrl-N"
  msgstr "Nouveau...\tCtrl-N"
  
 -#: src/tools/dcpomatic.cc:634
 +#: src/tools/dcpomatic.cc:637
  msgid "S&how DCP"
  msgstr "Voir le DCP"
  
 -#: src/tools/dcpomatic.cc:84
 +#: src/tools/dcpomatic.cc:83
  #, c-format
  msgid "Save changes to film \"%s\" before closing?"
  msgstr "Enregistrer les changements du film \"%s\" avant de fermer ?"
  
 -#: src/tools/dcpomatic.cc:628
 +#: src/tools/dcpomatic.cc:631
  msgid "Scale to fit &height"
  msgstr "Adapter pour remplir la &hauteur"
  
 -#: src/tools/dcpomatic.cc:627
 +#: src/tools/dcpomatic.cc:630
  msgid "Scale to fit &width"
  msgstr "Adapter pour remplir la largeur"
  
 -#: src/tools/dcpomatic.cc:322 src/tools/dcpomatic_batch.cc:152
 +#: src/tools/dcpomatic.cc:325 src/tools/dcpomatic_batch.cc:152
  msgid "Select film to open"
  msgstr "Sélectionner le film Ã  ouvrir"
  
 -#: src/tools/dcpomatic.cc:385
 +#: src/tools/dcpomatic.cc:388
  #, c-format
  msgid ""
  "The DCP for this film will take up about %.1f Gb, and the disk that you are "
@@@ -203,26 -203,26 +203,26 @@@ msgstr "
  "Le DCP de ce film pèsera environ %.1f Go. Le disque que vous utilisez n'a "
  "que %.1f Go disponible(s). Souhaitez-vous continuer?"
  
 -#: src/tools/dcpomatic.cc:870
 +#: src/tools/dcpomatic.cc:876
  msgid "The DCP-o-matic download server could not be contacted."
  msgstr "Le serveur de téléchargement de DCP-o-matic ne peut Ãªtre contacté."
  
 -#: src/tools/dcpomatic.cc:296
 +#: src/tools/dcpomatic.cc:299
  msgid ""
  "The directory %1 already exists and is not empty.  Are you sure you want to "
  "use it?"
  msgstr ""
  "Le dossier %1 existe et n'est pas vide. Etes-vous sûr de vouloir l'utiliser ?"
  
 -#: src/tools/dcpomatic.cc:865
 +#: src/tools/dcpomatic.cc:871
  msgid "There are no new versions of DCP-o-matic available."
  msgstr "Aucune mise Ã  jour disponible pour DCP-o-matic."
  
 -#: src/tools/dcpomatic.cc:509 src/tools/dcpomatic_batch.cc:111
 +#: src/tools/dcpomatic.cc:512 src/tools/dcpomatic_batch.cc:111
  msgid "There are unfinished jobs; are you sure you want to quit?"
  msgstr "Il y a des tâches inachevées ; voulez-vous vraiment quitter ?"
  
 -#: src/tools/dcpomatic.cc:243
 +#: src/tools/dcpomatic.cc:246
  msgid ""
  "This film was created with an old version of DVD-o-matic and may not load "
  "correctly in this version.  Please check the film's settings carefully."
@@@ -231,11 -231,11 +231,11 @@@ msgstr "
  "être ouvert correctement dans cette version. Veuillez vérifier les "
  "paramètres de réglages très attentivement."
  
 -#: src/tools/dcpomatic.cc:510 src/tools/dcpomatic_batch.cc:112
 +#: src/tools/dcpomatic.cc:513 src/tools/dcpomatic_batch.cc:112
  msgid "Unfinished jobs"
  msgstr "Travaux incomplets"
  
 -#: src/tools/dcpomatic.cc:331 src/tools/dcpomatic_batch.cc:161
 +#: src/tools/dcpomatic.cc:334 src/tools/dcpomatic_batch.cc:161
  msgid ""
  "You did not select a folder.  Make sure that you select a folder before "
  "clicking Open."
diff --combined src/tools/po/it_IT.po
index 7f7baddaf08eabb73d1c594a5a7e523f41b2a8e8,38b96da14b6aa510804c690f375d325a65160fda..ce52d654330a08a4b6e95c049bec523fe435a354
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: IT VERSION\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2014-10-16 16:38+0100\n"
+ "POT-Creation-Date: 2014-10-23 22:03+0100\n"
  "PO-Revision-Date: 2014-02-03 09:36+0100\n"
  "Last-Translator: William Fanelli <william.f@impronte.com>\n"
  "Language-Team: \n"
@@@ -17,7 -17,7 +17,7 @@@
  "Content-Transfer-Encoding: 8bit\n"
  "X-Generator: Poedit 1.6.3\n"
  
 -#: src/tools/dcpomatic.cc:306
 +#: src/tools/dcpomatic.cc:309
  msgid "%1 already exists as a file, so you cannot use it for a new film."
  msgstr "%1 esiste già il file, non Ã¨ possibile usarlo per un nuovo film"
  
  msgid "&Add Film..."
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:652
 +#: src/tools/dcpomatic.cc:655
  msgid "&Content"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:650
 +#: src/tools/dcpomatic.cc:653
  msgid "&Edit"
  msgstr "&Modifica"
  
 -#: src/tools/dcpomatic.cc:614
 +#: src/tools/dcpomatic.cc:617
  msgid "&Exit"
  msgstr "&Esci"
  
 -#: src/tools/dcpomatic.cc:648 src/tools/dcpomatic_batch.cc:56
 +#: src/tools/dcpomatic.cc:651 src/tools/dcpomatic_batch.cc:56
  msgid "&File"
  msgstr "&File"
  
 -#: src/tools/dcpomatic.cc:655 src/tools/dcpomatic_batch.cc:57
 +#: src/tools/dcpomatic.cc:658 src/tools/dcpomatic_batch.cc:57
  msgid "&Help"
  msgstr "&Aiuto"
  
 -#: src/tools/dcpomatic.cc:653
 +#: src/tools/dcpomatic.cc:656
  msgid "&Jobs"
  msgstr "&Lavori"
  
 -#: src/tools/dcpomatic.cc:631
 +#: src/tools/dcpomatic.cc:634
  msgid "&Make DCP\tCtrl-M"
  msgstr "&Crea DCP\tCtrl-M"
  
 -#: src/tools/dcpomatic.cc:601
 +#: src/tools/dcpomatic.cc:604
  msgid "&Open...\tCtrl-O"
  msgstr "&Apri...\tCtrl-O"
  
 -#: src/tools/dcpomatic.cc:620 src/tools/dcpomatic.cc:623
 +#: src/tools/dcpomatic.cc:623 src/tools/dcpomatic.cc:626
  msgid "&Preferences...\tCtrl-P"
  msgstr "&Preferenze...\tCtrl-P"
  
 -#: src/tools/dcpomatic.cc:605
 +#: src/tools/dcpomatic.cc:608
  msgid "&Properties..."
  msgstr "&Proprieta'..."
  
 -#: src/tools/dcpomatic.cc:616 src/tools/dcpomatic_batch.cc:51
 +#: src/tools/dcpomatic.cc:619 src/tools/dcpomatic_batch.cc:51
  msgid "&Quit"
  msgstr "&Esci"
  
 -#: src/tools/dcpomatic.cc:603
 +#: src/tools/dcpomatic.cc:606
  msgid "&Save\tCtrl-S"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:633
 +#: src/tools/dcpomatic.cc:636
  msgid "&Send DCP to TMS"
  msgstr "&Invia DCP a TMS"
  
 -#: src/tools/dcpomatic.cc:654
 +#: src/tools/dcpomatic.cc:657
  msgid "&Tools"
  msgstr "&Strumenti"
  
 -#: src/tools/dcpomatic.cc:645 src/tools/dcpomatic_batch.cc:54
 +#: src/tools/dcpomatic.cc:648 src/tools/dcpomatic_batch.cc:54
  msgid "About"
  msgstr "Informazioni"
  
 -#: src/tools/dcpomatic.cc:643
 +#: src/tools/dcpomatic.cc:646
  msgid "About DCP-o-matic"
  msgstr "Su DVD-o-matic"
  
  msgid "Add Film..."
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:821
 +#: src/tools/dcpomatic.cc:827
  #, c-format
  msgid ""
  "An exception occurred (%s).  Please report this problem to the DCP-o-matic "
  "author (carl@dcpomatic.com)."
  msgstr ""
  
- #: src/tools/dcpomatic.cc:829 src/tools/dcpomatic.cc:838
+ #: src/tools/dcpomatic.cc:418
+ msgid "An unknown exception occurred."
+ msgstr ""
+ #: src/tools/dcpomatic.cc:823 src/tools/dcpomatic.cc:832
  msgid ""
  "An unknown exception occurred.  Please report this problem to the DCP-o-"
  "matic author (carl@dcpomatic.com)."
  msgstr ""
  
- #: src/tools/dcpomatic.cc:421
- msgid "An unknown exeception occurred."
- msgstr ""
- #: src/tools/dcpomatic.cc:417
+ #: src/tools/dcpomatic.cc:414
  msgid "CPL's content is not encrypted."
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:639
 +#: src/tools/dcpomatic.cc:642
  msgid "Check for updates"
  msgstr "Controlla aggiornamenti"
  
 -#: src/tools/dcpomatic.cc:760 src/tools/dcpomatic_batch.cc:238
 +#: src/tools/dcpomatic.cc:766 src/tools/dcpomatic_batch.cc:238
  msgid "Could not load film %1 (%2)"
  msgstr "Non posso caricare il film %s (%s)"
  
 -#: src/tools/dcpomatic.cc:257 src/tools/dcpomatic_batch.cc:175
 +#: src/tools/dcpomatic.cc:260 src/tools/dcpomatic_batch.cc:175
  #, c-format
  msgid "Could not open film at %s (%s)"
  msgstr "Non posso aprire il film in %s (%s)"
  
 -#: src/tools/dcpomatic.cc:464
 +#: src/tools/dcpomatic.cc:467
  msgid "Could not show DCP (could not run konqueror)"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:457
 +#: src/tools/dcpomatic.cc:460
  msgid "Could not show DCP (could not run nautilus)"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:277 src/tools/dcpomatic.cc:715
 -#: src/tools/dcpomatic.cc:751
 +#: src/tools/dcpomatic.cc:280 src/tools/dcpomatic.cc:721
 +#: src/tools/dcpomatic.cc:757
  msgid "DCP-o-matic"
  msgstr "DCP-o-matic"
  
  msgid "DCP-o-matic Batch Converter"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:638
 +#: src/tools/dcpomatic.cc:641
  msgid "Encoding servers..."
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:85
 +#: src/tools/dcpomatic.cc:84
  msgid "Film changed"
  msgstr "Film modificato"
  
 -#: src/tools/dcpomatic.cc:637
 +#: src/tools/dcpomatic.cc:640
  msgid "Hints...\tCtrl-H"
  msgstr "Suggerimenti...\tCtrl-H"
  
 -#: src/tools/dcpomatic.cc:632
 +#: src/tools/dcpomatic.cc:635
  msgid "Make &KDMs...\tCtrl-K"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:600
 +#: src/tools/dcpomatic.cc:603
  msgid "New...\tCtrl-N"
  msgstr "Nuovo...\tCtrl-N"
  
 -#: src/tools/dcpomatic.cc:634
 +#: src/tools/dcpomatic.cc:637
  msgid "S&how DCP"
  msgstr "&Mostra DCP"
  
 -#: src/tools/dcpomatic.cc:84
 +#: src/tools/dcpomatic.cc:83
  #, c-format
  msgid "Save changes to film \"%s\" before closing?"
  msgstr "Salvare i cambiamenti del film \"%s\" prima di chiudere?"
  
 -#: src/tools/dcpomatic.cc:628
 +#: src/tools/dcpomatic.cc:631
  msgid "Scale to fit &height"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:627
 +#: src/tools/dcpomatic.cc:630
  msgid "Scale to fit &width"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:322 src/tools/dcpomatic_batch.cc:152
 +#: src/tools/dcpomatic.cc:325 src/tools/dcpomatic_batch.cc:152
  msgid "Select film to open"
  msgstr "Seleziona il film da aprire"
  
 -#: src/tools/dcpomatic.cc:385
 +#: src/tools/dcpomatic.cc:388
  #, c-format
  msgid ""
  "The DCP for this film will take up about %.1f Gb, and the disk that you are "
@@@ -194,35 -194,35 +194,35 @@@ msgstr "
  "Il DCP di questo film occupa %.1f Gb, ma il disco che stai usando dispone di "
  "%.1f Gb liberi.  Vuoi continuare ugualmente?"
  
 -#: src/tools/dcpomatic.cc:870
 +#: src/tools/dcpomatic.cc:876
  msgid "The DCP-o-matic download server could not be contacted."
  msgstr "Il download server di DCP-o-matic non può essere contattato."
  
 -#: src/tools/dcpomatic.cc:296
 +#: src/tools/dcpomatic.cc:299
  msgid ""
  "The directory %1 already exists and is not empty.  Are you sure you want to "
  "use it?"
  msgstr "La cartella %1 esiste già e non Ã¨ vuota.  Sei sicuro di volerla usare?"
  
 -#: src/tools/dcpomatic.cc:865
 +#: src/tools/dcpomatic.cc:871
  msgid "There are no new versions of DCP-o-matic available."
  msgstr "Non ci sono nuove versioni di DCP-o-matic disponibili."
  
 -#: src/tools/dcpomatic.cc:509 src/tools/dcpomatic_batch.cc:111
 +#: src/tools/dcpomatic.cc:512 src/tools/dcpomatic_batch.cc:111
  msgid "There are unfinished jobs; are you sure you want to quit?"
  msgstr "C'è un processo in corso: sei sicuro di voler uscire?"
  
 -#: src/tools/dcpomatic.cc:243
 +#: src/tools/dcpomatic.cc:246
  msgid ""
  "This film was created with an old version of DVD-o-matic and may not load "
  "correctly in this version.  Please check the film's settings carefully."
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:510 src/tools/dcpomatic_batch.cc:112
 +#: src/tools/dcpomatic.cc:513 src/tools/dcpomatic_batch.cc:112
  msgid "Unfinished jobs"
  msgstr "Processo in corso"
  
 -#: src/tools/dcpomatic.cc:331 src/tools/dcpomatic_batch.cc:161
 +#: src/tools/dcpomatic.cc:334 src/tools/dcpomatic_batch.cc:161
  msgid ""
  "You did not select a folder.  Make sure that you select a folder before "
  "clicking Open."
diff --combined src/tools/po/nl_NL.po
index 02eafd9cc2aceccf4c85b53e4eadcfe7e8697340,ab300c7a5238c3196ddbc431aef3df33d9886594..67cd9cbe6c6e4844b21cfa4a1557010339f1312c
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: DCP-o-matic\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2014-10-16 16:38+0100\n"
+ "POT-Creation-Date: 2014-10-23 22:03+0100\n"
  "PO-Revision-Date: 2014-09-04 20:29+0100\n"
  "Last-Translator: Cherif Ben Brahim <firehc@mac.com>\n"
  "Language-Team: UniversalDV <Tkooijmans@universaldv.nl>\n"
@@@ -18,7 -18,7 +18,7 @@@
  "X-Generator: Poedit 1.6.9\n"
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
  
 -#: src/tools/dcpomatic.cc:306
 +#: src/tools/dcpomatic.cc:309
  msgid "%1 already exists as a file, so you cannot use it for a new film."
  msgstr ""
  "%1 Dit bestand bestaat al, hierdoor kunt u het niet gebruiken voor een "
  msgid "&Add Film..."
  msgstr "Open een DCP map"
  
 -#: src/tools/dcpomatic.cc:652
 +#: src/tools/dcpomatic.cc:655
  msgid "&Content"
  msgstr "&Content"
  
 -#: src/tools/dcpomatic.cc:650
 +#: src/tools/dcpomatic.cc:653
  msgid "&Edit"
  msgstr "&Edit"
  
 -#: src/tools/dcpomatic.cc:614
 +#: src/tools/dcpomatic.cc:617
  msgid "&Exit"
  msgstr "&Afsluiten"
  
 -#: src/tools/dcpomatic.cc:648 src/tools/dcpomatic_batch.cc:56
 +#: src/tools/dcpomatic.cc:651 src/tools/dcpomatic_batch.cc:56
  msgid "&File"
  msgstr "&Bestand"
  
 -#: src/tools/dcpomatic.cc:655 src/tools/dcpomatic_batch.cc:57
 +#: src/tools/dcpomatic.cc:658 src/tools/dcpomatic_batch.cc:57
  msgid "&Help"
  msgstr "&Help"
  
 -#: src/tools/dcpomatic.cc:653
 +#: src/tools/dcpomatic.cc:656
  msgid "&Jobs"
  msgstr "&Projecten"
  
  msgid "&Make DCP\tCtrl-M"
  msgstr "&Maak een DCP\tCtrl-M"
  
 -#: src/tools/dcpomatic.cc:601
 +#: src/tools/dcpomatic.cc:604
  msgid "&Open...\tCtrl-O"
  msgstr "&Openen...\tCtrl-O"
  
 -#: src/tools/dcpomatic.cc:620 src/tools/dcpomatic.cc:623
 +#: src/tools/dcpomatic.cc:623 src/tools/dcpomatic.cc:626
  msgid "&Preferences...\tCtrl-P"
  msgstr "&Voorkeuren...\tCtrl-P"
  
 -#: src/tools/dcpomatic.cc:605
 +#: src/tools/dcpomatic.cc:608
  msgid "&Properties..."
  msgstr "&Instellingen..."
  
 -#: src/tools/dcpomatic.cc:616 src/tools/dcpomatic_batch.cc:51
 +#: src/tools/dcpomatic.cc:619 src/tools/dcpomatic_batch.cc:51
  msgid "&Quit"
  msgstr "&Afsluiten"
  
 -#: src/tools/dcpomatic.cc:603
 +#: src/tools/dcpomatic.cc:606
  msgid "&Save\tCtrl-S"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:633
 +#: src/tools/dcpomatic.cc:636
  msgid "&Send DCP to TMS"
  msgstr "&Verstuur DCP naar TMS"
  
 -#: src/tools/dcpomatic.cc:654
 +#: src/tools/dcpomatic.cc:657
  msgid "&Tools"
  msgstr "&Gereedschappen"
  
 -#: src/tools/dcpomatic.cc:645 src/tools/dcpomatic_batch.cc:54
 +#: src/tools/dcpomatic.cc:648 src/tools/dcpomatic_batch.cc:54
  msgid "About"
  msgstr "Over.."
  
 -#: src/tools/dcpomatic.cc:643
 +#: src/tools/dcpomatic.cc:646
  msgid "About DCP-o-matic"
  msgstr "Over DCP-o-matic"
  
@@@ -96,7 -96,7 +96,7 @@@
  msgid "Add Film..."
  msgstr "Voeg Film Toe"
  
 -#: src/tools/dcpomatic.cc:821
 +#: src/tools/dcpomatic.cc:827
  #, fuzzy, c-format
  msgid ""
  "An exception occurred (%s).  Please report this problem to the DCP-o-matic "
@@@ -105,7 -105,11 +105,11 @@@ msgstr "
  "Een ongekende fout is opgetreden. AUB meld deze aan de maker van DCP-o-matic "
  "(carl@dcpomatic.com)."
  
- #: src/tools/dcpomatic.cc:829 src/tools/dcpomatic.cc:838
+ #: src/tools/dcpomatic.cc:418
+ msgid "An unknown exception occurred."
+ msgstr "Er is een onbekende fout opgetreden."
+ #: src/tools/dcpomatic.cc:823 src/tools/dcpomatic.cc:832
  msgid ""
  "An unknown exception occurred.  Please report this problem to the DCP-o-"
  "matic author (carl@dcpomatic.com)."
@@@ -113,37 -117,33 +117,33 @@@ msgstr "
  "Een ongekende fout is opgetreden. AUB meld deze aan de maker van DCP-o-matic "
  "(carl@dcpomatic.com)."
  
- #: src/tools/dcpomatic.cc:421
- msgid "An unknown exeception occurred."
- msgstr "Er is een onbekende fout opgetreden."
- #: src/tools/dcpomatic.cc:417
+ #: src/tools/dcpomatic.cc:414
  msgid "CPL's content is not encrypted."
  msgstr "De inhoud van de CPL is niet geëncrypteerd."
  
 -#: src/tools/dcpomatic.cc:639
 +#: src/tools/dcpomatic.cc:642
  msgid "Check for updates"
  msgstr "Controleer op updates"
  
 -#: src/tools/dcpomatic.cc:760 src/tools/dcpomatic_batch.cc:238
 +#: src/tools/dcpomatic.cc:766 src/tools/dcpomatic_batch.cc:238
  msgid "Could not load film %1 (%2)"
  msgstr "Kan film niet openen %1 (%2)"
  
 -#: src/tools/dcpomatic.cc:257 src/tools/dcpomatic_batch.cc:175
 +#: src/tools/dcpomatic.cc:260 src/tools/dcpomatic_batch.cc:175
  #, c-format
  msgid "Could not open film at %s (%s)"
  msgstr "Kan film niet openen in  %s (%s)"
  
 -#: src/tools/dcpomatic.cc:464
 +#: src/tools/dcpomatic.cc:467
  msgid "Could not show DCP (could not run konqueror)"
  msgstr "Kan DCP niet vertonen (Kan Konqueror niet starten)"
  
 -#: src/tools/dcpomatic.cc:457
 +#: src/tools/dcpomatic.cc:460
  msgid "Could not show DCP (could not run nautilus)"
  msgstr "Kan DCP niet vertonen (Kan Nautilus niet starten)"
  
 -#: src/tools/dcpomatic.cc:277 src/tools/dcpomatic.cc:715
 -#: src/tools/dcpomatic.cc:751
 +#: src/tools/dcpomatic.cc:280 src/tools/dcpomatic.cc:721
 +#: src/tools/dcpomatic.cc:757
  msgid "DCP-o-matic"
  msgstr "DCP-o-matic"
  
  msgid "DCP-o-matic Batch Converter"
  msgstr "DCP-o-matic Bulk Omzetter"
  
 -#: src/tools/dcpomatic.cc:638
 +#: src/tools/dcpomatic.cc:641
  msgid "Encoding servers..."
  msgstr "Render servers..."
  
 -#: src/tools/dcpomatic.cc:85
 +#: src/tools/dcpomatic.cc:84
  msgid "Film changed"
  msgstr "Film is veranderd"
  
 -#: src/tools/dcpomatic.cc:637
 +#: src/tools/dcpomatic.cc:640
  msgid "Hints...\tCtrl-H"
  msgstr "Tips...\tCtrl-H"
  
 -#: src/tools/dcpomatic.cc:632
 +#: src/tools/dcpomatic.cc:635
  msgid "Make &KDMs...\tCtrl-K"
  msgstr "Maak &KDMs...\tCtrl-K"
  
 -#: src/tools/dcpomatic.cc:600
 +#: src/tools/dcpomatic.cc:603
  msgid "New...\tCtrl-N"
  msgstr "Nieuw...\tCtrl-N"
  
 -#: src/tools/dcpomatic.cc:634
 +#: src/tools/dcpomatic.cc:637
  msgid "S&how DCP"
  msgstr "S&hoe DCP"
  
 -#: src/tools/dcpomatic.cc:84
 +#: src/tools/dcpomatic.cc:83
  #, c-format
  msgid "Save changes to film \"%s\" before closing?"
  msgstr "Bewaar veranderingen naar film \"%s\" voor afsluiten?"
  
 -#: src/tools/dcpomatic.cc:628
 +#: src/tools/dcpomatic.cc:631
  msgid "Scale to fit &height"
  msgstr "Scaal naar &height"
  
 -#: src/tools/dcpomatic.cc:627
 +#: src/tools/dcpomatic.cc:630
  msgid "Scale to fit &width"
  msgstr "Schaal naar &width"
  
 -#: src/tools/dcpomatic.cc:322 src/tools/dcpomatic_batch.cc:152
 +#: src/tools/dcpomatic.cc:325 src/tools/dcpomatic_batch.cc:152
  msgid "Select film to open"
  msgstr "Kies een film om te openen"
  
 -#: src/tools/dcpomatic.cc:385
 +#: src/tools/dcpomatic.cc:388
  #, c-format
  msgid ""
  "The DCP for this film will take up about %.1f Gb, and the disk that you are "
@@@ -201,26 -201,26 +201,26 @@@ msgstr "
  "De DCP voor deze film neemt ongeveer %.1f Gb in beslag, er is echter maar "
  "%.1f Gb beschikbaar.  Wilt u toch doorgaan?"
  
 -#: src/tools/dcpomatic.cc:870
 +#: src/tools/dcpomatic.cc:876
  msgid "The DCP-o-matic download server could not be contacted."
  msgstr "De verbinding met de DCP-o-matic download server is niet beschikbaar."
  
 -#: src/tools/dcpomatic.cc:296
 +#: src/tools/dcpomatic.cc:299
  msgid ""
  "The directory %1 already exists and is not empty.  Are you sure you want to "
  "use it?"
  msgstr "De map %1 bestaat al en is niet leeg. Wilt u deze toch gebruiken?"
  
 -#: src/tools/dcpomatic.cc:865
 +#: src/tools/dcpomatic.cc:871
  msgid "There are no new versions of DCP-o-matic available."
  msgstr "Er is geen nieuwere versie van DCP-o-matic beschikbaar."
  
 -#: src/tools/dcpomatic.cc:509 src/tools/dcpomatic_batch.cc:111
 +#: src/tools/dcpomatic.cc:512 src/tools/dcpomatic_batch.cc:111
  msgid "There are unfinished jobs; are you sure you want to quit?"
  msgstr ""
  "Er zijn nog niet afgeronde projecten, weet u zeker dat u wilt afsluiten?"
  
 -#: src/tools/dcpomatic.cc:243
 +#: src/tools/dcpomatic.cc:246
  msgid ""
  "This film was created with an old version of DVD-o-matic and may not load "
  "correctly in this version.  Please check the film's settings carefully."
@@@ -228,11 -228,11 +228,11 @@@ msgstr "
  "Deze film is gemaakt met een oude versie van DCP-o-matic en opent mogelijk "
  "niet goed in de huidige versie.  Controleer alle instellingen zorgvuldig."
  
 -#: src/tools/dcpomatic.cc:510 src/tools/dcpomatic_batch.cc:112
 +#: src/tools/dcpomatic.cc:513 src/tools/dcpomatic_batch.cc:112
  msgid "Unfinished jobs"
  msgstr "Niet afgemaakte projecten"
  
 -#: src/tools/dcpomatic.cc:331 src/tools/dcpomatic_batch.cc:161
 +#: src/tools/dcpomatic.cc:334 src/tools/dcpomatic_batch.cc:161
  msgid ""
  "You did not select a folder.  Make sure that you select a folder before "
  "clicking Open."
diff --combined src/tools/po/sv_SE.po
index 9756a16c73e33dceb7d7ee597165fe188149e716,f987b6f1456d0f5603fab8fc42b8829a89711b44..b1849f33383a9b9b1660eb3883b9d8da6cd9c27e
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: DCP-o-matic\n"
  "Report-Msgid-Bugs-To: \n"
 -"POT-Creation-Date: 2014-10-23 22:03+0100\n"
 +"POT-Creation-Date: 2014-10-15 09:37+0100\n"
  "PO-Revision-Date: 2014-01-19 08:59+0100\n"
  "Last-Translator: Adam Klotblixt <adam.klotblixt@gmail.com>\n"
  "Language-Team: \n"
@@@ -17,7 -17,7 +17,7 @@@
  "Content-Transfer-Encoding: 8bit\n"
  "X-Generator: Poedit 1.6.3\n"
  
 -#: src/tools/dcpomatic.cc:306
 +#: src/tools/dcpomatic.cc:309
  msgid "%1 already exists as a file, so you cannot use it for a new film."
  msgstr "%1 finns redan som fil, sÃ¥ du kan inte använda den för en ny film."
  
  msgid "&Add Film..."
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:652
 +#: src/tools/dcpomatic.cc:655
  msgid "&Content"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:650
 +#: src/tools/dcpomatic.cc:653
  msgid "&Edit"
  msgstr "&Redigera"
  
 -#: src/tools/dcpomatic.cc:614
 +#: src/tools/dcpomatic.cc:617
  msgid "&Exit"
  msgstr "&Avsluta"
  
 -#: src/tools/dcpomatic.cc:648 src/tools/dcpomatic_batch.cc:56
 +#: src/tools/dcpomatic.cc:651 src/tools/dcpomatic_batch.cc:56
  msgid "&File"
  msgstr "&Fil"
  
 -#: src/tools/dcpomatic.cc:655 src/tools/dcpomatic_batch.cc:57
 +#: src/tools/dcpomatic.cc:658 src/tools/dcpomatic_batch.cc:57
  msgid "&Help"
  msgstr "&Hjälp"
  
 -#: src/tools/dcpomatic.cc:653
 +#: src/tools/dcpomatic.cc:656
  msgid "&Jobs"
  msgstr "&Jobb"
  
 -#: src/tools/dcpomatic.cc:631
 +#: src/tools/dcpomatic.cc:634
  #, fuzzy
  msgid "&Make DCP\tCtrl-M"
  msgstr "&Skapa DCP\tCtrl-M"
  
 -#: src/tools/dcpomatic.cc:601
 +#: src/tools/dcpomatic.cc:604
  #, fuzzy
  msgid "&Open...\tCtrl-O"
  msgstr "&Öppna...\tCtrl-O"
  
 -#: src/tools/dcpomatic.cc:620 src/tools/dcpomatic.cc:623
 +#: src/tools/dcpomatic.cc:623 src/tools/dcpomatic.cc:626
  #, fuzzy
  msgid "&Preferences...\tCtrl-P"
  msgstr "&Inställningar...\tCtrl-P"
  
 -#: src/tools/dcpomatic.cc:605
 +#: src/tools/dcpomatic.cc:608
  msgid "&Properties..."
  msgstr "&Egenskaper"
  
 -#: src/tools/dcpomatic.cc:616 src/tools/dcpomatic_batch.cc:51
 +#: src/tools/dcpomatic.cc:619 src/tools/dcpomatic_batch.cc:51
  msgid "&Quit"
  msgstr "&Avsluta"
  
 -#: src/tools/dcpomatic.cc:603
 +#: src/tools/dcpomatic.cc:606
  msgid "&Save\tCtrl-S"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:633
 +#: src/tools/dcpomatic.cc:636
  msgid "&Send DCP to TMS"
  msgstr "&Skicka DCP till TMS"
  
 -#: src/tools/dcpomatic.cc:654
 +#: src/tools/dcpomatic.cc:657
  msgid "&Tools"
  msgstr "&Verktyg"
  
 -#: src/tools/dcpomatic.cc:645 src/tools/dcpomatic_batch.cc:54
 +#: src/tools/dcpomatic.cc:648 src/tools/dcpomatic_batch.cc:54
  msgid "About"
  msgstr "Om"
  
 -#: src/tools/dcpomatic.cc:643
 +#: src/tools/dcpomatic.cc:646
  msgid "About DCP-o-matic"
  msgstr "Om DCP-o-matic"
  
  msgid "Add Film..."
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:821
 +#: src/tools/dcpomatic.cc:827
  #, c-format
  msgid ""
  "An exception occurred (%s).  Please report this problem to the DCP-o-matic "
  "author (carl@dcpomatic.com)."
  msgstr ""
  
- #: src/tools/dcpomatic.cc:829 src/tools/dcpomatic.cc:838
+ #: src/tools/dcpomatic.cc:418
+ msgid "An unknown exception occurred."
+ msgstr ""
+ #: src/tools/dcpomatic.cc:823 src/tools/dcpomatic.cc:832
  msgid ""
  "An unknown exception occurred.  Please report this problem to the DCP-o-"
  "matic author (carl@dcpomatic.com)."
  msgstr ""
  
- #: src/tools/dcpomatic.cc:421
- msgid "An unknown exeception occurred."
- msgstr ""
- #: src/tools/dcpomatic.cc:417
+ #: src/tools/dcpomatic.cc:414
  msgid "CPL's content is not encrypted."
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:639
 +#: src/tools/dcpomatic.cc:642
  msgid "Check for updates"
  msgstr "Leta efter uppdateringar"
  
 -#: src/tools/dcpomatic.cc:760 src/tools/dcpomatic_batch.cc:238
 +#: src/tools/dcpomatic.cc:766 src/tools/dcpomatic_batch.cc:238
  msgid "Could not load film %1 (%2)"
  msgstr "Kunde inte Ã¶ppna filmen %1 (%2)"
  
 -#: src/tools/dcpomatic.cc:257 src/tools/dcpomatic_batch.cc:175
 +#: src/tools/dcpomatic.cc:260 src/tools/dcpomatic_batch.cc:175
  #, c-format
  msgid "Could not open film at %s (%s)"
  msgstr "Kunde inte Ã¶ppna filmen vid %s (%s)"
  
 -#: src/tools/dcpomatic.cc:464
 +#: src/tools/dcpomatic.cc:467
  msgid "Could not show DCP (could not run konqueror)"
  msgstr "Kunde inte visa DCP (kunde inte köra konqueror)"
  
 -#: src/tools/dcpomatic.cc:457
 +#: src/tools/dcpomatic.cc:460
  msgid "Could not show DCP (could not run nautilus)"
  msgstr "Kunde inte visa DCP (kunde inte köra nautilus)"
  
 -#: src/tools/dcpomatic.cc:277 src/tools/dcpomatic.cc:715
 -#: src/tools/dcpomatic.cc:751
 +#: src/tools/dcpomatic.cc:280 src/tools/dcpomatic.cc:721
 +#: src/tools/dcpomatic.cc:757
  msgid "DCP-o-matic"
  msgstr "DCP-o-matic"
  
  msgid "DCP-o-matic Batch Converter"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:638
 +#: src/tools/dcpomatic.cc:641
  msgid "Encoding servers..."
  msgstr "Kodningsservrar..."
  
 -#: src/tools/dcpomatic.cc:85
 +#: src/tools/dcpomatic.cc:84
  msgid "Film changed"
  msgstr "Film Ã¤ndrad"
  
 -#: src/tools/dcpomatic.cc:637
 +#: src/tools/dcpomatic.cc:640
  msgid "Hints...\tCtrl-H"
  msgstr "RÃ¥d...\tCtrl-H"
  
 -#: src/tools/dcpomatic.cc:632
 +#: src/tools/dcpomatic.cc:635
  msgid "Make &KDMs...\tCtrl-K"
  msgstr "Skapa &KDM:er...\tCtrl-K"
  
 -#: src/tools/dcpomatic.cc:600
 +#: src/tools/dcpomatic.cc:603
  msgid "New...\tCtrl-N"
  msgstr "Ny...\tCtrl-N"
  
 -#: src/tools/dcpomatic.cc:634
 +#: src/tools/dcpomatic.cc:637
  msgid "S&how DCP"
  msgstr "&Visa DCP"
  
 -#: src/tools/dcpomatic.cc:84
 +#: src/tools/dcpomatic.cc:83
  #, c-format
  msgid "Save changes to film \"%s\" before closing?"
  msgstr "Spara Ã¤ndringarna till filmen \"%s\" före avslut?"
  
 -#: src/tools/dcpomatic.cc:628
 +#: src/tools/dcpomatic.cc:631
  msgid "Scale to fit &height"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:627
 +#: src/tools/dcpomatic.cc:630
  msgid "Scale to fit &width"
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:322 src/tools/dcpomatic_batch.cc:152
 +#: src/tools/dcpomatic.cc:325 src/tools/dcpomatic_batch.cc:152
  msgid "Select film to open"
  msgstr "Välj film att Ã¶ppna"
  
 -#: src/tools/dcpomatic.cc:385
 +#: src/tools/dcpomatic.cc:388
  #, c-format
  msgid ""
  "The DCP for this film will take up about %.1f Gb, and the disk that you are "
@@@ -197,11 -197,11 +197,11 @@@ msgstr "
  "DCP:n för denna film kommer att uppta ungefär %.1f Gb, och disken du "
  "använder har bara %.1f Gb ledigt. Vill du fortsätta Ã¤ndÃ¥?"
  
 -#: src/tools/dcpomatic.cc:870
 +#: src/tools/dcpomatic.cc:876
  msgid "The DCP-o-matic download server could not be contacted."
  msgstr "DCP-o-matics nedladdningsserver kunde inte kontaktas."
  
 -#: src/tools/dcpomatic.cc:296
 +#: src/tools/dcpomatic.cc:299
  msgid ""
  "The directory %1 already exists and is not empty.  Are you sure you want to "
  "use it?"
@@@ -209,25 -209,25 +209,25 @@@ msgstr "
  "Foldern %1 finns redan och Ã¤r inte tom. Ã„r du säker pÃ¥ att du vill använda "
  "den?"
  
 -#: src/tools/dcpomatic.cc:865
 +#: src/tools/dcpomatic.cc:871
  msgid "There are no new versions of DCP-o-matic available."
  msgstr "Det finns inga nya versioner av DCP-o-matic tillgängligt."
  
 -#: src/tools/dcpomatic.cc:509 src/tools/dcpomatic_batch.cc:111
 +#: src/tools/dcpomatic.cc:512 src/tools/dcpomatic_batch.cc:111
  msgid "There are unfinished jobs; are you sure you want to quit?"
  msgstr "Det finns oasvlutade jobb; Ã¤r du säker pÃ¥ att du vill avsluta?"
  
 -#: src/tools/dcpomatic.cc:243
 +#: src/tools/dcpomatic.cc:246
  msgid ""
  "This film was created with an old version of DVD-o-matic and may not load "
  "correctly in this version.  Please check the film's settings carefully."
  msgstr ""
  
 -#: src/tools/dcpomatic.cc:510 src/tools/dcpomatic_batch.cc:112
 +#: src/tools/dcpomatic.cc:513 src/tools/dcpomatic_batch.cc:112
  msgid "Unfinished jobs"
  msgstr "Oavslutade jobb"
  
 -#: src/tools/dcpomatic.cc:331 src/tools/dcpomatic_batch.cc:161
 +#: src/tools/dcpomatic.cc:334 src/tools/dcpomatic_batch.cc:161
  msgid ""
  "You did not select a folder.  Make sure that you select a folder before "
  "clicking Open."
diff --combined src/wx/about_dialog.cc
index dbf502289cdf20e53b25b7ea82fea68c122cd9f2,1cdc9d87d652abfdb4180164518a8aca182b37c6..db5bc7c45a615a5b8f14435e221b9a8392ad5934
@@@ -1,5 -1,5 +1,5 @@@
  /*
 -    Copyright (C) 2013 Carl Hetherington <cth@carlh.net>
 +    Copyright (C) 2013-2014 Carl Hetherington <cth@carlh.net>
  
      This program is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published by
  
  */
  
 +/** @file  src/wx/about_dialog.cc
 + *  @brief The "about DCP-o-matic" dialogue box.
 + */
 +
  #include <wx/notebook.h>
  #include <wx/hyperlink.h>
  #include "lib/version.h"
@@@ -134,6 -130,7 +134,7 @@@ AboutDialog::AboutDialog (wxWindow* par
        supported_by.Add (wxT ("Silvio Giuliano"));
        supported_by.Add (wxT ("Alan Gouger"));
        supported_by.Add (wxT ("Flor Guillaume"));
+       supported_by.Add (wxT ("Patrick Haderer"));
        supported_by.Add (wxT ("Antonio Ruiz Hernandez"));
        supported_by.Add (wxT ("Jonathan Jensen"));
        supported_by.Add (wxT ("Chris Kay"));
        SetSizerAndFit (overall_sizer);
  }
  
 +/** Add a section of credits.
 + *  @param name Name of section.
 + *  @param credits List of names.
 + */
  void
  AboutDialog::add_section (wxString name, wxArrayString credits)
  {
diff --combined src/wx/film_editor.cc
index 7f9461d940fb4ba6f4035707fc1f930c214c62f9,4b3898859686a6b1af2003ea2d57637daf1f6a7a..881317f3aa74cfd94128651a909a4c5ec79a5bdd
  #include "lib/ffmpeg_content.h"
  #include "lib/sndfile_content.h"
  #include "lib/dcp_content_type.h"
 -#include "lib/sound_processor.h"
  #include "lib/scaler.h"
  #include "lib/playlist.h"
  #include "lib/content.h"
  #include "lib/content_factory.h"
 +#include "lib/dcp_content.h"
  #include "lib/safe_stringstream.h"
  #include "timecode.h"
  #include "wx_util.h"
  #include "film_editor.h"
 -#include "isdcf_metadata_dialog.h"
  #include "timeline_dialog.h"
  #include "timing_panel.h"
  #include "subtitle_panel.h"
  #include "audio_panel.h"
  #include "video_panel.h"
 +#include "content_panel.h"
 +#include "dcp_panel.h"
  
  using std::string;
  using std::cout;
@@@ -73,26 -72,351 +73,24 @@@ using boost::lexical_cast
  /** @param f Film to edit */
  FilmEditor::FilmEditor (wxWindow* parent)
        : wxPanel (parent)
 -      , _menu (this)
 -      , _generally_sensitive (true)
 -      , _timeline_dialog (0)
  {
        wxBoxSizer* s = new wxBoxSizer (wxVERTICAL);
  
        _main_notebook = new wxNotebook (this, wxID_ANY);
        s->Add (_main_notebook, 1);
  
 -      make_content_panel ();
 -      _main_notebook->AddPage (_content_panel, _("Content"), true);
 -      make_dcp_panel ();
 -      _main_notebook->AddPage (_dcp_panel, _("DCP"), false);
 +      _content_panel = new ContentPanel (_main_notebook, _film);
 +      _main_notebook->AddPage (_content_panel->panel (), _("Content"), true);
 +      _dcp_panel = new DCPPanel (_main_notebook, _film);
 +      _main_notebook->AddPage (_dcp_panel->panel (), _("DCP"), false);
        
 -      connect_to_widgets ();
 -
        JobManager::instance()->ActiveJobsChanged.connect (
                bind (&FilmEditor::active_jobs_changed, this, _1)
                );
  
 -      Config::instance()->Changed.connect (boost::bind (&FilmEditor::config_changed, this));
 -
        set_film (shared_ptr<Film> ());
-       
--      SetSizerAndFit (s);
 -}
 -
 -void
 -FilmEditor::make_dcp_panel ()
 -{
 -      _dcp_panel = new wxPanel (_main_notebook);
 -      _dcp_sizer = new wxBoxSizer (wxVERTICAL);
 -      _dcp_panel->SetSizer (_dcp_sizer);
 -
 -      wxGridBagSizer* grid = new wxGridBagSizer (DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
 -      _dcp_sizer->Add (grid, 0, wxEXPAND | wxALL, 8);
 -
 -      int r = 0;
 -      
 -      add_label_to_grid_bag_sizer (grid, _dcp_panel, _("Name"), true, wxGBPosition (r, 0));
 -      _name = new wxTextCtrl (_dcp_panel, wxID_ANY);
 -      grid->Add (_name, wxGBPosition(r, 1), wxDefaultSpan, wxEXPAND | wxLEFT | wxRIGHT);
 -      ++r;
 -      
 -      int flags = wxALIGN_CENTER_VERTICAL;
 -#ifdef __WXOSX__
 -      flags |= wxALIGN_RIGHT;
 -#endif        
 -
 -      _use_isdcf_name = new wxCheckBox (_dcp_panel, wxID_ANY, _("Use ISDCF name"));
 -      grid->Add (_use_isdcf_name, wxGBPosition (r, 0), wxDefaultSpan, flags);
 -      _edit_isdcf_button = new wxButton (_dcp_panel, wxID_ANY, _("Details..."));
 -      grid->Add (_edit_isdcf_button, wxGBPosition (r, 1), wxDefaultSpan);
 -      ++r;
 -
 -      add_label_to_grid_bag_sizer (grid, _dcp_panel, _("DCP Name"), true, wxGBPosition (r, 0));
 -      _dcp_name = new wxStaticText (_dcp_panel, wxID_ANY, wxT (""));
 -      grid->Add (_dcp_name, wxGBPosition(r, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL);
 -      ++r;
 -
 -      add_label_to_grid_bag_sizer (grid, _dcp_panel, _("Container"), true, wxGBPosition (r, 0));
 -      _container = new wxChoice (_dcp_panel, wxID_ANY);
 -      grid->Add (_container, wxGBPosition (r, 1), wxDefaultSpan, wxEXPAND);
 -      ++r;
 -
 -      add_label_to_grid_bag_sizer (grid, _dcp_panel, _("Content Type"), true, wxGBPosition (r, 0));
 -      _dcp_content_type = new wxChoice (_dcp_panel, wxID_ANY);
 -      grid->Add (_dcp_content_type, wxGBPosition (r, 1));
 -      ++r;
 -
 -      {
 -              add_label_to_grid_bag_sizer (grid, _dcp_panel, _("Frame Rate"), true, wxGBPosition (r, 0));
 -              _frame_rate_sizer = new wxBoxSizer (wxHORIZONTAL);
 -              _frame_rate_choice = new wxChoice (_dcp_panel, wxID_ANY);
 -              _frame_rate_sizer->Add (_frame_rate_choice, 1, wxALIGN_CENTER_VERTICAL);
 -              _frame_rate_spin = new wxSpinCtrl (_dcp_panel, wxID_ANY);
 -              _frame_rate_sizer->Add (_frame_rate_spin, 1, wxALIGN_CENTER_VERTICAL);
 -              setup_frame_rate_widget ();
 -              _best_frame_rate = new wxButton (_dcp_panel, wxID_ANY, _("Use best"));
 -              _frame_rate_sizer->Add (_best_frame_rate, 1, wxALIGN_CENTER_VERTICAL | wxEXPAND);
 -              grid->Add (_frame_rate_sizer, wxGBPosition (r, 1));
 -      }
 -      ++r;
 -
 -      _signed = new wxCheckBox (_dcp_panel, wxID_ANY, _("Signed"));
 -      grid->Add (_signed, wxGBPosition (r, 0), wxGBSpan (1, 2));
 -      ++r;
 -      
 -      _encrypted = new wxCheckBox (_dcp_panel, wxID_ANY, _("Encrypted"));
 -      grid->Add (_encrypted, wxGBPosition (r, 0), wxGBSpan (1, 2));
 -      ++r;
 -
 -      add_label_to_grid_bag_sizer (grid, _dcp_panel, _("Audio channels"), true, wxGBPosition (r, 0));
 -      _audio_channels = new wxSpinCtrl (_dcp_panel, wxID_ANY);
 -      grid->Add (_audio_channels, wxGBPosition (r, 1));
 -      ++r;
 -
 -      _three_d = new wxCheckBox (_dcp_panel, wxID_ANY, _("3D"));
 -      grid->Add (_three_d, wxGBPosition (r, 0), wxGBSpan (1, 2));
 -      ++r;
 -
 -      add_label_to_grid_bag_sizer (grid, _dcp_panel, _("Resolution"), true, wxGBPosition (r, 0));
 -      _resolution = new wxChoice (_dcp_panel, wxID_ANY);
 -      grid->Add (_resolution, wxGBPosition (r, 1));
 -      ++r;
 -
 -      {
 -              add_label_to_grid_bag_sizer (grid, _dcp_panel, _("JPEG2000 bandwidth"), true, wxGBPosition (r, 0));
 -              wxSizer* s = new wxBoxSizer (wxHORIZONTAL);
 -              _j2k_bandwidth = new wxSpinCtrl (_dcp_panel, wxID_ANY);
 -              s->Add (_j2k_bandwidth, 1);
 -              add_label_to_sizer (s, _dcp_panel, _("Mbit/s"), false);
 -              grid->Add (s, wxGBPosition (r, 1));
 -      }
 -      ++r;
 -
 -      add_label_to_grid_bag_sizer (grid, _dcp_panel, _("Standard"), true, wxGBPosition (r, 0));
 -      _standard = new wxChoice (_dcp_panel, wxID_ANY);
 -      grid->Add (_standard, wxGBPosition (r, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL);
 -      ++r;
 -
 -      add_label_to_grid_bag_sizer (grid, _dcp_panel, _("Scaler"), true, wxGBPosition (r, 0));
 -      _scaler = new wxChoice (_dcp_panel, wxID_ANY);
 -      grid->Add (_scaler, wxGBPosition (r, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL);
 -      ++r;
 -
 -      vector<Scaler const *> const sc = Scaler::all ();
 -      for (vector<Scaler const *>::const_iterator i = sc.begin(); i != sc.end(); ++i) {
 -              _scaler->Append (std_to_wx ((*i)->name()));
 -      }
 -
 -      vector<Ratio const *> const ratio = Ratio::all ();
 -      for (vector<Ratio const *>::const_iterator i = ratio.begin(); i != ratio.end(); ++i) {
 -              _container->Append (std_to_wx ((*i)->nickname ()));
 -      }
 -
 -      vector<DCPContentType const *> const ct = DCPContentType::all ();
 -      for (vector<DCPContentType const *>::const_iterator i = ct.begin(); i != ct.end(); ++i) {
 -              _dcp_content_type->Append (std_to_wx ((*i)->pretty_name ()));
 -      }
 -
 -      list<int> const dfr = Config::instance()->allowed_dcp_frame_rates ();
 -      for (list<int>::const_iterator i = dfr.begin(); i != dfr.end(); ++i) {
 -              _frame_rate_choice->Append (std_to_wx (boost::lexical_cast<string> (*i)));
 -      }
 -
 -      _audio_channels->SetRange (0, MAX_DCP_AUDIO_CHANNELS);
 -      _j2k_bandwidth->SetRange (1, Config::instance()->maximum_j2k_bandwidth() / 1000000);
 -      _frame_rate_spin->SetRange (1, 480);
 -
 -      _resolution->Append (_("2K"));
 -      _resolution->Append (_("4K"));
 -
 -      _standard->Append (_("SMPTE"));
 -      _standard->Append (_("Interop"));
 -}
 -
 -void
 -FilmEditor::connect_to_widgets ()
 -{
 -      _name->Bind             (wxEVT_COMMAND_TEXT_UPDATED,          boost::bind (&FilmEditor::name_changed, this));
 -      _use_isdcf_name->Bind   (wxEVT_COMMAND_CHECKBOX_CLICKED,      boost::bind (&FilmEditor::use_isdcf_name_toggled, this));
 -      _edit_isdcf_button->Bind(wxEVT_COMMAND_BUTTON_CLICKED,        boost::bind (&FilmEditor::edit_isdcf_button_clicked, this));
 -      _container->Bind        (wxEVT_COMMAND_CHOICE_SELECTED,       boost::bind (&FilmEditor::container_changed, this));
 -      _content->Bind          (wxEVT_COMMAND_LIST_ITEM_SELECTED,    boost::bind (&FilmEditor::content_selection_changed, this));
 -      _content->Bind          (wxEVT_COMMAND_LIST_ITEM_DESELECTED,  boost::bind (&FilmEditor::content_selection_changed, this));
 -      _content->Bind          (wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, boost::bind (&FilmEditor::content_right_click, this, _1));
 -      _content->Bind          (wxEVT_DROP_FILES,                    boost::bind (&FilmEditor::content_files_dropped, this, _1));
 -      _content_add_file->Bind (wxEVT_COMMAND_BUTTON_CLICKED,        boost::bind (&FilmEditor::content_add_file_clicked, this));
 -      _content_add_folder->Bind (wxEVT_COMMAND_BUTTON_CLICKED,      boost::bind (&FilmEditor::content_add_folder_clicked, this));
 -      _content_remove->Bind   (wxEVT_COMMAND_BUTTON_CLICKED,        boost::bind (&FilmEditor::content_remove_clicked, this));
 -      _content_earlier->Bind  (wxEVT_COMMAND_BUTTON_CLICKED,        boost::bind (&FilmEditor::content_earlier_clicked, this));
 -      _content_later->Bind    (wxEVT_COMMAND_BUTTON_CLICKED,        boost::bind (&FilmEditor::content_later_clicked, this));
 -      _content_timeline->Bind (wxEVT_COMMAND_BUTTON_CLICKED,        boost::bind (&FilmEditor::content_timeline_clicked, this));
 -      _scaler->Bind           (wxEVT_COMMAND_CHOICE_SELECTED,       boost::bind (&FilmEditor::scaler_changed, this));
 -      _dcp_content_type->Bind (wxEVT_COMMAND_CHOICE_SELECTED,       boost::bind (&FilmEditor::dcp_content_type_changed, this));
 -      _frame_rate_choice->Bind(wxEVT_COMMAND_CHOICE_SELECTED,       boost::bind (&FilmEditor::frame_rate_choice_changed, this));
 -      _frame_rate_spin->Bind  (wxEVT_COMMAND_SPINCTRL_UPDATED,      boost::bind (&FilmEditor::frame_rate_spin_changed, this));
 -      _best_frame_rate->Bind  (wxEVT_COMMAND_BUTTON_CLICKED,        boost::bind (&FilmEditor::best_frame_rate_clicked, this));
 -      _signed->Bind           (wxEVT_COMMAND_CHECKBOX_CLICKED,      boost::bind (&FilmEditor::signed_toggled, this));
 -      _encrypted->Bind        (wxEVT_COMMAND_CHECKBOX_CLICKED,      boost::bind (&FilmEditor::encrypted_toggled, this));
 -      _audio_channels->Bind   (wxEVT_COMMAND_SPINCTRL_UPDATED,      boost::bind (&FilmEditor::audio_channels_changed, this));
 -      _j2k_bandwidth->Bind    (wxEVT_COMMAND_SPINCTRL_UPDATED,      boost::bind (&FilmEditor::j2k_bandwidth_changed, this));
 -      _resolution->Bind       (wxEVT_COMMAND_CHOICE_SELECTED,       boost::bind (&FilmEditor::resolution_changed, this));
 -      _three_d->Bind          (wxEVT_COMMAND_CHECKBOX_CLICKED,      boost::bind (&FilmEditor::three_d_changed, this));
 -      _standard->Bind         (wxEVT_COMMAND_CHOICE_SELECTED,       boost::bind (&FilmEditor::standard_changed, this));
 -}
 -
 -void
 -FilmEditor::make_content_panel ()
 -{
 -      _content_panel = new wxPanel (_main_notebook);
 -      _content_sizer = new wxBoxSizer (wxVERTICAL);
 -      _content_panel->SetSizer (_content_sizer);
 -
 -      {
 -              wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
 -              
 -              _content = new wxListCtrl (_content_panel, wxID_ANY, wxDefaultPosition, wxSize (320, 160), wxLC_REPORT | wxLC_NO_HEADER);
 -              s->Add (_content, 1, wxEXPAND | wxTOP | wxBOTTOM, 6);
 -
 -              _content->InsertColumn (0, wxT(""));
 -              _content->SetColumnWidth (0, 512);
 -
 -              wxBoxSizer* b = new wxBoxSizer (wxVERTICAL);
 -
 -              _content_add_file = new wxButton (_content_panel, wxID_ANY, _("Add file(s)..."));
 -              _content_add_file->SetToolTip (_("Add video, image or sound files to the film."));
 -              b->Add (_content_add_file,   0, wxEXPAND | wxALL, DCPOMATIC_BUTTON_STACK_GAP);
 -              
 -              _content_add_folder = new wxButton (_content_panel, wxID_ANY, _("Add image\nsequence..."));
 -              _content_add_folder->SetToolTip (_("Add a directory of image files which will be used as a moving image sequence."));
 -              b->Add (_content_add_folder, 1, wxEXPAND | wxALL, DCPOMATIC_BUTTON_STACK_GAP);
 -              
 -              _content_remove = new wxButton (_content_panel, wxID_ANY, _("Remove"));
 -              _content_remove->SetToolTip (_("Remove the selected piece of content from the film."));
 -              b->Add (_content_remove, 0, wxEXPAND | wxALL, DCPOMATIC_BUTTON_STACK_GAP);
 -              
 -              _content_earlier = new wxButton (_content_panel, wxID_ANY, _("Up"));
 -              _content_earlier->SetToolTip (_("Move the selected piece of content earlier in the film."));
 -              b->Add (_content_earlier, 0, wxEXPAND | wxALL, DCPOMATIC_BUTTON_STACK_GAP);
 -              
 -              _content_later = new wxButton (_content_panel, wxID_ANY, _("Down"));
 -              _content_later->SetToolTip (_("Move the selected piece of content later in the film."));
 -              b->Add (_content_later, 0, wxEXPAND | wxALL, DCPOMATIC_BUTTON_STACK_GAP);
 -
 -              _content_timeline = new wxButton (_content_panel, wxID_ANY, _("Timeline..."));
 -              _content_timeline->SetToolTip (_("Open the timeline for the film."));
 -              b->Add (_content_timeline, 0, wxEXPAND | wxALL, DCPOMATIC_BUTTON_STACK_GAP);
 -
 -              s->Add (b, 0, wxALL, 4);
 -
 -              _content_sizer->Add (s, 0, wxEXPAND | wxALL, 6);
 -      }
 -
 -      _content_notebook = new wxNotebook (_content_panel, wxID_ANY);
 -      _content_sizer->Add (_content_notebook, 1, wxEXPAND | wxTOP, 6);
 -
 -      _video_panel = new VideoPanel (this);
 -      _panels.push_back (_video_panel);
 -      _audio_panel = new AudioPanel (this);
 -      _panels.push_back (_audio_panel);
 -      _subtitle_panel = new SubtitlePanel (this);
 -      _panels.push_back (_subtitle_panel);
 -      _timing_panel = new TimingPanel (this);
 -      _panels.push_back (_timing_panel);
 -
 -      _content->DragAcceptFiles (true);
 -}
 -
 -/** Called when the name widget has been changed */
 -void
 -FilmEditor::name_changed ()
 -{
 -      if (!_film) {
 -              return;
 -      }
 -
 -      _film->set_name (string (_name->GetValue().mb_str()));
 -}
 -
 -void
 -FilmEditor::j2k_bandwidth_changed ()
 -{
 -      if (!_film) {
 -              return;
 -      }
 -      
 -      _film->set_j2k_bandwidth (_j2k_bandwidth->GetValue() * 1000000);
 -}
 -
 -void
 -FilmEditor::signed_toggled ()
 -{
 -      if (!_film) {
 -              return;
 -      }
 -
 -      _film->set_signed (_signed->GetValue ());
 -}
 -
 -void
 -FilmEditor::encrypted_toggled ()
 -{
 -      if (!_film) {
 -              return;
 -      }
 -
 -      _film->set_encrypted (_encrypted->GetValue ());
 -}
 -                             
 -/** Called when the frame rate choice widget has been changed */
 -void
 -FilmEditor::frame_rate_choice_changed ()
 -{
 -      if (!_film) {
 -              return;
 -      }
 -
 -      _film->set_video_frame_rate (
 -              boost::lexical_cast<int> (
 -                      wx_to_std (_frame_rate_choice->GetString (_frame_rate_choice->GetSelection ()))
 -                      )
 -              );
 -}
 -
 -/** Called when the frame rate spin widget has been changed */
 -void
 -FilmEditor::frame_rate_spin_changed ()
 -{
 -      if (!_film) {
 -              return;
 -      }
 -
 -      _film->set_video_frame_rate (_frame_rate_spin->GetValue ());
 -}
 -
 -void
 -FilmEditor::audio_channels_changed ()
 -{
 -      if (!_film) {
 -              return;
 -      }
 -
 -      _film->set_audio_channels (_audio_channels->GetValue ());
 -}
 -
 -void
 -FilmEditor::resolution_changed ()
 -{
 -      if (!_film) {
 -              return;
 -      }
 -
 -      _film->set_resolution (_resolution->GetSelection() == 0 ? RESOLUTION_2K : RESOLUTION_4K);
  }
  
 -void
 -FilmEditor::standard_changed ()
 -{
 -      if (!_film) {
 -              return;
 -      }
 -
 -      _film->set_interop (_standard->GetSelection() == 1);
 -}
  
  /** Called when the metadata stored in the Film object has changed;
   *  so that we can update the GUI.
@@@ -107,8 -431,96 +105,8 @@@ FilmEditor::film_changed (Film::Propert
                return;
        }
  
 -      SafeStringStream s;
 -
 -      for (list<FilmEditorPanel*>::iterator i = _panels.begin(); i != _panels.end(); ++i) {
 -              (*i)->film_changed (p);
 -      }
 -              
 -      switch (p) {
 -      case Film::NONE:
 -              break;
 -      case Film::CONTENT:
 -              setup_content ();
 -              break;
 -      case Film::CONTAINER:
 -              setup_container ();
 -              break;
 -      case Film::NAME:
 -              checked_set (_name, _film->name());
 -              setup_dcp_name ();
 -              break;
 -      case Film::WITH_SUBTITLES:
 -              setup_dcp_name ();
 -              break;
 -      case Film::DCP_CONTENT_TYPE:
 -              checked_set (_dcp_content_type, DCPContentType::as_index (_film->dcp_content_type ()));
 -              setup_dcp_name ();
 -              break;
 -      case Film::SCALER:
 -              checked_set (_scaler, Scaler::as_index (_film->scaler ()));
 -              break;
 -      case Film::SIGNED:
 -              checked_set (_signed, _film->is_signed ());
 -              break;
 -      case Film::ENCRYPTED:
 -              checked_set (_encrypted, _film->encrypted ());
 -              if (_film->encrypted ()) {
 -                      _film->set_signed (true);
 -                      _signed->Enable (false);
 -              } else {
 -                      _signed->Enable (_generally_sensitive);
 -              }
 -              break;
 -      case Film::RESOLUTION:
 -              checked_set (_resolution, _film->resolution() == RESOLUTION_2K ? 0 : 1);
 -              setup_dcp_name ();
 -              break;
 -      case Film::J2K_BANDWIDTH:
 -              checked_set (_j2k_bandwidth, _film->j2k_bandwidth() / 1000000);
 -              break;
 -      case Film::USE_ISDCF_NAME:
 -              checked_set (_use_isdcf_name, _film->use_isdcf_name ());
 -              setup_dcp_name ();
 -              use_isdcf_name_changed ();
 -              break;
 -      case Film::ISDCF_METADATA:
 -              setup_dcp_name ();
 -              break;
 -      case Film::VIDEO_FRAME_RATE:
 -      {
 -              bool done = false;
 -              for (unsigned int i = 0; i < _frame_rate_choice->GetCount(); ++i) {
 -                      if (wx_to_std (_frame_rate_choice->GetString(i)) == boost::lexical_cast<string> (_film->video_frame_rate())) {
 -                              checked_set (_frame_rate_choice, i);
 -                              done = true;
 -                              break;
 -                      }
 -              }
 -
 -              if (!done) {
 -                      checked_set (_frame_rate_choice, -1);
 -              }
 -
 -              _frame_rate_spin->SetValue (_film->video_frame_rate ());
 -
 -              _best_frame_rate->Enable (_film->best_video_frame_rate () != _film->video_frame_rate ());
 -              break;
 -      }
 -      case Film::AUDIO_CHANNELS:
 -              checked_set (_audio_channels, _film->audio_channels ());
 -              setup_dcp_name ();
 -              break;
 -      case Film::THREE_D:
 -              checked_set (_three_d, _film->three_d ());
 -              setup_dcp_name ();
 -              break;
 -      case Film::INTEROP:
 -              checked_set (_standard, _film->interop() ? 1 : 0);
 -              break;
 -      default:
 -              break;
 -      }
 +      _content_panel->film_changed (p);
 +      _dcp_panel->film_changed (p);
  }
  
  void
@@@ -123,8 -535,69 +121,8 @@@ FilmEditor::film_content_changed (int p
                return;
        }
  
 -      for (list<FilmEditorPanel*>::iterator i = _panels.begin(); i != _panels.end(); ++i) {
 -              (*i)->film_content_changed (property);
 -      }
 -
 -      if (property == FFmpegContentProperty::AUDIO_STREAM) {
 -              setup_dcp_name ();
 -      } else if (property == ContentProperty::PATH) {
 -              setup_content ();
 -      } else if (property == ContentProperty::POSITION) {
 -              setup_content ();
 -      } else if (property == VideoContentProperty::VIDEO_SCALE) {
 -              setup_dcp_name ();
 -      }
 -}
 -
 -void
 -FilmEditor::setup_container ()
 -{
 -      int n = 0;
 -      vector<Ratio const *> ratios = Ratio::all ();
 -      vector<Ratio const *>::iterator i = ratios.begin ();
 -      while (i != ratios.end() && *i != _film->container ()) {
 -              ++i;
 -              ++n;
 -      }
 -      
 -      if (i == ratios.end()) {
 -              checked_set (_container, -1);
 -      } else {
 -              checked_set (_container, n);
 -      }
 -      
 -      setup_dcp_name ();
 -}     
 -
 -/** Called when the container widget has been changed */
 -void
 -FilmEditor::container_changed ()
 -{
 -      if (!_film) {
 -              return;
 -      }
 -
 -      int const n = _container->GetSelection ();
 -      if (n >= 0) {
 -              vector<Ratio const *> ratios = Ratio::all ();
 -              assert (n < int (ratios.size()));
 -              _film->set_container (ratios[n]);
 -      }
 -}
 -
 -/** Called when the DCP content type widget has been changed */
 -void
 -FilmEditor::dcp_content_type_changed ()
 -{
 -      if (!_film) {
 -              return;
 -      }
 -
 -      int const n = _dcp_content_type->GetSelection ();
 -      if (n != wxNOT_FOUND) {
 -              _film->set_dcp_content_type (DCPContentType::from_index (n));
 -      }
 +      _content_panel->film_content_changed (property);
 +      _dcp_panel->film_content_changed (property);
  }
  
  /** Sets the Film that we are editing */
@@@ -139,9 -612,6 +137,9 @@@ FilmEditor::set_film (shared_ptr<Film> 
        
        _film = f;
  
 +      _content_panel->set_film (_film);
 +      _dcp_panel->set_film (_film);
 +
        if (_film) {
                _film->Changed.connect (bind (&FilmEditor::film_changed, this, _1));
                _film->ContentChanged.connect (bind (&FilmEditor::film_content_changed, this, _2));
                FileChanged ("");
        }
  
 -      film_changed (Film::NAME);
 -      film_changed (Film::USE_ISDCF_NAME);
 -      film_changed (Film::CONTENT);
 -      film_changed (Film::DCP_CONTENT_TYPE);
 -      film_changed (Film::CONTAINER);
 -      film_changed (Film::RESOLUTION);
 -      film_changed (Film::SCALER);
 -      film_changed (Film::WITH_SUBTITLES);
 -      film_changed (Film::SIGNED);
 -      film_changed (Film::ENCRYPTED);
 -      film_changed (Film::J2K_BANDWIDTH);
 -      film_changed (Film::ISDCF_METADATA);
 -      film_changed (Film::VIDEO_FRAME_RATE);
 -      film_changed (Film::AUDIO_CHANNELS);
 -      film_changed (Film::THREE_D);
 -      film_changed (Film::INTEROP);
 -
        if (!_film->content().empty ()) {
 -              set_selection (_film->content().front ());
 +              _content_panel->set_selection (_film->content().front ());
        }
 -
 -      content_selection_changed ();
  }
  
  void
  FilmEditor::set_general_sensitivity (bool s)
  {
 -      _generally_sensitive = s;
 -
 -      /* Stuff in the Content / DCP tabs */
 -      _name->Enable (s);
 -      _use_isdcf_name->Enable (s);
 -      _edit_isdcf_button->Enable (s);
 -      _content->Enable (s);
 -      _content_add_file->Enable (s);
 -      _content_add_folder->Enable (s);
 -      _content_remove->Enable (s);
 -      _content_earlier->Enable (s);
 -      _content_later->Enable (s);
 -      _content_timeline->Enable (s);
 -      _dcp_content_type->Enable (s);
 -
 -      bool si = s;
 -      if (_film && _film->encrypted ()) {
 -              si = false;
 -      }
 -      _signed->Enable (si);
 -      
 -      _encrypted->Enable (s);
 -      _frame_rate_choice->Enable (s);
 -      _frame_rate_spin->Enable (s);
 -      _audio_channels->Enable (s);
 -      _j2k_bandwidth->Enable (s);
 -      _container->Enable (s);
 -      _best_frame_rate->Enable (s && _film && _film->best_video_frame_rate () != _film->video_frame_rate ());
 -      _resolution->Enable (s);
 -      _scaler->Enable (s);
 -      _three_d->Enable (s);
 -      _standard->Enable (s);
 -
 -      /* Set the panels in the content notebook */
 -      for (list<FilmEditorPanel*>::iterator i = _panels.begin(); i != _panels.end(); ++i) {
 -              (*i)->Enable (s);
 -      }
 -}
 -
 -/** Called when the scaler widget has been changed */
 -void
 -FilmEditor::scaler_changed ()
 -{
 -      if (!_film) {
 -              return;
 -      }
 -
 -      int const n = _scaler->GetSelection ();
 -      if (n >= 0) {
 -              _film->set_scaler (Scaler::from_index (n));
 -      }
 -}
 -
 -void
 -FilmEditor::use_isdcf_name_toggled ()
 -{
 -      if (!_film) {
 -              return;
 -      }
 -
 -      _film->set_use_isdcf_name (_use_isdcf_name->GetValue ());
 -}
 -
 -void
 -FilmEditor::use_isdcf_name_changed ()
 -{
 -      bool const i = _film->use_isdcf_name ();
 -
 -      if (!i) {
 -              _film->set_name (_film->isdcf_name (true));
 -      }
 -
 -      _edit_isdcf_button->Enable (i);
 -}
 -
 -void
 -FilmEditor::edit_isdcf_button_clicked ()
 -{
 -      if (!_film) {
 -              return;
 -      }
 -
 -      ISDCFMetadataDialog* d = new ISDCFMetadataDialog (this, _film->isdcf_metadata ());
 -      d->ShowModal ();
 -      _film->set_isdcf_metadata (d->isdcf_metadata ());
 -      d->Destroy ();
 +      _content_panel->set_general_sensitivity (s);
 +      _dcp_panel->set_general_sensitivity (s);
  }
  
  void
@@@ -170,3 -743,346 +168,3 @@@ FilmEditor::active_jobs_changed (bool a
  {
        set_general_sensitivity (!a);
  }
 -
 -void
 -FilmEditor::setup_dcp_name ()
 -{
 -      string s = _film->dcp_name (true);
 -      if (s.length() > 28) {
 -              _dcp_name->SetLabel (std_to_wx (s.substr (0, 28)) + N_("..."));
 -              _dcp_name->SetToolTip (std_to_wx (s));
 -      } else {
 -              _dcp_name->SetLabel (std_to_wx (s));
 -      }
 -}
 -
 -void
 -FilmEditor::best_frame_rate_clicked ()
 -{
 -      if (!_film) {
 -              return;
 -      }
 -      
 -      _film->set_video_frame_rate (_film->best_video_frame_rate ());
 -}
 -
 -void
 -FilmEditor::setup_content ()
 -{
 -      string selected_summary;
 -      int const s = _content->GetNextItem (-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
 -      if (s != -1) {
 -              selected_summary = wx_to_std (_content->GetItemText (s));
 -      }
 -      
 -      _content->DeleteAllItems ();
 -
 -      ContentList content = _film->content ();
 -      sort (content.begin(), content.end(), ContentSorter ());
 -      
 -      for (ContentList::iterator i = content.begin(); i != content.end(); ++i) {
 -              int const t = _content->GetItemCount ();
 -              bool const valid = (*i)->paths_valid ();
 -
 -              string s = (*i)->summary ();
 -              if (!valid) {
 -                      s = _("MISSING: ") + s;
 -              }
 -
 -              _content->InsertItem (t, std_to_wx (s));
 -
 -              if ((*i)->summary() == selected_summary) {
 -                      _content->SetItemState (t, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
 -              }
 -
 -              if (!valid) {
 -                      _content->SetItemTextColour (t, *wxRED);
 -              }
 -      }
 -
 -      if (selected_summary.empty () && !content.empty ()) {
 -              /* Select the item of content if none was selected before */
 -              _content->SetItemState (0, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
 -      }
 -}
 -
 -void
 -FilmEditor::content_add_file_clicked ()
 -{
 -      /* The wxFD_CHANGE_DIR here prevents a `could not set working directory' error 123 on Windows when using
 -         non-Latin filenames or paths.
 -      */
 -      wxFileDialog* d = new wxFileDialog (this, _("Choose a file or files"), wxT (""), wxT (""), wxT ("*.*"), wxFD_MULTIPLE | wxFD_CHANGE_DIR);
 -      int const r = d->ShowModal ();
 -
 -      if (r != wxID_OK) {
 -              d->Destroy ();
 -              return;
 -      }
 -
 -      wxArrayString paths;
 -      d->GetPaths (paths);
 -
 -      /* XXX: check for lots of files here and do something */
 -
 -      for (unsigned int i = 0; i < paths.GetCount(); ++i) {
 -              _film->examine_and_add_content (content_factory (_film, wx_to_std (paths[i])));
 -      }
 -
 -      d->Destroy ();
 -}
 -
 -void
 -FilmEditor::content_add_folder_clicked ()
 -{
 -      wxDirDialog* d = new wxDirDialog (this, _("Choose a folder"), wxT (""), wxDD_DIR_MUST_EXIST);
 -      int const r = d->ShowModal ();
 -      d->Destroy ();
 -      
 -      if (r != wxID_OK) {
 -              return;
 -      }
 -
 -      shared_ptr<ImageContent> ic;
 -      
 -      try {
 -              ic.reset (new ImageContent (_film, boost::filesystem::path (wx_to_std (d->GetPath ()))));
 -      } catch (FileError& e) {
 -              error_dialog (this, std_to_wx (e.what ()));
 -              return;
 -      }
 -
 -      _film->examine_and_add_content (ic);
 -}
 -
 -void
 -FilmEditor::content_remove_clicked ()
 -{
 -      ContentList c = selected_content ();
 -      for (ContentList::iterator i = c.begin(); i != c.end(); ++i) {
 -              _film->remove_content (*i);
 -      }
 -
 -      content_selection_changed ();
 -}
 -
 -void
 -FilmEditor::content_selection_changed ()
 -{
 -      setup_content_sensitivity ();
 -
 -      for (list<FilmEditorPanel*>::iterator i = _panels.begin(); i != _panels.end(); ++i) {
 -              (*i)->content_selection_changed ();
 -      }
 -}
 -
 -/** Set up broad sensitivity based on the type of content that is selected */
 -void
 -FilmEditor::setup_content_sensitivity ()
 -{
 -      _content_add_file->Enable (_generally_sensitive);
 -      _content_add_folder->Enable (_generally_sensitive);
 -
 -      ContentList selection = selected_content ();
 -      VideoContentList video_selection = selected_video_content ();
 -      AudioContentList audio_selection = selected_audio_content ();
 -
 -      _content_remove->Enable   (!selection.empty() && _generally_sensitive);
 -      _content_earlier->Enable  (selection.size() == 1 && _generally_sensitive);
 -      _content_later->Enable    (selection.size() == 1 && _generally_sensitive);
 -      _content_timeline->Enable (!_film->content().empty() && _generally_sensitive);
 -
 -      _video_panel->Enable    (!video_selection.empty() && _generally_sensitive);
 -      _audio_panel->Enable    (!audio_selection.empty() && _generally_sensitive);
 -      _subtitle_panel->Enable (selection.size() == 1 && dynamic_pointer_cast<FFmpegContent> (selection.front()) && _generally_sensitive);
 -      _timing_panel->Enable   (!selection.empty() && _generally_sensitive);
 -}
 -
 -ContentList
 -FilmEditor::selected_content ()
 -{
 -      ContentList sel;
 -
 -      if (!_film) {
 -              return sel;
 -      }
 -
 -      /* The list was populated using a sorted content list, so we must sort it here too
 -         so that we can look up by index and get the right thing.
 -      */
 -      ContentList content = _film->content ();
 -      sort (content.begin(), content.end(), ContentSorter ());
 -      
 -      long int s = -1;
 -      while (true) {
 -              s = _content->GetNextItem (s, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
 -              if (s == -1) {
 -                      break;
 -              }
 -
 -              if (s < int (_film->content().size ())) {
 -                      sel.push_back (content[s]);
 -              }
 -      }
 -
 -      return sel;
 -}
 -
 -VideoContentList
 -FilmEditor::selected_video_content ()
 -{
 -      ContentList c = selected_content ();
 -      VideoContentList vc;
 -      
 -      for (ContentList::iterator i = c.begin(); i != c.end(); ++i) {
 -              shared_ptr<VideoContent> t = dynamic_pointer_cast<VideoContent> (*i);
 -              if (t) {
 -                      vc.push_back (t);
 -              }
 -      }
 -
 -      return vc;
 -}
 -
 -AudioContentList
 -FilmEditor::selected_audio_content ()
 -{
 -      ContentList c = selected_content ();
 -      AudioContentList ac;
 -      
 -      for (ContentList::iterator i = c.begin(); i != c.end(); ++i) {
 -              shared_ptr<AudioContent> t = dynamic_pointer_cast<AudioContent> (*i);
 -              if (t) {
 -                      ac.push_back (t);
 -              }
 -      }
 -
 -      return ac;
 -}
 -
 -SubtitleContentList
 -FilmEditor::selected_subtitle_content ()
 -{
 -      ContentList c = selected_content ();
 -      SubtitleContentList sc;
 -      
 -      for (ContentList::iterator i = c.begin(); i != c.end(); ++i) {
 -              shared_ptr<SubtitleContent> t = dynamic_pointer_cast<SubtitleContent> (*i);
 -              if (t) {
 -                      sc.push_back (t);
 -              }
 -      }
 -
 -      return sc;
 -}
 -
 -FFmpegContentList
 -FilmEditor::selected_ffmpeg_content ()
 -{
 -      ContentList c = selected_content ();
 -      FFmpegContentList sc;
 -      
 -      for (ContentList::iterator i = c.begin(); i != c.end(); ++i) {
 -              shared_ptr<FFmpegContent> t = dynamic_pointer_cast<FFmpegContent> (*i);
 -              if (t) {
 -                      sc.push_back (t);
 -              }
 -      }
 -
 -      return sc;
 -}
 -
 -void
 -FilmEditor::content_timeline_clicked ()
 -{
 -      if (_timeline_dialog) {
 -              _timeline_dialog->Destroy ();
 -              _timeline_dialog = 0;
 -      }
 -      
 -      _timeline_dialog = new TimelineDialog (this, _film);
 -      _timeline_dialog->Show ();
 -}
 -
 -void
 -FilmEditor::set_selection (weak_ptr<Content> wc)
 -{
 -      ContentList content = _film->content ();
 -      for (size_t i = 0; i < content.size(); ++i) {
 -              if (content[i] == wc.lock ()) {
 -                      _content->SetItemState (i, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
 -              } else {
 -                      _content->SetItemState (i, 0, wxLIST_STATE_SELECTED);
 -              }
 -      }
 -}
 -
 -void
 -FilmEditor::content_right_click (wxListEvent& ev)
 -{
 -      _menu.popup (_film, selected_content (), ev.GetPoint ());
 -}
 -
 -void
 -FilmEditor::three_d_changed ()
 -{
 -      if (!_film) {
 -              return;
 -      }
 -
 -      _film->set_three_d (_three_d->GetValue ());
 -}
 -
 -void
 -FilmEditor::content_earlier_clicked ()
 -{
 -      ContentList sel = selected_content ();
 -      if (sel.size() == 1) {
 -              _film->move_content_earlier (sel.front ());
 -              content_selection_changed ();
 -      }
 -}
 -
 -void
 -FilmEditor::content_later_clicked ()
 -{
 -      ContentList sel = selected_content ();
 -      if (sel.size() == 1) {
 -              _film->move_content_later (sel.front ());
 -              content_selection_changed ();
 -      }
 -}
 -
 -void
 -FilmEditor::config_changed ()
 -{
 -      _j2k_bandwidth->SetRange (1, Config::instance()->maximum_j2k_bandwidth() / 1000000);
 -      setup_frame_rate_widget ();
 -}
 -
 -void
 -FilmEditor::setup_frame_rate_widget ()
 -{
 -      if (Config::instance()->allow_any_dcp_frame_rate ()) {
 -              _frame_rate_choice->Hide ();
 -              _frame_rate_spin->Show ();
 -      } else {
 -              _frame_rate_choice->Show ();
 -              _frame_rate_spin->Hide ();
 -      }
 -
 -      _frame_rate_sizer->Layout ();
 -}
 -
 -void
 -FilmEditor::content_files_dropped (wxDropFilesEvent& event)
 -{
 -      if (!_film) {
 -              return;
 -      }
 -      
 -      wxString* paths = event.GetFiles ();
 -      for (int i = 0; i < event.GetNumberOfFiles(); i++) {
 -              _film->examine_and_add_content (content_factory (_film, wx_to_std (paths[i])));
 -      }
 -}
diff --combined src/wx/po/de_DE.po
index d7353e9144857dcf7a86933968607ae543bab77c,4b8b1fdf1c5fae7116946ac340386260495c6cb3..df095e8ce7e6d3496ff626d414d639f6aebbb22f
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: \n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2014-10-16 16:38+0100\n"
+ "POT-Creation-Date: 2014-10-23 22:03+0100\n"
  "PO-Revision-Date: 2014-07-13 03:08+0100\n"
  "Last-Translator: Carsten Kurz\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
  "X-Generator: Poedit 1.6.5\n"
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
  
 -#: src/wx/subtitle_panel.cc:48 src/wx/subtitle_panel.cc:57
 -#: src/wx/subtitle_panel.cc:66 src/wx/subtitle_panel.cc:75
 +#: src/wx/subtitle_panel.cc:56 src/wx/subtitle_panel.cc:65
 +#: src/wx/subtitle_panel.cc:74 src/wx/subtitle_panel.cc:83
  msgid "%"
  msgstr "%"
  
 -#: src/wx/about_dialog.cc:78
 +#: src/wx/about_dialog.cc:82
  msgid ""
  "(C) 2012-2014 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
  msgstr ""
  "(C) 2012-2014 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
  
 -#: src/wx/config_dialog.cc:664
 +#: src/wx/config_dialog.cc:1003
  msgid "(password will be stored on disk in plaintext)"
  msgstr "(Passwort wird im Klartext gespeichert!)"
  
 -#: src/wx/config_dialog.cc:104
 +#: src/wx/config_dialog.cc:111
  msgid "(restart DCP-o-matic to see language changes)"
  msgstr "(Programm zum Ã„ndern der Sprache neu starten)"
  
 -#: src/wx/audio_mapping_view.cc:134
 +#: src/wx/audio_mapping_view.cc:142
  msgid "-6dB"
  msgstr "-6dB"
  
  msgid "1 / "
  msgstr "1/"
  
- #: src/wx/video_panel.cc:193
+ #: src/wx/audio_panel.cc:273
+ msgid "1 channel"
+ msgstr "1 Kanal"
+ #: src/wx/video_panel.cc:197
  msgid "2D"
  msgstr "2D"
  
  msgid "2D version of content available in 3D"
  msgstr "2D Version eines Films, der auch in 3D verfügbar ist"
  
 -#: src/wx/film_editor.cc:224
 +#: src/wx/dcp_panel.cc:607
  msgid "2K"
  msgstr "2K"
  
 -#: src/wx/film_editor.cc:171
 +#: src/wx/dcp_panel.cc:555
  msgid "3D"
  msgstr "3D"
  
 -#: src/wx/video_panel.cc:200
 +#: src/wx/video_panel.cc:196
  msgid "3D alternate"
  msgstr "3D L/R sequentiell"
  
 -#: src/wx/video_panel.cc:201
 +#: src/wx/video_panel.cc:197
  msgid "3D left only"
  msgstr "3D nur links"
  
 -#: src/wx/video_panel.cc:198
 +#: src/wx/video_panel.cc:194
  msgid "3D left/right"
  msgstr "3D Links/Rechts"
  
 -#: src/wx/video_panel.cc:202
 +#: src/wx/video_panel.cc:198
  msgid "3D right only"
  msgstr "3D nur rechts"
  
 -#: src/wx/video_panel.cc:199
 +#: src/wx/video_panel.cc:195
  msgid "3D top/bottom"
  msgstr "3D Oben/Unten"
  
 -#: src/wx/film_editor.cc:225
 +#: src/wx/dcp_panel.cc:608
  msgid "4K"
  msgstr "4K"
  
@@@ -89,7 -93,7 +93,7 @@@
  msgid "A new version of DCP-o-matic is available."
  msgstr "Es ist eine neue Version von DCP-o-matic verfügbar."
  
 -#: src/wx/about_dialog.cc:30
 +#: src/wx/about_dialog.cc:34
  msgid "About DCP-o-matic"
  msgstr "Ãœber DCP-o-matic"
  
  msgid "Add Cinema..."
  msgstr "Kino hinzufügen..."
  
 +#: src/wx/content_menu.cc:57
 +#, fuzzy
 +msgid "Add KDM..."
 +msgstr "Kino hinzufügen..."
 +
  #: src/wx/kdm_dialog.cc:86
  msgid "Add Screen..."
  msgstr "Saal hinzufügen..."
  
- #: src/wx/content_panel.cc:67
+ #: src/wx/film_editor.cc:285
+ msgid ""
+ "Add a directory of image files which will be used as a moving image sequence."
+ msgstr ""
+ #: src/wx/film_editor.cc:280
  msgid "Add file(s)..."
  msgstr "Datei(en) hinzufügen..."
  
- #: src/wx/content_panel.cc:69
- msgid "Add folder..."
- msgstr "Ordner hinzufügen..."
+ #: src/wx/film_editor.cc:284
+ msgid ""
+ "Add image\n"
+ "sequence..."
+ msgstr ""
+ #: src/wx/film_editor.cc:281
+ msgid "Add video, image or sound files to the film."
+ msgstr ""
  
 -#: src/wx/editable_list.h:62
 +#: src/wx/config_dialog.cc:597 src/wx/editable_list.h:62
  msgid "Add..."
  msgstr "Hinzufügen..."
  
@@@ -134,15 -144,15 +149,15 @@@ msgid "
  "tab."
  msgstr ""
  
 -#: src/wx/config_dialog.cc:799
 +#: src/wx/config_dialog.cc:1141
  msgid "Allow any DCP frame rate"
  msgstr "Auch Nicht-Standard-Bildraten erlauben (Vorsicht!)"
  
 -#: src/wx/about_dialog.cc:111
 +#: src/wx/about_dialog.cc:115
  msgid "Artwork by"
  msgstr "Grafik von"
  
 -#: src/wx/audio_dialog.cc:33 src/wx/audio_panel.cc:40
 +#: src/wx/audio_dialog.cc:33 src/wx/audio_panel.cc:43 src/wx/dcp_panel.cc:86
  msgid "Audio"
  msgstr "Ton"
  
  msgid "Audio Language (e.g. EN)"
  msgstr "Ton Sprache (z.B. DE)"
  
 -#: src/wx/film_editor.cc:166
 -msgid "Audio channels"
 -msgstr "Ton Kanäle"
 -
 -#: src/wx/audio_mapping_view.cc:350
 +#: src/wx/audio_mapping_view.cc:358
  #, c-format
  msgid ""
  "Audio will be passed from content channel %d to DCP channel %d unaltered."
  msgstr ""
  "Der Ton von Kanal %d wird ohne Veränderung an den DCP Kanal %d weitergegeben."
  
 -#: src/wx/audio_mapping_view.cc:353
 +#: src/wx/audio_mapping_view.cc:361
  #, c-format
  msgid ""
  "Audio will be passed from content channel %d to DCP channel %d with gain "
@@@ -166,7 -180,16 +181,16 @@@ msgstr "
  "Der Ton von Kanal %d wird wird an den DCP Kanal %d mit %.1fdB Pegel "
  "weitergegeben."
  
- #: src/wx/config_dialog.cc:1022
+ #: src/wx/audio_panel.cc:248
+ #, c-format
+ msgid "Audio will be resampled from %.3fkHz to %.3fkHz."
+ msgstr ""
+ #: src/wx/audio_panel.cc:253
+ msgid "Audio will not be resampled."
+ msgstr ""
+ #: src/wx/config_dialog.cc:683
  msgid "BCC address"
  msgstr "BCC: Adresse"
  
@@@ -183,27 -206,23 +207,27 @@@ msgstr "Unten beschneiden
  msgid "Browse..."
  msgstr "Durchsuchen..."
  
 -#: src/wx/audio_mapping_view.cc:317
 +#: src/wx/audio_mapping_view.cc:325
  msgid "BsL"
  msgstr "BsL"
  
 -#: src/wx/audio_mapping_view.cc:321
 +#: src/wx/audio_mapping_view.cc:329
  msgid "BsR"
  msgstr "BsR"
  
 +#: src/wx/dcp_panel.cc:551
 +msgid "Burn subtitles into image"
 +msgstr ""
 +
  #: src/wx/gain_calculator_dialog.cc:32
  msgid "But I have to use fader"
  msgstr "Aber ich nutze gegenwärtig Faderstellung"
  
 -#: src/wx/audio_mapping_view.cc:285
 +#: src/wx/audio_mapping_view.cc:293
  msgid "C"
  msgstr "C"
  
 -#: src/wx/config_dialog.cc:679
 +#: src/wx/config_dialog.cc:1018
  msgid "CC address"
  msgstr "CC: Adresse"
  
@@@ -219,7 -238,7 +243,7 @@@ msgstr "CPL ID
  msgid "CPL annotation text"
  msgstr "CPL annotation text"
  
 -#: src/wx/audio_panel.cc:63
 +#: src/wx/audio_panel.cc:66
  msgid "Calculate..."
  msgstr "Berechne..."
  
@@@ -231,19 -250,11 +255,19 @@@ msgstr "Abbrechen
  msgid "Certificate"
  msgstr "Zertifikat"
  
 +#: src/wx/config_dialog.cc:564
 +msgid "Certificate chain for signing DCPs and KDMs:"
 +msgstr ""
 +
  #: src/wx/dolby_certificate_dialog.cc:191
  #: src/wx/doremi_certificate_dialog.cc:103
  msgid "Certificate downloaded"
  msgstr "Zertifikat heruntergeladen"
  
 +#: src/wx/config_dialog.cc:625
 +msgid "Certificate for decrypting DCPs"
 +msgstr ""
 +
  #: src/wx/isdcf_metadata_dialog.cc:65
  msgid "Chain"
  msgstr "Kinokette"
  msgid "Channel gain"
  msgstr "Kanal Verstärkung (+/-)"
  
 -#: src/wx/audio_dialog.cc:44
 +#: src/wx/audio_dialog.cc:44 src/wx/dcp_panel.cc:623
  msgid "Channels"
  msgstr "Kanäle"
  
 -#: src/wx/config_dialog.cc:120
 +#: src/wx/config_dialog.cc:126
  msgid "Check for testing updates as well as stable ones"
  msgstr "Zeige bei Updateprüfung auch Test-Versionen an"
  
 -#: src/wx/config_dialog.cc:116
 +#: src/wx/config_dialog.cc:122
  msgid "Check for updates on startup"
  msgstr "Beim Start auf Updates Ã¼berprüfen."
  
 -#: src/wx/content_menu.cc:182
 +#: src/wx/content_menu.cc:198
  msgid "Choose a file"
  msgstr "Datei auswählen"
  
- #: src/wx/content_panel.cc:241
+ #: src/wx/film_editor.cc:815
  msgid "Choose a file or files"
  msgstr "Eine oder mehrere Dateien auswählen"
  
- #: src/wx/content_menu.cc:191 src/wx/content_panel.cc:264
+ #: src/wx/content_menu.cc:175 src/wx/film_editor.cc:838
  msgid "Choose a folder"
  msgstr "Ordner wählen"
  
  msgid "Cinema"
  msgstr "Kino"
  
 -#: src/wx/config_dialog.cc:498
 +#: src/wx/config_dialog.cc:504
  msgid "Colour Conversions"
  msgstr "Farbumwandlungen"
  
  #: src/wx/content_colour_conversion_dialog.cc:34
 -#: src/wx/preset_colour_conversion_dialog.cc:30 src/wx/video_panel.cc:162
 +#: src/wx/preset_colour_conversion_dialog.cc:30 src/wx/video_panel.cc:167
  msgid "Colour conversion"
  msgstr "Farbumwandlung"
  
 -#: src/wx/config_dialog.cc:819
 +#: src/wx/config_dialog.cc:1161
  msgid "Config|Timing"
  msgstr "Timing"
  
 -#: src/wx/film_editor.cc:134
 +#: src/wx/dcp_panel.cc:532
  msgid "Container"
  msgstr "Container"
  
 -#: src/wx/audio_mapping_view.cc:270 src/wx/film_editor.cc:85
 +#: src/wx/audio_mapping_view.cc:278 src/wx/film_editor.cc:83
  msgid "Content"
  msgstr "Inhalt"
  
 -#: src/wx/film_editor.cc:139
 +#: src/wx/dcp_panel.cc:77
  msgid "Content Type"
  msgstr "Inhalt Typ"
  
 -#: src/wx/video_panel.cc:332
 +#: src/wx/video_panel.cc:353
  #, c-format
  msgid "Content frame rate %.4f\n"
  msgstr "Inhalt Bildrate %4f\n"
  msgid "Content version"
  msgstr "Inhalt Version"
  
 -#: src/wx/video_panel.cc:292
 +#: src/wx/video_panel.cc:313
  #, c-format
  msgid "Content video is %dx%d (%.2f:1)\n"
  msgstr "Inhalt Video ist %dx%d (%.2f:1)\n"
@@@ -327,26 -338,21 +351,26 @@@ msgstr "
  msgid "Could not analyse audio."
  msgstr "Ton konnte nicht analysiert werden"
  
 -#: src/wx/film_viewer.cc:346
 -#, c-format
 -msgid "Could not decode video for view (%s)"
 -msgstr "Bild konnte nicht zur Vorschau dekodiert werden (%s)"
 +#: src/wx/content_panel.cc:280
 +msgid "Could not find any images nor a DCP in that folder"
 +msgstr ""
  
  #: src/wx/job_wrapper.cc:39
  #, c-format
  msgid "Could not make DCP: %s"
  msgstr "DCP konnte nicht erstellt werden: %s"
  
 -#: src/wx/screen_dialog.cc:95
 +#: src/wx/config_dialog.cc:688 src/wx/config_dialog.cc:783
 +#: src/wx/config_dialog.cc:803 src/wx/screen_dialog.cc:95
  #, c-format
  msgid "Could not read certificate file (%s)"
  msgstr "Konnte die Zertifikatsdatei (%s) nicht lesen."
  
 +#: src/wx/config_dialog.cc:775 src/wx/config_dialog.cc:825
 +#, fuzzy, c-format
 +msgid "Could not read key file (%s)"
 +msgstr "Konnte die Zertifikatsdatei (%s) nicht lesen."
 +
  #: src/wx/dolby_certificate_dialog.cc:39
  msgid "Country"
  msgstr "Land"
  msgid "Create in folder"
  msgstr "In Ordner erstellen"
  
 -#: src/wx/video_panel.cc:304
 +#: src/wx/video_panel.cc:325
  #, c-format
  msgid "Cropped to %dx%d (%.2f:1)\n"
  msgstr "Beschnitten zu %dx%d(%.2f:1)\n"
  
 -#: src/wx/video_panel.cc:244
 +#: src/wx/video_panel.cc:243
  msgid "Custom"
  msgstr "Eigene"
  
 -#: src/wx/film_editor.cc:87
 +#: src/wx/film_editor.cc:85
  msgid "DCP"
  msgstr "DCP"
  
 -#: src/wx/film_editor.cc:129
 +#: src/wx/dcp_panel.cc:72
  msgid "DCP Name"
  msgstr "DCP Name"
  
  msgid "DCP directory"
  msgstr "DCP Verzeichnis"
  
 -#: src/wx/about_dialog.cc:45 src/wx/wx_util.cc:87 src/wx/wx_util.cc:95
 +#: src/wx/about_dialog.cc:49 src/wx/wx_util.cc:87 src/wx/wx_util.cc:95
  msgid "DCP-o-matic"
  msgstr "DCP-o-matic"
  
  msgid "DCP-o-matic audio - %s"
  msgstr "DCP-o-matic Ton - %s"
  
 -#: src/wx/config_dialog.cc:270
 +#: src/wx/config_dialog.cc:276
  msgid "Default ISDCF name details"
  msgstr "Standard ISDCF Name Details"
  
 -#: src/wx/config_dialog.cc:287
 +#: src/wx/config_dialog.cc:293
  msgid "Default JPEG2000 bandwidth"
  msgstr "Standard JPEG2000 Datenrate"
  
 -#: src/wx/config_dialog.cc:296
 +#: src/wx/config_dialog.cc:302
  msgid "Default audio delay"
  msgstr "Standard Ton Verzögerung (+/-)"
  
 -#: src/wx/config_dialog.cc:278
 +#: src/wx/config_dialog.cc:284
  msgid "Default container"
  msgstr "Standard Container"
  
 -#: src/wx/config_dialog.cc:282
 +#: src/wx/config_dialog.cc:288
  msgid "Default content type"
  msgstr "Standard Inhalt Typ"
  
 -#: src/wx/config_dialog.cc:262
 +#: src/wx/config_dialog.cc:268
  msgid "Default directory for new films"
  msgstr "Standard Ordner für neue Projekte"
  
 -#: src/wx/config_dialog.cc:254
 +#: src/wx/config_dialog.cc:260
  msgid "Default duration of still images"
  msgstr "Standard Länge für Standbilder"
  
 -#: src/wx/config_dialog.cc:304
 +#: src/wx/config_dialog.cc:310
  msgid "Default issuer"
  msgstr "Standard 'issuer' (DCI)"
  
 -#: src/wx/config_dialog.cc:274
 +#: src/wx/config_dialog.cc:280
  msgid "Default scale to"
  msgstr ""
  
 -#: src/wx/config_dialog.cc:235
 +#: src/wx/config_dialog.cc:241
  msgid "Defaults"
  msgstr "Vorgaben"
  
 -#: src/wx/audio_panel.cc:67
 +#: src/wx/audio_panel.cc:70
  msgid "Delay"
  msgstr "Verzögerung (+/-)"
  
 -#: src/wx/film_editor.cc:125 src/wx/job_manager_view.cc:79
 +#: src/wx/dcp_panel.cc:68 src/wx/job_manager_view.cc:79
  msgid "Details..."
  msgstr "Details..."
  
@@@ -451,7 -457,7 +475,7 @@@ msgstr "Doremi
  msgid "Doremi serial numbers must have 6 digits"
  msgstr "Doremi Seriennummern müssen aus 6 Zahlen bestehen!"
  
- #: src/wx/content_panel.cc:75
+ #: src/wx/film_editor.cc:296
  msgid "Down"
  msgstr "Nach unten"
  
@@@ -476,8 -482,8 +500,8 @@@ msgstr "Kino bearbeiten...
  msgid "Edit Screen..."
  msgstr "Saal bearbeiten..."
  
 -#: src/wx/audio_mapping_view.cc:135 src/wx/config_dialog.cc:271
 -#: src/wx/video_panel.cc:155 src/wx/video_panel.cc:172
 +#: src/wx/audio_mapping_view.cc:143 src/wx/config_dialog.cc:277
 +#: src/wx/video_panel.cc:163 src/wx/video_panel.cc:170
  #: src/wx/editable_list.h:66
  msgid "Edit..."
  msgstr "Bearbeiten..."
@@@ -490,34 -496,18 +514,34 @@@ msgstr "KDM Empfänger Email Adresse
  msgid "Encoding Servers"
  msgstr "Encoding Server"
  
 -#: src/wx/film_editor.cc:162
 +#: src/wx/dcp_panel.cc:92
  msgid "Encrypted"
  msgstr "Verschlüsselt (->für KDM Erstellung)"
  
 -#: src/wx/config_dialog.cc:817
 +#: src/wx/subtitle_view.cc:47
 +msgid "End"
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:1159
  msgid "Errors"
  msgstr "Fehler"
  
 +#: src/wx/config_dialog.cc:651
 +msgid "Export DCP decryption certificate..."
 +msgstr ""
 +
  #: src/wx/isdcf_metadata_dialog.cc:50
  msgid "Facility (e.g. DLA)"
  msgstr "Hersteller (z.B. DXL)"
  
 +#: src/wx/video_panel.cc:133
 +msgid "Fade in"
 +msgstr ""
 +
 +#: src/wx/video_panel.cc:138
 +msgid "Fade out"
 +msgstr ""
 +
  #: src/wx/dolby_certificate_dialog.cc:76
  #: src/wx/dolby_certificate_dialog.cc:100
  #: src/wx/dolby_certificate_dialog.cc:123
@@@ -532,15 -522,15 +556,15 @@@ msgstr "Projekt Eigenschaften
  msgid "Film name"
  msgstr "Projekt Name"
  
 -#: src/wx/filter_dialog.cc:32 src/wx/video_panel.cc:146
 +#: src/wx/filter_dialog.cc:32 src/wx/video_panel.cc:160
  msgid "Filters"
  msgstr "Filter"
  
 -#: src/wx/content_menu.cc:52
 +#: src/wx/content_menu.cc:55
  msgid "Find missing..."
  msgstr "Suche fehlende..."
  
 -#: src/wx/film_editor.cc:145
 +#: src/wx/dcp_panel.cc:538
  msgid "Frame Rate"
  msgstr "Bild Rate"
  
@@@ -552,7 -542,7 +576,7 @@@ msgstr "Bilder
  msgid "Frames already encoded"
  msgstr "Bilder bereits bearbeitet"
  
 -#: src/wx/about_dialog.cc:61
 +#: src/wx/about_dialog.cc:65
  msgid "Free, open-source DCP generation from almost anything."
  msgstr ""
  "Kostenlose Open-Source-Software zur DCP-Erstellung aus nahezu allen "
  msgid "From"
  msgstr "Von"
  
 -#: src/wx/config_dialog.cc:675
 +#: src/wx/config_dialog.cc:1014
  msgid "From address"
  msgstr "Absenderadresse"
  
 -#: src/wx/audio_mapping_view.cc:133
 +#: src/wx/audio_mapping_view.cc:141
  msgid "Full"
  msgstr "Voll"
  
  msgid "Full length"
  msgstr "Gesamtlänge"
  
 -#: src/wx/audio_panel.cc:52
 +#: src/wx/audio_panel.cc:55
  msgid "Gain"
  msgstr "Verstärkung (+/-)"
  
@@@ -587,15 -577,15 +611,15 @@@ msgstr "Fader Rechner
  msgid "Gain for content channel %d in DCP channel %d"
  msgstr "Abschwächung des Kanals %d im DCP Kanal %d"
  
 -#: src/wx/properties_dialog.cc:52
 +#: src/wx/properties_dialog.cc:51
  msgid "Gb"
  msgstr "Gb"
  
 -#: src/wx/config_dialog.cc:813
 +#: src/wx/config_dialog.cc:1155
  msgid "General"
  msgstr "Allgemein"
  
 -#: src/wx/audio_mapping_view.cc:301
 +#: src/wx/audio_mapping_view.cc:309
  msgid "HI"
  msgstr "HI"
  
@@@ -611,15 -601,19 +635,19 @@@ msgstr "Host
  msgid "Host name or IP address"
  msgstr "Host Name oder IP-Adresse"
  
+ #: src/wx/audio_panel.cc:277
+ msgid "Hz"
+ msgstr "Hz"
  #: src/wx/gain_calculator_dialog.cc:29
  msgid "I want to play this back at fader"
  msgstr "Ich möchte bei dieser Faderstellung spielen"
  
 -#: src/wx/config_dialog.cc:560
 +#: src/wx/config_dialog.cc:899
  msgid "IP address"
  msgstr "IP Adresse"
  
 -#: src/wx/config_dialog.cc:456
 +#: src/wx/config_dialog.cc:462
  msgid "IP address / host name"
  msgstr "IP Adresse / Host Name"
  
@@@ -631,27 -625,19 +659,27 @@@ msgstr "ISDCF Name
  msgid "Input gamma"
  msgstr "Eingangs Gamma"
  
 -#: src/wx/film_editor.cc:228
 +#: src/wx/config_dialog.cc:727
 +msgid "Intermediate"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:31
 +msgid "Intermediate common name"
 +msgstr ""
 +
 +#: src/wx/dcp_panel.cc:115
  msgid "Interop"
  msgstr "Interop"
  
 -#: src/wx/film_editor.cc:181
 +#: src/wx/dcp_panel.cc:565
  msgid "JPEG2000 bandwidth"
  msgstr "JPEG2000 Datenrate"
  
 -#: src/wx/content_menu.cc:51
 +#: src/wx/content_menu.cc:54
  msgid "Join"
  msgstr "Verbinden"
  
 -#: src/wx/config_dialog.cc:627
 +#: src/wx/config_dialog.cc:966
  msgid "KDM Email"
  msgstr "KDM Email"
  
@@@ -663,35 -649,23 +691,35 @@@ msgstr "
  msgid "KDM|Timing"
  msgstr "Zeitfenster"
  
- #: src/wx/content_panel.cc:85
+ #: src/wx/timeline_dialog.cc:41
  msgid "Keep video in sequence"
  msgstr "Lücken in Zeitleiste automatisch schließen"
  
 -#: src/wx/audio_mapping_view.cc:277
 +#: src/wx/config_dialog.cc:548
 +msgid "Keys"
 +msgstr ""
 +
 +#: src/wx/audio_mapping_view.cc:285
  msgid "L"
  msgstr "L"
  
 -#: src/wx/audio_mapping_view.cc:309
 +#: src/wx/audio_mapping_view.cc:317
  msgid "Lc"
  msgstr "Lc"
  
 -#: src/wx/video_panel.cc:88
 +#: src/wx/config_dialog.cc:725
 +msgid "Leaf"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:33
 +msgid "Leaf common name"
 +msgstr ""
 +
 +#: src/wx/video_panel.cc:89
  msgid "Left crop"
  msgstr "Links beschneiden"
  
 -#: src/wx/audio_mapping_view.cc:289
 +#: src/wx/audio_mapping_view.cc:297
  msgid "Lfe"
  msgstr "LFE"
  
@@@ -703,33 -677,27 +731,33 @@@ msgstr "Linearisiere Eingangs Gamma fü
  msgid "Load from file..."
  msgstr "Lade aus Datei..."
  
 -#: src/wx/config_dialog.cc:807
 +#: src/wx/config_dialog.cc:620 src/wx/config_dialog.cc:633
 +#: src/wx/config_dialog.cc:646
 +#, fuzzy
 +msgid "Load..."
 +msgstr "Hinzufügen..."
 +
 +#: src/wx/config_dialog.cc:1149
  msgid "Log"
  msgstr "Log"
  
 -#: src/wx/config_dialog.cc:804
 +#: src/wx/config_dialog.cc:1146
  msgid "Log:"
  msgstr ""
  
 -#: src/wx/audio_mapping_view.cc:293
 +#: src/wx/audio_mapping_view.cc:301
  msgid "Ls"
  msgstr "SL"
  
- #: src/wx/content_panel.cc:438
+ #: src/wx/film_editor.cc:789
  msgid "MISSING: "
  msgstr "FEHLT:"
  
 -#: src/wx/config_dialog.cc:660
 +#: src/wx/config_dialog.cc:999
  msgid "Mail password"
  msgstr "Mail Passwort"
  
 -#: src/wx/config_dialog.cc:656
 +#: src/wx/config_dialog.cc:995
  msgid "Mail user name"
  msgstr "Mail/SMTP Server Benutzername/Login"
  
  msgid "Make KDMs"
  msgstr "KDMs erstellen"
  
 +#: src/wx/make_signer_chain_dialog.cc:23
 +#, fuzzy
 +msgid "Make certificate chain"
 +msgstr "Zertifikat Datei auswählen"
 +
  #: src/wx/isdcf_metadata_dialog.cc:71
  msgid "Mastered luminance (e.g. 4fl)"
  msgstr "Zielhelligkeit (z.B. '4fL' für 3D)"
  msgid "Matrix"
  msgstr "Matrix"
  
 -#: src/wx/config_dialog.cc:791
 +#: src/wx/config_dialog.cc:1133
  msgid "Maximum JPEG2000 bandwidth"
  msgstr "Maximale JPEG2000 Datenrate (Vorsicht!)"
  
 -#: src/wx/config_dialog.cc:291 src/wx/config_dialog.cc:795
 -#: src/wx/film_editor.cc:185
 +#: src/wx/config_dialog.cc:297 src/wx/config_dialog.cc:1137
 +#: src/wx/dcp_panel.cc:569
  msgid "Mbit/s"
  msgstr "Mbit/s"
  
- #: src/wx/video_panel.cc:301
+ #: src/wx/film_editor.cc:293
+ msgid "Move the selected piece of content earlier in the film."
+ msgstr ""
+ #: src/wx/film_editor.cc:297
+ msgid "Move the selected piece of content later in the film."
+ msgstr ""
+ #: src/wx/video_panel.cc:280
  msgid "Multiple content selected"
  msgstr "Mehrere Inhalte ausgewählt"
  
  msgid "My Documents"
  msgstr "Meine Dokumente"
  
 -#: src/wx/cinema_dialog.cc:28 src/wx/config_dialog.cc:512
 -#: src/wx/film_editor.cc:113 src/wx/preset_colour_conversion_dialog.cc:38
 +#: src/wx/content_panel.cc:442
 +msgid "NEEDS KDM: "
 +msgstr ""
 +
 +#: src/wx/cinema_dialog.cc:28 src/wx/config_dialog.cc:518
 +#: src/wx/dcp_panel.cc:56 src/wx/preset_colour_conversion_dialog.cc:38
  #: src/wx/screen_dialog.cc:38
  msgid "Name"
  msgstr "Name"
@@@ -785,45 -752,31 +821,49 @@@ msgstr "Neues Projekt
  msgid "New versions of DCP-o-matic are available."
  msgstr "Eine neue Version von DCP-o-matic ist verfügbar."
  
 -#: src/wx/audio_mapping_view.cc:348
 +#: src/wx/audio_mapping_view.cc:356
  #, c-format
  msgid "No audio will be passed from content channel %d to DCP channel %d."
  msgstr "Der Ton von Kanal %d wird nicht an das DCP Kanal %d weitergegeben."
  
 -#: src/wx/video_panel.cc:153 src/wx/video_panel.cc:249
 +#: src/wx/audio_panel.cc:290 src/wx/video_panel.cc:161
 +#: src/wx/video_panel.cc:248
  msgid "None"
  msgstr "Kein"
  
 -#: src/wx/audio_mapping_view.cc:132
 +#: src/wx/audio_mapping_view.cc:140
  msgid "Off"
  msgstr "Aus"
  
 +#: src/wx/config_dialog.cc:1167
 +msgid "Open console window"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:25
 +msgid "Organisation"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:27
 +msgid "Organisational unit"
 +msgstr ""
 +
+ #: src/wx/film_editor.cc:301
+ msgid "Open the timeline for the film."
+ msgstr ""
  #: src/wx/screen_dialog.cc:65
  msgid "Other"
  msgstr "Andere"
  
 -#: src/wx/config_dialog.cc:652
 +#: src/wx/config_dialog.cc:991
  msgid "Outgoing mail server"
  msgstr "Ausgehender/SMTP Mail Server"
  
 +#: src/wx/film_viewer.cc:61
 +#, fuzzy
 +msgid "Outline content"
 +msgstr "Mehrere Inhalte ausgewählt"
 +
  #: src/wx/kdm_dialog.cc:156
  msgid "Output"
  msgstr "Ausgabe"
@@@ -836,12 -789,12 +876,12 @@@ msgstr "Ziel Gamma
  msgid "Package Type (e.g. OV)"
  msgstr "DCP Paket Typ (z.B. OV)"
  
 -#: src/wx/video_panel.cc:325
 +#: src/wx/video_panel.cc:346
  #, c-format
  msgid "Padded with black to %dx%d (%.2f:1)\n"
  msgstr "Mit Schwarz gefüllt auf %dx%d (%.2f:1)\n"
  
 -#: src/wx/config_dialog.cc:572
 +#: src/wx/config_dialog.cc:911
  msgid "Password"
  msgstr "Passwort"
  
@@@ -853,7 -806,7 +893,7 @@@ msgstr "Pause
  msgid "Peak"
  msgstr "Spitze"
  
 -#: src/wx/film_viewer.cc:64
 +#: src/wx/film_viewer.cc:67
  msgid "Play"
  msgstr "Abspielen"
  
@@@ -873,19 -826,7 +913,19 @@@ msgstr "Startposition
  msgid "Pre-release"
  msgstr "Vorabversion"
  
 -#: src/wx/audio_mapping_view.cc:281
 +#: src/wx/config_dialog.cc:638
 +msgid "Private key for decrypting DCPs"
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:612
 +msgid "Private key for leaf certificate"
 +msgstr ""
 +
 +#: src/wx/audio_panel.cc:89
 +msgid "Process with"
 +msgstr ""
 +
 +#: src/wx/audio_mapping_view.cc:289
  msgid "R"
  msgstr "R"
  
@@@ -897,25 -838,16 +937,25 @@@ msgstr "RMS
  msgid "Rating (e.g. 15)"
  msgstr "Freigabe (z.B. FSK12)"
  
 -#: src/wx/audio_mapping_view.cc:313
 +#: src/wx/audio_mapping_view.cc:321
  msgid "Rc"
  msgstr "Rc"
  
 +#: src/wx/content_menu.cc:56
 +msgid "Re-examine..."
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:608
 +#, fuzzy
 +msgid "Re-make certificates..."
 +msgstr "Lade Zertifikat"
 +
  #: src/wx/isdcf_metadata_dialog.cc:62
  msgid "Red band"
  msgstr "Red band (USA, für explizite Inhalte)"
  
- #: src/wx/config_dialog.cc:599 src/wx/content_menu.cc:59
- #: src/wx/content_panel.cc:71 src/wx/editable_list.h:68
+ #: src/wx/content_menu.cc:54 src/wx/film_editor.cc:288
+ #: src/wx/editable_list.h:68
  msgid "Remove"
  msgstr "Entfernen"
  
@@@ -927,6 -859,10 +967,10 @@@ msgstr "Kino entfernen
  msgid "Remove Screen"
  msgstr "Saal entfernen"
  
+ #: src/wx/film_editor.cc:289
+ msgid "Remove the selected piece of content from the film."
+ msgstr ""
  #: src/wx/repeat_dialog.cc:26
  msgid "Repeat"
  msgstr "Wiederholen"
  msgid "Repeat Content"
  msgstr "Inhalt wiederholen"
  
 -#: src/wx/content_menu.cc:50
 +#: src/wx/content_menu.cc:53
  msgid "Repeat..."
  msgstr "Wiederhole..."
  
 -#: src/wx/config_dialog.cc:690
 +#: src/wx/config_dialog.cc:1029
  msgid "Reset to default text"
  msgstr "Auf Standardtext zurücksetzen"
  
 -#: src/wx/film_editor.cc:175
 +#: src/wx/dcp_panel.cc:559
  msgid "Resolution"
  msgstr "Auflösung"
  
  msgid "Resume"
  msgstr "Weiter"
  
 -#: src/wx/audio_mapping_view.cc:356
 +#: src/wx/audio_mapping_view.cc:364
  msgid "Right click to change gain."
  msgstr "Rechtsklick für Pegeländerung"
  
  msgid "Right crop"
  msgstr "Rechts beschneiden"
  
 -#: src/wx/audio_mapping_view.cc:297
 +#: src/wx/config_dialog.cc:723
 +msgid "Root"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:29
 +msgid "Root common name"
 +msgstr ""
 +
 +#: src/wx/audio_mapping_view.cc:305
  msgid "Rs"
  msgstr "SR"
  
 -#: src/wx/film_editor.cc:227
 +#: src/wx/dcp_panel.cc:114
  msgid "SMPTE"
  msgstr "SMPTE"
  
 -#: src/wx/video_panel.cc:132
 +#: src/wx/video_panel.cc:143
  msgid "Scale to"
  msgstr "Skaliere auf"
  
 -#: src/wx/video_panel.cc:316
 +#: src/wx/video_panel.cc:337
  #, c-format
  msgid "Scaled to %dx%d (%.2f:1)\n"
  msgstr "Skaliert auf %dx%d (%.2f:1)\n"
  
 -#: src/wx/film_editor.cc:195
 +#: src/wx/dcp_panel.cc:574
  msgid "Scaler"
  msgstr "Skalierverfahren"
  
@@@ -996,20 -924,10 +1040,20 @@@ msgstr "Saal
  msgid "Select CPL XML file"
  msgstr "CPL XML Datei auswählen"
  
 -#: src/wx/screen_dialog.cc:102
 +#: src/wx/config_dialog.cc:679 src/wx/config_dialog.cc:795
 +#: src/wx/config_dialog.cc:840 src/wx/screen_dialog.cc:102
  msgid "Select Certificate File"
  msgstr "Zertifikat Datei auswählen"
  
 +#: src/wx/content_menu.cc:266
 +msgid "Select KDM"
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:769 src/wx/config_dialog.cc:817
 +#, fuzzy
 +msgid "Select Key File"
 +msgstr "Zertifikat Datei auswählen"
 +
  #: src/wx/kdm_dialog.cc:185
  msgid "Send by email"
  msgstr "Per Email senden"
@@@ -1030,7 -948,7 +1074,7 @@@ msgstr "Server Hersteller
  msgid "Server serial number"
  msgstr "Server Seriennummer"
  
 -#: src/wx/config_dialog.cc:438
 +#: src/wx/config_dialog.cc:444
  msgid "Servers"
  msgstr "Encoding Server"
  
  msgid "Set"
  msgstr "Setzen"
  
 -#: src/wx/config_dialog.cc:92
 +#: src/wx/config_dialog.cc:99
  msgid "Set language"
  msgstr "Sprache setzen"
  
 -#: src/wx/audio_panel.cc:48
 +#: src/wx/audio_panel.cc:51
  msgid "Show Audio..."
  msgstr "Ton anzeigen..."
  
 -#: src/wx/film_editor.cc:158
 +#: src/wx/dcp_panel.cc:88
  msgid "Signed"
  msgstr "Signiert"
  
@@@ -1062,15 -980,11 +1106,15 @@@ msgstr "Auf Objekte einrasten
  msgid "Stable version "
  msgstr "Stabile Version"
  
 -#: src/wx/film_editor.cc:190
 +#: src/wx/dcp_panel.cc:96
  msgid "Standard"
  msgstr "Standard"
  
 -#: src/wx/audio_panel.cc:81 src/wx/subtitle_panel.cc:79
 +#: src/wx/subtitle_view.cc:39
 +msgid "Start"
 +msgstr ""
 +
 +#: src/wx/audio_panel.cc:84 src/wx/subtitle_panel.cc:87
  msgid "Stream"
  msgstr "Spur"
  
  msgid "Studio (e.g. TCF)"
  msgstr "Studio (z.B. TCF)"
  
 -#: src/wx/config_dialog.cc:671
 +#: src/wx/config_dialog.cc:1010
  msgid "Subject"
  msgstr ""
  
 +#: src/wx/subtitle_view.cc:55
 +#, fuzzy
 +msgid "Subtitle"
 +msgstr "Untertitel"
 +
  #: src/wx/isdcf_metadata_dialog.cc:38
  msgid "Subtitle Language (e.g. FR)"
  msgstr "Untertitel Sprache (z.B. EN)"
  
 -#: src/wx/subtitle_panel.cc:34
 +#: src/wx/subtitle_panel.cc:41 src/wx/subtitle_view.cc:32
  msgid "Subtitles"
  msgstr "Untertitel"
  
- #: src/wx/about_dialog.cc:168
+ #: src/wx/about_dialog.cc:166
  msgid "Supported by"
  msgstr "Unterstützt durch"
  
 -#: src/wx/config_dialog.cc:542
 +#: src/wx/config_dialog.cc:881
  msgid "TMS"
  msgstr "TMS"
  
 -#: src/wx/config_dialog.cc:564
 +#: src/wx/config_dialog.cc:903
  msgid "Target path"
  msgstr "Zielpfad"
  
@@@ -1119,11 -1028,11 +1163,11 @@@ msgstr "Gebiet (z.B. UK)
  msgid "Test version "
  msgstr "Test Version"
  
- #: src/wx/about_dialog.cc:210
+ #: src/wx/about_dialog.cc:211
  msgid "Tested by"
  msgstr "Getestet von"
  
 -#: src/wx/content_menu.cc:223
 +#: src/wx/content_menu.cc:252
  msgid ""
  "The content file(s) you specified are not the same as those that are "
  "missing.  Either try again with the correct content file or remove the "
@@@ -1137,7 -1046,7 +1181,7 @@@ msgstr "
  msgid "There are no hints: everything looks good!"
  msgstr "Keine Warnungen: Alles sieht gut aus!"
  
 -#: src/wx/film_viewer.cc:134
 +#: src/wx/film_viewer.cc:142
  msgid "There is not enough free memory to do that."
  msgstr "Für diese Operation ist nicht genug freier Speicher verfügbar."
  
@@@ -1149,23 -1058,19 +1193,23 @@@ msgstr "Dies ist keine gültige CPL Dat
  msgid "Threads"
  msgstr "Threads"
  
 -#: src/wx/config_dialog.cc:111
 +#: src/wx/config_dialog.cc:118
  msgid "Threads to use for encoding on this host"
  msgstr "Auf diesem Rechner zu benutzende CPU-Threads"
  
 +#: src/wx/config_dialog.cc:583
 +msgid "Thumbprint"
 +msgstr ""
 +
  #: src/wx/audio_plot.cc:165
  msgid "Time"
  msgstr "Zeit"
  
 -#: src/wx/timeline_dialog.cc:32
 +#: src/wx/timeline_dialog.cc:33
  msgid "Timeline"
  msgstr "Zeitleiste"
  
- #: src/wx/content_panel.cc:77
+ #: src/wx/film_editor.cc:300
  msgid "Timeline..."
  msgstr "Zeitleiste..."
  
  msgid "Timing|Timing"
  msgstr "Trimmen"
  
 -#: src/wx/video_panel.cc:110
 +#: src/wx/video_panel.cc:111
  msgid "Top crop"
  msgstr "Oben beschneiden"
  
 -#: src/wx/about_dialog.cc:107
 +#: src/wx/about_dialog.cc:111
  msgid "Translated by"
  msgstr "Ãœbersetzt von"
  
@@@ -1189,8 -1094,7 +1233,8 @@@ msgstr "Schnitt vom Ende
  msgid "Trim from start"
  msgstr "Schnitt vom Anfang"
  
 -#: src/wx/audio_dialog.cc:55 src/wx/video_panel.cc:75
 +#: src/wx/audio_dialog.cc:55 src/wx/config_dialog.cc:575
 +#: src/wx/video_panel.cc:76
  msgid "Type"
  msgstr "Typ"
  
@@@ -1206,7 -1110,7 +1250,7 @@@ msgstr "Unbekannt
  msgid "Until"
  msgstr "Bis"
  
- #: src/wx/content_panel.cc:73
+ #: src/wx/film_editor.cc:292
  msgid "Up"
  msgstr "Nach oben"
  
  msgid "Update"
  msgstr "Update"
  
 -#: src/wx/film_editor.cc:123
 +#: src/wx/dcp_panel.cc:66
  msgid "Use ISDCF name"
  msgstr "ISDCF Name benutzen"
  
 -#: src/wx/config_dialog.cc:452
 +#: src/wx/config_dialog.cc:458
  msgid "Use all servers"
  msgstr "Alle verfügbaren Server im Subnetz benutzen"
  
 -#: src/wx/film_editor.cc:152
 +#: src/wx/dcp_panel.cc:545
  msgid "Use best"
  msgstr "Beste benutzen"
  
  msgid "Use preset"
  msgstr "Preset benutzen"
  
 -#: src/wx/config_dialog.cc:568
 +#: src/wx/subtitle_panel.cc:47
 +#, fuzzy
 +msgid "Use subtitles"
 +msgstr "Untertitel"
 +
 +#: src/wx/config_dialog.cc:907
  msgid "User name"
  msgstr "Benutzer Name"
  
 -#: src/wx/audio_mapping_view.cc:305
 +#: src/wx/audio_mapping_view.cc:313
  msgid "VI"
  msgstr "VI"
  
 -#: src/wx/video_panel.cc:68
 +#: src/wx/dcp_panel.cc:85 src/wx/video_panel.cc:69
  msgid "Video"
  msgstr "Bild"
  
  msgid "Video frame rate"
  msgstr "Bildwiederholrate"
  
 -#: src/wx/config_dialog.cc:815
 +#: src/wx/subtitle_panel.cc:91
 +msgid "View..."
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:1157
  msgid "Warnings"
  msgstr "Warnungen"
  
 -#: src/wx/subtitle_panel.cc:39
 -msgid "With Subtitles"
 -msgstr "Mit Untertitelung"
 -
  #: src/wx/kdm_dialog.cc:172
  msgid "Write to"
  msgstr "Speichern nach"
  
 -#: src/wx/about_dialog.cc:91
 +#: src/wx/about_dialog.cc:95
  msgid "Written by"
  msgstr "Geschrieben von"
  
 -#: src/wx/subtitle_panel.cc:44
 +#: src/wx/subtitle_panel.cc:52
  msgid "X Offset"
  msgstr "Horizontale Verschiebung"
  
 -#: src/wx/subtitle_panel.cc:62
 +#: src/wx/subtitle_panel.cc:70
  #, fuzzy
  msgid "X Scale"
  msgstr "Größe"
  
 -#: src/wx/subtitle_panel.cc:53
 +#: src/wx/subtitle_panel.cc:61
  msgid "Y Offset"
  msgstr "Vertikale Verschiebung"
  
 -#: src/wx/subtitle_panel.cc:71
 +#: src/wx/subtitle_panel.cc:79
  #, fuzzy
  msgid "Y Scale"
  msgstr "Größe"
@@@ -1320,62 -1219,46 +1364,48 @@@ msgstr "
  "Ihr DCP hat weniger als 6 Audiokanäle. Das kann auf manchen Projektoren zu "
  "Problemen führen."
  
 -#: src/wx/timeline.cc:220
 +#: src/wx/timeline.cc:229
  msgid "audio"
  msgstr "Ton"
  
+ #: src/wx/audio_panel.cc:275
+ msgid "channels"
+ msgstr "Kanäle"
  #: src/wx/properties_dialog.cc:46
  msgid "counting..."
  msgstr "zähle..."
  
 -#: src/wx/audio_gain_dialog.cc:30 src/wx/audio_panel.cc:62
 +#: src/wx/audio_gain_dialog.cc:30 src/wx/audio_panel.cc:65
  msgid "dB"
  msgstr "dB"
  
  #. / TRANSLATORS: this is an abbreviation for milliseconds, the unit of time
 -#: src/wx/audio_panel.cc:78 src/wx/config_dialog.cc:300
 +#: src/wx/audio_panel.cc:81 src/wx/config_dialog.cc:306
  msgid "ms"
  msgstr "ms"
  
 -#: src/wx/config_dialog.cc:258
 +#: src/wx/config_dialog.cc:264
  msgid "s"
  msgstr "s"
  
 -#: src/wx/timeline.cc:243
 +#: src/wx/timeline.cc:258
  msgid "still"
  msgstr "Standbild"
  
 +#: src/wx/timeline.cc:289
 +#, fuzzy
 +msgid "subtitles"
 +msgstr "Untertitel"
 +
  #: src/wx/repeat_dialog.cc:28
  msgid "times"
  msgstr "mal"
  
 -#: src/wx/timeline.cc:241
 +#: src/wx/timeline.cc:260
  msgid "video"
  msgstr "Bild"
  
- #~ msgid "1 channel"
- #~ msgstr "1 Kanal"
- #~ msgid "Audio channels"
- #~ msgstr "Ton Kanäle"
- #~ msgid "Could not decode video for view (%s)"
- #~ msgstr "Bild konnte nicht zur Vorschau dekodiert werden (%s)"
- #~ msgid "Hz"
- #~ msgstr "Hz"
- #~ msgid "With Subtitles"
- #~ msgstr "Mit Untertitelung"
- #~ msgid "channels"
- #~ msgstr "Kanäle"
 -#~ msgid "Add folder..."
 -#~ msgstr "Ordner hinzufügen..."
--
  #~ msgid "Default creator"
  #~ msgstr "Standard 'creator' (DCI)"
  
diff --combined src/wx/po/es_ES.po
index 0191fc503fc9a800403257eb0b16c79bfebfe695,6aea49f52c2d6565a8909d694fb295fb9d70af15..415d539a191b4f6ec78f53860a75f3b61de8554a
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: libdcpomatic-wx\n"
  "Report-Msgid-Bugs-To: \n"
 -"POT-Creation-Date: 2014-10-23 22:03+0100\n"
 +"POT-Creation-Date: 2014-10-15 09:37+0100\n"
  "PO-Revision-Date: 2014-04-20 12:06-0500\n"
  "Last-Translator: Manuel AC <manuel.acevedo@civantos.>\n"
  "Language-Team: Manuel AC <manuel.acevedo@civantos.com>\n"
  "Content-Transfer-Encoding: 8bit\n"
  "X-Generator: Poedit 1.6.4\n"
  
 -#: src/wx/subtitle_panel.cc:48 src/wx/subtitle_panel.cc:57
 -#: src/wx/subtitle_panel.cc:66 src/wx/subtitle_panel.cc:75
 +#: src/wx/subtitle_panel.cc:56 src/wx/subtitle_panel.cc:65
 +#: src/wx/subtitle_panel.cc:74 src/wx/subtitle_panel.cc:83
  msgid "%"
  msgstr "%"
  
 -#: src/wx/about_dialog.cc:78
 +#: src/wx/about_dialog.cc:82
  msgid ""
  "(C) 2012-2014 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
  msgstr ""
  "(C) 2012-2014 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
  
 -#: src/wx/config_dialog.cc:664
 +#: src/wx/config_dialog.cc:1003
  msgid "(password will be stored on disk in plaintext)"
  msgstr "(claves guardadas como texto plano en el disco)"
  
 -#: src/wx/config_dialog.cc:104
 +#: src/wx/config_dialog.cc:111
  msgid "(restart DCP-o-matic to see language changes)"
  msgstr "(reinicia DCP-o-matic para ver el cambio de idioma)"
  
 -#: src/wx/audio_mapping_view.cc:134
 +#: src/wx/audio_mapping_view.cc:142
  msgid "-6dB"
  msgstr ""
  
  msgid "1 / "
  msgstr "1 / "
  
- #: src/wx/video_panel.cc:193
+ #: src/wx/audio_panel.cc:273
+ msgid "1 channel"
+ msgstr "1 canal"
+ #: src/wx/video_panel.cc:197
  msgid "2D"
  msgstr "2D"
  
  msgid "2D version of content available in 3D"
  msgstr "Nuevas versiones disponibles de DCP-o-matic."
  
 -#: src/wx/film_editor.cc:224
 +#: src/wx/dcp_panel.cc:607
  msgid "2K"
  msgstr "2K"
  
 -#: src/wx/film_editor.cc:171
 +#: src/wx/dcp_panel.cc:555
  msgid "3D"
  msgstr "3D"
  
 -#: src/wx/video_panel.cc:200
 +#: src/wx/video_panel.cc:196
  msgid "3D alternate"
  msgstr "3D alterno"
  
 -#: src/wx/video_panel.cc:201
 +#: src/wx/video_panel.cc:197
  msgid "3D left only"
  msgstr ""
  
 -#: src/wx/video_panel.cc:198
 +#: src/wx/video_panel.cc:194
  msgid "3D left/right"
  msgstr "3D izquierda/derecha"
  
 -#: src/wx/video_panel.cc:202
 +#: src/wx/video_panel.cc:198
  #, fuzzy
  msgid "3D right only"
  msgstr "3D izquierda/derecha"
  
 -#: src/wx/video_panel.cc:199
 +#: src/wx/video_panel.cc:195
  msgid "3D top/bottom"
  msgstr "3D arriba/abajo"
  
 -#: src/wx/film_editor.cc:225
 +#: src/wx/dcp_panel.cc:608
  msgid "4K"
  msgstr "4K"
  
@@@ -90,7 -94,7 +94,7 @@@
  msgid "A new version of DCP-o-matic is available."
  msgstr "Una nueva versión de DCP-o-matic está disponible."
  
 -#: src/wx/about_dialog.cc:30
 +#: src/wx/about_dialog.cc:34
  msgid "About DCP-o-matic"
  msgstr "Acerca de DCP-o-matic"
  
  msgid "Add Cinema..."
  msgstr "Añadir cine..."
  
 +#: src/wx/content_menu.cc:57
 +#, fuzzy
 +msgid "Add KDM..."
 +msgstr "Añadir cine..."
 +
  #: src/wx/kdm_dialog.cc:86
  msgid "Add Screen..."
  msgstr "Añadir pantalla..."
  
- #: src/wx/content_panel.cc:67
+ #: src/wx/film_editor.cc:285
+ msgid ""
+ "Add a directory of image files which will be used as a moving image sequence."
+ msgstr ""
+ #: src/wx/film_editor.cc:280
  msgid "Add file(s)..."
  msgstr "Añadir fichero(s)..."
  
- #: src/wx/content_panel.cc:69
- msgid "Add folder..."
- msgstr "Añadir carpeta..."
+ #: src/wx/film_editor.cc:284
+ msgid ""
+ "Add image\n"
+ "sequence..."
+ msgstr ""
+ #: src/wx/film_editor.cc:281
+ msgid "Add video, image or sound files to the film."
+ msgstr ""
  
 -#: src/wx/editable_list.h:62
 +#: src/wx/config_dialog.cc:597 src/wx/editable_list.h:62
  msgid "Add..."
  msgstr "Añadir..."
  
@@@ -135,16 -145,16 +150,16 @@@ msgid "
  "tab."
  msgstr ""
  
 -#: src/wx/config_dialog.cc:799
 +#: src/wx/config_dialog.cc:1141
  #, fuzzy
  msgid "Allow any DCP frame rate"
  msgstr "Velocidad de imagen"
  
 -#: src/wx/about_dialog.cc:111
 +#: src/wx/about_dialog.cc:115
  msgid "Artwork by"
  msgstr "Grafismo de"
  
 -#: src/wx/audio_dialog.cc:33 src/wx/audio_panel.cc:40
 +#: src/wx/audio_dialog.cc:33 src/wx/audio_panel.cc:43 src/wx/dcp_panel.cc:86
  msgid "Audio"
  msgstr "Audio"
  
  msgid "Audio Language (e.g. EN)"
  msgstr "Idioma del audio (ej. ES)"
  
 -#: src/wx/film_editor.cc:166
 -msgid "Audio channels"
 -msgstr "Canales de audio"
 -
 -#: src/wx/audio_mapping_view.cc:350
 +#: src/wx/audio_mapping_view.cc:358
  #, c-format
  msgid ""
  "Audio will be passed from content channel %d to DCP channel %d unaltered."
  msgstr "El audio del canal %d pasará al canal %d del DCP sin modificar."
  
 -#: src/wx/audio_mapping_view.cc:353
 +#: src/wx/audio_mapping_view.cc:361
  #, c-format
  msgid ""
  "Audio will be passed from content channel %d to DCP channel %d with gain "
  "%.1fdB."
  msgstr "El audio del canal %d pasará al canal %d del DCP con ganancia %.1fdB."
  
- #: src/wx/config_dialog.cc:1022
+ #: src/wx/audio_panel.cc:248
+ #, c-format
+ msgid "Audio will be resampled from %.3fkHz to %.3fkHz."
+ msgstr ""
+ #: src/wx/audio_panel.cc:253
+ msgid "Audio will not be resampled."
+ msgstr ""
+ #: src/wx/config_dialog.cc:683
  #, fuzzy
  msgid "BCC address"
  msgstr "Dirección IP"
@@@ -183,27 -206,23 +207,27 @@@ msgstr "Recortar abajo
  msgid "Browse..."
  msgstr "Explorar..."
  
 -#: src/wx/audio_mapping_view.cc:317
 +#: src/wx/audio_mapping_view.cc:325
  msgid "BsL"
  msgstr "BsL"
  
 -#: src/wx/audio_mapping_view.cc:321
 +#: src/wx/audio_mapping_view.cc:329
  msgid "BsR"
  msgstr "BsR"
  
 +#: src/wx/dcp_panel.cc:551
 +msgid "Burn subtitles into image"
 +msgstr ""
 +
  #: src/wx/gain_calculator_dialog.cc:32
  msgid "But I have to use fader"
  msgstr "pero tengo que usar el fader a"
  
 -#: src/wx/audio_mapping_view.cc:285
 +#: src/wx/audio_mapping_view.cc:293
  msgid "C"
  msgstr "C"
  
 -#: src/wx/config_dialog.cc:679
 +#: src/wx/config_dialog.cc:1018
  #, fuzzy
  msgid "CC address"
  msgstr "Dirección IP"
@@@ -221,7 -240,7 +245,7 @@@ msgstr "
  msgid "CPL annotation text"
  msgstr ""
  
 -#: src/wx/audio_panel.cc:63
 +#: src/wx/audio_panel.cc:66
  msgid "Calculate..."
  msgstr "Calcular..."
  
@@@ -233,19 -252,11 +257,19 @@@ msgstr "Cancelar
  msgid "Certificate"
  msgstr "Certificado"
  
 +#: src/wx/config_dialog.cc:564
 +msgid "Certificate chain for signing DCPs and KDMs:"
 +msgstr ""
 +
  #: src/wx/dolby_certificate_dialog.cc:191
  #: src/wx/doremi_certificate_dialog.cc:103
  msgid "Certificate downloaded"
  msgstr "Certificado descargado"
  
 +#: src/wx/config_dialog.cc:625
 +msgid "Certificate for decrypting DCPs"
 +msgstr ""
 +
  #: src/wx/isdcf_metadata_dialog.cc:65
  msgid "Chain"
  msgstr ""
  msgid "Channel gain"
  msgstr "Ganancia del canal"
  
 -#: src/wx/audio_dialog.cc:44
 +#: src/wx/audio_dialog.cc:44 src/wx/dcp_panel.cc:623
  msgid "Channels"
  msgstr "Canales"
  
 -#: src/wx/config_dialog.cc:120
 +#: src/wx/config_dialog.cc:126
  msgid "Check for testing updates as well as stable ones"
  msgstr "Buscar actualizaciones de prueba y estables"
  
 -#: src/wx/config_dialog.cc:116
 +#: src/wx/config_dialog.cc:122
  msgid "Check for updates on startup"
  msgstr "Buscar actualizaciones al iniciar"
  
 -#: src/wx/content_menu.cc:182
 +#: src/wx/content_menu.cc:198
  msgid "Choose a file"
  msgstr "Elige un fichero"
  
- #: src/wx/content_panel.cc:241
+ #: src/wx/film_editor.cc:815
  msgid "Choose a file or files"
  msgstr "Elegir un fichero o ficheros"
  
- #: src/wx/content_menu.cc:191 src/wx/content_panel.cc:264
+ #: src/wx/content_menu.cc:175 src/wx/film_editor.cc:838
  msgid "Choose a folder"
  msgstr "Elige una carpeta"
  
  msgid "Cinema"
  msgstr "Cine"
  
 -#: src/wx/config_dialog.cc:498
 +#: src/wx/config_dialog.cc:504
  msgid "Colour Conversions"
  msgstr "Conversiones de color"
  
  #: src/wx/content_colour_conversion_dialog.cc:34
 -#: src/wx/preset_colour_conversion_dialog.cc:30 src/wx/video_panel.cc:162
 +#: src/wx/preset_colour_conversion_dialog.cc:30 src/wx/video_panel.cc:167
  msgid "Colour conversion"
  msgstr "Conversión de color"
  
 -#: src/wx/config_dialog.cc:819
 +#: src/wx/config_dialog.cc:1161
  #, fuzzy
  msgid "Config|Timing"
  msgstr "Tiempo"
  
 -#: src/wx/film_editor.cc:134
 +#: src/wx/dcp_panel.cc:532
  msgid "Container"
  msgstr "Continente"
  
 -#: src/wx/audio_mapping_view.cc:270 src/wx/film_editor.cc:85
 +#: src/wx/audio_mapping_view.cc:278 src/wx/film_editor.cc:83
  msgid "Content"
  msgstr "Contenido"
  
 -#: src/wx/film_editor.cc:139
 +#: src/wx/dcp_panel.cc:77
  msgid "Content Type"
  msgstr "Tipo de contenido"
  
 -#: src/wx/video_panel.cc:332
 +#: src/wx/video_panel.cc:353
  #, c-format
  msgid "Content frame rate %.4f\n"
  msgstr "Velocidad del contenido %.4f\n"
  msgid "Content version"
  msgstr "Versión del contenido"
  
 -#: src/wx/video_panel.cc:292
 +#: src/wx/video_panel.cc:313
  #, c-format
  msgid "Content video is %dx%d (%.2f:1)\n"
  msgstr "El video es %dx%d (%.2f:1)\n"
@@@ -330,26 -341,21 +354,26 @@@ msgstr "
  msgid "Could not analyse audio."
  msgstr "No se pudo analizar el audio."
  
 -#: src/wx/film_viewer.cc:346
 -#, c-format
 -msgid "Could not decode video for view (%s)"
 -msgstr "No se pudo decodificar el vídeo para mostrarlo (%s)"
 +#: src/wx/content_panel.cc:280
 +msgid "Could not find any images nor a DCP in that folder"
 +msgstr ""
  
  #: src/wx/job_wrapper.cc:39
  #, c-format
  msgid "Could not make DCP: %s"
  msgstr "No se pudo crear el DCP: %s"
  
 -#: src/wx/screen_dialog.cc:95
 +#: src/wx/config_dialog.cc:688 src/wx/config_dialog.cc:783
 +#: src/wx/config_dialog.cc:803 src/wx/screen_dialog.cc:95
  #, fuzzy, c-format
  msgid "Could not read certificate file (%s)"
  msgstr "No se pudo abrir el fichero (%s)"
  
 +#: src/wx/config_dialog.cc:775 src/wx/config_dialog.cc:825
 +#, fuzzy, c-format
 +msgid "Could not read key file (%s)"
 +msgstr "No se pudo abrir el fichero (%s)"
 +
  #: src/wx/dolby_certificate_dialog.cc:39
  msgid "Country"
  msgstr "País"
  msgid "Create in folder"
  msgstr "Crear en carpeta"
  
 -#: src/wx/video_panel.cc:304
 +#: src/wx/video_panel.cc:325
  #, c-format
  msgid "Cropped to %dx%d (%.2f:1)\n"
  msgstr "Recortado a %dx%d (%.2f:1)\n"
  
 -#: src/wx/video_panel.cc:244
 +#: src/wx/video_panel.cc:243
  msgid "Custom"
  msgstr "Personalizado"
  
 -#: src/wx/film_editor.cc:87
 +#: src/wx/film_editor.cc:85
  msgid "DCP"
  msgstr "DCP"
  
 -#: src/wx/film_editor.cc:129
 +#: src/wx/dcp_panel.cc:72
  msgid "DCP Name"
  msgstr "Nombre DCP"
  
  msgid "DCP directory"
  msgstr ""
  
 -#: src/wx/about_dialog.cc:45 src/wx/wx_util.cc:87 src/wx/wx_util.cc:95
 +#: src/wx/about_dialog.cc:49 src/wx/wx_util.cc:87 src/wx/wx_util.cc:95
  msgid "DCP-o-matic"
  msgstr "DCP-o-matic"
  
  msgid "DCP-o-matic audio - %s"
  msgstr "Audio DCP-o-matic - %s"
  
 -#: src/wx/config_dialog.cc:270
 +#: src/wx/config_dialog.cc:276
  #, fuzzy
  msgid "Default ISDCF name details"
  msgstr "Detalles por defecto del nombre DCI"
  
 -#: src/wx/config_dialog.cc:287
 +#: src/wx/config_dialog.cc:293
  msgid "Default JPEG2000 bandwidth"
  msgstr "Ancho de banda JPEG2000 por defecto"
  
 -#: src/wx/config_dialog.cc:296
 +#: src/wx/config_dialog.cc:302
  msgid "Default audio delay"
  msgstr "Retardo de audio por defecto"
  
 -#: src/wx/config_dialog.cc:278
 +#: src/wx/config_dialog.cc:284
  msgid "Default container"
  msgstr "Contenedor por defecto"
  
 -#: src/wx/config_dialog.cc:282
 +#: src/wx/config_dialog.cc:288
  msgid "Default content type"
  msgstr "Tipo de contenido por defecto"
  
 -#: src/wx/config_dialog.cc:262
 +#: src/wx/config_dialog.cc:268
  msgid "Default directory for new films"
  msgstr "Carpeta por defecto para nuevas películas"
  
 -#: src/wx/config_dialog.cc:254
 +#: src/wx/config_dialog.cc:260
  msgid "Default duration of still images"
  msgstr "Duración por defecto de las imágenes fijas"
  
 -#: src/wx/config_dialog.cc:304
 +#: src/wx/config_dialog.cc:310
  msgid "Default issuer"
  msgstr "Emisor por defecto"
  
 -#: src/wx/config_dialog.cc:274
 +#: src/wx/config_dialog.cc:280
  msgid "Default scale to"
  msgstr ""
  
 -#: src/wx/config_dialog.cc:235
 +#: src/wx/config_dialog.cc:241
  msgid "Defaults"
  msgstr "Por defecto"
  
 -#: src/wx/audio_panel.cc:67
 +#: src/wx/audio_panel.cc:70
  #, fuzzy
  msgid "Delay"
  msgstr "Retardo del audio"
  
 -#: src/wx/film_editor.cc:125 src/wx/job_manager_view.cc:79
 +#: src/wx/dcp_panel.cc:68 src/wx/job_manager_view.cc:79
  msgid "Details..."
  msgstr "Detalles..."
  
@@@ -456,7 -462,7 +480,7 @@@ msgstr "Doremi
  msgid "Doremi serial numbers must have 6 digits"
  msgstr "Los números de serie de Doremi deben tener 6 cifras"
  
- #: src/wx/content_panel.cc:75
+ #: src/wx/film_editor.cc:296
  msgid "Down"
  msgstr "Bajar"
  
@@@ -481,8 -487,8 +505,8 @@@ msgstr "Editar cine...
  msgid "Edit Screen..."
  msgstr "Editar pantalla..."
  
 -#: src/wx/audio_mapping_view.cc:135 src/wx/config_dialog.cc:271
 -#: src/wx/video_panel.cc:155 src/wx/video_panel.cc:172
 +#: src/wx/audio_mapping_view.cc:143 src/wx/config_dialog.cc:277
 +#: src/wx/video_panel.cc:163 src/wx/video_panel.cc:170
  #: src/wx/editable_list.h:66
  msgid "Edit..."
  msgstr "Editar..."
@@@ -495,34 -501,18 +519,34 @@@ msgstr "Remitente para los emails de KD
  msgid "Encoding Servers"
  msgstr "Servidores de codificación"
  
 -#: src/wx/film_editor.cc:162
 +#: src/wx/dcp_panel.cc:92
  msgid "Encrypted"
  msgstr "Encriptado"
  
 -#: src/wx/config_dialog.cc:817
 +#: src/wx/subtitle_view.cc:47
 +msgid "End"
 +msgstr "Fin"
 +
 +#: src/wx/config_dialog.cc:1159
  msgid "Errors"
  msgstr ""
  
 +#: src/wx/config_dialog.cc:651
 +msgid "Export DCP decryption certificate..."
 +msgstr ""
 +
  #: src/wx/isdcf_metadata_dialog.cc:50
  msgid "Facility (e.g. DLA)"
  msgstr "Compañía (ej. DLA)"
  
 +#: src/wx/video_panel.cc:133
 +msgid "Fade in"
 +msgstr ""
 +
 +#: src/wx/video_panel.cc:138
 +msgid "Fade out"
 +msgstr ""
 +
  #: src/wx/dolby_certificate_dialog.cc:76
  #: src/wx/dolby_certificate_dialog.cc:100
  #: src/wx/dolby_certificate_dialog.cc:123
@@@ -537,15 -527,15 +561,15 @@@ msgstr "Propiedades de la película
  msgid "Film name"
  msgstr "Nombre de la película"
  
 -#: src/wx/filter_dialog.cc:32 src/wx/video_panel.cc:146
 +#: src/wx/filter_dialog.cc:32 src/wx/video_panel.cc:160
  msgid "Filters"
  msgstr "Filtros"
  
 -#: src/wx/content_menu.cc:52
 +#: src/wx/content_menu.cc:55
  msgid "Find missing..."
  msgstr "Buscar ausentes..."
  
 -#: src/wx/film_editor.cc:145
 +#: src/wx/dcp_panel.cc:538
  msgid "Frame Rate"
  msgstr "Velocidad"
  
@@@ -557,7 -547,7 +581,7 @@@ msgstr "Fotogramas
  msgid "Frames already encoded"
  msgstr "Fotogramas ya codificados"
  
 -#: src/wx/about_dialog.cc:61
 +#: src/wx/about_dialog.cc:65
  msgid "Free, open-source DCP generation from almost anything."
  msgstr ""
  "Generación de DCP a partir de casi cualquier cosa, libre y de código abierto."
  msgid "From"
  msgstr "De"
  
 -#: src/wx/config_dialog.cc:675
 +#: src/wx/config_dialog.cc:1014
  #, fuzzy
  msgid "From address"
  msgstr "Dirección IP"
  
 -#: src/wx/audio_mapping_view.cc:133
 +#: src/wx/audio_mapping_view.cc:141
  msgid "Full"
  msgstr "Completo"
  
  msgid "Full length"
  msgstr "Duración completa"
  
 -#: src/wx/audio_panel.cc:52
 +#: src/wx/audio_panel.cc:55
  msgid "Gain"
  msgstr ""
  
@@@ -592,15 -582,15 +616,15 @@@ msgstr "Calculadora de ganancia
  msgid "Gain for content channel %d in DCP channel %d"
  msgstr "Ganancia del canal %d en el canal %d del DCP"
  
 -#: src/wx/properties_dialog.cc:52
 +#: src/wx/properties_dialog.cc:51
  msgid "Gb"
  msgstr "Gb"
  
 -#: src/wx/config_dialog.cc:813
 +#: src/wx/config_dialog.cc:1155
  msgid "General"
  msgstr ""
  
 -#: src/wx/audio_mapping_view.cc:301
 +#: src/wx/audio_mapping_view.cc:309
  msgid "HI"
  msgstr "HI"
  
@@@ -616,15 -606,19 +640,19 @@@ msgstr "Host
  msgid "Host name or IP address"
  msgstr "Nombre o dirección IP"
  
+ #: src/wx/audio_panel.cc:277
+ msgid "Hz"
+ msgstr "Hz"
  #: src/wx/gain_calculator_dialog.cc:29
  msgid "I want to play this back at fader"
  msgstr "Quiero reproducir con el fader a"
  
 -#: src/wx/config_dialog.cc:560
 +#: src/wx/config_dialog.cc:899
  msgid "IP address"
  msgstr "Dirección IP"
  
 -#: src/wx/config_dialog.cc:456
 +#: src/wx/config_dialog.cc:462
  msgid "IP address / host name"
  msgstr "Dirección IP / nombre"
  
@@@ -637,27 -631,19 +665,27 @@@ msgstr "Nombre DCI
  msgid "Input gamma"
  msgstr "Gamma de entrada"
  
 -#: src/wx/film_editor.cc:228
 +#: src/wx/config_dialog.cc:727
 +msgid "Intermediate"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:31
 +msgid "Intermediate common name"
 +msgstr ""
 +
 +#: src/wx/dcp_panel.cc:115
  msgid "Interop"
  msgstr "Interop"
  
 -#: src/wx/film_editor.cc:181
 +#: src/wx/dcp_panel.cc:565
  msgid "JPEG2000 bandwidth"
  msgstr "Ancho de banda JPEG2000"
  
 -#: src/wx/content_menu.cc:51
 +#: src/wx/content_menu.cc:54
  msgid "Join"
  msgstr "Unir"
  
 -#: src/wx/config_dialog.cc:627
 +#: src/wx/config_dialog.cc:966
  msgid "KDM Email"
  msgstr "Email KDM"
  
@@@ -670,35 -656,23 +698,35 @@@ msgstr "
  msgid "KDM|Timing"
  msgstr "Tiempo"
  
- #: src/wx/content_panel.cc:85
+ #: src/wx/timeline_dialog.cc:41
  msgid "Keep video in sequence"
  msgstr "Mantener el video secuencia"
  
 -#: src/wx/audio_mapping_view.cc:277
 +#: src/wx/config_dialog.cc:548
 +msgid "Keys"
 +msgstr ""
 +
 +#: src/wx/audio_mapping_view.cc:285
  msgid "L"
  msgstr "L"
  
 -#: src/wx/audio_mapping_view.cc:309
 +#: src/wx/audio_mapping_view.cc:317
  msgid "Lc"
  msgstr "Lc"
  
 -#: src/wx/video_panel.cc:88
 +#: src/wx/config_dialog.cc:725
 +msgid "Leaf"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:33
 +msgid "Leaf common name"
 +msgstr ""
 +
 +#: src/wx/video_panel.cc:89
  msgid "Left crop"
  msgstr "Recorte izquierda"
  
 -#: src/wx/audio_mapping_view.cc:289
 +#: src/wx/audio_mapping_view.cc:297
  msgid "Lfe"
  msgstr "Lfe"
  
@@@ -710,33 -684,27 +738,33 @@@ msgstr "Hacer lineal la curva de gamma 
  msgid "Load from file..."
  msgstr "Cargar de fichero..."
  
 -#: src/wx/config_dialog.cc:807
 +#: src/wx/config_dialog.cc:620 src/wx/config_dialog.cc:633
 +#: src/wx/config_dialog.cc:646
 +#, fuzzy
 +msgid "Load..."
 +msgstr "Añadir..."
 +
 +#: src/wx/config_dialog.cc:1149
  msgid "Log"
  msgstr ""
  
 -#: src/wx/config_dialog.cc:804
 +#: src/wx/config_dialog.cc:1146
  msgid "Log:"
  msgstr ""
  
 -#: src/wx/audio_mapping_view.cc:293
 +#: src/wx/audio_mapping_view.cc:301
  msgid "Ls"
  msgstr "Ls"
  
- #: src/wx/content_panel.cc:438
+ #: src/wx/film_editor.cc:789
  msgid "MISSING: "
  msgstr "FALTA:"
  
 -#: src/wx/config_dialog.cc:660
 +#: src/wx/config_dialog.cc:999
  msgid "Mail password"
  msgstr "Clave del correo"
  
 -#: src/wx/config_dialog.cc:656
 +#: src/wx/config_dialog.cc:995
  msgid "Mail user name"
  msgstr "Usuario del correo"
  
  msgid "Make KDMs"
  msgstr "Crear KDMs"
  
 +#: src/wx/make_signer_chain_dialog.cc:23
 +#, fuzzy
 +msgid "Make certificate chain"
 +msgstr "Seleccionar fichero de certificado"
 +
  #: src/wx/isdcf_metadata_dialog.cc:71
  msgid "Mastered luminance (e.g. 4fl)"
  msgstr ""
  msgid "Matrix"
  msgstr "Matriz"
  
 -#: src/wx/config_dialog.cc:791
 +#: src/wx/config_dialog.cc:1133
  msgid "Maximum JPEG2000 bandwidth"
  msgstr "Ancho de banda JPEG2000 máximo"
  
 -#: src/wx/config_dialog.cc:291 src/wx/config_dialog.cc:795
 -#: src/wx/film_editor.cc:185
 +#: src/wx/config_dialog.cc:297 src/wx/config_dialog.cc:1137
 +#: src/wx/dcp_panel.cc:569
  msgid "Mbit/s"
  msgstr "Mbit/s"
  
- #: src/wx/video_panel.cc:301
+ #: src/wx/film_editor.cc:293
+ msgid "Move the selected piece of content earlier in the film."
+ msgstr ""
+ #: src/wx/film_editor.cc:297
+ msgid "Move the selected piece of content later in the film."
+ msgstr ""
+ #: src/wx/video_panel.cc:280
  msgid "Multiple content selected"
  msgstr "Varios contenidos seleccionados"
  
  msgid "My Documents"
  msgstr "Mis documentos"
  
 -#: src/wx/cinema_dialog.cc:28 src/wx/config_dialog.cc:512
 -#: src/wx/film_editor.cc:113 src/wx/preset_colour_conversion_dialog.cc:38
 +#: src/wx/content_panel.cc:442
 +msgid "NEEDS KDM: "
 +msgstr ""
 +
 +#: src/wx/cinema_dialog.cc:28 src/wx/config_dialog.cc:518
 +#: src/wx/dcp_panel.cc:56 src/wx/preset_colour_conversion_dialog.cc:38
  #: src/wx/screen_dialog.cc:38
  msgid "Name"
  msgstr "Nombre"
@@@ -792,46 -759,31 +828,50 @@@ msgstr "Nueva película
  msgid "New versions of DCP-o-matic are available."
  msgstr "Nuevas versiones disponibles de DCP-o-matic."
  
 -#: src/wx/audio_mapping_view.cc:348
 +#: src/wx/audio_mapping_view.cc:356
  #, c-format
  msgid "No audio will be passed from content channel %d to DCP channel %d."
  msgstr "No pasará audio del canal de origen %d al canal %d del DCP."
  
 -#: src/wx/video_panel.cc:153 src/wx/video_panel.cc:249
 +#: src/wx/audio_panel.cc:290 src/wx/video_panel.cc:161
 +#: src/wx/video_panel.cc:248
  msgid "None"
  msgstr "Ninguno"
  
 -#: src/wx/audio_mapping_view.cc:132
 +#: src/wx/audio_mapping_view.cc:140
  msgid "Off"
  msgstr "Off"
  
 +#: src/wx/config_dialog.cc:1167
 +msgid "Open console window"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:25
 +#, fuzzy
 +msgid "Organisation"
 +msgstr "Duración"
 +
 +#: src/wx/make_signer_chain_dialog.cc:27
 +msgid "Organisational unit"
 +msgstr ""
 +
+ #: src/wx/film_editor.cc:301
+ msgid "Open the timeline for the film."
+ msgstr ""
  #: src/wx/screen_dialog.cc:65
  msgid "Other"
  msgstr "Otros"
  
 -#: src/wx/config_dialog.cc:652
 +#: src/wx/config_dialog.cc:991
  msgid "Outgoing mail server"
  msgstr "Servidor de salida de correo"
  
 +#: src/wx/film_viewer.cc:61
 +#, fuzzy
 +msgid "Outline content"
 +msgstr "Varios contenidos seleccionados"
 +
  #: src/wx/kdm_dialog.cc:156
  #, fuzzy
  msgid "Output"
@@@ -845,12 -797,12 +885,12 @@@ msgstr "Gamma de salida
  msgid "Package Type (e.g. OV)"
  msgstr "Tipo de paquete (ej. OV)"
  
 -#: src/wx/video_panel.cc:325
 +#: src/wx/video_panel.cc:346
  #, c-format
  msgid "Padded with black to %dx%d (%.2f:1)\n"
  msgstr "Completado con negro hasta %dx%d (%.2f:1)\n"
  
 -#: src/wx/config_dialog.cc:572
 +#: src/wx/config_dialog.cc:911
  msgid "Password"
  msgstr "Clave"
  
@@@ -862,7 -814,7 +902,7 @@@ msgstr "Pausa
  msgid "Peak"
  msgstr "Pico"
  
 -#: src/wx/film_viewer.cc:64
 +#: src/wx/film_viewer.cc:67
  msgid "Play"
  msgstr "Reproducir"
  
@@@ -882,19 -834,7 +922,19 @@@ msgstr "Posición
  msgid "Pre-release"
  msgstr ""
  
 -#: src/wx/audio_mapping_view.cc:281
 +#: src/wx/config_dialog.cc:638
 +msgid "Private key for decrypting DCPs"
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:612
 +msgid "Private key for leaf certificate"
 +msgstr ""
 +
 +#: src/wx/audio_panel.cc:89
 +msgid "Process with"
 +msgstr ""
 +
 +#: src/wx/audio_mapping_view.cc:289
  msgid "R"
  msgstr "R"
  
@@@ -906,25 -846,16 +946,25 @@@ msgstr "RMS
  msgid "Rating (e.g. 15)"
  msgstr "Clasificación (ej. 16)"
  
 -#: src/wx/audio_mapping_view.cc:313
 +#: src/wx/audio_mapping_view.cc:321
  msgid "Rc"
  msgstr "Rc"
  
 +#: src/wx/content_menu.cc:56
 +msgid "Re-examine..."
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:608
 +#, fuzzy
 +msgid "Re-make certificates..."
 +msgstr "Descargar certificado"
 +
  #: src/wx/isdcf_metadata_dialog.cc:62
  msgid "Red band"
  msgstr ""
  
- #: src/wx/config_dialog.cc:599 src/wx/content_menu.cc:59
- #: src/wx/content_panel.cc:71 src/wx/editable_list.h:68
+ #: src/wx/content_menu.cc:54 src/wx/film_editor.cc:288
+ #: src/wx/editable_list.h:68
  msgid "Remove"
  msgstr "Quitar"
  
@@@ -936,6 -867,10 +976,10 @@@ msgstr "Quitar cine
  msgid "Remove Screen"
  msgstr "Quitar pantalla"
  
+ #: src/wx/film_editor.cc:289
+ msgid "Remove the selected piece of content from the film."
+ msgstr ""
  #: src/wx/repeat_dialog.cc:26
  msgid "Repeat"
  msgstr "Repetir"
  msgid "Repeat Content"
  msgstr "Repetir contenido"
  
 -#: src/wx/content_menu.cc:50
 +#: src/wx/content_menu.cc:53
  msgid "Repeat..."
  msgstr "Repetir..."
  
 -#: src/wx/config_dialog.cc:690
 +#: src/wx/config_dialog.cc:1029
  msgid "Reset to default text"
  msgstr ""
  
 -#: src/wx/film_editor.cc:175
 +#: src/wx/dcp_panel.cc:559
  msgid "Resolution"
  msgstr "Resolución"
  
  msgid "Resume"
  msgstr "Continuar"
  
 -#: src/wx/audio_mapping_view.cc:356
 +#: src/wx/audio_mapping_view.cc:364
  msgid "Right click to change gain."
  msgstr "Click derecho para cambiar la ganancia."
  
  msgid "Right crop"
  msgstr "Recorte derecha"
  
 -#: src/wx/audio_mapping_view.cc:297
 +#: src/wx/config_dialog.cc:723
 +msgid "Root"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:29
 +msgid "Root common name"
 +msgstr ""
 +
 +#: src/wx/audio_mapping_view.cc:305
  msgid "Rs"
  msgstr "Rs"
  
 -#: src/wx/film_editor.cc:227
 +#: src/wx/dcp_panel.cc:114
  msgid "SMPTE"
  msgstr "SMPTE"
  
 -#: src/wx/video_panel.cc:132
 +#: src/wx/video_panel.cc:143
  msgid "Scale to"
  msgstr "Redimensionar a"
  
 -#: src/wx/video_panel.cc:316
 +#: src/wx/video_panel.cc:337
  #, c-format
  msgid "Scaled to %dx%d (%.2f:1)\n"
  msgstr "Redimensionado a %dx%d (%.2f:1)\n"
  
 -#: src/wx/film_editor.cc:195
 +#: src/wx/dcp_panel.cc:574
  msgid "Scaler"
  msgstr "Escalador"
  
@@@ -1007,20 -934,10 +1051,20 @@@ msgstr "Añadir pantalla...
  msgid "Select CPL XML file"
  msgstr "Seleccionar fichero de audio"
  
 -#: src/wx/screen_dialog.cc:102
 +#: src/wx/config_dialog.cc:679 src/wx/config_dialog.cc:795
 +#: src/wx/config_dialog.cc:840 src/wx/screen_dialog.cc:102
  msgid "Select Certificate File"
  msgstr "Seleccionar fichero de certificado"
  
 +#: src/wx/content_menu.cc:266
 +msgid "Select KDM"
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:769 src/wx/config_dialog.cc:817
 +#, fuzzy
 +msgid "Select Key File"
 +msgstr "Seleccionar fichero de certificado"
 +
  #: src/wx/kdm_dialog.cc:185
  msgid "Send by email"
  msgstr "Enviar por email"
@@@ -1042,7 -959,7 +1086,7 @@@ msgstr "Número de serie del servidor
  msgid "Server serial number"
  msgstr "Número de serie del servidor"
  
 -#: src/wx/config_dialog.cc:438
 +#: src/wx/config_dialog.cc:444
  msgid "Servers"
  msgstr "Servidores"
  
  msgid "Set"
  msgstr "Seleccionar"
  
 -#: src/wx/config_dialog.cc:92
 +#: src/wx/config_dialog.cc:99
  msgid "Set language"
  msgstr "Seleccionar idioma"
  
 -#: src/wx/audio_panel.cc:48
 +#: src/wx/audio_panel.cc:51
  msgid "Show Audio..."
  msgstr "Mostrar audio..."
  
 -#: src/wx/film_editor.cc:158
 +#: src/wx/dcp_panel.cc:88
  msgid "Signed"
  msgstr "Firmado"
  
@@@ -1074,16 -991,11 +1118,16 @@@ msgstr "Acoplar
  msgid "Stable version "
  msgstr "Versión estable"
  
 -#: src/wx/film_editor.cc:190
 +#: src/wx/dcp_panel.cc:96
  msgid "Standard"
  msgstr "Estandard"
  
 -#: src/wx/audio_panel.cc:81 src/wx/subtitle_panel.cc:79
 +#: src/wx/subtitle_view.cc:39
 +#, fuzzy
 +msgid "Start"
 +msgstr "Inicio"
 +
 +#: src/wx/audio_panel.cc:84 src/wx/subtitle_panel.cc:87
  #, fuzzy
  msgid "Stream"
  msgstr "Flujo"
  msgid "Studio (e.g. TCF)"
  msgstr "Estudio (ej. TCF)"
  
 -#: src/wx/config_dialog.cc:671
 +#: src/wx/config_dialog.cc:1010
  msgid "Subject"
  msgstr ""
  
 +#: src/wx/subtitle_view.cc:55
 +#, fuzzy
 +msgid "Subtitle"
 +msgstr "Subtítulos"
 +
  #: src/wx/isdcf_metadata_dialog.cc:38
  msgid "Subtitle Language (e.g. FR)"
  msgstr "Idioma del subtítulo (ej. EN)"
  
 -#: src/wx/subtitle_panel.cc:34
 +#: src/wx/subtitle_panel.cc:41 src/wx/subtitle_view.cc:32
  msgid "Subtitles"
  msgstr "Subtítulos"
  
- #: src/wx/about_dialog.cc:165
+ #: src/wx/about_dialog.cc:166
  msgid "Supported by"
  msgstr "Soportado por"
  
 -#: src/wx/config_dialog.cc:542
 +#: src/wx/config_dialog.cc:881
  msgid "TMS"
  msgstr "TMS"
  
 -#: src/wx/config_dialog.cc:564
 +#: src/wx/config_dialog.cc:903
  msgid "Target path"
  msgstr "Ruta"
  
@@@ -1134,11 -1041,11 +1178,11 @@@ msgstr "Territorio (ej. ES)
  msgid "Test version "
  msgstr "Versión en prueba"
  
- #: src/wx/about_dialog.cc:210
+ #: src/wx/about_dialog.cc:211
  msgid "Tested by"
  msgstr "Comprobado por"
  
 -#: src/wx/content_menu.cc:223
 +#: src/wx/content_menu.cc:252
  msgid ""
  "The content file(s) you specified are not the same as those that are "
  "missing.  Either try again with the correct content file or remove the "
@@@ -1151,7 -1058,7 +1195,7 @@@ msgstr "
  msgid "There are no hints: everything looks good!"
  msgstr "No hay recomendaciones: Â¡todo parece bien!"
  
 -#: src/wx/film_viewer.cc:134
 +#: src/wx/film_viewer.cc:142
  msgid "There is not enough free memory to do that."
  msgstr "No hay suficiente memoria para hacer eso."
  
@@@ -1163,23 -1070,19 +1207,23 @@@ msgstr "
  msgid "Threads"
  msgstr "Hilos"
  
 -#: src/wx/config_dialog.cc:111
 +#: src/wx/config_dialog.cc:118
  msgid "Threads to use for encoding on this host"
  msgstr "Hilos a utilizar para la codificación en esta máquina"
  
 +#: src/wx/config_dialog.cc:583
 +msgid "Thumbprint"
 +msgstr ""
 +
  #: src/wx/audio_plot.cc:165
  msgid "Time"
  msgstr "Tiempo"
  
 -#: src/wx/timeline_dialog.cc:32
 +#: src/wx/timeline_dialog.cc:33
  msgid "Timeline"
  msgstr "Línea de tiempo"
  
- #: src/wx/content_panel.cc:77
+ #: src/wx/film_editor.cc:300
  msgid "Timeline..."
  msgstr "Linea de tiempo..."
  
  msgid "Timing|Timing"
  msgstr "Tiempo"
  
 -#: src/wx/video_panel.cc:110
 +#: src/wx/video_panel.cc:111
  msgid "Top crop"
  msgstr "Recortar arriba"
  
 -#: src/wx/about_dialog.cc:107
 +#: src/wx/about_dialog.cc:111
  msgid "Translated by"
  msgstr "Traducido por"
  
@@@ -1204,8 -1107,7 +1248,8 @@@ msgstr "Recortar del final
  msgid "Trim from start"
  msgstr "Recortar del inicio"
  
 -#: src/wx/audio_dialog.cc:55 src/wx/video_panel.cc:75
 +#: src/wx/audio_dialog.cc:55 src/wx/config_dialog.cc:575
 +#: src/wx/video_panel.cc:76
  msgid "Type"
  msgstr "Tipo"
  
@@@ -1221,7 -1123,7 +1265,7 @@@ msgstr "Desconocido
  msgid "Until"
  msgstr "Hasta"
  
- #: src/wx/content_panel.cc:73
+ #: src/wx/film_editor.cc:292
  msgid "Up"
  msgstr "Subir"
  
  msgid "Update"
  msgstr "Actualizar"
  
 -#: src/wx/film_editor.cc:123
 +#: src/wx/dcp_panel.cc:66
  #, fuzzy
  msgid "Use ISDCF name"
  msgstr "Usar el nombre DCI"
  
 -#: src/wx/config_dialog.cc:452
 +#: src/wx/config_dialog.cc:458
  msgid "Use all servers"
  msgstr "Usar todos los servidores"
  
 -#: src/wx/film_editor.cc:152
 +#: src/wx/dcp_panel.cc:545
  msgid "Use best"
  msgstr "Usar la mejor"
  
  msgid "Use preset"
  msgstr "Usar por defecto"
  
 -#: src/wx/config_dialog.cc:568
 +#: src/wx/subtitle_panel.cc:47
 +#, fuzzy
 +msgid "Use subtitles"
 +msgstr "Subtítulos"
 +
 +#: src/wx/config_dialog.cc:907
  msgid "User name"
  msgstr "Nombre de usuario"
  
 -#: src/wx/audio_mapping_view.cc:305
 +#: src/wx/audio_mapping_view.cc:313
  msgid "VI"
  msgstr "VI"
  
 -#: src/wx/video_panel.cc:68
 +#: src/wx/dcp_panel.cc:85 src/wx/video_panel.cc:69
  msgid "Video"
  msgstr "Vídeo"
  
  msgid "Video frame rate"
  msgstr "Velocidad de imagen"
  
 -#: src/wx/config_dialog.cc:815
 -msgid "Warnings"
 +#: src/wx/subtitle_panel.cc:91
 +msgid "View..."
  msgstr ""
  
 -#: src/wx/subtitle_panel.cc:39
 -msgid "With Subtitles"
 -msgstr "Con subtítulos"
 +#: src/wx/config_dialog.cc:1157
 +msgid "Warnings"
 +msgstr ""
  
  #: src/wx/kdm_dialog.cc:172
  msgid "Write to"
  msgstr "Escribe a"
  
 -#: src/wx/about_dialog.cc:91
 +#: src/wx/about_dialog.cc:95
  msgid "Written by"
  msgstr "Escrito por"
  
 -#: src/wx/subtitle_panel.cc:44
 +#: src/wx/subtitle_panel.cc:52
  #, fuzzy
  msgid "X Offset"
  msgstr "Desplazamiento en X"
  
 -#: src/wx/subtitle_panel.cc:62
 +#: src/wx/subtitle_panel.cc:70
  #, fuzzy
  msgid "X Scale"
  msgstr "Escalador"
  
 -#: src/wx/subtitle_panel.cc:53
 +#: src/wx/subtitle_panel.cc:61
  #, fuzzy
  msgid "Y Offset"
  msgstr "Desplazamiento en Y"
  
 -#: src/wx/subtitle_panel.cc:71
 +#: src/wx/subtitle_panel.cc:79
  #, fuzzy
  msgid "Y Scale"
  msgstr "Escalador"
@@@ -1338,62 -1235,46 +1382,48 @@@ msgstr "
  "Tu DCP tiene menos de 6 canales de audio. Esto puede causar problemas con "
  "algunos proyectores."
  
 -#: src/wx/timeline.cc:220
 +#: src/wx/timeline.cc:229
  msgid "audio"
  msgstr "audio"
  
+ #: src/wx/audio_panel.cc:275
+ msgid "channels"
+ msgstr "canales"
  #: src/wx/properties_dialog.cc:46
  msgid "counting..."
  msgstr "contando..."
  
 -#: src/wx/audio_gain_dialog.cc:30 src/wx/audio_panel.cc:62
 +#: src/wx/audio_gain_dialog.cc:30 src/wx/audio_panel.cc:65
  msgid "dB"
  msgstr "dB"
  
  #. / TRANSLATORS: this is an abbreviation for milliseconds, the unit of time
 -#: src/wx/audio_panel.cc:78 src/wx/config_dialog.cc:300
 +#: src/wx/audio_panel.cc:81 src/wx/config_dialog.cc:306
  msgid "ms"
  msgstr "ms"
  
 -#: src/wx/config_dialog.cc:258
 +#: src/wx/config_dialog.cc:264
  msgid "s"
  msgstr "s"
  
 -#: src/wx/timeline.cc:243
 +#: src/wx/timeline.cc:258
  msgid "still"
  msgstr "fijo"
  
 +#: src/wx/timeline.cc:289
 +#, fuzzy
 +msgid "subtitles"
 +msgstr "Subtítulos"
 +
  #: src/wx/repeat_dialog.cc:28
  msgid "times"
  msgstr "veces"
  
 -#: src/wx/timeline.cc:241
 +#: src/wx/timeline.cc:260
  msgid "video"
  msgstr "vídeo"
  
- #~ msgid "1 channel"
- #~ msgstr "1 canal"
- #~ msgid "Audio channels"
- #~ msgstr "Canales de audio"
- #~ msgid "Could not decode video for view (%s)"
- #~ msgstr "No se pudo decodificar el vídeo para mostrarlo (%s)"
- #~ msgid "Hz"
- #~ msgstr "Hz"
- #~ msgid "With Subtitles"
- #~ msgstr "Con subtítulos"
- #~ msgid "channels"
- #~ msgstr "canales"
 -#~ msgid "Add folder..."
 -#~ msgstr "Añadir carpeta..."
--
  #~ msgid "Default creator"
  #~ msgstr "Creador por defecto"
  
  #~ msgid "Add"
  #~ msgstr "Añadir"
  
 -#~ msgid "Duration"
 -#~ msgstr "Duración"
 -
  #~ msgid "Edit"
  #~ msgstr "Editar"
  
  #~ msgid "Running"
  #~ msgstr "Ejecutando"
  
 -#, fuzzy
 -#~ msgid "Start time"
 -#~ msgstr "Inicio"
 -
  #~ msgid "A/B"
  #~ msgstr "A/B"
  
  #~ msgid "DVD-o-matic Preferences"
  #~ msgstr "Preferencias DVD-o-matic"
  
 -#~ msgid "End"
 -#~ msgstr "Fin"
 -
  #~ msgid "Film"
  #~ msgstr "Película"
  
diff --combined src/wx/po/fr_FR.po
index 46c4822d62be04e774b03a59a0e69521685bae8f,a4d26fd01e3ea005bdd49f159279e1815ac789a9..0ba92f95b83bb5463682135cc1b90bd45e2acdc6
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: DCP-o-matic FRENCH\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2014-10-16 16:38+0100\n"
+ "POT-Creation-Date: 2014-10-23 22:03+0100\n"
  "PO-Revision-Date: 2014-07-14 11:27+0100\n"
  "Last-Translator: Grégoire AUSINA <gregoire@gisele-productions.eu>\n"
  "Language-Team: \n"
  "Content-Transfer-Encoding: 8bit\n"
  "X-Generator: Poedit 1.6.6\n"
  
 -#: src/wx/subtitle_panel.cc:48 src/wx/subtitle_panel.cc:57
 -#: src/wx/subtitle_panel.cc:66 src/wx/subtitle_panel.cc:75
 +#: src/wx/subtitle_panel.cc:56 src/wx/subtitle_panel.cc:65
 +#: src/wx/subtitle_panel.cc:74 src/wx/subtitle_panel.cc:83
  msgid "%"
  msgstr "%"
  
 -#: src/wx/about_dialog.cc:78
 +#: src/wx/about_dialog.cc:82
  msgid ""
  "(C) 2012-2014 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
  msgstr ""
  "(C) 2012-2014 par Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole "
  "Laursen"
  
 -#: src/wx/config_dialog.cc:664
 +#: src/wx/config_dialog.cc:1003
  msgid "(password will be stored on disk in plaintext)"
  msgstr "(le mot de passe sera enregistré sur le disque dur au format texte)"
  
 -#: src/wx/config_dialog.cc:104
 +#: src/wx/config_dialog.cc:111
  msgid "(restart DCP-o-matic to see language changes)"
  msgstr "(redémarrez DCP-o-matic pour appliquer le changement de langue)"
  
 -#: src/wx/audio_mapping_view.cc:134
 +#: src/wx/audio_mapping_view.cc:142
  msgid "-6dB"
  msgstr "-6dB"
  
  msgid "1 / "
  msgstr "1/"
  
- #: src/wx/video_panel.cc:193
+ #: src/wx/audio_panel.cc:273
+ msgid "1 channel"
+ msgstr "1 canal"
+ #: src/wx/video_panel.cc:197
  msgid "2D"
  msgstr "2D"
  
  msgid "2D version of content available in 3D"
  msgstr "Version 2D d'un contenu aussi disponible en 3D"
  
 -#: src/wx/film_editor.cc:224
 +#: src/wx/dcp_panel.cc:607
  msgid "2K"
  msgstr "2K"
  
 -#: src/wx/film_editor.cc:171
 +#: src/wx/dcp_panel.cc:555
  msgid "3D"
  msgstr "3D"
  
 -#: src/wx/video_panel.cc:200
 +#: src/wx/video_panel.cc:196
  msgid "3D alternate"
  msgstr "3D alternatif"
  
 -#: src/wx/video_panel.cc:201
 +#: src/wx/video_panel.cc:197
  msgid "3D left only"
  msgstr "3D gauche"
  
 -#: src/wx/video_panel.cc:198
 +#: src/wx/video_panel.cc:194
  msgid "3D left/right"
  msgstr "3D gauche/droite"
  
 -#: src/wx/video_panel.cc:202
 +#: src/wx/video_panel.cc:198
  msgid "3D right only"
  msgstr "3D droite"
  
 -#: src/wx/video_panel.cc:199
 +#: src/wx/video_panel.cc:195
  msgid "3D top/bottom"
  msgstr "3D dessus/dessous"
  
 -#: src/wx/film_editor.cc:225
 +#: src/wx/dcp_panel.cc:608
  msgid "4K"
  msgstr "4K"
  
@@@ -89,7 -93,7 +93,7 @@@
  msgid "A new version of DCP-o-matic is available."
  msgstr "Une nouvelle version de DCP-o-matic est disponible"
  
 -#: src/wx/about_dialog.cc:30
 +#: src/wx/about_dialog.cc:34
  msgid "About DCP-o-matic"
  msgstr "À propos de DCP-o-matic"
  
  msgid "Add Cinema..."
  msgstr "Ajout cinéma"
  
 +#: src/wx/content_menu.cc:57
 +#, fuzzy
 +msgid "Add KDM..."
 +msgstr "Ajout cinéma"
 +
  #: src/wx/kdm_dialog.cc:86
  msgid "Add Screen..."
  msgstr "Ajout une salle"
  
- #: src/wx/content_panel.cc:67
+ #: src/wx/film_editor.cc:285
+ msgid ""
+ "Add a directory of image files which will be used as a moving image sequence."
+ msgstr ""
+ #: src/wx/film_editor.cc:280
  msgid "Add file(s)..."
  msgstr "Ajout fichier(s)..."
  
- #: src/wx/content_panel.cc:69
- msgid "Add folder..."
- msgstr "Ajout dossier..."
+ #: src/wx/film_editor.cc:284
+ msgid ""
+ "Add image\n"
+ "sequence..."
+ msgstr ""
+ #: src/wx/film_editor.cc:281
+ msgid "Add video, image or sound files to the film."
+ msgstr ""
  
 -#: src/wx/editable_list.h:62
 +#: src/wx/config_dialog.cc:597 src/wx/editable_list.h:62
  msgid "Add..."
  msgstr "Ajouter..."
  
@@@ -134,15 -144,15 +149,15 @@@ msgid "
  "tab."
  msgstr ""
  
 -#: src/wx/config_dialog.cc:799
 +#: src/wx/config_dialog.cc:1141
  msgid "Allow any DCP frame rate"
  msgstr "Autoriser toutes cadences"
  
 -#: src/wx/about_dialog.cc:111
 +#: src/wx/about_dialog.cc:115
  msgid "Artwork by"
  msgstr "Thème par"
  
 -#: src/wx/audio_dialog.cc:33 src/wx/audio_panel.cc:40
 +#: src/wx/audio_dialog.cc:33 src/wx/audio_panel.cc:43 src/wx/dcp_panel.cc:86
  msgid "Audio"
  msgstr "Audio"
  
  msgid "Audio Language (e.g. EN)"
  msgstr "Langue audio (ex. FR)"
  
 -#: src/wx/film_editor.cc:166
 -msgid "Audio channels"
 -msgstr "Canaux audios"
 -
 -#: src/wx/audio_mapping_view.cc:350
 +#: src/wx/audio_mapping_view.cc:358
  #, c-format
  msgid ""
  "Audio will be passed from content channel %d to DCP channel %d unaltered."
  msgstr ""
  "Le son du canal audio %d sera transféré au canal %d du DCP sans modification."
  
 -#: src/wx/audio_mapping_view.cc:353
 +#: src/wx/audio_mapping_view.cc:361
  #, c-format
  msgid ""
  "Audio will be passed from content channel %d to DCP channel %d with gain "
@@@ -166,7 -180,17 +181,17 @@@ msgstr "
  "Le son du canal audio %d sera transféré au canal %d du DCP avec un gain de "
  "%.1fdB."
  
- #: src/wx/config_dialog.cc:1022
+ #: src/wx/audio_panel.cc:248
+ #, fuzzy, c-format
+ msgid "Audio will be resampled from %.3fkHz to %.3fkHz."
+ msgstr "L'audio sera rééchantillonné de %dHz Ã  %dHz."
+ #: src/wx/audio_panel.cc:253
+ #, fuzzy
+ msgid "Audio will not be resampled."
+ msgstr "L'audio sera rééchantillonné de %dHz Ã  %dHz."
+ #: src/wx/config_dialog.cc:683
  #, fuzzy
  msgid "BCC address"
  msgstr "Adresse CC"
@@@ -184,27 -208,23 +209,27 @@@ msgstr "Rogner en bas
  msgid "Browse..."
  msgstr "Parcourir..."
  
 -#: src/wx/audio_mapping_view.cc:317
 +#: src/wx/audio_mapping_view.cc:325
  msgid "BsL"
  msgstr "Ar.G"
  
 -#: src/wx/audio_mapping_view.cc:321
 +#: src/wx/audio_mapping_view.cc:329
  msgid "BsR"
  msgstr "Ar.D"
  
 +#: src/wx/dcp_panel.cc:551
 +msgid "Burn subtitles into image"
 +msgstr ""
 +
  #: src/wx/gain_calculator_dialog.cc:32
  msgid "But I have to use fader"
  msgstr "Mais je dois mixer"
  
 -#: src/wx/audio_mapping_view.cc:285
 +#: src/wx/audio_mapping_view.cc:293
  msgid "C"
  msgstr "C"
  
 -#: src/wx/config_dialog.cc:679
 +#: src/wx/config_dialog.cc:1018
  msgid "CC address"
  msgstr "Adresse CC"
  
@@@ -220,7 -240,7 +245,7 @@@ msgstr "Id du CPL
  msgid "CPL annotation text"
  msgstr "Commentaire CPL"
  
 -#: src/wx/audio_panel.cc:63
 +#: src/wx/audio_panel.cc:66
  msgid "Calculate..."
  msgstr "Calcul..."
  
@@@ -232,19 -252,11 +257,19 @@@ msgstr "Annuler
  msgid "Certificate"
  msgstr "Certificat"
  
 +#: src/wx/config_dialog.cc:564
 +msgid "Certificate chain for signing DCPs and KDMs:"
 +msgstr ""
 +
  #: src/wx/dolby_certificate_dialog.cc:191
  #: src/wx/doremi_certificate_dialog.cc:103
  msgid "Certificate downloaded"
  msgstr "Certificat téléchargé"
  
 +#: src/wx/config_dialog.cc:625
 +msgid "Certificate for decrypting DCPs"
 +msgstr ""
 +
  #: src/wx/isdcf_metadata_dialog.cc:65
  msgid "Chain"
  msgstr "Chaîne"
  msgid "Channel gain"
  msgstr "Gain Canal"
  
 -#: src/wx/audio_dialog.cc:44
 +#: src/wx/audio_dialog.cc:44 src/wx/dcp_panel.cc:623
  msgid "Channels"
  msgstr "Canaux"
  
 -#: src/wx/config_dialog.cc:120
 +#: src/wx/config_dialog.cc:126
  msgid "Check for testing updates as well as stable ones"
  msgstr "Recherche toutes mises Ã  jour : test et stables."
  
 -#: src/wx/config_dialog.cc:116
 +#: src/wx/config_dialog.cc:122
  msgid "Check for updates on startup"
  msgstr "Recherche de mises Ã  jour au démarrage."
  
 -#: src/wx/content_menu.cc:182
 +#: src/wx/content_menu.cc:198
  msgid "Choose a file"
  msgstr "Choisissez un fichier"
  
- #: src/wx/content_panel.cc:241
+ #: src/wx/film_editor.cc:815
  msgid "Choose a file or files"
  msgstr "Choisissez un ou plusieurs fichiers"
  
- #: src/wx/content_menu.cc:191 src/wx/content_panel.cc:264
+ #: src/wx/content_menu.cc:175 src/wx/film_editor.cc:838
  msgid "Choose a folder"
  msgstr "Choisissez un dossier"
  
  msgid "Cinema"
  msgstr "Cinéma"
  
 -#: src/wx/config_dialog.cc:498
 +#: src/wx/config_dialog.cc:504
  msgid "Colour Conversions"
  msgstr "Conversions Couleurs"
  
  #: src/wx/content_colour_conversion_dialog.cc:34
 -#: src/wx/preset_colour_conversion_dialog.cc:30 src/wx/video_panel.cc:162
 +#: src/wx/preset_colour_conversion_dialog.cc:30 src/wx/video_panel.cc:167
  msgid "Colour conversion"
  msgstr "Espace Couleurs"
  
 -#: src/wx/config_dialog.cc:819
 +#: src/wx/config_dialog.cc:1161
  msgid "Config|Timing"
  msgstr "Temps"
  
 -#: src/wx/film_editor.cc:134
 +#: src/wx/dcp_panel.cc:532
  msgid "Container"
  msgstr "Format"
  
 -#: src/wx/audio_mapping_view.cc:270 src/wx/film_editor.cc:85
 +#: src/wx/audio_mapping_view.cc:278 src/wx/film_editor.cc:83
  msgid "Content"
  msgstr "Contenu"
  
 -#: src/wx/film_editor.cc:139
 +#: src/wx/dcp_panel.cc:77
  msgid "Content Type"
  msgstr "Type de Contenu"
  
 -#: src/wx/video_panel.cc:332
 +#: src/wx/video_panel.cc:353
  #, c-format
  msgid "Content frame rate %.4f\n"
  msgstr "Cadence du contenu %.4f\n"
  msgid "Content version"
  msgstr "Version du contenu"
  
 -#: src/wx/video_panel.cc:292
 +#: src/wx/video_panel.cc:313
  #, c-format
  msgid "Content video is %dx%d (%.2f:1)\n"
  msgstr "Le contenu vidéo est %dx%d (%.2f:1)\n"
@@@ -328,26 -340,21 +353,26 @@@ msgstr "
  msgid "Could not analyse audio."
  msgstr "Analyse du son impossible"
  
 -#: src/wx/film_viewer.cc:346
 -#, c-format
 -msgid "Could not decode video for view (%s)"
 -msgstr "Décodage de la vidéo pour visualisation impossible (%s)"
 +#: src/wx/content_panel.cc:280
 +msgid "Could not find any images nor a DCP in that folder"
 +msgstr ""
  
  #: src/wx/job_wrapper.cc:39
  #, c-format
  msgid "Could not make DCP: %s"
  msgstr "Impossible de créer le DCP : %s"
  
 -#: src/wx/screen_dialog.cc:95
 +#: src/wx/config_dialog.cc:688 src/wx/config_dialog.cc:783
 +#: src/wx/config_dialog.cc:803 src/wx/screen_dialog.cc:95
  #, c-format
  msgid "Could not read certificate file (%s)"
  msgstr "Lecture du ficher de certificat (%s) impossible"
  
 +#: src/wx/config_dialog.cc:775 src/wx/config_dialog.cc:825
 +#, fuzzy, c-format
 +msgid "Could not read key file (%s)"
 +msgstr "Lecture du ficher de certificat (%s) impossible"
 +
  #: src/wx/dolby_certificate_dialog.cc:39
  msgid "Country"
  msgstr "Pays"
  msgid "Create in folder"
  msgstr "Créer dans le dossier"
  
 -#: src/wx/video_panel.cc:304
 +#: src/wx/video_panel.cc:325
  #, c-format
  msgid "Cropped to %dx%d (%.2f:1)\n"
  msgstr "Rognage de %dx%d (%.2f:1)\n"
  
 -#: src/wx/video_panel.cc:244
 +#: src/wx/video_panel.cc:243
  msgid "Custom"
  msgstr "Personnalisé"
  
 -#: src/wx/film_editor.cc:87
 +#: src/wx/film_editor.cc:85
  msgid "DCP"
  msgstr "DCP"
  
 -#: src/wx/film_editor.cc:129
 +#: src/wx/dcp_panel.cc:72
  msgid "DCP Name"
  msgstr "Nom du DCP"
  
  msgid "DCP directory"
  msgstr "Répertoire du DCP"
  
 -#: src/wx/about_dialog.cc:45 src/wx/wx_util.cc:87 src/wx/wx_util.cc:95
 +#: src/wx/about_dialog.cc:49 src/wx/wx_util.cc:87 src/wx/wx_util.cc:95
  msgid "DCP-o-matic"
  msgstr "DCP-o-matic"
  
  msgid "DCP-o-matic audio - %s"
  msgstr "Son DCP-o-matic  - %s"
  
 -#: src/wx/config_dialog.cc:270
 +#: src/wx/config_dialog.cc:276
  msgid "Default ISDCF name details"
  msgstr "Nom ISDCF par défaut"
  
 -#: src/wx/config_dialog.cc:287
 +#: src/wx/config_dialog.cc:293
  msgid "Default JPEG2000 bandwidth"
  msgstr "Qualité JPEG2000 par défaut"
  
 -#: src/wx/config_dialog.cc:296
 +#: src/wx/config_dialog.cc:302
  msgid "Default audio delay"
  msgstr "Délai audio par défaut"
  
 -#: src/wx/config_dialog.cc:278
 +#: src/wx/config_dialog.cc:284
  msgid "Default container"
  msgstr "Format par défaut"
  
 -#: src/wx/config_dialog.cc:282
 +#: src/wx/config_dialog.cc:288
  msgid "Default content type"
  msgstr "Catégorie par défaut"
  
 -#: src/wx/config_dialog.cc:262
 +#: src/wx/config_dialog.cc:268
  msgid "Default directory for new films"
  msgstr "Dossier par défaut pour les DCP"
  
 -#: src/wx/config_dialog.cc:254
 +#: src/wx/config_dialog.cc:260
  msgid "Default duration of still images"
  msgstr "Durée par défaut des images fixes"
  
 -#: src/wx/config_dialog.cc:304
 +#: src/wx/config_dialog.cc:310
  msgid "Default issuer"
  msgstr "Labo par défaut"
  
 -#: src/wx/config_dialog.cc:274
 +#: src/wx/config_dialog.cc:280
  msgid "Default scale to"
  msgstr ""
  
 -#: src/wx/config_dialog.cc:235
 +#: src/wx/config_dialog.cc:241
  msgid "Defaults"
  msgstr "Par défaut"
  
 -#: src/wx/audio_panel.cc:67
 +#: src/wx/audio_panel.cc:70
  msgid "Delay"
  msgstr "Délai"
  
 -#: src/wx/film_editor.cc:125 src/wx/job_manager_view.cc:79
 +#: src/wx/dcp_panel.cc:68 src/wx/job_manager_view.cc:79
  msgid "Details..."
  msgstr "Détails..."
  
@@@ -452,7 -459,7 +477,7 @@@ msgstr "Doremi
  msgid "Doremi serial numbers must have 6 digits"
  msgstr "Les numéros de série Doremi doivent Ãªtre composés de 6 chiffres"
  
- #: src/wx/content_panel.cc:75
+ #: src/wx/film_editor.cc:296
  msgid "Down"
  msgstr "Descendre"
  
@@@ -477,8 -484,8 +502,8 @@@ msgstr "Éditer le cinéma
  msgid "Edit Screen..."
  msgstr "Éditer la salle"
  
 -#: src/wx/audio_mapping_view.cc:135 src/wx/config_dialog.cc:271
 -#: src/wx/video_panel.cc:155 src/wx/video_panel.cc:172
 +#: src/wx/audio_mapping_view.cc:143 src/wx/config_dialog.cc:277
 +#: src/wx/video_panel.cc:163 src/wx/video_panel.cc:170
  #: src/wx/editable_list.h:66
  msgid "Edit..."
  msgstr "Éditer..."
@@@ -491,34 -498,18 +516,34 @@@ msgstr "Adresse email pour l'envoi de K
  msgid "Encoding Servers"
  msgstr "Serveurs Encodage"
  
 -#: src/wx/film_editor.cc:162
 +#: src/wx/dcp_panel.cc:92
  msgid "Encrypted"
  msgstr "Crypté"
  
 -#: src/wx/config_dialog.cc:817
 +#: src/wx/subtitle_view.cc:47
 +msgid "End"
 +msgstr "Fin"
 +
 +#: src/wx/config_dialog.cc:1159
  msgid "Errors"
  msgstr "Erreurs"
  
 +#: src/wx/config_dialog.cc:651
 +msgid "Export DCP decryption certificate..."
 +msgstr ""
 +
  #: src/wx/isdcf_metadata_dialog.cc:50
  msgid "Facility (e.g. DLA)"
  msgstr "Laboratoire (ex. DLA)"
  
 +#: src/wx/video_panel.cc:133
 +msgid "Fade in"
 +msgstr ""
 +
 +#: src/wx/video_panel.cc:138
 +msgid "Fade out"
 +msgstr ""
 +
  #: src/wx/dolby_certificate_dialog.cc:76
  #: src/wx/dolby_certificate_dialog.cc:100
  #: src/wx/dolby_certificate_dialog.cc:123
@@@ -533,15 -524,15 +558,15 @@@ msgstr "Propriétés du film
  msgid "Film name"
  msgstr "Nom du Film"
  
 -#: src/wx/filter_dialog.cc:32 src/wx/video_panel.cc:146
 +#: src/wx/filter_dialog.cc:32 src/wx/video_panel.cc:160
  msgid "Filters"
  msgstr "Filtres"
  
 -#: src/wx/content_menu.cc:52
 +#: src/wx/content_menu.cc:55
  msgid "Find missing..."
  msgstr "Recherche de l'élément manquant..."
  
 -#: src/wx/film_editor.cc:145
 +#: src/wx/dcp_panel.cc:538
  msgid "Frame Rate"
  msgstr "Cadence image"
  
@@@ -553,7 -544,7 +578,7 @@@ msgstr "Images
  msgid "Frames already encoded"
  msgstr "Images déjà encodées"
  
 -#: src/wx/about_dialog.cc:61
 +#: src/wx/about_dialog.cc:65
  msgid "Free, open-source DCP generation from almost anything."
  msgstr "Création de DCP libre et gratuit depuis presque tout."
  
  msgid "From"
  msgstr "À partir du"
  
 -#: src/wx/config_dialog.cc:675
 +#: src/wx/config_dialog.cc:1014
  msgid "From address"
  msgstr "Adresse source"
  
 -#: src/wx/audio_mapping_view.cc:133
 +#: src/wx/audio_mapping_view.cc:141
  msgid "Full"
  msgstr "Plein"
  
  msgid "Full length"
  msgstr "Durée totale"
  
 -#: src/wx/audio_panel.cc:52
 +#: src/wx/audio_panel.cc:55
  msgid "Gain"
  msgstr "Gain"
  
@@@ -586,15 -577,15 +611,15 @@@ msgstr "Calculateur de gain
  msgid "Gain for content channel %d in DCP channel %d"
  msgstr "Gain pour le canal audio %d dans le canal du DCP %d"
  
 -#: src/wx/properties_dialog.cc:52
 +#: src/wx/properties_dialog.cc:51
  msgid "Gb"
  msgstr "Gb"
  
 -#: src/wx/config_dialog.cc:813
 +#: src/wx/config_dialog.cc:1155
  msgid "General"
  msgstr "Général"
  
 -#: src/wx/audio_mapping_view.cc:301
 +#: src/wx/audio_mapping_view.cc:309
  msgid "HI"
  msgstr "HI"
  
@@@ -610,15 -601,19 +635,19 @@@ msgstr "Hôtes
  msgid "Host name or IP address"
  msgstr "Nom de l'hôte ou adresse IP"
  
+ #: src/wx/audio_panel.cc:277
+ msgid "Hz"
+ msgstr "Hz"
  #: src/wx/gain_calculator_dialog.cc:29
  msgid "I want to play this back at fader"
  msgstr "Je veux lire avec une table de mixage"
  
 -#: src/wx/config_dialog.cc:560
 +#: src/wx/config_dialog.cc:899
  msgid "IP address"
  msgstr "Adresse IP"
  
 -#: src/wx/config_dialog.cc:456
 +#: src/wx/config_dialog.cc:462
  msgid "IP address / host name"
  msgstr "Adresse IP / Nom d'Hôte"
  
@@@ -630,27 -625,19 +659,27 @@@ msgstr "Nom ISDCF
  msgid "Input gamma"
  msgstr "gamma source"
  
 -#: src/wx/film_editor.cc:228
 +#: src/wx/config_dialog.cc:727
 +msgid "Intermediate"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:31
 +msgid "Intermediate common name"
 +msgstr ""
 +
 +#: src/wx/dcp_panel.cc:115
  msgid "Interop"
  msgstr "MXF-Interop"
  
 -#: src/wx/film_editor.cc:181
 +#: src/wx/dcp_panel.cc:565
  msgid "JPEG2000 bandwidth"
  msgstr "Qualité JPEG2000"
  
 -#: src/wx/content_menu.cc:51
 +#: src/wx/content_menu.cc:54
  msgid "Join"
  msgstr "Ajouter"
  
 -#: src/wx/config_dialog.cc:627
 +#: src/wx/config_dialog.cc:966
  msgid "KDM Email"
  msgstr "e-mail KDM"
  
@@@ -662,35 -649,23 +691,35 @@@ msgstr "
  msgid "KDM|Timing"
  msgstr "Temps"
  
- #: src/wx/content_panel.cc:85
+ #: src/wx/timeline_dialog.cc:41
  msgid "Keep video in sequence"
  msgstr "Conserver la vidéo dans la séquence"
  
 -#: src/wx/audio_mapping_view.cc:277
 +#: src/wx/config_dialog.cc:548
 +msgid "Keys"
 +msgstr ""
 +
 +#: src/wx/audio_mapping_view.cc:285
  msgid "L"
  msgstr "G"
  
 -#: src/wx/audio_mapping_view.cc:309
 +#: src/wx/audio_mapping_view.cc:317
  msgid "Lc"
  msgstr "CG"
  
 -#: src/wx/video_panel.cc:88
 +#: src/wx/config_dialog.cc:725
 +msgid "Leaf"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:33
 +msgid "Leaf common name"
 +msgstr ""
 +
 +#: src/wx/video_panel.cc:89
  msgid "Left crop"
  msgstr "Rogner Ã  gauche"
  
 -#: src/wx/audio_mapping_view.cc:289
 +#: src/wx/audio_mapping_view.cc:297
  msgid "Lfe"
  msgstr "BF"
  
@@@ -702,33 -677,27 +731,33 @@@ msgstr "Courbe gamma d'entrée linéair
  msgid "Load from file..."
  msgstr "Chargement depuis fichier..."
  
 -#: src/wx/config_dialog.cc:807
 +#: src/wx/config_dialog.cc:620 src/wx/config_dialog.cc:633
 +#: src/wx/config_dialog.cc:646
 +#, fuzzy
 +msgid "Load..."
 +msgstr "Ajouter..."
 +
 +#: src/wx/config_dialog.cc:1149
  msgid "Log"
  msgstr "Rapport"
  
 -#: src/wx/config_dialog.cc:804
 +#: src/wx/config_dialog.cc:1146
  msgid "Log:"
  msgstr ""
  
 -#: src/wx/audio_mapping_view.cc:293
 +#: src/wx/audio_mapping_view.cc:301
  msgid "Ls"
  msgstr "Sr.G"
  
- #: src/wx/content_panel.cc:438
+ #: src/wx/film_editor.cc:789
  msgid "MISSING: "
  msgstr "MANQUANT:"
  
 -#: src/wx/config_dialog.cc:660
 +#: src/wx/config_dialog.cc:999
  msgid "Mail password"
  msgstr "Mot de passe Mail"
  
 -#: src/wx/config_dialog.cc:656
 +#: src/wx/config_dialog.cc:995
  msgid "Mail user name"
  msgstr "Nom Utilisateur Mail"
  
  msgid "Make KDMs"
  msgstr "Générer KDMs"
  
 +#: src/wx/make_signer_chain_dialog.cc:23
 +#, fuzzy
 +msgid "Make certificate chain"
 +msgstr "Sélectionner le certificat"
 +
  #: src/wx/isdcf_metadata_dialog.cc:71
  msgid "Mastered luminance (e.g. 4fl)"
  msgstr "Luminance masterisée (ex: 4fl)"
  msgid "Matrix"
  msgstr "Matrice"
  
 -#: src/wx/config_dialog.cc:791
 +#: src/wx/config_dialog.cc:1133
  msgid "Maximum JPEG2000 bandwidth"
  msgstr "Qualité JPEG2000 Maxi"
  
 -#: src/wx/config_dialog.cc:291 src/wx/config_dialog.cc:795
 -#: src/wx/film_editor.cc:185
 +#: src/wx/config_dialog.cc:297 src/wx/config_dialog.cc:1137
 +#: src/wx/dcp_panel.cc:569
  msgid "Mbit/s"
  msgstr "Mbit/s"
  
- #: src/wx/video_panel.cc:301
+ #: src/wx/film_editor.cc:293
+ msgid "Move the selected piece of content earlier in the film."
+ msgstr ""
+ #: src/wx/film_editor.cc:297
+ msgid "Move the selected piece of content later in the film."
+ msgstr ""
+ #: src/wx/video_panel.cc:280
  msgid "Multiple content selected"
  msgstr "Contenus multiples sélectionnés"
  
  msgid "My Documents"
  msgstr "Mes Documents"
  
 -#: src/wx/cinema_dialog.cc:28 src/wx/config_dialog.cc:512
 -#: src/wx/film_editor.cc:113 src/wx/preset_colour_conversion_dialog.cc:38
 +#: src/wx/content_panel.cc:442
 +msgid "NEEDS KDM: "
 +msgstr ""
 +
 +#: src/wx/cinema_dialog.cc:28 src/wx/config_dialog.cc:518
 +#: src/wx/dcp_panel.cc:56 src/wx/preset_colour_conversion_dialog.cc:38
  #: src/wx/screen_dialog.cc:38
  msgid "Name"
  msgstr "Nom"
@@@ -784,46 -752,31 +821,50 @@@ msgstr "Nouveau Film
  msgid "New versions of DCP-o-matic are available."
  msgstr "De nouvelles versions de DCP-o-matic sont disponibles."
  
 -#: src/wx/audio_mapping_view.cc:348
 +#: src/wx/audio_mapping_view.cc:356
  #, c-format
  msgid "No audio will be passed from content channel %d to DCP channel %d."
  msgstr "Aucun son ne passera du canal audio %d au canal %d du DCP."
  
 -#: src/wx/video_panel.cc:153 src/wx/video_panel.cc:249
 +#: src/wx/audio_panel.cc:290 src/wx/video_panel.cc:161
 +#: src/wx/video_panel.cc:248
  msgid "None"
  msgstr "Aucun"
  
 -#: src/wx/audio_mapping_view.cc:132
 +#: src/wx/audio_mapping_view.cc:140
  msgid "Off"
  msgstr "Eteint"
  
 +#: src/wx/config_dialog.cc:1167
 +msgid "Open console window"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:25
 +#, fuzzy
 +msgid "Organisation"
 +msgstr "Durée"
 +
 +#: src/wx/make_signer_chain_dialog.cc:27
 +msgid "Organisational unit"
 +msgstr ""
 +
+ #: src/wx/film_editor.cc:301
+ msgid "Open the timeline for the film."
+ msgstr ""
  #: src/wx/screen_dialog.cc:65
  msgid "Other"
  msgstr "Autre"
  
 -#: src/wx/config_dialog.cc:652
 +#: src/wx/config_dialog.cc:991
  msgid "Outgoing mail server"
  msgstr "Serveurs de messagerie sortant"
  
 +#: src/wx/film_viewer.cc:61
 +#, fuzzy
 +msgid "Outline content"
 +msgstr "Contenus multiples sélectionnés"
 +
  #: src/wx/kdm_dialog.cc:156
  msgid "Output"
  msgstr "Sortie"
@@@ -836,12 -789,12 +877,12 @@@ msgstr "Gamma de sortie
  msgid "Package Type (e.g. OV)"
  msgstr "Type de paquet (ex. OV)"
  
 -#: src/wx/video_panel.cc:325
 +#: src/wx/video_panel.cc:346
  #, c-format
  msgid "Padded with black to %dx%d (%.2f:1)\n"
  msgstr "Enveloppe noire de %dx%d (%.2f:1)\n"
  
 -#: src/wx/config_dialog.cc:572
 +#: src/wx/config_dialog.cc:911
  msgid "Password"
  msgstr "Mot de passe"
  
@@@ -853,7 -806,7 +894,7 @@@ msgstr "Pause
  msgid "Peak"
  msgstr "Crête"
  
 -#: src/wx/film_viewer.cc:64
 +#: src/wx/film_viewer.cc:67
  msgid "Play"
  msgstr "Lecture"
  
@@@ -873,19 -826,7 +914,19 @@@ msgstr "Position
  msgid "Pre-release"
  msgstr "Avant sortie"
  
 -#: src/wx/audio_mapping_view.cc:281
 +#: src/wx/config_dialog.cc:638
 +msgid "Private key for decrypting DCPs"
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:612
 +msgid "Private key for leaf certificate"
 +msgstr ""
 +
 +#: src/wx/audio_panel.cc:89
 +msgid "Process with"
 +msgstr ""
 +
 +#: src/wx/audio_mapping_view.cc:289
  msgid "R"
  msgstr "D"
  
@@@ -897,25 -838,16 +938,25 @@@ msgstr "RMS
  msgid "Rating (e.g. 15)"
  msgstr "Rating (ex. 15)"
  
 -#: src/wx/audio_mapping_view.cc:313
 +#: src/wx/audio_mapping_view.cc:321
  msgid "Rc"
  msgstr "CD"
  
 +#: src/wx/content_menu.cc:56
 +msgid "Re-examine..."
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:608
 +#, fuzzy
 +msgid "Re-make certificates..."
 +msgstr "Téléchargement Certificat"
 +
  #: src/wx/isdcf_metadata_dialog.cc:62
  msgid "Red band"
  msgstr "Red Band"
  
- #: src/wx/config_dialog.cc:599 src/wx/content_menu.cc:59
- #: src/wx/content_panel.cc:71 src/wx/editable_list.h:68
+ #: src/wx/content_menu.cc:54 src/wx/film_editor.cc:288
+ #: src/wx/editable_list.h:68
  msgid "Remove"
  msgstr "Supprimer"
  
@@@ -927,6 -859,10 +968,10 @@@ msgstr "Supprimer le cinéma
  msgid "Remove Screen"
  msgstr "Supprimer la salle"
  
+ #: src/wx/film_editor.cc:289
+ msgid "Remove the selected piece of content from the film."
+ msgstr ""
  #: src/wx/repeat_dialog.cc:26
  msgid "Repeat"
  msgstr "Répéter"
  msgid "Repeat Content"
  msgstr "Répéter le contenu"
  
 -#: src/wx/content_menu.cc:50
 +#: src/wx/content_menu.cc:53
  msgid "Repeat..."
  msgstr "Répéter..."
  
 -#: src/wx/config_dialog.cc:690
 +#: src/wx/config_dialog.cc:1029
  msgid "Reset to default text"
  msgstr "texte par défaut"
  
 -#: src/wx/film_editor.cc:175
 +#: src/wx/dcp_panel.cc:559
  msgid "Resolution"
  msgstr "Résolution"
  
  msgid "Resume"
  msgstr "Reprendre"
  
 -#: src/wx/audio_mapping_view.cc:356
 +#: src/wx/audio_mapping_view.cc:364
  msgid "Right click to change gain."
  msgstr "Cliquez droit pour modifier le gain."
  
  msgid "Right crop"
  msgstr "Rogner Ã  droite"
  
 -#: src/wx/audio_mapping_view.cc:297
 +#: src/wx/config_dialog.cc:723
 +msgid "Root"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:29
 +msgid "Root common name"
 +msgstr ""
 +
 +#: src/wx/audio_mapping_view.cc:305
  msgid "Rs"
  msgstr "Sr.D"
  
 -#: src/wx/film_editor.cc:227
 +#: src/wx/dcp_panel.cc:114
  msgid "SMPTE"
  msgstr "SMPTE"
  
 -#: src/wx/video_panel.cc:132
 +#: src/wx/video_panel.cc:143
  msgid "Scale to"
  msgstr "Mise Ã  l'échelle"
  
 -#: src/wx/video_panel.cc:316
 +#: src/wx/video_panel.cc:337
  #, c-format
  msgid "Scaled to %dx%d (%.2f:1)\n"
  msgstr "Mis Ã  l'échelle de %dx%d (%.2f:1)\n"
  
 -#: src/wx/film_editor.cc:195
 +#: src/wx/dcp_panel.cc:574
  msgid "Scaler"
  msgstr "Mise Ã  l'échelle"
  
@@@ -996,20 -924,10 +1041,20 @@@ msgstr "Ecrans
  msgid "Select CPL XML file"
  msgstr "Sélectionner le fichier CPL.xml"
  
 -#: src/wx/screen_dialog.cc:102
 +#: src/wx/config_dialog.cc:679 src/wx/config_dialog.cc:795
 +#: src/wx/config_dialog.cc:840 src/wx/screen_dialog.cc:102
  msgid "Select Certificate File"
  msgstr "Sélectionner le certificat"
  
 +#: src/wx/content_menu.cc:266
 +msgid "Select KDM"
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:769 src/wx/config_dialog.cc:817
 +#, fuzzy
 +msgid "Select Key File"
 +msgstr "Sélectionner le certificat"
 +
  #: src/wx/kdm_dialog.cc:185
  msgid "Send by email"
  msgstr "Envoyé par e-mail"
@@@ -1030,7 -948,7 +1075,7 @@@ msgstr "Constructeur du serveur
  msgid "Server serial number"
  msgstr "Numéro de Série du Serveur"
  
 -#: src/wx/config_dialog.cc:438
 +#: src/wx/config_dialog.cc:444
  msgid "Servers"
  msgstr "Serveurs"
  
  msgid "Set"
  msgstr "Sélection"
  
 -#: src/wx/config_dialog.cc:92
 +#: src/wx/config_dialog.cc:99
  msgid "Set language"
  msgstr "Sélectionnez la langue"
  
 -#: src/wx/audio_panel.cc:48
 +#: src/wx/audio_panel.cc:51
  msgid "Show Audio..."
  msgstr "Afficher le son..."
  
 -#: src/wx/film_editor.cc:158
 +#: src/wx/dcp_panel.cc:88
  msgid "Signed"
  msgstr "Signé"
  
@@@ -1062,16 -980,11 +1107,16 @@@ msgstr "Magnetisme
  msgid "Stable version "
  msgstr "Version Stable"
  
 -#: src/wx/film_editor.cc:190
 +#: src/wx/dcp_panel.cc:96
  msgid "Standard"
  msgstr "Standard"
  
 -#: src/wx/audio_panel.cc:81 src/wx/subtitle_panel.cc:79
 +#: src/wx/subtitle_view.cc:39
 +#, fuzzy
 +msgid "Start"
 +msgstr "Début"
 +
 +#: src/wx/audio_panel.cc:84 src/wx/subtitle_panel.cc:87
  msgid "Stream"
  msgstr "Flux"
  
  msgid "Studio (e.g. TCF)"
  msgstr "Studio (ex. TCF)"
  
 -#: src/wx/config_dialog.cc:671
 +#: src/wx/config_dialog.cc:1010
  msgid "Subject"
  msgstr ""
  
 +#: src/wx/subtitle_view.cc:55
 +#, fuzzy
 +msgid "Subtitle"
 +msgstr "Sous-titres"
 +
  #: src/wx/isdcf_metadata_dialog.cc:38
  msgid "Subtitle Language (e.g. FR)"
  msgstr "Langue de sous-titres (ex. FR)"
  
 -#: src/wx/subtitle_panel.cc:34
 +#: src/wx/subtitle_panel.cc:41 src/wx/subtitle_view.cc:32
  msgid "Subtitles"
  msgstr "Sous-titres"
  
- #: src/wx/about_dialog.cc:165
+ #: src/wx/about_dialog.cc:166
  msgid "Supported by"
  msgstr "Soutenu par"
  
 -#: src/wx/config_dialog.cc:542
 +#: src/wx/config_dialog.cc:881
  msgid "TMS"
  msgstr "TMS"
  
 -#: src/wx/config_dialog.cc:564
 +#: src/wx/config_dialog.cc:903
  msgid "Target path"
  msgstr "Chemin cible"
  
@@@ -1120,11 -1028,11 +1165,11 @@@ msgstr "Territoire (ex. FR)
  msgid "Test version "
  msgstr "Version test"
  
- #: src/wx/about_dialog.cc:210
+ #: src/wx/about_dialog.cc:211
  msgid "Tested by"
  msgstr "Testé par"
  
 -#: src/wx/content_menu.cc:223
 +#: src/wx/content_menu.cc:252
  msgid ""
  "The content file(s) you specified are not the same as those that are "
  "missing.  Either try again with the correct content file or remove the "
@@@ -1138,7 -1046,7 +1183,7 @@@ msgstr "
  msgid "There are no hints: everything looks good!"
  msgstr "Il n'y a aucun avertissement: tout semble correct!"
  
 -#: src/wx/film_viewer.cc:134
 +#: src/wx/film_viewer.cc:142
  msgid "There is not enough free memory to do that."
  msgstr "Il n'y a pas assez de mémoire pour faire cela."
  
@@@ -1150,23 -1058,19 +1195,23 @@@ msgstr "Ceci n'est pas un fichier CPL v
  msgid "Threads"
  msgstr "Processus"
  
 -#: src/wx/config_dialog.cc:111
 +#: src/wx/config_dialog.cc:118
  msgid "Threads to use for encoding on this host"
  msgstr "Nombre de processus Ã  utiliser sur cet hôte"
  
 +#: src/wx/config_dialog.cc:583
 +msgid "Thumbprint"
 +msgstr ""
 +
  #: src/wx/audio_plot.cc:165
  msgid "Time"
  msgstr "Durée"
  
 -#: src/wx/timeline_dialog.cc:32
 +#: src/wx/timeline_dialog.cc:33
  msgid "Timeline"
  msgstr "Timeline"
  
- #: src/wx/content_panel.cc:77
+ #: src/wx/film_editor.cc:300
  msgid "Timeline..."
  msgstr "Timeline..."
  
  msgid "Timing|Timing"
  msgstr "Temps"
  
 -#: src/wx/video_panel.cc:110
 +#: src/wx/video_panel.cc:111
  msgid "Top crop"
  msgstr "Rogner en haut"
  
 -#: src/wx/about_dialog.cc:107
 +#: src/wx/about_dialog.cc:111
  msgid "Translated by"
  msgstr "Traduit par"
  
@@@ -1190,8 -1094,7 +1235,8 @@@ msgstr "Rogner par la fin
  msgid "Trim from start"
  msgstr "Rogner au début"
  
 -#: src/wx/audio_dialog.cc:55 src/wx/video_panel.cc:75
 +#: src/wx/audio_dialog.cc:55 src/wx/config_dialog.cc:575
 +#: src/wx/video_panel.cc:76
  msgid "Type"
  msgstr "Type"
  
@@@ -1207,7 -1110,7 +1252,7 @@@ msgstr "inconnu.
  msgid "Until"
  msgstr "Jusqu'au"
  
- #: src/wx/content_panel.cc:73
+ #: src/wx/film_editor.cc:292
  msgid "Up"
  msgstr "Monter"
  
  msgid "Update"
  msgstr "Mise Ã  jour"
  
 -#: src/wx/film_editor.cc:123
 +#: src/wx/dcp_panel.cc:66
  msgid "Use ISDCF name"
  msgstr "Utiliser le nom ISDCF"
  
 -#: src/wx/config_dialog.cc:452
 +#: src/wx/config_dialog.cc:458
  msgid "Use all servers"
  msgstr "Utiliser tous les serveurs"
  
 -#: src/wx/film_editor.cc:152
 +#: src/wx/dcp_panel.cc:545
  msgid "Use best"
  msgstr "Automatique"
  
  msgid "Use preset"
  msgstr "Utiliser le préréglage"
  
 -#: src/wx/config_dialog.cc:568
 +#: src/wx/subtitle_panel.cc:47
 +#, fuzzy
 +msgid "Use subtitles"
 +msgstr "Sous-titres"
 +
 +#: src/wx/config_dialog.cc:907
  msgid "User name"
  msgstr "Nom d'utilisateur"
  
 -#: src/wx/audio_mapping_view.cc:305
 +#: src/wx/audio_mapping_view.cc:313
  msgid "VI"
  msgstr "VI"
  
 -#: src/wx/video_panel.cc:68
 +#: src/wx/dcp_panel.cc:85 src/wx/video_panel.cc:69
  msgid "Video"
  msgstr "Vidéo"
  
  msgid "Video frame rate"
  msgstr "Cadence vidéo"
  
 -#: src/wx/config_dialog.cc:815
 +#: src/wx/subtitle_panel.cc:91
 +msgid "View..."
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:1157
  msgid "Warnings"
  msgstr "Avertissements"
  
 -#: src/wx/subtitle_panel.cc:39
 -msgid "With Subtitles"
 -msgstr "Avec sous-titres"
 -
  #: src/wx/kdm_dialog.cc:172
  msgid "Write to"
  msgstr "Ecrire Ã "
  
 -#: src/wx/about_dialog.cc:91
 +#: src/wx/about_dialog.cc:95
  msgid "Written by"
  msgstr "Développé par"
  
 -#: src/wx/subtitle_panel.cc:44
 +#: src/wx/subtitle_panel.cc:52
  msgid "X Offset"
  msgstr "Position horizontale"
  
 -#: src/wx/subtitle_panel.cc:62
 +#: src/wx/subtitle_panel.cc:70
  #, fuzzy
  msgid "X Scale"
  msgstr "Mise Ã  l'échelle"
  
 -#: src/wx/subtitle_panel.cc:53
 +#: src/wx/subtitle_panel.cc:61
  msgid "Y Offset"
  msgstr "Position verticale"
  
 -#: src/wx/subtitle_panel.cc:71
 +#: src/wx/subtitle_panel.cc:79
  #, fuzzy
  msgid "Y Scale"
  msgstr "Mise Ã  l'échelle"
@@@ -1321,62 -1219,46 +1366,48 @@@ msgstr "
  "Votre DCP a moins de 6 canaux audio.  Cela peut créer des problèmes de "
  "lecture sur certains projecteurs."
  
 -#: src/wx/timeline.cc:220
 +#: src/wx/timeline.cc:229
  msgid "audio"
  msgstr "audio"
  
+ #: src/wx/audio_panel.cc:275
+ msgid "channels"
+ msgstr "canaux"
  #: src/wx/properties_dialog.cc:46
  msgid "counting..."
  msgstr "calcul..."
  
 -#: src/wx/audio_gain_dialog.cc:30 src/wx/audio_panel.cc:62
 +#: src/wx/audio_gain_dialog.cc:30 src/wx/audio_panel.cc:65
  msgid "dB"
  msgstr "dB"
  
  #. / TRANSLATORS: this is an abbreviation for milliseconds, the unit of time
 -#: src/wx/audio_panel.cc:78 src/wx/config_dialog.cc:300
 +#: src/wx/audio_panel.cc:81 src/wx/config_dialog.cc:306
  msgid "ms"
  msgstr "ms"
  
 -#: src/wx/config_dialog.cc:258
 +#: src/wx/config_dialog.cc:264
  msgid "s"
  msgstr "s"
  
 -#: src/wx/timeline.cc:243
 +#: src/wx/timeline.cc:258
  msgid "still"
  msgstr "fixe"
  
 +#: src/wx/timeline.cc:289
 +#, fuzzy
 +msgid "subtitles"
 +msgstr "Sous-titres"
 +
  #: src/wx/repeat_dialog.cc:28
  msgid "times"
  msgstr "fois"
  
 -#: src/wx/timeline.cc:241
 +#: src/wx/timeline.cc:260
  msgid "video"
  msgstr "vidéo"
  
- #~ msgid "1 channel"
- #~ msgstr "1 canal"
- #~ msgid "Audio channels"
- #~ msgstr "Canaux audios"
- #~ msgid "Could not decode video for view (%s)"
- #~ msgstr "Décodage de la vidéo pour visualisation impossible (%s)"
- #~ msgid "Hz"
- #~ msgstr "Hz"
- #~ msgid "With Subtitles"
- #~ msgstr "Avec sous-titres"
- #~ msgid "channels"
- #~ msgstr "canaux"
 -#~ msgid "Add folder..."
 -#~ msgstr "Ajout dossier..."
--
  #~ msgid "Default creator"
  #~ msgstr "Créateur par défaut"
  
  #~ msgid "Add"
  #~ msgstr "Ajouter"
  
 -#~ msgid "Duration"
 -#~ msgstr "Durée"
 -
  #~ msgid "Edit"
  #~ msgstr "Édition"
  
  #~ msgid "Running"
  #~ msgstr "Progression"
  
 -#~ msgid "Start time"
 -#~ msgstr "Début"
 -
  #~ msgid "A/B"
  #~ msgstr "A/B"
  
  #~ msgid "A/B mode"
  #~ msgstr "A/B mode"
  
- #~ msgid "Audio will be resampled from %dHz to %dHz\n"
- #~ msgstr "L'audio sera rééchantillonné de %dHz Ã  %dHz\n"
  #~ msgid "Colour look-up table"
  #~ msgstr "Espace colorimétrique"
  
  #~ msgid "DVD-o-matic Preferences"
  #~ msgstr "Préférences de DCP-o-matic"
  
 -#~ msgid "End"
 -#~ msgstr "Fin"
 -
  #~ msgid "Film"
  #~ msgstr "Film"
  
diff --combined src/wx/po/it_IT.po
index 35cb8db88a54ac8b805f07f29e2e98dfb5783df2,9dcce02d18b53603cfade8872a67afffc167560f..875be0ddf1c8efdb300dd64a6c5f4a9e765ab767
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: IT VERSION\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2014-10-16 16:38+0100\n"
+ "POT-Creation-Date: 2014-10-23 22:03+0100\n"
  "PO-Revision-Date: 2014-02-03 10:46+0100\n"
  "Last-Translator: William Fanelli <william.f@impronte.com>\n"
  "Language-Team: \n"
  "Content-Transfer-Encoding: 8bit\n"
  "X-Generator: Poedit 1.6.3\n"
  
 -#: src/wx/subtitle_panel.cc:48 src/wx/subtitle_panel.cc:57
 -#: src/wx/subtitle_panel.cc:66 src/wx/subtitle_panel.cc:75
 +#: src/wx/subtitle_panel.cc:56 src/wx/subtitle_panel.cc:65
 +#: src/wx/subtitle_panel.cc:74 src/wx/subtitle_panel.cc:83
  msgid "%"
  msgstr "%"
  
 -#: src/wx/about_dialog.cc:78
 +#: src/wx/about_dialog.cc:82
  msgid ""
  "(C) 2012-2014 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
  msgstr ""
  
 -#: src/wx/config_dialog.cc:664
 +#: src/wx/config_dialog.cc:1003
  msgid "(password will be stored on disk in plaintext)"
  msgstr ""
  
 -#: src/wx/config_dialog.cc:104
 +#: src/wx/config_dialog.cc:111
  msgid "(restart DCP-o-matic to see language changes)"
  msgstr "(riavviare DCP-o-matic per vedere i cambiamenti di lingua)"
  
 -#: src/wx/audio_mapping_view.cc:134
 +#: src/wx/audio_mapping_view.cc:142
  msgid "-6dB"
  msgstr ""
  
  msgid "1 / "
  msgstr ""
  
- #: src/wx/video_panel.cc:193
+ #: src/wx/audio_panel.cc:273
+ msgid "1 channel"
+ msgstr "1 canale"
+ #: src/wx/video_panel.cc:197
  msgid "2D"
  msgstr ""
  
  msgid "2D version of content available in 3D"
  msgstr "Una nuova versione di DCP-o-matic Ã¨ disponibile."
  
 -#: src/wx/film_editor.cc:224
 +#: src/wx/dcp_panel.cc:607
  msgid "2K"
  msgstr ""
  
 -#: src/wx/film_editor.cc:171
 +#: src/wx/dcp_panel.cc:555
  msgid "3D"
  msgstr ""
  
 -#: src/wx/video_panel.cc:200
 +#: src/wx/video_panel.cc:196
  msgid "3D alternate"
  msgstr ""
  
 -#: src/wx/video_panel.cc:201
 +#: src/wx/video_panel.cc:197
  msgid "3D left only"
  msgstr ""
  
 -#: src/wx/video_panel.cc:198
 +#: src/wx/video_panel.cc:194
  msgid "3D left/right"
  msgstr ""
  
 -#: src/wx/video_panel.cc:202
 +#: src/wx/video_panel.cc:198
  msgid "3D right only"
  msgstr ""
  
 -#: src/wx/video_panel.cc:199
 +#: src/wx/video_panel.cc:195
  msgid "3D top/bottom"
  msgstr ""
  
 -#: src/wx/film_editor.cc:225
 +#: src/wx/dcp_panel.cc:608
  msgid "4K"
  msgstr ""
  
@@@ -88,7 -92,7 +92,7 @@@
  msgid "A new version of DCP-o-matic is available."
  msgstr "Una nuova versione di DCP-o-matic Ã¨ disponibile"
  
 -#: src/wx/about_dialog.cc:30
 +#: src/wx/about_dialog.cc:34
  msgid "About DCP-o-matic"
  msgstr "Su DCP-o-matic"
  
  msgid "Add Cinema..."
  msgstr "Aggiungi Cinema"
  
 +#: src/wx/content_menu.cc:57
 +#, fuzzy
 +msgid "Add KDM..."
 +msgstr "Aggiungi Cinema"
 +
  #: src/wx/kdm_dialog.cc:86
  msgid "Add Screen..."
  msgstr "Aggiungi Schermo"
  
- #: src/wx/content_panel.cc:67
+ #: src/wx/film_editor.cc:285
+ msgid ""
+ "Add a directory of image files which will be used as a moving image sequence."
+ msgstr ""
+ #: src/wx/film_editor.cc:280
  msgid "Add file(s)..."
  msgstr "Aggiungi File"
  
- #: src/wx/content_panel.cc:69
- msgid "Add folder..."
- msgstr "Aggiungi cartella"
+ #: src/wx/film_editor.cc:284
+ msgid ""
+ "Add image\n"
+ "sequence..."
+ msgstr ""
+ #: src/wx/film_editor.cc:281
+ msgid "Add video, image or sound files to the film."
+ msgstr ""
  
 -#: src/wx/editable_list.h:62
 +#: src/wx/config_dialog.cc:597 src/wx/editable_list.h:62
  msgid "Add..."
  msgstr "Aggiungi..."
  
@@@ -133,16 -143,16 +148,16 @@@ msgid "
  "tab."
  msgstr ""
  
 -#: src/wx/config_dialog.cc:799
 +#: src/wx/config_dialog.cc:1141
  #, fuzzy
  msgid "Allow any DCP frame rate"
  msgstr "Frequenza fotogrammi video"
  
 -#: src/wx/about_dialog.cc:111
 +#: src/wx/about_dialog.cc:115
  msgid "Artwork by"
  msgstr ""
  
 -#: src/wx/audio_dialog.cc:33 src/wx/audio_panel.cc:40
 +#: src/wx/audio_dialog.cc:33 src/wx/audio_panel.cc:43 src/wx/dcp_panel.cc:86
  msgid "Audio"
  msgstr "Audio"
  
  msgid "Audio Language (e.g. EN)"
  msgstr "Lingua dell'audio (es. EN)"
  
 -#: src/wx/film_editor.cc:166
 -msgid "Audio channels"
 -msgstr "Canali audio"
 -
 -#: src/wx/audio_mapping_view.cc:350
 +#: src/wx/audio_mapping_view.cc:358
  #, c-format
  msgid ""
  "Audio will be passed from content channel %d to DCP channel %d unaltered."
  msgstr ""
  "L' audio sarà trasferito dal canale %d sorgente al canale %d DCP inalterato."
  
 -#: src/wx/audio_mapping_view.cc:353
 +#: src/wx/audio_mapping_view.cc:361
  #, c-format
  msgid ""
  "Audio will be passed from content channel %d to DCP channel %d with gain "
@@@ -166,7 -180,17 +181,17 @@@ msgstr "
  "L' audio sarà trasferito dal canale %d sorgente al canale %d DCP con "
  "guadagno di %.1fdB."
  
- #: src/wx/config_dialog.cc:1022
+ #: src/wx/audio_panel.cc:248
+ #, fuzzy, c-format
+ msgid "Audio will be resampled from %.3fkHz to %.3fkHz."
+ msgstr "L'Audio sarà ricampionato da %dHz a %dHz"
+ #: src/wx/audio_panel.cc:253
+ #, fuzzy
+ msgid "Audio will not be resampled."
+ msgstr "L'Audio sarà ricampionato da %dHz a %dHz."
+ #: src/wx/config_dialog.cc:683
  #, fuzzy
  msgid "BCC address"
  msgstr "Indirizzo IP"
@@@ -184,27 -208,23 +209,27 @@@ msgstr "Taglio in basso
  msgid "Browse..."
  msgstr "Sfoglia..."
  
 -#: src/wx/audio_mapping_view.cc:317
 +#: src/wx/audio_mapping_view.cc:325
  msgid "BsL"
  msgstr "BsL"
  
 -#: src/wx/audio_mapping_view.cc:321
 +#: src/wx/audio_mapping_view.cc:329
  msgid "BsR"
  msgstr "BsR"
  
 +#: src/wx/dcp_panel.cc:551
 +msgid "Burn subtitles into image"
 +msgstr ""
 +
  #: src/wx/gain_calculator_dialog.cc:32
  msgid "But I have to use fader"
  msgstr "Ma dovrò riprodurre con il fader a"
  
 -#: src/wx/audio_mapping_view.cc:285
 +#: src/wx/audio_mapping_view.cc:293
  msgid "C"
  msgstr "C"
  
 -#: src/wx/config_dialog.cc:679
 +#: src/wx/config_dialog.cc:1018
  #, fuzzy
  msgid "CC address"
  msgstr "Indirizzo IP"
@@@ -221,7 -241,7 +246,7 @@@ msgstr "
  msgid "CPL annotation text"
  msgstr ""
  
 -#: src/wx/audio_panel.cc:63
 +#: src/wx/audio_panel.cc:66
  msgid "Calculate..."
  msgstr "Calcola..."
  
@@@ -234,20 -254,12 +259,20 @@@ msgstr "Annulla
  msgid "Certificate"
  msgstr "Seleziona il file del Certificato"
  
 +#: src/wx/config_dialog.cc:564
 +msgid "Certificate chain for signing DCPs and KDMs:"
 +msgstr ""
 +
  #: src/wx/dolby_certificate_dialog.cc:191
  #: src/wx/doremi_certificate_dialog.cc:103
  #, fuzzy
  msgid "Certificate downloaded"
  msgstr "Seleziona il file del Certificato"
  
 +#: src/wx/config_dialog.cc:625
 +msgid "Certificate for decrypting DCPs"
 +msgstr ""
 +
  #: src/wx/isdcf_metadata_dialog.cc:65
  msgid "Chain"
  msgstr ""
  msgid "Channel gain"
  msgstr "Guadagno audio"
  
 -#: src/wx/audio_dialog.cc:44
 +#: src/wx/audio_dialog.cc:44 src/wx/dcp_panel.cc:623
  msgid "Channels"
  msgstr "Canali"
  
 -#: src/wx/config_dialog.cc:120
 +#: src/wx/config_dialog.cc:126
  msgid "Check for testing updates as well as stable ones"
  msgstr "Controlla per aggiornamenti test o stabili"
  
 -#: src/wx/config_dialog.cc:116
 +#: src/wx/config_dialog.cc:122
  msgid "Check for updates on startup"
  msgstr "Controlla gli aggiornamentio alla partenza"
  
 -#: src/wx/content_menu.cc:182
 +#: src/wx/content_menu.cc:198
  msgid "Choose a file"
  msgstr "Scegli un file"
  
- #: src/wx/content_panel.cc:241
+ #: src/wx/film_editor.cc:815
  msgid "Choose a file or files"
  msgstr "Scegli uno o più file"
  
- #: src/wx/content_menu.cc:191 src/wx/content_panel.cc:264
+ #: src/wx/content_menu.cc:175 src/wx/film_editor.cc:838
  msgid "Choose a folder"
  msgstr "Scegli una cartella"
  
  msgid "Cinema"
  msgstr "Aggiungi Cinema"
  
 -#: src/wx/config_dialog.cc:498
 +#: src/wx/config_dialog.cc:504
  #, fuzzy
  msgid "Colour Conversions"
  msgstr "Conversioni colore"
  
  #: src/wx/content_colour_conversion_dialog.cc:34
 -#: src/wx/preset_colour_conversion_dialog.cc:30 src/wx/video_panel.cc:162
 +#: src/wx/preset_colour_conversion_dialog.cc:30 src/wx/video_panel.cc:167
  msgid "Colour conversion"
  msgstr "Conversione colore"
  
 -#: src/wx/config_dialog.cc:819
 +#: src/wx/config_dialog.cc:1161
  msgid "Config|Timing"
  msgstr ""
  
 -#: src/wx/film_editor.cc:134
 +#: src/wx/dcp_panel.cc:532
  msgid "Container"
  msgstr "Contenitore"
  
 -#: src/wx/audio_mapping_view.cc:270 src/wx/film_editor.cc:85
 +#: src/wx/audio_mapping_view.cc:278 src/wx/film_editor.cc:83
  msgid "Content"
  msgstr "Sorgente"
  
 -#: src/wx/film_editor.cc:139
 +#: src/wx/dcp_panel.cc:77
  msgid "Content Type"
  msgstr "Tipo di sorgente"
  
 -#: src/wx/video_panel.cc:332
 +#: src/wx/video_panel.cc:353
  #, c-format
  msgid "Content frame rate %.4f\n"
  msgstr "Freq. fotogrammi sorgente %.4f\n"
  msgid "Content version"
  msgstr "Tipo di sorgente"
  
 -#: src/wx/video_panel.cc:292
 +#: src/wx/video_panel.cc:313
  #, fuzzy, c-format
  msgid "Content video is %dx%d (%.2f:1)\n"
  msgstr "Il video originale Ã¨ %dx%d (%.2f:1)\n"
@@@ -333,26 -345,21 +358,26 @@@ msgstr "
  msgid "Could not analyse audio."
  msgstr "Non posso analizzare l'audio."
  
 -#: src/wx/film_viewer.cc:346
 -#, c-format
 -msgid "Could not decode video for view (%s)"
 -msgstr "Non posso decodificare il video per guardarlo (%s)"
 +#: src/wx/content_panel.cc:280
 +msgid "Could not find any images nor a DCP in that folder"
 +msgstr ""
  
  #: src/wx/job_wrapper.cc:39
  #, c-format
  msgid "Could not make DCP: %s"
  msgstr "Non posso creare il DCP: %s"
  
 -#: src/wx/screen_dialog.cc:95
 +#: src/wx/config_dialog.cc:688 src/wx/config_dialog.cc:783
 +#: src/wx/config_dialog.cc:803 src/wx/screen_dialog.cc:95
  #, fuzzy, c-format
  msgid "Could not read certificate file (%s)"
  msgstr "Non posso aprire il file del contenuto (%s)"
  
 +#: src/wx/config_dialog.cc:775 src/wx/config_dialog.cc:825
 +#, fuzzy, c-format
 +msgid "Could not read key file (%s)"
 +msgstr "Non posso aprire il file del contenuto (%s)"
 +
  #: src/wx/dolby_certificate_dialog.cc:39
  msgid "Country"
  msgstr ""
  msgid "Create in folder"
  msgstr "Crea nella cartella"
  
 -#: src/wx/video_panel.cc:304
 +#: src/wx/video_panel.cc:325
  #, c-format
  msgid "Cropped to %dx%d (%.2f:1)\n"
  msgstr "Tagliato da %dx%d (%.2f:1)\n"
  
 -#: src/wx/video_panel.cc:244
 +#: src/wx/video_panel.cc:243
  msgid "Custom"
  msgstr ""
  
 -#: src/wx/film_editor.cc:87
 +#: src/wx/film_editor.cc:85
  msgid "DCP"
  msgstr ""
  
 -#: src/wx/film_editor.cc:129
 +#: src/wx/dcp_panel.cc:72
  msgid "DCP Name"
  msgstr "Nome del DCP"
  
  msgid "DCP directory"
  msgstr ""
  
 -#: src/wx/about_dialog.cc:45 src/wx/wx_util.cc:87 src/wx/wx_util.cc:95
 +#: src/wx/about_dialog.cc:49 src/wx/wx_util.cc:87 src/wx/wx_util.cc:95
  msgid "DCP-o-matic"
  msgstr "DCP-o-matic"
  
  msgid "DCP-o-matic audio - %s"
  msgstr "Audio DCP-o-matic - %s"
  
 -#: src/wx/config_dialog.cc:270
 +#: src/wx/config_dialog.cc:276
  #, fuzzy
  msgid "Default ISDCF name details"
  msgstr "Dettagli del nome DCI predefinito"
  
 -#: src/wx/config_dialog.cc:287
 +#: src/wx/config_dialog.cc:293
  #, fuzzy
  msgid "Default JPEG2000 bandwidth"
  msgstr "Banda passante JPEG2000"
  
 -#: src/wx/config_dialog.cc:296
 +#: src/wx/config_dialog.cc:302
  msgid "Default audio delay"
  msgstr "Ritardo audio predefinito"
  
 -#: src/wx/config_dialog.cc:278
 +#: src/wx/config_dialog.cc:284
  msgid "Default container"
  msgstr "Contenitore predefinito"
  
 -#: src/wx/config_dialog.cc:282
 +#: src/wx/config_dialog.cc:288
  msgid "Default content type"
  msgstr "Tipo sorgente predefinito"
  
 -#: src/wx/config_dialog.cc:262
 +#: src/wx/config_dialog.cc:268
  msgid "Default directory for new films"
  msgstr "Cartella predefinita per i nuovi films"
  
 -#: src/wx/config_dialog.cc:254
 +#: src/wx/config_dialog.cc:260
  msgid "Default duration of still images"
  msgstr "Durata predefinita immagini statiche"
  
 -#: src/wx/config_dialog.cc:304
 +#: src/wx/config_dialog.cc:310
  #, fuzzy
  msgid "Default issuer"
  msgstr "Predefiniti"
  
 -#: src/wx/config_dialog.cc:274
 +#: src/wx/config_dialog.cc:280
  msgid "Default scale to"
  msgstr ""
  
 -#: src/wx/config_dialog.cc:235
 +#: src/wx/config_dialog.cc:241
  msgid "Defaults"
  msgstr "Predefiniti"
  
 -#: src/wx/audio_panel.cc:67
 +#: src/wx/audio_panel.cc:70
  #, fuzzy
  msgid "Delay"
  msgstr "Ritardo dell'audio"
  
 -#: src/wx/film_editor.cc:125 src/wx/job_manager_view.cc:79
 +#: src/wx/dcp_panel.cc:68 src/wx/job_manager_view.cc:79
  msgid "Details..."
  msgstr "Dettagli"
  
@@@ -461,7 -468,7 +486,7 @@@ msgstr "
  msgid "Doremi serial numbers must have 6 digits"
  msgstr ""
  
- #: src/wx/content_panel.cc:75
+ #: src/wx/film_editor.cc:296
  msgid "Down"
  msgstr ""
  
@@@ -486,8 -493,8 +511,8 @@@ msgstr "Modifica Cinema...
  msgid "Edit Screen..."
  msgstr "Modifica Schermo..."
  
 -#: src/wx/audio_mapping_view.cc:135 src/wx/config_dialog.cc:271
 -#: src/wx/video_panel.cc:155 src/wx/video_panel.cc:172
 +#: src/wx/audio_mapping_view.cc:143 src/wx/config_dialog.cc:277
 +#: src/wx/video_panel.cc:163 src/wx/video_panel.cc:170
  #: src/wx/editable_list.h:66
  msgid "Edit..."
  msgstr "Modifica..."
@@@ -501,34 -508,18 +526,34 @@@ msgstr "Indirizzo email per consegna KD
  msgid "Encoding Servers"
  msgstr "Servers di codifica"
  
 -#: src/wx/film_editor.cc:162
 +#: src/wx/dcp_panel.cc:92
  msgid "Encrypted"
  msgstr "Criptato"
  
 -#: src/wx/config_dialog.cc:817
 +#: src/wx/subtitle_view.cc:47
 +msgid "End"
 +msgstr "Fine"
 +
 +#: src/wx/config_dialog.cc:1159
  msgid "Errors"
  msgstr ""
  
 +#: src/wx/config_dialog.cc:651
 +msgid "Export DCP decryption certificate..."
 +msgstr ""
 +
  #: src/wx/isdcf_metadata_dialog.cc:50
  msgid "Facility (e.g. DLA)"
  msgstr "Facility (es. DLA)"
  
 +#: src/wx/video_panel.cc:133
 +msgid "Fade in"
 +msgstr ""
 +
 +#: src/wx/video_panel.cc:138
 +msgid "Fade out"
 +msgstr ""
 +
  #: src/wx/dolby_certificate_dialog.cc:76
  #: src/wx/dolby_certificate_dialog.cc:100
  #: src/wx/dolby_certificate_dialog.cc:123
@@@ -544,15 -535,15 +569,15 @@@ msgstr "Proprietà del film
  msgid "Film name"
  msgstr "Nome del film"
  
 -#: src/wx/filter_dialog.cc:32 src/wx/video_panel.cc:146
 +#: src/wx/filter_dialog.cc:32 src/wx/video_panel.cc:160
  msgid "Filters"
  msgstr "Filtri"
  
 -#: src/wx/content_menu.cc:52
 +#: src/wx/content_menu.cc:55
  msgid "Find missing..."
  msgstr "Trova mancante..."
  
 -#: src/wx/film_editor.cc:145
 +#: src/wx/dcp_panel.cc:538
  msgid "Frame Rate"
  msgstr "Frequenza fotogrammi"
  
@@@ -564,7 -555,7 +589,7 @@@ msgstr "Fotogrammi
  msgid "Frames already encoded"
  msgstr "Fotogrammi già codificati"
  
 -#: src/wx/about_dialog.cc:61
 +#: src/wx/about_dialog.cc:65
  msgid "Free, open-source DCP generation from almost anything."
  msgstr ""
  
  msgid "From"
  msgstr "Da"
  
 -#: src/wx/config_dialog.cc:675
 +#: src/wx/config_dialog.cc:1014
  #, fuzzy
  msgid "From address"
  msgstr "Indirizzo IP"
  
 -#: src/wx/audio_mapping_view.cc:133
 +#: src/wx/audio_mapping_view.cc:141
  msgid "Full"
  msgstr ""
  
  msgid "Full length"
  msgstr ""
  
 -#: src/wx/audio_panel.cc:52
 +#: src/wx/audio_panel.cc:55
  msgid "Gain"
  msgstr ""
  
@@@ -598,15 -589,15 +623,15 @@@ msgstr "Calcolatore del guadagno audio
  msgid "Gain for content channel %d in DCP channel %d"
  msgstr "Guadagno per il canale sorgente %d nel canale DCP %d"
  
 -#: src/wx/properties_dialog.cc:52
 +#: src/wx/properties_dialog.cc:51
  msgid "Gb"
  msgstr "Gb"
  
 -#: src/wx/config_dialog.cc:813
 +#: src/wx/config_dialog.cc:1155
  msgid "General"
  msgstr ""
  
 -#: src/wx/audio_mapping_view.cc:301
 +#: src/wx/audio_mapping_view.cc:309
  msgid "HI"
  msgstr "HI"
  
@@@ -622,15 -613,19 +647,19 @@@ msgstr "
  msgid "Host name or IP address"
  msgstr "Nome dell'Host o indirizzo IP"
  
+ #: src/wx/audio_panel.cc:277
+ msgid "Hz"
+ msgstr "Hz"
  #: src/wx/gain_calculator_dialog.cc:29
  msgid "I want to play this back at fader"
  msgstr "Sto usando il fader a"
  
 -#: src/wx/config_dialog.cc:560
 +#: src/wx/config_dialog.cc:899
  msgid "IP address"
  msgstr "Indirizzo IP"
  
 -#: src/wx/config_dialog.cc:456
 +#: src/wx/config_dialog.cc:462
  #, fuzzy
  msgid "IP address / host name"
  msgstr "Indirizzo IP"
@@@ -644,27 -639,19 +673,27 @@@ msgstr "Nome DCI
  msgid "Input gamma"
  msgstr ""
  
 -#: src/wx/film_editor.cc:228
 +#: src/wx/config_dialog.cc:727
 +msgid "Intermediate"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:31
 +msgid "Intermediate common name"
 +msgstr ""
 +
 +#: src/wx/dcp_panel.cc:115
  msgid "Interop"
  msgstr ""
  
 -#: src/wx/film_editor.cc:181
 +#: src/wx/dcp_panel.cc:565
  msgid "JPEG2000 bandwidth"
  msgstr "Banda passante JPEG2000"
  
 -#: src/wx/content_menu.cc:51
 +#: src/wx/content_menu.cc:54
  msgid "Join"
  msgstr ""
  
 -#: src/wx/config_dialog.cc:627
 +#: src/wx/config_dialog.cc:966
  msgid "KDM Email"
  msgstr ""
  
@@@ -676,35 -663,23 +705,35 @@@ msgstr "
  msgid "KDM|Timing"
  msgstr ""
  
- #: src/wx/content_panel.cc:85
+ #: src/wx/timeline_dialog.cc:41
  msgid "Keep video in sequence"
  msgstr "Tieni i video in sequenza"
  
 -#: src/wx/audio_mapping_view.cc:277
 +#: src/wx/config_dialog.cc:548
 +msgid "Keys"
 +msgstr ""
 +
 +#: src/wx/audio_mapping_view.cc:285
  msgid "L"
  msgstr "L"
  
 -#: src/wx/audio_mapping_view.cc:309
 +#: src/wx/audio_mapping_view.cc:317
  msgid "Lc"
  msgstr "Lc"
  
 -#: src/wx/video_panel.cc:88
 +#: src/wx/config_dialog.cc:725
 +msgid "Leaf"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:33
 +msgid "Leaf common name"
 +msgstr ""
 +
 +#: src/wx/video_panel.cc:89
  msgid "Left crop"
  msgstr "Taglio a sinistra"
  
 -#: src/wx/audio_mapping_view.cc:289
 +#: src/wx/audio_mapping_view.cc:297
  msgid "Lfe"
  msgstr "Lfe"
  
@@@ -716,34 -691,28 +745,34 @@@ msgstr "Linearizza la curva del gamma i
  msgid "Load from file..."
  msgstr ""
  
 -#: src/wx/config_dialog.cc:807
 +#: src/wx/config_dialog.cc:620 src/wx/config_dialog.cc:633
 +#: src/wx/config_dialog.cc:646
 +#, fuzzy
 +msgid "Load..."
 +msgstr "Aggiungi..."
 +
 +#: src/wx/config_dialog.cc:1149
  msgid "Log"
  msgstr ""
  
 -#: src/wx/config_dialog.cc:804
 +#: src/wx/config_dialog.cc:1146
  msgid "Log:"
  msgstr ""
  
 -#: src/wx/audio_mapping_view.cc:293
 +#: src/wx/audio_mapping_view.cc:301
  msgid "Ls"
  msgstr "Ls"
  
- #: src/wx/content_panel.cc:438
+ #: src/wx/film_editor.cc:789
  msgid "MISSING: "
  msgstr "MANCANTE:"
  
 -#: src/wx/config_dialog.cc:660
 +#: src/wx/config_dialog.cc:999
  #, fuzzy
  msgid "Mail password"
  msgstr "Password del TMS"
  
 -#: src/wx/config_dialog.cc:656
 +#: src/wx/config_dialog.cc:995
  #, fuzzy
  msgid "Mail user name"
  msgstr "Nome utente del TMS"
  msgid "Make KDMs"
  msgstr "Crea KDM"
  
 +#: src/wx/make_signer_chain_dialog.cc:23
 +#, fuzzy
 +msgid "Make certificate chain"
 +msgstr "Seleziona il file del Certificato"
 +
  #: src/wx/isdcf_metadata_dialog.cc:71
  msgid "Mastered luminance (e.g. 4fl)"
  msgstr ""
  msgid "Matrix"
  msgstr "Matrice"
  
 -#: src/wx/config_dialog.cc:791
 +#: src/wx/config_dialog.cc:1133
  #, fuzzy
  msgid "Maximum JPEG2000 bandwidth"
  msgstr "Banda passante JPEG2000"
  
 -#: src/wx/config_dialog.cc:291 src/wx/config_dialog.cc:795
 -#: src/wx/film_editor.cc:185
 +#: src/wx/config_dialog.cc:297 src/wx/config_dialog.cc:1137
 +#: src/wx/dcp_panel.cc:569
  msgid "Mbit/s"
  msgstr ""
  
- #: src/wx/video_panel.cc:301
+ #: src/wx/film_editor.cc:293
+ msgid "Move the selected piece of content earlier in the film."
+ msgstr ""
+ #: src/wx/film_editor.cc:297
+ msgid "Move the selected piece of content later in the film."
+ msgstr ""
+ #: src/wx/video_panel.cc:280
  msgid "Multiple content selected"
  msgstr "Molteplici sorgenti selezionate"
  
  msgid "My Documents"
  msgstr "Documenti"
  
 -#: src/wx/cinema_dialog.cc:28 src/wx/config_dialog.cc:512
 -#: src/wx/film_editor.cc:113 src/wx/preset_colour_conversion_dialog.cc:38
 +#: src/wx/content_panel.cc:442
 +msgid "NEEDS KDM: "
 +msgstr ""
 +
 +#: src/wx/cinema_dialog.cc:28 src/wx/config_dialog.cc:518
 +#: src/wx/dcp_panel.cc:56 src/wx/preset_colour_conversion_dialog.cc:38
  #: src/wx/screen_dialog.cc:38
  msgid "Name"
  msgstr "Nome"
@@@ -801,46 -769,31 +838,50 @@@ msgstr "Nuovo Film
  msgid "New versions of DCP-o-matic are available."
  msgstr "Una nuova versione di DCP-o-matic Ã¨ disponibile."
  
 -#: src/wx/audio_mapping_view.cc:348
 +#: src/wx/audio_mapping_view.cc:356
  #, c-format
  msgid "No audio will be passed from content channel %d to DCP channel %d."
  msgstr "Nessun audio sarà passato dal canale %d sorgente al canale %d del DCP"
  
 -#: src/wx/video_panel.cc:153 src/wx/video_panel.cc:249
 +#: src/wx/audio_panel.cc:290 src/wx/video_panel.cc:161
 +#: src/wx/video_panel.cc:248
  msgid "None"
  msgstr "Nessuno"
  
 -#: src/wx/audio_mapping_view.cc:132
 +#: src/wx/audio_mapping_view.cc:140
  msgid "Off"
  msgstr ""
  
 +#: src/wx/config_dialog.cc:1167
 +msgid "Open console window"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:25
 +#, fuzzy
 +msgid "Organisation"
 +msgstr "Durata"
 +
 +#: src/wx/make_signer_chain_dialog.cc:27
 +msgid "Organisational unit"
 +msgstr ""
 +
+ #: src/wx/film_editor.cc:301
+ msgid "Open the timeline for the film."
+ msgstr ""
  #: src/wx/screen_dialog.cc:65
  msgid "Other"
  msgstr ""
  
 -#: src/wx/config_dialog.cc:652
 +#: src/wx/config_dialog.cc:991
  msgid "Outgoing mail server"
  msgstr "Mail server posta in uscita"
  
 +#: src/wx/film_viewer.cc:61
 +#, fuzzy
 +msgid "Outline content"
 +msgstr "Molteplici sorgenti selezionate"
 +
  #: src/wx/kdm_dialog.cc:156
  #, fuzzy
  msgid "Output"
@@@ -854,12 -807,12 +895,12 @@@ msgstr "Gamma in uscita
  msgid "Package Type (e.g. OV)"
  msgstr "Tipo di Package (es. OV)"
  
 -#: src/wx/video_panel.cc:325
 +#: src/wx/video_panel.cc:346
  #, c-format
  msgid "Padded with black to %dx%d (%.2f:1)\n"
  msgstr "Riempito con nero a %dx%d (%.2f:1)\n"
  
 -#: src/wx/config_dialog.cc:572
 +#: src/wx/config_dialog.cc:911
  #, fuzzy
  msgid "Password"
  msgstr "Password del TMS"
@@@ -872,7 -825,7 +913,7 @@@ msgstr "Pausa
  msgid "Peak"
  msgstr "Picco"
  
 -#: src/wx/film_viewer.cc:64
 +#: src/wx/film_viewer.cc:67
  msgid "Play"
  msgstr "Riproduci"
  
@@@ -892,19 -845,7 +933,19 @@@ msgstr "Posizione
  msgid "Pre-release"
  msgstr ""
  
 -#: src/wx/audio_mapping_view.cc:281
 +#: src/wx/config_dialog.cc:638
 +msgid "Private key for decrypting DCPs"
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:612
 +msgid "Private key for leaf certificate"
 +msgstr ""
 +
 +#: src/wx/audio_panel.cc:89
 +msgid "Process with"
 +msgstr ""
 +
 +#: src/wx/audio_mapping_view.cc:289
  msgid "R"
  msgstr "R"
  
@@@ -916,24 -857,16 +957,24 @@@ msgstr "RMS
  msgid "Rating (e.g. 15)"
  msgstr "Classificazione (es. 15)"
  
 -#: src/wx/audio_mapping_view.cc:313
 +#: src/wx/audio_mapping_view.cc:321
  msgid "Rc"
  msgstr "Rc"
  
 +#: src/wx/content_menu.cc:56
 +msgid "Re-examine..."
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:608
 +msgid "Re-make certificates..."
 +msgstr ""
 +
  #: src/wx/isdcf_metadata_dialog.cc:62
  msgid "Red band"
  msgstr ""
  
- #: src/wx/config_dialog.cc:599 src/wx/content_menu.cc:59
- #: src/wx/content_panel.cc:71 src/wx/editable_list.h:68
+ #: src/wx/content_menu.cc:54 src/wx/film_editor.cc:288
+ #: src/wx/editable_list.h:68
  msgid "Remove"
  msgstr "Rimuovi"
  
@@@ -945,6 -878,10 +986,10 @@@ msgstr "Rimuovi Cinema
  msgid "Remove Screen"
  msgstr "Rimuovi Schermo"
  
+ #: src/wx/film_editor.cc:289
+ msgid "Remove the selected piece of content from the film."
+ msgstr ""
  #: src/wx/repeat_dialog.cc:26
  msgid "Repeat"
  msgstr ""
  msgid "Repeat Content"
  msgstr "Ripeti il contenuto"
  
 -#: src/wx/content_menu.cc:50
 +#: src/wx/content_menu.cc:53
  msgid "Repeat..."
  msgstr ""
  
 -#: src/wx/config_dialog.cc:690
 +#: src/wx/config_dialog.cc:1029
  msgid "Reset to default text"
  msgstr ""
  
 -#: src/wx/film_editor.cc:175
 +#: src/wx/dcp_panel.cc:559
  msgid "Resolution"
  msgstr "Risoluzione"
  
  msgid "Resume"
  msgstr ""
  
 -#: src/wx/audio_mapping_view.cc:356
 +#: src/wx/audio_mapping_view.cc:364
  msgid "Right click to change gain."
  msgstr "Clicca il tasto destro per cambiare guadagno."
  
  msgid "Right crop"
  msgstr "Taglio a destra"
  
 -#: src/wx/audio_mapping_view.cc:297
 +#: src/wx/config_dialog.cc:723
 +msgid "Root"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:29
 +msgid "Root common name"
 +msgstr ""
 +
 +#: src/wx/audio_mapping_view.cc:305
  msgid "Rs"
  msgstr "Rs"
  
 -#: src/wx/film_editor.cc:227
 +#: src/wx/dcp_panel.cc:114
  msgid "SMPTE"
  msgstr ""
  
 -#: src/wx/video_panel.cc:132
 +#: src/wx/video_panel.cc:143
  msgid "Scale to"
  msgstr "Scala a"
  
 -#: src/wx/video_panel.cc:316
 +#: src/wx/video_panel.cc:337
  #, c-format
  msgid "Scaled to %dx%d (%.2f:1)\n"
  msgstr "Scalato a %dx%d (%.2f:1)\n"
  
 -#: src/wx/film_editor.cc:195
 +#: src/wx/dcp_panel.cc:574
  msgid "Scaler"
  msgstr "Scaler"
  
@@@ -1016,20 -945,10 +1061,20 @@@ msgstr "Aggiungi Schermo
  msgid "Select CPL XML file"
  msgstr "Seleziona file audio"
  
 -#: src/wx/screen_dialog.cc:102
 +#: src/wx/config_dialog.cc:679 src/wx/config_dialog.cc:795
 +#: src/wx/config_dialog.cc:840 src/wx/screen_dialog.cc:102
  msgid "Select Certificate File"
  msgstr "Seleziona il file del Certificato"
  
 +#: src/wx/content_menu.cc:266
 +msgid "Select KDM"
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:769 src/wx/config_dialog.cc:817
 +#, fuzzy
 +msgid "Select Key File"
 +msgstr "Seleziona il file del Certificato"
 +
  #: src/wx/kdm_dialog.cc:185
  msgid "Send by email"
  msgstr "Manda per email"
@@@ -1050,7 -969,7 +1095,7 @@@ msgstr "
  msgid "Server serial number"
  msgstr ""
  
 -#: src/wx/config_dialog.cc:438
 +#: src/wx/config_dialog.cc:444
  #, fuzzy
  msgid "Servers"
  msgstr "Server"
  msgid "Set"
  msgstr ""
  
 -#: src/wx/config_dialog.cc:92
 +#: src/wx/config_dialog.cc:99
  msgid "Set language"
  msgstr "Seleziona la lingua"
  
 -#: src/wx/audio_panel.cc:48
 +#: src/wx/audio_panel.cc:51
  msgid "Show Audio..."
  msgstr "Mostra Audio..."
  
 -#: src/wx/film_editor.cc:158
 +#: src/wx/dcp_panel.cc:88
  msgid "Signed"
  msgstr ""
  
@@@ -1083,16 -1002,11 +1128,16 @@@ msgstr "
  msgid "Stable version "
  msgstr "Versione stabile"
  
 -#: src/wx/film_editor.cc:190
 +#: src/wx/dcp_panel.cc:96
  msgid "Standard"
  msgstr ""
  
 -#: src/wx/audio_panel.cc:81 src/wx/subtitle_panel.cc:79
 +#: src/wx/subtitle_view.cc:39
 +#, fuzzy
 +msgid "Start"
 +msgstr "Inizio"
 +
 +#: src/wx/audio_panel.cc:84 src/wx/subtitle_panel.cc:87
  #, fuzzy
  msgid "Stream"
  msgstr "Traccia"
  msgid "Studio (e.g. TCF)"
  msgstr "Studio (es. TCF)"
  
 -#: src/wx/config_dialog.cc:671
 +#: src/wx/config_dialog.cc:1010
  msgid "Subject"
  msgstr ""
  
 +#: src/wx/subtitle_view.cc:55
 +#, fuzzy
 +msgid "Subtitle"
 +msgstr "Sottotitoli"
 +
  #: src/wx/isdcf_metadata_dialog.cc:38
  msgid "Subtitle Language (e.g. FR)"
  msgstr "Lingua dei Sottotitoli (es. FR)"
  
 -#: src/wx/subtitle_panel.cc:34
 +#: src/wx/subtitle_panel.cc:41 src/wx/subtitle_view.cc:32
  msgid "Subtitles"
  msgstr "Sottotitoli"
  
- #: src/wx/about_dialog.cc:165
+ #: src/wx/about_dialog.cc:166
  msgid "Supported by"
  msgstr ""
  
 -#: src/wx/config_dialog.cc:542
 +#: src/wx/config_dialog.cc:881
  msgid "TMS"
  msgstr "TMS"
  
 -#: src/wx/config_dialog.cc:564
 +#: src/wx/config_dialog.cc:903
  #, fuzzy
  msgid "Target path"
  msgstr "Percorso di destinazione del TMS"
@@@ -1144,11 -1053,11 +1189,11 @@@ msgstr "Nazione (es. UK)
  msgid "Test version "
  msgstr "Versione di test"
  
- #: src/wx/about_dialog.cc:210
+ #: src/wx/about_dialog.cc:211
  msgid "Tested by"
  msgstr ""
  
 -#: src/wx/content_menu.cc:223
 +#: src/wx/content_menu.cc:252
  msgid ""
  "The content file(s) you specified are not the same as those that are "
  "missing.  Either try again with the correct content file or remove the "
@@@ -1161,7 -1070,7 +1206,7 @@@ msgstr "
  msgid "There are no hints: everything looks good!"
  msgstr "Non ci sono suggerimenti: sembra tutto a posto!"
  
 -#: src/wx/film_viewer.cc:134
 +#: src/wx/film_viewer.cc:142
  msgid "There is not enough free memory to do that."
  msgstr ""
  
@@@ -1173,23 -1082,19 +1218,23 @@@ msgstr "
  msgid "Threads"
  msgstr "Threads"
  
 -#: src/wx/config_dialog.cc:111
 +#: src/wx/config_dialog.cc:118
  msgid "Threads to use for encoding on this host"
  msgstr "Threads da usare per codificare su questo host"
  
 +#: src/wx/config_dialog.cc:583
 +msgid "Thumbprint"
 +msgstr ""
 +
  #: src/wx/audio_plot.cc:165
  msgid "Time"
  msgstr "Tempo"
  
 -#: src/wx/timeline_dialog.cc:32
 +#: src/wx/timeline_dialog.cc:33
  msgid "Timeline"
  msgstr "Timeline"
  
- #: src/wx/content_panel.cc:77
+ #: src/wx/film_editor.cc:300
  msgid "Timeline..."
  msgstr ""
  
  msgid "Timing|Timing"
  msgstr ""
  
 -#: src/wx/video_panel.cc:110
 +#: src/wx/video_panel.cc:111
  msgid "Top crop"
  msgstr "Taglio in alto"
  
 -#: src/wx/about_dialog.cc:107
 +#: src/wx/about_dialog.cc:111
  msgid "Translated by"
  msgstr ""
  
@@@ -1213,8 -1118,7 +1258,8 @@@ msgstr "Taglia dalla fine
  msgid "Trim from start"
  msgstr "Taglia dall'inizio"
  
 -#: src/wx/audio_dialog.cc:55 src/wx/video_panel.cc:75
 +#: src/wx/audio_dialog.cc:55 src/wx/config_dialog.cc:575
 +#: src/wx/video_panel.cc:76
  msgid "Type"
  msgstr "Tipo"
  
@@@ -1232,7 -1136,7 +1277,7 @@@ msgstr "sconosciuto
  msgid "Until"
  msgstr "Fino a"
  
- #: src/wx/content_panel.cc:73
+ #: src/wx/film_editor.cc:292
  msgid "Up"
  msgstr "Su"
  
  msgid "Update"
  msgstr "Aggiorna"
  
 -#: src/wx/film_editor.cc:123
 +#: src/wx/dcp_panel.cc:66
  #, fuzzy
  msgid "Use ISDCF name"
  msgstr "Usa nome DCI"
  
 -#: src/wx/config_dialog.cc:452
 +#: src/wx/config_dialog.cc:458
  msgid "Use all servers"
  msgstr "Usa tutti i server"
  
 -#: src/wx/film_editor.cc:152
 +#: src/wx/dcp_panel.cc:545
  msgid "Use best"
  msgstr "Usa la migliore"
  
  msgid "Use preset"
  msgstr "Usa predefinito"
  
 -#: src/wx/config_dialog.cc:568
 +#: src/wx/subtitle_panel.cc:47
 +#, fuzzy
 +msgid "Use subtitles"
 +msgstr "Sottotitoli"
 +
 +#: src/wx/config_dialog.cc:907
  msgid "User name"
  msgstr "Nome utente"
  
 -#: src/wx/audio_mapping_view.cc:305
 +#: src/wx/audio_mapping_view.cc:313
  msgid "VI"
  msgstr "VI"
  
 -#: src/wx/video_panel.cc:68
 +#: src/wx/dcp_panel.cc:85 src/wx/video_panel.cc:69
  msgid "Video"
  msgstr "Video"
  
  msgid "Video frame rate"
  msgstr "Frequenza fotogrammi video"
  
 -#: src/wx/config_dialog.cc:815
 -msgid "Warnings"
 +#: src/wx/subtitle_panel.cc:91
 +msgid "View..."
  msgstr ""
  
 -#: src/wx/subtitle_panel.cc:39
 -msgid "With Subtitles"
 -msgstr "Con sottotitoli"
 +#: src/wx/config_dialog.cc:1157
 +msgid "Warnings"
 +msgstr ""
  
  #: src/wx/kdm_dialog.cc:172
  msgid "Write to"
  msgstr ""
  
 -#: src/wx/about_dialog.cc:91
 +#: src/wx/about_dialog.cc:95
  msgid "Written by"
  msgstr ""
  
 -#: src/wx/subtitle_panel.cc:44
 +#: src/wx/subtitle_panel.cc:52
  msgid "X Offset"
  msgstr "Spostamento X"
  
 -#: src/wx/subtitle_panel.cc:62
 +#: src/wx/subtitle_panel.cc:70
  #, fuzzy
  msgid "X Scale"
  msgstr "Scaler"
  
 -#: src/wx/subtitle_panel.cc:53
 +#: src/wx/subtitle_panel.cc:61
  msgid "Y Offset"
  msgstr "Spostamento Y"
  
 -#: src/wx/subtitle_panel.cc:71
 +#: src/wx/subtitle_panel.cc:79
  #, fuzzy
  msgid "Y Scale"
  msgstr "Scaler"
@@@ -1347,64 -1246,48 +1392,50 @@@ msgstr "
  "Il vostro DCP ha meno di 6 canali audio. Questo può causare problemi su "
  "alcuni proiettori."
  
 -#: src/wx/timeline.cc:220
 +#: src/wx/timeline.cc:229
  #, fuzzy
  msgid "audio"
  msgstr "Audio"
  
+ #: src/wx/audio_panel.cc:275
+ msgid "channels"
+ msgstr "canali"
  #: src/wx/properties_dialog.cc:46
  msgid "counting..."
  msgstr "conteggio..."
  
 -#: src/wx/audio_gain_dialog.cc:30 src/wx/audio_panel.cc:62
 +#: src/wx/audio_gain_dialog.cc:30 src/wx/audio_panel.cc:65
  msgid "dB"
  msgstr "dB"
  
  #. / TRANSLATORS: this is an abbreviation for milliseconds, the unit of time
 -#: src/wx/audio_panel.cc:78 src/wx/config_dialog.cc:300
 +#: src/wx/audio_panel.cc:81 src/wx/config_dialog.cc:306
  msgid "ms"
  msgstr "ms"
  
 -#: src/wx/config_dialog.cc:258
 +#: src/wx/config_dialog.cc:264
  msgid "s"
  msgstr "s"
  
 -#: src/wx/timeline.cc:243
 +#: src/wx/timeline.cc:258
  msgid "still"
  msgstr ""
  
 +#: src/wx/timeline.cc:289
 +#, fuzzy
 +msgid "subtitles"
 +msgstr "Sottotitoli"
 +
  #: src/wx/repeat_dialog.cc:28
  msgid "times"
  msgstr ""
  
 -#: src/wx/timeline.cc:241
 +#: src/wx/timeline.cc:260
  #, fuzzy
  msgid "video"
  msgstr "Video"
  
- #~ msgid "1 channel"
- #~ msgstr "1 canale"
- #~ msgid "Audio channels"
- #~ msgstr "Canali audio"
- #~ msgid "Could not decode video for view (%s)"
- #~ msgstr "Non posso decodificare il video per guardarlo (%s)"
- #~ msgid "Hz"
- #~ msgstr "Hz"
- #~ msgid "With Subtitles"
- #~ msgstr "Con sottotitoli"
- #~ msgid "channels"
- #~ msgstr "canali"
 -#~ msgid "Add folder..."
 -#~ msgstr "Aggiungi cartella"
--
  #, fuzzy
  #~ msgid "Default creator"
  #~ msgstr "Contenitore predefinito"
  #~ msgid "Add"
  #~ msgstr "Aggiungi"
  
 -#~ msgid "Duration"
 -#~ msgstr "Durata"
 -
  #~ msgid "Edit"
  #~ msgstr "Modifica"
  
  #~ msgid "Running"
  #~ msgstr "In corso"
  
 -#, fuzzy
 -#~ msgid "Start time"
 -#~ msgstr "Inizio"
 -
  #~ msgid "A/B"
  #~ msgstr "A/B"
  
- #~ msgid "Audio will be resampled from %dHz to %dHz\n"
- #~ msgstr "L'Audio sarà ricampionato da %dHz a %dHz\n"
  #~ msgid "Colour look-up table"
  #~ msgstr "Tabella per ricerca del colore"
  
  #~ msgid "DVD-o-matic Preferences"
  #~ msgstr "Preferenze DVD-o-matic"
  
 -#~ msgid "End"
 -#~ msgstr "Fine"
 -
  #~ msgid "Film"
  #~ msgstr "Film"
  
diff --combined src/wx/po/nl_NL.po
index e792f84be5cc6662db4909f5d11b9415486dafd9,509179bfb499eef4f7511a649e6fd01022292ee4..c4d3a7c2b9a6cbd48a956ba144c64c13b9acb2f6
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: DCP-o-matic\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2014-10-16 16:38+0100\n"
+ "POT-Creation-Date: 2014-10-23 22:03+0100\n"
  "PO-Revision-Date: 2014-09-04 20:17+0100\n"
  "Last-Translator: Cherif Ben Brahim <firehc@mac.com>\n"
  "Language-Team: UniversalDV <TKooijmans@universaldv.nl>\n"
  "X-Generator: Poedit 1.6.9\n"
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
  
 -#: src/wx/subtitle_panel.cc:48 src/wx/subtitle_panel.cc:57
 -#: src/wx/subtitle_panel.cc:66 src/wx/subtitle_panel.cc:75
 +#: src/wx/subtitle_panel.cc:56 src/wx/subtitle_panel.cc:65
 +#: src/wx/subtitle_panel.cc:74 src/wx/subtitle_panel.cc:83
  msgid "%"
  msgstr "%"
  
 -#: src/wx/about_dialog.cc:78
 +#: src/wx/about_dialog.cc:82
  msgid ""
  "(C) 2012-2014 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
  msgstr ""
  "(C) 2012-2014 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
  
 -#: src/wx/config_dialog.cc:664
 +#: src/wx/config_dialog.cc:1003
  msgid "(password will be stored on disk in plaintext)"
  msgstr "(wachtwoord wordt opgeslagen op disk in leesbare tekst)"
  
 -#: src/wx/config_dialog.cc:104
 +#: src/wx/config_dialog.cc:111
  msgid "(restart DCP-o-matic to see language changes)"
  msgstr "(herstart DCP-o-matic voor taal wijziging)"
  
 -#: src/wx/audio_mapping_view.cc:134
 +#: src/wx/audio_mapping_view.cc:142
  msgid "-6dB"
  msgstr "-6dB"
  
  msgid "1 / "
  msgstr "1 / "
  
- #: src/wx/video_panel.cc:193
+ #: src/wx/audio_panel.cc:273
+ msgid "1 channel"
+ msgstr "1 channel"
+ #: src/wx/video_panel.cc:197
  msgid "2D"
  msgstr "2D"
  
  msgid "2D version of content available in 3D"
  msgstr "2D versie van 3D content beschikbaar"
  
 -#: src/wx/film_editor.cc:224
 +#: src/wx/dcp_panel.cc:607
  msgid "2K"
  msgstr "2K"
  
 -#: src/wx/film_editor.cc:171
 +#: src/wx/dcp_panel.cc:555
  msgid "3D"
  msgstr "3D"
  
 -#: src/wx/video_panel.cc:200
 +#: src/wx/video_panel.cc:196
  msgid "3D alternate"
  msgstr "3D alternate"
  
 -#: src/wx/video_panel.cc:201
 +#: src/wx/video_panel.cc:197
  msgid "3D left only"
  msgstr "3D enkel Links"
  
 -#: src/wx/video_panel.cc:198
 +#: src/wx/video_panel.cc:194
  msgid "3D left/right"
  msgstr "3D links/rechts"
  
 -#: src/wx/video_panel.cc:202
 +#: src/wx/video_panel.cc:198
  msgid "3D right only"
  msgstr "3D enkel rechts"
  
 -#: src/wx/video_panel.cc:199
 +#: src/wx/video_panel.cc:195
  msgid "3D top/bottom"
  msgstr "3D boven/beneden"
  
 -#: src/wx/film_editor.cc:225
 +#: src/wx/dcp_panel.cc:608
  msgid "4K"
  msgstr "4K"
  
@@@ -89,7 -93,7 +93,7 @@@
  msgid "A new version of DCP-o-matic is available."
  msgstr "Een nieuwe versie van DCP-o-matic is beschikbaar."
  
 -#: src/wx/about_dialog.cc:30
 +#: src/wx/about_dialog.cc:34
  msgid "About DCP-o-matic"
  msgstr "Over DCP-o-matic"
  
  msgid "Add Cinema..."
  msgstr "Voeg Bioscoop toe..."
  
 +#: src/wx/content_menu.cc:57
 +#, fuzzy
 +msgid "Add KDM..."
 +msgstr "Voeg Bioscoop toe..."
 +
  #: src/wx/kdm_dialog.cc:86
  msgid "Add Screen..."
  msgstr "Voeg Scherm toe..."
  
- #: src/wx/content_panel.cc:67
+ #: src/wx/film_editor.cc:285
+ msgid ""
+ "Add a directory of image files which will be used as a moving image sequence."
+ msgstr ""
+ #: src/wx/film_editor.cc:280
  msgid "Add file(s)..."
  msgstr "Voeg bestande(n) toe..."
  
- #: src/wx/content_panel.cc:69
- msgid "Add folder..."
- msgstr "Voeg map toe..."
+ #: src/wx/film_editor.cc:284
+ msgid ""
+ "Add image\n"
+ "sequence..."
+ msgstr ""
+ #: src/wx/film_editor.cc:281
+ msgid "Add video, image or sound files to the film."
+ msgstr ""
  
 -#: src/wx/editable_list.h:62
 +#: src/wx/config_dialog.cc:597 src/wx/editable_list.h:62
  msgid "Add..."
  msgstr "Toevoegen.."
  
@@@ -142,15 -152,15 +157,15 @@@ msgstr "
  "beeld zullen komen. U kan best de DCP's container instellen in Scope "
  "(2.39:1) in de \"DCP\"tab."
  
 -#: src/wx/config_dialog.cc:799
 +#: src/wx/config_dialog.cc:1141
  msgid "Allow any DCP frame rate"
  msgstr "Sta om het welke frame rate toe in DCP"
  
 -#: src/wx/about_dialog.cc:111
 +#: src/wx/about_dialog.cc:115
  msgid "Artwork by"
  msgstr "Artwork door"
  
 -#: src/wx/audio_dialog.cc:33 src/wx/audio_panel.cc:40
 +#: src/wx/audio_dialog.cc:33 src/wx/audio_panel.cc:43 src/wx/dcp_panel.cc:86
  msgid "Audio"
  msgstr "Audio"
  
  msgid "Audio Language (e.g. EN)"
  msgstr "AudioTaal (e.g. NL)"
  
 -#: src/wx/film_editor.cc:166
 -msgid "Audio channels"
 -msgstr "Audio kanalen"
 -
 -#: src/wx/audio_mapping_view.cc:350
 +#: src/wx/audio_mapping_view.cc:358
  #, c-format
  msgid ""
  "Audio will be passed from content channel %d to DCP channel %d unaltered."
@@@ -166,7 -180,7 +181,7 @@@ msgstr "
  "Audio van content kanaal  %d wordt onveranderd doorgestuurd naar DCP kanaal "
  "%d"
  
 -#: src/wx/audio_mapping_view.cc:353
 +#: src/wx/audio_mapping_view.cc:361
  #, c-format
  msgid ""
  "Audio will be passed from content channel %d to DCP channel %d with gain "
@@@ -175,7 -189,16 +190,16 @@@ msgstr "
  "Audio wordt doorgestuurd van content kanaal %d naar DCP kanaal %d met gain "
  "%1fdB."
  
- #: src/wx/config_dialog.cc:1022
+ #: src/wx/audio_panel.cc:248
+ #, c-format
+ msgid "Audio will be resampled from %.3fkHz to %.3fkHz."
+ msgstr ""
+ #: src/wx/audio_panel.cc:253
+ msgid "Audio will not be resampled."
+ msgstr ""
+ #: src/wx/config_dialog.cc:683
  msgid "BCC address"
  msgstr "BCC adres"
  
@@@ -192,27 -215,23 +216,27 @@@ msgstr "Bottom crop
  msgid "Browse..."
  msgstr "Verkennen..."
  
 -#: src/wx/audio_mapping_view.cc:317
 +#: src/wx/audio_mapping_view.cc:325
  msgid "BsL"
  msgstr "BsL"
  
 -#: src/wx/audio_mapping_view.cc:321
 +#: src/wx/audio_mapping_view.cc:329
  msgid "BsR"
  msgstr "BsR"
  
 +#: src/wx/dcp_panel.cc:551
 +msgid "Burn subtitles into image"
 +msgstr ""
 +
  #: src/wx/gain_calculator_dialog.cc:32
  msgid "But I have to use fader"
  msgstr "Maak ik gebruik een fader"
  
 -#: src/wx/audio_mapping_view.cc:285
 +#: src/wx/audio_mapping_view.cc:293
  msgid "C"
  msgstr "C"
  
 -#: src/wx/config_dialog.cc:679
 +#: src/wx/config_dialog.cc:1018
  msgid "CC address"
  msgstr "CC adres"
  
@@@ -228,7 -247,7 +252,7 @@@ msgstr "CPL ID
  msgid "CPL annotation text"
  msgstr "CPL opmerkingen tekst"
  
 -#: src/wx/audio_panel.cc:63
 +#: src/wx/audio_panel.cc:66
  msgid "Calculate..."
  msgstr "Bereken..."
  
@@@ -240,19 -259,11 +264,19 @@@ msgstr "Afbreken
  msgid "Certificate"
  msgstr "certificaat"
  
 +#: src/wx/config_dialog.cc:564
 +msgid "Certificate chain for signing DCPs and KDMs:"
 +msgstr ""
 +
  #: src/wx/dolby_certificate_dialog.cc:191
  #: src/wx/doremi_certificate_dialog.cc:103
  msgid "Certificate downloaded"
  msgstr "Certificaat gedownload"
  
 +#: src/wx/config_dialog.cc:625
 +msgid "Certificate for decrypting DCPs"
 +msgstr ""
 +
  #: src/wx/isdcf_metadata_dialog.cc:65
  msgid "Chain"
  msgstr "Ketting"
  msgid "Channel gain"
  msgstr "Kanaal versterking"
  
 -#: src/wx/audio_dialog.cc:44
 +#: src/wx/audio_dialog.cc:44 src/wx/dcp_panel.cc:623
  msgid "Channels"
  msgstr "Kanalen"
  
 -#: src/wx/config_dialog.cc:120
 +#: src/wx/config_dialog.cc:126
  msgid "Check for testing updates as well as stable ones"
  msgstr "Selecteer voor Test updates en Stabiele versies "
  
 -#: src/wx/config_dialog.cc:116
 +#: src/wx/config_dialog.cc:122
  msgid "Check for updates on startup"
  msgstr "Selecteer voor updates controle bij startup"
  
 -#: src/wx/content_menu.cc:182
 +#: src/wx/content_menu.cc:198
  msgid "Choose a file"
  msgstr "Kies een bestand"
  
- #: src/wx/content_panel.cc:241
+ #: src/wx/film_editor.cc:815
  msgid "Choose a file or files"
  msgstr "Kies bestand(en)"
  
- #: src/wx/content_menu.cc:191 src/wx/content_panel.cc:264
+ #: src/wx/content_menu.cc:175 src/wx/film_editor.cc:838
  msgid "Choose a folder"
  msgstr "Kies map"
  
  msgid "Cinema"
  msgstr "Bioscoop"
  
 -#: src/wx/config_dialog.cc:498
 +#: src/wx/config_dialog.cc:504
  msgid "Colour Conversions"
  msgstr "Colour Conversions"
  
  #: src/wx/content_colour_conversion_dialog.cc:34
 -#: src/wx/preset_colour_conversion_dialog.cc:30 src/wx/video_panel.cc:162
 +#: src/wx/preset_colour_conversion_dialog.cc:30 src/wx/video_panel.cc:167
  msgid "Colour conversion"
  msgstr "Colour conversion"
  
 -#: src/wx/config_dialog.cc:819
 +#: src/wx/config_dialog.cc:1161
  msgid "Config|Timing"
  msgstr "Configureer|Timing"
  
 -#: src/wx/film_editor.cc:134
 +#: src/wx/dcp_panel.cc:532
  msgid "Container"
  msgstr "Container"
  
 -#: src/wx/audio_mapping_view.cc:270 src/wx/film_editor.cc:85
 +#: src/wx/audio_mapping_view.cc:278 src/wx/film_editor.cc:83
  msgid "Content"
  msgstr "Content"
  
 -#: src/wx/film_editor.cc:139
 +#: src/wx/dcp_panel.cc:77
  msgid "Content Type"
  msgstr "Content Type"
  
 -#: src/wx/video_panel.cc:332
 +#: src/wx/video_panel.cc:353
  #, c-format
  msgid "Content frame rate %.4f\n"
  msgstr "Content frame rate %.4f\n"
  msgid "Content version"
  msgstr "Content versie"
  
 -#: src/wx/video_panel.cc:292
 +#: src/wx/video_panel.cc:313
  #, c-format
  msgid "Content video is %dx%d (%.2f:1)\n"
  msgstr "Content video is %dx%d (%.2f:1)\n"
@@@ -336,26 -347,21 +360,26 @@@ msgstr "Kopieer...
  msgid "Could not analyse audio."
  msgstr "Kan audio niet analyseren"
  
 -#: src/wx/film_viewer.cc:346
 -#, c-format
 -msgid "Could not decode video for view (%s)"
 -msgstr "Kan video niet decoderen voor preview (%s)"
 +#: src/wx/content_panel.cc:280
 +msgid "Could not find any images nor a DCP in that folder"
 +msgstr ""
  
  #: src/wx/job_wrapper.cc:39
  #, c-format
  msgid "Could not make DCP: %s"
  msgstr "Kan geen DCP maken: %s"
  
 -#: src/wx/screen_dialog.cc:95
 +#: src/wx/config_dialog.cc:688 src/wx/config_dialog.cc:783
 +#: src/wx/config_dialog.cc:803 src/wx/screen_dialog.cc:95
  #, c-format
  msgid "Could not read certificate file (%s)"
  msgstr "Onleesbaar certificaat (%s)"
  
 +#: src/wx/config_dialog.cc:775 src/wx/config_dialog.cc:825
 +#, fuzzy, c-format
 +msgid "Could not read key file (%s)"
 +msgstr "Onleesbaar certificaat (%s)"
 +
  #: src/wx/dolby_certificate_dialog.cc:39
  msgid "Country"
  msgstr "Land"
  msgid "Create in folder"
  msgstr "Maak in map"
  
 -#: src/wx/video_panel.cc:304
 +#: src/wx/video_panel.cc:325
  #, c-format
  msgid "Cropped to %dx%d (%.2f:1)\n"
  msgstr "Cropped naar %dx%d (%.2f:1)\n"
  
 -#: src/wx/video_panel.cc:244
 +#: src/wx/video_panel.cc:243
  msgid "Custom"
  msgstr "aangepast"
  
 -#: src/wx/film_editor.cc:87
 +#: src/wx/film_editor.cc:85
  msgid "DCP"
  msgstr "DCP"
  
 -#: src/wx/film_editor.cc:129
 +#: src/wx/dcp_panel.cc:72
  msgid "DCP Name"
  msgstr "DCP naam"
  
  msgid "DCP directory"
  msgstr "DCP map"
  
 -#: src/wx/about_dialog.cc:45 src/wx/wx_util.cc:87 src/wx/wx_util.cc:95
 +#: src/wx/about_dialog.cc:49 src/wx/wx_util.cc:87 src/wx/wx_util.cc:95
  msgid "DCP-o-matic"
  msgstr "DCP-o-matic"
  
  msgid "DCP-o-matic audio - %s"
  msgstr "DCP-o-matic audio - %s"
  
 -#: src/wx/config_dialog.cc:270
 +#: src/wx/config_dialog.cc:276
  msgid "Default ISDCF name details"
  msgstr "Standaard ISDCF naam details"
  
 -#: src/wx/config_dialog.cc:287
 +#: src/wx/config_dialog.cc:293
  msgid "Default JPEG2000 bandwidth"
  msgstr "Standaard JPEG2000 bandbreedte"
  
 -#: src/wx/config_dialog.cc:296
 +#: src/wx/config_dialog.cc:302
  msgid "Default audio delay"
  msgstr "Standaard audio delay"
  
 -#: src/wx/config_dialog.cc:278
 +#: src/wx/config_dialog.cc:284
  msgid "Default container"
  msgstr "Standaard container"
  
 -#: src/wx/config_dialog.cc:282
 +#: src/wx/config_dialog.cc:288
  msgid "Default content type"
  msgstr "Standaard content type"
  
 -#: src/wx/config_dialog.cc:262
 +#: src/wx/config_dialog.cc:268
  msgid "Default directory for new films"
  msgstr "Standaard map voor nieuwe films"
  
 -#: src/wx/config_dialog.cc:254
 +#: src/wx/config_dialog.cc:260
  msgid "Default duration of still images"
  msgstr "Standaard lengte van stills"
  
 -#: src/wx/config_dialog.cc:304
 +#: src/wx/config_dialog.cc:310
  msgid "Default issuer"
  msgstr "Standaard uitgever"
  
 -#: src/wx/config_dialog.cc:274
 +#: src/wx/config_dialog.cc:280
  msgid "Default scale to"
  msgstr "Standaard schaal naar"
  
 -#: src/wx/config_dialog.cc:235
 +#: src/wx/config_dialog.cc:241
  msgid "Defaults"
  msgstr "Standaard instellingen"
  
 -#: src/wx/audio_panel.cc:67
 +#: src/wx/audio_panel.cc:70
  msgid "Delay"
  msgstr "Vertraging"
  
 -#: src/wx/film_editor.cc:125 src/wx/job_manager_view.cc:79
 +#: src/wx/dcp_panel.cc:68 src/wx/job_manager_view.cc:79
  msgid "Details..."
  msgstr "Details..."
  
@@@ -460,7 -466,7 +484,7 @@@ msgstr "Doremi
  msgid "Doremi serial numbers must have 6 digits"
  msgstr "Doremi serial numbers moeten bestaan uit 6 digits"
  
- #: src/wx/content_panel.cc:75
+ #: src/wx/film_editor.cc:296
  msgid "Down"
  msgstr "Naar beneden"
  
@@@ -485,8 -491,8 +509,8 @@@ msgstr "Edit Bioscoop
  msgid "Edit Screen..."
  msgstr "Edit scherm"
  
 -#: src/wx/audio_mapping_view.cc:135 src/wx/config_dialog.cc:271
 -#: src/wx/video_panel.cc:155 src/wx/video_panel.cc:172
 +#: src/wx/audio_mapping_view.cc:143 src/wx/config_dialog.cc:277
 +#: src/wx/video_panel.cc:163 src/wx/video_panel.cc:170
  #: src/wx/editable_list.h:66
  msgid "Edit..."
  msgstr "Edit..."
@@@ -499,34 -505,18 +523,34 @@@ msgstr "Email adres voor KDM aflevering
  msgid "Encoding Servers"
  msgstr "Encoding Servers"
  
 -#: src/wx/film_editor.cc:162
 +#: src/wx/dcp_panel.cc:92
  msgid "Encrypted"
  msgstr "Encrypted"
  
 -#: src/wx/config_dialog.cc:817
 +#: src/wx/subtitle_view.cc:47
 +msgid "End"
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:1159
  msgid "Errors"
  msgstr "Fouten"
  
 +#: src/wx/config_dialog.cc:651
 +msgid "Export DCP decryption certificate..."
 +msgstr ""
 +
  #: src/wx/isdcf_metadata_dialog.cc:50
  msgid "Facility (e.g. DLA)"
  msgstr "faciliteit (e.g. DLA)"
  
 +#: src/wx/video_panel.cc:133
 +msgid "Fade in"
 +msgstr ""
 +
 +#: src/wx/video_panel.cc:138
 +msgid "Fade out"
 +msgstr ""
 +
  #: src/wx/dolby_certificate_dialog.cc:76
  #: src/wx/dolby_certificate_dialog.cc:100
  #: src/wx/dolby_certificate_dialog.cc:123
@@@ -541,15 -531,15 +565,15 @@@ msgstr "Film Instellingen
  msgid "Film name"
  msgstr "Film naam"
  
 -#: src/wx/filter_dialog.cc:32 src/wx/video_panel.cc:146
 +#: src/wx/filter_dialog.cc:32 src/wx/video_panel.cc:160
  msgid "Filters"
  msgstr "Filters"
  
 -#: src/wx/content_menu.cc:52
 +#: src/wx/content_menu.cc:55
  msgid "Find missing..."
  msgstr "Zoek ontbrekende..."
  
 -#: src/wx/film_editor.cc:145
 +#: src/wx/dcp_panel.cc:538
  msgid "Frame Rate"
  msgstr "Frame Rate"
  
@@@ -561,7 -551,7 +585,7 @@@ msgstr "Frame
  msgid "Frames already encoded"
  msgstr "Frames zijn al omgezet"
  
 -#: src/wx/about_dialog.cc:61
 +#: src/wx/about_dialog.cc:65
  msgid "Free, open-source DCP generation from almost anything."
  msgstr "Gratis, open-source DCP samensteller voor bijna alles."
  
  msgid "From"
  msgstr "Van"
  
 -#: src/wx/config_dialog.cc:675
 +#: src/wx/config_dialog.cc:1014
  msgid "From address"
  msgstr "Van adres"
  
 -#: src/wx/audio_mapping_view.cc:133
 +#: src/wx/audio_mapping_view.cc:141
  msgid "Full"
  msgstr "Volledig"
  
  msgid "Full length"
  msgstr "Volledige lengte"
  
 -#: src/wx/audio_panel.cc:52
 +#: src/wx/audio_panel.cc:55
  msgid "Gain"
  msgstr "Versterking"
  
@@@ -594,15 -584,15 +618,15 @@@ msgstr "Gain Calculator
  msgid "Gain for content channel %d in DCP channel %d"
  msgstr "Gain voor content kanaal %d in DCP kanaal %d"
  
 -#: src/wx/properties_dialog.cc:52
 +#: src/wx/properties_dialog.cc:51
  msgid "Gb"
  msgstr "Gb"
  
 -#: src/wx/config_dialog.cc:813
 +#: src/wx/config_dialog.cc:1155
  msgid "General"
  msgstr "Algemeen"
  
 -#: src/wx/audio_mapping_view.cc:301
 +#: src/wx/audio_mapping_view.cc:309
  msgid "HI"
  msgstr "HI"
  
@@@ -618,15 -608,19 +642,19 @@@ msgstr "Host
  msgid "Host name or IP address"
  msgstr "Host naam of IP address"
  
+ #: src/wx/audio_panel.cc:277
+ msgid "Hz"
+ msgstr "Hz"
  #: src/wx/gain_calculator_dialog.cc:29
  msgid "I want to play this back at fader"
  msgstr "Ik wil dit afspelen met fader"
  
 -#: src/wx/config_dialog.cc:560
 +#: src/wx/config_dialog.cc:899
  msgid "IP address"
  msgstr "IP adres"
  
 -#: src/wx/config_dialog.cc:456
 +#: src/wx/config_dialog.cc:462
  msgid "IP address / host name"
  msgstr "IP adres / host naam"
  
@@@ -638,27 -632,19 +666,27 @@@ msgstr "ISDCF naam
  msgid "Input gamma"
  msgstr "Input gamma"
  
 -#: src/wx/film_editor.cc:228
 +#: src/wx/config_dialog.cc:727
 +msgid "Intermediate"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:31
 +msgid "Intermediate common name"
 +msgstr ""
 +
 +#: src/wx/dcp_panel.cc:115
  msgid "Interop"
  msgstr "Interop"
  
 -#: src/wx/film_editor.cc:181
 +#: src/wx/dcp_panel.cc:565
  msgid "JPEG2000 bandwidth"
  msgstr "JPEG2000 bandbreedte"
  
 -#: src/wx/content_menu.cc:51
 +#: src/wx/content_menu.cc:54
  msgid "Join"
  msgstr "Samenvoegen"
  
 -#: src/wx/config_dialog.cc:627
 +#: src/wx/config_dialog.cc:966
  msgid "KDM Email"
  msgstr "KDM Email"
  
@@@ -670,35 -656,23 +698,35 @@@ msgstr "soort KDM
  msgid "KDM|Timing"
  msgstr "KDM|Timing"
  
 -#: src/wx/timeline_dialog.cc:41
 +#: src/wx/content_panel.cc:85
  msgid "Keep video in sequence"
  msgstr "Behoud video in tijdlijn"
  
 -#: src/wx/audio_mapping_view.cc:277
 +#: src/wx/config_dialog.cc:548
 +msgid "Keys"
 +msgstr ""
 +
 +#: src/wx/audio_mapping_view.cc:285
  msgid "L"
  msgstr "L"
  
 -#: src/wx/audio_mapping_view.cc:309
 +#: src/wx/audio_mapping_view.cc:317
  msgid "Lc"
  msgstr "Lc"
  
 -#: src/wx/video_panel.cc:88
 +#: src/wx/config_dialog.cc:725
 +msgid "Leaf"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:33
 +msgid "Leaf common name"
 +msgstr ""
 +
 +#: src/wx/video_panel.cc:89
  msgid "Left crop"
  msgstr "Left crop"
  
 -#: src/wx/audio_mapping_view.cc:289
 +#: src/wx/audio_mapping_view.cc:297
  msgid "Lfe"
  msgstr "Lfe"
  
@@@ -710,33 -684,27 +738,33 @@@ msgstr "Linearise input gamma curve fo
  msgid "Load from file..."
  msgstr "Laad van bestand..."
  
 -#: src/wx/config_dialog.cc:807
 +#: src/wx/config_dialog.cc:620 src/wx/config_dialog.cc:633
 +#: src/wx/config_dialog.cc:646
 +#, fuzzy
 +msgid "Load..."
 +msgstr "Toevoegen.."
 +
 +#: src/wx/config_dialog.cc:1149
  msgid "Log"
  msgstr "Log"
  
 -#: src/wx/config_dialog.cc:804
 +#: src/wx/config_dialog.cc:1146
  msgid "Log:"
  msgstr ""
  
 -#: src/wx/audio_mapping_view.cc:293
 +#: src/wx/audio_mapping_view.cc:301
  msgid "Ls"
  msgstr "Ls"
  
- #: src/wx/content_panel.cc:438
+ #: src/wx/film_editor.cc:789
  msgid "MISSING: "
  msgstr "ONTBREEKT:"
  
 -#: src/wx/config_dialog.cc:660
 +#: src/wx/config_dialog.cc:999
  msgid "Mail password"
  msgstr "Mail wachtwoord"
  
 -#: src/wx/config_dialog.cc:656
 +#: src/wx/config_dialog.cc:995
  msgid "Mail user name"
  msgstr "Mail gebruikersnaam"
  
  msgid "Make KDMs"
  msgstr "Maak KDM's"
  
 +#: src/wx/make_signer_chain_dialog.cc:23
 +#, fuzzy
 +msgid "Make certificate chain"
 +msgstr "Selecteer Certificaat bestand"
 +
  #: src/wx/isdcf_metadata_dialog.cc:71
  msgid "Mastered luminance (e.g. 4fl)"
  msgstr "Gemasterde helderheid (bv. 4fl)"
  msgid "Matrix"
  msgstr "Matrix"
  
 -#: src/wx/config_dialog.cc:791
 +#: src/wx/config_dialog.cc:1133
  msgid "Maximum JPEG2000 bandwidth"
  msgstr "Maximum JPEG2000 bandbreedte"
  
 -#: src/wx/config_dialog.cc:291 src/wx/config_dialog.cc:795
 -#: src/wx/film_editor.cc:185
 +#: src/wx/config_dialog.cc:297 src/wx/config_dialog.cc:1137
 +#: src/wx/dcp_panel.cc:569
  msgid "Mbit/s"
  msgstr "Mbit/s"
  
- #: src/wx/video_panel.cc:301
+ #: src/wx/film_editor.cc:293
+ msgid "Move the selected piece of content earlier in the film."
+ msgstr ""
+ #: src/wx/film_editor.cc:297
+ msgid "Move the selected piece of content later in the film."
+ msgstr ""
+ #: src/wx/video_panel.cc:280
  msgid "Multiple content selected"
  msgstr "Meedere content geselecteerd"
  
  msgid "My Documents"
  msgstr "Mijn documenten"
  
 -#: src/wx/cinema_dialog.cc:28 src/wx/config_dialog.cc:512
 -#: src/wx/film_editor.cc:113 src/wx/preset_colour_conversion_dialog.cc:38
 +#: src/wx/content_panel.cc:442
 +msgid "NEEDS KDM: "
 +msgstr ""
 +
 +#: src/wx/cinema_dialog.cc:28 src/wx/config_dialog.cc:518
 +#: src/wx/dcp_panel.cc:56 src/wx/preset_colour_conversion_dialog.cc:38
  #: src/wx/screen_dialog.cc:38
  msgid "Name"
  msgstr "Naam"
@@@ -792,47 -759,33 +828,51 @@@ msgstr "Nieuwe Film
  msgid "New versions of DCP-o-matic are available."
  msgstr "Er zijn nieuwe versies van DCP -o- matic beschikbaar."
  
 -#: src/wx/audio_mapping_view.cc:348
 +#: src/wx/audio_mapping_view.cc:356
  #, c-format
  msgid "No audio will be passed from content channel %d to DCP channel %d."
  msgstr ""
  "Er wordt geen audio van het content kanaal %d doorgestuurd naar DCP kanaal "
  "%d."
  
 -#: src/wx/video_panel.cc:153 src/wx/video_panel.cc:249
 +#: src/wx/audio_panel.cc:290 src/wx/video_panel.cc:161
 +#: src/wx/video_panel.cc:248
  msgid "None"
  msgstr "Geen"
  
 -#: src/wx/audio_mapping_view.cc:132
 +#: src/wx/audio_mapping_view.cc:140
  msgid "Off"
  msgstr "Uit"
  
 +#: src/wx/config_dialog.cc:1167
 +msgid "Open console window"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:25
 +msgid "Organisation"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:27
 +msgid "Organisational unit"
 +msgstr ""
 +
+ #: src/wx/film_editor.cc:301
+ msgid "Open the timeline for the film."
+ msgstr ""
  #: src/wx/screen_dialog.cc:65
  msgid "Other"
  msgstr "Andere"
  
 -#: src/wx/config_dialog.cc:652
 +#: src/wx/config_dialog.cc:991
  msgid "Outgoing mail server"
  msgstr "Uitgaande mail server"
  
 +#: src/wx/film_viewer.cc:61
 +#, fuzzy
 +msgid "Outline content"
 +msgstr "Meedere content geselecteerd"
 +
  #: src/wx/kdm_dialog.cc:156
  msgid "Output"
  msgstr "Output"
@@@ -845,12 -798,12 +885,12 @@@ msgstr "Output gamma
  msgid "Package Type (e.g. OV)"
  msgstr "Package Type (e.g. OV)"
  
 -#: src/wx/video_panel.cc:325
 +#: src/wx/video_panel.cc:346
  #, c-format
  msgid "Padded with black to %dx%d (%.2f:1)\n"
  msgstr "Opgevuld met zwart tot %dx%d (%.2f:1)\n"
  
 -#: src/wx/config_dialog.cc:572
 +#: src/wx/config_dialog.cc:911
  msgid "Password"
  msgstr "Wachtwoord"
  
@@@ -862,7 -815,7 +902,7 @@@ msgstr "Pauze
  msgid "Peak"
  msgstr "Piek"
  
 -#: src/wx/film_viewer.cc:64
 +#: src/wx/film_viewer.cc:67
  msgid "Play"
  msgstr "Afspelen"
  
@@@ -882,19 -835,7 +922,19 @@@ msgstr "Positie
  msgid "Pre-release"
  msgstr "Voor-uitgave"
  
 -#: src/wx/audio_mapping_view.cc:281
 +#: src/wx/config_dialog.cc:638
 +msgid "Private key for decrypting DCPs"
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:612
 +msgid "Private key for leaf certificate"
 +msgstr ""
 +
 +#: src/wx/audio_panel.cc:89
 +msgid "Process with"
 +msgstr ""
 +
 +#: src/wx/audio_mapping_view.cc:289
  msgid "R"
  msgstr "R"
  
@@@ -906,25 -847,16 +946,25 @@@ msgstr "RMS
  msgid "Rating (e.g. 15)"
  msgstr "Beoordeling (e.g. 15)"
  
 -#: src/wx/audio_mapping_view.cc:313
 +#: src/wx/audio_mapping_view.cc:321
  msgid "Rc"
  msgstr "Rc"
  
 +#: src/wx/content_menu.cc:56
 +msgid "Re-examine..."
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:608
 +#, fuzzy
 +msgid "Re-make certificates..."
 +msgstr "Download certificaat"
 +
  #: src/wx/isdcf_metadata_dialog.cc:62
  msgid "Red band"
  msgstr "Rode tape"
  
 -#: src/wx/content_menu.cc:54 src/wx/film_editor.cc:288
 -#: src/wx/editable_list.h:68
 +#: src/wx/config_dialog.cc:599 src/wx/content_menu.cc:59
 +#: src/wx/content_panel.cc:71 src/wx/editable_list.h:68
  msgid "Remove"
  msgstr "Verwijder"
  
@@@ -936,6 -868,10 +976,10 @@@ msgstr "Verwijder Bioscoop
  msgid "Remove Screen"
  msgstr "Verwijder Scherm"
  
+ #: src/wx/film_editor.cc:289
+ msgid "Remove the selected piece of content from the film."
+ msgstr ""
  #: src/wx/repeat_dialog.cc:26
  msgid "Repeat"
  msgstr "Herhaal"
  msgid "Repeat Content"
  msgstr "Herhaal content"
  
 -#: src/wx/content_menu.cc:50
 +#: src/wx/content_menu.cc:53
  msgid "Repeat..."
  msgstr "Herhaal..."
  
 -#: src/wx/config_dialog.cc:690
 +#: src/wx/config_dialog.cc:1029
  msgid "Reset to default text"
  msgstr "Herinstellen oorspronkelijke tekst"
  
 -#: src/wx/film_editor.cc:175
 +#: src/wx/dcp_panel.cc:559
  msgid "Resolution"
  msgstr "Resolutie"
  
  msgid "Resume"
  msgstr "Vervolg"
  
 -#: src/wx/audio_mapping_view.cc:356
 +#: src/wx/audio_mapping_view.cc:364
  msgid "Right click to change gain."
  msgstr "Klik Rechtermuis om gain te veranderen"
  
  msgid "Right crop"
  msgstr "Right crop"
  
 -#: src/wx/audio_mapping_view.cc:297
 +#: src/wx/config_dialog.cc:723
 +msgid "Root"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:29
 +msgid "Root common name"
 +msgstr ""
 +
 +#: src/wx/audio_mapping_view.cc:305
  msgid "Rs"
  msgstr "Rs"
  
 -#: src/wx/film_editor.cc:227
 +#: src/wx/dcp_panel.cc:114
  msgid "SMPTE"
  msgstr "SMPTE"
  
 -#: src/wx/video_panel.cc:132
 +#: src/wx/video_panel.cc:143
  msgid "Scale to"
  msgstr "Schaal tot"
  
 -#: src/wx/video_panel.cc:316
 +#: src/wx/video_panel.cc:337
  #, c-format
  msgid "Scaled to %dx%d (%.2f:1)\n"
  msgstr "Geschaald naar %dx%d (%.2f:1)\n"
  
 -#: src/wx/film_editor.cc:195
 +#: src/wx/dcp_panel.cc:574
  msgid "Scaler"
  msgstr "Schaler"
  
@@@ -1005,20 -933,10 +1049,20 @@@ msgstr "Schermen
  msgid "Select CPL XML file"
  msgstr "Selekteer CPL XML bestand"
  
 -#: src/wx/screen_dialog.cc:102
 +#: src/wx/config_dialog.cc:679 src/wx/config_dialog.cc:795
 +#: src/wx/config_dialog.cc:840 src/wx/screen_dialog.cc:102
  msgid "Select Certificate File"
  msgstr "Selecteer Certificaat bestand"
  
 +#: src/wx/content_menu.cc:266
 +msgid "Select KDM"
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:769 src/wx/config_dialog.cc:817
 +#, fuzzy
 +msgid "Select Key File"
 +msgstr "Selecteer Certificaat bestand"
 +
  #: src/wx/kdm_dialog.cc:185
  msgid "Send by email"
  msgstr "Stuur per Email"
@@@ -1039,7 -957,7 +1083,7 @@@ msgstr "Server fabrikant
  msgid "Server serial number"
  msgstr "Server serie nummer"
  
 -#: src/wx/config_dialog.cc:438
 +#: src/wx/config_dialog.cc:444
  msgid "Servers"
  msgstr "Servers"
  
  msgid "Set"
  msgstr "Instellen"
  
 -#: src/wx/config_dialog.cc:92
 +#: src/wx/config_dialog.cc:99
  msgid "Set language"
  msgstr "Taal Instellen"
  
 -#: src/wx/audio_panel.cc:48
 +#: src/wx/audio_panel.cc:51
  msgid "Show Audio..."
  msgstr "Toon Audio..."
  
 -#: src/wx/film_editor.cc:158
 +#: src/wx/dcp_panel.cc:88
  msgid "Signed"
  msgstr "Signed"
  
@@@ -1071,15 -989,11 +1115,15 @@@ msgstr "Snap
  msgid "Stable version "
  msgstr "Stabiele versie"
  
 -#: src/wx/film_editor.cc:190
 +#: src/wx/dcp_panel.cc:96
  msgid "Standard"
  msgstr "Standaard"
  
 -#: src/wx/audio_panel.cc:81 src/wx/subtitle_panel.cc:79
 +#: src/wx/subtitle_view.cc:39
 +msgid "Start"
 +msgstr ""
 +
 +#: src/wx/audio_panel.cc:84 src/wx/subtitle_panel.cc:87
  msgid "Stream"
  msgstr "Stroom"
  
  msgid "Studio (e.g. TCF)"
  msgstr "Studio (e.g. TCF)"
  
 -#: src/wx/config_dialog.cc:671
 +#: src/wx/config_dialog.cc:1010
  msgid "Subject"
  msgstr "Onderwerp"
  
 +#: src/wx/subtitle_view.cc:55
 +#, fuzzy
 +msgid "Subtitle"
 +msgstr "Ondertitels"
 +
  #: src/wx/isdcf_metadata_dialog.cc:38
  msgid "Subtitle Language (e.g. FR)"
  msgstr "Ondertitel Taal (vb  NL)"
  
 -#: src/wx/subtitle_panel.cc:34
 +#: src/wx/subtitle_panel.cc:41 src/wx/subtitle_view.cc:32
  msgid "Subtitles"
  msgstr "Ondertitels"
  
- #: src/wx/about_dialog.cc:165
+ #: src/wx/about_dialog.cc:166
  msgid "Supported by"
  msgstr "Ondersteund door"
  
 -#: src/wx/config_dialog.cc:542
 +#: src/wx/config_dialog.cc:881
  msgid "TMS"
  msgstr "TMS"
  
 -#: src/wx/config_dialog.cc:564
 +#: src/wx/config_dialog.cc:903
  msgid "Target path"
  msgstr "Doel pad"
  
@@@ -1128,11 -1037,11 +1172,11 @@@ msgstr "Grondgebied (vb NL)
  msgid "Test version "
  msgstr "Test Versie"
  
- #: src/wx/about_dialog.cc:210
+ #: src/wx/about_dialog.cc:211
  msgid "Tested by"
  msgstr "Getest door"
  
 -#: src/wx/content_menu.cc:223
 +#: src/wx/content_menu.cc:252
  msgid ""
  "The content file(s) you specified are not the same as those that are "
  "missing.  Either try again with the correct content file or remove the "
@@@ -1146,7 -1055,7 +1190,7 @@@ msgstr "
  msgid "There are no hints: everything looks good!"
  msgstr "Er zijn geen tips, alles lijkt goed!"
  
 -#: src/wx/film_viewer.cc:134
 +#: src/wx/film_viewer.cc:142
  msgid "There is not enough free memory to do that."
  msgstr "Er is niet genoeg geheugen om dat te doen."
  
@@@ -1158,23 -1067,19 +1202,23 @@@ msgstr "Dit is geen geldig CPL bestand
  msgid "Threads"
  msgstr "CPU belasting"
  
 -#: src/wx/config_dialog.cc:111
 +#: src/wx/config_dialog.cc:118
  msgid "Threads to use for encoding on this host"
  msgstr "CPU cores beschikbaar voor encoding op deze host"
  
 +#: src/wx/config_dialog.cc:583
 +msgid "Thumbprint"
 +msgstr ""
 +
  #: src/wx/audio_plot.cc:165
  msgid "Time"
  msgstr "Tijd"
  
 -#: src/wx/timeline_dialog.cc:32
 +#: src/wx/timeline_dialog.cc:33
  msgid "Timeline"
  msgstr "Tijdlijn"
  
 -#: src/wx/film_editor.cc:300
 +#: src/wx/content_panel.cc:77
  msgid "Timeline..."
  msgstr "Tijdlijn..."
  
  msgid "Timing|Timing"
  msgstr "Timing|Timing"
  
 -#: src/wx/video_panel.cc:110
 +#: src/wx/video_panel.cc:111
  msgid "Top crop"
  msgstr "Top crop"
  
 -#: src/wx/about_dialog.cc:107
 +#: src/wx/about_dialog.cc:111
  msgid "Translated by"
  msgstr "Vertaald door"
  
@@@ -1198,8 -1103,7 +1242,8 @@@ msgstr "Trim vanaf einde
  msgid "Trim from start"
  msgstr "Trim vanaf begin"
  
 -#: src/wx/audio_dialog.cc:55 src/wx/video_panel.cc:75
 +#: src/wx/audio_dialog.cc:55 src/wx/config_dialog.cc:575
 +#: src/wx/video_panel.cc:76
  msgid "Type"
  msgstr "Type"
  
@@@ -1215,7 -1119,7 +1259,7 @@@ msgstr "Onbekend
  msgid "Until"
  msgstr "Totdat"
  
 -#: src/wx/film_editor.cc:292
 +#: src/wx/content_panel.cc:73
  msgid "Up"
  msgstr "Omhoog"
  
  msgid "Update"
  msgstr "Update"
  
 -#: src/wx/film_editor.cc:123
 +#: src/wx/dcp_panel.cc:66
  msgid "Use ISDCF name"
  msgstr "Gebruik ISDCF naam"
  
 -#: src/wx/config_dialog.cc:452
 +#: src/wx/config_dialog.cc:458
  msgid "Use all servers"
  msgstr "Gebruik alle servers"
  
 -#: src/wx/film_editor.cc:152
 +#: src/wx/dcp_panel.cc:545
  msgid "Use best"
  msgstr "Gebruik de beste"
  
  msgid "Use preset"
  msgstr "Gebruik preset"
  
 -#: src/wx/config_dialog.cc:568
 +#: src/wx/subtitle_panel.cc:47
 +#, fuzzy
 +msgid "Use subtitles"
 +msgstr "Ondertitels"
 +
 +#: src/wx/config_dialog.cc:907
  msgid "User name"
  msgstr "Gebruikersnaam"
  
 -#: src/wx/audio_mapping_view.cc:305
 +#: src/wx/audio_mapping_view.cc:313
  msgid "VI"
  msgstr "VI"
  
 -#: src/wx/video_panel.cc:68
 +#: src/wx/dcp_panel.cc:85 src/wx/video_panel.cc:69
  msgid "Video"
  msgstr "Video"
  
  msgid "Video frame rate"
  msgstr "Video frame rate"
  
 -#: src/wx/config_dialog.cc:815
 +#: src/wx/subtitle_panel.cc:91
 +msgid "View..."
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:1157
  msgid "Warnings"
  msgstr "Waarschuwingen"
  
 -#: src/wx/subtitle_panel.cc:39
 -msgid "With Subtitles"
 -msgstr "Met ondertiteling"
 -
  #: src/wx/kdm_dialog.cc:172
  msgid "Write to"
  msgstr "Schrijf naar"
  
 -#: src/wx/about_dialog.cc:91
 +#: src/wx/about_dialog.cc:95
  msgid "Written by"
  msgstr "Geschreven door"
  
 -#: src/wx/subtitle_panel.cc:44
 +#: src/wx/subtitle_panel.cc:52
  msgid "X Offset"
  msgstr "X offset"
  
 -#: src/wx/subtitle_panel.cc:62
 +#: src/wx/subtitle_panel.cc:70
  #, fuzzy
  msgid "X Scale"
  msgstr "Schaal"
  
 -#: src/wx/subtitle_panel.cc:53
 +#: src/wx/subtitle_panel.cc:61
  msgid "Y Offset"
  msgstr "Y offset"
  
 -#: src/wx/subtitle_panel.cc:71
 +#: src/wx/subtitle_panel.cc:79
  #, fuzzy
  msgid "Y Scale"
  msgstr "Schaal"
@@@ -1328,62 -1227,46 +1372,48 @@@ msgstr "
  "Uw DCP heeft minder dan 6 audio kanalen. This kan problemen geven op sommige "
  "projectors."
  
 -#: src/wx/timeline.cc:220
 +#: src/wx/timeline.cc:229
  msgid "audio"
  msgstr "audio"
  
+ #: src/wx/audio_panel.cc:275
+ msgid "channels"
+ msgstr "kanalen"
  #: src/wx/properties_dialog.cc:46
  msgid "counting..."
  msgstr "tellen..."
  
 -#: src/wx/audio_gain_dialog.cc:30 src/wx/audio_panel.cc:62
 +#: src/wx/audio_gain_dialog.cc:30 src/wx/audio_panel.cc:65
  msgid "dB"
  msgstr "dB"
  
  #. / TRANSLATORS: this is an abbreviation for milliseconds, the unit of time
 -#: src/wx/audio_panel.cc:78 src/wx/config_dialog.cc:300
 +#: src/wx/audio_panel.cc:81 src/wx/config_dialog.cc:306
  msgid "ms"
  msgstr "ms"
  
 -#: src/wx/config_dialog.cc:258
 +#: src/wx/config_dialog.cc:264
  msgid "s"
  msgstr "s"
  
 -#: src/wx/timeline.cc:243
 +#: src/wx/timeline.cc:258
  msgid "still"
  msgstr "still"
  
 +#: src/wx/timeline.cc:289
 +#, fuzzy
 +msgid "subtitles"
 +msgstr "Ondertitels"
 +
  #: src/wx/repeat_dialog.cc:28
  msgid "times"
  msgstr "tijden"
  
 -#: src/wx/timeline.cc:241
 +#: src/wx/timeline.cc:260
  msgid "video"
  msgstr "video"
  
- #~ msgid "1 channel"
- #~ msgstr "1 channel"
- #~ msgid "Audio channels"
- #~ msgstr "Audio kanalen"
- #~ msgid "Could not decode video for view (%s)"
- #~ msgstr "Kan video niet decoderen voor preview (%s)"
- #~ msgid "Hz"
- #~ msgstr "Hz"
- #~ msgid "With Subtitles"
- #~ msgstr "Met ondertiteling"
- #~ msgid "channels"
- #~ msgstr "kanalen"
 -#~ msgid "Add folder..."
 -#~ msgstr "Voeg map toe..."
--
  #~ msgid "Default creator"
  #~ msgstr "Standaard maker"
  
diff --combined src/wx/po/sv_SE.po
index 441643ccef459df953af7a562da4336cb24e434a,5670fc4cbce8d9ddd7393e5600be9797bea67da0..e52360abd14ded5941f92b1e7773cfa948323960
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: DCP-o-matic\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2014-10-16 16:38+0100\n"
+ "POT-Creation-Date: 2014-10-23 22:03+0100\n"
  "PO-Revision-Date: 2014-01-19 09:14+0100\n"
  "Last-Translator: Adam Klotblixt <adam.klotblixt@gmail.com>\n"
  "Language-Team: \n"
  "Content-Transfer-Encoding: 8bit\n"
  "X-Generator: Poedit 1.6.3\n"
  
 -#: src/wx/subtitle_panel.cc:48 src/wx/subtitle_panel.cc:57
 -#: src/wx/subtitle_panel.cc:66 src/wx/subtitle_panel.cc:75
 +#: src/wx/subtitle_panel.cc:56 src/wx/subtitle_panel.cc:65
 +#: src/wx/subtitle_panel.cc:74 src/wx/subtitle_panel.cc:83
  msgid "%"
  msgstr "%"
  
 -#: src/wx/about_dialog.cc:78
 +#: src/wx/about_dialog.cc:82
  msgid ""
  "(C) 2012-2014 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
  msgstr ""
  "(C) 2012-2014 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
  
 -#: src/wx/config_dialog.cc:664
 +#: src/wx/config_dialog.cc:1003
  msgid "(password will be stored on disk in plaintext)"
  msgstr "(lösenord sparas pÃ¥ disk i klartext)"
  
 -#: src/wx/config_dialog.cc:104
 +#: src/wx/config_dialog.cc:111
  msgid "(restart DCP-o-matic to see language changes)"
  msgstr "(starta om DCP-o-matic för att se sprÃ¥kändringar)"
  
 -#: src/wx/audio_mapping_view.cc:134
 +#: src/wx/audio_mapping_view.cc:142
  msgid "-6dB"
  msgstr ""
  
  msgid "1 / "
  msgstr "1 / "
  
- #: src/wx/video_panel.cc:193
+ #: src/wx/audio_panel.cc:273
+ msgid "1 channel"
+ msgstr "1 kanal"
+ #: src/wx/video_panel.cc:197
  msgid "2D"
  msgstr "2D"
  
  msgid "2D version of content available in 3D"
  msgstr "Nya versioner av DCP-o-matic finns tillgängligt."
  
 -#: src/wx/film_editor.cc:224
 +#: src/wx/dcp_panel.cc:607
  msgid "2K"
  msgstr "2K"
  
 -#: src/wx/film_editor.cc:171
 +#: src/wx/dcp_panel.cc:555
  msgid "3D"
  msgstr "3D"
  
 -#: src/wx/video_panel.cc:200
 +#: src/wx/video_panel.cc:196
  msgid "3D alternate"
  msgstr ""
  
 -#: src/wx/video_panel.cc:201
 +#: src/wx/video_panel.cc:197
  msgid "3D left only"
  msgstr ""
  
 -#: src/wx/video_panel.cc:198
 +#: src/wx/video_panel.cc:194
  msgid "3D left/right"
  msgstr "3D left/right"
  
 -#: src/wx/video_panel.cc:202
 +#: src/wx/video_panel.cc:198
  #, fuzzy
  msgid "3D right only"
  msgstr "3D left/right"
  
 -#: src/wx/video_panel.cc:199
 +#: src/wx/video_panel.cc:195
  msgid "3D top/bottom"
  msgstr "3D top/bottom"
  
 -#: src/wx/film_editor.cc:225
 +#: src/wx/dcp_panel.cc:608
  msgid "4K"
  msgstr "4K"
  
@@@ -90,7 -94,7 +94,7 @@@
  msgid "A new version of DCP-o-matic is available."
  msgstr "En ny version av DCP-o-matic finns tillgänglig."
  
 -#: src/wx/about_dialog.cc:30
 +#: src/wx/about_dialog.cc:34
  msgid "About DCP-o-matic"
  msgstr "Om DCP-o-matic"
  
  msgid "Add Cinema..."
  msgstr "Lägg till Cinema..."
  
 +#: src/wx/content_menu.cc:57
 +#, fuzzy
 +msgid "Add KDM..."
 +msgstr "Lägg till Cinema..."
 +
  #: src/wx/kdm_dialog.cc:86
  msgid "Add Screen..."
  msgstr "Lägg till Skärm..."
  
- #: src/wx/content_panel.cc:67
+ #: src/wx/film_editor.cc:285
+ msgid ""
+ "Add a directory of image files which will be used as a moving image sequence."
+ msgstr ""
+ #: src/wx/film_editor.cc:280
  msgid "Add file(s)..."
  msgstr "Lägg till fil(er)..."
  
- #: src/wx/content_panel.cc:69
- msgid "Add folder..."
- msgstr "Lägg till folder..."
+ #: src/wx/film_editor.cc:284
+ msgid ""
+ "Add image\n"
+ "sequence..."
+ msgstr ""
+ #: src/wx/film_editor.cc:281
+ msgid "Add video, image or sound files to the film."
+ msgstr ""
  
 -#: src/wx/editable_list.h:62
 +#: src/wx/config_dialog.cc:597 src/wx/editable_list.h:62
  msgid "Add..."
  msgstr "Lägg till..."
  
@@@ -135,16 -145,16 +150,16 @@@ msgid "
  "tab."
  msgstr ""
  
 -#: src/wx/config_dialog.cc:799
 +#: src/wx/config_dialog.cc:1141
  #, fuzzy
  msgid "Allow any DCP frame rate"
  msgstr "bildhastighet"
  
 -#: src/wx/about_dialog.cc:111
 +#: src/wx/about_dialog.cc:115
  msgid "Artwork by"
  msgstr ""
  
 -#: src/wx/audio_dialog.cc:33 src/wx/audio_panel.cc:40
 +#: src/wx/audio_dialog.cc:33 src/wx/audio_panel.cc:43 src/wx/dcp_panel.cc:86
  msgid "Audio"
  msgstr "Audio"
  
  msgid "Audio Language (e.g. EN)"
  msgstr "AudiosprÃ¥k (ex. SV)"
  
 -#: src/wx/film_editor.cc:166
 -msgid "Audio channels"
 -msgstr "Audio-kanaler"
 -
 -#: src/wx/audio_mapping_view.cc:350
 +#: src/wx/audio_mapping_view.cc:358
  #, c-format
  msgid ""
  "Audio will be passed from content channel %d to DCP channel %d unaltered."
@@@ -160,7 -174,7 +175,7 @@@ msgstr "
  "Audio kommer att Ã¶verföras frÃ¥n innehÃ¥llskanal %d till DCP-kanal %d "
  "oförändrad."
  
 -#: src/wx/audio_mapping_view.cc:353
 +#: src/wx/audio_mapping_view.cc:361
  #, c-format
  msgid ""
  "Audio will be passed from content channel %d to DCP channel %d with gain "
@@@ -169,7 -183,17 +184,17 @@@ msgstr "
  "Audio kommer att Ã¶verföras frÃ¥n innehÃ¥llskanal %d till DCP-kanal %d med "
  "förstärkning %.1fdB."
  
- #: src/wx/config_dialog.cc:1022
+ #: src/wx/audio_panel.cc:248
+ #, fuzzy, c-format
+ msgid "Audio will be resampled from %.3fkHz to %.3fkHz."
+ msgstr "Audio kommer att samplas om frÃ¥n %dHz till %dHz."
+ #: src/wx/audio_panel.cc:253
+ #, fuzzy
+ msgid "Audio will not be resampled."
+ msgstr "Audio kommer att samplas om frÃ¥n %dHz till %dHz."
+ #: src/wx/config_dialog.cc:683
  #, fuzzy
  msgid "BCC address"
  msgstr "IP-adress"
@@@ -187,27 -211,23 +212,27 @@@ msgstr "Nedre beskärning
  msgid "Browse..."
  msgstr "Bläddra..."
  
 -#: src/wx/audio_mapping_view.cc:317
 +#: src/wx/audio_mapping_view.cc:325
  msgid "BsL"
  msgstr "BsL"
  
 -#: src/wx/audio_mapping_view.cc:321
 +#: src/wx/audio_mapping_view.cc:329
  msgid "BsR"
  msgstr "BsR"
  
 +#: src/wx/dcp_panel.cc:551
 +msgid "Burn subtitles into image"
 +msgstr ""
 +
  #: src/wx/gain_calculator_dialog.cc:32
  msgid "But I have to use fader"
  msgstr "Men jag mÃ¥ste använda mixervolym"
  
 -#: src/wx/audio_mapping_view.cc:285
 +#: src/wx/audio_mapping_view.cc:293
  msgid "C"
  msgstr "C"
  
 -#: src/wx/config_dialog.cc:679
 +#: src/wx/config_dialog.cc:1018
  #, fuzzy
  msgid "CC address"
  msgstr "IP-adress"
@@@ -225,7 -245,7 +250,7 @@@ msgstr "
  msgid "CPL annotation text"
  msgstr ""
  
 -#: src/wx/audio_panel.cc:63
 +#: src/wx/audio_panel.cc:66
  msgid "Calculate..."
  msgstr "Beräkna..."
  
@@@ -238,20 -258,12 +263,20 @@@ msgstr "Avbryt
  msgid "Certificate"
  msgstr "Välj certifikatfil"
  
 +#: src/wx/config_dialog.cc:564
 +msgid "Certificate chain for signing DCPs and KDMs:"
 +msgstr ""
 +
  #: src/wx/dolby_certificate_dialog.cc:191
  #: src/wx/doremi_certificate_dialog.cc:103
  #, fuzzy
  msgid "Certificate downloaded"
  msgstr "Välj certifikatfil"
  
 +#: src/wx/config_dialog.cc:625
 +msgid "Certificate for decrypting DCPs"
 +msgstr ""
 +
  #: src/wx/isdcf_metadata_dialog.cc:65
  msgid "Chain"
  msgstr ""
  msgid "Channel gain"
  msgstr "Kanalförstärkning"
  
 -#: src/wx/audio_dialog.cc:44
 +#: src/wx/audio_dialog.cc:44 src/wx/dcp_panel.cc:623
  msgid "Channels"
  msgstr "Kanaler"
  
 -#: src/wx/config_dialog.cc:120
 +#: src/wx/config_dialog.cc:126
  msgid "Check for testing updates as well as stable ones"
  msgstr "sök efter bÃ¥de test- och stabila uppdateringar"
  
 -#: src/wx/config_dialog.cc:116
 +#: src/wx/config_dialog.cc:122
  msgid "Check for updates on startup"
  msgstr "Sök efter uppdateringar vid start"
  
 -#: src/wx/content_menu.cc:182
 +#: src/wx/content_menu.cc:198
  msgid "Choose a file"
  msgstr "Välj en fil"
  
 -#: src/wx/film_editor.cc:815
 +#: src/wx/content_panel.cc:241
  msgid "Choose a file or files"
  msgstr "Välj en fil eller filer"
  
 -#: src/wx/content_menu.cc:175 src/wx/film_editor.cc:838
 +#: src/wx/content_menu.cc:191 src/wx/content_panel.cc:264
  msgid "Choose a folder"
  msgstr "Välj en folder"
  
  msgid "Cinema"
  msgstr "Lägg till Cinema..."
  
 -#: src/wx/config_dialog.cc:498
 +#: src/wx/config_dialog.cc:504
  #, fuzzy
  msgid "Colour Conversions"
  msgstr "Färgkonverteringar"
  
  #: src/wx/content_colour_conversion_dialog.cc:34
 -#: src/wx/preset_colour_conversion_dialog.cc:30 src/wx/video_panel.cc:162
 +#: src/wx/preset_colour_conversion_dialog.cc:30 src/wx/video_panel.cc:167
  msgid "Colour conversion"
  msgstr "Färgkonvertering"
  
  # Svengelska
 -#: src/wx/config_dialog.cc:819
 +#: src/wx/config_dialog.cc:1161
  #, fuzzy
  msgid "Config|Timing"
  msgstr "Tajming"
  
 -#: src/wx/film_editor.cc:134
 +#: src/wx/dcp_panel.cc:532
  msgid "Container"
  msgstr "InnehÃ¥ll"
  
 -#: src/wx/audio_mapping_view.cc:270 src/wx/film_editor.cc:85
 +#: src/wx/audio_mapping_view.cc:278 src/wx/film_editor.cc:83
  msgid "Content"
  msgstr "InnehÃ¥ll"
  
 -#: src/wx/film_editor.cc:139
 +#: src/wx/dcp_panel.cc:77
  msgid "Content Type"
  msgstr "InnehÃ¥llstyp"
  
 -#: src/wx/video_panel.cc:332
 +#: src/wx/video_panel.cc:353
  #, c-format
  msgid "Content frame rate %.4f\n"
  msgstr "InnehÃ¥llets bildhastighet %.4f\n"
  msgid "Content version"
  msgstr "InnehÃ¥llsversion"
  
 -#: src/wx/video_panel.cc:292
 +#: src/wx/video_panel.cc:313
  #, c-format
  msgid "Content video is %dx%d (%.2f:1)\n"
  msgstr "Original-videon Ã¤r %dx%d (%.2f:1)\n"
@@@ -339,26 -351,21 +364,26 @@@ msgstr "
  msgid "Could not analyse audio."
  msgstr "Kunde inte analysera audio."
  
 -#: src/wx/film_viewer.cc:346
 -#, c-format
 -msgid "Could not decode video for view (%s)"
 -msgstr "Kunde inte avkoda video för visning (%s)"
 +#: src/wx/content_panel.cc:280
 +msgid "Could not find any images nor a DCP in that folder"
 +msgstr ""
  
  #: src/wx/job_wrapper.cc:39
  #, c-format
  msgid "Could not make DCP: %s"
  msgstr "Kunde inte skapa DCP: %s"
  
 -#: src/wx/screen_dialog.cc:95
 +#: src/wx/config_dialog.cc:688 src/wx/config_dialog.cc:783
 +#: src/wx/config_dialog.cc:803 src/wx/screen_dialog.cc:95
  #, fuzzy, c-format
  msgid "Could not read certificate file (%s)"
  msgstr "Kunde inte Ã¶ppna innehÃ¥llsfilen (%s)"
  
 +#: src/wx/config_dialog.cc:775 src/wx/config_dialog.cc:825
 +#, fuzzy, c-format
 +msgid "Could not read key file (%s)"
 +msgstr "Kunde inte Ã¶ppna innehÃ¥llsfilen (%s)"
 +
  #: src/wx/dolby_certificate_dialog.cc:39
  msgid "Country"
  msgstr ""
  msgid "Create in folder"
  msgstr "Skapa i katalog"
  
 -#: src/wx/video_panel.cc:304
 +#: src/wx/video_panel.cc:325
  #, c-format
  msgid "Cropped to %dx%d (%.2f:1)\n"
  msgstr "Beskuren till %dx%d (%.2f:1)\n"
  
  # sammanhang?
 -#: src/wx/video_panel.cc:244
 +#: src/wx/video_panel.cc:243
  msgid "Custom"
  msgstr "Special"
  
 -#: src/wx/film_editor.cc:87
 +#: src/wx/film_editor.cc:85
  msgid "DCP"
  msgstr "DCP"
  
 -#: src/wx/film_editor.cc:129
 +#: src/wx/dcp_panel.cc:72
  msgid "DCP Name"
  msgstr "DCP-namn"
  
  msgid "DCP directory"
  msgstr ""
  
 -#: src/wx/about_dialog.cc:45 src/wx/wx_util.cc:87 src/wx/wx_util.cc:95
 +#: src/wx/about_dialog.cc:49 src/wx/wx_util.cc:87 src/wx/wx_util.cc:95
  msgid "DCP-o-matic"
  msgstr "DCP-o-matic"
  
  msgid "DCP-o-matic audio - %s"
  msgstr "DCP-o-matic audio - %s"
  
 -#: src/wx/config_dialog.cc:270
 +#: src/wx/config_dialog.cc:276
  #, fuzzy
  msgid "Default ISDCF name details"
  msgstr "Detaljer om förvalda DCI-namn"
  
 -#: src/wx/config_dialog.cc:287
 +#: src/wx/config_dialog.cc:293
  msgid "Default JPEG2000 bandwidth"
  msgstr "Förvald JPEG2000-bandbredd"
  
 -#: src/wx/config_dialog.cc:296
 +#: src/wx/config_dialog.cc:302
  msgid "Default audio delay"
  msgstr "Förvald audiofördröjning"
  
 -#: src/wx/config_dialog.cc:278
 +#: src/wx/config_dialog.cc:284
  msgid "Default container"
  msgstr "Förvald innehÃ¥llstyp"
  
 -#: src/wx/config_dialog.cc:282
 +#: src/wx/config_dialog.cc:288
  msgid "Default content type"
  msgstr "Förvald innehÃ¥llstyp"
  
 -#: src/wx/config_dialog.cc:262
 +#: src/wx/config_dialog.cc:268
  msgid "Default directory for new films"
  msgstr "Förvald katalog för nya filmer"
  
 -#: src/wx/config_dialog.cc:254
 +#: src/wx/config_dialog.cc:260
  msgid "Default duration of still images"
  msgstr "Förvald varaktighet pÃ¥ stillbilder"
  
 -#: src/wx/config_dialog.cc:304
 +#: src/wx/config_dialog.cc:310
  #, fuzzy
  msgid "Default issuer"
  msgstr "Standardval"
  
 -#: src/wx/config_dialog.cc:274
 +#: src/wx/config_dialog.cc:280
  msgid "Default scale to"
  msgstr ""
  
 -#: src/wx/config_dialog.cc:235
 +#: src/wx/config_dialog.cc:241
  msgid "Defaults"
  msgstr "Standardval"
  
 -#: src/wx/audio_panel.cc:67
 +#: src/wx/audio_panel.cc:70
  #, fuzzy
  msgid "Delay"
  msgstr "Audio Fördröjning"
  
 -#: src/wx/film_editor.cc:125 src/wx/job_manager_view.cc:79
 +#: src/wx/dcp_panel.cc:68 src/wx/job_manager_view.cc:79
  msgid "Details..."
  msgstr "Detaljer..."
  
@@@ -467,7 -474,7 +492,7 @@@ msgstr "
  msgid "Doremi serial numbers must have 6 digits"
  msgstr ""
  
- #: src/wx/content_panel.cc:75
+ #: src/wx/film_editor.cc:296
  msgid "Down"
  msgstr "Ner"
  
@@@ -493,8 -500,8 +518,8 @@@ msgstr "Redigera Cinema...
  msgid "Edit Screen..."
  msgstr "Redigera Skärm..."
  
 -#: src/wx/audio_mapping_view.cc:135 src/wx/config_dialog.cc:271
 -#: src/wx/video_panel.cc:155 src/wx/video_panel.cc:172
 +#: src/wx/audio_mapping_view.cc:143 src/wx/config_dialog.cc:277
 +#: src/wx/video_panel.cc:163 src/wx/video_panel.cc:170
  #: src/wx/editable_list.h:66
  msgid "Edit..."
  msgstr "Redigera..."
@@@ -507,34 -514,18 +532,34 @@@ msgstr "Mejladress för KDM-leverans
  msgid "Encoding Servers"
  msgstr "Kodningsservrar"
  
 -#: src/wx/film_editor.cc:162
 +#: src/wx/dcp_panel.cc:92
  msgid "Encrypted"
  msgstr "Krypterad"
  
 -#: src/wx/config_dialog.cc:817
 +#: src/wx/subtitle_view.cc:47
 +msgid "End"
 +msgstr "Slut"
 +
 +#: src/wx/config_dialog.cc:1159
  msgid "Errors"
  msgstr ""
  
 +#: src/wx/config_dialog.cc:651
 +msgid "Export DCP decryption certificate..."
 +msgstr ""
 +
  #: src/wx/isdcf_metadata_dialog.cc:50
  msgid "Facility (e.g. DLA)"
  msgstr "Företag (ex. DLA)"
  
 +#: src/wx/video_panel.cc:133
 +msgid "Fade in"
 +msgstr ""
 +
 +#: src/wx/video_panel.cc:138
 +msgid "Fade out"
 +msgstr ""
 +
  #: src/wx/dolby_certificate_dialog.cc:76
  #: src/wx/dolby_certificate_dialog.cc:100
  #: src/wx/dolby_certificate_dialog.cc:123
@@@ -550,15 -541,15 +575,15 @@@ msgstr "Film Egenskaper
  msgid "Film name"
  msgstr "Filmnamn"
  
 -#: src/wx/filter_dialog.cc:32 src/wx/video_panel.cc:146
 +#: src/wx/filter_dialog.cc:32 src/wx/video_panel.cc:160
  msgid "Filters"
  msgstr "Filter"
  
 -#: src/wx/content_menu.cc:52
 +#: src/wx/content_menu.cc:55
  msgid "Find missing..."
  msgstr "Hitta saknade..."
  
 -#: src/wx/film_editor.cc:145
 +#: src/wx/dcp_panel.cc:538
  msgid "Frame Rate"
  msgstr "Bildhastighet"
  
@@@ -570,7 -561,7 +595,7 @@@ msgstr "Bildrutor
  msgid "Frames already encoded"
  msgstr "Bildrutor redan kodade"
  
 -#: src/wx/about_dialog.cc:61
 +#: src/wx/about_dialog.cc:65
  msgid "Free, open-source DCP generation from almost anything."
  msgstr "Fri, Ã¶ppen-källkods DCP-generering frÃ¥n nästan vad som helst."
  
  msgid "From"
  msgstr "Avsändare"
  
 -#: src/wx/config_dialog.cc:675
 +#: src/wx/config_dialog.cc:1014
  #, fuzzy
  msgid "From address"
  msgstr "IP-adress"
  
 -#: src/wx/audio_mapping_view.cc:133
 +#: src/wx/audio_mapping_view.cc:141
  msgid "Full"
  msgstr "Full"
  
  msgid "Full length"
  msgstr "Full längd"
  
 -#: src/wx/audio_panel.cc:52
 +#: src/wx/audio_panel.cc:55
  msgid "Gain"
  msgstr ""
  
@@@ -605,15 -596,15 +630,15 @@@ msgstr "Volym Kalkylator
  msgid "Gain for content channel %d in DCP channel %d"
  msgstr "Förstärkning för innehÃ¥llskanal %d i DCP-kanal %d"
  
 -#: src/wx/properties_dialog.cc:52
 +#: src/wx/properties_dialog.cc:51
  msgid "Gb"
  msgstr "Gb"
  
 -#: src/wx/config_dialog.cc:813
 +#: src/wx/config_dialog.cc:1155
  msgid "General"
  msgstr ""
  
 -#: src/wx/audio_mapping_view.cc:301
 +#: src/wx/audio_mapping_view.cc:309
  msgid "HI"
  msgstr "HI"
  
@@@ -629,15 -620,19 +654,19 @@@ msgstr "Dator
  msgid "Host name or IP address"
  msgstr "Datornamn eller IP-adress"
  
+ #: src/wx/audio_panel.cc:277
+ msgid "Hz"
+ msgstr "Hz"
  #: src/wx/gain_calculator_dialog.cc:29
  msgid "I want to play this back at fader"
  msgstr "Jag vill spela upp detta med mixervolym"
  
 -#: src/wx/config_dialog.cc:560
 +#: src/wx/config_dialog.cc:899
  msgid "IP address"
  msgstr "IP-adress"
  
 -#: src/wx/config_dialog.cc:456
 +#: src/wx/config_dialog.cc:462
  msgid "IP address / host name"
  msgstr "IP-adress / datornamn"
  
@@@ -650,27 -645,19 +679,27 @@@ msgstr "DCI namn
  msgid "Input gamma"
  msgstr "Indata gamma"
  
 -#: src/wx/film_editor.cc:228
 +#: src/wx/config_dialog.cc:727
 +msgid "Intermediate"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:31
 +msgid "Intermediate common name"
 +msgstr ""
 +
 +#: src/wx/dcp_panel.cc:115
  msgid "Interop"
  msgstr "Interop"
  
 -#: src/wx/film_editor.cc:181
 +#: src/wx/dcp_panel.cc:565
  msgid "JPEG2000 bandwidth"
  msgstr "JPEG2000-bandbredd"
  
 -#: src/wx/content_menu.cc:51
 +#: src/wx/content_menu.cc:54
  msgid "Join"
  msgstr "Anslut"
  
 -#: src/wx/config_dialog.cc:627
 +#: src/wx/config_dialog.cc:966
  #, fuzzy
  msgid "KDM Email"
  msgstr "KDM mejl"
@@@ -686,35 -673,23 +715,35 @@@ msgid "KDM|Timing
  msgstr "Tajming"
  
  # "sekvens" eller "ordning"?
 -#: src/wx/timeline_dialog.cc:41
 +#: src/wx/content_panel.cc:85
  msgid "Keep video in sequence"
  msgstr "BehÃ¥ll video i sekvens"
  
 -#: src/wx/audio_mapping_view.cc:277
 +#: src/wx/config_dialog.cc:548
 +msgid "Keys"
 +msgstr ""
 +
 +#: src/wx/audio_mapping_view.cc:285
  msgid "L"
  msgstr "V"
  
 -#: src/wx/audio_mapping_view.cc:309
 +#: src/wx/audio_mapping_view.cc:317
  msgid "Lc"
  msgstr "Vc"
  
 -#: src/wx/video_panel.cc:88
 +#: src/wx/config_dialog.cc:725
 +msgid "Leaf"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:33
 +msgid "Leaf common name"
 +msgstr ""
 +
 +#: src/wx/video_panel.cc:89
  msgid "Left crop"
  msgstr "Vänster beskärning"
  
 -#: src/wx/audio_mapping_view.cc:289
 +#: src/wx/audio_mapping_view.cc:297
  msgid "Lfe"
  msgstr "Lfe"
  
@@@ -726,33 -701,27 +755,33 @@@ msgstr "Linjärisera indatas gammakurv
  msgid "Load from file..."
  msgstr ""
  
 -#: src/wx/config_dialog.cc:807
 +#: src/wx/config_dialog.cc:620 src/wx/config_dialog.cc:633
 +#: src/wx/config_dialog.cc:646
 +#, fuzzy
 +msgid "Load..."
 +msgstr "Lägg till..."
 +
 +#: src/wx/config_dialog.cc:1149
  msgid "Log"
  msgstr ""
  
 -#: src/wx/config_dialog.cc:804
 +#: src/wx/config_dialog.cc:1146
  msgid "Log:"
  msgstr ""
  
 -#: src/wx/audio_mapping_view.cc:293
 +#: src/wx/audio_mapping_view.cc:301
  msgid "Ls"
  msgstr "Vs"
  
- #: src/wx/content_panel.cc:438
+ #: src/wx/film_editor.cc:789
  msgid "MISSING: "
  msgstr "SAKNAS:"
  
 -#: src/wx/config_dialog.cc:660
 +#: src/wx/config_dialog.cc:999
  msgid "Mail password"
  msgstr "Mejl-lösenord"
  
 -#: src/wx/config_dialog.cc:656
 +#: src/wx/config_dialog.cc:995
  msgid "Mail user name"
  msgstr "Mejl-användarnamn"
  
  msgid "Make KDMs"
  msgstr "Skapa KDM:er"
  
 +#: src/wx/make_signer_chain_dialog.cc:23
 +#, fuzzy
 +msgid "Make certificate chain"
 +msgstr "Välj certifikatfil"
 +
  #: src/wx/isdcf_metadata_dialog.cc:71
  msgid "Mastered luminance (e.g. 4fl)"
  msgstr ""
  msgid "Matrix"
  msgstr "Matris"
  
 -#: src/wx/config_dialog.cc:791
 +#: src/wx/config_dialog.cc:1133
  #, fuzzy
  msgid "Maximum JPEG2000 bandwidth"
  msgstr "JPEG2000-bandbredd"
  
 -#: src/wx/config_dialog.cc:291 src/wx/config_dialog.cc:795
 -#: src/wx/film_editor.cc:185
 +#: src/wx/config_dialog.cc:297 src/wx/config_dialog.cc:1137
 +#: src/wx/dcp_panel.cc:569
  msgid "Mbit/s"
  msgstr ""
  
+ #: src/wx/film_editor.cc:293
+ msgid "Move the selected piece of content earlier in the film."
+ msgstr ""
+ #: src/wx/film_editor.cc:297
+ msgid "Move the selected piece of content later in the film."
+ msgstr ""
  # LÃ¥ter mysko
 -#: src/wx/video_panel.cc:280
 +#: src/wx/video_panel.cc:301
  msgid "Multiple content selected"
  msgstr "Flera innehÃ¥ll valda"
  
  msgid "My Documents"
  msgstr "Mina Dokument"
  
 -#: src/wx/cinema_dialog.cc:28 src/wx/config_dialog.cc:512
 -#: src/wx/film_editor.cc:113 src/wx/preset_colour_conversion_dialog.cc:38
 +#: src/wx/content_panel.cc:442
 +msgid "NEEDS KDM: "
 +msgstr ""
 +
 +#: src/wx/cinema_dialog.cc:28 src/wx/config_dialog.cc:518
 +#: src/wx/dcp_panel.cc:56 src/wx/preset_colour_conversion_dialog.cc:38
  #: src/wx/screen_dialog.cc:38
  msgid "Name"
  msgstr "Namn"
@@@ -810,49 -778,33 +847,53 @@@ msgstr "Ny Film
  msgid "New versions of DCP-o-matic are available."
  msgstr "Nya versioner av DCP-o-matic finns tillgängligt."
  
 -#: src/wx/audio_mapping_view.cc:348
 +#: src/wx/audio_mapping_view.cc:356
  #, c-format
  msgid "No audio will be passed from content channel %d to DCP channel %d."
  msgstr ""
  "Ingen audio kommer att Ã¶verföras frÃ¥n innehÃ¥llskanalen %d till DCP-kanalen "
  "%d."
  
 -#: src/wx/video_panel.cc:153 src/wx/video_panel.cc:249
 +#: src/wx/audio_panel.cc:290 src/wx/video_panel.cc:161
 +#: src/wx/video_panel.cc:248
  msgid "None"
  msgstr "Inget"
  
 -#: src/wx/audio_mapping_view.cc:132
 +#: src/wx/audio_mapping_view.cc:140
  msgid "Off"
  msgstr "Av"
  
 +#: src/wx/config_dialog.cc:1167
 +msgid "Open console window"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:25
 +#, fuzzy
 +msgid "Organisation"
 +msgstr "Längd"
 +
 +#: src/wx/make_signer_chain_dialog.cc:27
 +msgid "Organisational unit"
 +msgstr ""
 +
+ #: src/wx/film_editor.cc:301
+ msgid "Open the timeline for the film."
+ msgstr ""
  #: src/wx/screen_dialog.cc:65
  msgid "Other"
  msgstr ""
  
 -#: src/wx/config_dialog.cc:652
 +#: src/wx/config_dialog.cc:991
  msgid "Outgoing mail server"
  msgstr "UtgÃ¥ende mejlserver"
  
 +# LÃ¥ter mysko
 +#: src/wx/film_viewer.cc:61
 +#, fuzzy
 +msgid "Outline content"
 +msgstr "Flera innehÃ¥ll valda"
 +
  #: src/wx/kdm_dialog.cc:156
  #, fuzzy
  msgid "Output"
@@@ -866,12 -818,12 +907,12 @@@ msgstr "Utdata gamma
  msgid "Package Type (e.g. OV)"
  msgstr "Förpackningstyp (ex. OV)"
  
 -#: src/wx/video_panel.cc:325
 +#: src/wx/video_panel.cc:346
  #, c-format
  msgid "Padded with black to %dx%d (%.2f:1)\n"
  msgstr "Svarta kanter tillagda för %dx%d (%.2f:1)\n"
  
 -#: src/wx/config_dialog.cc:572
 +#: src/wx/config_dialog.cc:911
  msgid "Password"
  msgstr "Lösenord"
  
@@@ -883,7 -835,7 +924,7 @@@ msgstr "Pausa
  msgid "Peak"
  msgstr "Topp"
  
 -#: src/wx/film_viewer.cc:64
 +#: src/wx/film_viewer.cc:67
  msgid "Play"
  msgstr "Spela"
  
@@@ -903,19 -855,7 +944,19 @@@ msgstr "Position
  msgid "Pre-release"
  msgstr ""
  
 -#: src/wx/audio_mapping_view.cc:281
 +#: src/wx/config_dialog.cc:638
 +msgid "Private key for decrypting DCPs"
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:612
 +msgid "Private key for leaf certificate"
 +msgstr ""
 +
 +#: src/wx/audio_panel.cc:89
 +msgid "Process with"
 +msgstr ""
 +
 +#: src/wx/audio_mapping_view.cc:289
  msgid "R"
  msgstr "H"
  
@@@ -927,24 -867,16 +968,24 @@@ msgstr "RMS
  msgid "Rating (e.g. 15)"
  msgstr "Klassificering (ex. 15)"
  
 -#: src/wx/audio_mapping_view.cc:313
 +#: src/wx/audio_mapping_view.cc:321
  msgid "Rc"
  msgstr "Hc"
  
 +#: src/wx/content_menu.cc:56
 +msgid "Re-examine..."
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:608
 +msgid "Re-make certificates..."
 +msgstr ""
 +
  #: src/wx/isdcf_metadata_dialog.cc:62
  msgid "Red band"
  msgstr ""
  
 -#: src/wx/content_menu.cc:54 src/wx/film_editor.cc:288
 -#: src/wx/editable_list.h:68
 +#: src/wx/config_dialog.cc:599 src/wx/content_menu.cc:59
 +#: src/wx/content_panel.cc:71 src/wx/editable_list.h:68
  msgid "Remove"
  msgstr "Ta bort"
  
@@@ -957,6 -889,10 +998,10 @@@ msgstr "Ta bort Cinema
  msgid "Remove Screen"
  msgstr "Ta bort Skärm"
  
+ #: src/wx/film_editor.cc:289
+ msgid "Remove the selected piece of content from the film."
+ msgstr ""
  #: src/wx/repeat_dialog.cc:26
  msgid "Repeat"
  msgstr "Upprepa"
  msgid "Repeat Content"
  msgstr "Repetera InnehÃ¥ll"
  
 -#: src/wx/content_menu.cc:50
 +#: src/wx/content_menu.cc:53
  msgid "Repeat..."
  msgstr "Upprepa..."
  
 -#: src/wx/config_dialog.cc:690
 +#: src/wx/config_dialog.cc:1029
  msgid "Reset to default text"
  msgstr ""
  
 -#: src/wx/film_editor.cc:175
 +#: src/wx/dcp_panel.cc:559
  msgid "Resolution"
  msgstr "Upplösning"
  
  msgid "Resume"
  msgstr "Fortsätt"
  
 -#: src/wx/audio_mapping_view.cc:356
 +#: src/wx/audio_mapping_view.cc:364
  msgid "Right click to change gain."
  msgstr "Högerklicka för att Ã¤ndra förstärkning."
  
  msgid "Right crop"
  msgstr "Höger beskärning"
  
 -#: src/wx/audio_mapping_view.cc:297
 +#: src/wx/config_dialog.cc:723
 +msgid "Root"
 +msgstr ""
 +
 +#: src/wx/make_signer_chain_dialog.cc:29
 +msgid "Root common name"
 +msgstr ""
 +
 +#: src/wx/audio_mapping_view.cc:305
  msgid "Rs"
  msgstr "Hs"
  
 -#: src/wx/film_editor.cc:227
 +#: src/wx/dcp_panel.cc:114
  msgid "SMPTE"
  msgstr "SMPTE"
  
 -#: src/wx/video_panel.cc:132
 +#: src/wx/video_panel.cc:143
  msgid "Scale to"
  msgstr "Skala om till"
  
 -#: src/wx/video_panel.cc:316
 +#: src/wx/video_panel.cc:337
  #, c-format
  msgid "Scaled to %dx%d (%.2f:1)\n"
  msgstr "Skalad till %dx%d (%.2f:1)\n"
  
 -#: src/wx/film_editor.cc:195
 +#: src/wx/dcp_panel.cc:574
  msgid "Scaler"
  msgstr "Omskalare"
  
@@@ -1028,20 -956,10 +1073,20 @@@ msgstr "Lägg till Skärm...
  msgid "Select CPL XML file"
  msgstr "Välj audiofil"
  
 -#: src/wx/screen_dialog.cc:102
 +#: src/wx/config_dialog.cc:679 src/wx/config_dialog.cc:795
 +#: src/wx/config_dialog.cc:840 src/wx/screen_dialog.cc:102
  msgid "Select Certificate File"
  msgstr "Välj certifikatfil"
  
 +#: src/wx/content_menu.cc:266
 +msgid "Select KDM"
 +msgstr ""
 +
 +#: src/wx/config_dialog.cc:769 src/wx/config_dialog.cc:817
 +#, fuzzy
 +msgid "Select Key File"
 +msgstr "Välj certifikatfil"
 +
  #: src/wx/kdm_dialog.cc:185
  msgid "Send by email"
  msgstr "Skicka med mejl"
@@@ -1062,7 -980,7 +1107,7 @@@ msgstr "
  msgid "Server serial number"
  msgstr ""
  
 -#: src/wx/config_dialog.cc:438
 +#: src/wx/config_dialog.cc:444
  #, fuzzy
  msgid "Servers"
  msgstr "Server"
  msgid "Set"
  msgstr "Sätt"
  
 -#: src/wx/config_dialog.cc:92
 +#: src/wx/config_dialog.cc:99
  msgid "Set language"
  msgstr "Välj sprÃ¥k"
  
 -#: src/wx/audio_panel.cc:48
 +#: src/wx/audio_panel.cc:51
  msgid "Show Audio..."
  msgstr "Visa Audio..."
  
 -#: src/wx/film_editor.cc:158
 +#: src/wx/dcp_panel.cc:88
  msgid "Signed"
  msgstr "Signerad"
  
@@@ -1096,16 -1014,11 +1141,16 @@@ msgstr "Snap
  msgid "Stable version "
  msgstr "Stabil version"
  
 -#: src/wx/film_editor.cc:190
 +#: src/wx/dcp_panel.cc:96
  msgid "Standard"
  msgstr "Standard"
  
 -#: src/wx/audio_panel.cc:81 src/wx/subtitle_panel.cc:79
 +#: src/wx/subtitle_view.cc:39
 +#, fuzzy
 +msgid "Start"
 +msgstr "Start"
 +
 +#: src/wx/audio_panel.cc:84 src/wx/subtitle_panel.cc:87
  #, fuzzy
  msgid "Stream"
  msgstr "Audioström"
  msgid "Studio (e.g. TCF)"
  msgstr "Studio (ex. TCF)"
  
 -#: src/wx/config_dialog.cc:671
 +#: src/wx/config_dialog.cc:1010
  msgid "Subject"
  msgstr ""
  
 +#: src/wx/subtitle_view.cc:55
 +#, fuzzy
 +msgid "Subtitle"
 +msgstr "Undertexter"
 +
  #: src/wx/isdcf_metadata_dialog.cc:38
  msgid "Subtitle Language (e.g. FR)"
  msgstr "UndertextsprÃ¥k (ex. SV)"
  
 -#: src/wx/subtitle_panel.cc:34
 +#: src/wx/subtitle_panel.cc:41 src/wx/subtitle_view.cc:32
  msgid "Subtitles"
  msgstr "Undertexter"
  
- #: src/wx/about_dialog.cc:165
+ #: src/wx/about_dialog.cc:166
  msgid "Supported by"
  msgstr "Stöd frÃ¥n"
  
 -#: src/wx/config_dialog.cc:542
 +#: src/wx/config_dialog.cc:881
  msgid "TMS"
  msgstr "TMS"
  
 -#: src/wx/config_dialog.cc:564
 +#: src/wx/config_dialog.cc:903
  msgid "Target path"
  msgstr "MÃ¥lsökväg"
  
@@@ -1156,12 -1064,12 +1201,12 @@@ msgstr "OmrÃ¥de (ex. SV)
  msgid "Test version "
  msgstr "Testversion"
  
- #: src/wx/about_dialog.cc:210
+ #: src/wx/about_dialog.cc:211
  #, fuzzy
  msgid "Tested by"
  msgstr "Översatt av"
  
 -#: src/wx/content_menu.cc:223
 +#: src/wx/content_menu.cc:252
  msgid ""
  "The content file(s) you specified are not the same as those that are "
  "missing.  Either try again with the correct content file or remove the "
@@@ -1174,7 -1082,7 +1219,7 @@@ msgstr "
  msgid "There are no hints: everything looks good!"
  msgstr "Det finns inga rÃ¥d: allt verkar bra!"
  
 -#: src/wx/film_viewer.cc:134
 +#: src/wx/film_viewer.cc:142
  msgid "There is not enough free memory to do that."
  msgstr ""
  
@@@ -1186,23 -1094,19 +1231,23 @@@ msgstr "
  msgid "Threads"
  msgstr "TrÃ¥dar"
  
 -#: src/wx/config_dialog.cc:111
 +#: src/wx/config_dialog.cc:118
  msgid "Threads to use for encoding on this host"
  msgstr "Antal trÃ¥dar att använda vid kodning pÃ¥ denna maskin"
  
 +#: src/wx/config_dialog.cc:583
 +msgid "Thumbprint"
 +msgstr ""
 +
  #: src/wx/audio_plot.cc:165
  msgid "Time"
  msgstr "Tid"
  
 -#: src/wx/timeline_dialog.cc:32
 +#: src/wx/timeline_dialog.cc:33
  msgid "Timeline"
  msgstr "Tidslinje"
  
- #: src/wx/content_panel.cc:77
+ #: src/wx/film_editor.cc:300
  msgid "Timeline..."
  msgstr "Tidslinje..."
  
  msgid "Timing|Timing"
  msgstr "Tajming"
  
 -#: src/wx/video_panel.cc:110
 +#: src/wx/video_panel.cc:111
  msgid "Top crop"
  msgstr "Övre beskärning"
  
 -#: src/wx/about_dialog.cc:107
 +#: src/wx/about_dialog.cc:111
  msgid "Translated by"
  msgstr "Översatt av"
  
@@@ -1228,8 -1132,7 +1273,8 @@@ msgstr "Trimma frÃ¥n slut
  msgid "Trim from start"
  msgstr "Trimma frÃ¥n start"
  
 -#: src/wx/audio_dialog.cc:55 src/wx/video_panel.cc:75
 +#: src/wx/audio_dialog.cc:55 src/wx/config_dialog.cc:575
 +#: src/wx/video_panel.cc:76
  msgid "Type"
  msgstr "Typ"
  
@@@ -1248,7 -1151,7 +1293,7 @@@ msgstr "okänt
  msgid "Until"
  msgstr "Tills"
  
- #: src/wx/content_panel.cc:73
+ #: src/wx/film_editor.cc:292
  msgid "Up"
  msgstr "Upp"
  
  msgid "Update"
  msgstr "Uppdatera"
  
 -#: src/wx/film_editor.cc:123
 +#: src/wx/dcp_panel.cc:66
  #, fuzzy
  msgid "Use ISDCF name"
  msgstr "Använd DCI-namnet"
  
 -#: src/wx/config_dialog.cc:452
 +#: src/wx/config_dialog.cc:458
  msgid "Use all servers"
  msgstr "Använd alla servrar"
  
 -#: src/wx/film_editor.cc:152
 +#: src/wx/dcp_panel.cc:545
  msgid "Use best"
  msgstr "Använd bästa"
  
  msgid "Use preset"
  msgstr "Använd förhandsinställning"
  
 -#: src/wx/config_dialog.cc:568
 +#: src/wx/subtitle_panel.cc:47
 +#, fuzzy
 +msgid "Use subtitles"
 +msgstr "Undertexter"
 +
 +#: src/wx/config_dialog.cc:907
  msgid "User name"
  msgstr "Användarnamn"
  
 -#: src/wx/audio_mapping_view.cc:305
 +#: src/wx/audio_mapping_view.cc:313
  msgid "VI"
  msgstr "VI"
  
 -#: src/wx/video_panel.cc:68
 +#: src/wx/dcp_panel.cc:85 src/wx/video_panel.cc:69
  msgid "Video"
  msgstr "Video"
  
  msgid "Video frame rate"
  msgstr "bildhastighet"
  
 -#: src/wx/config_dialog.cc:815
 -msgid "Warnings"
 +#: src/wx/subtitle_panel.cc:91
 +msgid "View..."
  msgstr ""
  
 -#: src/wx/subtitle_panel.cc:39
 -msgid "With Subtitles"
 -msgstr "Med Undertexter"
 +#: src/wx/config_dialog.cc:1157
 +msgid "Warnings"
 +msgstr ""
  
  #: src/wx/kdm_dialog.cc:172
  msgid "Write to"
  msgstr "Skriv till"
  
 -#: src/wx/about_dialog.cc:91
 +#: src/wx/about_dialog.cc:95
  msgid "Written by"
  msgstr "Skriven av"
  
 -#: src/wx/subtitle_panel.cc:44
 +#: src/wx/subtitle_panel.cc:52
  #, fuzzy
  msgid "X Offset"
  msgstr "Undertext Förskjutning"
  
 -#: src/wx/subtitle_panel.cc:62
 +#: src/wx/subtitle_panel.cc:70
  #, fuzzy
  msgid "X Scale"
  msgstr "Omskalare"
  
 -#: src/wx/subtitle_panel.cc:53
 +#: src/wx/subtitle_panel.cc:61
  #, fuzzy
  msgid "Y Offset"
  msgstr "Undertext Förskjutning"
  
 -#: src/wx/subtitle_panel.cc:71
 +#: src/wx/subtitle_panel.cc:79
  #, fuzzy
  msgid "Y Scale"
  msgstr "Omskalare"
@@@ -1364,62 -1262,46 +1409,51 @@@ msgstr "
  "Din DCP har mindre Ã¤n 6 audiokanaler. Detta kan medföra problem pÃ¥ vissa "
  "projektorer."
  
 -#: src/wx/timeline.cc:220
 +#: src/wx/timeline.cc:229
  msgid "audio"
  msgstr "audio"
  
+ #: src/wx/audio_panel.cc:275
+ msgid "channels"
+ msgstr "kanaler"
  #: src/wx/properties_dialog.cc:46
  msgid "counting..."
  msgstr "räknar..."
  
 -#: src/wx/audio_gain_dialog.cc:30 src/wx/audio_panel.cc:62
 +#: src/wx/audio_gain_dialog.cc:30 src/wx/audio_panel.cc:65
  msgid "dB"
  msgstr "dB"
  
  #. / TRANSLATORS: this is an abbreviation for milliseconds, the unit of time
 -#: src/wx/audio_panel.cc:78 src/wx/config_dialog.cc:300
 +#: src/wx/audio_panel.cc:81 src/wx/config_dialog.cc:306
  msgid "ms"
  msgstr "ms"
  
 -#: src/wx/config_dialog.cc:258
 +#: src/wx/config_dialog.cc:264
  msgid "s"
  msgstr "s"
  
 -#: src/wx/timeline.cc:243
 +#: src/wx/timeline.cc:258
  msgid "still"
  msgstr "stillbild"
  
 +#: src/wx/timeline.cc:289
 +#, fuzzy
 +msgid "subtitles"
 +msgstr "Undertexter"
 +
  # Sammanhang?
  #: src/wx/repeat_dialog.cc:28
  msgid "times"
  msgstr "tider"
  
 -#: src/wx/timeline.cc:241
 +#: src/wx/timeline.cc:260
  msgid "video"
  msgstr "video"
  
- #~ msgid "1 channel"
- #~ msgstr "1 kanal"
- #~ msgid "Audio channels"
- #~ msgstr "Audio-kanaler"
- #~ msgid "Could not decode video for view (%s)"
- #~ msgstr "Kunde inte avkoda video för visning (%s)"
- #~ msgid "Hz"
- #~ msgstr "Hz"
- #~ msgid "With Subtitles"
- #~ msgstr "Med Undertexter"
- #~ msgid "channels"
- #~ msgstr "kanaler"
+ #~ msgid "Add folder..."
+ #~ msgstr "Lägg till folder..."
  
  #, fuzzy
  #~ msgid "Default creator"
  #~ msgid "Add"
  #~ msgstr "Lägg till"
  
 -#~ msgid "Duration"
 -#~ msgstr "Längd"
 -
  #~ msgid "Edit"
  #~ msgstr "Redigera"
  
  #~ msgid "Running"
  #~ msgstr "Körs"
  
 -#, fuzzy
 -#~ msgid "Start time"
 -#~ msgstr "Start"
 -
  #~ msgid "A/B"
  #~ msgstr "A/B"
  
- #~ msgid "Audio will be resampled from %dHz to %dHz\n"
- #~ msgstr "Audio kommer att samplas om frÃ¥n %dHz till %dHz\n"
  #~ msgid "Colour look-up table"
  #~ msgstr "Färguppslagningstabell"
  
  #~ msgid "DVD-o-matic Preferences"
  #~ msgstr "DVD-o-matic Inställningar"
  
 -#~ msgid "End"
 -#~ msgstr "Slut"
 -
  #~ msgid "Film"
  #~ msgstr "Film"
  
diff --combined src/wx/timeline.cc
index 13baef6b7bb0c143021aeb67a97fe7dcc714127e,2e368e57d7b6373740efc865e895f0a0538aae79..556e6f1b3e08ca44c2108c27cd001a4cb02c2c29
  #include <boost/weak_ptr.hpp>
  #include "lib/film.h"
  #include "lib/playlist.h"
 +#include "lib/image_content.h"
  #include "film_editor.h"
  #include "timeline.h"
 +#include "content_panel.h"
  #include "wx_util.h"
  
  using std::list;
@@@ -37,9 -35,7 +37,9 @@@ using boost::dynamic_pointer_cast
  using boost::bind;
  using boost::optional;
  
 -/** Parent class for components of the timeline (e.g. a piece of content or an axis) */
 +/** @class View
 + *  @brief Parent class for components of the timeline (e.g. a piece of content or an axis).
 + */
  class View : public boost::noncopyable
  {
  public:
@@@ -68,9 -64,9 +68,9 @@@
  protected:
        virtual void do_paint (wxGraphicsContext *) = 0;
        
 -      int time_x (Time t) const
 +      int time_x (DCPTime t) const
        {
 -              return _timeline.tracks_position().x + t * _timeline.pixels_per_time_unit().get_value_or (0);
 +              return _timeline.tracks_position().x + t.seconds() * _timeline.pixels_per_second().get_value_or (0);
        }
        
        Timeline& _timeline;
@@@ -80,9 -76,7 +80,9 @@@ private
  };
  
  
 -/** Parent class for views of pieces of content */
 +/** @class ContentView
 + *  @brief Parent class for views of pieces of content.
 + */
  class ContentView : public View
  {
  public:
                return dcpomatic::Rect<int> (
                        time_x (content->position ()) - 8,
                        y_pos (_track.get()) - 8,
 -                      content->length_after_trim () * _timeline.pixels_per_time_unit().get_value_or(0) + 16,
 +                      content->length_after_trim().seconds() * _timeline.pixels_per_second().get_value_or(0) + 16,
                        _timeline.track_height() + 16
                        );
        }
        }
  
        virtual wxString type () const = 0;
 -      virtual wxColour colour () const = 0;
 +      virtual wxColour background_colour () const = 0;
 +      virtual wxColour foreground_colour () const = 0;
        
  private:
  
                        return;
                }
  
 -              Time const position = cont->position ();
 -              Time const len = cont->length_after_trim ();
 +              DCPTime const position = cont->position ();
 +              DCPTime const len = cont->length_after_trim ();
  
 -              wxColour selected (colour().Red() / 2, colour().Green() / 2, colour().Blue() / 2);
 +              wxColour selected (background_colour().Red() / 2, background_colour().Green() / 2, background_colour().Blue() / 2);
  
 -              gc->SetPen (*wxBLACK_PEN);
 -              
 -              gc->SetPen (*wxThePenList->FindOrCreatePen (wxColour (0, 0, 0), 4, wxPENSTYLE_SOLID));
 +              gc->SetPen (*wxThePenList->FindOrCreatePen (foreground_colour(), 4, wxPENSTYLE_SOLID));
                if (_selected) {
                        gc->SetBrush (*wxTheBrushList->FindOrCreateBrush (selected, wxBRUSHSTYLE_SOLID));
                } else {
 -                      gc->SetBrush (*wxTheBrushList->FindOrCreateBrush (colour(), wxBRUSHSTYLE_SOLID));
 +                      gc->SetBrush (*wxTheBrushList->FindOrCreateBrush (background_colour(), wxBRUSHSTYLE_SOLID));
                }
  
                wxGraphicsPath path = gc->CreatePath ();
                gc->StrokePath (path);
                gc->FillPath (path);
  
 -              wxString name = wxString::Format (wxT ("%s [%s]"), std_to_wx (cont->path_summary()).data(), type().data());
 +              wxString name = wxString::Format (wxT ("%s [%s]"), std_to_wx (cont->summary()).data(), type().data());
                wxDouble name_width;
                wxDouble name_height;
                wxDouble name_descent;
                wxDouble name_leading;
                gc->GetTextExtent (name, &name_width, &name_height, &name_descent, &name_leading);
                
 -              gc->Clip (wxRegion (time_x (position), y_pos (_track.get()), len * _timeline.pixels_per_time_unit().get_value_or(0), _timeline.track_height()));
 +              gc->Clip (wxRegion (time_x (position), y_pos (_track.get()), len.seconds() * _timeline.pixels_per_second().get_value_or(0), _timeline.track_height()));
 +              gc->SetFont (gc->CreateFont (*wxNORMAL_FONT, foreground_colour ()));
                gc->DrawText (name, time_x (position) + 12, y_pos (_track.get() + 1) - name_height - 4);
                gc->ResetClip ();
        }
                }
  
                if (!frequent) {
 -                      _timeline.setup_pixels_per_time_unit ();
 +                      _timeline.setup_pixels_per_second ();
                        _timeline.Refresh ();
                }
        }
        boost::signals2::scoped_connection _content_connection;
  };
  
 +/** @class AudioContentView
 + *  @brief Timeline view for AudioContent.
 + */
  class AudioContentView : public ContentView
  {
  public:
@@@ -229,20 -220,12 +229,20 @@@ private
                return _("audio");
        }
  
 -      wxColour colour () const
 +      wxColour background_colour () const
        {
                return wxColour (149, 121, 232, 255);
        }
 +
 +      wxColour foreground_colour () const
 +      {
 +              return wxColour (0, 0, 0, 255);
 +      }
  };
  
 +/** @class AudioContentView
 + *  @brief Timeline view for VideoContent.
 + */
  class VideoContentView : public ContentView
  {
  public:
@@@ -254,62 -237,17 +254,62 @@@ private
  
        wxString type () const
        {
 -              if (dynamic_pointer_cast<FFmpegContent> (content ())) {
 -                      return _("video");
 -              } else {
 +              if (dynamic_pointer_cast<ImageContent> (content ()) && content()->number_of_paths() == 1) {
                        return _("still");
 +              } else {
 +                      return _("video");
                }
        }
  
 -      wxColour colour () const
 +      wxColour background_colour () const
        {
                return wxColour (242, 92, 120, 255);
        }
 +
 +      wxColour foreground_colour () const
 +      {
 +              return wxColour (0, 0, 0, 255);
 +      }
 +};
 +
 +/** @class AudioContentView
 + *  @brief Timeline view for SubtitleContent.
 + */
 +class SubtitleContentView : public ContentView
 +{
 +public:
 +      SubtitleContentView (Timeline& tl, shared_ptr<SubtitleContent> c)
 +              : ContentView (tl, c)
 +              , _subtitle_content (c)
 +      {}
 +
 +private:
 +      wxString type () const
 +      {
 +              return _("subtitles");
 +      }
 +
 +      wxColour background_colour () const
 +      {
 +              shared_ptr<SubtitleContent> sc = _subtitle_content.lock ();
 +              if (!sc || !sc->use_subtitles ()) {
 +                      return wxColour (210, 210, 210, 128);
 +              }
 +              
 +              return wxColour (163, 255, 154, 255);
 +      }
 +
 +      wxColour foreground_colour () const
 +      {
 +              shared_ptr<SubtitleContent> sc = _subtitle_content.lock ();
 +              if (!sc || !sc->use_subtitles ()) {
 +                      return wxColour (180, 180, 180, 128);
 +              }
 +
 +              return wxColour (0, 0, 0, 255);
 +      }
 +
 +      boost::weak_ptr<SubtitleContent> _subtitle_content;
  };
  
  class TimeAxisView : public View
@@@ -335,26 -273,26 +335,26 @@@ private
  
        void do_paint (wxGraphicsContext* gc)
        {
 -              if (!_timeline.pixels_per_time_unit()) {
 +              if (!_timeline.pixels_per_second()) {
                        return;
                }
  
 -              double const pptu = _timeline.pixels_per_time_unit().get ();
 +              double const pps = _timeline.pixels_per_second().get ();
                
                gc->SetPen (*wxThePenList->FindOrCreatePen (wxColour (0, 0, 0), 1, wxPENSTYLE_SOLID));
                
 -              int mark_interval = rint (128 / (TIME_HZ * pptu));
 +              double mark_interval = rint (128 / pps);
                if (mark_interval > 5) {
 -                      mark_interval -= mark_interval % 5;
 +                      mark_interval -= int (rint (mark_interval)) % 5;
                }
                if (mark_interval > 10) {
 -                      mark_interval -= mark_interval % 10;
 +                      mark_interval -= int (rint (mark_interval)) % 10;
                }
                if (mark_interval > 60) {
 -                      mark_interval -= mark_interval % 60;
 +                      mark_interval -= int (rint (mark_interval)) % 60;
                }
                if (mark_interval > 3600) {
 -                      mark_interval -= mark_interval % 3600;
 +                      mark_interval -= int (rint (mark_interval)) % 3600;
                }
                
                if (mark_interval < 1) {
                path.AddLineToPoint (_timeline.width(), _y);
                gc->StrokePath (path);
  
 -              Time t = 0;
 -              while ((t * pptu) < _timeline.width()) {
 +              gc->SetFont (gc->CreateFont (*wxNORMAL_FONT));
 +              
 +              /* Time in seconds */
 +              DCPTime t;
 +              while ((t.seconds() * pps) < _timeline.width()) {
                        wxGraphicsPath path = gc->CreatePath ();
                        path.MoveToPoint (time_x (t), _y - 4);
                        path.AddLineToPoint (time_x (t), _y + 4);
                        gc->StrokePath (path);
  
 -                      int tc = t / TIME_HZ;
 +                      double tc = t.seconds ();
                        int const h = tc / 3600;
                        tc -= h * 3600;
                        int const m = tc / 60;
                        wxDouble str_leading;
                        gc->GetTextExtent (str, &str_width, &str_height, &str_descent, &str_leading);
                        
 -                      int const tx = _timeline.x_offset() + t * pptu;
 +                      int const tx = _timeline.x_offset() + t.seconds() * pps;
                        if ((tx + str_width) < _timeline.width()) {
                                gc->DrawText (str, time_x (t), _y + 16);
                        }
                        
 -                      t += mark_interval * TIME_HZ;
 +                      t += DCPTime::from_seconds (mark_interval);
                }
        }
  
@@@ -404,9 -339,9 +404,9 @@@ private
  };
  
  
 -Timeline::Timeline (wxWindow* parent, FilmEditor* ed, shared_ptr<Film> film)
 +Timeline::Timeline (wxWindow* parent, ContentPanel* cp, shared_ptr<Film> film)
        : wxPanel (parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxFULL_REPAINT_ON_RESIZE)
 -      , _film_editor (ed)
 +      , _content_panel (cp)
        , _film (film)
        , _time_axis_view (new TimeAxisView (*this, 32))
        , _tracks (0)
@@@ -445,6 -380,8 +445,6 @@@ Timeline::paint (
                return;
        }
  
 -      gc->SetFont (gc->CreateFont (*wxNORMAL_FONT));
 -
        for (ViewList::iterator i = _views.begin(); i != _views.end(); ++i) {
                (*i)->paint (gc);
        }
@@@ -474,15 -411,10 +474,15 @@@ Timeline::playlist_changed (
                if (dynamic_pointer_cast<AudioContent> (*i)) {
                        _views.push_back (shared_ptr<View> (new AudioContentView (*this, *i)));
                }
 +
 +              shared_ptr<SubtitleContent> sc = dynamic_pointer_cast<SubtitleContent> (*i);
 +              if (sc && sc->has_subtitles ()) {
 +                      _views.push_back (shared_ptr<View> (new SubtitleContentView (*this, sc)));
 +              }
        }
  
        assign_tracks ();
 -      setup_pixels_per_time_unit ();
 +      setup_pixels_per_second ();
        Refresh ();
  }
  
@@@ -493,7 -425,7 +493,7 @@@ Timeline::playlist_content_changed (in
  
        if (property == ContentProperty::POSITION) {
                assign_tracks ();
 -              setup_pixels_per_time_unit ();
 +              setup_pixels_per_second ();
                Refresh ();
        }
  }
@@@ -563,14 -495,14 +563,14 @@@ Timeline::tracks () cons
  }
  
  void
 -Timeline::setup_pixels_per_time_unit ()
 +Timeline::setup_pixels_per_second ()
  {
        shared_ptr<const Film> film = _film.lock ();
 -      if (!film || film->length() == 0) {
 +      if (!film || film->length() == DCPTime ()) {
                return;
        }
  
 -      _pixels_per_time_unit = static_cast<double>(width() - x_offset() * 2) / film->length ();
 +      _pixels_per_second = static_cast<double>(width() - x_offset() * 2) / film->length().seconds ();
  }
  
  shared_ptr<View>
@@@ -613,7 -545,7 +613,7 @@@ Timeline::left_down (wxMouseEvent& ev
                }
                
                if (view == *i) {
 -                      _film_editor->set_selection (cv->content ());
 +                      _content_panel->set_selection (cv->content ());
                }
        }
  
@@@ -672,11 -604,11 +672,11 @@@ Timeline::right_down (wxMouseEvent& ev
  void
  Timeline::set_position_from_event (wxMouseEvent& ev)
  {
 -      if (!_pixels_per_time_unit) {
 +      if (!_pixels_per_second) {
                return;
        }
  
 -      double const pptu = _pixels_per_time_unit.get ();
 +      double const pps = _pixels_per_second.get ();
  
        wxPoint const p = ev.GetPosition();
  
                return;
        }
        
 -      Time new_position = _down_view_position + (p.x - _down_point.x) / pptu;
 +      DCPTime new_position = _down_view_position + DCPTime::from_seconds ((p.x - _down_point.x) / pps);
        
        if (_snap) {
                
                bool first = true;
 -              Time nearest_distance = TIME_MAX;
 -              Time nearest_new_position = TIME_MAX;
 +              DCPTime nearest_distance = DCPTime::max ();
 +              DCPTime nearest_new_position = DCPTime::max ();
                
                /* Find the nearest content edge; this is inefficient */
                for (ViewList::iterator i = _views.begin(); i != _views.end(); ++i) {
                        
                        {
                                /* Snap starts to ends */
 -                              Time const d = abs (cv->content()->end() - new_position);
 +                              DCPTime const d = DCPTime (cv->content()->end() - new_position).abs ();
                                if (first || d < nearest_distance) {
                                        nearest_distance = d;
-                                       nearest_new_position = cv->content()->end();
 -                                      nearest_new_position = cv->content()->end() + 1;
++                                      nearest_new_position = cv->content()->end() + DCPTime::delta ();
                                }
                        }
                        
                        {
                                /* Snap ends to starts */
 -                              Time const d = abs (cv->content()->position() - (new_position + _down_view->content()->length_after_trim()));
 +                              DCPTime const d = DCPTime (
 +                                      cv->content()->position() - (new_position + _down_view->content()->length_after_trim())
 +                                      ).abs ();
 +                              
                                if (d < nearest_distance) {
                                        nearest_distance = d;
-                                       nearest_new_position = cv->content()->position() - _down_view->content()->length_after_trim ();
 -                                      nearest_new_position = cv->content()->position() - _down_view->content()->length_after_trim () - 1;
++                                      nearest_new_position = cv->content()->position() - _down_view->content()->length_after_trim () - DCPTime::delta();
                                }
                        }
                        
                
                if (!first) {
                        /* Snap if it's close; `close' means within a proportion of the time on the timeline */
 -                      if (nearest_distance < (width() / pptu) / 32) {
 +                      if (nearest_distance < DCPTime::from_seconds ((width() / pps) / 32)) {
                                new_position = nearest_new_position;
                        }
                }
        }
        
 -      if (new_position < 0) {
 -              new_position = 0;
 +      if (new_position < DCPTime ()) {
 +              new_position = DCPTime ();
        }
  
        _down_view->content()->set_position (new_position);
@@@ -768,7 -697,7 +768,7 @@@ Timeline::film () cons
  void
  Timeline::resized ()
  {
 -      setup_pixels_per_time_unit ();
 +      setup_pixels_per_second ();
  }
  
  void
index 8ac90b8def6994d0e3f49e566d0f963c77c74de9,bc3e8db9931d45ae7de3b39787df38aa409633c6..2da375ecdca76886a680429e40cda753bd153958
  #include "film_editor.h"
  #include "timeline_dialog.h"
  #include "wx_util.h"
 +#include "content_panel.h"
  
  using std::list;
  using std::cout;
  using boost::shared_ptr;
  
 -TimelineDialog::TimelineDialog (FilmEditor* ed, shared_ptr<Film> film)
 -      : wxDialog (ed, wxID_ANY, _("Timeline"), wxDefaultPosition, wxSize (640, 512), wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxFULL_REPAINT_ON_RESIZE)
 +TimelineDialog::TimelineDialog (ContentPanel* cp, shared_ptr<Film> film)
 +      : wxDialog (cp->panel(), wxID_ANY, _("Timeline"), wxDefaultPosition, wxSize (640, 512), wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxFULL_REPAINT_ON_RESIZE)
+       , _film (film)
 -      , _timeline (this, ed, film)
 +      , _timeline (this, cp, film)
  {
        wxBoxSizer* sizer = new wxBoxSizer (wxVERTICAL);
  
        wxBoxSizer* controls = new wxBoxSizer (wxHORIZONTAL);
        _snap = new wxCheckBox (this, wxID_ANY, _("Snap"));
        controls->Add (_snap);
+       _sequence_video = new wxCheckBox (this, wxID_ANY, _("Keep video in sequence"));
+       controls->Add (_sequence_video, 1, wxLEFT, 12);
  
        sizer->Add (controls, 0, wxALL, 12);
        sizer->Add (&_timeline, 1, wxEXPAND | wxALL, 12);
  
        _snap->SetValue (_timeline.snap ());
        _snap->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&TimelineDialog::snap_toggled, this));
+       film_changed (Film::SEQUENCE_VIDEO);
+       _snap->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&TimelineDialog::sequence_video_toggled, this));
+       film->Changed.connect (bind (&TimelineDialog::film_changed, this, _1));
  }
  
  void
@@@ -55,3 -61,27 +62,27 @@@ TimelineDialog::snap_toggled (
  {
        _timeline.set_snap (_snap->GetValue ());
  }
+ void
+ TimelineDialog::sequence_video_toggled ()
+ {
+       shared_ptr<Film> film = _film.lock ();
+       if (!film) {
+               return;
+       }
+               
+       film->set_sequence_video (_sequence_video->GetValue ());
+ }
+ void
+ TimelineDialog::film_changed (Film::Property p)
+ {
+       shared_ptr<Film> film = _film.lock ();
+       if (!film) {
+               return;
+       }
+       if (p == Film::SEQUENCE_VIDEO) {
+               _sequence_video->SetValue (film->sequence_video ());
+       }
+ }
diff --combined src/wx/timeline_dialog.h
index 2f5fa5ec75b23a69eee666feeab0a25476005308,19a7ffade7adfbc477e2c9b1a925c2478b91c6ad..802aaf245acfedf2576b38c7b456c7d1eb1114c8
@@@ -27,11 -27,15 +27,15 @@@ class Playlist
  class TimelineDialog : public wxDialog
  {
  public:
 -      TimelineDialog (FilmEditor *, boost::shared_ptr<Film>);
 +      TimelineDialog (ContentPanel *, boost::shared_ptr<Film>);
  
  private:
        void snap_toggled ();
+       void sequence_video_toggled ();
+       void film_changed (Film::Property);
        
+       boost::weak_ptr<Film> _film;
        Timeline _timeline;
        wxCheckBox* _snap;
+       wxCheckBox* _sequence_video;
  };
diff --combined src/wx/video_panel.cc
index a8510cbbab38d4b3dd9776d268ffff24c5b13da0,eb0b812a5dd194c99130b206650e51bcc51bc399..569da6c8be5ed529308ff1d4f00ba9d1c37ea2d1
  #include "filter_dialog.h"
  #include "video_panel.h"
  #include "wx_util.h"
 -#include "film_editor.h"
  #include "content_colour_conversion_dialog.h"
  #include "content_widget.h"
 +#include "content_panel.h"
  
  using std::vector;
  using std::string;
  using std::pair;
  using std::cout;
  using std::list;
 +using std::set;
  using boost::shared_ptr;
  using boost::dynamic_pointer_cast;
  using boost::bind;
@@@ -65,8 -64,8 +65,8 @@@ scale_to_index (VideoContentScale scale
        assert (false);
  }
  
 -VideoPanel::VideoPanel (FilmEditor* e)
 -      : FilmEditorPanel (e, _("Video"))
 +VideoPanel::VideoPanel (ContentPanel* p)
 +      : ContentSubPanel (p, _("Video"))
  {
        wxGridBagSizer* grid = new wxGridBagSizer (DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
        _sizer->Add (grid, 0, wxALL, 8);
@@@ -83,7 -82,7 +83,7 @@@
                &caster<int, VideoFrameType>,
                &caster<VideoFrameType, int>
                );
 -      _frame_type->add (grid, wxGBPosition (r, 1));
 +      _frame_type->add (grid, wxGBPosition (r, 1), wxGBSpan (1, 2));
        ++r;
        
        add_label_to_grid_bag_sizer (grid, this, _("Left crop"), true, wxGBPosition (r, 0));
@@@ -95,8 -94,9 +95,8 @@@
                boost::mem_fn (&VideoContent::set_left_crop)
                );
        _left_crop->add (grid, wxGBPosition (r, 1));
 -      ++r;
  
 -      add_label_to_grid_bag_sizer (grid, this, _("Right crop"), true, wxGBPosition (r, 0));
 +      add_label_to_grid_bag_sizer (grid, this, _("Right crop"), true, wxGBPosition (r, 2));
        _right_crop = new ContentSpinCtrl<VideoContent> (
                this,
                new wxSpinCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1)),
                boost::mem_fn (&VideoContent::right_crop),
                boost::mem_fn (&VideoContent::set_right_crop)
                );
 -      _right_crop->add (grid, wxGBPosition (r, 1));
 +      _right_crop->add (grid, wxGBPosition (r, 3));
 +      
        ++r;
        
        add_label_to_grid_bag_sizer (grid, this, _("Top crop"), true, wxGBPosition (r, 0));
                boost::mem_fn (&VideoContent::top_crop),
                boost::mem_fn (&VideoContent::set_top_crop)
                );
 -      _top_crop->add (grid, wxGBPosition (r,1 ));
 -      ++r;
 +      _top_crop->add (grid, wxGBPosition (r, 1));
        
 -      add_label_to_grid_bag_sizer (grid, this, _("Bottom crop"), true, wxGBPosition (r, 0));
 +      add_label_to_grid_bag_sizer (grid, this, _("Bottom crop"), true, wxGBPosition (r, 2));
        _bottom_crop = new ContentSpinCtrl<VideoContent> (
                this,
                new wxSpinCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1)),
                boost::mem_fn (&VideoContent::bottom_crop),
                boost::mem_fn (&VideoContent::set_bottom_crop)
                );
 -      _bottom_crop->add (grid, wxGBPosition (r, 1));
 +      _bottom_crop->add (grid, wxGBPosition (r, 3));
 +      
        ++r;
  
 +      add_label_to_grid_bag_sizer (grid, this, _("Fade in"), true, wxGBPosition (r, 0));
 +      _fade_in = new Timecode<ContentTime> (this);
 +      grid->Add (_fade_in, wxGBPosition (r, 1), wxGBSpan (1, 3));
 +      ++r;
 +
 +      add_label_to_grid_bag_sizer (grid, this, _("Fade out"), true, wxGBPosition (r, 0));
 +      _fade_out = new Timecode<ContentTime> (this);
 +      grid->Add (_fade_out, wxGBPosition (r, 1), wxGBSpan (1, 3));
 +      ++r;
 +      
        add_label_to_grid_bag_sizer (grid, this, _("Scale to"), true, wxGBPosition (r, 0));
        _scale = new ContentChoice<VideoContent, VideoContentScale> (
                this,
                &index_to_scale,
                &scale_to_index
                );
 -      _scale->add (grid, wxGBPosition (r, 1));
 +      _scale->add (grid, wxGBPosition (r, 1), wxGBSpan (1, 2));
        ++r;
  
 -      {
 -              add_label_to_grid_bag_sizer (grid, this, _("Filters"), true, wxGBPosition (r, 0));
 -              wxSizer* s = new wxBoxSizer (wxHORIZONTAL);
 -
 -              wxClientDC dc (this);
 -              wxSize size = dc.GetTextExtent (wxT ("A quite long-ish name"));
 -              size.SetHeight (-1);
 -              
 -              _filters = new wxStaticText (this, wxID_ANY, _("None"), wxDefaultPosition, size);
 -              s->Add (_filters, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL | wxTOP | wxBOTTOM | wxRIGHT, 6);
 -              _filters_button = new wxButton (this, wxID_ANY, _("Edit..."));
 -              s->Add (_filters_button, 0, wxALIGN_CENTER_VERTICAL);
 -              grid->Add (s, wxGBPosition (r, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL);
 -      }
 +      wxClientDC dc (this);
 +      wxSize size = dc.GetTextExtent (wxT ("A quite long name"));
 +      size.SetHeight (-1);
 +      
 +      add_label_to_grid_bag_sizer (grid, this, _("Filters"), true, wxGBPosition (r, 0));
 +      _filters = new wxStaticText (this, wxID_ANY, _("None"), wxDefaultPosition, size);
 +      grid->Add (_filters, wxGBPosition (r, 1), wxGBSpan (1, 2), wxALIGN_CENTER_VERTICAL);
 +      _filters_button = new wxButton (this, wxID_ANY, _("Edit..."));
 +      grid->Add (_filters_button, wxGBPosition (r, 3), wxDefaultSpan, wxALIGN_CENTER_VERTICAL);
        ++r;
        
-       add_label_to_grid_bag_sizer (grid, this, _("Colour conversion"), true, wxGBPosition (r, 0));
 -      {
 -              _enable_colour_conversion = new wxCheckBox (this, wxID_ANY, _("Colour conversion"));
 -              grid->Add (_enable_colour_conversion, wxGBPosition (r, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL);
 -
 -              wxSizer* s = new wxBoxSizer (wxHORIZONTAL);
 -
 -              wxClientDC dc (this);
 -              wxSize size = dc.GetTextExtent (wxT ("A quite long-ish name"));
 -              size.SetHeight (-1);
 -              
 -              _colour_conversion = new wxStaticText (this, wxID_ANY, wxT (""), wxDefaultPosition, size);
 -
 -              s->Add (_colour_conversion, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL | wxTOP | wxBOTTOM | wxRIGHT, 6);
 -              _colour_conversion_button = new wxButton (this, wxID_ANY, _("Edit..."));
 -              s->Add (_colour_conversion_button, 0, wxALIGN_CENTER_VERTICAL);
 -              grid->Add (s, wxGBPosition (r, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL);
 -      }
++      _enable_colour_conversion = new wxCheckBox (this, wxID_ANY, _("Colour conversion"));
++      grid->Add (_enable_colour_conversion, wxGBPosition (r, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL);
 +      _colour_conversion = new wxStaticText (this, wxID_ANY, wxT (""), wxDefaultPosition, size);
 +      grid->Add (_colour_conversion, wxGBPosition (r, 1), wxGBSpan (1, 2), wxALIGN_CENTER_VERTICAL);
 +      _colour_conversion_button = new wxButton (this, wxID_ANY, _("Edit..."));
 +      grid->Add (_colour_conversion_button, wxGBPosition (r, 3), wxDefaultSpan, wxALIGN_CENTER_VERTICAL);
        ++r;
  
        _description = new wxStaticText (this, wxID_ANY, wxT ("\n \n \n \n \n"), wxDefaultPosition, wxDefaultSize);
 -      grid->Add (_description, wxGBPosition (r, 0), wxGBSpan (1, 2), wxEXPAND | wxALIGN_CENTER_VERTICAL | wxALL, 6);
 +      grid->Add (_description, wxGBPosition (r, 0), wxGBSpan (1, 4), wxEXPAND | wxALIGN_CENTER_VERTICAL | wxALL, 6);
        wxFont font = _description->GetFont();
        font.SetStyle(wxFONTSTYLE_ITALIC);
        font.SetPointSize(font.GetPointSize() - 1);
        _frame_type->wrapped()->Append (_("3D left only"));
        _frame_type->wrapped()->Append (_("3D right only"));
  
 +      _fade_in->Changed.connect (boost::bind (&VideoPanel::fade_in_changed, this));
 +      _fade_out->Changed.connect (boost::bind (&VideoPanel::fade_out_changed, this));
 +      
        _filters_button->Bind           (wxEVT_COMMAND_BUTTON_CLICKED,   boost::bind (&VideoPanel::edit_filters_clicked, this));
+       _enable_colour_conversion->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&VideoPanel::enable_colour_conversion_clicked, this));
        _colour_conversion_button->Bind (wxEVT_COMMAND_BUTTON_CLICKED,   boost::bind (&VideoPanel::edit_colour_conversion_clicked, this));
  }
  
@@@ -221,7 -225,7 +223,7 @@@ VideoPanel::film_changed (Film::Propert
  void
  VideoPanel::film_content_changed (int property)
  {
 -      VideoContentList vc = _editor->selected_video_content ();
 +      VideoContentList vc = _parent->selected_video ();
        shared_ptr<VideoContent> vcs;
        shared_ptr<FFmpegContent> fcs;
        if (!vc.empty ()) {
        } else if (property == VideoContentProperty::VIDEO_FRAME_RATE) {
                setup_description ();
        } else if (property == VideoContentProperty::COLOUR_CONVERSION) {
-               optional<size_t> preset = vcs ? vcs->colour_conversion().preset () : optional<size_t> ();
-               vector<PresetColourConversion> cc = Config::instance()->colour_conversions ();
-               _colour_conversion->SetLabel (preset ? std_to_wx (cc[preset.get()].name) : _("Custom"));
+               if (!vcs) {
+                       _colour_conversion->SetLabel (wxT (""));
+               } else if (vcs->colour_conversion ()) {
+                       optional<size_t> preset = vcs->colour_conversion().get().preset ();
+                       vector<PresetColourConversion> cc = Config::instance()->colour_conversions ();
+                       _colour_conversion->SetLabel (preset ? std_to_wx (cc[preset.get()].name) : _("Custom"));
+                       _enable_colour_conversion->SetValue (true);
+                       _colour_conversion->Enable (true);
+                       _colour_conversion_button->Enable (true);
+               } else {
+                       _colour_conversion->SetLabel (_("None"));
+                       _enable_colour_conversion->SetValue (false);
+                       _colour_conversion->Enable (false);
+                       _colour_conversion_button->Enable (false);
+               }
        } else if (property == FFmpegContentProperty::FILTERS) {
                if (fcs) {
                        string const p = Filter::ffmpeg_string (fcs->filters ());
                                _filters->SetLabel (std_to_wx (p));
                        }
                }
 +      } else if (property == VideoContentProperty::VIDEO_FADE_IN) {
 +              set<ContentTime> check;
 +              for (VideoContentList::const_iterator i = vc.begin (); i != vc.end(); ++i) {
 +                      check.insert ((*i)->fade_in ());
 +              }
 +              
 +              if (check.size() == 1) {
 +                      _fade_in->set (vc.front()->fade_in (), vc.front()->video_frame_rate ());
 +              } else {
 +                      _fade_in->clear ();
 +              }
 +      } else if (property == VideoContentProperty::VIDEO_FADE_OUT) {
 +              set<ContentTime> check;
 +              for (VideoContentList::const_iterator i = vc.begin (); i != vc.end(); ++i) {
 +                      check.insert ((*i)->fade_out ());
 +              }
 +              
 +              if (check.size() == 1) {
 +                      _fade_out->set (vc.front()->fade_out (), vc.front()->video_frame_rate ());
 +              } else {
 +                      _fade_out->clear ();
 +              }
        }
  }
  
  void
  VideoPanel::edit_filters_clicked ()
  {
 -      FFmpegContentList c = _editor->selected_ffmpeg_content ();
 +      FFmpegContentList c = _parent->selected_ffmpeg ();
        if (c.size() != 1) {
                return;
        }
  void
  VideoPanel::setup_description ()
  {
 -      VideoContentList vc = _editor->selected_video_content ();
 +      VideoContentList vc = _parent->selected_video ();
        if (vc.empty ()) {
                _description->SetLabel ("");
                return;
        }
  
        Crop const crop = vcs->crop ();
 -      if ((crop.left || crop.right || crop.top || crop.bottom) && vcs->video_size() != libdcp::Size (0, 0)) {
 -              libdcp::Size cropped = vcs->video_size_after_crop ();
 +      if ((crop.left || crop.right || crop.top || crop.bottom) && vcs->video_size() != dcp::Size (0, 0)) {
 +              dcp::Size cropped = vcs->video_size_after_crop ();
                d << wxString::Format (
                        _("Cropped to %dx%d (%.2f:1)\n"),
                        cropped.width, cropped.height,
                ++lines;
        }
  
 -      libdcp::Size const container_size = _editor->film()->frame_size ();
 -      libdcp::Size const scaled = vcs->scale().size (vcs, container_size, container_size);
 +      dcp::Size const container_size = _parent->film()->frame_size ();
 +      dcp::Size const scaled = vcs->scale().size (vcs, container_size, container_size, 1);
  
        if (scaled != vcs->video_size_after_crop ()) {
                d << wxString::Format (
  
        d << wxString::Format (_("Content frame rate %.4f\n"), vcs->video_frame_rate ());
        ++lines;
 -      FrameRateChange frc (vcs->video_frame_rate(), _editor->film()->video_frame_rate ());
 +      FrameRateChange frc (vcs->video_frame_rate(), _parent->film()->video_frame_rate ());
        d << std_to_wx (frc.description ()) << "\n";
        ++lines;
  
  void
  VideoPanel::edit_colour_conversion_clicked ()
  {
 -      VideoContentList vc = _editor->selected_video_content ();
 +      VideoContentList vc = _parent->selected_video ();
        if (vc.size() != 1) {
                return;
        }
  
-       ColourConversion conversion = vc.front()->colour_conversion ();
+       if (!vc.front()->colour_conversion ()) {
+               return;
+       }
+       ColourConversion conversion = vc.front()->colour_conversion().get ();
        ContentColourConversionDialog* d = new ContentColourConversionDialog (this);
        d->set (conversion);
        d->ShowModal ();
  void
  VideoPanel::content_selection_changed ()
  {
 -      VideoContentList video_sel = _editor->selected_video_content ();
 -      FFmpegContentList ffmpeg_sel = _editor->selected_ffmpeg_content ();
 +      VideoContentList video_sel = _parent->selected_video ();
 +      FFmpegContentList ffmpeg_sel = _parent->selected_ffmpeg ();
        
        bool const single = video_sel.size() == 1;
  
        film_content_changed (VideoContentProperty::VIDEO_CROP);
        film_content_changed (VideoContentProperty::VIDEO_FRAME_RATE);
        film_content_changed (VideoContentProperty::COLOUR_CONVERSION);
 +      film_content_changed (VideoContentProperty::VIDEO_FADE_IN);
 +      film_content_changed (VideoContentProperty::VIDEO_FADE_OUT);
        film_content_changed (FFmpegContentProperty::FILTERS);
  }
  
 -      VideoContentList vc = _editor->selected_video_content ();
 +void
 +VideoPanel::fade_in_changed ()
 +{
 +      VideoContentList vc = _parent->selected_video ();
 +      for (VideoContentList::const_iterator i = vc.begin(); i != vc.end(); ++i) {
 +              (*i)->set_fade_in (_fade_in->get (_parent->film()->video_frame_rate ()));
 +      }
 +}
 +
 +void
 +VideoPanel::fade_out_changed ()
 +{
 +      VideoContentList vc = _parent->selected_video ();
 +      for (VideoContentList::const_iterator i = vc.begin(); i != vc.end(); ++i) {
 +              (*i)->set_fade_out (_fade_out->get (_parent->film()->video_frame_rate ()));
 +      }
 +}
++
+ void
+ VideoPanel::enable_colour_conversion_clicked ()
+ {
++      VideoContentList vc = _parent->selected_video ();
+       if (vc.size() != 1) {
+               return;
+       }
+       if (_enable_colour_conversion->GetValue()) {
+               vc.front()->set_default_colour_conversion ();
+       } else {
+               vc.front()->unset_colour_conversion ();
+       }
+ }
diff --combined src/wx/video_panel.h
index aa0c6ed531af796a4fdc54df2c4f83e8b3957262,16ecb7e2ed6ecec629d65f7d471b38a4bdc51d4c..28d6aa4bbf6b6d8118cd88784ce799066bd7157c
@@@ -1,5 -1,5 +1,5 @@@
  /*
 -    Copyright (C) 2012-2013 Carl Hetherington <cth@carlh.net>
 +    Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
  
      This program is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published by
  
  */
  
 -#include "lib/film.h"
 -#include "film_editor_panel.h"
 +/** @file  src/lib/video_panel.h
 + *  @brief VideoPanel class.
 + */
 +
 +#include "content_sub_panel.h"
  #include "content_widget.h"
 +#include "timecode.h"
 +#include "lib/film.h"
  
  class wxChoice;
  class wxStaticText;
  class wxSpinCtrl;
  class wxButton;
  
 -class VideoPanel : public FilmEditorPanel
 +/** @class VideoPanel
 + *  @brief The video tab of the film editor.
 + */
 +class VideoPanel : public ContentSubPanel
  {
  public:
 -      VideoPanel (FilmEditor *);
 +      VideoPanel (ContentPanel *);
  
        void film_changed (Film::Property);
        void film_content_changed (int);
  
  private:
        void edit_filters_clicked ();
+       void enable_colour_conversion_clicked ();
        void edit_colour_conversion_clicked ();
 +      void fade_in_changed ();
 +      void fade_out_changed ();
  
        void setup_description ();
  
        ContentSpinCtrl<VideoContent>*                  _right_crop;
        ContentSpinCtrl<VideoContent>*                  _top_crop;
        ContentSpinCtrl<VideoContent>*                  _bottom_crop;
 +      Timecode<ContentTime>*                          _fade_in;
 +      Timecode<ContentTime>*                          _fade_out;
        ContentChoice<VideoContent, VideoContentScale>* _scale;
        wxStaticText* _description;
        wxStaticText* _filters;
        wxButton* _filters_button;
+       wxCheckBox* _enable_colour_conversion;
        wxStaticText* _colour_conversion;
        wxButton* _colour_conversion_button;
  };