Merge master.
authorCarl Hetherington <cth@carlh.net>
Tue, 4 Feb 2014 09:59:38 +0000 (09:59 +0000)
committerCarl Hetherington <cth@carlh.net>
Tue, 4 Feb 2014 09:59:38 +0000 (09:59 +0000)
41 files changed:
ChangeLog
cscript
debian/changelog
debian/rules
platform/windows/installer.nsi.32.in [deleted file]
platform/windows/installer.nsi.64.in [deleted file]
platform/windows/wscript
run/dcpomatic_batch
src/lib/config.cc
src/lib/cross.cc
src/lib/cross.h
src/lib/encoder.cc
src/lib/exceptions.h
src/lib/ffmpeg_content.cc
src/lib/film.cc
src/lib/player.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/sv_SE.po
src/lib/subrip_content.cc
src/lib/subtitle_content.cc
src/lib/subtitle_content.h
src/lib/transcode_job.cc
src/tools/dcpomatic_batch.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/sv_SE.po
src/wx/config_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/sv_SE.po
src/wx/subtitle_panel.cc
src/wx/subtitle_panel.h
wscript

index d50255261a69f7a6c579da0c4ba40dc3f595259e..b9a027fce3c7ac212fea2569c30fd70a85b649b3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,43 @@
+2014-02-02  Carl Hetherington  <cth@carlh.net>
+
+       * Version 1.64.0 released.
+
+2014-01-29  Carl Hetherington  <cth@carlh.net>
+
+       * Version 1.63.8 released.
+
+2014-01-29  Carl Hetherington  <cth@carlh.net>
+
+       * Add subtitle X offset option.
+
+       * Fix missing subtitles when subtitled content is at a non-zero position.
+
+2014-01-28  Carl Hetherington  <cth@carlh.net>
+
+       * Use Mbit/s instead of the incorrect MBps.
+
+       * Version 1.63.7 released.
+
+2014-01-28  Carl Hetherington  <cth@carlh.net>
+
+       * Try to prevent Windows machines going to sleep during encodes.
+
+       * Add option to not install main program / server on Windows.
+
+2014-01-26  Carl Hetherington  <cth@carlh.net>
+
+       * Change default JPEG2000 bandwith to 100MBps.
+
+       * Updated fr_FR translation from Theirry Journet.
+
+2014-01-24  Carl Hetherington  <cth@carlh.net>
+
+       * Try to fix repeatedly-reported exceptions.
+
+2014-01-23  Carl Hetherington  <cth@carlh.net>
+
+       * Version 1.63.6 released.
+
 2014-01-23  Carl Hetherington  <cth@carlh.net>
 
        * Fix recovery of DCP encoding after a crash with a 3D DCP.
diff --git a/cscript b/cscript
index c329ea84fd63db7f0f828a512eb813cc7fcc2a8d..4103f936675791d5545496f44f1aa95902b1a9cc 100644 (file)
--- a/cscript
+++ b/cscript
@@ -91,7 +91,7 @@ def packages(name, packages, f):
         s += str(p) + ', '
     print >>f,s[:-2]
 
-def make_control(version, bits, filename):
+def make_control(version, bits, filename, debug):
     f = open(filename, 'w')
     print >>f,'Source: dcpomatic'
     print >>f,'Section: video'
@@ -108,11 +108,26 @@ def make_control(version, bits, filename):
         print >>f,'Architecture: amd64'
 
     packages('Depends', depends[version], f)
+
     print >>f,'Description: Generator of Digital Cinema Packages (DCPs)'
     print >>f,'  DCP-o-matic generates Digital Cinema Packages (DCPs) from video and audio'
     print >>f,'  files (such as those from DVDs or Blu-Rays) for presentation on DCI-compliant'
     print >>f,'  digital projectors.'
 
+    if debug:
+        print >>f,''
+        print >>f,'Package: dcpomatic-dbg'
+        if bits == 32:
+            print >>f,'Architecture: i386'
+        else:
+            print >>f,'Architecture: amd64'
+        print >>f,'Section: debug'
+        print >>f,'Priority: extra'
+        packages('Depends', depends[version], f)
+        print >>f,'Description: debugging symbols for dcpomatic'
+        print >>f,'  This package contains the debugging symbols for dcpomatic.'
+        print >>f,''
+
 def dependencies(target):
     return (('ffmpeg-cdist', '5ac3a6af077c10f07c31954c372a8f29e4e18e2a'),
             ('libdcp', '054cc86'))
@@ -146,7 +161,7 @@ def package(target, version):
         else:
             cpu = 'amd64'
 
-        make_control(target.version, target.bits, 'debian/control')
+        make_control(target.version, target.bits, 'debian/control', target.debug)
         target.command('./waf dist')
         f = open('debian/files', 'w')
         print >>f,'dcpomatic_%s-1_%s.deb video extra' % (version, cpu)
index 92285206920506dd17b9c946c51a1274e8e7fa42..6290cc9e7b51cb36c715c2a09a0f19c8908680cf 100644 (file)
@@ -1,4 +1,4 @@
-dcpomatic (1.63.5-1) UNRELEASED; urgency=low
+dcpomatic (1.64.0-1) UNRELEASED; urgency=low
 
   * New upstream release.
   * New upstream release.
@@ -77,8 +77,12 @@ dcpomatic (1.63.5-1) UNRELEASED; urgency=low
   * New upstream release.
   * New upstream release.
   * New upstream release.
+  * New upstream release.
+  * New upstream release.
+  * New upstream release.
+  * New upstream release.
 
- -- Carl Hetherington <carl@d1stkfactory>  Tue, 21 Jan 2014 22:48:10 +0000
+ -- Carl Hetherington <carl@d1stkfactory>  Sun, 02 Feb 2014 23:46:54 +0000
 
 dcpomatic (0.87-1) UNRELEASED; urgency=low
 
index c0db3f77aff09eb5db203ce97d1d652f70c4235c..8973231b56805bf436f4eb99da35aa1a4b2f9ebb 100755 (executable)
 
 override_dh_auto_configure:
        LINKFLAGS=$(CDIST_LINKFLAGS) CXXFLAGS="$(CXXFLAGS) $(CDIST_CXXFLAGS)" PKG_CONFIG_PATH=$(CDIST_PKG_CONFIG_PATH) \
-                ./waf --nocache configure --prefix=/usr --static
+                ./waf --nocache configure --prefix=/usr --static --enable-debug
 
 override_dh_auto_build:
        ./waf --nocache build
 
 override_dh_auto_install:
        ./waf --nocache install --destdir=debian/dcpomatic
