Merge branch 'master' into speed-up
authorCarl Hetherington <cth@carlh.net>
Sat, 15 Dec 2012 01:01:12 +0000 (01:01 +0000)
committerCarl Hetherington <cth@carlh.net>
Sat, 15 Dec 2012 01:01:12 +0000 (01:01 +0000)
27 files changed:
.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/0148cbf0-96d4-47a6-b8f9-2208b42e9f50/values [deleted file]
.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/1c2591d1-0d87-43e7-bf1d-5d16c1c8a16e/values [deleted file]
.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/1db80a1e-53ce-4a5a-8873-932f1873f680/values [deleted file]
.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/53c8f102-7b42-456a-86e2-3e99de0bd883/values [deleted file]
.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/666e8ba3-f1a3-4245-9d00-9a3a5e048ed9/values [deleted file]
.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/75a80a30-2a6d-4c2c-824b-25e5cc04df05/values [deleted file]
.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/a9aac2c5-74ba-4e8f-938a-b01a1f40df7b/values [deleted file]
.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/af43139c-88e2-4665-94d5-dd8afa07c51a/values [deleted file]
.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/cc075bd0-4641-4b2c-83b1-4adb05433f71/values [deleted file]
.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/e6b5de1f-5dbe-42f2-b103-e8bb680c4140/values [deleted file]
.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/settings [deleted file]
.be/version [deleted file]
.gitignore
ChangeLog
builds/all [new file with mode: 0755]
builds/chroot-deb
builds/control-12.04-32 [new file with mode: 0644]
builds/control-12.04-64 [new file with mode: 0644]
builds/control-12.10-32 [new file with mode: 0644]
builds/control-12.10-64 [new file with mode: 0644]
debian/changelog
src/lib/external_audio_decoder.cc
src/lib/ffmpeg_decoder.cc
src/lib/job.cc
src/lib/make_dcp_job.cc
src/tools/dvdomatic.cc
wscript

