dcpomatic.git
4 weeks agoMerge remote-tracking branch 'origin/main' into v2.17.x
Carl Hetherington [Fri, 31 May 2024 21:20:21 +0000 (23:20 +0200)]
Merge remote-tracking branch 'origin/main' into v2.17.x

5 weeks agoMake the DCP-encode counting dependent on variant.
Carl Hetherington [Fri, 31 May 2024 08:59:48 +0000 (10:59 +0200)]
Make the DCP-encode counting dependent on variant.

5 weeks agoFix incorrect default _show_report_a_problem.
Carl Hetherington [Fri, 31 May 2024 08:49:52 +0000 (10:49 +0200)]
Fix incorrect default _show_report_a_problem.

5 weeks agoSupporters update. v2.16.86
Carl Hetherington [Thu, 30 May 2024 18:02:10 +0000 (20:02 +0200)]
Supporters update.

5 weeks agoRender subtitles using show_in_cairo_context() instead of add_to_cairo_context().
Carl Hetherington [Sun, 19 May 2024 20:33:44 +0000 (22:33 +0200)]
Render subtitles using show_in_cairo_context() instead of add_to_cairo_context().

This helps with #2813 and should fix #2474.

We started using add_to_cairo_context() again in
72c3a5f0f32f553a1f8abee2494f31d29b976383
because the rendering looked better.  However colour changes within
lines cannot easily be rendered using add_to_cairo_context() it seems,
as the text is just added as a path and then you can stroke/fill it
with a single colour.

I hope that this change, which reverts 72c3a5 but also adds some calls
to enable hinting and use better anti-aliasing, looks OK.  I looked
at some white-on-black subs close-up and the hinting seems to help.

5 weeks agoFix merge.
Carl Hetherington [Wed, 29 May 2024 19:21:29 +0000 (21:21 +0200)]
Fix merge.

5 weeks agoMerge remote-tracking branch 'origin/main' into v2.17.x
Carl Hetherington [Wed, 29 May 2024 19:12:17 +0000 (21:12 +0200)]
Merge remote-tracking branch 'origin/main' into v2.17.x

5 weeks agoBump SERVER_LINK_VERSION since we changed the name of some metadata.
Carl Hetherington [Wed, 29 May 2024 13:02:54 +0000 (15:02 +0200)]
Bump SERVER_LINK_VERSION since we changed the name of some metadata.

5 weeks agoHide some warnings.
Carl Hetherington [Wed, 29 May 2024 12:54:38 +0000 (14:54 +0200)]
Hide some warnings.

5 weeks agoUse territory details from template.
Carl Hetherington [Thu, 9 May 2024 21:01:08 +0000 (23:01 +0200)]
Use territory details from template.

5 weeks agoGet chain, facility, studio and distributor from template.
Carl Hetherington [Thu, 9 May 2024 20:46:59 +0000 (22:46 +0200)]
Get chain, facility, studio and distributor from template.

5 weeks agoRemove default Interop/SMPTE setting.
Carl Hetherington [Thu, 9 May 2024 20:20:53 +0000 (22:20 +0200)]
Remove default Interop/SMPTE setting.

5 weeks agoRemove default video bit rate settings.
Carl Hetherington [Thu, 9 May 2024 20:13:15 +0000 (22:13 +0200)]
Remove default video bit rate settings.

5 weeks agoRemove default DCP audio channel setting.
Carl Hetherington [Thu, 9 May 2024 20:03:01 +0000 (22:03 +0200)]
Remove default DCP audio channel setting.

5 weeks agoRemove default DCP content type setting.
Carl Hetherington [Thu, 9 May 2024 19:56:07 +0000 (21:56 +0200)]
Remove default DCP content type setting.

5 weeks agoUse ConfigRestorer to reset override_path after use.
Carl Hetherington [Sat, 25 May 2024 18:21:27 +0000 (20:21 +0200)]
Use ConfigRestorer to reset override_path after use.

