diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-06-30 23:27:19 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-06-30 23:27:19 +0100 |
| commit | e6dd32ca6a32f364dafd99b0fe4bbb6119afb9d7 (patch) | |
| tree | 59ac988625476d038554166967a867ffe8330743 | |
| parent | 288154d38df73021dd4a65327ab588c8a6590960 (diff) | |
| parent | f8cf5bfe56cc3522f281555c4b04d77b15cf1a2d (diff) | |
Merg..
| -rw-r--r-- | ChangeLog | 10 | ||||
| -rw-r--r-- | debian/changelog | 6 | ||||
| -rw-r--r-- | platform/linux/control-12.04-32 | 4 | ||||
| -rw-r--r-- | platform/linux/control-12.04-64 | 2 | ||||
| -rw-r--r-- | platform/linux/control-12.10-32 | 4 | ||||
| -rw-r--r-- | platform/linux/control-12.10-64 | 4 | ||||
| -rw-r--r-- | platform/linux/control-13.04-32 | 23 | ||||
| -rw-r--r-- | platform/linux/control-13.04-64 | 24 | ||||
| -rwxr-xr-x | platform/osx/waf | 6 | ||||
| -rwxr-xr-x | run/makedcp-osx | 2 | ||||
| -rw-r--r-- | src/lib/cross.cc | 31 | ||||
| -rw-r--r-- | src/lib/cross.h | 3 | ||||
| -rw-r--r-- | src/lib/film.cc | 16 | ||||
| -rw-r--r-- | src/wx/film_editor.cc | 2 | ||||
| -rw-r--r-- | src/wx/new_film_dialog.cc | 10 | ||||
| -rw-r--r-- | src/wx/new_film_dialog.h | 9 | ||||
| -rw-r--r-- | src/wx/wscript | 2 | ||||
| -rw-r--r-- | wscript | 4 |
18 files changed, 140 insertions, 22 deletions
@@ -1,3 +1,13 @@ +2013-06-28 Carl Hetherington <cth@carlh.net> + + * Version 0.105 released. + +2013-06-28 Carl Hetherington <cth@carlh.net> + + * Work around GTK bugs related to the directory + picker (in the new film dialogue). There is a + buggy GTK included in Ubuntu 13.04 (and Mint 15). + 2013-06-27 Carl Hetherington <cth@carlh.net> * Version 0.104 released. diff --git a/debian/changelog b/debian/changelog index d12d73316..7ccc2bf84 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +dvdomatic (0.105-1) UNRELEASED; urgency=low + + * New upstream release. + + -- Carl Hetherington <carl@houllier.lan> Fri, 28 Jun 2013 22:01:06 +0100 + dvdomatic (0.104-1) UNRELEASED; urgency=low * New upstream release. diff --git a/platform/linux/control-12.04-32 b/platform/linux/control-12.04-32 index 0f52d03ae..753df4931 100644 --- a/platform/linux/control-12.04-32 +++ b/platform/linux/control-12.04-32 @@ -2,13 +2,13 @@ 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) +Build-Depends: debhelper (>= 8.0.0), python (>= 2.7.3), g++ (>= 4:4.6.3), pkg-config (>= 0.26), 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), libgtk2.0-dev (>= 2.24.10) 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), libxml++2.6-2 (>= 2.34.1) +Depends: libc6 (>= 2.15), 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), libxml++2.6-2 (>= 2.34.1), libgtk2.0-0 (>= 2.24.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 diff --git a/platform/linux/control-12.04-64 b/platform/linux/control-12.04-64 index fa4b4476e..bb7672f53 100644 --- a/platform/linux/control-12.04-64 +++ b/platform/linux/control-12.04-64 @@ -2,7 +2,7 @@ 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) +Build-Depends: debhelper (>= 8.0.0), python (>= 2.7.3), g++ (>= 4:4.6.3), pkg-config (>= 0.26), 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), libgtk2.0-dev (>= 2.4.10) Standards-Version: 3.9.3 Homepage: http://carlh.net/software/dvdomatic diff --git a/platform/linux/control-12.10-32 b/platform/linux/control-12.10-32 index 0e5fc1f46..116e26b75 100644 --- a/platform/linux/control-12.10-32 +++ b/platform/linux/control-12.10-32 @@ -2,13 +2,13 @@ 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) +Build-Depends: debhelper (>= 8.0.0), python (>= 2.7.3), g++ (>= 4:4.6.3), pkg-config (>= 0.26), 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), libgtk2.0-dev (>= 2.24.13) 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), libxml++2.6-2 (>= 2.34.2) +Depends: libc6 (>= 2.15), 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), libxml++2.6-2 (>= 2.34.2), libgtk2.0-0 (>= 2.24.13) 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 diff --git a/platform/linux/control-12.10-64 b/platform/linux/control-12.10-64 index 24e16b4b5..486d1f225 100644 --- a/platform/linux/control-12.10-64 +++ b/platform/linux/control-12.10-64 @@ -2,13 +2,13 @@ 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) +Build-Depends: debhelper (>= 8.0.0), python (>= 2.7.3), g++ (>= 4:4.6.3), pkg-config (>= 0.26), 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), libgtk2.0-dev (>= 2.24.13) 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), libxml++2.6-2 (>= 2.34.2) +Depends: libc6 (>= 2.15), 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), libxml++2.6-2 (>= 2.34.2), libgtk2.0-0 (>= 2.24.13) 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 diff --git a/platform/linux/control-13.04-32 b/platform/linux/control-13.04-32 new file mode 100644 index 000000000..116e26b75 --- /dev/null +++ b/platform/linux/control-13.04-32 @@ -0,0 +1,23 @@ +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), 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), libgtk2.0-dev (>= 2.24.13) +Standards-Version: 3.9.3 +Homepage: http://carlh.net/software/dvdomatic + +Package: dvdomatic +Architecture: i386 +Depends: libc6 (>= 2.15), 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), libxml++2.6-2 (>= 2.34.2), libgtk2.0-0 (>= 2.24.13) +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. + +Package: dvdomatic-dbg +Architecture: i386 +Section: debug +Priority: extra +Depends: ${dvdomatic:Depends}, ${misc:Depends} +Description: debugging symbols for dvdomatic + This package contains the debugging symbols for dvdomatic. diff --git a/platform/linux/control-13.04-64 b/platform/linux/control-13.04-64 new file mode 100644 index 000000000..486d1f225 --- /dev/null +++ b/platform/linux/control-13.04-64 @@ -0,0 +1,24 @@ +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), 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), libgtk2.0-dev (>= 2.24.13) +Standards-Version: 3.9.3 +Homepage: http://carlh.net/software/dvdomatic + +Package: dvdomatic +Architecture: amd64 +Depends: libc6 (>= 2.15), 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), libxml++2.6-2 (>= 2.34.2), libgtk2.0-0 (>= 2.24.13) +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. + +Package: dvdomatic-dbg +Architecture: amd64 +Section: debug +Priority: extra +Depends: ${dvdomatic:Depends}, ${misc:Depends} +Description: debugging symbols for dvdomatic + This package contains the debugging symbols for dvdomatic. + diff --git a/platform/osx/waf b/platform/osx/waf index 7423eb973..dda678542 100755 --- a/platform/osx/waf +++ b/platform/osx/waf @@ -2,10 +2,10 @@ set -e -ENV=/Users/carl/Environments/osx/10.8 -DEPS=/Users/carl/cdist +ENV=/Users/carl/Environments/osx/64 +DEPS=/Users/carl/cdist/64 -export PKG_CONFIG_PATH=$DEPS/lib/pkgconfig:$ENV/lib/pkgconfig +export PKG_CONFIG_PATH=$DEPS/lib/pkgconfig:$ENV/lib/pkgconfig:/usr/lib/pkgconfig export LINKFLAGS="-L$ENV/lib" export CXXFLAGS="-I$ENV/include" export PATH=$PATH:$ENV/bin diff --git a/run/makedcp-osx b/run/makedcp-osx index 1b95ecc5d..03756f524 100755 --- a/run/makedcp-osx +++ b/run/makedcp-osx @@ -1,6 +1,6 @@ #!/bin/bash -export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:build/src/lib:build/src:/Users/carl/Environments/osx/10.8/lib +export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:build/src/lib:build/src:/Users/carl/Environments/osx/64/lib if [ "$1" == "--debug" ]; then shift gdb --args build/src/tools/makedcp "$@" diff --git a/src/lib/cross.cc b/src/lib/cross.cc index ff0d9f7d1..86b657432 100644 --- a/src/lib/cross.cc +++ b/src/lib/cross.cc @@ -22,8 +22,9 @@ #include "cross.h" #include "compose.hpp" #include "log.h" -#ifdef DVDOMATIC_POSIX +#ifdef DVDOMATIC_LINUX #include <unistd.h> +#include <mntent.h> #endif #ifdef DVDOMATIC_WINDOWS #include <windows.h> @@ -35,8 +36,10 @@ #endif using std::pair; +using std::list; using std::ifstream; using std::string; +using std::make_pair; using boost::shared_ptr; void @@ -156,3 +159,29 @@ run_ffprobe (boost::filesystem::path content, boost::filesystem::path out, share system (ffprobe.c_str ()); #endif } + +list<pair<string, string> > +mount_info () +{ + list<pair<string, string> > m; + +#ifdef DVDOMATIC_LINUX + FILE* f = setmntent ("/etc/mtab", "r"); + if (!f) { + return m; + } + + while (1) { + struct mntent* mnt = getmntent (f); + if (!mnt) { + break; + } + + m.push_back (make_pair (mnt->mnt_dir, mnt->mnt_type)); + } + + endmntent (f); +#endif + + return m; +} diff --git a/src/lib/cross.h b/src/lib/cross.h index 1a7a8cb4d..d9cc2d12f 100644 --- a/src/lib/cross.h +++ b/src/lib/cross.h @@ -26,6 +26,7 @@ class Log; #define WEXITSTATUS(w) (w) #endif -void dvdomatic_sleep (int); +extern void dvdomatic_sleep (int); extern std::pair<std::string, int> cpu_info (); extern void run_ffprobe (boost::filesystem::path, boost::filesystem::path, boost::shared_ptr<Log>); +extern std::list<std::pair<std::string, std::string> > mount_info (); diff --git a/src/lib/film.cc b/src/lib/film.cc index 827c62082..217673a7f 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -68,6 +68,7 @@ using std::setfill; using std::min; using std::make_pair; using std::endl; +using std::list; using boost::shared_ptr; using boost::lexical_cast; using boost::to_upper_copy; @@ -142,13 +143,13 @@ Film::Film (string d, bool must_exist) _sndfile_stream = SndfileStream::create (); + _log.reset (new FileLog (file ("log"))); + if (must_exist) { read_metadata (); } else { write_metadata (); } - - _log.reset (new FileLog (file ("log"))); } Film::Film (Film const & o) @@ -317,6 +318,11 @@ Film::make_dcp () log()->log (String::compose ("Content at %1 fps, DCP at %2 fps", source_frame_rate(), dcp_frame_rate())); log()->log (String::compose ("%1 threads", Config::instance()->num_local_encoding_threads())); log()->log (String::compose ("J2K bandwidth %1", j2k_bandwidth())); + if (use_content_audio()) { + log()->log ("Using content's audio"); + } else { + log()->log (String::compose ("Using external audio (%1 files)", external_audio().size())); + } #ifdef DVDOMATIC_DEBUG log()->log ("DVD-o-matic built in debug mode."); #else @@ -329,6 +335,10 @@ Film::make_dcp () #endif pair<string, int> const c = cpu_info (); log()->log (String::compose ("CPU: %1, %2 processors", c.first, c.second)); + list<pair<string, string> > const m = mount_info (); + for (list<pair<string, string> >::const_iterator i = m.begin(); i != m.end(); ++i) { + log()->log (String::compose ("Mount: %1 %2", i->first, i->second)); + } if (format() == 0) { throw MissingSettingError (_("format")); @@ -684,6 +694,8 @@ Film::read_metadata () } _dirty = false; + + _log->log (String::compose ("Loaded film with use_content_audio = %1", use_content_audio ())); } libdcp::Size diff --git a/src/wx/film_editor.cc b/src/wx/film_editor.cc index 6456ae247..dd952e22a 100644 --- a/src/wx/film_editor.cc +++ b/src/wx/film_editor.cc @@ -37,6 +37,7 @@ #include "lib/filter.h" #include "lib/config.h" #include "lib/ffmpeg_decoder.h" +#include "lib/log.h" #include "filter_dialog.h" #include "wx_util.h" #include "film_editor.h" @@ -765,6 +766,7 @@ FilmEditor::film_changed (Film::Property p) setup_frame_rate_description (); break; case Film::USE_CONTENT_AUDIO: + _film->log()->log (String::compose ("Film::USE_CONTENT_AUDIO changed; setting GUI using %1", _film->use_content_audio ())); checked_set (_use_content_audio, _film->use_content_audio()); checked_set (_use_external_audio, !_film->use_content_audio()); setup_dcp_name (); diff --git a/src/wx/new_film_dialog.cc b/src/wx/new_film_dialog.cc index 191482a7c..91caa4963 100644 --- a/src/wx/new_film_dialog.cc +++ b/src/wx/new_film_dialog.cc @@ -21,7 +21,7 @@ #include <wx/stdpaths.h> #include "lib/config.h" #include "new_film_dialog.h" -#ifdef __WXMSW__ +#if defined(__WXMSW__) || (GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION == 24 && GTK_MICRO_VERSION == 17) #include "dir_picker_ctrl.h" #endif #include "wx_util.h" @@ -46,8 +46,12 @@ NewFilmDialog::NewFilmDialog (wxWindow* parent) table->Add (_name, 1, wxEXPAND); add_label_to_sizer (table, this, _("Create in folder")); -#ifdef __WXMSW__ - _folder = new DirPickerCtrl (this); + + /* GTK 2.24.17 has a buggy GtkFileChooserButton and it was put in Ubuntu 13.04. + Use our own dir picker as this is the least bad option I can think of. + */ +#if defined(__WXMSW__) || (GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION == 24 && GTK_MICRO_VERSION == 17) + _folder = new DirPickerCtrl (this); #else _folder = new wxDirPickerCtrl (this, wxDD_DIR_MUST_EXIST); #endif diff --git a/src/wx/new_film_dialog.h b/src/wx/new_film_dialog.h index bfcbd423c..70bb7945b 100644 --- a/src/wx/new_film_dialog.h +++ b/src/wx/new_film_dialog.h @@ -19,6 +19,9 @@ #include <wx/wx.h> #include <wx/filepicker.h> +#ifdef __WXGTK__ +#include <gtk/gtk.h> +#endif class DirPickerCtrl; @@ -32,10 +35,10 @@ public: private: wxTextCtrl* _name; -#ifdef __WXMSW__ +#if defined(__WXMSW__) || (GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION == 24 && GTK_MICRO_VERSION == 17) DirPickerCtrl* _folder; -#else +#else wxDirPickerCtrl* _folder; -#endif +#endif static boost::optional<std::string> _directory; }; diff --git a/src/wx/wscript b/src/wx/wscript index 9213d7220..4bc79d6bb 100644 --- a/src/wx/wscript +++ b/src/wx/wscript @@ -52,6 +52,8 @@ def build(bld): obj.includes = [ '..' ] obj.export_includes = ['.'] obj.uselib = 'WXWIDGETS' + if bld.env.TARGET_LINUX: + obj.uselib += ' GTK' obj.use = 'libdvdomatic' obj.source = sources obj.target = 'dvdomatic-wx' @@ -3,7 +3,7 @@ import os import sys APPNAME = 'dvdomatic' -VERSION = '0.105pre' +VERSION = '0.106pre' def options(opt): opt.load('compiler_cxx') @@ -112,6 +112,8 @@ def configure(conf): if conf.env.TARGET_LINUX: conf.check_cfg(package='liblzma', args='--cflags --libs', uselib_store='LZMA', mandatory=True) + # On Linux we need to be able to include <gtk/gtk.h> to check GTK's version + conf.check_cfg(package='gtk+-2.0', args='--cflags', uselib_store='GTK', mandatory=True) conf.check_cfg(package = '', path = conf.options.magickpp_config, args = '--cppflags --cxxflags --libs', uselib_store = 'MAGICK', mandatory = True) |