diff --git a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/0148cbf0-96d4-47a6-b8f9-2208b42e9f50/values b/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/0148cbf0-96d4-47a6-b8f9-2208b42e9f50/values
deleted file mode 100644 (file)
index fe73af0..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-creator: Carl Hetherington <cth@carlh.net>
-
-
-reporter: Carl Hetherington <cth@carlh.net>
-
-
-severity: minor
-
-
-status: fixed
-
-
-summary: UI and model go out of sync when creating a new film after having another
-  loaded
-
-
-time: Thu, 01 Nov 2012 02:44:14 +0000
-
diff --git a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/1c2591d1-0d87-43e7-bf1d-5d16c1c8a16e/values b/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/1c2591d1-0d87-43e7-bf1d-5d16c1c8a16e/values
deleted file mode 100644 (file)
index 0c8b6aa..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-creator: Carl Hetherington <cth@carlh.net>
-
-
-reporter: Carl Hetherington <cth@carlh.net>
-
-
-severity: minor
-
-
-status: fixed
-
-
-summary: Dependent jobs are started when an earlier one fails
-
-
-time: Sun, 16 Sep 2012 12:17:18 +0000
-
diff --git a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/1db80a1e-53ce-4a5a-8873-932f1873f680/values b/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/1db80a1e-53ce-4a5a-8873-932f1873f680/values
deleted file mode 100644 (file)
index 67d0c21..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-creator: Carl Hetherington <cth@carlh.net>
-
-
-reporter: Carl Hetherington <cth@carlh.net>
-
-
-severity: minor
-
-
-status: open
-
-
-summary: Allow import of SMPTE XML subtitle files
-
-
-time: Sun, 21 Oct 2012 19:04:41 +0000
-
diff --git a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/53c8f102-7b42-456a-86e2-3e99de0bd883/values b/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/53c8f102-7b42-456a-86e2-3e99de0bd883/values
deleted file mode 100644 (file)
index ec37803..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-creator: Carl Hetherington <cth@carlh.net>
-
-
-reporter: Carl Hetherington <cth@carlh.net>
-
-
-severity: minor
-
-
-status: fixed
-
-
-summary: Add option to select soundtrack if there is more than one
-
-
-time: Mon, 17 Sep 2012 13:45:16 +0000
-
diff --git a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/666e8ba3-f1a3-4245-9d00-9a3a5e048ed9/values b/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/666e8ba3-f1a3-4245-9d00-9a3a5e048ed9/values
deleted file mode 100644 (file)
index 26a0240..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-creator: Carl Hetherington <cth@carlh.net>
-
-
-reporter: Carl Hetherington <cth@carlh.net>
-
-
-severity: minor
-
-
-status: fixed
-
-
-summary: Re-setting content file runs thumb scan twice?
-
-
-time: Mon, 24 Sep 2012 09:42:18 +0000
-
diff --git a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/75a80a30-2a6d-4c2c-824b-25e5cc04df05/values b/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/75a80a30-2a6d-4c2c-824b-25e5cc04df05/values
deleted file mode 100644 (file)
index 4bebc66..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-creator: Carl Hetherington <cth@carlh.net>
-
-
-reporter: Carl Hetherington <cth@carlh.net>
-
-
-severity: minor
-
-
-status: open
-
-
-summary: Allow parallel encodes with the content file on the client for low-network-bandwidth
-  situations
-
-
-time: Tue, 30 Oct 2012 01:50:16 +0000
-
diff --git a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/a9aac2c5-74ba-4e8f-938a-b01a1f40df7b/values b/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/a9aac2c5-74ba-4e8f-938a-b01a1f40df7b/values
deleted file mode 100644 (file)
index d904c6b..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-creator: Carl Hetherington <cth@carlh.net>
-
-
-reporter: Carl Hetherington <cth@carlh.net>
-
-
-severity: minor
-
-
-status: fixed
-
-
-summary: Subtitle checkbox sensitivity not setup on creating a new film, perhaps
-
-
-time: Thu, 01 Nov 2012 02:49:18 +0000
-
diff --git a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/af43139c-88e2-4665-94d5-dd8afa07c51a/values b/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/af43139c-88e2-4665-94d5-dd8afa07c51a/values
deleted file mode 100644 (file)
index 6eeab71..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-creator: Carl Hetherington <cth@carlh.net>
-
-
-reporter: Carl Hetherington <cth@carlh.net>
-
-
-severity: minor
-
-
-status: open
-
-
-summary: Allow use of externally-generated audio rather than that from the movie
-
-
-time: Sun, 21 Oct 2012 19:02:08 +0000
-
diff --git a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/cc075bd0-4641-4b2c-83b1-4adb05433f71/values b/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/cc075bd0-4641-4b2c-83b1-4adb05433f71/values
deleted file mode 100644 (file)
index 84f8f83..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-creator: Carl Hetherington <cth@carlh.net>
-
-
-reporter: Carl Hetherington <cth@carlh.net>
-
-
-severity: minor
-
-
-status: fixed
-
-
-summary: Do the delay line in deinterleaved floats to simplify code.
-
-
-time: Mon, 22 Oct 2012 13:27:50 +0000
-
diff --git a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/e6b5de1f-5dbe-42f2-b103-e8bb680c4140/values b/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/e6b5de1f-5dbe-42f2-b103-e8bb680c4140/values
deleted file mode 100644 (file)
index 7abb732..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-creator: Carl Hetherington <cth@carlh.net>
-
-
-reporter: Carl Hetherington <cth@carlh.net>
-
-
-severity: minor
-
-
-status: fixed
-
-
-summary: Decoder should use its own methods more than FilmState
-
-
-time: Mon, 22 Oct 2012 13:28:57 +0000
-
diff --git a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/settings b/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/settings
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.be/version b/.be/version
deleted file mode 100644 (file)
index e7aade4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Bugs Everywhere Directory v1.4
index 3f496b4cb54ba05c90791a609e0dc6d9011022e2..ac1e274464f9d1a4a6cf208b850d6ff864ffa286 100644 (file)
@@ -1,8 +1,6 @@
 *~
 dvdomatic/tools/test
 experimental/ffmpeg-DVD-to-j2c/dvd_to_j2c