5 weeks agoNote that newer libsub version is required.
Carl Hetherington [Sun, 26 May 2024 19:48:27 +0000 (20:48 +0100)]
Note that newer libsub version is required.

5 weeks agoFix build with newer libsub.
Carl Hetherington [Sun, 26 May 2024 19:47:56 +0000 (20:47 +0100)]
Fix build with newer libsub.

5 weeks agoImprove save-template dialog and always use a default template.
Carl Hetherington [Thu, 9 May 2024 19:33:56 +0000 (21:33 +0200)]
Improve save-template dialog and always use a default template.

5 weeks agoUse std::vector for Config::templates().
Carl Hetherington [Thu, 9 May 2024 19:33:19 +0000 (21:33 +0200)]
Use std::vector for Config::templates().

5 weeks agoCleanup: make method private.
Carl Hetherington [Thu, 9 May 2024 19:33:00 +0000 (21:33 +0200)]
Cleanup: make method private.

5 weeks agoRead 16-bit audio DCPs correctly.
Carl Hetherington [Fri, 24 May 2024 21:50:03 +0000 (23:50 +0200)]
Read 16-bit audio DCPs correctly.

As far as I can tell they are totally non-standard, but apparently
the IMS3000 plays them so I guess we should too.

5 weeks agoVerify that DCPs have 24-bit audio.
Carl Hetherington [Fri, 24 May 2024 21:49:32 +0000 (23:49 +0200)]
Verify that DCPs have 24-bit audio.

5 weeks agoDon't repeat the same error/warning more than once.
Carl Hetherington [Fri, 24 May 2024 20:12:32 +0000 (22:12 +0200)]
Don't repeat the same error/warning more than once.

5 weeks agoFix some incorrect verification messages.
Carl Hetherington [Fri, 24 May 2024 19:01:42 +0000 (21:01 +0200)]
Fix some incorrect verification messages.

