Merge branch 'osx'
authorCarl Hetherington <cth@carlh.net>
Wed, 29 May 2013 22:02:34 +0000 (23:02 +0100)
committerCarl Hetherington <cth@carlh.net>
Wed, 29 May 2013 22:02:34 +0000 (23:02 +0100)
38 files changed:
NOTES [deleted file]
TODO [deleted file]
builds/control-12.04-32 [deleted file]
builds/control-12.04-64 [deleted file]
builds/control-12.10-32 [deleted file]
builds/control-12.10-64 [deleted file]
cscript
ffmpeg-versions [deleted file]
platform/linux/control-12.04-32 [new file with mode: 0644]
platform/linux/control-12.04-64 [new file with mode: 0644]
platform/linux/control-12.10-32 [new file with mode: 0644]
platform/linux/control-12.10-64 [new file with mode: 0644]
platform/osx/waf [new file with mode: 0755]
platform/windows/.gtkrc-2.0 [new file with mode: 0755]
platform/windows/dvdomatic.bmp [new file with mode: 0644]
platform/windows/dvdomatic.ico [new file with mode: 0644]
platform/windows/dvdomatic.rc [new file with mode: 0644]
platform/windows/dvdomatic_taskbar.ico [new file with mode: 0644]
platform/windows/installer.nsi.32.in [new file with mode: 0644]
platform/windows/installer.nsi.64.in [new file with mode: 0644]
platform/windows/wscript [new file with mode: 0644]
run/dvdomatic-osx [new file with mode: 0755]
src/lib/dcp_video_frame.cc
src/lib/subtitle.cc
src/lib/subtitle.h
src/lib/util.cc
src/lib/util.h
src/tools/dvdomatic.cc
src/wx/film_viewer.cc
windows/.gtkrc-2.0 [deleted file]
windows/dvdomatic.bmp [deleted file]
windows/dvdomatic.ico [deleted file]
windows/dvdomatic.rc [deleted file]
windows/dvdomatic_taskbar.ico [deleted file]
windows/installer.nsi.32.in [deleted file]
windows/installer.nsi.64.in [deleted file]
windows/wscript [deleted file]
wscript

diff --git a/NOTES b/NOTES
deleted file mode 100644 (file)
index 245017e..0000000
--- a/NOTES
+++ /dev/null
@@ -1,4 +0,0 @@
-
-... perhaps generate the CPL hash on the fly
-Make check of hashes optional; recovery in general
-Fix multi-reel or remove it
\ No newline at end of file
diff --git a/TODO b/TODO
deleted file mode 100644 (file)
index 17f02e4..0000000
--- a/TODO
+++ /dev/null
@@ -1,137 +0,0 @@
-Make a DCP with subs using subtitle edit.
-
-Look at http://liblqr.wikidot.com/en:manual
-
-EC2
-
-Small instance $0.085 ph
-Sintel Trailer 1080p @ 200000 Mbps
-1247 frames @ 24fps ie 51.96s
-Took 1h20 to encode
-
-High-CPU medium $0.186 ph
-Sintel Trailer 1080p @ 200000 Mbps
-1247 frames @ 24fps ie 51.96s
-Took 23m to encode
-
-High-CPU extra-large $0.744 ph
-Sintel Trailer 1080p @ 200000 Mbps
-1247 frames @ 24fps ie 51.96s
-
-
-Transfer in free
-Transfer out $0.120 per GB
-
-
-Port DVD rip
-
-Write still j2ks straight to a MXF.
-md5_data to use openssl
-Write all j2ks straight to a MXF?  Possible?
-
-Standardise j2c/j2k
-Format name in ~/.dvdomatic screws up with spaces; use ID or something
-Thumbnails are poorly named
-x-thread signaller
-Restartable jobs somehow
-More logging
-Nice error when trying to thumbnail with no content.
-Destroy _buffer_src_context / _buffer_sink_context
-Don't start later jobs when one breaks.
-Compute time remaining based on more recent information.
-Use lexical_cast more
-Do deps better
-
-options summary
-
-1: L
-2: R
-3: C
-4: Lfe
-5: Ls
-6: Rs
-
-City Screen
-
-Screen 1: "1.37" masking preset, projector only has DCI 133 preset.
-
-With 1480x1080 alignment in DCI 133: bottom you see purple, yellow; top purple; left and right no lines
-With 1480x1080 alignment in DCI Flat: outside masks, but you see bottom purple, yellow; left/right all; top purple
-
-
-Screen 2: no real masking preset, projector has DCI 133 and DCI 137
-
-1480x1080, DCI 133
-L yellow purple
-R none
-B purple
-T none
-1480x1080, DCI 137
-L all
-R all but blue
-T purple
-B purple
-
-
-Screen 3: projector has DCI 1.38
-
-1480x1080
-L, R, T none
-B purple + yellow
-
-
-films-0.6: Dolby Countdown looks as though it's 3D.  THX Terminator 2 fucked
-(these on default settings)
-fq/gradfun --- no obvious effect
-hqdn3d --- pretty good denoising
-ow --- no obvious effect
-tn --- interesting; much noise reduction, bad artefacts on movement, colour tint even in black
-unsharp --- worse
-
-Benchmark SWS options: lanczos ?
-hqdn3d=0:0:6 ? (turn off chroma/luma blurring)
-
-Lanczos; no visible effect on Ghostbusters.
-
-
-THX_Monster with master Intel Core 2 Duo E4600 (2.4GHz), slave Intel Core i3 M350 (2.27GHz)
-1920 x 1080 original -> DCI Flat
-240 frames
-
-[Gbit: gigabit ethernet rather than 100Mbit]
-[im-mod: after modification to memcpy RGB data then to RGB -> XYZ in the encode thread
-[hack1]: after modification to pass YUV and to swscale in the encode thread (includes im-mod)
-[hack2]: modified hack1
-                               Time            Seconds         FPS             Speedup relative to 1 local
-1 local:                               20m57           1257            0.19            x 1     
-2 local:                       11m24            684            0.35            x 1.84
-2 local [im-mod]:              13m13
-2 local + 1 slave:             6m34             394            0.61            x 3.19
-2 local + 2 slave:             5m13             313            0.77            x 4.02
-2 local + 4 slave:             5m05             303            0.79            x 4.15
-2 local + 4 slave [Gbit]:      2m50             170            1.41            x 7.39
-2 local + 4 slave [Gbit,im-mod]:2m33
-2 local + 4 slave [Gbit,hack1]: 3m20
-2 local + 4 slave [Gbit,hack2]: 2m22
-1 local + 8 slave [Gbit]:      2m28             148            1.62            x 8.49
-2 local + 8 slave [Gbit]:      2m41             161            1.49            x 7.81
-2 local + 8 slave [Gbit,im-mod]:2m35
-
-
-
-Just encode 52s
-Encode + Image create 1m27
-Encode + Image create (memcpy, not convert) 53s.
-
-THX_Monster with master Intel Core i3 M350 (2.27GHz), slave Intel Core 2 Duo E4600 (2.4GHz)
-1920 x 1080 original -> DCI Flat
-240 frames
-
-
-4 local:                       2m45
-4 local [im-mod]:              2m53
-4 local + 2 slave [Gbit]:      2m22
-4 local + 4 slave [Gbit]:      2m21
-4 local + 4 slave [Gbit,in-mod]:2m21
-
-
diff --git a/builds/control-12.04-32 b/builds/control-12.04-32
deleted file mode 100644 (file)
index 0f52d03..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-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), libxml++2.6-2 (>= 2.34.1)
-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/builds/control-12.04-64 b/builds/control-12.04-64
deleted file mode 100644 (file)
index fa4b447..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-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), libxml++2.6-2 (>= 2.34.1)
-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/builds/control-12.10-32 b/builds/control-12.10-32
deleted file mode 100644 (file)
index 0e5fc1f..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-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), libxml++2.6-2 (>= 2.34.2)
-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/builds/control-12.10-64 b/builds/control-12.10-64
deleted file mode 100644 (file)
index 24e16b4..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-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), libxml++2.6-2 (>= 2.34.2)
-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/cscript b/cscript
index 427cd8e56c4d0b4d4ea98720e93cecfddf4422d3..a3898aa6ee19ead333a87cb9ba36ed53888a73b5 100644 (file)
--- a/cscript
+++ b/cscript
@@ -26,20 +26,20 @@ def build(env, target):
 
 def package(env, target, version):
     if target.platform == 'windows':