-deps/vobcopy-1.2.0/*.o
-deps/vobcopy-1.2.0/vobcopy
 .waf-*
 .lock-waf*
 core
index 716a130d7f0f783adf2d873640d1e031ca9ec2dc..e463d17c8dd53f27e9bdcfa3ab2c9aebf57f357b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,45 @@
+2012-12-13  Carl Hetherington  <cth@carlh.net>
+
+       * Version 0.64 released.
+
+2012-12-13  Carl Hetherington  <cth@carlh.net>
+
+       * Version 0.63 released.
+
+2012-12-13  Carl Hetherington  <cth@carlh.net>
+
+       * Re-fix reports of zero audio channels
+       with soundtracks of some source files.
+
+2012-12-13  Carl Hetherington  <cth@carlh.net>
+
+       * Version 0.62 released.
+
+2012-12-13  Carl Hetherington  <cth@carlh.net>
+
+       * Improve progress reporting during the final
+       DCP make job; should stop the bar sitting at 100%
+       for a while during digest creation.
+
+2012-12-11  Carl Hetherington  <cth@carlh.net>
+
+       * Version 0.61 released.
+
+2012-12-11  Carl Hetherington  <cth@carlh.net>
+
+       * More .deb dep tweaks.
+
+2012-12-11  Carl Hetherington  <cth@carlh.net>
+
+       * Version 0.60 released.
+
+2012-12-11  Carl Hetherington  <cth@carlh.net>
+
+       * Hopefully fix utterly broken partially-static
+       builds for .debs.
+
+       * Fix specification of architecture in .debs.
+
 2012-12-10  Carl Hetherington  <cth@carlh.net>
 
        * Add a check-box (which defaults to on) which tells DVD-o-matic
diff --git a/builds/all b/builds/all
new file mode 100755 (executable)
index 0000000..f5d64b7
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/bash -e
+
+OUT=/home/carl/public_html/carlh.net/software/dvdomatic
+
+./waf dist
+
+mkdir -p $OUT
+mkdir -p $OUT/12.04-32
+mkdir -p $OUT/12.04-64
+mkdir -p $OUT/12.10-32
+mkdir -p $OUT/12.10-64
+
+builds/all-deb
+cp build/deb/12.04-32/*.deb $OUT/12.04-32/
+cp build/deb/12.04-64/*.deb $OUT/12.04-64/
+cp build/deb/12.10-32/*.deb $OUT/12.10-32/
+cp build/deb/12.10-64/*.deb $OUT/12.10-64/
+
+builds/windows-32
+cp build/windows/DVD*.exe $OUT/
+builds/windows-64
+cp build/windows/DVD*.exe $OUT/
+
+
index c7cc4641d60cfba8061f0b5bf010e2089cf5d10b..881f9f8c33f07df9e8dc46e920399222e68daea5 100755 (executable)
@@ -13,7 +13,7 @@ else
   CPU=amd64
 fi
 
-cp builds/control-$UBUNTU_VERSION debian/control
+cp builds/control-$UBUNTU_VERSION-$BITS debian/control
 ./waf dist
 TARBALL=`ls -1 *.tar.bz2`
 VERSION=`echo $TARBALL | sed -e 's/^dvdomatic-\(.*\).tar.bz2/\1/'`
diff --git a/builds/control-12.04-32 b/builds/control-12.04-32
new file mode 100644 (file)
index 0000000..2003199
--- /dev/null
@@ -0,0 +1,15 @@
+Source: dvdomatic
+Section: video
+Priority: extra
+Maintainer: Carl Hetherington <cth@carlh.net>
+Build-Depends: debhelper (>= 8.0.0), python (>= 2.7.3), g++ (>= 4:4.6.3), pkg-config (>= 0.26), libwxgtk2.8-dev (>= 2.8.12.1), libssh-dev (>= 0.5.2), libboost-filesystem-dev (>= 1.46.0), libboost-thread-dev (>= 1.46.0), libsndfile1-dev (>= 1.0.25), libmagick++-dev (>= 8:6.6.9.7)
+Standards-Version: 3.9.3
+Homepage: http://carlh.net/software/dvdomatic
+
+Package: dvdomatic
+Architecture: i386
+Depends: libc6 (>= 2.15), libwxgtk2.8-0 (>= 2.8.12.1), libssh-4 (>= 0.5.2), libboost-filesystem1.46.1 (>= 1.46.1), libboost-thread1.46.1 (>= 1.46.1), libsndfile1 (>= 1.0.25), libmagick++4 (>= 8:6.6.9.7)
+Description: Generator of Digital Cinema Packages (DCPs)
+  DVD-o-matic generates Digital Cinema Packages (DCPs) from video and audio
+  files (such as those from DVDs or Blu-Rays) for presentation on DCI-compliant
+  digital projectors.
diff --git a/builds/control-12.04-64 b/builds/control-12.04-64
new file mode 100644 (file)
index 0000000..d28efb7
--- /dev/null
@@ -0,0 +1,15 @@
+Source: dvdomatic
+Section: video
+Priority: extra
+Maintainer: Carl Hetherington <cth@carlh.net>
+Build-Depends: debhelper (>= 8.0.0), python (>= 2.7.3), g++ (>= 4:4.6.3), pkg-config (>= 0.26), libwxgtk2.8-dev (>= 2.8.12.1), libssh-dev (>= 0.5.2), libboost-filesystem-dev (>= 1.46.0), libboost-thread-dev (>= 1.46.0), libsndfile1-dev (>= 1.0.25), libmagick++-dev (>= 8:6.6.9.7)
+Standards-Version: 3.9.3
+Homepage: http://carlh.net/software/dvdomatic
+
+Package: dvdomatic
+Architecture: amd64
+Depends: libc6 (>= 2.15), libwxgtk2.8-0 (>= 2.8.12.1), libssh-4 (>= 0.5.2), libboost-filesystem1.46.1 (>= 1.46.1), libboost-thread1.46.1 (>= 1.46.1), libsndfile1 (>= 1.0.25), libmagick++4 (>= 8:6.6.9.7)
+Description: Generator of Digital Cinema Packages (DCPs)
+  DVD-o-matic generates Digital Cinema Packages (DCPs) from video and audio
+  files (such as those from DVDs or Blu-Rays) for presentation on DCI-compliant
+  digital projectors.
diff --git a/builds/control-12.10-32 b/builds/control-12.10-32
new file mode 100644 (file)
index 0000000..63ae609
--- /dev/null
@@ -0,0 +1,15 @@
+Source: dvdomatic
+Section: video
+Priority: extra
+Maintainer: Carl Hetherington <cth@carlh.net>
+Build-Depends: debhelper (>= 8.0.0), python (>= 2.7.3), g++ (>= 4:4.6.3), pkg-config (>= 0.26), libwxgtk2.8-dev (>= 2.8.12.1), libssh-dev (>= 0.5.2), libboost-filesystem-dev (>= 1.46.0), libboost-thread-dev (>= 1.46.0), libsndfile1-dev (>= 1.0.25), libmagick++-dev (>= 8:6.6.9.7)
+Standards-Version: 3.9.3
+Homepage: http://carlh.net/software/dvdomatic
+
+Package: dvdomatic
+Architecture: i386
+Depends: libc6 (>= 2.15), libwxgtk2.8-0 (>= 2.8.12.1), libssh-4 (>= 0.5.2), libboost-filesystem1.49.0 (>= 1.49.0), libboost-thread1.49.0 (>= 1.49.0), libsndfile1 (>= 1.0.25), libmagick++5 (>= 8:6.7.7.10)
+Description: Generator of Digital Cinema Packages (DCPs)
+  DVD-o-matic generates Digital Cinema Packages (DCPs) from video and audio
+  files (such as those from DVDs or Blu-Rays) for presentation on DCI-compliant
+  digital projectors.
diff --git a/builds/control-12.10-64 b/builds/control-12.10-64
new file mode 100644 (file)
index 0000000..60f54c7
--- /dev/null
@@ -0,0 +1,15 @@
+Source: dvdomatic
+Section: video
+Priority: extra
+Maintainer: Carl Hetherington <cth@carlh.net>
+Build-Depends: debhelper (>= 8.0.0), python (>= 2.7.3), g++ (>= 4:4.6.3), pkg-config (>= 0.26), libwxgtk2.8-dev (>= 2.8.12.1), libssh-dev (>= 0.5.2), libboost-filesystem-dev (>= 1.46.0), libboost-thread-dev (>= 1.46.0), libsndfile1-dev (>= 1.0.25), libmagick++-dev (>= 8:6.6.9.7)
+Standards-Version: 3.9.3
+Homepage: http://carlh.net/software/dvdomatic
+
+Package: dvdomatic
+Architecture: amd64
+Depends: libc6 (>= 2.15), libwxgtk2.8-0 (>= 2.8.12.1), libssh-4 (>= 0.5.2), libboost-filesystem1.49.0 (>= 1.49.0), libboost-thread1.49.0 (>= 1.49.0), libsndfile1 (>= 1.0.25), libmagick++5 (>= 8:6.7.7.10)
+Description: Generator of Digital Cinema Packages (DCPs)
+  DVD-o-matic generates Digital Cinema Packages (DCPs) from video and audio
+  files (such as those from DVDs or Blu-Rays) for presentation on DCI-compliant
+  digital projectors.
index d5d0036863fe358512b8fb0d88716fc2b23c09d6..f517e8bc4212b7ff60fc2c235e71aa7747cf18aa 100644 (file)
@@ -1,3 +1,21 @@
+dvdomatic (0.64-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Carl Hetherington <carl@houllier.lan>  Thu, 13 Dec 2012 21:52:09 +0000
+
+dvdomatic (0.63pre-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Carl Hetherington <carl@houllier.lan>  Tue, 11 Dec 2012 23:15:52 +0000
+
+dvdomatic (0.60-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Carl Hetherington <carl@houllier.lan>  Tue, 11 Dec 2012 22:46:04 +0000
+
 dvdomatic (0.59-1) unstable; urgency=low
 
   * New upstream release.
index 136e00fb27985d02d1a897d6ddd7731998e4d7fb..9b121235a4bc8db3a85f8f920fa489ea2a1a4984 100644 (file)
@@ -17,6 +17,7 @@
 
 */
 