+
+.PHONY: override_dh_strip
+override_dh_strip:
+       dh_strip --dbg-package=dcpomatic-dbg
diff --git a/platform/windows/installer.nsi.32.in b/platform/windows/installer.nsi.32.in
deleted file mode 100644 (file)
index c6122e2..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-!include "MUI2.nsh"
-Name "DCP-o-matic"
-
-RequestExecutionLevel admin
-
-outFile "DCP-o-matic @version@ 32-bit Installer.exe"
-!define MUI_ICON "%resources%/dcpomatic.ico"
-!define MUI_UNICON "%resources%/dcpomatic.ico"
-!define MUI_SPECIALBITMAP "%resources%/dcpomatic.bmp"
-
-InstallDir "$PROGRAMFILES\DCP-o-matic"
-
-!insertmacro MUI_PAGE_WELCOME
-!insertmacro MUI_PAGE_LICENSE "../../../COPYING"
-!insertmacro MUI_PAGE_DIRECTORY
-!insertmacro MUI_PAGE_INSTFILES
-!insertmacro MUI_PAGE_FINISH
-
-!insertmacro MUI_UNPAGE_WELCOME
-!insertmacro MUI_UNPAGE_CONFIRM
-!insertmacro MUI_UNPAGE_INSTFILES
-!insertmacro MUI_UNPAGE_FINISH
-!insertmacro MUI_LANGUAGE "English"
-
-Section "install" "Installation info"
-SetOutPath "$INSTDIR\bin"
-
-File "%static_deps%/bin/libintl-8.dll"
-File "%static_deps%/bin/libboost_chrono-mt.dll"
-File "%static_deps%/bin/libboost_filesystem-mt.dll"
-File "%static_deps%/bin/libboost_system-mt.dll"
-File "%static_deps%/bin/libboost_thread_win32-mt.dll"
-File "%static_deps%/bin/libboost_date_time-mt.dll"
-File "%static_deps%/bin/libboost_locale-mt.dll"
-File "%static_deps%/bin/libeay32.dll"
-File "%static_deps%/bin/libgcc_s_sjlj-1.dll"
-File "%static_deps%/bin/libgio-2.0-0.dll"
-File "%static_deps%/bin/libglib-2.0-0.dll"
-File "%static_deps%/bin/libgobject-2.0-0.dll"
-File "%static_deps%/bin/libiconv-2.dll"
-File "%static_deps%/bin/libjpeg-8.dll"
-File "%static_deps%/bin/libMagick++-6.Q16-3.dll"
-File "%static_deps%/bin/libMagickCore-6.Q16-1.dll"
-File "%static_deps%/bin/libMagickWand-6.Q16-1.dll"
-File "%static_deps%/bin/libpng15-15.dll"
-File "%static_deps%/bin/libsigc-2.0-0.dll"
-File "%static_deps%/bin/libsndfile-1.dll"
-File "%static_deps%/bin/libssh.dll"
-File "%static_deps%/bin/libstdc++-6.dll"
-File "%static_deps%/bin/zlib1.dll"
-File "%static_deps%/bin/libjpeg-8.dll"
-File "%static_deps%/bin/wxbase30u_gcc_custom.dll"
-File "%static_deps%/bin/wxmsw30u_core_gcc_custom.dll"
-File "%static_deps%/bin/wxmsw30u_adv_gcc_custom.dll"
-File "%static_deps%/bin/wxmsw30u_richtext_gcc_custom.dll"
-File "%static_deps%/bin/wxmsw30u_html_gcc_custom.dll"
-File "%static_deps%/bin/wxbase30u_xml_gcc_custom.dll"
-File "%static_deps%/bin/libcairo-2.dll"
-File "%static_deps%/bin/libfreetype-6.dll"
-File "%static_deps%/bin/libgthread-2.0-0.dll"
-File "%static_deps%/bin/libpango-1.0-0.dll"
-File "%static_deps%/bin/libgmodule-2.0-0.dll"
-File "%static_deps%/bin/libpangocairo-1.0-0.dll"
-File "%static_deps%/bin/libpangowin32-1.0-0.dll"
-File "%static_deps%/bin/libtiff-5.dll"
-File "%static_deps%/bin/libglibmm-2.4-1.dll"
-File "%static_deps%/bin/libxml++-2.6-2.dll"
-File "%static_deps%/bin/libxml2-2.dll"
-File "%static_deps%/bin/libpixman-1-0.dll"
-File "%static_deps%/bin/libfontconfig-1.dll"
-File "%static_deps%/bin/libexpat-1.dll"
-File "%static_deps%/bin/libbz2.dll"
-File "%static_deps%/bin/libxmlsec1.dll"
-File "%static_deps%/bin/libxmlsec1-openssl.dll"
-File "%static_deps%/bin/libexslt-0.dll"
-File "%static_deps%/bin/libxslt-1.dll"
-File "%static_deps%/bin/libffi-6.dll"
-File "%static_deps%/bin/openssl.exe"
-File "%static_deps%/bin/libcurl-4.dll"
-File "%static_deps%/bin/ssleay32.dll"
-File "%static_deps%/bin/libzip-2.dll"
-
-File "%cdist_deps%/bin/asdcp-libdcp.dll"
-File "%cdist_deps%/bin/kumu-libdcp.dll"
-File "%cdist_deps%/bin/avcodec-55.dll"
-File "%cdist_deps%/bin/avfilter-4.dll"
-File "%cdist_deps%/bin/avformat-55.dll"
-File "%cdist_deps%/bin/avutil-52.dll"
-File "%cdist_deps%/bin/avdevice-55.dll"
-File "%cdist_deps%/bin/dcp.dll"
-File "%cdist_deps%/bin/libopenjpeg-1.dll"
-File "%cdist_deps%/bin/postproc-52.dll"
-File "%cdist_deps%/bin/swresample-0.dll"
-File "%cdist_deps%/bin/swscale-2.dll"
-File "%cdist_deps%/bin/cxml.dll"
-File "%cdist_deps%/bin/ffprobe.exe"
-
-File "%binaries%/src/wx/dcpomatic-wx.dll"
-File "%binaries%/src/lib/dcpomatic.dll"
-File "%binaries%/src/tools/dcpomatic.exe"
-File "%binaries%/src/tools/dcpomatic_batch.exe"
-File "%binaries%/src/tools/dcpomatic_cli.exe"
-File "%binaries%/src/tools/dcpomatic_server_cli.exe"
-File "%binaries%/src/tools/dcpomatic_server.exe"
-
-# I don't know why, but sometimes it seems that 
-# delegates.xml must be in with the binaries, and
-# sometimes in the $PROFILE.  Meh.
-File "%static_deps%/etc/ImageMagick-6/delegates.xml"
-SetOutPath "$PROFILE\.magick"
-File "%static_deps%/etc/ImageMagick-6/delegates.xml"
-
-SetOutPath "$INSTDIR\locale\fr\LC_MESSAGES"
-File "%binaries%/src/lib/mo/fr_FR/libdcpomatic.mo"
-File "%binaries%/src/wx/mo/fr_FR/libdcpomatic-wx.mo"
-File "%binaries%/src/tools/mo/fr_FR/dcpomatic.mo"
-SetOutPath "$INSTDIR\locale\it\LC_MESSAGES"
-File "%binaries%/src/lib/mo/it_IT/libdcpomatic.mo"
-File "%binaries%/src/wx/mo/it_IT/libdcpomatic-wx.mo"
-File "%binaries%/src/tools/mo/it_IT/dcpomatic.mo"
-SetOutPath "$INSTDIR\locale\es\LC_MESSAGES"
-File "%binaries%/src/lib/mo/es_ES/libdcpomatic.mo"
-File "%binaries%/src/wx/mo/es_ES/libdcpomatic-wx.mo"
-File "%binaries%/src/tools/mo/es_ES/dcpomatic.mo"
-SetOutPath "$INSTDIR\locale\sv\LC_MESSAGES"
-File "%binaries%/src/lib/mo/sv_SE/libdcpomatic.mo"
-File "%binaries%/src/wx/mo/sv_SE/libdcpomatic-wx.mo"
-File "%binaries%/src/tools/mo/sv_SE/dcpomatic.mo"
-SetOutPath "$INSTDIR\locale\de\LC_MESSAGES"
-File "%binaries%/src/lib/mo/de_DE/libdcpomatic.mo"
-File "%binaries%/src/wx/mo/de_DE/libdcpomatic-wx.mo"
-File "%binaries%/src/tools/mo/de_DE/dcpomatic.mo"
-
-CreateShortCut "$DESKTOP\DCP-o-matic.lnk" "$INSTDIR\bin\dcpomatic.exe" ""
-CreateShortCut "$DESKTOP\DCP-o-matic batch converter.lnk" "$INSTDIR\bin\dcpomatic_batch.exe" ""
-CreateShortCut "$DESKTOP\DCP-o-matic encode server.lnk" "$INSTDIR\bin\dcpomatic_server.exe" ""
-CreateDirectory "$SMPROGRAMS\DCP-o-matic"
-CreateShortCut "$SMPROGRAMS\DCP-o-matic\Uninstall DCP-o-matic.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
-CreateShortCut "$SMPROGRAMS\DCP-o-matic\DCP-o-matic.lnk" "$INSTDIR\bin\dcpomatic.exe" "" "$INSTDIR\bin\dcpomatic.exe" 0
-CreateShortCut "$SMPROGRAMS\DCP-o-matic\DCP-o-matic batch converter.lnk" "$INSTDIR\bin\dcpomatic.exe" "" "$INSTDIR\bin\dcpomatic_batch.exe" 0
-CreateShortCut "$SMPROGRAMS\DCP-o-matic\DCP-o-matic encode server.lnk" "$INSTDIR\bin\dcpomatic_server.exe" "" "$INSTDIR\bin\dcpomatic_server.exe" 0
-WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DCP-o-matic" "DisplayName" "DCP-o-matic (remove only)"
-WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DCP-o-matic" "UninstallString" "$INSTDIR\Uninstall.exe"
-WriteUninstaller "$INSTDIR\Uninstall.exe"
-SectionEnd
-Section "Uninstall"
-RMDir /r "$INSTDIR\*.*"    
-RMDir "$INSTDIR"
-Delete "$DESKTOP\DCP-o-matic.lnk"
-Delete "$DESKTOP\DCP-o-matic batch converter.lnk"
-Delete "$DESKTOP\DCP-o-matic encode server.lnk"
-Delete "$SMPROGRAMS\DCP-o-matic\*.*"
-RmDir  "$SMPROGRAMS\DCP-o-matic"
-DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\DCP-o-matic"
-DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DCP-o-matic"
-SectionEnd
diff --git a/platform/windows/installer.nsi.64.in b/platform/windows/installer.nsi.64.in
deleted file mode 100644 (file)
index c6d4e96..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-!include "MUI2.nsh"
-!include "x64.nsh"
-
-Name "DCP-o-matic"
-
-RequestExecutionLevel admin
-
-outFile "DCP-o-matic @version@ 64-bit Installer.exe"
-!define MUI_ICON "%resources%/dcpomatic.ico"
-!define MUI_UNICON "%resources%/dcpomatic.ico"
-!define MUI_SPECIALBITMAP "%resources%/dcpomatic.bmp"
-
-InstallDir "$PROGRAMFILES\DCP-o-matic"
-
-!insertmacro MUI_PAGE_WELCOME
-!insertmacro MUI_PAGE_LICENSE "../../../COPYING"
-!insertmacro MUI_PAGE_DIRECTORY
-!insertmacro MUI_PAGE_INSTFILES
-!insertmacro MUI_PAGE_FINISH
-
-!insertmacro MUI_UNPAGE_WELCOME
-!insertmacro MUI_UNPAGE_CONFIRM
-!insertmacro MUI_UNPAGE_INSTFILES
-!insertmacro MUI_UNPAGE_FINISH
-!insertmacro MUI_LANGUAGE "English"
-
-Section "install" "Installation info"
-
-${If} ${RunningX64}
-   DetailPrint "Installer running on 64-bit host"
-   ; disable registry redirection (enable access to 64-bit portion of registry)
-   SetRegView 64
-   ; change install dir
-   StrCpy $INSTDIR "$PROGRAMFILES64\DCP-o-matic"
-${EndIf}
-
-SetOutPath "$INSTDIR\bin"
-
-File "%static_deps%/bin/libintl-8.dll"
-File "%static_deps%/bin/libboost_chrono-mt.dll"
-File "%static_deps%/bin/libboost_filesystem-mt.dll"
-File "%static_deps%/bin/libboost_system-mt.dll"
-File "%static_deps%/bin/libboost_thread_win32-mt.dll"
-File "%static_deps%/bin/libboost_date_time-mt.dll"
-File "%static_deps%/bin/libboost_locale-mt.dll"
-File "%static_deps%/bin/libeay32.dll"
-File "%static_deps%/bin/libgcc_s_sjlj-1.dll"
-File "%static_deps%/bin/libgio-2.0-0.dll"
-File "%static_deps%/bin/libglib-2.0-0.dll"
-File "%static_deps%/bin/libgobject-2.0-0.dll"
-File "%static_deps%/bin/libiconv-2.dll"
-File "%static_deps%/bin/libjpeg-8.dll"
-File "%static_deps%/bin/libMagick++-6.Q16-3.dll"
-File "%static_deps%/bin/libMagickCore-6.Q16-1.dll"
-File "%static_deps%/bin/libMagickWand-6.Q16-1.dll"
-File "%static_deps%/bin/libpng15-15.dll"
-File "%static_deps%/bin/libsigc-2.0-0.dll"
-File "%static_deps%/bin/libsndfile-1.dll"
-File "%static_deps%/bin/libssh.dll"
-File "%static_deps%/bin/libstdc++-6.dll"
-File "%static_deps%/bin/zlib1.dll"
-File "%static_deps%/bin/libjpeg-8.dll"
-File "%static_deps%/bin/wxbase30u_gcc_custom.dll"
-File "%static_deps%/bin/wxmsw30u_core_gcc_custom.dll"
-File "%static_deps%/bin/wxmsw30u_adv_gcc_custom.dll"
-File "%static_deps%/bin/wxmsw30u_richtext_gcc_custom.dll"
-File "%static_deps%/bin/wxmsw30u_html_gcc_custom.dll"
-File "%static_deps%/bin/wxbase30u_xml_gcc_custom.dll"
-File "%static_deps%/bin/libcairo-2.dll"
-File "%static_deps%/bin/libfreetype-6.dll"
-File "%static_deps%/bin/libgthread-2.0-0.dll"
-File "%static_deps%/bin/libpango-1.0-0.dll"
-File "%static_deps%/bin/libgmodule-2.0-0.dll"
-File "%static_deps%/bin/libpangocairo-1.0-0.dll"
-File "%static_deps%/bin/libpangowin32-1.0-0.dll"
-File "%static_deps%/bin/libtiff-5.dll"
-File "%static_deps%/bin/libglibmm-2.4-1.dll"
-File "%static_deps%/bin/libxml++-2.6-2.dll"
-File "%static_deps%/bin/libxml2-2.dll"
-File "%static_deps%/bin/libpixman-1-0.dll"
-File "%static_deps%/bin/libfontconfig-1.dll"
-File "%static_deps%/bin/libexpat-1.dll"
-File "%static_deps%/bin/libbz2.dll"
-File "%static_deps%/bin/libxmlsec1.dll"
-File "%static_deps%/bin/libxmlsec1-openssl.dll"
-File "%static_deps%/bin/libexslt-0.dll"
-File "%static_deps%/bin/libxslt-1.dll"
-File "%static_deps%/bin/libffi-6.dll"
-File "%static_deps%/bin/openssl.exe"
-File "%static_deps%/bin/libcurl-4.dll"
-File "%static_deps%/bin/ssleay32.dll"
-File "%static_deps%/bin/libzip-2.dll"
-
-File "%cdist_deps%/bin/asdcp-libdcp.dll"
-File "%cdist_deps%/bin/kumu-libdcp.dll"
-File "%cdist_deps%/bin/avcodec-55.dll"
-File "%cdist_deps%/bin/avfilter-4.dll"
-File "%cdist_deps%/bin/avformat-55.dll"
-File "%cdist_deps%/bin/avutil-52.dll"
-File "%cdist_deps%/bin/avdevice-55.dll"
-File "%cdist_deps%/bin/dcp.dll"
-File "%cdist_deps%/bin/libopenjpeg-1.dll"
-File "%cdist_deps%/bin/postproc-52.dll"
-File "%cdist_deps%/bin/swresample-0.dll"
-File "%cdist_deps%/bin/swscale-2.dll"
-File "%cdist_deps%/bin/cxml.dll"
-File "%cdist_deps%/bin/ffprobe.exe"
-
-File "%binaries%/src/wx/dcpomatic-wx.dll"
-File "%binaries%/src/lib/dcpomatic.dll"
-File "%binaries%/src/tools/dcpomatic.exe"
-File "%binaries%/src/tools/dcpomatic_batch.exe"
-File "%binaries%/src/tools/dcpomatic_cli.exe"
-File "%binaries%/src/tools/dcpomatic_server_cli.exe"
-File "%binaries%/src/tools/dcpomatic_server.exe"
-
-# I don't know why, but sometimes it seems that 
-# delegates.xml must be in with the binaries, and
-# sometimes in the $PROFILE.  Meh.
-File "%static_deps%/etc/ImageMagick-6/delegates.xml"
-SetOutPath "$PROFILE\.magick"
-File "%static_deps%/etc/ImageMagick-6/delegates.xml"
-
-SetOutPath "$INSTDIR\locale\fr\LC_MESSAGES"
-File "%binaries%/src/lib/mo/fr_FR/libdcpomatic.mo"
-File "%binaries%/src/wx/mo/fr_FR/libdcpomatic-wx.mo"
-File "%binaries%/src/tools/mo/fr_FR/dcpomatic.mo"
-SetOutPath "$INSTDIR\locale\it\LC_MESSAGES"
-File "%binaries%/src/lib/mo/it_IT/libdcpomatic.mo"
-File "%binaries%/src/wx/mo/it_IT/libdcpomatic-wx.mo"
-File "%binaries%/src/tools/mo/it_IT/dcpomatic.mo"
-SetOutPath "$INSTDIR\locale\es\LC_MESSAGES"
-File "%binaries%/src/lib/mo/es_ES/libdcpomatic.mo"
-File "%binaries%/src/wx/mo/es_ES/libdcpomatic-wx.mo"
-File "%binaries%/src/tools/mo/es_ES/dcpomatic.mo"
-SetOutPath "$INSTDIR\locale\sv\LC_MESSAGES"
-File "%binaries%/src/lib/mo/sv_SE/libdcpomatic.mo"
-File "%binaries%/src/wx/mo/sv_SE/libdcpomatic-wx.mo"
-File "%binaries%/src/tools/mo/sv_SE/dcpomatic.mo"
-SetOutPath "$INSTDIR\locale\de\LC_MESSAGES"
-File "%binaries%/src/lib/mo/de_DE/libdcpomatic.mo"
-File "%binaries%/src/wx/mo/de_DE/libdcpomatic-wx.mo"
-File "%binaries%/src/tools/mo/de_DE/dcpomatic.mo"
-
-CreateShortCut "$DESKTOP\DCP-o-matic.lnk" "$INSTDIR\bin\dcpomatic.exe" ""
-CreateShortCut "$DESKTOP\DCP-o-matic batch converter.lnk" "$INSTDIR\bin\dcpomatic_batch.exe" ""
-CreateShortCut "$DESKTOP\DCP-o-matic encode server.lnk" "$INSTDIR\bin\dcpomatic_server.exe" ""
-CreateDirectory "$SMPROGRAMS\DCP-o-matic"
-CreateShortCut "$SMPROGRAMS\DCP-o-matic\Uninstall DCP-o-matic.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
-CreateShortCut "$SMPROGRAMS\DCP-o-matic\DCP-o-matic.lnk" "$INSTDIR\bin\dcpomatic.exe" "" "$INSTDIR\bin\dcpomatic.exe" 0
-CreateShortCut "$SMPROGRAMS\DCP-o-matic\DCP-o-matic batch converter.lnk" "$INSTDIR\bin\dcpomatic.exe" "" "$INSTDIR\bin\dcpomatic_batch.exe" 0
-CreateShortCut "$SMPROGRAMS\DCP-o-matic\DCP-o-matic encode server.lnk" "$INSTDIR\bin\dcpomatic_server.exe" "" "$INSTDIR\bin\dcpomatic_server.exe" 0
-WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DCP-o-matic" "DisplayName" "DCP-o-matic (remove only)"
-WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DCP-o-matic" "UninstallString" "$INSTDIR\Uninstall.exe"
-WriteUninstaller "$INSTDIR\Uninstall.exe"
-SectionEnd
-Section "Uninstall"
-RMDir /r "$INSTDIR\*.*"    
-RMDir "$INSTDIR"
-Delete "$DESKTOP\DCP-o-matic.lnk"
-Delete "$DESKTOP\DCP-o-matic batch converter.lnk"
-Delete "$DESKTOP\DCP-o-matic encode server.lnk"
-Delete "$SMPROGRAMS\DCP-o-matic\*.*"
-RmDir  "$SMPROGRAMS\DCP-o-matic"
-DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\DCP-o-matic"
-DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DCP-o-matic"
-SectionEnd
index 0885392590867af2eb8b46e582e7fc3942c52111..2c16858c29849be1bd92ee9629dc58287fb4f61c 100644 (file)
@@ -1,4 +1,217 @@
-def build(bld):
-    bld.new_task_gen(features='subst', source='installer.nsi.32.in', target='installer.32.nsi', version=bld.env.VERSION)
-    bld.new_task_gen(features='subst', source='installer.nsi.64.in', target='installer.64.nsi', version=bld.env.VERSION)
+from __future__ import print_function
+import os
+
+def write_installer(bits, version):
+    try:
+        os.makedirs('build/platform/windows')
+    except:
+        pass
+
+    f = open('build/platform/windows/installer.%d.nsi' % bits, 'w')
+    print('!include "MUI2.nsh"', file=f)
+    if bits == 64:
+        print('!include "x64.nsh"', file=f)
+
+    print('Name "DCP-o-matic"', file=f)
+    print('RequestExecutionLevel admin', file=f)
+
+    print('outFile "DCP-o-matic %s %d-bit Installer.exe"' % (version, bits), file=f)
+    print("""
+!define MUI_ICON "%resources%/dcpomatic.ico"
+!define MUI_UNICON "%resources%/dcpomatic.ico"
+!define MUI_SPECIALBITMAP "%resources%/dcpomatic.bmp"
+!include "Sections.nsh"
+
+InstallDir "$PROGRAMFILES\\DCP-o-matic"
+
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_LICENSE "../../../COPYING"
+!insertmacro MUI_PAGE_DIRECTORY
+!insertmacro MUI_PAGE_COMPONENTS
+
+Section "Common files (required)" SEC_COMMON
+SectionIn RO
+    """, file=f)
+
+    if bits == 64:
+        print("""
+${If} ${RunningX64}
+   DetailPrint "Installer running on 64-bit host"
+   ; disable registry redirection (enable access to 64-bit portion of registry)
+   SetRegView 64
+   ; change install dir
+   StrCpy $INSTDIR "$PROGRAMFILES64\DCP-o-matic"
+${EndIf}
+        """, file=f)
+
+    print("""
+SetOutPath "$INSTDIR\\bin"
+WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+File "%static_deps%/bin/libintl-8.dll"
+File "%static_deps%/bin/libboost_chrono-mt.dll"
+File "%static_deps%/bin/libboost_filesystem-mt.dll"
+File "%static_deps%/bin/libboost_system-mt.dll"
+File "%static_deps%/bin/libboost_thread_win32-mt.dll"
+File "%static_deps%/bin/libboost_date_time-mt.dll"
+File "%static_deps%/bin/libboost_locale-mt.dll"
+File "%static_deps%/bin/libeay32.dll"
+File "%static_deps%/bin/libgcc_s_sjlj-1.dll"
+File "%static_deps%/bin/libgio-2.0-0.dll"
+File "%static_deps%/bin/libglib-2.0-0.dll"
+File "%static_deps%/bin/libgobject-2.0-0.dll"
+File "%static_deps%/bin/libiconv-2.dll"
+File "%static_deps%/bin/libjpeg-8.dll"
+File "%static_deps%/bin/libMagick++-6.Q16-3.dll"
+File "%static_deps%/bin/libMagickCore-6.Q16-1.dll"
+File "%static_deps%/bin/libMagickWand-6.Q16-1.dll"
+File "%static_deps%/bin/libpng15-15.dll"
+File "%static_deps%/bin/libsigc-2.0-0.dll"
+File "%static_deps%/bin/libsndfile-1.dll"
+File "%static_deps%/bin/libssh.dll"
+File "%static_deps%/bin/libstdc++-6.dll"
+File "%static_deps%/bin/zlib1.dll"
+File "%static_deps%/bin/libjpeg-8.dll"
+File "%static_deps%/bin/wxbase30u_gcc_custom.dll"
+File "%static_deps%/bin/wxmsw30u_core_gcc_custom.dll"
+File "%static_deps%/bin/wxmsw30u_adv_gcc_custom.dll"
+File "%static_deps%/bin/wxmsw30u_richtext_gcc_custom.dll"
+File "%static_deps%/bin/wxmsw30u_html_gcc_custom.dll"
+File "%static_deps%/bin/wxbase30u_xml_gcc_custom.dll"
+File "%static_deps%/bin/libcairo-2.dll"
+File "%static_deps%/bin/libfreetype-6.dll"
+File "%static_deps%/bin/libgthread-2.0-0.dll"
+File "%static_deps%/bin/libpango-1.0-0.dll"
+File "%static_deps%/bin/libgmodule-2.0-0.dll"
+File "%static_deps%/bin/libpangocairo-1.0-0.dll"
+File "%static_deps%/bin/libpangowin32-1.0-0.dll"
+File "%static_deps%/bin/libtiff-5.dll"
+File "%static_deps%/bin/libglibmm-2.4-1.dll"
+File "%static_deps%/bin/libxml++-2.6-2.dll"
+File "%static_deps%/bin/libxml2-2.dll"
+File "%static_deps%/bin/libpixman-1-0.dll"
+File "%static_deps%/bin/libfontconfig-1.dll"
+File "%static_deps%/bin/libexpat-1.dll"
+File "%static_deps%/bin/libbz2.dll"
+File "%static_deps%/bin/libxmlsec1.dll"
+File "%static_deps%/bin/libxmlsec1-openssl.dll"
+File "%static_deps%/bin/libexslt-0.dll"
+File "%static_deps%/bin/libxslt-1.dll"
+File "%static_deps%/bin/libffi-6.dll"
+File "%static_deps%/bin/openssl.exe"
+File "%static_deps%/bin/libcurl-4.dll"
+File "%static_deps%/bin/ssleay32.dll"
+File "%static_deps%/bin/libzip-2.dll"
+
+File "%cdist_deps%/bin/asdcp-libdcp.dll"
+File "%cdist_deps%/bin/kumu-libdcp.dll"
+File "%cdist_deps%/bin/avcodec-55.dll"
+File "%cdist_deps%/bin/avfilter-4.dll"
+File "%cdist_deps%/bin/avformat-55.dll"
+File "%cdist_deps%/bin/avutil-52.dll"
+File "%cdist_deps%/bin/avdevice-55.dll"
+File "%cdist_deps%/bin/dcp.dll"
+File "%cdist_deps%/bin/libopenjpeg-1.dll"
+File "%cdist_deps%/bin/postproc-52.dll"
+File "%cdist_deps%/bin/swresample-0.dll"
+File "%cdist_deps%/bin/swscale-2.dll"
+File "%cdist_deps%/bin/cxml.dll"
+File "%cdist_deps%/bin/ffprobe.exe"
+
+File "%binaries%/src/wx/dcpomatic-wx.dll"
+File "%binaries%/src/lib/dcpomatic.dll"
+
+# I don't know why, but sometimes it seems that 
+# delegates.xml must be in with the binaries, and
+# sometimes in the $PROFILE.  Meh.
+File "%static_deps%/etc/ImageMagick-6/delegates.xml"
+SetOutPath "$PROFILE\\.magick"
+File "%static_deps%/etc/ImageMagick-6/delegates.xml"
+
+SetOutPath "$INSTDIR\\locale\\fr\\LC_MESSAGES"
+File "%binaries%/src/lib/mo/fr_FR/libdcpomatic.mo"
+File "%binaries%/src/wx/mo/fr_FR/libdcpomatic-wx.mo"
+File "%binaries%/src/tools/mo/fr_FR/dcpomatic.mo"
+SetOutPath "$INSTDIR\\locale\\it\\LC_MESSAGES"
+File "%binaries%/src/lib/mo/it_IT/libdcpomatic.mo"
+File "%binaries%/src/wx/mo/it_IT/libdcpomatic-wx.mo"
+File "%binaries%/src/tools/mo/it_IT/dcpomatic.mo"
+SetOutPath "$INSTDIR\\locale\\es\\LC_MESSAGES"
+File "%binaries%/src/lib/mo/es_ES/libdcpomatic.mo"
+File "%binaries%/src/wx/mo/es_ES/libdcpomatic-wx.mo"
+File "%binaries%/src/tools/mo/es_ES/dcpomatic.mo"
+SetOutPath "$INSTDIR\\locale\\sv\\LC_MESSAGES"
+File "%binaries%/src/lib/mo/sv_SE/libdcpomatic.mo"
+File "%binaries%/src/wx/mo/sv_SE/libdcpomatic-wx.mo"
+File "%binaries%/src/tools/mo/sv_SE/dcpomatic.mo"
+SetOutPath "$INSTDIR\\locale\\de\\LC_MESSAGES"
+File "%binaries%/src/lib/mo/de_DE/libdcpomatic.mo"
+File "%binaries%/src/wx/mo/de_DE/libdcpomatic-wx.mo"
+File "%binaries%/src/tools/mo/de_DE/dcpomatic.mo"
+
+WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DCP-o-matic" "DisplayName" "DCP-o-matic (remove only)"
+WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DCP-o-matic" "UninstallString" "$INSTDIR\\Uninstall.exe"
+WriteUninstaller "$INSTDIR\\Uninstall.exe"
+
+SectionEnd
+
+Section "DCP-o-matic" SEC_MASTER
+SetOutPath "$INSTDIR\\bin"
+CreateDirectory "$SMPROGRAMS\\DCP-o-matic"
+File "%binaries%/src/tools/dcpomatic.exe"
+File "%binaries%/src/tools/dcpomatic_batch.exe"
+File "%binaries%/src/tools/dcpomatic_cli.exe"
+CreateShortCut "$DESKTOP\\DCP-o-matic.lnk" "$INSTDIR\\bin\\dcpomatic.exe" ""
+CreateShortCut "$SMPROGRAMS\\DCP-o-matic\\DCP-o-matic.lnk" "$INSTDIR\\bin\\dcpomatic.exe" "" "$INSTDIR\\bin\\dcpomatic.exe" 0
+CreateShortCut "$DESKTOP\\DCP-o-matic batch converter.lnk" "$INSTDIR\\bin\\dcpomatic_batch.exe" ""
+CreateShortCut "$SMPROGRAMS\\DCP-o-matic\\DCP-o-matic batch converter.lnk" "$INSTDIR\\bin\\dcpomatic.exe" "" "$INSTDIR\\bin\\dcpomatic_batch.exe" 0
+CreateShortCut "$SMPROGRAMS\\DCP-o-matic\\Uninstall DCP-o-matic.lnk" "$INSTDIR\\Uninstall.exe" "" "$INSTDIR\\Uninstall.exe" 0
+WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DCP-o-matic" "DisplayName" "DCP-o-matic (remove only)"
+WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DCP-o-matic" "UninstallString" "$INSTDIR\\Uninstall.exe"
+WriteUninstaller "$INSTDIR\\Uninstall.exe"
+SectionEnd
+
+Section "Encode server" SEC_SERVER
+SetOutPath "$INSTDIR\\bin"
+CreateDirectory "$SMPROGRAMS\\DCP-o-matic"
+File "%binaries%/src/tools/dcpomatic_server_cli.exe"
+File "%binaries%/src/tools/dcpomatic_server.exe"
+CreateShortCut "$DESKTOP\\DCP-o-matic encode server.lnk" "$INSTDIR\\bin\\dcpomatic_server.exe" ""
+CreateShortCut "$SMPROGRAMS\\DCP-o-matic\\DCP-o-matic encode server.lnk" "$INSTDIR\\bin\\dcpomatic_server.exe" "" "$INSTDIR\\bin\\dcpomatic_server.exe" 0
+CreateShortCut "$SMPROGRAMS\\DCP-o-matic\\Uninstall DCP-o-matic.lnk" "$INSTDIR\\Uninstall.exe" "" "$INSTDIR\\Uninstall.exe" 0
+SectionEnd
+
+LangString DESC_SEC_MASTER ${LANG_ENGLISH} "DCP-o-matic"
+LangString DESC_SEC_SERVER ${LANG_ENGLISH} "DCP-o-matic encode server"
+
+!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+  !insertmacro MUI_DESCRIPTION_TEXT ${SEC_MASTER} $(DESC_SEC_MASTER)
+  !insertmacro MUI_DESCRIPTION_TEXT ${SEC_SERVER} $(DESC_SEC_SERVER)
+!insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+!insertmacro MUI_PAGE_INSTFILES
+!insertmacro MUI_PAGE_FINISH
+
+!insertmacro MUI_UNPAGE_WELCOME
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_INSTFILES
+!insertmacro MUI_UNPAGE_FINISH
+!insertmacro MUI_LANGUAGE "English"
+
+Section "Uninstall"
+RMDir /r "$INSTDIR\\*.*"    
+RMDir "$INSTDIR"
+Delete "$DESKTOP\\DCP-o-matic.lnk"
+Delete "$DESKTOP\\DCP-o-matic batch converter.lnk"
+Delete "$DESKTOP\\DCP-o-matic encode server.lnk"
+Delete "$SMPROGRAMS\\DCP-o-matic\\*.*"
+RmDir  "$SMPROGRAMS\\DCP-o-matic"
+DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\\DCP-o-matic"
+DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DCP-o-matic"
+ SectionEnd
+    """, file=f)
     
