diff options
| author | Carl Hetherington <cth@carlh.net> | 2012-12-15 01:01:12 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2012-12-15 01:01:12 +0000 |
| commit | 0b781dd65a90e617866810ecb3dee27267449f1f (patch) | |
| tree | ab79f468e93e6093d45c4e9e49c9e3dccad0e6ed | |
| parent | 2247247a5294af70890cf68f3f9be930f3729d95 (diff) | |
| parent | 83afdbcfe5d36a64d945843396ddadd22ea4691b (diff) | |
Merge branch 'master' into speed-up
27 files changed, 210 insertions, 202 deletions
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 index fe73af0d3..000000000 --- a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/0148cbf0-96d4-47a6-b8f9-2208b42e9f50/values +++ /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 index 0c8b6aa18..000000000 --- a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/1c2591d1-0d87-43e7-bf1d-5d16c1c8a16e/values +++ /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 index 67d0c2178..000000000 --- a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/1db80a1e-53ce-4a5a-8873-932f1873f680/values +++ /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 index ec3780386..000000000 --- a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/53c8f102-7b42-456a-86e2-3e99de0bd883/values +++ /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 index 26a0240ff..000000000 --- a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/666e8ba3-f1a3-4245-9d00-9a3a5e048ed9/values +++ /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 index 4bebc66b3..000000000 --- a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/75a80a30-2a6d-4c2c-824b-25e5cc04df05/values +++ /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 index d904c6ba0..000000000 --- a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/a9aac2c5-74ba-4e8f-938a-b01a1f40df7b/values +++ /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 index 6eeab71e9..000000000 --- a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/af43139c-88e2-4665-94d5-dd8afa07c51a/values +++ /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 index 84f8f83bf..000000000 --- a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/cc075bd0-4641-4b2c-83b1-4adb05433f71/values +++ /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 index 7abb73256..000000000 --- a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/bugs/e6b5de1f-5dbe-42f2-b103-e8bb680c4140/values +++ /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 index e69de29bb..000000000 --- a/.be/aff5ca2c-44ee-4ed6-800b-4abe9c3e794c/settings +++ /dev/null diff --git a/.be/version b/.be/version deleted file mode 100644 index e7aade483..000000000 --- a/.be/version +++ /dev/null @@ -1 +0,0 @@ -Bugs Everywhere Directory v1.4 diff --git a/.gitignore b/.gitignore index 3f496b4cb..ac1e27446 100644 --- a/.gitignore +++ b/.gitignore @@ -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 @@ -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 index 000000000..f5d64b7ff --- /dev/null +++ b/builds/all @@ -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/ + + diff --git a/builds/chroot-deb b/builds/chroot-deb index c7cc4641d..881f9f8c3 100755 --- a/builds/chroot-deb +++ b/builds/chroot-deb @@ -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 index 000000000..20031996b --- /dev/null +++ b/builds/control-12.04-32 @@ -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 index 000000000..d28efb7e9 --- /dev/null +++ b/builds/control-12.04-64 @@ -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 index 000000000..63ae6099a --- /dev/null +++ b/builds/control-12.10-32 @@ -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 index 000000000..60f54c7b6 --- /dev/null +++ b/builds/control-12.10-64 @@ -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. diff --git a/debian/changelog b/debian/changelog index d5d003686..f517e8bc4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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. diff --git a/src/lib/external_audio_decoder.cc b/src/lib/external_audio_decoder.cc index 136e00fb2..9b121235a 100644 --- a/src/lib/external_audio_decoder.cc +++ b/src/lib/external_audio_decoder.cc @@ -17,6 +17,7 @@ */ +#include <iostream> #include <sndfile.h> #include "external_audio_decoder.h" #include "film.h" diff --git a/src/lib/ffmpeg_decoder.cc b/src/lib/ffmpeg_decoder.cc index fd522a5ac..acaf149f4 100644 --- a/src/lib/ffmpeg_decoder.cc +++ b/src/lib/ffmpeg_decoder.cc @@ -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 diff --git a/src/lib/job.cc b/src/lib/job.cc index 201397f08..896862d14 100644 --- a/src/lib/job.cc +++ b/src/lib/job.cc @@ -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"); + } } diff --git a/src/lib/make_dcp_job.cc b/src/lib/make_dcp_job.cc index 026724806..65cd272e7 100644 --- a/src/lib/make_dcp_job.cc +++ b/src/lib/make_dcp_job.cc @@ -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); diff --git a/src/tools/dvdomatic.cc b/src/tools/dvdomatic.cc index 88c03d753..993c41563 100644 --- a/src/tools/dvdomatic.cc +++ b/src/tools/dvdomatic.cc @@ -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 { @@ -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 |