-        shutil.copyfile('build/windows/installer.%s.nsi' % target.bits, 'build/windows/installer2.%s.nsi' % target.bits)
-        env.command('sed -i "s~%%resources%%~%s/windows~g" build/windows/installer2.%s.nsi' % (os.getcwd(), target.bits))
-        env.command('sed -i "s~%%deps%%~%s~g" build/windows/installer2.%s.nsi' % (env.windows_prefix, target.bits))
-        env.command('sed -i "s~%%binaries%%~%s/build~g" build/windows/installer2.%s.nsi' % (os.getcwd(), target.bits))
-        env.command('sed -i "s~%%bits%%~32~g" build/windows/installer2.%s.nsi' % target.bits)
-        env.command('makensis build/windows/installer2.%s.nsi' % target.bits)
-        return os.path.abspath(glob.glob('build/windows/*%s*.exe' % target.bits)[0])
+        shutil.copyfile('build/platform/windows/installer.%s.nsi' % target.bits, 'build/platform/windows/installer2.%s.nsi' % target.bits)
+        env.command('sed -i "s~%%resources%%~%s/windows~g" build/platform/windows/installer2.%s.nsi' % (os.getcwd(), target.bits))
+        env.command('sed -i "s~%%deps%%~%s~g" build/platform/windows/installer2.%s.nsi' % (env.windows_prefix, target.bits))
+        env.command('sed -i "s~%%binaries%%~%s/build~g" build/platform/windows/installer2.%s.nsi' % (os.getcwd(), target.bits))
+        env.command('sed -i "s~%%bits%%~32~g" build/platform/windows/installer2.%s.nsi' % target.bits)
+        env.command('makensis build/platform/windows/installer2.%s.nsi' % target.bits)
+        return os.path.abspath(glob.glob('build/platform/windows/*%s*.exe' % target.bits)[0])
     elif target.platform == 'linux':
         if target.bits == 32:
             cpu = 'i386'
         else:
             cpu = 'amd64'
 
-        shutil.copyfile('builds/control-%s-%d' % (target.version, target.bits), 'debian/control')
+        shutil.copyfile('platform/linux/control-%s-%d' % (target.version, target.bits), 'debian/control')
         env.command('./waf dist')
         f = open('debian/files', 'w')
         print >>f,'dvdomatic_%s-1_%s.deb video extra' % (version, cpu)