+#include <iostream>
 #include <sndfile.h>
 #include "external_audio_decoder.h"
 #include "film.h"
index fd522a5ac374bc10116bbd916c6a27dce0f611ea..acaf149f43ade599dff78d95c109d36c86133097 100644 (file)
@@ -120,11 +120,21 @@ FFmpegDecoder::setup_general ()
                if (s->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
                        _video_stream = i;
                } else if (s->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
+
+                       /* This is a hack; sometimes it seems that _audio_codec_context->channel_layout isn't set up,
+                          so bodge it here.  No idea why we should have to do this.
+                       */
+                       
+                       if (s->codec->channel_layout == 0) {
+                               s->codec->channel_layout = av_get_default_channel_layout (s->codec->channels);
+                       }
+                       
                        _audio_streams.push_back (
                                shared_ptr<AudioStream> (
                                        new FFmpegAudioStream (stream_name (s), i, s->codec->sample_rate, s->codec->channel_layout)
                                        )
                                );
+                       
                } else if (s->codec->codec_type == AVMEDIA_TYPE_SUBTITLE) {
                        _subtitle_streams.push_back (
                                shared_ptr<SubtitleStream> (
@@ -179,14 +189,6 @@ FFmpegDecoder::setup_audio ()
        if (avcodec_open2 (_audio_codec_context, _audio_codec, 0) < 0) {
                throw DecodeError ("could not open audio decoder");
        }
-
-       /* This is a hack; sometimes it seems that _audio_codec_context->channel_layout isn't set up,
-          so bodge it here.  No idea why we should have to do this.
-       */
-
-       if (_audio_codec_context->channel_layout == 0) {
-               _audio_codec_context->channel_layout = av_get_default_channel_layout (ffa->channels());
-       }
 }
 
 void
index 201397f08e0a79c5a75725163ba059bcb231404b..896862d143f7c9c7c26514d4e17d1e7d966652f5 100644 (file)
@@ -75,6 +75,12 @@ Job::run_wrapper ()
                set_state (FINISHED_ERROR);
                set_error (e.what ());
 
+       } catch (...) {
+
+               set_progress (1);
+               set_state (FINISHED_ERROR);
+               set_error ("unknown exception");
+
        }
 }
 