+
+def build(bld):
+    write_installer(32, bld.env.VERSION)
+    write_installer(64, bld.env.VERSION)
index ac2d0e39a60eccd3d102e0923051da702c77bb70..78ee8f7be0a19a2e6ef5796af1d1e22057136a3d 100755 (executable)
@@ -6,7 +6,7 @@ if [ "$1" == "--debug" ]; then
     gdb --args build/src/tools/dcpomatic_batch $*
 elif [ "$1" == "--valgrind" ]; then
     shift
-    valgrind --tool="memcheck" build/src/tools/dcpomatic_batch $*
+    valgrind --tool="memcheck" --suppressions=valgrind.supp --leak-check=full --show-reachable=yes build/src/tools/dcpomatic_batch $*
 elif [ "$1" == "--callgrind" ]; then
     shift
     valgrind --tool="callgrind" build/src/tools/dcpomatic_batch $*
index 5a9e1619a091efacf0ce2be7a5c89e1fd7b440a6..30f85850d397ca4c60f128c9dca7cf287734b55d 100644 (file)
@@ -63,7 +63,7 @@ Config::Config ()
        , _default_still_length (10)
        , _default_container (Ratio::from_id ("185"))
        , _default_dcp_content_type (DCPContentType::from_dci_name ("TST"))
-       , _default_j2k_bandwidth (200000000)
+       , _default_j2k_bandwidth (100000000)
        , _default_audio_delay (0)
        , _kdm_email (
                _("Dear Projectionist\n\nPlease find attached KDMs for $CPL_NAME.\n\nThe KDMs are valid from $START_TIME until $END_TIME.\n\nBest regards,\nDCP-o-matic")
index 57b3f93b24d9dde847ff6fa123539526d6d259bb..9f7a761248aef9f045ba85a14e05356a066b5a4b 100644 (file)
@@ -298,3 +298,11 @@ dcpomatic_fseek (FILE* stream, int64_t offset, int whence)
        return fseek (stream, offset, whence);
 #endif 
 }
+
+void
+kick ()
+{
+#ifdef DCPOMATIC_WINDOWS
+       SetThreadExecutionState (ES_CONTINUOUS);
+#endif 
+}
index 7e032e5a1c808006e0c35860f9be6522f358bc9b..822b36631d604343a94c5b5a03f48b75d8aa31cf 100644 (file)
@@ -35,3 +35,4 @@ extern boost::filesystem::path app_contents ();
 #endif
 extern FILE * fopen_boost (boost::filesystem::path, std::string);
 extern int dcpomatic_fseek (FILE *, int64_t, int);
