dcpomatic.git
4 months agoCleanup: const.
Carl Hetherington [Sun, 10 Dec 2023 20:52:45 +0000 (21:52 +0100)]
Cleanup: const.

4 months agoPrevent crash if you forget to call FilterGraph::setup().
Carl Hetherington [Sun, 10 Dec 2023 20:52:41 +0000 (21:52 +0100)]
Prevent crash if you forget to call FilterGraph::setup().

4 months agoAdd a premultiply filter to sources with an alpha channel (#2681).
Carl Hetherington [Sun, 10 Dec 2023 15:20:51 +0000 (16:20 +0100)]
Add a premultiply filter to sources with an alpha channel (#2681).

4 months agoAdd FFmpegExaminer::has_alpha().
Carl Hetherington [Sun, 10 Dec 2023 15:20:20 +0000 (16:20 +0100)]
Add FFmpegExaminer::has_alpha().

4 months agoCleanup: use a lambda.
Carl Hetherington [Sun, 10 Dec 2023 15:20:02 +0000 (16:20 +0100)]
Cleanup: use a lambda.

4 months agoCleanup: use some better variable names.
Carl Hetherington [Sat, 9 Dec 2023 19:33:02 +0000 (20:33 +0100)]
Cleanup: use some better variable names.

4 months agoDon't scan content if we don't need to (#2661).
Carl Hetherington [Fri, 8 Dec 2023 15:45:55 +0000 (16:45 +0100)]
Don't scan content if we don't need to (#2661).

4 months agoExtract scan_content().
Carl Hetherington [Fri, 8 Dec 2023 15:00:49 +0000 (16:00 +0100)]
Extract scan_content().

4 months agoSupport YUV422P9LE in alpha_blend() (#2671). notar1
Carl Hetherington [Mon, 27 Nov 2023 23:33:22 +0000 (00:33 +0100)]
Support YUV422P9LE in alpha_blend() (#2671).

4 months agoSupporters update. v2.16.70
Carl Hetherington [Fri, 1 Dec 2023 23:40:10 +0000 (00:40 +0100)]
Supporters update.

4 months agoBump libdcp for another MCA channel ID fix.
Carl Hetherington [Fri, 1 Dec 2023 23:39:14 +0000 (00:39 +0100)]
Bump libdcp for another MCA channel ID fix.

4 months agoSupport RtAudio >= 6.
Carl Hetherington [Thu, 30 Nov 2023 21:15:46 +0000 (22:15 +0100)]
Support RtAudio >= 6.

There's an API break, mostly about removing the use of exceptions.

4 months agoAllow 14 or 16 channels with ATMOS content, rather than forcing 14 (#2672).
Carl Hetherington [Wed, 29 Nov 2023 01:27:50 +0000 (02:27 +0100)]
Allow 14 or 16 channels with ATMOS content, rather than forcing 14 (#2672).

4 months agoDon't reduce the audio channel count on adding ATMOS (only increase it, if required).
Carl Hetherington [Wed, 29 Nov 2023 01:26:07 +0000 (02:26 +0100)]
Don't reduce the audio channel count on adding ATMOS (only increase it, if required).

4 months agoFix segfault when creating KDMs with certificates and project folders (not DKDMs).
Carl Hetherington [Wed, 29 Nov 2023 21:50:34 +0000 (22:50 +0100)]
Fix segfault when creating KDMs with certificates and project folders (not DKDMs).

5 months agoAdd Дима Агатов as a tester.
Carl Hetherington [Mon, 27 Nov 2023 09:34:04 +0000 (10:34 +0100)]
Add Дима Агатов as a tester.

5 months agoSupporters update. v2.16.69
Carl Hetherington [Sun, 26 Nov 2023 23:56:28 +0000 (00:56 +0100)]
Supporters update.

5 months agoUninstall encode server link.
Carl Hetherington [Sat, 25 Nov 2023 23:40:12 +0000 (00:40 +0100)]
Uninstall encode server link.

5 months agoAdd missing file=f so that all desktop shortcuts are uninstalled.
Carl Hetherington [Sat, 25 Nov 2023 23:06:46 +0000 (00:06 +0100)]
Add missing file=f so that all desktop shortcuts are uninstalled.

5 months agoSet shell var context so that when uninstalling we look in the same place for shortcu...
Carl Hetherington [Sat, 25 Nov 2023 21:14:56 +0000 (22:14 +0100)]
Set shell var context so that when uninstalling we look in the same place for shortcuts as when installing.

5 months agoCleanup: add start_menu_shortcut().
Carl Hetherington [Sat, 25 Nov 2023 21:13:39 +0000 (22:13 +0100)]
Cleanup: add start_menu_shortcut().

5 months agoExtract some common parts of the uninstaller.
Carl Hetherington [Sat, 25 Nov 2023 21:05:24 +0000 (22:05 +0100)]
Extract some common parts of the uninstaller.

5 months agoCleanup: remove unnecessary include.
Carl Hetherington [Sat, 25 Nov 2023 20:08:39 +0000 (21:08 +0100)]
Cleanup: remove unnecessary include.

5 months agoCall dcpomatic_setup_path_encoding() early enough (#2665).
Carl Hetherington [Sat, 25 Nov 2023 20:07:50 +0000 (21:07 +0100)]
Call dcpomatic_setup_path_encoding() early enough (#2665).

On Windows this was previously called after we instantiated a Config
object to get win32_console(), meaning that the required path voodoo
was not active when looking for the config.  This caused problems
if the user has a non-ASCII user name.

5 months agoDon't hide errors when trying to make configuration directories.
Carl Hetherington [Sat, 25 Nov 2023 20:06:18 +0000 (21:06 +0100)]
Don't hide errors when trying to make configuration directories.

There should be no error if the directories already exist, and otherwise
I think we want to know about the error.

5 months agoFix installer with non-ASCII user names (#2668).
Carl Hetherington [Sat, 25 Nov 2023 12:34:02 +0000 (13:34 +0100)]
Fix installer with non-ASCII user names (#2668).

5 months agoFix stray \r characters in output of ls_url on Windows (#2669).
Carl Hetherington [Sun, 26 Nov 2023 21:05:48 +0000 (22:05 +0100)]
Fix stray \r characters in output of ls_url on Windows (#2669).

5 months agoFix typo in path.
Carl Hetherington [Sun, 26 Nov 2023 20:23:25 +0000 (21:23 +0100)]
Fix typo in path.

5 months agoDon't crash if preferences ZIP needs to be overwritten during export.
Carl Hetherington [Sun, 26 Nov 2023 20:05:20 +0000 (21:05 +0100)]
Don't crash if preferences ZIP needs to be overwritten during export.

5 months agoRemove assumption that GDC serials always start with 'A' (apparently there are other...
Carl Hetherington [Sat, 25 Nov 2023 10:49:39 +0000 (11:49 +0100)]
Remove assumption that GDC serials always start with 'A' (apparently there are other prefixes too).

5 months agoMake an error more detailed.
Carl Hetherington [Sun, 26 Nov 2023 00:05:41 +0000 (01:05 +0100)]
Make an error more detailed.

5 months agoFix libzip config checks. v2.16.68
Carl Hetherington [Fri, 24 Nov 2023 21:58:24 +0000 (22:58 +0100)]
Fix libzip config checks.

5 months agoFix debug assertion when adding a KDM.
Carl Hetherington [Fri, 24 Nov 2023 10:31:22 +0000 (11:31 +0100)]
Fix debug assertion when adding a KDM.

5 months agoUpdated zh_CN translation from 刘汉源
Carl Hetherington [Thu, 23 Nov 2023 22:24:59 +0000 (23:24 +0100)]
Updated zh_CN translation from 刘汉源

5 months agoUpdate servers list after connecting to the signal.
Carl Hetherington [Thu, 23 Nov 2023 00:23:37 +0000 (01:23 +0100)]
Update servers list after connecting to the signal.

Otherwise it can happen that a signal is emitted before we connect
to it, and then after that no more signals come because nothing
changes.

5 months agoClarify error messages about missing configuration.
Carl Hetherington [Thu, 23 Nov 2023 00:23:20 +0000 (01:23 +0100)]
Clarify error messages about missing configuration.

5 months agoFix Centos 7 build.
Carl Hetherington [Tue, 21 Nov 2023 19:20:04 +0000 (20:20 +0100)]
Fix Centos 7 build.

5 months agoAnother Winodws build fix. v2.16.67
Carl Hetherington [Tue, 21 Nov 2023 08:24:51 +0000 (09:24 +0100)]
Another Winodws build fix.

5 months agoMissing header for Windows build.
Carl Hetherington [Mon, 20 Nov 2023 23:31:02 +0000 (00:31 +0100)]
Missing header for Windows build.

5 months agoCleanup: whitespace and header sorting.
Carl Hetherington [Mon, 20 Nov 2023 23:22:36 +0000 (00:22 +0100)]
Cleanup: whitespace and header sorting.

5 months agoFix class/struct confusion causing build error on macOS.
Carl Hetherington [Mon, 20 Nov 2023 22:59:26 +0000 (23:59 +0100)]
Fix class/struct confusion causing build error on macOS.

5 months agoVerify encrypted DCPs (more) correctly (#2659).
Carl Hetherington [Sun, 19 Nov 2023 23:25:27 +0000 (00:25 +0100)]
Verify encrypted DCPs (more) correctly (#2659).

5 months agoCleanup: use stack-allocated FileDialog and accept multiple KDMs.
Carl Hetherington [Sun, 19 Nov 2023 23:20:44 +0000 (00:20 +0100)]
Cleanup: use stack-allocated FileDialog and accept multiple KDMs.

5 months agoCleanup: use ScopeGuard.
Carl Hetherington [Sun, 19 Nov 2023 23:14:32 +0000 (00:14 +0100)]
Cleanup: use ScopeGuard.

5 months agoFix build.
Carl Hetherington [Mon, 20 Nov 2023 14:37:23 +0000 (15:37 +0100)]
Fix build.

5 months agoFix audio analysis attempts with source files that have more channels than the film.
Carl Hetherington [Wed, 15 Nov 2023 16:02:16 +0000 (17:02 +0100)]
Fix audio analysis attempts with source files that have more channels than the film.

5 months agoCleanup: handle Filter objects by value rather than by reference.
Carl Hetherington [Tue, 7 Nov 2023 23:59:42 +0000 (00:59 +0100)]
Cleanup: handle Filter objects by value rather than by reference.

5 months agoCleanup: remove an unnecessary shared_ptr.
Carl Hetherington [Tue, 7 Nov 2023 23:24:20 +0000 (00:24 +0100)]
Cleanup: remove an unnecessary shared_ptr.

5 months agoAdd header guards.
Carl Hetherington [Tue, 7 Nov 2023 23:24:11 +0000 (00:24 +0100)]
Add header guards.

5 months agoDon't feed channels to leqm that we don't have a correction factor for (#2647).
Carl Hetherington [Tue, 7 Nov 2023 23:18:22 +0000 (00:18 +0100)]
Don't feed channels to leqm that we don't have a correction factor for (#2647).

5 months agoAdd a dialog to show which screens have potentially-problematic
Carl Hetherington [Sun, 19 Nov 2023 20:34:56 +0000 (21:34 +0100)]
Add a dialog to show which screens have potentially-problematic
certificate validity periods when making KDMs (#2645).

5 months agoFix "create KDM" button sensitivity with invalid KDM time range.
Carl Hetherington [Sun, 19 Nov 2023 20:34:27 +0000 (21:34 +0100)]
Fix "create KDM" button sensitivity with invalid KDM time range.

5 months agoCleanup: header ordering.
Carl Hetherington [Sun, 19 Nov 2023 20:33:11 +0000 (21:33 +0100)]
Cleanup: header ordering.

5 months agoImprove progress reporting of digest calculations (might help with #2643).
Carl Hetherington [Sun, 12 Nov 2023 21:09:48 +0000 (22:09 +0100)]
Improve progress reporting of digest calculations (might help with #2643).

5 months agoSupporters update.
Carl Hetherington [Sun, 19 Nov 2023 21:40:40 +0000 (22:40 +0100)]
Supporters update.

5 months agoFix out-of-bounds read in OSX disk checking (#2658).
Carl Hetherington [Sun, 19 Nov 2023 20:07:25 +0000 (21:07 +0100)]
Fix out-of-bounds read in OSX disk checking (#2658).

5 months agoAlways add a font with an empty ID (#2649).
Carl Hetherington [Fri, 10 Nov 2023 22:51:46 +0000 (23:51 +0100)]
Always add a font with an empty ID (#2649).

It's not just subtitle files with no <LoadFont> that can have
subtitles without a specified font.  In particular, DoM makes a
single space subtitle with no font spec when it creates filler
subtitles in multi-reel DCPs.

5 months agoPass through <Ruby> tags in subtitles (#2635) (GH#23).
Carl Hetherington [Wed, 15 Nov 2023 22:07:42 +0000 (23:07 +0100)]
Pass through <Ruby> tags in subtitles (#2635) (GH#23).

5 months agoFix crash with subtitles for which we have no codec.
Carl Hetherington [Thu, 16 Nov 2023 14:14:16 +0000 (15:14 +0100)]
Fix crash with subtitles for which we have no codec.

5 months agoCopy Interop PNG subtitle files correctly (#2640).
Carl Hetherington [Sun, 12 Nov 2023 23:30:48 +0000 (00:30 +0100)]
Copy Interop PNG subtitle files correctly (#2640).

5 months agoExtract copy().
Carl Hetherington [Wed, 15 Nov 2023 00:48:29 +0000 (01:48 +0100)]
Extract copy().

5 months agoReplace deprecated zip_add() with zip_file_add().
Carl Hetherington [Sat, 11 Nov 2023 00:59:22 +0000 (01:59 +0100)]
Replace deprecated zip_add() with zip_file_add().

5 months agoReplace deprecated leaf() with filename().
Carl Hetherington [Sat, 11 Nov 2023 00:31:58 +0000 (01:31 +0100)]
Replace deprecated leaf() with filename().

5 months agoMove a IMB location to try_imb() and add a new IMS pattern (#2644).
Carl Hetherington [Sat, 11 Nov 2023 22:45:37 +0000 (23:45 +0100)]
Move a IMB location to try_imb() and add a new IMS pattern (#2644).

5 months agoStore last path for adding KDMs (#2348).
Carl Hetherington [Sat, 11 Nov 2023 21:55:27 +0000 (22:55 +0100)]
Store last path for adding KDMs (#2348).

5 months agoAdd FileDialog::path().
Carl Hetherington [Sat, 11 Nov 2023 21:54:51 +0000 (22:54 +0100)]
Add FileDialog::path().

5 months agoCleanup: stack-allocated dialogs.
Carl Hetherington [Sat, 11 Nov 2023 21:19:37 +0000 (22:19 +0100)]
Cleanup: stack-allocated dialogs.

5 months agoUse DirDialog and fix initial path (#2348).
Carl Hetherington [Sat, 11 Nov 2023 20:07:54 +0000 (21:07 +0100)]
Use DirDialog and fix initial path (#2348).

5 months agoMove add_files_override_path to film_util
Carl Hetherington [Sat, 11 Nov 2023 20:03:39 +0000 (21:03 +0100)]
Move add_files_override_path to film_util

5 months agoAdd comment.
Carl Hetherington [Sat, 11 Nov 2023 20:03:16 +0000 (21:03 +0100)]
Add comment.

5 months agoCleanup: stack-allocated dialogs.
Carl Hetherington [Sat, 11 Nov 2023 19:37:42 +0000 (20:37 +0100)]
Cleanup: stack-allocated dialogs.

5 months agoCleanup: auto.
Carl Hetherington [Sat, 11 Nov 2023 19:37:35 +0000 (20:37 +0100)]
Cleanup: auto.

5 months agoAdd check before dereferencing pointer.
Carl Hetherington [Sat, 28 Oct 2023 21:16:41 +0000 (23:16 +0200)]
Add check before dereferencing pointer.

5 months agoFix uninitialised variable.
Carl Hetherington [Sat, 28 Oct 2023 21:16:32 +0000 (23:16 +0200)]
Fix uninitialised variable.

5 months agoAdd some std::move.
Carl Hetherington [Sat, 28 Oct 2023 21:04:36 +0000 (23:04 +0200)]
Add some std::move.

5 months agoAdd some const& to uses of auto.
Carl Hetherington [Sat, 28 Oct 2023 21:04:26 +0000 (23:04 +0200)]
Add some const& to uses of auto.

5 months agoFix some possible overflows.
Carl Hetherington [Sat, 28 Oct 2023 21:04:15 +0000 (23:04 +0200)]
Fix some possible overflows.

5 months agoFix a bizarre thinko / typo of "false" for false.
Carl Hetherington [Sat, 28 Oct 2023 21:04:04 +0000 (23:04 +0200)]
Fix a bizarre thinko / typo of "false" for false.

5 months agoMake sure a dynamic_pointer_cast worked.
Carl Hetherington [Sat, 28 Oct 2023 21:03:38 +0000 (23:03 +0200)]
Make sure a dynamic_pointer_cast worked.

5 months agoCheck some unsanitized network inputs before allocating memory using them.
Carl Hetherington [Sat, 28 Oct 2023 21:03:24 +0000 (23:03 +0200)]
Check some unsanitized network inputs before allocating memory using them.

5 months agoFix theoretical int overflow.
Carl Hetherington [Sat, 28 Oct 2023 21:02:54 +0000 (23:02 +0200)]
Fix theoretical int overflow.

5 months agoAdd some missing locks.
Carl Hetherington [Sat, 28 Oct 2023 21:02:40 +0000 (23:02 +0200)]
Add some missing locks.

5 months agoCleanup: whitespace.
Carl Hetherington [Sat, 28 Oct 2023 21:02:17 +0000 (23:02 +0200)]
Cleanup: whitespace.

5 months agoFix thinko when trying to keep channel counts even.
Carl Hetherington [Sat, 28 Oct 2023 21:02:09 +0000 (23:02 +0200)]
Fix thinko when trying to keep channel counts even.

5 months agoFix possible deference of invalid iterator (if _reel == _reels.end()).
Carl Hetherington [Sat, 28 Oct 2023 20:31:38 +0000 (22:31 +0200)]
Fix possible deference of invalid iterator (if _reel == _reels.end()).

5 months agoFix possible dereference of invalid iterator (if have_pushed is empty).
Carl Hetherington [Sat, 28 Oct 2023 20:28:14 +0000 (22:28 +0200)]
Fix possible dereference of invalid iterator (if have_pushed is empty).

5 months agoTolerate DCPs with no video and/or audio.
Carl Hetherington [Sat, 28 Oct 2023 19:48:26 +0000 (21:48 +0200)]
Tolerate DCPs with no video and/or audio.

6 months agoUse updated libdcp, including an optimisation for rgb-onto-xyz12.
Carl Hetherington [Fri, 27 Oct 2023 23:51:51 +0000 (01:51 +0200)]
Use updated libdcp, including an optimisation for rgb-onto-xyz12.

6 months agoFix transcode job fps logging.
Carl Hetherington [Wed, 18 Oct 2023 22:10:58 +0000 (00:10 +0200)]
Fix transcode job fps logging.

Broken in d3455851f60ee6bc35ea4f314c62a7da51ce0d81

6 months agoAdd button to show only checked screens in the KDM creator (#2624).
Carl Hetherington [Tue, 17 Oct 2023 22:44:30 +0000 (00:44 +0200)]
Add button to show only checked screens in the KDM creator (#2624).

6 months agoFix crash when removing multiple cinemas caused by _selected_cinemas being changed...
Carl Hetherington [Tue, 17 Oct 2023 23:03:55 +0000 (01:03 +0200)]
Fix crash when removing multiple cinemas caused by _selected_cinemas being changed as we read it (#2632).

6 months agoMake sure 2-channel MXFs don't get extra channel descriptors (#2631).
Carl Hetherington [Mon, 16 Oct 2023 21:31:46 +0000 (23:31 +0200)]
Make sure 2-channel MXFs don't get extra channel descriptors (#2631).

With all the EasyDCP tests done in bug #2487 we didn't look at stereo
MXFs as it appeared fairly early on that EasyDCP would reject them all.

In #2631 it's pointed out that it seems to make no sense to have descriptors
for channels which aren't there.  I've still got no docs for any of this,
but let's try fixing that.

6 months agoChange how channels are specified for these tests.
Carl Hetherington [Mon, 16 Oct 2023 21:28:26 +0000 (23:28 +0200)]
Change how channels are specified for these tests.

We now have a number of channels for the MXF, and the active
channels that we map in the DCP.

6 months agoReplace a slightly tortured lambda with a loop.
Carl Hetherington [Mon, 16 Oct 2023 18:19:53 +0000 (20:19 +0200)]
Replace a slightly tortured lambda with a loop.

6 months agoRemove unused code.
Carl Hetherington [Mon, 16 Oct 2023 09:30:27 +0000 (11:30 +0200)]
Remove unused code.

6 months agoThis test suddenly just started failing with
Carl Hetherington [Sun, 15 Oct 2023 22:40:28 +0000 (00:40 +0200)]
This test suddenly just started failing with
opj_int_fix_mul: Assertion `(temp >> 13) <= (OPJ_INT64)0x7FFFFFFF' failed.
which is odd - why now?

Anywhere here we limit the OpenJPEG image values to what I think is
the "legal" range.

6 months agoSupporters update. v2.16.66
Carl Hetherington [Sun, 15 Oct 2023 15:34:33 +0000 (17:34 +0200)]
Supporters update.

6 months agoSupporters update.
Carl Hetherington [Sun, 15 Oct 2023 07:16:49 +0000 (09:16 +0200)]
Supporters update.

6 months agoFix DCP content font ID allocation to cope with DCPs that have multiple fonts
Carl Hetherington [Sat, 14 Oct 2023 19:48:25 +0000 (21:48 +0200)]
Fix DCP content font ID allocation to cope with DCPs that have multiple fonts
with the same name in the same reel (#2600).

Previously we had this id_for_font_in_reel() which would give an ID
of N_font-ID.  This means we got duplicate font IDs.

Here we replace that method with FontAllocator, which gives an ID of
N_font-ID for the first font and M_font-ID, where M is a number higher than
the highest reel index.  The idea is to support the required new IDs
without breaking exisiting projects.

There is some documentation of how it works  in doc/design/fonts

6 months agoCleanup: assert.
Carl Hetherington [Sat, 14 Oct 2023 19:43:52 +0000 (21:43 +0200)]
Cleanup: assert.