6 weeks agoBump libsub for SSA Margin{L,R} support (#2811).
Carl Hetherington [Wed, 22 May 2024 21:31:37 +0000 (23:31 +0200)]
Bump libsub for SSA Margin{L,R} support (#2811).

This also pulls in a colour fix for binary STL but the colours are
not yet visible in the preview due to another bug.

6 weeks agoRename new_test_film2 -> new_test_film.
Carl Hetherington [Mon, 20 May 2024 14:55:57 +0000 (16:55 +0200)]
Rename new_test_film2 -> new_test_film.

6 weeks agoReplace all new_test_film with new_test_film2.
Carl Hetherington [Mon, 20 May 2024 14:54:37 +0000 (16:54 +0200)]
Replace all new_test_film with new_test_film2.

6 weeks agoFix stream length for DCP content (#2688).
Carl Hetherington [Mon, 20 May 2024 13:21:51 +0000 (15:21 +0200)]
Fix stream length for DCP content (#2688).

6 weeks agoAllow running tests from trees made with cdist.
Carl Hetherington [Mon, 20 May 2024 13:21:24 +0000 (15:21 +0200)]
Allow running tests from trees made with cdist.

6 weeks agoUse $HOME rather than hard-coded user name.
Carl Hetherington [Mon, 20 May 2024 19:36:57 +0000 (21:36 +0200)]
Use $HOME rather than hard-coded user name.

6 weeks agoCleanup, and try to make a test use less disk space.
Carl Hetherington [Mon, 20 May 2024 18:00:07 +0000 (20:00 +0200)]
Cleanup, and try to make a test use less disk space.

6 weeks agoMore cleanups.
Carl Hetherington [Mon, 20 May 2024 15:50:00 +0000 (17:50 +0200)]
More cleanups.

6 weeks agoAnother cleanup.
Carl Hetherington [Mon, 20 May 2024 15:16:44 +0000 (17:16 +0200)]
Another cleanup.

6 weeks agoClean up some more tests.
Carl Hetherington [Mon, 20 May 2024 15:05:16 +0000 (17:05 +0200)]
Clean up some more tests.

6 weeks agoClean up another big test.
Carl Hetherington [Mon, 20 May 2024 14:58:55 +0000 (16:58 +0200)]
Clean up another big test.

6 weeks agoUse new_test_film2.
Carl Hetherington [Mon, 20 May 2024 14:00:47 +0000 (16:00 +0200)]
Use new_test_film2.

6 weeks agoCleanup another test.
Carl Hetherington [Mon, 20 May 2024 14:00:43 +0000 (16:00 +0200)]
Cleanup another test.

6 weeks agoAdd missing call to Cleanup::run().
Carl Hetherington [Mon, 20 May 2024 12:37:06 +0000 (14:37 +0200)]
Add missing call to Cleanup::run().

6 weeks agoDon't make _stream_states for unmapped audio, otherwise we wait for content
Carl Hetherington [Sun, 19 May 2024 21:46:55 +0000 (23:46 +0200)]
Don't make _stream_states for unmapped audio, otherwise we wait for content
which will never arrive.

6 weeks agoAdd and use Content::has_mapped_audio().
Carl Hetherington [Sun, 19 May 2024 21:27:34 +0000 (23:27 +0200)]
Add and use Content::has_mapped_audio().

6 weeks agoCleanup: use auto.
Carl Hetherington [Sun, 19 May 2024 21:27:18 +0000 (23:27 +0200)]
Cleanup: use auto.

6 weeks agoMerge remote-tracking branch 'origin/main' into v2.17.x
Carl Hetherington [Sun, 19 May 2024 20:51:46 +0000 (22:51 +0200)]
Merge remote-tracking branch 'origin/main' into v2.17.x

6 weeks agoFix thinko in previous.
Carl Hetherington [Sun, 19 May 2024 20:41:53 +0000 (22:41 +0200)]
Fix thinko in previous.

6 weeks agoMissing setup of DYLD_LIBRARY_PATH.
Carl Hetherington [Sun, 19 May 2024 19:04:54 +0000 (21:04 +0200)]
Missing setup of DYLD_LIBRARY_PATH.

6 weeks agoAnother old libxml API instance.
Carl Hetherington [Sun, 19 May 2024 18:09:48 +0000 (20:09 +0200)]
Another old libxml API instance.

6 weeks agoFix old libxml API use from main.
Carl Hetherington [Sun, 19 May 2024 16:10:15 +0000 (18:10 +0200)]
Fix old libxml API use from main.

6 weeks agoCleanup: missing word in comment.
Carl Hetherington [Sat, 18 May 2024 09:41:53 +0000 (11:41 +0200)]
Cleanup: missing word in comment.

6 weeks agoRemember position and size of caption list view.
Carl Hetherington [Sat, 18 May 2024 09:41:44 +0000 (11:41 +0200)]
Remember position and size of caption list view.

7 weeks agoEmit no audio from DCPs if none is mapped v2.16.85
Carl Hetherington [Fri, 17 May 2024 13:03:15 +0000 (15:03 +0200)]
Emit no audio from DCPs if none is mapped

This makes DCP content behave the same as FFmpeg.

7 weeks agoMake sure we don't say some content has audio if none will be emitted.
Carl Hetherington [Fri, 17 May 2024 13:02:57 +0000 (15:02 +0200)]
Make sure we don't say some content has audio if none will be emitted.

In the FFmpeg (and shortly DCP) case we don't emit any audio if none is mapped,
so we must take this into account in the player.

7 weeks agoSome more test fixups.
Carl Hetherington [Thu, 16 May 2024 20:17:58 +0000 (22:17 +0200)]
Some more test fixups.

7 weeks agoFix some test references for auto-changing of cinemas file path to .sqlite3
Carl Hetherington [Thu, 16 May 2024 14:58:53 +0000 (16:58 +0200)]
Fix some test references for auto-changing of cinemas file path to .sqlite3

Also come back to the v2.18.x branch of test/data.

7 weeks agoMerge branch 'main' into v2.17.x
Carl Hetherington [Thu, 16 May 2024 12:59:50 +0000 (14:59 +0200)]
Merge branch 'main' into v2.17.x

7 weeks agoSupporters update. v2.16.84
Carl Hetherington [Thu, 16 May 2024 07:26:00 +0000 (09:26 +0200)]
Supporters update.

7 weeks agoUpdate DCP encoder progress on all passe()es, not just when audio is emitted.
Carl Hetherington [Sun, 12 May 2024 13:38:31 +0000 (15:38 +0200)]
Update DCP encoder progress on all passe()es, not just when audio is emitted.

7 weeks agoGet DCP transcode progress from the player (#2804).
Carl Hetherington [Sun, 12 May 2024 13:22:28 +0000 (15:22 +0200)]
Get DCP transcode progress from the player (#2804).

7 weeks agoFix Windows test runner.
Carl Hetherington [Wed, 15 May 2024 21:48:53 +0000 (23:48 +0200)]
Fix Windows test runner.

7 weeks agoFix macOS environment setup.
Carl Hetherington [Tue, 14 May 2024 08:26:19 +0000 (10:26 +0200)]
Fix macOS environment setup.

7 weeks agoFix warning cause by previous libdcp bump.
Carl Hetherington [Mon, 13 May 2024 22:02:54 +0000 (00:02 +0200)]
Fix warning cause by previous libdcp bump.

7 weeks agoFix case where both XML and sqlite3 files are present, and config.xml still refers...
Carl Hetherington [Mon, 13 May 2024 21:25:25 +0000 (23:25 +0200)]
Fix case where both XML and sqlite3 files are present, and config.xml still refers to the XML.

Then we would leave the config.xml pointing at the XML, and everything
after that assumes that cinemas_file is sqlite3.  Instead we always set
the cinemas file to the sqlite3 version, and convert if it it wasn't
there before.

7 weeks agoBump libdcp for another MCA channel ID fix (#2810).
Carl Hetherington [Mon, 13 May 2024 21:11:55 +0000 (23:11 +0200)]
Bump libdcp for another MCA channel ID fix (#2810).

7 weeks agoDon't bother decoding audio if none of it is mapped (#2809).
Carl Hetherington [Sun, 12 May 2024 23:20:27 +0000 (01:20 +0200)]
Don't bother decoding audio if none of it is mapped (#2809).

On a test adding subs from an MKV to an existing DCP this reduces
the processing time from ~2h to ~1m because it doesn't resample the
audio from the whole of the MKV, only to discard it.

7 weeks agoStop using video directory and hard-linking (#2756).
Carl Hetherington [Thu, 14 Mar 2024 23:41:20 +0000 (00:41 +0100)]
Stop using video directory and hard-linking (#2756).

Instead store details of a previously-created asset in the film's
metadata and then look there for potential video files to re-use.

7 weeks agoFix link icon width again.
Carl Hetherington [Sat, 11 May 2024 08:57:01 +0000 (10:57 +0200)]
Fix link icon width again.

Seems to be different on wxWidgets 3.1.x vs 3.2.x.

7 weeks agoFix doxygen comment.
Carl Hetherington [Fri, 10 May 2024 22:18:44 +0000 (00:18 +0200)]
Fix doxygen comment.

8 weeks agoMake sure build/test exists.
Carl Hetherington [Wed, 3 Apr 2024 22:17:29 +0000 (00:17 +0200)]
Make sure build/test exists.

8 weeks agoFix history trimming.
Carl Hetherington [Thu, 9 May 2024 18:15:27 +0000 (20:15 +0200)]
Fix history trimming.

8 weeks agoTest build fix. v2.17.17
Carl Hetherington [Wed, 8 May 2024 06:52:02 +0000 (08:52 +0200)]
Test build fix.

8 weeks agoFix incorrect file adding during merge.
Carl Hetherington [Wed, 8 May 2024 06:07:24 +0000 (08:07 +0200)]
Fix incorrect file adding during merge.

8 weeks agoMerge remote-tracking branch 'origin/main' into v2.17.x
Carl Hetherington [Tue, 7 May 2024 23:53:50 +0000 (01:53 +0200)]
Merge remote-tracking branch 'origin/main' into v2.17.x

8 weeks agoMerge branch 'main' into v2.17.x
Carl Hetherington [Tue, 7 May 2024 23:50:09 +0000 (01:50 +0200)]
Merge branch 'main' into v2.17.x

8 weeks agoWork around deadlock when destroying J2KEncoder with a full writer queue (#2784). v2.16.83
Carl Hetherington [Sun, 5 May 2024 19:34:29 +0000 (21:34 +0200)]
Work around deadlock when destroying J2KEncoder with a full writer queue (#2784).

This feels like a hack, but I can't think of a nicer way to do it.

The interruption disable makes sense because when we destroy encoder threads
during a DCP encode (because a remote server goes away, for example) we don't
want any frames to be lost due to the encode thread being interrupted between
taking the frame off the queue and sending it to the writer.

When we're destroying the encoder we don't care about this, but I can't see
how you'd differentiate.

Maybe the encoder queue could have two lists: to-do and in-progress;
the encoder thread atomically moves a frame from to-do to in-progress,
but then how do you know when the in-progress ones are orphaned and need
to be re-added to the main queue.

You could make the writer return saying "no" if the queue is full (rather
than blocking and waiting for the queue to empty) but that seems wasteful
as then the frame would be re-encoded.

8 weeks agoAdd some missing includes.
Carl Hetherington [Sun, 5 May 2024 19:34:22 +0000 (21:34 +0200)]
Add some missing includes.

8 weeks agoSupporters update.
Carl Hetherington [Tue, 7 May 2024 22:33:13 +0000 (00:33 +0200)]
Supporters update.

8 weeks agoUse sqlite for cinema and DKDM recipient lists.
Carl Hetherington [Sat, 20 May 2023 20:51:49 +0000 (22:51 +0200)]
Use sqlite for cinema and DKDM recipient lists.

8 weeks agoMake version acceptable to dpkg-buildpackage even if the git commit hash starts with...
Carl Hetherington [Sun, 5 May 2024 10:57:46 +0000 (12:57 +0200)]
Make version acceptable to dpkg-buildpackage even if the git commit hash starts with a letter.

8 weeks agoWe now need to import print() for older Pythons.
Carl Hetherington [Sun, 5 May 2024 10:27:28 +0000 (12:27 +0200)]
We now need to import print() for older Pythons.

8 weeks agoRemove use of f-strings in wscripts
Carl Hetherington [Sun, 5 May 2024 09:58:18 +0000 (11:58 +0200)]
Remove use of f-strings in wscripts

Various Linux build environments have a python that is too old.

8 weeks agoCleanup a test and make it a bit more robust.
Carl Hetherington [Fri, 3 May 2024 12:37:24 +0000 (14:37 +0200)]
Cleanup a test and make it a bit more robust.

8 weeks agoUse check_via_pkg_config for libdcp to clarify the error when
Carl Hetherington [Sat, 20 May 2023 20:51:17 +0000 (22:51 +0200)]
Use check_via_pkg_config for libdcp to clarify the error when
you have an old libdcp installed.

8 weeks agoAdd check_via_pkg_config to wscript
Carl Hetherington [Sat, 20 May 2023 20:50:54 +0000 (22:50 +0200)]
Add check_via_pkg_config to wscript

2 months agoRemove in-place translations support.
Carl Hetherington [Fri, 3 May 2024 22:19:00 +0000 (00:19 +0200)]
Remove in-place translations support.

It feels like there have been too many failed attempts and not
enough (maybe zero?) successes so it's just too confusing.

2 months agoUpdated cs_CZ translation from Tomáš Begeni.
Carl Hetherington [Thu, 2 May 2024 13:48:13 +0000 (15:48 +0200)]
Updated cs_CZ translation from Tomáš Begeni.

2 months agoRemove stray '
Carl Hetherington [Mon, 29 Apr 2024 18:44:14 +0000 (20:44 +0200)]
Remove stray '

2 months agoMerge branch 'main' into v2.17.x
Carl Hetherington [Wed, 1 May 2024 08:15:18 +0000 (10:15 +0200)]
Merge branch 'main' into v2.17.x

2 months agoUse plain git hash for VERSION when there is no exact tag.
Carl Hetherington [Sat, 27 Apr 2024 15:41:52 +0000 (17:41 +0200)]
Use plain git hash for VERSION when there is no exact tag.

2 months agoDon't "pollute" the library path with /usr/local/lib.
Carl Hetherington [Mon, 29 Apr 2024 20:41:37 +0000 (22:41 +0200)]
Don't "pollute" the library path with /usr/local/lib.

Sometimes we don't want to use the stuff in there.

2 months agoSupporters update. v2.16.82
Carl Hetherington [Tue, 30 Apr 2024 09:20:53 +0000 (11:20 +0200)]
Supporters update.

2 months agoFix silent stereo mixdown exports when the project audio channel count is > 6.
Carl Hetherington [Mon, 29 Apr 2024 20:34:51 +0000 (22:34 +0200)]
Fix silent stereo mixdown exports when the project audio channel count is > 6.

This became much more of a problem when we started defaulting to 8 channels
in projects.

2 months agoFix failures in real_encode_with_server.
Carl Hetherington [Mon, 29 Apr 2024 08:49:22 +0000 (10:49 +0200)]
Fix failures in real_encode_with_server.

This test suddenly started failing because the server is never found,
so never encodes any frames.

It's a mystery why this started failing, and even more of a mystery
why there seem to be two distinct reasons.

Some failures were apparently due to firewalld blocking UDP broadcast;
disabling the firewall would make the test pass again.

Other failures were apparently caused by an old EncodeServerFinder
hanging around, presumably finding servers before a new one had the
chance.

2 months agoCleanup a few verbose asio-related calls.
Carl Hetherington [Sun, 28 Apr 2024 22:11:51 +0000 (00:11 +0200)]
Cleanup a few verbose asio-related calls.

2 months agoAdd missing nice name for Windows executable.
Carl Hetherington [Sun, 28 Apr 2024 20:46:13 +0000 (22:46 +0200)]
Add missing nice name for Windows executable.

2 months agoWrite file descriptions to .exe files for the Windows task manager.
Carl Hetherington [Sun, 28 Apr 2024 18:34:52 +0000 (20:34 +0200)]
Write file descriptions to .exe files for the Windows task manager.

2 months agoBuild .rc files on the fly.
Carl Hetherington [Sat, 27 Apr 2024 15:29:38 +0000 (17:29 +0200)]
Build .rc files on the fly.

2 months agoUse plain git hash for VERSION when there is no exact tag.
Carl Hetherington [Sat, 27 Apr 2024 15:41:52 +0000 (17:41 +0200)]
Use plain git hash for VERSION when there is no exact tag.

2 months agoAllow branding of "report a problem" dialog.
Carl Hetherington [Fri, 26 Apr 2024 20:34:35 +0000 (22:34 +0200)]
Allow branding of "report a problem" dialog.

2 months agoSplash behaviour does not need to be branded after all.
Carl Hetherington [Fri, 26 Apr 2024 10:09:47 +0000 (12:09 +0200)]
Splash behaviour does not need to be branded after all.

2 months agoAllow customisation of error report email address.
Carl Hetherington [Fri, 26 Apr 2024 09:53:40 +0000 (11:53 +0200)]
Allow customisation of error report email address.

2 months agoApply fixup to test/data submodule and bring it back to the v2.18.x branch.
Carl Hetherington [Wed, 24 Apr 2024 17:38:24 +0000 (19:38 +0200)]
Apply fixup to test/data submodule and bring it back to the v2.18.x branch.