+void kick ();
index d26f776148c74fd34c0ff35abd264857b87e9266..f1c3e7e6182e2d4dfb9b7145388680738bed1d43 100644 (file)
@@ -180,6 +180,8 @@ Encoder::frame_done ()
 void
 Encoder::process_video (shared_ptr<PlayerImage> image, Eyes eyes, ColourConversion conversion, bool same)
 {
+       kick ();
+       
        boost::mutex::scoped_lock lock (_mutex);
 
        /* XXX: discard 3D here if required */
index 61163c8d12403dc492251f3e85668b4fa9a1119e..213be6186d523a713a0a3f167f77127e0047164e 100644 (file)
@@ -260,6 +260,7 @@ public:
                boost::mutex::scoped_lock lm (_mutex);
                if (_exception) {
                        boost::rethrow_exception (_exception);
+                       _exception = boost::exception_ptr ();
                }
        }
 
index 394c16aa53568c4b55fe4e13be3bf0818bb28504..3bee49146a5304024d083c6138b00e8332012390 100644 (file)
@@ -62,7 +62,7 @@ FFmpegContent::FFmpegContent (shared_ptr<const Film> f, shared_ptr<const cxml::N
        : Content (f, node)
        , VideoContent (f, node)
        , AudioContent (f, node)
-       , SubtitleContent (f, node)
+       , SubtitleContent (f, node, version)
 {
        list<cxml::NodePtr> c = node->node_children ("SubtitleStream");
        for (list<cxml::NodePtr>::const_iterator i = c.begin(); i != c.end(); ++i) {
index 099bacfdcb7b5513358f968555e03a864703e338..67f795a6c739af5e60b8947bfde2e4657ba9f275 100644 (file)
@@ -83,8 +83,10 @@ using libdcp::Signer;
 
 /* 5 -> 6
  * AudioMapping XML changed.
+ * 6 -> 7
+ * Subtitle offset changed to subtitle y offset, and subtitle x offset added.
  */
-int const Film::state_version = 6;
+int const Film::state_version = 7;
 
 /** Construct a Film object in a given directory.
  *
index cb6d519842c5c6cfce1ac92d5f1fe83f74a04e0c..3e6a1598d17e76559c64b7ca0cde2837ec905b64 100644 (file)
@@ -547,7 +547,11 @@ Player::content_changed (weak_ptr<Content> w, int property, bool frequent)
                _have_valid_pieces = false;
                Changed (frequent);
 
-       } else if (property == SubtitleContentProperty::SUBTITLE_OFFSET || property == SubtitleContentProperty::SUBTITLE_SCALE) {
+       } else if (
+               property == SubtitleContentProperty::SUBTITLE_X_OFFSET ||
+               property == SubtitleContentProperty::SUBTITLE_Y_OFFSET ||
+               property == SubtitleContentProperty::SUBTITLE_SCALE
+               ) {
 
                update_subtitle_from_image ();
                update_subtitle_from_text ();
@@ -651,7 +655,8 @@ Player::update_subtitle_from_image ()
        dcpomatic::Rect<double> in_rect = _image_subtitle.subtitle->rect;
        libdcp::Size scaled_size;
 
-       in_rect.y += sc->subtitle_offset ();
+       in_rect.x += sc->subtitle_x_offset ();
+       in_rect.y += sc->subtitle_y_offset ();
 
        /* We will scale the subtitle up to fit _video_container_size, and also by the additional subtitle_scale */
        scaled_size.width = in_rect.width * _video_container_size.width * sc->subtitle_scale ();
@@ -679,8 +684,8 @@ Player::update_subtitle_from_image ()
                true
                );
        
-       _out_subtitle.from = _image_subtitle.subtitle->dcp_time;
-       _out_subtitle.to = _image_subtitle.subtitle->dcp_time_to;
+       _out_subtitle.from = _image_subtitle.subtitle->dcp_time + piece->content->position ();
+       _out_subtitle.to = _image_subtitle.subtitle->dcp_time_to + piece->content->position ();
 }
 
 /** Re-emit the last frame that was emitted, using current settings for crop, ratio, scaler and subtitles.
index f612dc028da682311f0859e9d389bc939b82785e..e0d48dab0e5b15088b1aec4f13e63cc733385c35 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-23 00:18+0000\n"
+"POT-Creation-Date: 2014-01-30 21:51+0000\n"
 "PO-Revision-Date: 2014-01-14 19:45+0100\n"
 "Last-Translator: \n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -146,11 +146,17 @@ msgstr "Zusammengesetzter Inhalt muss die gleiche Bildgröße haben."
 msgid "Content to be joined must have the same ratio."
 msgstr "Zusammengesetzter Inhalt muss das geliche Verhältnis haben"
 
-#: src/lib/subtitle_content.cc:65
-msgid "Content to be joined must have the same subtitle offset."
+#: src/lib/subtitle_content.cc:74
+#, fuzzy
+msgid "Content to be joined must have the same subtitle X offset."
 msgstr "Zusammengesetzter Inhalt muss den gleichen Untertitelversatz haben."
 
-#: src/lib/subtitle_content.cc:69
+#: src/lib/subtitle_content.cc:78
+#, fuzzy
+msgid "Content to be joined must have the same subtitle Y offset."
+msgstr "Zusammengesetzter Inhalt muss den gleichen Untertitelversatz haben."
+
+#: src/lib/subtitle_content.cc:82
 msgid "Content to be joined must have the same subtitle scale."
 msgstr "Zusammengesetzter Inhalt muss die gleiche Untertitelgröße haben."
 
@@ -190,7 +196,7 @@ msgstr "%1 konnte nicht geöffnet werden."
 msgid "Could not open %1 to send"
 msgstr "%1 konnte nicht zum senden geöffnet werden"
 
-#: src/lib/film.cc:960
+#: src/lib/film.cc:962
 msgid "Could not read DCP to make KDM for"
 msgstr "DCP konnte nicht zur Schlüsselerstellung geöffnet werden"
 
@@ -483,7 +489,7 @@ msgstr ""
 "Das Laufwer auf dem der Film gespeichert werden soll hat zu wenig Freien "
 "Speicher. Bitte Speicher freigeben und nochmals versuchen."
 
-#: src/lib/film.cc:383
+#: src/lib/film.cc:385
 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 "
@@ -541,7 +547,7 @@ msgstr "X"
 msgid "Yet Another Deinterlacing Filter"
 msgstr "Noch ein anderer De-Interlacer"
 
-#: src/lib/film.cc:287
+#: src/lib/film.cc:289
 msgid "You must add some content to the DCP before creating it"
 msgstr "Sie müssen einen Inhalt hinzufügen bevor Sie ein DCP erstellen können."
 
@@ -553,7 +559,7 @@ msgstr "[Bewegte Bilder]"
 msgid "[still]"
 msgstr "[Standbild]"
 
-#: src/lib/film.cc:240
+#: src/lib/film.cc:242
 msgid "cannot contain slashes"
 msgstr "Darf keine Schrägstriche enthalten"
 
@@ -565,11 +571,11 @@ msgstr "Zeit zur Verbindung abgelaufen"
 msgid "connecting"
 msgstr "verbinde..."
 
-#: src/lib/film.cc:283
+#: src/lib/film.cc:285
 msgid "container"
 msgstr "Container"
 
-#: src/lib/film.cc:291
+#: src/lib/film.cc:293
 msgid "content type"
 msgstr "Inhalt Typ"
 
@@ -657,7 +663,7 @@ msgstr "error during async_read (%1)"
 msgid "error during async_write (%1)"
 msgstr "error during async_write (%1)"
 
-#: src/lib/transcode_job.cc:93
+#: src/lib/transcode_job.cc:94
 msgid "frames per second"
 msgstr "Bilder pro Sekunde"
 
@@ -693,7 +699,7 @@ msgstr "wird verschoben"
 msgid "multi-part subtitles not yet supported"
 msgstr "Multi-Part Untertitel noch nicht unterstützt"
 
-#: src/lib/film.cc:240 src/lib/film.cc:295
+#: src/lib/film.cc:242 src/lib/film.cc:297
 msgid "name"
 msgstr "Name"
 
index e92f81bb6280a11f631e6e18b5697b7123768ed1..bbc67542a3f8e49a599aa4d9a86f8403f10576df 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: LIBDCPOMATIC\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-23 00:18+0000\n"
+"POT-Creation-Date: 2014-01-30 21:51+0000\n"
 "PO-Revision-Date: 2013-11-09 03:09-0500\n"
 "Last-Translator: Manuel AC <manuel.acevedo@civantos.>\n"
 "Language-Team: Manuel AC <manuel.acevedo@civantos.com>\n"
@@ -148,11 +148,17 @@ msgstr ""
 msgid "Content to be joined must have the same ratio."
 msgstr ""
 
-#: src/lib/subtitle_content.cc:65
-msgid "Content to be joined must have the same subtitle offset."
-msgstr ""
+#: src/lib/subtitle_content.cc:74
+#, fuzzy
+msgid "Content to be joined must have the same subtitle X offset."
+msgstr "La fuente y el DCP tienen la misma velocidad."
+
+#: src/lib/subtitle_content.cc:78
+#, fuzzy
+msgid "Content to be joined must have the same subtitle Y offset."
+msgstr "La fuente y el DCP tienen la misma velocidad."
 
-#: src/lib/subtitle_content.cc:69
+#: src/lib/subtitle_content.cc:82
 msgid "Content to be joined must have the same subtitle scale."
 msgstr ""
 
@@ -193,7 +199,7 @@ msgstr "no se pudo abrir el fichero para lectura"
 msgid "Could not open %1 to send"
 msgstr "No se pudo abrir %1 para enviar"
 
-#: src/lib/film.cc:960
+#: src/lib/film.cc:962
 msgid "Could not read DCP to make KDM for"
 msgstr "No se pudo leer el DCP para hacer el KDM"
 
@@ -484,7 +490,7 @@ msgstr ""
 "En el dispositivo donde se encuentra la película queda poco espacio. Libere "
 "espacio en el disco y pruebe de nuevo."
 
-#: src/lib/film.cc:383
+#: src/lib/film.cc:385
 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 "
@@ -542,7 +548,7 @@ msgstr "X"
 msgid "Yet Another Deinterlacing Filter"
 msgstr "Yet Another Deinterlacing Filter"
 
-#: src/lib/film.cc:287
+#: src/lib/film.cc:289
 msgid "You must add some content to the DCP before creating it"
 msgstr "Tienes que añadir contenido al DCP antes de crearlo."
 
@@ -555,7 +561,7 @@ msgstr ""
 msgid "[still]"
 msgstr "imagen fija"
 
-#: src/lib/film.cc:240
+#: src/lib/film.cc:242
 msgid "cannot contain slashes"
 msgstr "no puede contener barras"
 
@@ -567,12 +573,12 @@ msgstr "tiempo de conexión agotado"
 msgid "connecting"
 msgstr "conectando"
 
-#: src/lib/film.cc:283
+#: src/lib/film.cc:285
 #, fuzzy
 msgid "container"
 msgstr "contenido"
 
-#: src/lib/film.cc:291
+#: src/lib/film.cc:293
 msgid "content type"
 msgstr "tipo de contenido"
 
@@ -667,7 +673,7 @@ msgstr ""
 msgid "error during async_write (%1)"
 msgstr ""
 
-#: src/lib/transcode_job.cc:93
+#: src/lib/transcode_job.cc:94
 msgid "frames per second"
 msgstr "fotogramas por segundo"
 
@@ -703,7 +709,7 @@ msgstr ""
 msgid "multi-part subtitles not yet supported"
 msgstr "todavía no se soportan subtítulos en múltiples partes"
 
-#: src/lib/film.cc:240 src/lib/film.cc:295
+#: src/lib/film.cc:242 src/lib/film.cc:297
 msgid "name"
 msgstr "nombre"
 
index 1ad31b0537d29b9885907d03e9bcf04aa9efc7f8..2b3bf7d5e30ca5a17f6b3143d8d676466a228198 100644 (file)
@@ -7,15 +7,15 @@ msgid ""
 msgstr ""
 "Project-Id-Version: DCP-o-matic FRENCH\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-23 00:18+0000\n"
-"PO-Revision-Date: 2013-11-25 19:37+0100\n"
+"POT-Creation-Date: 2014-01-30 21:51+0000\n"
+"PO-Revision-Date: 2014-01-25 16:13+0100\n"
 "Last-Translator: \n"
 "Language-Team: \n"
-"Language: \n"
+"Language: fr_FR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.3\n"
 
 #: src/lib/sndfile_content.cc:60
 msgid "%1 [audio]"
@@ -104,19 +104,19 @@ msgstr "Centre"
 
 #: src/lib/writer.cc:74
 msgid "Checking existing image data"
-msgstr ""
+msgstr "Recherche de données images existantes"
 
 #: src/lib/writer.cc:448
 msgid "Computing audio digest"
-msgstr ""
+msgstr "Fabrication rendu audio"
 
 #: src/lib/image_content.cc:100
 msgid "Computing digest"
-msgstr ""
+msgstr "fabrication rendu"
 
 #: src/lib/writer.cc:445
 msgid "Computing image digest"
-msgstr ""
+msgstr "Fabrication rendu image"
 
 #: src/lib/util.cc:798
 #, fuzzy
@@ -147,11 +147,17 @@ msgstr ""
 msgid "Content to be joined must have the same ratio."
 msgstr ""
 
-#: src/lib/subtitle_content.cc:65
-msgid "Content to be joined must have the same subtitle offset."
-msgstr ""
+#: src/lib/subtitle_content.cc:74
+#, fuzzy
+msgid "Content to be joined must have the same subtitle X offset."
+msgstr "Le DCP et la source ont les mêmes cadences."
 
-#: src/lib/subtitle_content.cc:69
+#: src/lib/subtitle_content.cc:78
+#, fuzzy
+msgid "Content to be joined must have the same subtitle Y offset."
+msgstr "Le DCP et la source ont les mêmes cadences."
+
+#: src/lib/subtitle_content.cc:82
 msgid "Content to be joined must have the same subtitle scale."
 msgstr ""
 
@@ -191,7 +197,7 @@ msgstr "lecture du fichier %1 impossible"
 msgid "Could not open %1 to send"
 msgstr "Ouverture de %1 pour envoi impossible"
 
-#: src/lib/film.cc:960
+#: src/lib/film.cc:962
 msgid "Could not read DCP to make KDM for"
 msgstr "DCP illisible pour fabrication de KDM"
 
@@ -271,7 +277,7 @@ msgstr ""
 
 #: src/lib/writer.cc:115
 msgid "Encoding image data"
-msgstr ""
+msgstr "encodage des données image"
 
 #: src/lib/job.cc:314
 msgid "Error (%1)"
@@ -401,11 +407,11 @@ msgstr "OK (processus %1)"
 
 #: src/lib/content.cc:100
 msgid "Only the first piece of content to be joined can have a start trim."
-msgstr ""
+msgstr "Seul le premier contenu à joindre peut avoir un coupure de début."
 
 #: src/lib/content.cc:104
 msgid "Only the last piece of content to be joined can have an end trim."
-msgstr ""
+msgstr "Seul le dernier contenu à joindre peut avoir une coupure en fin."
 
 #: src/lib/filter.cc:91
 msgid "Overcomplete wavelet denoiser"
@@ -479,7 +485,7 @@ msgstr ""
 "Le disque contenant le film est plein. Libérez de l'espace et essayez à "
 "nouveau."
 
-#: src/lib/film.cc:383
+#: src/lib/film.cc:385
 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 "
@@ -537,7 +543,7 @@ msgstr "X"
 msgid "Yet Another Deinterlacing Filter"
 msgstr "Un autre filtre de désentrelacement"
 
-#: src/lib/film.cc:287
+#: src/lib/film.cc:289
 msgid "You must add some content to the DCP before creating it"
 msgstr "Ajoutez un contenu pour créer le DCP"
 
@@ -551,7 +557,7 @@ msgstr "%1 [diaporama]"
 msgid "[still]"
 msgstr "%1 [fixe]"
 
-#: src/lib/film.cc:240
+#: src/lib/film.cc:242
 msgid "cannot contain slashes"
 msgstr "slash interdit"
 
@@ -563,11 +569,11 @@ msgstr "temps de connexion expiré"
 msgid "connecting"
 msgstr "connexion"
 
-#: src/lib/film.cc:283
+#: src/lib/film.cc:285
 msgid "container"
 msgstr "conteneur"
 
-#: src/lib/film.cc:291
+#: src/lib/film.cc:293
 msgid "content type"
 msgstr "type de contenu"
 
@@ -597,7 +603,7 @@ msgstr "décodeur vidéo introuvable"
 
 #: src/lib/writer.cc:414
 msgid "could not move audio MXF into the DCP (%1)"
-msgstr ""
+msgstr "ne peut déplacer un MXF son dans le DCP (%1)"
 
 #: src/lib/sndfile_decoder.cc:45
 msgid "could not open audio file for reading"
@@ -656,7 +662,7 @@ msgstr ""
 msgid "error during async_write (%1)"
 msgstr ""
 
-#: src/lib/transcode_job.cc:93
+#: src/lib/transcode_job.cc:94
 msgid "frames per second"
 msgstr "images par seconde"
 
@@ -692,7 +698,7 @@ msgstr ""
 msgid "multi-part subtitles not yet supported"
 msgstr "sous-titres en plusieurs parties non supportés"
 
-#: src/lib/film.cc:240 src/lib/film.cc:295
+#: src/lib/film.cc:242 src/lib/film.cc:297
 msgid "name"
 msgstr "nom"
 
index 4ca75a942da7d881a3317d566d9f6bce55bbc04c..a9a4a60009c1c7e0862a2e946ddd734faaad1447 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: IT VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-23 00:18+0000\n"
+"POT-Creation-Date: 2014-01-30 21:51+0000\n"
 "PO-Revision-Date: 2013-04-28 10:26+0100\n"
 "Last-Translator: Maci <macibro@gmail.com>\n"
 "Language-Team: \n"
@@ -148,11 +148,17 @@ msgstr ""
 msgid "Content to be joined must have the same ratio."
 msgstr ""
 
-#: src/lib/subtitle_content.cc:65
-msgid "Content to be joined must have the same subtitle offset."
-msgstr ""
+#: src/lib/subtitle_content.cc:74
+#, fuzzy
+msgid "Content to be joined must have the same subtitle X offset."
+msgstr "Il DCP e il sorgente hanno la stessa frequenza."
+
+#: src/lib/subtitle_content.cc:78
+#, fuzzy
+msgid "Content to be joined must have the same subtitle Y offset."
+msgstr "Il DCP e il sorgente hanno la stessa frequenza."
 
-#: src/lib/subtitle_content.cc:69
+#: src/lib/subtitle_content.cc:82
 msgid "Content to be joined must have the same subtitle scale."
 msgstr ""
 
@@ -193,7 +199,7 @@ msgstr "non riesco ad aprire %1"
 msgid "Could not open %1 to send"
 msgstr "Non posso aprire %1 da inviare"
 
-#: src/lib/film.cc:960
+#: src/lib/film.cc:962
 msgid "Could not read DCP to make KDM for"
 msgstr ""
 
@@ -482,7 +488,7 @@ msgstr ""
 "Sul disco dove è memorizzato il film non c'è abbastanza spazio. Liberare "
 "altro spazio e riprovare."
 
-#: src/lib/film.cc:383
+#: src/lib/film.cc:385
 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 "
@@ -537,7 +543,7 @@ msgstr "X"
 msgid "Yet Another Deinterlacing Filter"
 msgstr "Altro filtro di deinterlacciamento"
 
-#: src/lib/film.cc:287
+#: src/lib/film.cc:289
 msgid "You must add some content to the DCP before creating it"
 msgstr ""
 
@@ -550,7 +556,7 @@ msgstr ""
 msgid "[still]"
 msgstr "ancora"
 
-#: src/lib/film.cc:240
+#: src/lib/film.cc:242
 msgid "cannot contain slashes"
 msgstr "non può contenere barre"
 
@@ -562,12 +568,12 @@ msgstr "connessione scaduta"
 msgid "connecting"
 msgstr "mi sto connettendo"
 
-#: src/lib/film.cc:283
+#: src/lib/film.cc:285
 #, fuzzy
 msgid "container"
 msgstr "contenuto"
 
-#: src/lib/film.cc:291
+#: src/lib/film.cc:293
 msgid "content type"
 msgstr "tipo di contenuto"
 
@@ -658,7 +664,7 @@ msgstr ""
 msgid "error during async_write (%1)"
 msgstr ""
 
-#: src/lib/transcode_job.cc:93
+#: src/lib/transcode_job.cc:94
 msgid "frames per second"
 msgstr "fotogrammi al secondo"
 
@@ -694,7 +700,7 @@ msgstr ""
 msgid "multi-part subtitles not yet supported"
 msgstr "sottotitoli multi-part non ancora supportati"
 
-#: src/lib/film.cc:240 src/lib/film.cc:295
+#: src/lib/film.cc:242 src/lib/film.cc:297
 msgid "name"
 msgstr "nome"
 
index fbdb484ab1b9acddae214099f9570dba0f48af15..cd87e3258bb7f0a334df070500942b0d49390bc2 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: DCP-o-matic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-23 00:18+0000\n"
+"POT-Creation-Date: 2014-01-30 21:51+0000\n"
 "PO-Revision-Date: 2014-01-19 08:59+0100\n"
 "Last-Translator: Adam Klotblixt <adam.klotblixt@gmail.com>\n"
 "Language-Team: \n"
@@ -145,12 +145,19 @@ msgstr "Innehåll som ska sammanfogas måste använda samma bildstorlek."
 msgid "Content to be joined must have the same ratio."
 msgstr "Innehåll som ska sammanfogas måste använda samma bildförhållande."
 
-#: src/lib/subtitle_content.cc:65
-msgid "Content to be joined must have the same subtitle offset."
+#: src/lib/subtitle_content.cc:74
+#, 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:78
+#, 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:69
+#: src/lib/subtitle_content.cc:82
 msgid "Content to be joined must have the same subtitle scale."
 msgstr "Innehåll som ska sammanfogas måste använda samma skala på undertexten."
 
@@ -190,7 +197,7 @@ msgstr "Kunde inte öppna %1"
 msgid "Could not open %1 to send"
 msgstr "Kunde inte öppna %1 för att skicka"
 
-#: src/lib/film.cc:960
+#: src/lib/film.cc:962
 msgid "Could not read DCP to make KDM for"
 msgstr "Kunde inte läsa DCP för att skapa KDM"
 
@@ -484,7 +491,7 @@ msgstr ""
 "Enheten som filmen lagras på har för lite ledigt utrymme. Frigör utrymme och "
 "försök igen."
 
-#: src/lib/film.cc:383
+#: src/lib/film.cc:385
 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 "
@@ -544,7 +551,7 @@ msgstr "X"
 msgid "Yet Another Deinterlacing Filter"
 msgstr "Yet Another Deinterlacing Filter"
 
-#: src/lib/film.cc:287
+#: src/lib/film.cc:289
 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"
 
@@ -556,7 +563,7 @@ msgstr "[rörliga bilder]"
 msgid "[still]"
 msgstr "[stillbild]"
 
-#: src/lib/film.cc:240
+#: src/lib/film.cc:242
 msgid "cannot contain slashes"
 msgstr "får inte innehålla snedstreck"
 
@@ -569,11 +576,11 @@ msgstr "uppkopplingen tajmade ur"
 msgid "connecting"
 msgstr "kopplar upp"
 
-#: src/lib/film.cc:283
+#: src/lib/film.cc:285
 msgid "container"
 msgstr "behållare"
 
-#: src/lib/film.cc:291
+#: src/lib/film.cc:293
 msgid "content type"
 msgstr "innehållstyp"
 
@@ -662,7 +669,7 @@ msgstr "fel vid async_read (%1)"
 msgid "error during async_write (%1)"
 msgstr "fel vid async_write (%1)"
 
-#: src/lib/transcode_job.cc:93
+#: src/lib/transcode_job.cc:94
 msgid "frames per second"
 msgstr "bilder per sekund"
 
@@ -699,7 +706,7 @@ msgstr "rörlig"
 msgid "multi-part subtitles not yet supported"
 msgstr "undertexter i flera delar stöds inte ännu"
 
-#: src/lib/film.cc:240 src/lib/film.cc:295
+#: src/lib/film.cc:242 src/lib/film.cc:297
 msgid "name"
 msgstr "namn"
 
index 48d3528e14d881265dd93466b622038c207492a1..73499a5f69c384a17bc5e2ed39787afd31882af3 100644 (file)
@@ -34,9 +34,9 @@ SubRipContent::SubRipContent (shared_ptr<const Film> film, boost::filesystem::pa
 
 }
 
-SubRipContent::SubRipContent (shared_ptr<const Film> film, shared_ptr<const cxml::Node> node, int)
+SubRipContent::SubRipContent (shared_ptr<const Film> film, shared_ptr<const cxml::Node> node, int version)
        : Content (film, node)
-       , SubtitleContent (film, node)
+       , SubtitleContent (film, node, version)
 {
 
 }
@@ -93,7 +93,8 @@ SubRipContent::identifier () const
        stringstream s;
        s << Content::identifier()
          << "_" << subtitle_scale()
-         << "_" << subtitle_offset();
+         << "_" << subtitle_x_offset()
+         << "_" << subtitle_y_offset();
 
        return s.str ();
 }
index 6c0d3af86a6687571d74e3bb576add9494c67567..8f88574e5e7ff53950c903b710c571fe1b151cce 100644 (file)
@@ -30,25 +30,34 @@ using boost::shared_ptr;
 using boost::lexical_cast;
 using boost::dynamic_pointer_cast;
 
-int const SubtitleContentProperty::SUBTITLE_OFFSET = 500;
-int const SubtitleContentProperty::SUBTITLE_SCALE = 501;
+int const SubtitleContentProperty::SUBTITLE_X_OFFSET = 500;
+int const SubtitleContentProperty::SUBTITLE_Y_OFFSET = 501;
+int const SubtitleContentProperty::SUBTITLE_SCALE = 502;
 
 SubtitleContent::SubtitleContent (shared_ptr<const Film> f, boost::filesystem::path p)
        : Content (f, p)
-       , _subtitle_offset (0)
+       , _subtitle_x_offset (0)
+       , _subtitle_y_offset (0)
        , _subtitle_scale (1)
 {
 
 }
 
-SubtitleContent::SubtitleContent (shared_ptr<const Film> f, shared_ptr<const cxml::Node> node)
+SubtitleContent::SubtitleContent (shared_ptr<const Film> f, shared_ptr<const cxml::Node> node, int version)
        : Content (f, node)
-       , _subtitle_offset (0)
+       , _subtitle_x_offset (0)
+       , _subtitle_y_offset (0)
        , _subtitle_scale (1)
 {
        LocaleGuard lg;
+
+       if (version >= 7) {
+               _subtitle_x_offset = node->number_child<float> ("SubtitleXOffset");
+               _subtitle_y_offset = node->number_child<float> ("SubtitleYOffset");
+       } else {
+               _subtitle_y_offset = node->number_child<float> ("SubtitleOffset");
+       }
        
-       _subtitle_offset = node->number_child<float> ("SubtitleOffset");
        _subtitle_scale = node->number_child<float> ("SubtitleScale");
 }
 
@@ -61,8 +70,12 @@ SubtitleContent::SubtitleContent (shared_ptr<const Film> f, vector<shared_ptr<Co
        for (size_t i = 0; i < c.size(); ++i) {
                shared_ptr<SubtitleContent> sc = dynamic_pointer_cast<SubtitleContent> (c[i]);
 
-               if (sc->subtitle_offset() != ref->subtitle_offset()) {
-                       throw JoinError (_("Content to be joined must have the same subtitle offset."));
+               if (sc->subtitle_x_offset() != ref->subtitle_x_offset()) {
+                       throw JoinError (_("Content to be joined must have the same subtitle X offset."));
+               }
+               
+               if (sc->subtitle_y_offset() != ref->subtitle_y_offset()) {
+                       throw JoinError (_("Content to be joined must have the same subtitle Y offset."));
                }
 
                if (sc->subtitle_scale() != ref->subtitle_scale()) {
@@ -70,7 +83,8 @@ SubtitleContent::SubtitleContent (shared_ptr<const Film> f, vector<shared_ptr<Co
                }
        }
 
-       _subtitle_offset = ref->subtitle_offset ();
+       _subtitle_x_offset = ref->subtitle_x_offset ();
+       _subtitle_y_offset = ref->subtitle_y_offset ();
        _subtitle_scale = ref->subtitle_scale ();
 }
 
@@ -79,18 +93,29 @@ SubtitleContent::as_xml (xmlpp::Node* root) const
 {
        LocaleGuard lg;
        
-       root->add_child("SubtitleOffset")->add_child_text (lexical_cast<string> (_subtitle_offset));
+       root->add_child("SubtitleXOffset")->add_child_text (lexical_cast<string> (_subtitle_x_offset));
+       root->add_child("SubtitleYOffset")->add_child_text (lexical_cast<string> (_subtitle_y_offset));
        root->add_child("SubtitleScale")->add_child_text (lexical_cast<string> (_subtitle_scale));
 }
 
 void
-SubtitleContent::set_subtitle_offset (double o)
+SubtitleContent::set_subtitle_x_offset (double o)
+{
+       {
+               boost::mutex::scoped_lock lm (_mutex);
+               _subtitle_x_offset = o;
+       }
+       signal_changed (SubtitleContentProperty::SUBTITLE_X_OFFSET);
+}
+
+void
+SubtitleContent::set_subtitle_y_offset (double o)
 {
        {
                boost::mutex::scoped_lock lm (_mutex);
-               _subtitle_offset = o;
+               _subtitle_y_offset = o;
        }
-       signal_changed (SubtitleContentProperty::SUBTITLE_OFFSET);
+       signal_changed (SubtitleContentProperty::SUBTITLE_Y_OFFSET);
 }
 
 void
index 854647d181dfc065f11ed191b051d5c939965683..38863768889adb1cbea41dd019afc6fad1517ea0 100644 (file)
@@ -25,7 +25,8 @@
 class SubtitleContentProperty
 {
 public:
-       static int const SUBTITLE_OFFSET;
+       static int const SUBTITLE_X_OFFSET;
+       static int const SUBTITLE_Y_OFFSET;
        static int const SUBTITLE_SCALE;
 };
 
@@ -33,17 +34,23 @@ class SubtitleContent : public virtual Content
 {
 public:
        SubtitleContent (boost::shared_ptr<const Film>, boost::filesystem::path);
-       SubtitleContent (boost::shared_ptr<const Film>, boost::shared_ptr<const cxml::Node>);
+       SubtitleContent (boost::shared_ptr<const Film>, boost::shared_ptr<const cxml::Node>, int version);
        SubtitleContent (boost::shared_ptr<const Film>, std::vector<boost::shared_ptr<Content> >);
        
        void as_xml (xmlpp::Node *) const;
 
-       void set_subtitle_offset (double);
+       void set_subtitle_x_offset (double);
+       void set_subtitle_y_offset (double);
        void set_subtitle_scale (double);
 
-       double subtitle_offset () const {
+       double subtitle_x_offset () const {
                boost::mutex::scoped_lock lm (_mutex);
-               return _subtitle_offset;
+               return _subtitle_x_offset;
+       }
+
+       double subtitle_y_offset () const {
+               boost::mutex::scoped_lock lm (_mutex);
+               return _subtitle_y_offset;
        }
 
        double subtitle_scale () const {
@@ -53,11 +60,15 @@ public:
        
 private:
        friend class ffmpeg_pts_offset_test;
-       
+
+       /** x offset for placing subtitles, as a proportion of the container width;
+        * +ve is further right, -ve is further left.
+        */
+       double _subtitle_x_offset;
        /** y offset for placing subtitles, as a proportion of the container height;
-           +ve is further down the frame, -ve is further up.
-       */
-       double _subtitle_offset;
+        *  +ve is further down the frame, -ve is further up.
+        */
+       double _subtitle_y_offset;
        /** scale factor to apply to subtitles */
        double _subtitle_scale;
 };
