Merge master.
authorCarl Hetherington <cth@carlh.net>
Sat, 15 Mar 2014 20:39:47 +0000 (20:39 +0000)
committerCarl Hetherington <cth@carlh.net>
Sat, 15 Mar 2014 20:39:47 +0000 (20:39 +0000)
ChangeLog
platform/osx/Info.plist.in
run/dcpomatic
src/wx/kdm_dialog.cc
src/wx/new_film_dialog.cc

index 2820a2ff4c964c0d9ef61bf53ac1f33c812033d2..6783464c64c2c89e1a601e383f08f9678ca723cc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2014-03-15  Carl Hetherington  <cth@carlh.net>
 
+       * Improve appearance of new film and KDM dialogs on OS X.
+
+       * Fix KDM dialog to predictably set up its initial range to
+       a week from now.
+
        * Remove support for FFmpeg post-processing filters as they apparently
        do not support > 8bpp.  I don't think they are worth the pain of
        quantizing and then telling the user what has happened.
@@ -7,6 +12,7 @@
 2014-03-12  Carl Hetherington  <cth@carlh.net>
 
        * Version 1.66.1 released.
+>>>>>>> 80faa28d7fd23ad811a9b837622f7e0cff1f2335
 
 2014-03-12  Carl Hetherington  <cth@carlh.net>
 
index 0f67741386f5cf18aa587f7f65ff53ea31da3c16..f2675e3f630fc4ad44d5d55005935e82cabf8888 100644 (file)
@@ -30,6 +30,5 @@
        <string>MainMenu</string>
        <key>NSPrincipalClass</key>
        <string>NSApplication</string>
-       @ENV@
 </dict>
 </plist>
index fff9783e550ee7ccc09035780cb30898763e72b8..65cca420596e7e520985501c0836c8e110b4f1dc 100755 (executable)
 #!/bin/bash
 
