+++ /dev/null
-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
-
+++ /dev/null
-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
-
+++ /dev/null
-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
-
+++ /dev/null
-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
-
+++ /dev/null
-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
-
+++ /dev/null
-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
-
+++ /dev/null
-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
-
+++ /dev/null
-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
-
+++ /dev/null
-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
-
+++ /dev/null
-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
-
+++ /dev/null
-Bugs Everywhere Directory v1.4
*~
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
+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
--- /dev/null
+#!/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/
+
+
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/'`
--- /dev/null
+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.
--- /dev/null
+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.
--- /dev/null
+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.
--- /dev/null
+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.
+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.
*/
+#include <iostream>
#include <sndfile.h>
#include "external_audio_decoder.h"
#include "film.h"
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> (
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
set_state (FINISHED_ERROR);
set_error (e.what ());
+ } catch (...) {
+
+ set_progress (1);
+ set_state (FINISHED_ERROR);
+ set_error ("unknown exception");
+
}
}
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),
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);
}
};
+#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
{
import sys
APPNAME = 'dvdomatic'
-VERSION = '0.60pre'
+VERSION = '0.65pre'
def options(opt):
opt.load('compiler_cxx')
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)
"""
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