index 8820726895446e449b12090b8f7e221a45f1b619..289259369d028652aa2fc684f7aabc4997c30971 100644 (file)
@@ -63,6 +63,7 @@ TranscodeJob::run ()
                set_state (FINISHED_OK);
 
                _film->log()->log (N_("Transcode job completed successfully"));
+               _transcoder.reset ();
 
        } catch (...) {
                set_progress (1);
index 23d5a4819685ae41c088647bd88b719a790ff934..41cb23e733f02a3cb1f7fb02d68fc390ef524ce6 100644 (file)
@@ -19,6 +19,7 @@
 
 #include <wx/aboutdlg.h>
 #include <wx/stdpaths.h>
+#include <wx/cmdline.h>
 #include <wx/wx.h>
 #include "lib/version.h"
 #include "lib/compose.hpp"
 #include "wx/wx_ui_signaller.h"
 #include "wx/job_manager_view.h"
 
+using std::exception;
 using boost::shared_ptr;
 
+static std::string film_to_load;
+
 enum {
        ID_file_add_film = 1,
        ID_file_quit,
@@ -190,6 +194,11 @@ private:
        }
 };
 
+static const wxCmdLineEntryDesc command_line_description[] = {
+       { wxCMD_LINE_PARAM, 0, 0, "film to load", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_MULTIPLE | wxCMD_LINE_PARAM_OPTIONAL },
+       { wxCMD_LINE_NONE, "", "", "", wxCmdLineParamType (0), 0 }
+};
+
 class App : public wxApp
 {
        bool OnInit ()
@@ -228,6 +237,17 @@ class App : public wxApp
                ui_signaller = new wxUISignaller (this);
                this->Bind (wxEVT_IDLE, boost::bind (&App::idle, this));
 
+               shared_ptr<Film> film;
+               if (!film_to_load.empty() && boost::filesystem::is_directory (film_to_load)) {
+                       try {
+                               film.reset (new Film (film_to_load));
+                               film->read_metadata ();
+                               film->make_dcp ();
+                       } catch (exception& e) {
+                               error_dialog (0, std_to_wx (String::compose (wx_to_std (_("Could not load film %1 (%2)")), film_to_load, e.what())));
+                       }
+               }
+
                return true;
        }
 