-export LD_LIBRARY_PATH=build/src/lib:build/src/wx:build/src/asdcplib/src:$LD_LIBRARY_PATH
-export DYLD_LIBRARY_PATH=/Users/carl/Environments/osx/64/lib:build/src/lib:build/src/wx:build/src/asdcplib/src:$DYLD_LIBRARY_PATH
-if [ "$1" == "--debug" ]; then
-    shift
-    if [ `which gdb` ]; then
-      gdb --args build/src/tools/dcpomatic $*
-    else
-      lldb build/src/tools/dcpomatic $*
+if [ `uname -s` == "Darwin" ]; then
+  # Some time ago we could start DCP-o-matic on OS X just by running the executable, in
+  # the same way as Linux.  This doesn't work any more.
+  
+  ENV=$HOME/Environments/osx/64/lib
+  DEP=$HOME/cdist/64/lib
+  app=build/platform/osx/DCP-o-matic.app
+  macos=$app/Contents/MacOS
+  lib=$app/Contents/lib
+  mkdir -p $macos $lib
+
+  cp build/src/tools/dcpomatic $macos
+  cp build/src/lib/libdcpomatic.dylib $lib
+  cp build/src/wx/libdcpomatic-wx.dylib $lib
+  cp $DEP/libcxml.dylib $lib
+  cp $DEP/libdcp.dylib $lib
+  cp $DEP/libasdcp-libdcp.dylib $lib
+  cp $DEP/libkumu-libdcp.dylib $lib
+  cp $DEP/libopenjpeg*.dylib $lib
+  cp $DEP/libavdevice*.dylib $lib
+  cp $DEP/libavformat*.dylib $lib
+  cp $DEP/libavfilter*.dylib $lib
+  cp $DEP/libavutil*.dylib $lib
+  cp $DEP/libavcodec*.dylib $lib
+  cp $DEP/libswscale*.dylib $lib
+  cp $DEP/libpostproc*.dylib $lib
+  cp $DEP/libswresample*.dylib $lib
+  cp $ENV/libboost_system.dylib $lib
+  cp $ENV/libboost_filesystem.dylib $lib
+  cp $ENV/libboost_thread.dylib $lib
+  cp $ENV/libboost_date_time.dylib $lib
+  cp $ENV/libxml++-2.6*.dylib $lib
+  cp $ENV/libxml2*.dylib $lib
+  cp $ENV/libglibmm-2.4*.dylib $lib
+  cp $ENV/libgobject*.dylib $lib
+  cp $ENV/libgthread*.dylib $lib
+  cp $ENV/libgmodule*.dylib $lib
+  cp $ENV/libsigc*.dylib $lib
+  cp $ENV/libglib-2*.dylib $lib
+  cp $ENV/libintl*.dylib $lib
+  cp $ENV/libsndfile*.dylib $lib
+  cp $ENV/libMagick++*.dylib $lib
+  cp $ENV/libMagickCore*.dylib $lib
+  cp $ENV/libMagickWand*.dylib $lib
+  cp $ENV/libssh*.dylib $lib
+  cp $ENV/libwx*.dylib $lib
+  cp $ENV/libfontconfig*.dylib $lib
+  cp $ENV/libfreetype*.dylib $lib
+  cp $ENV/libexpat*.dylib $lib
+  cp $ENV/libltdl*.dylib $lib
+  cp $ENV/libxmlsec1*.dylib $lib
+  cp $ENV/libzip*.dylib $lib
+  cp $ENV/libquickmail*.dylib $lib
+  cp $ENV/libcurl*.dylib $lib
+  cp $ENV/libffi*.dylib $lib
+  sed -e "s/@VERSION@/test/g" platform/osx/Info.plist.in > $app/Contents/Info.plist
+
+  for obj in $macos/dcpomatic $lib/*.dylib; do
+    deps=`otool -L $obj | awk '{print $1}' | egrep "(/Users/carl|libboost|libssh|libltdl)"`
+    changes=""
+    for dep in $deps; do
+      base=`basename $dep`
+      changes="$changes -change $dep @executable_path/../lib/$base"
+    done
+    if test "x$changes" != "x"; then
+      install_name_tool $changes $obj
     fi
-elif [ "$1" == "--valgrind" ]; then
-    shift
-    valgrind --tool="memcheck" build/src/tools/dcpomatic $*
-elif [ "$1" == "--callgrind" ]; then
-    shift
-    valgrind --tool="callgrind" build/src/tools/dcpomatic $*
-elif [ "$1" == "--massif" ]; then
-    shift
-    valgrind --tool="massif" build/src/tools/dcpomatic $*
-elif [ "$1" == "--i18n" ]; then
-    shift
-    LANGUAGE=de_DE.UTF8 LANG=de_DE.UTF8 LC_ALL=de_DE.UTF8 build/src/tools/dcpomatic "$*"
-elif [ "$1" == "--perf" ]; then
-    shift
-    perf record build/src/tools/dcpomatic $*
+  done  
+  
+  open $app
+
 else
-    build/src/tools/dcpomatic $*
+  export LD_LIBRARY_PATH=build/src/lib:build/src/wx:build/src/asdcplib/src:$LD_LIBRARY_PATH
+  if [ "$1" == "--debug" ]; then
+      shift
+      gdb --args build/src/tools/dcpomatic $*
+  elif [ "$1" == "--valgrind" ]; then
+      shift
+      valgrind --tool="memcheck" build/src/tools/dcpomatic $*
+  elif [ "$1" == "--callgrind" ]; then
+      shift
+      valgrind --tool="callgrind" build/src/tools/dcpomatic $*
+  elif [ "$1" == "--massif" ]; then
+      shift
+      valgrind --tool="massif" build/src/tools/dcpomatic $*
+  elif [ "$1" == "--i18n" ]; then
+      shift
+      LANGUAGE=de_DE.UTF8 LANG=de_DE.UTF8 LC_ALL=de_DE.UTF8 build/src/tools/dcpomatic "$*"
+  elif [ "$1" == "--perf" ]; then
+      shift
+      perf record build/src/tools/dcpomatic $*
+  else
+      build/src/tools/dcpomatic $*
+  fi
 fi
+
index 5410f6cec003f7fcedf35c7a817ec927f3952b5d..1f4d62bde1f90a03d9b2819369c6f69e3454edab 100644 (file)
@@ -83,15 +83,20 @@ KDMDialog::KDMDialog (wxWindow* parent, boost::shared_ptr<const Film> film)
 
        wxFlexGridSizer* table = new wxFlexGridSizer (3, 2, 6);
        add_label_to_sizer (table, this, _("From"), true);
-       _from_date = new wxDatePickerCtrl (this, wxID_ANY);
+       wxDateTime from;
+       from.SetToCurrent ();
+       _from_date = new wxDatePickerCtrl (this, wxID_ANY, from);
        table->Add (_from_date, 1, wxEXPAND);
-       _from_time = new wxTimePickerCtrl (this, wxID_ANY);
+       _from_time = new wxTimePickerCtrl (this, wxID_ANY, from);
        table->Add (_from_time, 1, wxEXPAND);
-       
+
        add_label_to_sizer (table, this, _("Until"), true);
-       _until_date = new wxDatePickerCtrl (this, wxID_ANY);
+       wxDateTime to = from;
+       /* 1 week from now */
+       to.Add (wxDateSpan (0, 0, 1, 0));
+       _until_date = new wxDatePickerCtrl (this, wxID_ANY, to);
        table->Add (_until_date, 1, wxEXPAND);