index 026724806b971bd029570e04075fdaa64dfca6c7..65cd272e7b7fa88b09fc48aa30d559dad727f28b 100644 (file)
@@ -103,7 +103,7 @@ MakeDCPJob::run ()
        
        dcp.add_cpl (cpl);
 
-       descend (0.9);
+       descend (0.8);
        shared_ptr<libdcp::MonoPictureAsset> pa (
                new libdcp::MonoPictureAsset (
                        boost::bind (&MakeDCPJob::j2c_path, this, _1),
@@ -137,8 +137,10 @@ MakeDCPJob::run ()
                ascend ();
        }
 
+       descend (0.1);
        cpl->add_reel (shared_ptr<libdcp::Reel> (new libdcp::Reel (pa, sa, shared_ptr<libdcp::SubtitleAsset> ())));
        dcp.write_xml ();
+       ascend ();
 
        set_progress (1);
        set_state (FINISHED_OK);
index 88c03d753576c1aa7173d19ede723a416991cc54..993c41563ba1be47dcfbfcf7e38460e3fac5756e 100644 (file)
@@ -361,11 +361,19 @@ public:
        }
 };
 
+#if wxMINOR_VERSION == 9
+static const wxCmdLineEntryDesc command_line_description[] = {
+       { wxCMD_LINE_OPTION, "l", "log", "set log level (silent, verbose or timing)", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
+        { wxCMD_LINE_PARAM, 0, 0, "film to load", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_MULTIPLE | wxCMD_LINE_PARAM_OPTIONAL },
+       { wxCMD_LINE_NONE }
+};
+#else
 static const wxCmdLineEntryDesc command_line_description[] = {
        { wxCMD_LINE_OPTION, wxT("l"), wxT("log"), wxT("set log level (silent, verbose or timing)"), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
         { wxCMD_LINE_PARAM, 0, 0, wxT("film to load"), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_MULTIPLE | wxCMD_LINE_PARAM_OPTIONAL },
        { wxCMD_LINE_NONE }
 };
+#endif
 
 class App : public wxApp
 {
diff --git a/wscript b/wscript
index 290bf9b52496e033a232a45bb3fc5db19d5c140a..ad46d8188df54175b747edb4a339c6e25b7fbbd5 100644 (file)
--- a/wscript
+++ b/wscript
@@ -3,7 +3,7 @@ import os
 import sys
 
 APPNAME = 'dvdomatic'
-VERSION = '0.60pre'
+VERSION = '0.65pre'
 
 def options(opt):
     opt.load('compiler_cxx')
@@ -50,21 +50,41 @@ def configure(conf):
     else:
         conf.env.append_value('CXXFLAGS', '-O2')
 
-    # Arguments to pkg-config for things that we might want to link statically
-    pkgconfig_args = '--cflags --libs'
-    if conf.options.static:
-        pkgconfig_args += ' --static'
-
-    conf.check_cfg(package = 'libdcp', atleast_version = '0.34', args = pkgconfig_args, uselib_store = 'DCP', mandatory = True)
-    conf.check_cfg(package = 'libavformat', args = pkgconfig_args, uselib_store = 'AVFORMAT', mandatory = True)
-    conf.check_cfg(package = 'libavfilter', args = pkgconfig_args, uselib_store = 'AVFILTER', mandatory = True)
-    conf.check_cfg(package = 'libavcodec', args = pkgconfig_args, uselib_store = 'AVCODEC', mandatory = True)
-    conf.check_cfg(package = 'libavutil', args = pkgconfig_args, uselib_store = 'AVUTIL', mandatory = True)
-    conf.check_cfg(package = 'libswscale', args = pkgconfig_args, uselib_store = 'SWSCALE', mandatory = True)
-    conf.check_cfg(package = 'libswresample', args = pkgconfig_args, uselib_store = 'SWRESAMPLE', mandatory = False)
-    conf.check_cfg(package = 'libpostproc', args = pkgconfig_args, uselib_store = 'POSTPROC', mandatory = True)
+    if not conf.options.static:
+        conf.check_cfg(package = 'libdcp', atleast_version = '0.34', args = '--cflags --libs', uselib_store = 'DCP', mandatory = True)
+        conf.check_cfg(package = 'libavformat', args = '--cflags --libs', uselib_store = 'AVFORMAT', mandatory = True)
+        conf.check_cfg(package = 'libavfilter', args = '--cflags --libs', uselib_store = 'AVFILTER', mandatory = True)
+        conf.check_cfg(package = 'libavcodec', args = '--cflags --libs', uselib_store = 'AVCODEC', mandatory = True)
+        conf.check_cfg(package = 'libavutil', args = '--cflags --libs', uselib_store = 'AVUTIL', mandatory = True)
+        conf.check_cfg(package = 'libswscale', args = '--cflags --libs', uselib_store = 'SWSCALE', mandatory = True)
+        conf.check_cfg(package = 'libswresample', args = '--cflags --libs', uselib_store = 'SWRESAMPLE', mandatory = False)
+        conf.check_cfg(package = 'libpostproc', args = '--cflags --libs', uselib_store = 'POSTPROC', mandatory = True)
+    else:
+        # This is hackio grotesquio for static builds (ie for .deb packages).  We need to link some things
+        # statically and some dynamically, or things get horribly confused the dynamic linker (I think)
+        # crashes horribly.  These calls do what the check_cfg calls would have done, but specify the
+        # different bits as static or dynamic as required.  It'll break if you look at it funny, but
+        # I think anyone else who builds would do so dynamically.
+        conf.env.HAVE_DCP = 1
+        conf.env.STLIB_DCP = ['dcp', 'asdcp-libdcp', 'kumu-libdcp']
+        conf.env.LIB_DCP = ['glibmm-2.4', 'xml++-2.6', 'ssl', 'crypto', 'bz2']
+        conf.env.HAVE_AVFORMAT = 1
+        conf.env.STLIB_AVFORMAT = ['avformat']
+        conf.env.HAVE_AVFILTER = 1
+        conf.env.STLIB_AVFILTER = ['avfilter', 'swresample']
+        conf.env.HAVE_AVCODEC = 1
+        conf.env.STLIB_AVCODEC = ['avcodec']
+        conf.env.LIB_AVCODEC = ['x264', 'z']
+        conf.env.HAVE_AVUTIL = 1
+        conf.env.STLIB_AVUTIL = ['avutil']
+        conf.env.HAVE_SWSCALE = 1
+        conf.env.STLIB_SWSCALE = ['swscale']
+        conf.env.HAVE_SWRESAMPLE = 1
+        conf.env.STLIB_SWRESAMPLE = ['swresample']
+        conf.env.HAVE_POSTPROC = 1
+        conf.env.STLIB_POSTPROC = ['postproc']
+
     conf.check_cfg(package = 'sndfile', args = '--cflags --libs', uselib_store = 'SNDFILE', mandatory = True)
-    conf.check_cfg(package = 'libdcp', atleast_version = '0.33', args = pkgconfig_args, uselib_store = 'DCP', mandatory = True)
     conf.check_cfg(package = 'glib-2.0', args = '--cflags --libs', uselib_store = 'GLIB', mandatory = True)
     conf.check_cfg(package = '', path = 'Magick++-config', args = '--cppflags --cxxflags --libs', uselib_store = 'MAGICK', mandatory = True)
 
@@ -78,9 +98,9 @@ def configure(conf):
                        """
 
     if conf.options.static:
-        conf.check_cc(fragment  = openjpeg_fragment, msg = 'Checking for library openjpeg', stlib = 'openjpeg', uselib_store = 'OPENJPEG')
+        conf.check_cc(fragment = openjpeg_fragment, msg = 'Checking for library openjpeg', stlib = 'openjpeg', uselib_store = 'OPENJPEG')
     else:
-        conf.check_cc(fragment  = openjpeg_fragment, msg = 'Checking for library openjpeg', lib = 'openjpeg', uselib_store = 'OPENJPEG')
+        conf.check_cc(fragment = openjpeg_fragment, msg = 'Checking for library openjpeg', lib = 'openjpeg', uselib_store = 'OPENJPEG')
 
     conf.check_cc(fragment  = """
                               #include <libssh/libssh.h>\n