Merge tag 'v2.16.79' into v2.17.x
authorCarl Hetherington <cth@carlh.net>
Wed, 20 Mar 2024 22:12:55 +0000 (23:12 +0100)
committerCarl Hetherington <cth@carlh.net>
Wed, 20 Mar 2024 22:12:55 +0000 (23:12 +0100)
18 files changed:
DEVELOP.md
cscript
graphics/link.png [deleted file]
graphics/link_black.png [new file with mode: 0644]
graphics/link_white.png [new file with mode: 0644]
graphics/src/link_black.svg [new file with mode: 0644]
graphics/src/link_white.svg [new file with mode: 0644]
graphics/update
graphics/wscript
platform/osx/copy_resources.sh
platform/osx/make_dmg.sh
platform/windows/wscript
src/lib/digester.cc
src/wx/content_menu.cc
src/wx/supporters.cc
src/wx/verify_dcp_dialog.cc
src/wx/video_panel.cc
src/wx/wx_util.cc

index be8ed61e6891d2e30dbdd351cb3bd00d0f0be5bd..51b63ff5c3382ff56b0a75edabf09b8b6c5e8648 100644 (file)
@@ -4,6 +4,16 @@ This file collects a few notes relevant to DCP-o-matic developers.  There is als
 [on the web site](https://dcpomatic.com/development).
 
 
+## Building on macOS/arm64
+
+Build `osx-environment` in `$HOME`
+```
+bash platform/osx/copy_resources.sh
+source platform/osx/set_paths.sh
+./waf configure --target-macos-arm64
+```
+
+
 ## Disk writer logging
 
 As we have no `film' folder to log to during disk writes, the logs end up:
diff --git a/cscript b/cscript
index 08907c1d83ed5ff28dcb20e0a4a9f406a54abb8c..b75bb83206c637fd90bdc10ef1f7e6f2f53e1f6e 100644 (file)
--- a/cscript
+++ b/cscript
@@ -457,7 +457,8 @@ def make_spec(filename, version, target, options, requires=None):
     print('%{_datadir}/dcpomatic2/zoom_black.png', file=f)
     print('%{_datadir}/dcpomatic2/zoom_all_white.png', file=f)
     print('%{_datadir}/dcpomatic2/zoom_all_black.png', file=f)
-    print('%{_datadir}/dcpomatic2/link.png', file=f)
+    print('%{_datadir}/dcpomatic2/link_black.png', file=f)
+    print('%{_datadir}/dcpomatic2/link_white.png', file=f)
     print('%{_datadir}/dcpomatic2/me.jpg', file=f)
     print('%{_datadir}/dcpomatic2/add_black.png', file=f)
     print('%{_datadir}/dcpomatic2/add_white.png', file=f)
diff --git a/graphics/link.png b/graphics/link.png
deleted file mode 100644 (file)
index 3249d37..0000000
Binary files a/graphics/link.png and /dev/null differ
diff --git a/graphics/link_black.png b/graphics/link_black.png
new file mode 100644 (file)
index 0000000..3249d37
Binary files /dev/null and b/graphics/link_black.png differ
diff --git a/graphics/link_white.png b/graphics/link_white.png
new file mode 100644 (file)
index 0000000..274e47a
Binary files /dev/null and b/graphics/link_white.png differ
diff --git a/graphics/src/link_black.svg b/graphics/src/link_black.svg
new file mode 100644 (file)
index 0000000..00d4f6b
--- /dev/null
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="40.736046mm"
+   height="72.459007mm"
+   viewBox="0 0 40.736045 72.459008"
+   version="1.1"
+   id="svg8"
+   inkscape:version="1.1.1 (3bf5ae0, 2021-09-20)"
+   sodipodi:docname="link_black.svg"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:dc="http://purl.org/dc/elements/1.1/">
+  <defs
+     id="defs2" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.979899"
+     inkscape:cx="30.052038"
+     inkscape:cy="107.58125"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1920"
+     inkscape:window-height="1048"
+     inkscape:window-x="1920"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     fit-margin-top="1"
+     fit-margin-left="1"
+     fit-margin-right="1"
+     fit-margin-bottom="1"
+     inkscape:pagecheckerboard="0" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-43.172802,-2.2134689)">
+    <g
+       id="g11"
+       transform="matrix(-3.0676153e-5,-1.0020549,1.0020464,-0.00413633,25.020746,102.13853)"
+       style="stroke-width:0.99795336">
+      <path
+         sodipodi:nodetypes="ccsccccccscscccccsssccc"
+         inkscape:connector-curvature="0"
+         id="rect819"
+         d="m 65.199219,27.601562 0.3125,0.01172 c 0,0 -1.921609,-0.08686 -3.953125,0.625 -2.031517,0.711861 -4.556382,2.227912 -6.824219,5.013672 l 6.205078,5.050781 c 1.370276,-1.683216 2.525799,-2.25443 3.265625,-2.513672 0.739826,-0.259241 0.679688,-0.199218 0.679688,-0.199218 l 0.15625,0.01172 h 19.550781 c 2.172037,0.06924 3.36417,0.821834 4.335937,2.03125 0.973224,1.211229 1.583731,3.040311 1.589844,4.931641 0.0061,1.89133 -0.59167,3.751118 -1.582031,5.015625 -0.986061,1.259016 -2.231578,2.067616 -4.441406,2.205078 h -15.51516 l -3.779762,8 h 19.626953 l 0.11914,-0.0078 c 4.347056,-0.25782 8.013718,-2.360449 10.289063,-5.26564 2.275345,-2.905192 3.294538,-6.465865 3.283203,-9.972657 C 98.506244,39.032271 97.46527,35.48507 95.164062,32.621094 92.862855,29.757118 89.15903,27.737178 84.832031,27.603516 l -0.0625,-0.002 z"
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.98362684;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <path
+         sodipodi:nodetypes="ccscscccccccccccscscccc"
+         inkscape:connector-curvature="0"
+         id="rect819-7"
+         d="m 41.986328,19.101562 -0.117187,0.0059 c -4.347056,0.257804 -8.013718,2.360434 -10.289063,5.265625 -2.275345,2.905191 -3.296491,6.467818 -3.285156,9.974609 0.01133,3.506791 1.054262,7.05204 3.355469,9.916016 2.301207,2.863976 6.005032,4.885869 10.332031,5.019531 l 0.0625,0.002 h 19.570312 l -0.3125,-0.01172 c 0,0 1.921609,0.08491 3.953125,-0.626954 2.031517,-0.711861 4.556382,-2.227911 6.824219,-5.013672 L 65.875,38.582031 c -1.370276,1.683217 -2.525798,2.256384 -3.265625,2.515625 -0.739827,0.259242 -0.681641,0.199219 -0.681641,0.199219 l -0.15625,-0.01172 H 42.220703 c -2.172033,-0.06924 -3.362218,-0.821835 -4.333984,-2.03125 -0.973223,-1.211229 -1.585684,-3.04031 -1.591797,-4.93164 -0.0061,-1.891331 0.59167,-3.751118 1.582031,-5.015625 0.984624,-1.257182 2.229804,-2.06585 4.433594,-2.205079 h 14.957961 l 4.346726,-8 z"
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.98362684;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    </g>
+  </g>
+</svg>
diff --git a/graphics/src/link_white.svg b/graphics/src/link_white.svg
new file mode 100644 (file)
index 0000000..e16a2a2
--- /dev/null
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="40.736046mm"
+   height="72.459007mm"
+   viewBox="0 0 40.736045 72.459008"
+   version="1.1"
+   id="svg8"
+   inkscape:version="1.1.1 (3bf5ae0, 2021-09-20)"
+   sodipodi:docname="link_white.svg"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:dc="http://purl.org/dc/elements/1.1/">
+  <defs
+     id="defs2" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#000000"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.979899"
+     inkscape:cx="30.052038"
+     inkscape:cy="107.58125"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1920"
+     inkscape:window-height="1048"
+     inkscape:window-x="1920"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     fit-margin-top="1"
+     fit-margin-left="1"
+     fit-margin-right="1"
+     fit-margin-bottom="1"
+     inkscape:pagecheckerboard="true" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-43.172802,-2.2134689)">
+    <g
+       id="g11"
+       transform="matrix(-3.0676153e-5,-1.0020549,1.0020464,-0.00413633,25.020746,102.13853)"
+       style="stroke-width:0.99795336;fill:#ffffff">
+      <path
+         sodipodi:nodetypes="ccsccccccscscccccsssccc"
+         inkscape:connector-curvature="0"
+         id="rect819"
+         d="m 65.199219,27.601562 0.3125,0.01172 c 0,0 -1.921609,-0.08686 -3.953125,0.625 -2.031517,0.711861 -4.556382,2.227912 -6.824219,5.013672 l 6.205078,5.050781 c 1.370276,-1.683216 2.525799,-2.25443 3.265625,-2.513672 0.739826,-0.259241 0.679688,-0.199218 0.679688,-0.199218 l 0.15625,0.01172 h 19.550781 c 2.172037,0.06924 3.36417,0.821834 4.335937,2.03125 0.973224,1.211229 1.583731,3.040311 1.589844,4.931641 0.0061,1.89133 -0.59167,3.751118 -1.582031,5.015625 -0.986061,1.259016 -2.231578,2.067616 -4.441406,2.205078 h -15.51516 l -3.779762,8 h 19.626953 l 0.11914,-0.0078 c 4.347056,-0.25782 8.013718,-2.360449 10.289063,-5.26564 2.275345,-2.905192 3.294538,-6.465865 3.283203,-9.972657 C 98.506244,39.032271 97.46527,35.48507 95.164062,32.621094 92.862855,29.757118 89.15903,27.737178 84.832031,27.603516 l -0.0625,-0.002 z"
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.98362684;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <path
+         sodipodi:nodetypes="ccscscccccccccccscscccc"
+         inkscape:connector-curvature="0"
+         id="rect819-7"
+         d="m 41.986328,19.101562 -0.117187,0.0059 c -4.347056,0.257804 -8.013718,2.360434 -10.289063,5.265625 -2.275345,2.905191 -3.296491,6.467818 -3.285156,9.974609 0.01133,3.506791 1.054262,7.05204 3.355469,9.916016 2.301207,2.863976 6.005032,4.885869 10.332031,5.019531 l 0.0625,0.002 h 19.570312 l -0.3125,-0.01172 c 0,0 1.921609,0.08491 3.953125,-0.626954 2.031517,-0.711861 4.556382,-2.227911 6.824219,-5.013672 L 65.875,38.582031 c -1.370276,1.683217 -2.525798,2.256384 -3.265625,2.515625 -0.739827,0.259242 -0.681641,0.199219 -0.681641,0.199219 l -0.15625,-0.01172 H 42.220703 c -2.172033,-0.06924 -3.362218,-0.821835 -4.333984,-2.03125 -0.973223,-1.211229 -1.585684,-3.04031 -1.591797,-4.93164 -0.0061,-1.891331 0.59167,-3.751118 1.582031,-5.015625 0.984624,-1.257182 2.229804,-2.06585 4.433594,-2.205079 h 14.957961 l 4.346726,-8 z"
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.98362684;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    </g>
+  </g>
+</svg>
index c63fa8835108225f38a17aa43d1b2cc3a6f961e5..46964470ba039c7f11852143ba6ab6b6c731920d 100755 (executable)
@@ -109,7 +109,9 @@ else
     done
 
     # Link icon
-    $INKSCAPE_EXPORT --export-filename=link.png src/link.svg -w 9 -h 16
+    for c in black white; do
+        $INKSCAPE_EXPORT --export-filename=link_$c.png src/link_$c.svg -w 9 -h 16
+    done
 
     # favicon
     mkdir -p web
index 7937a389adec29d66b0e669be89af4680c683f7c..663e282875d0275d92cea7e48157ad5e5ea3d2b0 100644 (file)
@@ -51,7 +51,8 @@ def build(bld):
             'zoom_all_white.png',
             'zoom_all_black.png',
             'me.jpg',
-            'link.png',
+            'link_white.png',
+            'link_black.png',
             'add_black.png',
             'add_white.png',
             'pause_black.png',
index 82ca60de990c72d77d4ed7e42a8ca46eff8fc3d0..06b6e59854492e4aeaefa7b34f57f29f4037246d 100644 (file)
@@ -1,7 +1,4 @@
 mkdir -p build/src/Resources
 cp -r ../libdcp/{tags,xsd,ratings} build/src/Resources
-cp graphics/{link,splash}.png build/src/Resources
-cp graphics/{select,snap,sequence,zoom,zoom_all}.png build/src/Resources
-cp graphics/osx/preferences/*.png build/src/Resources
 cp fonts/*.ttf build/src/Resources
 ln -s $(which openssl) build/src/tools/openssl
index 9f9cbdd37417f01d02b138497cf691bbd6af67e6..6498254e57155f151a88951234947ffe86eaba24 100644 (file)
@@ -252,7 +252,7 @@ function copy_resources {
     cp $prefix/src/dcpomatic/graphics/snap*.png "$dest"
     cp $prefix/src/dcpomatic/graphics/sequence*.png "$dest"
     cp $prefix/src/dcpomatic/graphics/me.jpg "$dest"
-    cp $prefix/src/dcpomatic/graphics/link.png "$dest"
+    cp $prefix/src/dcpomatic/graphics/link*.png "$dest"
     cp $prefix/src/dcpomatic/graphics/add*.png "$dest"
     cp $prefix/src/dcpomatic/graphics/pause*.png "$dest"
     cp -r $prefix/share/libdcp/xsd "$dest"
index 5af8ca08a5238534b8e237c401a967350a76bdbe..adbd1b0efa41a7adcefcb843d5929d777698fd51 100644 (file)
@@ -340,7 +340,8 @@ File "%graphics%/snap_black.png"
 File "%graphics%/sequence_white.png"
 File "%graphics%/sequence_black.png"
 File "%graphics%/me.jpg"
-File "%graphics%/link.png"
+File "%graphics%/link_white.png"
+File "%graphics%/link_black.png"
 File "%graphics%/add_black.png"
 File "%graphics%/add_white.png"
 File "%graphics%/pause_black.png"
index 8542c75a13358a0a97dc9c2fa51e5c86c63ec8b4..09214c3de91a475add046d6f88597523f24d5b0e 100644 (file)
@@ -67,7 +67,7 @@ Digester::get () const
 
                char hex[MD5_DIGEST_SIZE * 2 + 1];
                for (int i = 0; i < MD5_DIGEST_SIZE; ++i) {
-                       sprintf(hex + i * 2, "%02x", digest[i]);
+                       snprintf(hex + i * 2, MD5_DIGEST_SIZE * 2 + 1, "%02x", digest[i]);
                }
 
                _digest = hex;
index 9c50d56dab76f49cf2969b44f91de0f59391ce78..92a68e3b3e8df435a644118e2947ac254f10e453 100644 (file)
@@ -520,15 +520,11 @@ ContentMenu::cpl_selected (wxCommandEvent& ev)
        DCPOMATIC_ASSERT (dcp);
 
        auto cpls = dcp::find_and_resolve_cpls (dcp->directories(), true);
-       DCPOMATIC_ASSERT (ev.GetId() > 0);
-       DCPOMATIC_ASSERT (ev.GetId() <= int (cpls.size()));
 
-       auto i = cpls.begin ();
-       for (int j = 0; j < ev.GetId() - 1; ++j) {
-               ++i;
-       }
+       DCPOMATIC_ASSERT(ev.GetId() >= DCPOMATIC_CPL_MENU);
+       DCPOMATIC_ASSERT(ev.GetId() < int(DCPOMATIC_CPL_MENU + cpls.size()));
+       dcp->set_cpl(cpls[ev.GetId() - DCPOMATIC_CPL_MENU]->id());
 
-       dcp->set_cpl ((*i)->id ());
        auto film = _film.lock ();
        DCPOMATIC_ASSERT (film);
        JobManager::instance()->add (make_shared<ExamineContentJob>(film, dcp));
index 260081fe3464dbae08438b0a2a74b928b2733740..711b6bbad505179861a4af3ea98c09aac4dae82a 100644 (file)
@@ -255,6 +255,7 @@ supported_by.Add (wxT ("Baptiste Darricarrère"));
 supported_by.Add (wxT ("JP Davidson"));
 supported_by.Add (wxT ("Carl Davis"));
 supported_by.Add (wxT ("Levi Davis"));
+supported_by.Add (wxT ("James Davis"));
 supported_by.Add (wxT ("Stephen Day"));
 supported_by.Add (wxT ("Criolla DCP"));
 supported_by.Add (wxT ("Cinéma de la Neuveville"));
@@ -455,6 +456,7 @@ supported_by.Add (wxT ("Silvio Giuliano"));
 supported_by.Add (wxT ("Cine Complete GmbH"));
 supported_by.Add (wxT ("CIDCOM Werbeagentur GmbH"));
 supported_by.Add (wxT ("Filmtheaterbetriebe Klein GmbH"));
+supported_by.Add (wxT ("Konnektom GmbH"));
 supported_by.Add (wxT ("Artus Postproduktion GmbH"));
 supported_by.Add (wxT ("ProCinema GmbH"));
 supported_by.Add (wxT ("Urakypost GmbH"));
@@ -697,6 +699,7 @@ supported_by.Add (wxT ("Olivier Lemaire"));
 supported_by.Add (wxT ("Tekanov Leonid"));
 supported_by.Add (wxT ("Eric Lesachet"));
 supported_by.Add (wxT ("Elmer Leupen"));
+supported_by.Add (wxT ("Jason Levangie"));
 supported_by.Add (wxT ("Gavin Lewarne"));
 supported_by.Add (wxT ("Peter Liacopoulos"));
 supported_by.Add (wxT ("Peter Liermann"));
@@ -732,6 +735,7 @@ supported_by.Add (wxT ("Fennworld LLC"));
 supported_by.Add (wxT ("The Gem LLC"));
 supported_by.Add (wxT ("ColabDM Productions LLP"));
 supported_by.Add (wxT ("Marco Löber"));
+supported_by.Add (wxT ("Sergio Lobo-Navia"));
 supported_by.Add (wxT ("LoïcK!"));
 supported_by.Add (wxT ("Kwen In London"));
 supported_by.Add (wxT ("London48HFP"));
@@ -903,6 +907,7 @@ supported_by.Add (wxT ("Anders Olsson"));
 supported_by.Add (wxT ("Didier Oriol"));
 supported_by.Add (wxT ("Kevin Orman"));
 supported_by.Add (wxT ("George Orr"));
+supported_by.Add (wxT ("orwoid.com"));
 supported_by.Add (wxT ("Danilo Marichal Osorio"));
 supported_by.Add (wxT ("Norbert Ostendorf"));
 supported_by.Add (wxT ("Peter Östlund"));
@@ -1020,6 +1025,7 @@ supported_by.Add (wxT ("Robin Rippmann"));
 supported_by.Add (wxT ("Ronnie Riskalla"));
 supported_by.Add (wxT ("Jimena Villarroel Rivadeneira"));
 supported_by.Add (wxT ("Rafa Rivera"));
+supported_by.Add (wxT ("Cherie Rivers"));
 supported_by.Add (wxT ("Robbie Robertson"));
 supported_by.Add (wxT ("Charlotte Robinson"));
 supported_by.Add (wxT ("Fernando Rocha"));
@@ -1151,7 +1157,9 @@ supported_by.Add (wxT ("Patrik Strömdahl"));
 supported_by.Add (wxT ("Francois Stuck"));
 supported_by.Add (wxT ("The Playroom Recording Studio"));
 supported_by.Add (wxT ("Yum Studio"));
+supported_by.Add (wxT ("JLM Studios"));
 supported_by.Add (wxT ("Open Gate Studios"));
+supported_by.Add (wxT ("Seelie Studios"));
 supported_by.Add (wxT ("Raggio Verde Subtitles"));
 supported_by.Add (wxT ("Michael Suesterhenn"));
 supported_by.Add (wxT ("Christian Suhren"));
@@ -1185,6 +1193,7 @@ supported_by.Add (wxT ("Peter Hoopes for the Everett Theatre"));
 supported_by.Add (wxT ("The Concrete Theatre"));
 supported_by.Add (wxT ("Texas Theatre"));
 supported_by.Add (wxT ("Rodeo Drive-In Theatre"));
+supported_by.Add (wxT ("Ralph Thiekötter"));
 supported_by.Add (wxT ("Carlo Thiel"));
 supported_by.Add (wxT ("Nicholas Thiele"));
 supported_by.Add (wxT ("Jamie Thomas"));
@@ -1216,6 +1225,7 @@ supported_by.Add (wxT ("Stephen Tyler"));
 supported_by.Add (wxT ("Oles Tytokhod"));
 supported_by.Add (wxT ("Michael Ude"));
 supported_by.Add (wxT ("Mediakomitee UG"));
+supported_by.Add (wxT ("Tor Uglum"));
 supported_by.Add (wxT ("Bjørn Uhrbrand"));
 supported_by.Add (wxT ("Cinema Metropolis Umbertide"));
 supported_by.Add (wxT ("Anthony Urgo"));
@@ -1285,6 +1295,7 @@ supported_by.Add (wxT ("Mikael Wiström"));
 supported_by.Add (wxT ("Wolfgang Woehl"));
 supported_by.Add (wxT ("Nicolai Wolf"));
 supported_by.Add (wxT ("Chi Kong Wong"));
+supported_by.Add (wxT ("Simon Wood"));
 supported_by.Add (wxT ("Andrew Woodward"));
 supported_by.Add (wxT ("Woody/mC"));
 supported_by.Add (wxT ("Jeremy Wooldridge"));
index 2b108c9451de0f1b4c3bd3cb5d9680a01daf2e4d..c77f68ea1dc2c7ea1baec1cbbf064d89cfa3963d 100644 (file)
@@ -130,12 +130,13 @@ VerifyDCPDialog::VerifyDCPDialog (wxWindow* parent, shared_ptr<VerifyDCPJob> job
        if (job->finished_in_error() && job->error_summary() != "") {
                /* We have an error that did not come from dcp::verify */
                add_bullet (dcp::VerificationNote::Type::ERROR, std_to_wx(job->error_summary()));
+               ++counts[dcp::VerificationNote::Type::ERROR];
        }
 
        for (auto i: job->notes()) {
                switch (i.code()) {
                case dcp::VerificationNote::Code::FAILED_READ:
-                       add (i, std_to_wx(*i.note()));
+                       add (i, _("Could not read DCP (%n)"));
                        break;
                case dcp::VerificationNote::Code::MISMATCHED_CPL_HASHES:
                        add(i, _("The hash (%reference_hash) of the CPL %n in the PKL does not agree with the CPL file (%calculated_hash).  This probably means that the CPL file is corrupt."));
index 0280f16a0525b585e79891c84b194e7feba03297..5a91df8feb4a8fa9ad3e849a530f01e5c22f9687 100644 (file)
@@ -100,7 +100,7 @@ VideoPanel::create ()
        int const link_height = 32;
 #elif defined(DCPOMATIC_OSX)
        int const crop_width = 56;
-       int const link_width = 23;
+       int const link_width = 8 + 15 / dpi_scale_factor(this);
        int const link_height = 28;
 #else
        int const crop_width = 56;
@@ -119,8 +119,10 @@ VideoPanel::create ()
                boost::bind (&VideoPanel::left_crop_changed, this)
                );
 
+       auto const link_path = bitmap_path(gui_is_dark() ? "link_white.png" : "link_black.png");
+
        _left_right_link = new wxToggleButton (this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(link_width, link_height));
-       _left_right_link->SetBitmap (wxBitmap(bitmap_path("link.png"), wxBITMAP_TYPE_PNG));
+       _left_right_link->SetBitmap(wxBitmap(link_path, wxBITMAP_TYPE_PNG));
 
        _right_crop_label = create_label (this, _("Right"), true);
        _right_crop = new ContentSpinCtrl<VideoContent> (
@@ -145,7 +147,7 @@ VideoPanel::create ()
                );
 
        _top_bottom_link = new wxToggleButton (this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(link_width, link_height));
-       _top_bottom_link->SetBitmap (wxBitmap(bitmap_path("link.png"), wxBITMAP_TYPE_PNG));
+       _top_bottom_link->SetBitmap(wxBitmap(link_path, wxBITMAP_TYPE_PNG));
 
        _bottom_crop_label = create_label (this, _("Bottom"), true);
        _bottom_crop = new ContentSpinCtrl<VideoContent> (
index c0f90bd251083676377928818d39d1795c81aa0a..28ac6ab5c5b4bb4bace0bec0020ffd4c82aa1453 100644 (file)
@@ -670,6 +670,10 @@ bitmap_path (string name)
        } else {
                base = resources_path();
        }
+
+       if (!boost::filesystem::exists(base / name)) {
+               base = path / boost::filesystem::path("osx/preferences");
+       }
 #else
        base = resources_path();
 #endif