-       _until_time = new wxTimePickerCtrl (this, wxID_ANY);
+       _until_time = new wxTimePickerCtrl (this, wxID_ANY, to);
        table->Add (_until_time, 1, wxEXPAND);
 
        vertical->Add (table, 0, wxEXPAND | wxALL, 6);
@@ -117,7 +122,7 @@ KDMDialog::KDMDialog (wxWindow* parent, boost::shared_ptr<const Film> film)
                }
        }
        
-       table = new wxFlexGridSizer (3, 2, 6);
+       table = new wxFlexGridSizer (2, 2, 6);
 
        _write_to = new wxRadioButton (this, wxID_ANY, _("Write to"));
        table->Add (_write_to, 1, wxEXPAND);
@@ -125,13 +130,12 @@ KDMDialog::KDMDialog (wxWindow* parent, boost::shared_ptr<const Film> film)
 #ifdef DCPOMATIC_USE_OWN_DIR_PICKER
        _folder = new DirPickerCtrl (this); 
 #else  
-       _folder = new wxDirPickerCtrl (this, wxID_ANY);
+       _folder = new wxDirPickerCtrl (this, wxID_ANY, wxEmptyString, wxDirSelectorPromptStr, wxDefaultPosition, wxSize (300, -1));
 #endif
 
        _folder->SetPath (wxStandardPaths::Get().GetDocumentsDir());
        
        table->Add (_folder, 1, wxEXPAND);
-       table->AddSpacer (0);
 
        _email = new wxRadioButton (this, wxID_ANY, _("Send by email"));
        table->Add (_email, 1, wxEXPAND);
@@ -144,6 +148,8 @@ KDMDialog::KDMDialog (wxWindow* parent, boost::shared_ptr<const Film> film)
                vertical->Add (buttons, wxSizerFlags().Expand().DoubleBorder());
        }
 
+       _write_to->SetValue (true);
+
        _targets->Bind       (wxEVT_COMMAND_TREE_SEL_CHANGED, boost::bind (&KDMDialog::setup_sensitivity, this));
 
        _add_cinema->Bind    (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&KDMDialog::add_cinema_clicked, this));
index e0ad2c457625d08fd188fb829ac50bc6d0b68f3a..f6d91028267a98bbd719bc6da4cdc797369e6315 100644 (file)
@@ -50,7 +50,7 @@ NewFilmDialog::NewFilmDialog (wxWindow* parent)
 #ifdef DCPOMATIC_USE_OWN_DIR_PICKER
        _folder = new DirPickerCtrl (this); 
 #else  
-       _folder = new wxDirPickerCtrl (this, wxID_ANY);
+       _folder = new wxDirPickerCtrl (this, wxID_ANY, wxEmptyString, wxDirSelectorPromptStr, wxDefaultPosition, wxSize (300, -1));
 #endif
 
        if (!_directory) {