diff --git a/ffmpeg-versions b/ffmpeg-versions
deleted file mode 100644 (file)
index caf166c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-6912e7a008acd1464a63b0a00779a3de81b9a8ab       0.64
diff --git a/platform/linux/control-12.04-32 b/platform/linux/control-12.04-32
new file mode 100644 (file)
index 0000000..0f52d03
--- /dev/null
@@ -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), 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), libxml++2.6-2 (>= 2.34.1)
+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-12.04-64 b/platform/linux/control-12.04-64
new file mode 100644 (file)
index 0000000..fa4b447
--- /dev/null
@@ -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), 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), libxml++2.6-2 (>= 2.34.1)
+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/linux/control-12.10-32 b/platform/linux/control-12.10-32
new file mode 100644 (file)
index 0000000..0e5fc1f
--- /dev/null
@@ -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), 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), libxml++2.6-2 (>= 2.34.2)
+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-12.10-64 b/platform/linux/control-12.10-64
new file mode 100644 (file)
index 0000000..24e16b4
--- /dev/null
@@ -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), 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), libxml++2.6-2 (>= 2.34.2)
+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
new file mode 100755 (executable)
index 0000000..7423eb9
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+set -e
+
+ENV=/Users/carl/Environments/osx/10.8
+DEPS=/Users/carl/cdist
+
+export PKG_CONFIG_PATH=$DEPS/lib/pkgconfig:$ENV/lib/pkgconfig
+export LINKFLAGS="-L$ENV/lib"
+export CXXFLAGS="-I$ENV/include"
+export PATH=$PATH:$ENV/bin
+./waf $*
+
diff --git a/platform/windows/.gtkrc-2.0 b/platform/windows/.gtkrc-2.0
new file mode 100755 (executable)
index 0000000..0ea1d69
--- /dev/null
@@ -0,0 +1,6 @@
+gtk-theme-name = "MS-Windows"
+style "user-font"
+{
+       font_name="Tahoma 8"
+}
+widget_class "*" style "user-font"
diff --git a/platform/windows/dvdomatic.bmp b/platform/windows/dvdomatic.bmp
new file mode 100644 (file)
index 0000000..0a196f7
Binary files /dev/null and b/platform/windows/dvdomatic.bmp differ
diff --git a/platform/windows/dvdomatic.ico b/platform/windows/dvdomatic.ico
new file mode 100644 (file)
index 0000000..225008c
Binary files /dev/null and b/platform/windows/dvdomatic.ico differ
diff --git a/platform/windows/dvdomatic.rc b/platform/windows/dvdomatic.rc
new file mode 100644 (file)
index 0000000..17790cf
--- /dev/null
@@ -0,0 +1,3 @@
+id ICON "dvdomatic.ico"
+taskbar_icon ICON "dvdomatic_taskbar.ico"
+#include "wx-2.9/wx/msw/wx.rc"
diff --git a/platform/windows/dvdomatic_taskbar.ico b/platform/windows/dvdomatic_taskbar.ico
new file mode 100644 (file)
index 0000000..f4489fa
Binary files /dev/null and b/platform/windows/dvdomatic_taskbar.ico differ
diff --git a/platform/windows/installer.nsi.32.in b/platform/windows/installer.nsi.32.in
new file mode 100644 (file)
index 0000000..b73e4f3
--- /dev/null
@@ -0,0 +1,144 @@
+!include "MUI2.nsh"
+Name "DVD-o-matic"
+
+RequestExecutionLevel admin
+
+outFile "DVD-o-matic @version@ 32-bit Installer.exe"
+!define MUI_ICON "%resources%/dvdomatic.ico"
+!define MUI_UNICON "%resources%/dvdomatic.ico"
+!define MUI_SPECIALBITMAP "%resources%/dvdomatic.bmp"
+
+InstallDir "$PROGRAMFILES\DVD-o-matic"
+
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_LICENSE "../../COPYING"
+!insertmacro MUI_PAGE_DIRECTORY
+!insertmacro MUI_PAGE_INSTFILES
+!insertmacro MUI_PAGE_FINISH
+
+!insertmacro MUI_UNPAGE_WELCOME
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_INSTFILES
+!insertmacro MUI_UNPAGE_FINISH
+!insertmacro MUI_LANGUAGE "English"
+
+Section "install" "Installation info"
+SetOutPath "$INSTDIR\bin"
+
+File "%deps%/bin/asdcp-libdcp.dll"
+File "%deps%/bin/avcodec-54.dll"
+File "%deps%/bin/avfilter-3.dll"
+File "%deps%/bin/avformat-54.dll"
+File "%deps%/bin/avutil-52.dll"
+File "%deps%/bin/dcp.dll"
+File "%deps%/bin/libintl-8.dll"
+File "%deps%/bin/kumu-libdcp.dll"
+File "%deps%/bin/libboost_chrono-mt.dll"
+File "%deps%/bin/libboost_filesystem-mt.dll"
+File "%deps%/bin/libboost_system-mt.dll"
+File "%deps%/bin/libboost_thread_win32-mt.dll"
+File "%deps%/bin/libboost_date_time-mt.dll"
+File "%deps%/bin/libeay32.dll"
+File "%deps%/bin/libgcc_s_sjlj-1.dll"
+File "%deps%/bin/libgio-2.0-0.dll"
+File "%deps%/bin/libglib-2.0-0.dll"
+File "%deps%/bin/libgobject-2.0-0.dll"
+File "%deps%/bin/libiconv-2.dll"
+File "%deps%/bin/libjpeg-8.dll"
+File "%deps%/bin/libMagick++-5.dll"
+File "%deps%/bin/libMagickCore-5.dll"
+File "%deps%/bin/libMagickWand-5.dll"
+File "%deps%/bin/libopenjpeg-1.dll"
+File "%deps%/bin/libpng15-15.dll"
+File "%deps%/bin/libsigc-2.0-0.dll"
+File "%deps%/bin/libsndfile-1.dll"
+File "%deps%/bin/libssh.dll"
+File "%deps%/bin/libstdc++-6.dll"
+File "%deps%/bin/postproc-52.dll"
+File "%deps%/bin/swresample-0.dll"
+File "%deps%/bin/swscale-2.dll"
+File "%deps%/bin/zlib1.dll"
+File "%deps%/bin/libjpeg-8.dll"
+File "%deps%/bin/wxbase294u_gcc_custom.dll"
+File "%deps%/bin/wxmsw294u_core_gcc_custom.dll"
+File "%deps%/bin/wxmsw294u_adv_gcc_custom.dll"
+File "%deps%/bin/libcairo-2.dll"
+File "%deps%/bin/libfreetype-6.dll"
+File "%deps%/bin/libgthread-2.0-0.dll"
+File "%deps%/bin/libpango-1.0-0.dll"
+File "%deps%/bin/libgmodule-2.0-0.dll"
+File "%deps%/bin/libpangocairo-1.0-0.dll"
+File "%deps%/bin/libpangowin32-1.0-0.dll"
+File "%deps%/bin/libtiff-5.dll"
+File "%deps%/bin/libglibmm-2.4-1.dll"
+File "%deps%/bin/libxml++-2.6-2.dll"
+File "%deps%/bin/libxml2-2.dll"
+File "%deps%/bin/libpixman-1-0.dll"
+File "%deps%/bin/libfontconfig-1.dll"
+File "%deps%/bin/libexpat-1.dll"
+File "%deps%/bin/libbz2.dll"
+
+File "%binaries%/src/wx/dvdomatic-wx.dll"
+File "%binaries%/src/lib/dvdomatic.dll"
+File "%binaries%/src/tools/dvdomatic.exe"
+File "%binaries%/src/tools/dvdomatic_batch.exe"
+File "%binaries%/src/tools/servomatic_cli.exe"
+File "%binaries%/src/tools/servomatic_gui.exe"
+
+# I don't know why, but sometimes it seems that 
+# delegates.xml must be in with the binaries, and
+# sometimes in the $PROFILE.  Meh.
+File "%deps%/etc/ImageMagick/delegates.xml"
+SetOutPath "$PROFILE\.magick"
+File "%deps%/etc/ImageMagick/delegates.xml"
+
+SetOutPath "$INSTDIR\locale\fr\LC_MESSAGES"
+File "%binaries%/src/lib/mo/fr_FR/libdvdomatic.mo"
+File "%binaries%/src/wx/mo/fr_FR/libdvdomatic-wx.mo"
+File "%binaries%/src/tools/mo/fr_FR/dvdomatic.mo"
+SetOutPath "$INSTDIR\locale\it\LC_MESSAGES"
+File "%binaries%/src/lib/mo/it_IT/libdvdomatic.mo"
+File "%binaries%/src/wx/mo/it_IT/libdvdomatic-wx.mo"
+File "%binaries%/src/tools/mo/it_IT/dvdomatic.mo"
+SetOutPath "$INSTDIR\locale\es\LC_MESSAGES"
+File "%binaries%/src/lib/mo/es_ES/libdvdomatic.mo"
+File "%binaries%/src/wx/mo/es_ES/libdvdomatic-wx.mo"
+File "%binaries%/src/tools/mo/es_ES/dvdomatic.mo"
+SetOutPath "$INSTDIR\locale\sv\LC_MESSAGES"
+File "%binaries%/src/lib/mo/sv_SE/libdvdomatic.mo"
+File "%binaries%/src/wx/mo/sv_SE/libdvdomatic-wx.mo"
+File "%binaries%/src/tools/mo/sv_SE/dvdomatic.mo"
+
+CreateShortCut "$DESKTOP\DVD-o-matic.lnk" "$INSTDIR\bin\dvdomatic.exe" ""
+CreateShortCut "$DESKTOP\DVD-o-matic batch converter.lnk" "$INSTDIR\bin\dvdomatic_batch.exe" ""
+CreateShortCut "$DESKTOP\DVD-o-matic encode server.lnk" "$INSTDIR\bin\servomatic_gui.exe" ""
+CreateDirectory "$SMPROGRAMS\DVD-o-matic"
+CreateShortCut "$SMPROGRAMS\DVD-o-matic\Uninstall DVD-o-matic.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
+CreateShortCut "$SMPROGRAMS\DVD-o-matic\DVD-o-matic.lnk" "$INSTDIR\bin\dvdomatic.exe" "" "$INSTDIR\bin\dvdomatic.exe" 0
+CreateShortCut "$SMPROGRAMS\DVD-o-matic\DVD-o-matic batch converter.lnk" "$INSTDIR\bin\dvdomatic_batch.exe" "" "$INSTDIR\bin\dvdomatic_batch.exe" 0
+CreateShortCut "$SMPROGRAMS\DVD-o-matic\DVD-o-matic encode server.lnk" "$INSTDIR\bin\servomatic_gui.exe" "" "$INSTDIR\bin\servomatic_gui.exe" 0
+WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DVD-o-matic" "DisplayName" "DVD-o-matic (remove only)"
+WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DVD-o-matic" "UninstallString" "$INSTDIR\Uninstall.exe"
+WriteUninstaller "$INSTDIR\Uninstall.exe"
+SectionEnd
+Section "Uninstall"
+RMDir /r "$INSTDIR\*.*"    
+RMDir "$INSTDIR"
+Delete "$DESKTOP\DVD-o-matic.lnk"
+Delete "$DESKTOP\DVD-o-matic bach converter.lnk"
+Delete "$DESKTOP\DVD-o-matic encode server.lnk"
+Delete "$SMPROGRAMS\DVD-o-matic\*.*"
+RmDir  "$SMPROGRAMS\DVD-o-matic"
+DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\DVD-o-matic"
+DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DVD-o-matic"
+SectionEnd
diff --git a/platform/windows/installer.nsi.64.in b/platform/windows/installer.nsi.64.in
new file mode 100644 (file)
index 0000000..f499c46
--- /dev/null
@@ -0,0 +1,154 @@
+!include "MUI2.nsh"
+!include "x64.nsh"
+
+Name "DVD-o-matic"
+
+RequestExecutionLevel admin
+
+outFile "DVD-o-matic @version@ 64-bit Installer.exe"
+!define MUI_ICON "%resources%/dvdomatic.ico"
+!define MUI_UNICON "%resources%/dvdomatic.ico"
+!define MUI_SPECIALBITMAP "%resources%/dvdomatic.bmp"
+
+InstallDir "$PROGRAMFILES\DVD-o-matic"
+
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_LICENSE "../../COPYING"
+!insertmacro MUI_PAGE_DIRECTORY
+!insertmacro MUI_PAGE_INSTFILES
+!insertmacro MUI_PAGE_FINISH
+
+!insertmacro MUI_UNPAGE_WELCOME
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_INSTFILES
+!insertmacro MUI_UNPAGE_FINISH
+!insertmacro MUI_LANGUAGE "English"
+
+Section "install" "Installation info"
+
+${If} ${RunningX64}
+   DetailPrint "Installer running on 64-bit host"
+   ; disable registry redirection (enable access to 64-bit portion of registry)
+   SetRegView 64
+   ; change install dir
+   StrCpy $INSTDIR "$PROGRAMFILES64\DVD-o-matic"
+${EndIf}
+
+SetOutPath "$INSTDIR\bin"
+
+File "%deps%/bin/asdcp-libdcp.dll"
+File "%deps%/bin/avcodec-54.dll"
+File "%deps%/bin/avfilter-3.dll"
+File "%deps%/bin/avformat-54.dll"
+File "%deps%/bin/avutil-52.dll"
+File "%deps%/bin/dcp.dll"
+File "%deps%/bin/libintl-8.dll"
+File "%deps%/bin/kumu-libdcp.dll"
+File "%deps%/bin/libboost_chrono-mt.dll"
+File "%deps%/bin/libboost_filesystem-mt.dll"
+File "%deps%/bin/libboost_system-mt.dll"
+File "%deps%/bin/libboost_thread_win32-mt.dll"
+File "%deps%/bin/libboost_date_time-mt.dll"
+File "%deps%/bin/libeay32.dll"
+File "%deps%/bin/libgcc_s_sjlj-1.dll"
+File "%deps%/bin/libgio-2.0-0.dll"
+File "%deps%/bin/libglib-2.0-0.dll"
+File "%deps%/bin/libgobject-2.0-0.dll"
+File "%deps%/bin/libiconv-2.dll"
+File "%deps%/bin/libjpeg-8.dll"
+File "%deps%/bin/libMagick++-5.dll"
+File "%deps%/bin/libMagickCore-5.dll"
+File "%deps%/bin/libMagickWand-5.dll"
+File "%deps%/bin/libopenjpeg-1.dll"
+File "%deps%/bin/libpng15-15.dll"
+File "%deps%/bin/libsigc-2.0-0.dll"
+File "%deps%/bin/libsndfile-1.dll"
+File "%deps%/bin/libssh.dll"
+File "%deps%/bin/libstdc++-6.dll"
+File "%deps%/bin/postproc-52.dll"
+File "%deps%/bin/swresample-0.dll"
+File "%deps%/bin/swscale-2.dll"
+File "%deps%/bin/zlib1.dll"
+File "%deps%/bin/libjpeg-8.dll"
+File "%deps%/bin/wxbase294u_gcc_custom.dll"
+File "%deps%/bin/wxmsw294u_core_gcc_custom.dll"
+File "%deps%/bin/wxmsw294u_adv_gcc_custom.dll"
+File "%deps%/bin/libcairo-2.dll"
+File "%deps%/bin/libfreetype-6.dll"
+File "%deps%/bin/libgthread-2.0-0.dll"
+File "%deps%/bin/libpango-1.0-0.dll"
+File "%deps%/bin/libgmodule-2.0-0.dll"
+File "%deps%/bin/libpangocairo-1.0-0.dll"
+File "%deps%/bin/libpangowin32-1.0-0.dll"
+File "%deps%/bin/libtiff-5.dll"
+File "%deps%/bin/libglibmm-2.4-1.dll"
+File "%deps%/bin/libxml++-2.6-2.dll"
+File "%deps%/bin/libxml2-2.dll"
+File "%deps%/bin/libpixman-1-0.dll"
+File "%deps%/bin/libfontconfig-1.dll"
+File "%deps%/bin/libexpat-1.dll"
+File "%deps%/bin/libbz2.dll"
+
+File "%binaries%/src/wx/dvdomatic-wx.dll"
+File "%binaries%/src/lib/dvdomatic.dll"
+File "%binaries%/src/tools/dvdomatic.exe"
+File "%binaries%/src/tools/dvdomatic_batch.exe"
+File "%binaries%/src/tools/servomatic_cli.exe"
+File "%binaries%/src/tools/servomatic_gui.exe"
+
+# I don't know why, but sometimes it seems that 
+# delegates.xml must be in with the binaries, and
+# sometimes in the $PROFILE.  Meh.
+File "%deps%/etc/ImageMagick/delegates.xml"
+SetOutPath "$PROFILE\.magick"
+File "%deps%/etc/ImageMagick/delegates.xml"
+
+SetOutPath "$INSTDIR\locale\fr\LC_MESSAGES"
+File "%binaries%/src/lib/mo/fr_FR/libdvdomatic.mo"
+File "%binaries%/src/wx/mo/fr_FR/libdvdomatic-wx.mo"
+File "%binaries%/src/tools/mo/fr_FR/dvdomatic.mo"
+SetOutPath "$INSTDIR\locale\it\LC_MESSAGES"
+File "%binaries%/src/lib/mo/it_IT/libdvdomatic.mo"
+File "%binaries%/src/wx/mo/it_IT/libdvdomatic-wx.mo"
+File "%binaries%/src/tools/mo/it_IT/dvdomatic.mo"
+SetOutPath "$INSTDIR\locale\es\LC_MESSAGES"
+File "%binaries%/src/lib/mo/es_ES/libdvdomatic.mo"
+File "%binaries%/src/wx/mo/es_ES/libdvdomatic-wx.mo"
+File "%binaries%/src/tools/mo/es_ES/dvdomatic.mo"
+SetOutPath "$INSTDIR\locale\sv\LC_MESSAGES"
+File "%binaries%/src/lib/mo/sv_SE/libdvdomatic.mo"
+File "%binaries%/src/wx/mo/sv_SE/libdvdomatic-wx.mo"
+File "%binaries%/src/tools/mo/sv_SE/dvdomatic.mo"
+
+CreateShortCut "$DESKTOP\DVD-o-matic.lnk" "$INSTDIR\bin\dvdomatic.exe" ""
+CreateShortCut "$DESKTOP\DVD-o-matic batch converter.lnk" "$INSTDIR\bin\dvdomatic_batch.exe" ""
+CreateShortCut "$DESKTOP\DVD-o-matic encode server.lnk" "$INSTDIR\bin\servomatic_gui.exe" ""
+CreateDirectory "$SMPROGRAMS\DVD-o-matic"
+CreateShortCut "$SMPROGRAMS\DVD-o-matic\Uninstall DVD-o-matic.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
+CreateShortCut "$SMPROGRAMS\DVD-o-matic\DVD-o-matic.lnk" "$INSTDIR\bin\dvdomatic.exe" "" "$INSTDIR\bin\dvdomatic.exe" 0
+CreateShortCut "$SMPROGRAMS\DVD-o-matic\DVD-o-matic batch converter.lnk" "$INSTDIR\bin\dvdomatic.exe" "" "$INSTDIR\bin\dvdomatic_batch.exe" 0
+CreateShortCut "$SMPROGRAMS\DVD-o-matic\DVD-o-matic encode server.lnk" "$INSTDIR\bin\servomatic_gui.exe" "" "$INSTDIR\bin\servomatic_gui.exe" 0
+WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DVD-o-matic" "DisplayName" "DVD-o-matic (remove only)"
+WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DVD-o-matic" "UninstallString" "$INSTDIR\Uninstall.exe"
+WriteUninstaller "$INSTDIR\Uninstall.exe"
+SectionEnd
+Section "Uninstall"
+RMDir /r "$INSTDIR\*.*"    
+RMDir "$INSTDIR"
+Delete "$DESKTOP\DVD-o-matic.lnk"
+Delete "$DESKTOP\DVD-o-matic batch converter.lnk"
+Delete "$DESKTOP\DVD-o-matic encode server.lnk"
+Delete "$SMPROGRAMS\DVD-o-matic\*.*"
+RmDir  "$SMPROGRAMS\DVD-o-matic"
+DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\DVD-o-matic"
+DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DVD-o-matic"
+SectionEnd
diff --git a/platform/windows/wscript b/platform/windows/wscript
new file mode 100644 (file)
index 0000000..585cebe
--- /dev/null
@@ -0,0 +1,4 @@
+def build(bld):
+    bld.new_task_gen(features = 'subst', source = 'installer.nsi.32.in', target = 'installer.32.nsi', version = bld.env.VERSION)
+    bld.new_task_gen(features = 'subst', source = 'installer.nsi.64.in', target = 'installer.64.nsi', version = bld.env.VERSION)
+    
diff --git a/run/dvdomatic-osx b/run/dvdomatic-osx
new file mode 100755 (executable)
index 0000000..ac42c31
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:build/src/lib:build/src:/Users/carl/Environments/osx/10.8/lib
+if [ "$1" == "--debug" ]; then
+    shift
+    gdb --args build/src/tools/dvdomatic "$*"
+elif [ "$1" == "--valgrind" ]; then
+    shift
+    valgrind --tool="memcheck" build/src/tools/dvdomatic $*
+elif [ "$1" == "--i18n" ]; then
+    shift
+    LANGUAGE=fr_FR.UTF8 LANG=fr_FR.UTF8 build/src/tools/dvdomatic "$*"
+else
+    build/src/tools/dvdomatic "$*"
+fi
index d674393a98023e2e02459c1bc6b8ec6c966d2a42..77b81a658f48e9e3a5ff531bc3041879d1502aba 100644 (file)
@@ -164,7 +164,7 @@ DCPVideoFrame::encode_locally ()
        shared_ptr<Image> prepared = _input->scale_and_convert_to_rgb (_out_size, _padding, _scaler, true);
 
        if (_subtitle) {
-               Rect tx = subtitle_transformed_area (
+               dvdomatic::Rect tx = subtitle_transformed_area (
                        float (_out_size.width) / _input->size().width,
                        float (_out_size.height) / _input->size().height,
                        _subtitle->area(), _subtitle_offset, _subtitle_scale
index 5c1ad97064fd1042450b99638d21de8a62f049b5..5c2a0d0b5f31d65efacf76f4194a812c104bff3f 100644 (file)
@@ -108,13 +108,13 @@ Subtitle::Subtitle (Position p, shared_ptr<Image> i)
  *  in the coordinate space of the source.
  *  @param subtitle_scale scaling factor to apply to the subtitle image.
  */
-Rect
+dvdomatic::Rect
 subtitle_transformed_area (
        float target_x_scale, float target_y_scale,
-       Rect sub_area, int subtitle_offset, float subtitle_scale
+       dvdomatic::Rect sub_area, int subtitle_offset, float subtitle_scale
        )
 {
-       Rect tx;
+       dvdomatic::Rect tx;
 
        sub_area.y += subtitle_offset;
 
@@ -143,8 +143,8 @@ subtitle_transformed_area (
 }
 
 /** @return area that this subtitle takes up, in the original uncropped source's coordinate space */
-Rect
+dvdomatic::Rect
 Subtitle::area () const
 {
-       return Rect (_position.x, _position.y, _image->size().width, _image->size().height);
+       return dvdomatic::Rect (_position.x, _position.y, _image->size().width, _image->size().height);
 }
index 38ba4e70e0170fabd5e2a71ee2ad9eadceb5a2ee..e3a853695f0fb313f2f20f2f5e6775e359eada92 100644 (file)
@@ -46,17 +46,17 @@ public:
                return _image;
        }
 
-       Rect area () const;
+       dvdomatic::Rect area () const;
        
 private:
        Position _position;
        boost::shared_ptr<Image> _image;
 };
 
-Rect
+dvdomatic::Rect
 subtitle_transformed_area (
        float target_x_scale, float target_y_scale,
-       Rect sub_area, int subtitle_offset, float subtitle_scale
+       dvdomatic::Rect sub_area, int subtitle_offset, float subtitle_scale
        );
 
 /** A Subtitle class with details of the time over which it should be shown */
index 2f8be6edde675dc37de0c1336b7d3a406bcf61fe..b8b60c6f645415652e66d883ff68722219a62bb5 100644 (file)
@@ -637,8 +637,8 @@ Socket::read_uint32 ()
 /** @param other A Rect.
  *  @return The intersection of this with `other'.
  */
-Rect
-Rect::intersection (Rect const & other) const
+dvdomatic::Rect
+dvdomatic::Rect::intersection (Rect const & other) const
 {
        int const tx = max (x, other.x);
        int const ty = max (y, other.y);
index d0c350a563598657a0e95462455a2e30ad1674b8..3e1d7f4b407d8326adf7869c0b0e15bd8785b269 100644 (file)
@@ -44,6 +44,8 @@ extern "C" {
 #define TIMING(...)
 #endif
 
+#undef check
+
 /** The maximum number of audio channels that we can cope with */
 #define MAX_AUDIO_CHANNELS 6
 
@@ -150,6 +152,9 @@ struct Position
        int y;
 };
 
+namespace dvdomatic
+{
+       
 /** @struct Rect
  *  @brief A rectangle.
  */
@@ -185,6 +190,8 @@ struct Rect
        Rect intersection (Rect const & other) const;
 };
 
+}
+
 extern std::string crop_string (Position, libdcp::Size);
 extern int dcp_audio_sample_rate (int);
 extern std::string colour_lut_index_to_name (int index);
index ff1560f0eaa83652551b48a527d2b9264e89cf6a..e6d4471db9e99a80ef61924f80cdc7774a486af0 100644 (file)
@@ -23,6 +23,9 @@
 #ifdef __WXMSW__
 #include <shellapi.h>
 #endif
+#ifdef __WXOSX__
+#include <ApplicationServices/ApplicationServices.h>
+#endif
 #include <wx/aboutdlg.h>
 #include <wx/stdpaths.h>
 #include <wx/cmdline.h>
@@ -472,6 +475,12 @@ class App : public wxApp
                
 #ifdef DVDOMATIC_POSIX         
                unsetenv ("UBUNTU_MENUPROXY");
+#endif
+
+#ifdef __WXOSX__               
+               ProcessSerialNumber serial;
+               GetCurrentProcess (&serial);
+               TransformProcessType (&serial, kProcessTransformToForegroundApplication);
 #endif         
 
                wxInitAllImageHandlers ();
index 82490e32978d6f7362c35e7b7fac93f7d93fa272..79642af9c72ee9c3979cc29302bbbd35f1ef34ef 100644 (file)
@@ -329,7 +329,7 @@ FilmViewer::raw_to_display ()
 
                Size const cropped_size = _film->cropped_size (_film->size ());
 
-               Rect tx = subtitle_transformed_area (
+               dvdomatic::Rect tx = subtitle_transformed_area (
                        float (_film_size.width) / cropped_size.width,
                        float (_film_size.height) / cropped_size.height,
                        _raw_sub->area(), _film->subtitle_offset(), _film->subtitle_scale()
diff --git a/windows/.gtkrc-2.0 b/windows/.gtkrc-2.0
deleted file mode 100755 (executable)
index 0ea1d69..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-gtk-theme-name = "MS-Windows"
-style "user-font"
-{
-       font_name="Tahoma 8"
-}
-widget_class "*" style "user-font"
diff --git a/windows/dvdomatic.bmp b/windows/dvdomatic.bmp
deleted file mode 100644 (file)
index 0a196f7..0000000
Binary files a/windows/dvdomatic.bmp and /dev/null differ
diff --git a/windows/dvdomatic.ico b/windows/dvdomatic.ico
deleted file mode 100644 (file)
index 225008c..0000000
Binary files a/windows/dvdomatic.ico and /dev/null differ
diff --git a/windows/dvdomatic.rc b/windows/dvdomatic.rc
deleted file mode 100644 (file)
index 17790cf..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-id ICON "dvdomatic.ico"
-taskbar_icon ICON "dvdomatic_taskbar.ico"
-#include "wx-2.9/wx/msw/wx.rc"
diff --git a/windows/dvdomatic_taskbar.ico b/windows/dvdomatic_taskbar.ico
deleted file mode 100644 (file)
index f4489fa..0000000
Binary files a/windows/dvdomatic_taskbar.ico and /dev/null differ
diff --git a/windows/installer.nsi.32.in b/windows/installer.nsi.32.in
deleted file mode 100644 (file)
index b73e4f3..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-!include "MUI2.nsh"
-Name "DVD-o-matic"
-
-RequestExecutionLevel admin
-
-outFile "DVD-o-matic @version@ 32-bit Installer.exe"
-!define MUI_ICON "%resources%/dvdomatic.ico"
-!define MUI_UNICON "%resources%/dvdomatic.ico"
-!define MUI_SPECIALBITMAP "%resources%/dvdomatic.bmp"
-
-InstallDir "$PROGRAMFILES\DVD-o-matic"
-
-!insertmacro MUI_PAGE_WELCOME
-!insertmacro MUI_PAGE_LICENSE "../../COPYING"
-!insertmacro MUI_PAGE_DIRECTORY
-!insertmacro MUI_PAGE_INSTFILES
-!insertmacro MUI_PAGE_FINISH
-
-!insertmacro MUI_UNPAGE_WELCOME
-!insertmacro MUI_UNPAGE_CONFIRM
-!insertmacro MUI_UNPAGE_INSTFILES
-!insertmacro MUI_UNPAGE_FINISH
-!insertmacro MUI_LANGUAGE "English"
-
-Section "install" "Installation info"
-SetOutPath "$INSTDIR\bin"
-
-File "%deps%/bin/asdcp-libdcp.dll"
-File "%deps%/bin/avcodec-54.dll"
-File "%deps%/bin/avfilter-3.dll"
-File "%deps%/bin/avformat-54.dll"
-File "%deps%/bin/avutil-52.dll"
-File "%deps%/bin/dcp.dll"
-File "%deps%/bin/libintl-8.dll"
-File "%deps%/bin/kumu-libdcp.dll"
-File "%deps%/bin/libboost_chrono-mt.dll"
-File "%deps%/bin/libboost_filesystem-mt.dll"
-File "%deps%/bin/libboost_system-mt.dll"
-File "%deps%/bin/libboost_thread_win32-mt.dll"
-File "%deps%/bin/libboost_date_time-mt.dll"
-File "%deps%/bin/libeay32.dll"
-File "%deps%/bin/libgcc_s_sjlj-1.dll"
-File "%deps%/bin/libgio-2.0-0.dll"
-File "%deps%/bin/libglib-2.0-0.dll"
-File "%deps%/bin/libgobject-2.0-0.dll"
-File "%deps%/bin/libiconv-2.dll"
-File "%deps%/bin/libjpeg-8.dll"
-File "%deps%/bin/libMagick++-5.dll"
-File "%deps%/bin/libMagickCore-5.dll"
-File "%deps%/bin/libMagickWand-5.dll"
-File "%deps%/bin/libopenjpeg-1.dll"
-File "%deps%/bin/libpng15-15.dll"
-File "%deps%/bin/libsigc-2.0-0.dll"
-File "%deps%/bin/libsndfile-1.dll"
-File "%deps%/bin/libssh.dll"
-File "%deps%/bin/libstdc++-6.dll"
-File "%deps%/bin/postproc-52.dll"
-File "%deps%/bin/swresample-0.dll"
-File "%deps%/bin/swscale-2.dll"
-File "%deps%/bin/zlib1.dll"
-File "%deps%/bin/libjpeg-8.dll"
-File "%deps%/bin/wxbase294u_gcc_custom.dll"
-File "%deps%/bin/wxmsw294u_core_gcc_custom.dll"
-File "%deps%/bin/wxmsw294u_adv_gcc_custom.dll"
-File "%deps%/bin/libcairo-2.dll"
-File "%deps%/bin/libfreetype-6.dll"
-File "%deps%/bin/libgthread-2.0-0.dll"
-File "%deps%/bin/libpango-1.0-0.dll"
-File "%deps%/bin/libgmodule-2.0-0.dll"
-File "%deps%/bin/libpangocairo-1.0-0.dll"
-File "%deps%/bin/libpangowin32-1.0-0.dll"
-File "%deps%/bin/libtiff-5.dll"
-File "%deps%/bin/libglibmm-2.4-1.dll"
-File "%deps%/bin/libxml++-2.6-2.dll"
-File "%deps%/bin/libxml2-2.dll"
-File "%deps%/bin/libpixman-1-0.dll"
-File "%deps%/bin/libfontconfig-1.dll"
-File "%deps%/bin/libexpat-1.dll"
-File "%deps%/bin/libbz2.dll"
-
-File "%binaries%/src/wx/dvdomatic-wx.dll"
-File "%binaries%/src/lib/dvdomatic.dll"
-File "%binaries%/src/tools/dvdomatic.exe"
-File "%binaries%/src/tools/dvdomatic_batch.exe"
-File "%binaries%/src/tools/servomatic_cli.exe"
-File "%binaries%/src/tools/servomatic_gui.exe"
-
-# I don't know why, but sometimes it seems that 
-# delegates.xml must be in with the binaries, and
-# sometimes in the $PROFILE.  Meh.
-File "%deps%/etc/ImageMagick/delegates.xml"
-SetOutPath "$PROFILE\.magick"
-File "%deps%/etc/ImageMagick/delegates.xml"
-
-SetOutPath "$INSTDIR\locale\fr\LC_MESSAGES"
-File "%binaries%/src/lib/mo/fr_FR/libdvdomatic.mo"
-File "%binaries%/src/wx/mo/fr_FR/libdvdomatic-wx.mo"
-File "%binaries%/src/tools/mo/fr_FR/dvdomatic.mo"
-SetOutPath "$INSTDIR\locale\it\LC_MESSAGES"
-File "%binaries%/src/lib/mo/it_IT/libdvdomatic.mo"
-File "%binaries%/src/wx/mo/it_IT/libdvdomatic-wx.mo"
-File "%binaries%/src/tools/mo/it_IT/dvdomatic.mo"
-SetOutPath "$INSTDIR\locale\es\LC_MESSAGES"
-File "%binaries%/src/lib/mo/es_ES/libdvdomatic.mo"
-File "%binaries%/src/wx/mo/es_ES/libdvdomatic-wx.mo"
-File "%binaries%/src/tools/mo/es_ES/dvdomatic.mo"
-SetOutPath "$INSTDIR\locale\sv\LC_MESSAGES"
-File "%binaries%/src/lib/mo/sv_SE/libdvdomatic.mo"
-File "%binaries%/src/wx/mo/sv_SE/libdvdomatic-wx.mo"
-File "%binaries%/src/tools/mo/sv_SE/dvdomatic.mo"
-
-CreateShortCut "$DESKTOP\DVD-o-matic.lnk" "$INSTDIR\bin\dvdomatic.exe" ""
-CreateShortCut "$DESKTOP\DVD-o-matic batch converter.lnk" "$INSTDIR\bin\dvdomatic_batch.exe" ""
-CreateShortCut "$DESKTOP\DVD-o-matic encode server.lnk" "$INSTDIR\bin\servomatic_gui.exe" ""
-CreateDirectory "$SMPROGRAMS\DVD-o-matic"
-CreateShortCut "$SMPROGRAMS\DVD-o-matic\Uninstall DVD-o-matic.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
-CreateShortCut "$SMPROGRAMS\DVD-o-matic\DVD-o-matic.lnk" "$INSTDIR\bin\dvdomatic.exe" "" "$INSTDIR\bin\dvdomatic.exe" 0
-CreateShortCut "$SMPROGRAMS\DVD-o-matic\DVD-o-matic batch converter.lnk" "$INSTDIR\bin\dvdomatic_batch.exe" "" "$INSTDIR\bin\dvdomatic_batch.exe" 0
-CreateShortCut "$SMPROGRAMS\DVD-o-matic\DVD-o-matic encode server.lnk" "$INSTDIR\bin\servomatic_gui.exe" "" "$INSTDIR\bin\servomatic_gui.exe" 0
-WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DVD-o-matic" "DisplayName" "DVD-o-matic (remove only)"
-WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DVD-o-matic" "UninstallString" "$INSTDIR\Uninstall.exe"
-WriteUninstaller "$INSTDIR\Uninstall.exe"
-SectionEnd
-Section "Uninstall"
-RMDir /r "$INSTDIR\*.*"    
-RMDir "$INSTDIR"
-Delete "$DESKTOP\DVD-o-matic.lnk"
-Delete "$DESKTOP\DVD-o-matic bach converter.lnk"
-Delete "$DESKTOP\DVD-o-matic encode server.lnk"
-Delete "$SMPROGRAMS\DVD-o-matic\*.*"
-RmDir  "$SMPROGRAMS\DVD-o-matic"
-DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\DVD-o-matic"
-DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DVD-o-matic"
-SectionEnd
diff --git a/windows/installer.nsi.64.in b/windows/installer.nsi.64.in
deleted file mode 100644 (file)
index f499c46..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-!include "MUI2.nsh"
-!include "x64.nsh"
-
-Name "DVD-o-matic"
-
-RequestExecutionLevel admin
-
-outFile "DVD-o-matic @version@ 64-bit Installer.exe"
-!define MUI_ICON "%resources%/dvdomatic.ico"
-!define MUI_UNICON "%resources%/dvdomatic.ico"
-!define MUI_SPECIALBITMAP "%resources%/dvdomatic.bmp"
-
-InstallDir "$PROGRAMFILES\DVD-o-matic"
-
-!insertmacro MUI_PAGE_WELCOME
-!insertmacro MUI_PAGE_LICENSE "../../COPYING"
-!insertmacro MUI_PAGE_DIRECTORY
-!insertmacro MUI_PAGE_INSTFILES
-!insertmacro MUI_PAGE_FINISH
-
-!insertmacro MUI_UNPAGE_WELCOME
-!insertmacro MUI_UNPAGE_CONFIRM
-!insertmacro MUI_UNPAGE_INSTFILES
-!insertmacro MUI_UNPAGE_FINISH
-!insertmacro MUI_LANGUAGE "English"
-
-Section "install" "Installation info"
-
-${If} ${RunningX64}
-   DetailPrint "Installer running on 64-bit host"
-   ; disable registry redirection (enable access to 64-bit portion of registry)
-   SetRegView 64
-   ; change install dir
-   StrCpy $INSTDIR "$PROGRAMFILES64\DVD-o-matic"
-${EndIf}
-
-SetOutPath "$INSTDIR\bin"
-
-File "%deps%/bin/asdcp-libdcp.dll"
-File "%deps%/bin/avcodec-54.dll"
-File "%deps%/bin/avfilter-3.dll"
-File "%deps%/bin/avformat-54.dll"
-File "%deps%/bin/avutil-52.dll"
-File "%deps%/bin/dcp.dll"
-File "%deps%/bin/libintl-8.dll"
-File "%deps%/bin/kumu-libdcp.dll"
-File "%deps%/bin/libboost_chrono-mt.dll"
-File "%deps%/bin/libboost_filesystem-mt.dll"
-File "%deps%/bin/libboost_system-mt.dll"
-File "%deps%/bin/libboost_thread_win32-mt.dll"
-File "%deps%/bin/libboost_date_time-mt.dll"
-File "%deps%/bin/libeay32.dll"
-File "%deps%/bin/libgcc_s_sjlj-1.dll"
-File "%deps%/bin/libgio-2.0-0.dll"
-File "%deps%/bin/libglib-2.0-0.dll"
-File "%deps%/bin/libgobject-2.0-0.dll"
-File "%deps%/bin/libiconv-2.dll"
-File "%deps%/bin/libjpeg-8.dll"
-File "%deps%/bin/libMagick++-5.dll"
-File "%deps%/bin/libMagickCore-5.dll"
-File "%deps%/bin/libMagickWand-5.dll"
-File "%deps%/bin/libopenjpeg-1.dll"
-File "%deps%/bin/libpng15-15.dll"
-File "%deps%/bin/libsigc-2.0-0.dll"
-File "%deps%/bin/libsndfile-1.dll"
-File "%deps%/bin/libssh.dll"
-File "%deps%/bin/libstdc++-6.dll"
-File "%deps%/bin/postproc-52.dll"
-File "%deps%/bin/swresample-0.dll"
-File "%deps%/bin/swscale-2.dll"
-File "%deps%/bin/zlib1.dll"
-File "%deps%/bin/libjpeg-8.dll"
-File "%deps%/bin/wxbase294u_gcc_custom.dll"
-File "%deps%/bin/wxmsw294u_core_gcc_custom.dll"
-File "%deps%/bin/wxmsw294u_adv_gcc_custom.dll"
-File "%deps%/bin/libcairo-2.dll"
-File "%deps%/bin/libfreetype-6.dll"
-File "%deps%/bin/libgthread-2.0-0.dll"
-File "%deps%/bin/libpango-1.0-0.dll"
-File "%deps%/bin/libgmodule-2.0-0.dll"
-File "%deps%/bin/libpangocairo-1.0-0.dll"
-File "%deps%/bin/libpangowin32-1.0-0.dll"
-File "%deps%/bin/libtiff-5.dll"
-File "%deps%/bin/libglibmm-2.4-1.dll"
-File "%deps%/bin/libxml++-2.6-2.dll"
-File "%deps%/bin/libxml2-2.dll"
-File "%deps%/bin/libpixman-1-0.dll"
-File "%deps%/bin/libfontconfig-1.dll"
-File "%deps%/bin/libexpat-1.dll"
-File "%deps%/bin/libbz2.dll"
-
-File "%binaries%/src/wx/dvdomatic-wx.dll"
-File "%binaries%/src/lib/dvdomatic.dll"
-File "%binaries%/src/tools/dvdomatic.exe"
-File "%binaries%/src/tools/dvdomatic_batch.exe"
-File "%binaries%/src/tools/servomatic_cli.exe"
-File "%binaries%/src/tools/servomatic_gui.exe"
-
-# I don't know why, but sometimes it seems that 
-# delegates.xml must be in with the binaries, and
-# sometimes in the $PROFILE.  Meh.
-File "%deps%/etc/ImageMagick/delegates.xml"
-SetOutPath "$PROFILE\.magick"
-File "%deps%/etc/ImageMagick/delegates.xml"
-
-SetOutPath "$INSTDIR\locale\fr\LC_MESSAGES"
-File "%binaries%/src/lib/mo/fr_FR/libdvdomatic.mo"
-File "%binaries%/src/wx/mo/fr_FR/libdvdomatic-wx.mo"
-File "%binaries%/src/tools/mo/fr_FR/dvdomatic.mo"
-SetOutPath "$INSTDIR\locale\it\LC_MESSAGES"
-File "%binaries%/src/lib/mo/it_IT/libdvdomatic.mo"
-File "%binaries%/src/wx/mo/it_IT/libdvdomatic-wx.mo"
-File "%binaries%/src/tools/mo/it_IT/dvdomatic.mo"
-SetOutPath "$INSTDIR\locale\es\LC_MESSAGES"
-File "%binaries%/src/lib/mo/es_ES/libdvdomatic.mo"
-File "%binaries%/src/wx/mo/es_ES/libdvdomatic-wx.mo"
-File "%binaries%/src/tools/mo/es_ES/dvdomatic.mo"
-SetOutPath "$INSTDIR\locale\sv\LC_MESSAGES"
-File "%binaries%/src/lib/mo/sv_SE/libdvdomatic.mo"
-File "%binaries%/src/wx/mo/sv_SE/libdvdomatic-wx.mo"
-File "%binaries%/src/tools/mo/sv_SE/dvdomatic.mo"
-
-CreateShortCut "$DESKTOP\DVD-o-matic.lnk" "$INSTDIR\bin\dvdomatic.exe" ""
-CreateShortCut "$DESKTOP\DVD-o-matic batch converter.lnk" "$INSTDIR\bin\dvdomatic_batch.exe" ""
-CreateShortCut "$DESKTOP\DVD-o-matic encode server.lnk" "$INSTDIR\bin\servomatic_gui.exe" ""
-CreateDirectory "$SMPROGRAMS\DVD-o-matic"
-CreateShortCut "$SMPROGRAMS\DVD-o-matic\Uninstall DVD-o-matic.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
-CreateShortCut "$SMPROGRAMS\DVD-o-matic\DVD-o-matic.lnk" "$INSTDIR\bin\dvdomatic.exe" "" "$INSTDIR\bin\dvdomatic.exe" 0
-CreateShortCut "$SMPROGRAMS\DVD-o-matic\DVD-o-matic batch converter.lnk" "$INSTDIR\bin\dvdomatic.exe" "" "$INSTDIR\bin\dvdomatic_batch.exe" 0
-CreateShortCut "$SMPROGRAMS\DVD-o-matic\DVD-o-matic encode server.lnk" "$INSTDIR\bin\servomatic_gui.exe" "" "$INSTDIR\bin\servomatic_gui.exe" 0
-WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DVD-o-matic" "DisplayName" "DVD-o-matic (remove only)"
-WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DVD-o-matic" "UninstallString" "$INSTDIR\Uninstall.exe"
-WriteUninstaller "$INSTDIR\Uninstall.exe"
-SectionEnd
-Section "Uninstall"
-RMDir /r "$INSTDIR\*.*"    
-RMDir "$INSTDIR"
-Delete "$DESKTOP\DVD-o-matic.lnk"
-Delete "$DESKTOP\DVD-o-matic batch converter.lnk"
-Delete "$DESKTOP\DVD-o-matic encode server.lnk"
-Delete "$SMPROGRAMS\DVD-o-matic\*.*"
-RmDir  "$SMPROGRAMS\DVD-o-matic"
-DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\DVD-o-matic"
-DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DVD-o-matic"
-SectionEnd
diff --git a/windows/wscript b/windows/wscript
deleted file mode 100644 (file)
index 585cebe..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-def build(bld):
-    bld.new_task_gen(features = 'subst', source = 'installer.nsi.32.in', target = 'installer.32.nsi', version = bld.env.VERSION)
-    bld.new_task_gen(features = 'subst', source = 'installer.nsi.64.in', target = 'installer.64.nsi', version = bld.env.VERSION)
-    
diff --git a/wscript b/wscript
index b5676ba5bdb30988d6db07e6d0f29f6a95e9ff39..86ed07b1b5a3fb9151ffa7970e60cf4825e6df33 100644 (file)
--- a/wscript
+++ b/wscript
@@ -192,7 +192,7 @@ def build(bld):
     bld.recurse('src')
     bld.recurse('test')
     if bld.env.TARGET_WINDOWS:
-        bld.recurse('windows')
+        bld.recurse('platform/windows')
 
     d = { 'PREFIX' : '${PREFIX' }