@@ -235,6 +255,21 @@ class App : public wxApp
        {
                ui_signaller->ui_idle ();
        }
+
+       void OnInitCmdLine (wxCmdLineParser& parser)
+       {
+               parser.SetDesc (command_line_description);
+               parser.SetSwitchChars (wxT ("-"));
+       }
+
+       bool OnCmdLineParsed (wxCmdLineParser& parser)
+       {
+               if (parser.GetParamCount() > 0) {
+                       film_to_load = wx_to_std (parser.GetParam(0));
+               }
+
+               return true;
+       }
 };
 
 IMPLEMENT_APP (App)
index 41e93befbe6292363d9d96391ab73591b1bd8fed..967d195150ad24def8befc04d9a8b36b22c2b614 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-23 00:18+0000\n"
+"POT-Creation-Date: 2014-01-30 21:51+0000\n"
 "PO-Revision-Date: 2014-01-14 19:49+0100\n"
 "Last-Translator: \n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
index fba8a1062f383a5832c0c58ff35f18c842374a5f..eff8406c9619e06c20c121c3bfab0fb7f754d3c3 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: DCPOMATIC\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-23 00:18+0000\n"
+"POT-Creation-Date: 2014-01-30 21:51+0000\n"
 "PO-Revision-Date: 2013-11-09 02:47-0500\n"
 "Last-Translator: Manuel AC <manuel.acevedo@civantos.>\n"
 "Language-Team: Manuel AC <manuel.acevedo@civantos.com>\n"
index b8d0dcca1c67d6a2ebb532071fd8440b26aa8ea4..b12f66714d7a9ddf9f8ea755002e4be68baad856 100644 (file)
@@ -7,15 +7,15 @@ msgid ""
 msgstr ""
 "Project-Id-Version: DCP-o-matic FRENCH\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-23 00:18+0000\n"
-"PO-Revision-Date: 2013-11-25 18:58+0100\n"
+"POT-Creation-Date: 2014-01-30 21:51+0000\n"
+"PO-Revision-Date: 2014-01-25 16:20+0100\n"
 "Last-Translator: \n"
 "Language-Team: \n"
-"Language: \n"
+"Language: fr_FR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.3\n"
 
 #: src/tools/dcpomatic.cc:366
 msgid "%1 already exists as a file, so you cannot use it for a new film."
@@ -72,7 +72,7 @@ msgstr "&Envoyer le DCP dans le TMS"
 
 #: src/tools/dcpomatic.cc:244
 msgid "&Tools"
-msgstr ""
+msgstr "&Outils"
 
 #: src/tools/dcpomatic.cc:236
 msgid "About"
@@ -84,7 +84,7 @@ msgstr "À propos de DCP-o-matic"
 
 #: src/tools/dcpomatic.cc:230
 msgid "Check for updates"
-msgstr ""
+msgstr "Recherche mises à jour"
 
 #: src/tools/dcpomatic.cc:633
 msgid "Could not load film %1 (%2)"
@@ -110,7 +110,7 @@ msgstr "DCP-o-matic"
 
 #: src/tools/dcpomatic.cc:229
 msgid "Encoding servers..."
-msgstr ""
+msgstr "Serveurs d'encodage"
 
 #: src/tools/dcpomatic.cc:90
 msgid "Film changed"
@@ -118,7 +118,7 @@ msgstr "Film changé"
 
 #: src/tools/dcpomatic.cc:228
 msgid "Hints..."
-msgstr ""
+msgstr "Avertissements..."
 
 #: src/tools/dcpomatic.cc:223
 msgid "Make &KDMs..."
@@ -147,10 +147,12 @@ msgid ""
 "The DCP for this film will take up about %.1f Gb, and the disk that you are "
 "using only has %.1f Gb available.  Do you want to continue anyway?"
 msgstr ""
+"Le DCP de ce film prendra environ %.1f Go d'espace. Le disque que vous "
+"utilisez n'a que %.1f Go disponible(s). Souhaitez-vous continuer?"
 
 #: src/tools/dcpomatic.cc:728
 msgid "The DCP-o-matic download server could not be contacted."
-msgstr ""
+msgstr "Le serveur de téléchargement de DCP-o-matic ne peut être contacté."
 
 #: src/tools/dcpomatic.cc:356
 msgid ""
@@ -161,7 +163,7 @@ msgstr ""
 
 #: src/tools/dcpomatic.cc:723
 msgid "There are no new versions of DCP-o-matic available."
-msgstr ""
+msgstr "Aucune mise à jour disponible pour DCP-o-matic."
 
 #: src/tools/dcpomatic.cc:553
 msgid "There are unfinished jobs; are you sure you want to quit?"
index 6e03f3c1d312a5c7a5200c23cd8f2304253b52f4..f63169721934ee150e18f0ad5b4c87c5a53df67b 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: IT VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-23 00:18+0000\n"
+"POT-Creation-Date: 2014-01-30 21:51+0000\n"
 "PO-Revision-Date: 2013-04-28 10:31+0100\n"
 "Last-Translator: Maci <macibro@gmail.com>\n"
 "Language-Team: \n"
index 9b5c15d0164465dc0370d2831d335fbcdf75cf5f..a68ba87303eb33a495a8e83d02ef9d8113a1dd4c 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: DCP-o-matic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-23 00:18+0000\n"
+"POT-Creation-Date: 2014-01-30 21:51+0000\n"
 "PO-Revision-Date: 2014-01-19 08:59+0100\n"
 "Last-Translator: Adam Klotblixt <adam.klotblixt@gmail.com>\n"
 "Language-Team: \n"
index 2b07dd1dc6242836f1bb02ed15cf95848a201f19..2e6f0557f0ca22bdb92fb524c4b74e0e82d29be1 100644 (file)
@@ -230,7 +230,7 @@ ConfigDialog::make_defaults_panel ()
                wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
                _default_j2k_bandwidth = new wxSpinCtrl (_defaults_panel);
                s->Add (_default_j2k_bandwidth);
-               add_label_to_sizer (s, _defaults_panel, _("MBps"), false);
+               add_label_to_sizer (s, _defaults_panel, _("Mbit/s"), false);
                table->Add (s, 1);
        }
 
index f246e99e90e8f1633819af11c29839aa9ae8bbc9..831a57a0286c6678fc048dcfbb9987f56828a2e4 100644 (file)
@@ -177,7 +177,7 @@ FilmEditor::make_dcp_panel ()
                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, _("MBps"), false);
+               add_label_to_sizer (s, _dcp_panel, _("Mbit/s"), false);
                grid->Add (s, wxGBPosition (r, 1));
        }
        ++r;
index 26d0f71ac141ca03e9026c5f671c62996abf648f..773ebba7131a93cb7bd5860e9af424f4d77fc1aa 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-23 00:18+0000\n"
+"POT-Creation-Date: 2014-01-30 21:51+0000\n"
 "PO-Revision-Date: 2014-01-14 20:00+0100\n"
 "Last-Translator: \n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -19,6 +19,7 @@ msgstr ""
 "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
 msgid "%"
 msgstr "%"
 
@@ -507,10 +508,6 @@ msgstr "Linearisiere Eingangs Gamma für niedrige Werte"
 msgid "Ls"
 msgstr "SL"
 
-#: src/wx/config_dialog.cc:233 src/wx/film_editor.cc:180
-msgid "MBps"
-msgstr "MBps"
-
 #: src/wx/film_editor.cc:741
 msgid "MISSING: "
 msgstr "FEHLT:"
@@ -531,6 +528,10 @@ msgstr "KDMs erstellen"
 msgid "Matrix"
 msgstr "Matrix"
 
+#: src/wx/config_dialog.cc:233 src/wx/film_editor.cc:180
+msgid "Mbit/s"
+msgstr ""
+
 #: src/wx/config_dialog.cc:67
 msgid "Metadata"
 msgstr "Metadata"
@@ -748,18 +749,24 @@ msgstr "Studio (z.B. TCF)"
 msgid "Subtitle Language (e.g. FR)"
 msgstr "Untertitel Sprache (z.B. EN)"
 
-#: src/wx/subtitle_panel.cc:44
-msgid "Subtitle Offset"
-msgstr "Untertitel Offset"
-
-#: src/wx/subtitle_panel.cc:53
+#: src/wx/subtitle_panel.cc:62
 msgid "Subtitle Scale"
 msgstr "Untertitel Größe"
 
-#: src/wx/subtitle_panel.cc:61
+#: src/wx/subtitle_panel.cc:70
 msgid "Subtitle Stream"
 msgstr "Untertitel Spur"
 
+#: src/wx/subtitle_panel.cc:44
+#, fuzzy
+msgid "Subtitle X Offset"
+msgstr "Untertitel Offset"
+
+#: src/wx/subtitle_panel.cc:53
+#, fuzzy
+msgid "Subtitle Y Offset"
+msgstr "Untertitel Offset"
+
 #: src/wx/subtitle_panel.cc:34
 msgid "Subtitles"
 msgstr "Untertitel"
@@ -965,3 +972,6 @@ msgstr "Zeiten"
 #: src/wx/timeline.cc:234
 msgid "video"
 msgstr "Bild"
+
+#~ msgid "MBps"
+#~ msgstr "MBps"
index b0b5d1b5b39f195a02ddfb132e2aa572b7ae4f6b..f26468f97124b8dd31ea002ca4770ac2765a3d8d 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libdcpomatic-wx\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-23 00:18+0000\n"
+"POT-Creation-Date: 2014-01-30 21:51+0000\n"
 "PO-Revision-Date: 2013-11-09 03:00-0500\n"
 "Last-Translator: Manuel AC <manuel.acevedo@civantos.>\n"
 "Language-Team: Manuel AC <manuel.acevedo@civantos.com>\n"
@@ -18,6 +18,7 @@ msgstr ""
 "X-Generator: Poedit 1.5.7\n"
 
 #: src/wx/subtitle_panel.cc:48 src/wx/subtitle_panel.cc:57
+#: src/wx/subtitle_panel.cc:66
 msgid "%"
 msgstr "%"
 
@@ -528,10 +529,6 @@ msgstr "Hacer lineal la curva de gamma de entrada para valores bajos"
 msgid "Ls"
 msgstr "s"
 
-#: src/wx/config_dialog.cc:233 src/wx/film_editor.cc:180
-msgid "MBps"
-msgstr "MBps"
-
 #: src/wx/film_editor.cc:741
 msgid "MISSING: "
 msgstr ""
@@ -554,6 +551,10 @@ msgstr "Crear KDMs"
 msgid "Matrix"
 msgstr ""
 
+#: src/wx/config_dialog.cc:233 src/wx/film_editor.cc:180
+msgid "Mbit/s"
+msgstr ""
+
 #: src/wx/config_dialog.cc:67
 msgid "Metadata"
 msgstr ""
@@ -781,19 +782,25 @@ msgstr "Estudio (ej. TCF)"
 msgid "Subtitle Language (e.g. FR)"
 msgstr "Idioma del subtítulo (ej. EN)"
 
-#: src/wx/subtitle_panel.cc:44
-msgid "Subtitle Offset"
-msgstr "Desplazamiento del subtítulo"
-
-#: src/wx/subtitle_panel.cc:53
+#: src/wx/subtitle_panel.cc:62
 msgid "Subtitle Scale"
 msgstr "Escala del subtítulo"
 
-#: src/wx/subtitle_panel.cc:61
+#: src/wx/subtitle_panel.cc:70
 #, fuzzy
 msgid "Subtitle Stream"
 msgstr "Escala del subtítulo"
 
+#: src/wx/subtitle_panel.cc:44
+#, fuzzy
+msgid "Subtitle X Offset"
+msgstr "Desplazamiento del subtítulo"
+
+#: src/wx/subtitle_panel.cc:53
+#, fuzzy
+msgid "Subtitle Y Offset"
+msgstr "Desplazamiento del subtítulo"
+
 #: src/wx/subtitle_panel.cc:34
 msgid "Subtitles"
 msgstr "Subtítulos"
@@ -999,6 +1006,9 @@ msgstr ""
 msgid "video"
 msgstr "Vídeo"
 
+#~ msgid "MBps"
+#~ msgstr "MBps"
+
 #~ msgid "Length"
 #~ msgstr "Longitud"
 
index 9aa9539c472b2e5079c044b80f6a6932da8d7fb5..a7f5f8c7fa89ec6e50d57e32a0095e6d6dc5e156 100644 (file)
@@ -7,17 +7,18 @@ msgid ""
 msgstr ""
 "Project-Id-Version: DCP-o-matic FRENCH\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-23 00:18+0000\n"
-"PO-Revision-Date: 2013-11-25 19:28+0100\n"
+"POT-Creation-Date: 2014-01-30 21:51+0000\n"
+"PO-Revision-Date: 2014-01-25 16:56+0100\n"
 "Last-Translator: \n"
 "Language-Team: \n"
-"Language: \n"
+"Language: fr_FR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.5.4\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
 msgid "%"
 msgstr "%"
 
@@ -30,7 +31,7 @@ msgstr ""
 
 #: src/wx/config_dialog.cc:131
 msgid "(password will be stored on disk in plaintext)"
-msgstr ""
+msgstr "(le mot de passe sera enregistré sur le disque au format texte)"
 
 #: src/wx/config_dialog.cc:108
 msgid "(restart DCP-o-matic to see language changes)"
@@ -39,11 +40,11 @@ msgstr ""
 
 #: src/wx/audio_mapping_view.cc:135
 msgid "-3dB"
-msgstr ""
+msgstr "-3dB"
 
 #: src/wx/colour_conversion_editor.cc:83
 msgid "1 / "
-msgstr ""
+msgstr "1/"
 
 #: src/wx/audio_panel.cc:236
 msgid "1 channel"
@@ -51,15 +52,15 @@ msgstr "1 canal"
 
 #: src/wx/video_panel.cc:200
 msgid "2D"
-msgstr ""
+msgstr "2D"
 
 #: src/wx/film_editor.cc:218
 msgid "2K"
-msgstr ""
+msgstr "2K"
 
 #: src/wx/film_editor.cc:166
 msgid "3D"
-msgstr ""
+msgstr "3D"
 
 #: src/wx/video_panel.cc:201
 msgid "3D left/right"
@@ -67,15 +68,15 @@ msgstr "3D gauche/droite"
 
 #: src/wx/video_panel.cc:202
 msgid "3D top/bottom"
-msgstr ""
+msgstr "3D dessus/dessous"
 
 #: src/wx/film_editor.cc:219
 msgid "4K"
-msgstr ""
+msgstr "4K"
 
 #: src/wx/update_dialog.cc:34
 msgid "A new version of DCP-o-matic is available."
-msgstr ""
+msgstr "Une nouvelle version de DCP-o-matic est disponible"
 
 #: src/wx/about_dialog.cc:30
 msgid "About DCP-o-matic"
@@ -130,6 +131,8 @@ msgstr "Canaux audios"
 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 audio du DCP %d sans "
+"modification."
 
 #: src/wx/audio_mapping_view.cc:328
 #, c-format
@@ -137,6 +140,8 @@ msgid ""
 "Audio will be passed from content channel %d to DCP channel %d with gain "
 "%.1fdB."
 msgstr ""
+"Le son du canal audio %d sera transféré au canal audio du DCP %d avec un "
+"gain de %.1fdB."
 
 #: src/wx/job_wrapper.cc:38
 #, c-format
@@ -178,11 +183,11 @@ msgstr "Canaux"
 
 #: src/wx/config_dialog.cc:143
 msgid "Check for testing updates as well as stable ones"
-msgstr ""
+msgstr "Recherche de mises à jour en test aussi bien que stables."
 
 #: src/wx/config_dialog.cc:139
 msgid "Check for updates on startup"
-msgstr ""
+msgstr "Recherche de mises à jour au démarrage."
 
 #: src/wx/content_menu.cc:182
 #, fuzzy
@@ -336,7 +341,7 @@ msgstr "Espace disque requis"
 
 #: src/wx/film_editor.cc:280
 msgid "Down"
-msgstr ""
+msgstr "Descendre"
 
 #: src/wx/kdm_dialog.cc:68
 msgid "Edit Cinema..."
@@ -354,7 +359,7 @@ msgstr "Éditer..."
 
 #: src/wx/cinema_dialog.cc:35
 msgid "Email address for KDM delivery"
-msgstr ""
+msgstr "Adresse email pour l'envoi de KDM"
 
 #: src/wx/servers_list_dialog.cc:30
 #, fuzzy
@@ -367,7 +372,7 @@ msgstr "Serveurs d'encodage"
 
 #: src/wx/film_editor.cc:157
 msgid "Encrypted"
-msgstr ""
+msgstr "Crypté"
 
 #: src/wx/dci_metadata_dialog.cc:59
 msgid "Facility (e.g. DLA)"
@@ -387,7 +392,7 @@ msgstr "Filtres"
 
 #: src/wx/content_menu.cc:52
 msgid "Find missing..."
-msgstr ""
+msgstr "Recherche de l'élément manquant..."
 
 #: src/wx/film_editor.cc:143
 msgid "Frame Rate"
@@ -411,15 +416,15 @@ msgstr "À partir du"
 
 #: src/wx/config_dialog.cc:135
 msgid "From address for KDM emails"
-msgstr ""
+msgstr "Email expéditeur pour les envoi de KDM"
 
 #: src/wx/audio_mapping_view.cc:134
 msgid "Full"
-msgstr ""
+msgstr "Plein"
 
 #: src/wx/timing_panel.cc:42
 msgid "Full length"
-msgstr ""
+msgstr "Durée totale"
 
 #: src/wx/gain_calculator_dialog.cc:27
 msgid "Gain Calculator"
@@ -428,7 +433,7 @@ msgstr "Calculateur de gain"
 #: src/wx/audio_gain_dialog.cc:31
 #, c-format
 msgid "Gain for content channel %d in DCP channel %d"
-msgstr ""
+msgstr "Gain pour le canal audio %d dans le canal du DCP %d"
 
 #: src/wx/properties_dialog.cc:57
 msgid "Gb"
@@ -436,11 +441,11 @@ msgstr "Gb"
 
 #: src/wx/hints_dialog.cc:26
 msgid "Hints"
-msgstr ""
+msgstr "Avertissements"
 
 #: src/wx/servers_list_dialog.cc:40
 msgid "Host"
-msgstr ""
+msgstr "Hôtes"
 
 #: src/wx/server_dialog.cc:41
 msgid "Host name or IP address"
@@ -469,7 +474,7 @@ msgstr "Gamma d'entrée"
 
 #: src/wx/film_editor.cc:222
 msgid "Interop"
-msgstr ""
+msgstr "MXF-Interop"
 
 #: src/wx/config_dialog.cc:340
 msgid "Issuer"
@@ -481,7 +486,7 @@ msgstr "Qualité JPEG2000"
 
 #: src/wx/content_menu.cc:51
 msgid "Join"
-msgstr ""
+msgstr "Ajouter"
 
 #: src/wx/config_dialog.cc:71
 msgid "KDM email"
@@ -511,13 +516,9 @@ msgstr "Linéariser la courbe gamma d'entrée pour les bas niveaux"
 msgid "Ls"
 msgstr "Ls"
 
-#: src/wx/config_dialog.cc:233 src/wx/film_editor.cc:180
-msgid "MBps"
-msgstr "MBps"
-
 #: src/wx/film_editor.cc:741
 msgid "MISSING: "
-msgstr ""
+msgstr "MANQUANT:"
 
 #: src/wx/config_dialog.cc:127
 #, fuzzy
@@ -537,6 +538,10 @@ msgstr "Générer les KDMs"
 msgid "Matrix"
 msgstr "Matrice"
 
+#: src/wx/config_dialog.cc:233 src/wx/film_editor.cc:180
+msgid "Mbit/s"
+msgstr ""
+
 #: src/wx/config_dialog.cc:67
 msgid "Metadata"
 msgstr "Métadonnées"
@@ -565,12 +570,12 @@ msgstr "Nouveau Film"
 
 #: src/wx/update_dialog.cc:36
 msgid "New versions of DCP-o-matic are available."
-msgstr ""
+msgstr "De nouvelles versions de DCP-o-matic sont disponibles."
 
 #: src/wx/audio_mapping_view.cc:323
 #, c-format
 msgid "No audio will be passed from content channel %d to DCP channel %d."
-msgstr ""
+msgstr "Aucun son ne passera du canal audio %d au canal du DCP %d."
 
 #: src/wx/video_panel.cc:198
 msgid "No stretch"
@@ -582,7 +587,7 @@ msgstr "Aucun"
 
 #: src/wx/audio_mapping_view.cc:133
 msgid "Off"
-msgstr ""
+msgstr "Eteint"
 
 #: src/wx/config_dialog.cc:119
 msgid "Outgoing mail server"
@@ -619,7 +624,7 @@ msgstr "Lecture"
 
 #: src/wx/timing_panel.cc:51
 msgid "Play length"
-msgstr ""
+msgstr "Durée de lecture"
 
 #: src/wx/audio_plot.cc:43
 msgid "Please wait; audio is being analysed..."
@@ -676,7 +681,7 @@ msgstr "Reprendre"
 
 #: src/wx/audio_mapping_view.cc:331
 msgid "Right click to change gain."
-msgstr ""
+msgstr "Cliquez droit pour modifier le gain."
 
 #: src/wx/video_panel.cc:101
 msgid "Right crop"
@@ -688,7 +693,7 @@ msgstr "Rs"
 
 #: src/wx/film_editor.cc:221
 msgid "SMPTE"
-msgstr ""
+msgstr "SMPTE"
 
 #: src/wx/video_panel.cc:134
 msgid "Scale to"
@@ -729,7 +734,7 @@ msgstr "Analyser le son..."
 
 #: src/wx/film_editor.cc:153
 msgid "Signed"
-msgstr ""
+msgstr "Signé"
 
 #: src/wx/audio_dialog.cc:71
 msgid "Smoothing"
@@ -737,7 +742,7 @@ msgstr "Lissage"
 
 #: src/wx/timeline_dialog.cc:38
 msgid "Snap"
-msgstr ""
+msgstr "Echnager"
 
 #: src/wx/update_dialog.cc:43
 #, fuzzy
@@ -756,18 +761,24 @@ msgstr "Studio (ex. TCF)"
 msgid "Subtitle Language (e.g. FR)"
 msgstr "Langue de sous-titres (ex. FR)"
 
-#: src/wx/subtitle_panel.cc:44
-msgid "Subtitle Offset"
-msgstr "Décalage du sous-titre"
-
-#: src/wx/subtitle_panel.cc:53
+#: src/wx/subtitle_panel.cc:62
 msgid "Subtitle Scale"
 msgstr "Taille du sous-titre"
 
-#: src/wx/subtitle_panel.cc:61
+#: src/wx/subtitle_panel.cc:70
 msgid "Subtitle Stream"
 msgstr "Flux de sous-titre"
 
+#: src/wx/subtitle_panel.cc:44
+#, fuzzy
+msgid "Subtitle X Offset"
+msgstr "Décalage du sous-titre"
+
+#: src/wx/subtitle_panel.cc:53
+#, fuzzy
+msgid "Subtitle Y Offset"
+msgstr "Décalage du sous-titre"
+
 #: src/wx/subtitle_panel.cc:34
 msgid "Subtitles"
 msgstr "Sous-titres"
@@ -799,10 +810,13 @@ msgid ""
 "missing.  Either try again with the correct content file or remove the "
 "missing content."
 msgstr ""
+"Les fichiers de contenu que vous avez spécifiés ne sont pas les mêmes que "
+"ceux detectés comme manquants. Vous pouvez réessayer avec les contenus "
+"corrects ou supprimer les contenus manquants."
 
 #: src/wx/hints_dialog.cc:97
 msgid "There are no hints: everything looks good!"
-msgstr ""
+msgstr "Il n'y a aucun avertissement: tout semble correct!"
 
 #: src/wx/servers_list_dialog.cc:48
 msgid "Threads"
@@ -826,7 +840,7 @@ msgstr "Timeline..."
 
 #: src/wx/timing_panel.cc:34
 msgid "Timing"
-msgstr ""
+msgstr "Durée"
 
 #: src/wx/video_panel.cc:112
 msgid "Top crop"
@@ -854,11 +868,11 @@ msgstr "Jusqu'au"
 
 #: src/wx/film_editor.cc:278
 msgid "Up"
-msgstr ""
+msgstr "Monter"
 
 #: src/wx/update_dialog.cc:27
 msgid "Update"
-msgstr ""
+msgstr "Mise à jour."
 
 #: src/wx/film_editor.cc:126
 msgid "Use DCI name"
@@ -866,7 +880,7 @@ msgstr "Utiliser le nom DCI"
 
 #: src/wx/config_dialog.cc:369
 msgid "Use all servers"
-msgstr ""
+msgstr "Utiliser tous les serveurs."
 
 #: src/wx/film_editor.cc:147
 msgid "Use best"
@@ -895,7 +909,7 @@ msgstr "Avec sous-titres"
 
 #: src/wx/kdm_dialog.cc:122
 msgid "Write to"
-msgstr ""
+msgstr "Ecrire à"
 
 #: src/wx/about_dialog.cc:91
 msgid "Written by"
@@ -907,6 +921,8 @@ msgid ""
 "You have %d files that look like they are VOB files from DVD. You should "
 "join them to ensure smooth joins between the files."
 msgstr ""
+"%d fichiers ressemblent à des fichiers VOB de DVD. Vous devriez les ajouter "
+"afin de vous assurer d'une jonction correcte entre vos fichiers."
 
 #: src/wx/hints_dialog.cc:76
 #, c-format
@@ -914,18 +930,25 @@ msgid ""
 "Your DCP frame rate (%d fps) may cause problems in a few (mostly older) "
 "projectors.  Use 24 or 48 frames per second to be on the safe side."
 msgstr ""
+"La cadence image de votre DCP (%d ips) peut créer des problèmes avec "
+"quelques projecteurs (anciens).  Utilisez plutôt une cadence de 24 ou 48 "
+"images par seconde pour assurer une plus grande compatibilité."
 
 #: src/wx/hints_dialog.cc:66
 msgid ""
 "Your DCP has an odd number of audio channels.  This is very likely to cause "
 "problems on playback."
 msgstr ""
+"Votre DCP posséde un nombre impair de canaux audio.  Cela peut créer des "
+"problèmes de lecture."
 
 #: src/wx/hints_dialog.cc:70
 msgid ""
 "Your DCP has fewer than 6 audio channels.  This may cause problems on some "
 "projectors."
 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:213
 msgid "audio"
@@ -954,16 +977,19 @@ msgstr "s"
 
 #: src/wx/timeline.cc:236
 msgid "still"
-msgstr ""
+msgstr "fixe"
 
 #: src/wx/repeat_dialog.cc:37
 msgid "times"
-msgstr ""
+msgstr "fois"
 
 #: src/wx/timeline.cc:234
 msgid "video"
 msgstr "vidéo"
 
+#~ msgid "MBps"
+#~ msgstr "MBps"
+
 #~ msgid "Length"
 #~ msgstr "Longueur / durée"
 
index 4898658f67b34927e77bde7fadfbe67647e3745b..08852b886d3b04d907953880480d5ff831c67165 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: IT VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-23 00:18+0000\n"
+"POT-Creation-Date: 2014-01-30 21:51+0000\n"
 "PO-Revision-Date: 2013-04-28 10:27+0100\n"
 "Last-Translator: Maci <macibro@gmail.com>\n"
 "Language-Team: \n"
@@ -18,6 +18,7 @@ msgstr ""
 "X-Generator: Poedit 1.5.5\n"
 
 #: src/wx/subtitle_panel.cc:48 src/wx/subtitle_panel.cc:57
+#: src/wx/subtitle_panel.cc:66
 msgid "%"
 msgstr "%"
 
@@ -524,10 +525,6 @@ msgstr ""
 msgid "Ls"
 msgstr "s"
 
-#: src/wx/config_dialog.cc:233 src/wx/film_editor.cc:180
-msgid "MBps"
-msgstr "MBps"
-
 #: src/wx/film_editor.cc:741
 msgid "MISSING: "
 msgstr ""
@@ -550,6 +547,10 @@ msgstr ""
 msgid "Matrix"
 msgstr ""
 
+#: src/wx/config_dialog.cc:233 src/wx/film_editor.cc:180
+msgid "Mbit/s"
+msgstr ""
+
 #: src/wx/config_dialog.cc:67
 msgid "Metadata"
 msgstr ""
@@ -777,19 +778,25 @@ msgstr "Studio (es. TCF)"
 msgid "Subtitle Language (e.g. FR)"
 msgstr "Lingua dei Sottotitoli (es. FR)"
 
-#: src/wx/subtitle_panel.cc:44
-msgid "Subtitle Offset"
-msgstr "Sfalsamento dei Sottotitoli"
-
-#: src/wx/subtitle_panel.cc:53
+#: src/wx/subtitle_panel.cc:62
 msgid "Subtitle Scale"
 msgstr "Scala dei Sottotitoli"
 
-#: src/wx/subtitle_panel.cc:61
+#: src/wx/subtitle_panel.cc:70
 #, fuzzy
 msgid "Subtitle Stream"
 msgstr "Scala dei Sottotitoli"
 
+#: src/wx/subtitle_panel.cc:44
+#, fuzzy
+msgid "Subtitle X Offset"
+msgstr "Sfalsamento dei Sottotitoli"
+
+#: src/wx/subtitle_panel.cc:53
+#, fuzzy
+msgid "Subtitle Y Offset"
+msgstr "Sfalsamento dei Sottotitoli"
+
 #: src/wx/subtitle_panel.cc:34
 msgid "Subtitles"
 msgstr "Sottotitoli"
@@ -995,6 +1002,9 @@ msgstr ""
 msgid "video"
 msgstr "Video"
 
+#~ msgid "MBps"
+#~ msgstr "MBps"
+
 #~ msgid "Length"
 #~ msgstr "Lunghezza"
 
index 765d82e6a98e7a0e0f1e8487ca63435ce8fafa81..6d1977d5763f4f8b951c696034900aa6f9e24442 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: DCP-o-matic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-23 00:18+0000\n"
+"POT-Creation-Date: 2014-01-30 21:51+0000\n"
 "PO-Revision-Date: 2014-01-19 09:14+0100\n"
 "Last-Translator: Adam Klotblixt <adam.klotblixt@gmail.com>\n"
 "Language-Team: \n"
@@ -18,6 +18,7 @@ msgstr ""
 "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
 msgid "%"
 msgstr "%"
 
@@ -510,10 +511,6 @@ msgstr "Linjärisera indatas gammakurva för låga värden"
 msgid "Ls"
 msgstr "Vs"
 
-#: src/wx/config_dialog.cc:233 src/wx/film_editor.cc:180
-msgid "MBps"
-msgstr "MBps"
-
 #: src/wx/film_editor.cc:741
 msgid "MISSING: "
 msgstr "SAKNAS:"
@@ -534,6 +531,10 @@ msgstr "Skapa KDM:er"
 msgid "Matrix"
 msgstr "Matris"
 
+#: src/wx/config_dialog.cc:233 src/wx/film_editor.cc:180
+msgid "Mbit/s"
+msgstr ""
+
 #: src/wx/config_dialog.cc:67
 msgid "Metadata"
 msgstr "Metadata"
@@ -756,18 +757,24 @@ msgstr "Studio (ex. TCF)"
 msgid "Subtitle Language (e.g. FR)"
 msgstr "Undertextspråk (ex. SV)"
 
-#: src/wx/subtitle_panel.cc:44
-msgid "Subtitle Offset"
-msgstr "Undertext Förskjutning"
-
-#: src/wx/subtitle_panel.cc:53
+#: src/wx/subtitle_panel.cc:62
 msgid "Subtitle Scale"
 msgstr "Undertext Skalning"
 
-#: src/wx/subtitle_panel.cc:61
+#: src/wx/subtitle_panel.cc:70
 msgid "Subtitle Stream"
 msgstr "Undertextström"
 
+#: src/wx/subtitle_panel.cc:44
+#, fuzzy
+msgid "Subtitle X Offset"
+msgstr "Undertext Förskjutning"
+
+#: src/wx/subtitle_panel.cc:53
+#, fuzzy
+msgid "Subtitle Y Offset"
+msgstr "Undertext Förskjutning"
+
 #: src/wx/subtitle_panel.cc:34
 msgid "Subtitles"
 msgstr "Undertexter"
@@ -975,6 +982,9 @@ msgstr "tider"
 msgid "video"
 msgstr "video"
 
+#~ msgid "MBps"
+#~ msgstr "MBps"
+
 #~ msgid "Length"
 #~ msgstr "Längd"
 
index 0e3f2e89d389d8d25da1c3dfe43ae5817084f443..02c8776d6f8c5ea3a57e50e4885cf34bd6196d72 100644 (file)
@@ -41,14 +41,23 @@ SubtitlePanel::SubtitlePanel (FilmEditor* e)
        grid->AddSpacer (0);
        
        {
-               add_label_to_sizer (grid, this, _("Subtitle Offset"), true);
+               add_label_to_sizer (grid, this, _("Subtitle Offset"), true);
                wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
-               _offset = new wxSpinCtrl (this);
-               s->Add (_offset);
+               _x_offset = new wxSpinCtrl (this);
+               s->Add (_x_offset);
                add_label_to_sizer (s, this, _("%"), false);
                grid->Add (s);
        }
 
+       {
+               add_label_to_sizer (grid, this, _("Subtitle Y Offset"), true);
+               wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
+               _y_offset = new wxSpinCtrl (this);
+               s->Add (_y_offset);
+               add_label_to_sizer (s, this, _("%"), false);
+               grid->Add (s);
+       }
+       
        {
                add_label_to_sizer (grid, this, _("Subtitle Scale"), true);
                wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
@@ -62,12 +71,14 @@ SubtitlePanel::SubtitlePanel (FilmEditor* e)
        _stream = new wxChoice (this, wxID_ANY);
        grid->Add (_stream, 1, wxEXPAND);
        
-       _offset->SetRange (-100, 100);
+       _x_offset->SetRange (-100, 100);
+       _y_offset->SetRange (-100, 100);
        _scale->SetRange (1, 1000);
        _scale->SetValue (100);
 
        _with_subtitles->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&SubtitlePanel::with_subtitles_toggled, this));
-       _offset->Bind         (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&SubtitlePanel::offset_changed, this));
+       _x_offset->Bind       (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&SubtitlePanel::x_offset_changed, this));
+       _y_offset->Bind       (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&SubtitlePanel::y_offset_changed, this));
        _scale->Bind          (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&SubtitlePanel::scale_changed, this));
        _stream->Bind         (wxEVT_COMMAND_CHOICE_SELECTED,  boost::bind (&SubtitlePanel::stream_changed, this));
 }
@@ -119,8 +130,10 @@ SubtitlePanel::film_content_changed (int property)
                        }
                }
                setup_sensitivity ();
-       } else if (property == SubtitleContentProperty::SUBTITLE_OFFSET) {
-               checked_set (_offset, scs ? (scs->subtitle_offset() * 100) : 0);
+       } else if (property == SubtitleContentProperty::SUBTITLE_X_OFFSET) {
+               checked_set (_x_offset, scs ? (scs->subtitle_x_offset() * 100) : 0);
+       } else if (property == SubtitleContentProperty::SUBTITLE_Y_OFFSET) {
+               checked_set (_y_offset, scs ? (scs->subtitle_y_offset() * 100) : 0);
        } else if (property == SubtitleContentProperty::SUBTITLE_SCALE) {
                checked_set (_scale, scs ? (scs->subtitle_scale() * 100) : 100);
        }
@@ -147,7 +160,8 @@ SubtitlePanel::setup_sensitivity ()
        }
        
        _with_subtitles->Enable (h);
-       _offset->Enable (j);
+       _x_offset->Enable (j);
+       _y_offset->Enable (j);
        _scale->Enable (j);
        _stream->Enable (j);
 }
@@ -175,11 +189,20 @@ SubtitlePanel::stream_changed ()
 }
 
 void
-SubtitlePanel::offset_changed ()
+SubtitlePanel::x_offset_changed ()
+{
+       SubtitleContentList c = _editor->selected_subtitle_content ();
+       if (c.size() == 1) {
+               c.front()->set_subtitle_x_offset (_x_offset->GetValue() / 100.0);
+       }
+}
+
+void
+SubtitlePanel::y_offset_changed ()
 {
        SubtitleContentList c = _editor->selected_subtitle_content ();
        if (c.size() == 1) {
-               c.front()->set_subtitle_offset (_offset->GetValue() / 100.0);
+               c.front()->set_subtitle_y_offset (_y_offset->GetValue() / 100.0);
        }
 }
 
@@ -196,6 +219,7 @@ void
 SubtitlePanel::content_selection_changed ()
 {
        film_content_changed (FFmpegContentProperty::SUBTITLE_STREAMS);
-       film_content_changed (SubtitleContentProperty::SUBTITLE_OFFSET);
+       film_content_changed (SubtitleContentProperty::SUBTITLE_X_OFFSET);
+       film_content_changed (SubtitleContentProperty::SUBTITLE_Y_OFFSET);
        film_content_changed (SubtitleContentProperty::SUBTITLE_SCALE);
 }
index 19df26436af6c79cd7c8712d6ba568616dbac2a0..20d7c40c2eb1d3eb1add4350a1b1482b3cbfc2a1 100644 (file)
@@ -33,14 +33,16 @@ public:
        
 private:
        void with_subtitles_toggled ();
-       void offset_changed ();
+       void x_offset_changed ();
+       void y_offset_changed ();
        void scale_changed ();
        void stream_changed ();
 
        void setup_sensitivity ();
        
        wxCheckBox* _with_subtitles;
-       wxSpinCtrl* _offset;
+       wxSpinCtrl* _x_offset;
+       wxSpinCtrl* _y_offset;
        wxSpinCtrl* _scale;
        wxChoice* _stream;
 };
diff --git a/wscript b/wscript
index 571d2b0897f90774325b1bb59f758e30aaa3b64e..6c97047fcdf763ef7fceb72e424928d692801159 100644 (file)
--- a/wscript
+++ b/wscript
@@ -3,7 +3,7 @@ import os
 import sys
 
 APPNAME = 'dcpomatic'
-VERSION = '1.63.5devel'
+VERSION = '1.64.0devel'
 
 def options(opt):
     opt.load('compiler_cxx')