dcpomatic.git
7 months agoRearrange encoder. rearrange-encoder
Carl Hetherington [Sun, 10 Sep 2023 20:56:51 +0000 (22:56 +0200)]
Rearrange encoder.

7 months agoCleanup: use some stack allocation and shared_ptr.
Carl Hetherington [Sun, 10 Sep 2023 20:14:58 +0000 (22:14 +0200)]
Cleanup: use some stack allocation and shared_ptr.

7 months agoAlways call AddCatalog("wxstd") as it appears to be necessary to
Carl Hetherington [Fri, 8 Sep 2023 22:01:35 +0000 (00:01 +0200)]
Always call AddCatalog("wxstd") as it appears to be necessary to
get wxWidgets' translations to appear (at least on Windows) (#2606).

7 months agoOpen Windows console earlier in startup.
Carl Hetherington [Fri, 8 Sep 2023 22:00:26 +0000 (00:00 +0200)]
Open Windows console earlier in startup.

7 months agoFix hints test now that subtitle reader gives an error on large fonts.
Carl Hetherington [Fri, 8 Sep 2023 05:47:41 +0000 (07:47 +0200)]
Fix hints test now that subtitle reader gives an error on large fonts.

7 months agoSanitise asset names after potentially failed %-based substitutions (#945).
Carl Hetherington [Thu, 7 Sep 2023 21:24:06 +0000 (23:24 +0200)]
Sanitise asset names after potentially failed %-based substitutions (#945).

If there's a %x in the format string, where %x is not recognised, we
should at least remove the %.

7 months agoDisallow % from asset names as it seems to awake some XML character-encoding
Carl Hetherington [Thu, 7 Sep 2023 21:22:54 +0000 (23:22 +0200)]
Disallow % from asset names as it seems to awake some XML character-encoding
demons.

7 months agoCleanup: use ConfigRestorer instead of Keep class.
Carl Hetherington [Thu, 7 Sep 2023 20:59:40 +0000 (22:59 +0200)]
Cleanup: use ConfigRestorer instead of Keep class.

7 months agoUpdated nl_NL translation from Rob van Nieuwkerk.
Carl Hetherington [Thu, 7 Sep 2023 12:37:34 +0000 (14:37 +0200)]
Updated nl_NL translation from Rob van Nieuwkerk.

7 months agoTry to allow staged and non-staged i18n updates.
Carl Hetherington [Thu, 7 Sep 2023 12:37:27 +0000 (14:37 +0200)]
Try to allow staged and non-staged i18n updates.

7 months agoBump libdcp to fix errors when loading DCPs with very big fonts.
Carl Hetherington [Wed, 6 Sep 2023 21:10:49 +0000 (23:10 +0200)]
Bump libdcp to fix errors when loading DCPs with very big fonts.

7 months agopot/merge.
Carl Hetherington [Tue, 5 Sep 2023 12:07:35 +0000 (14:07 +0200)]
pot/merge.

7 months agoUse configured issuer/creator for DCPs made by map (#2585).
Carl Hetherington [Mon, 4 Sep 2023 18:08:03 +0000 (20:08 +0200)]
Use configured issuer/creator for DCPs made by map (#2585).

7 months agoIgnore newlines in subtitle text (#2341).
Carl Hetherington [Fri, 16 Jun 2023 22:03:51 +0000 (00:03 +0200)]
Ignore newlines in subtitle text (#2341).

7 months agoFix rendering of italic fonts during tests on Windows.
Carl Hetherington [Sat, 2 Sep 2023 16:44:03 +0000 (18:44 +0200)]
Fix rendering of italic fonts during tests on Windows.

7 months agoFix crash when pressing Ctrl+{C,V} at the wrong time.
Carl Hetherington [Sat, 2 Sep 2023 20:32:06 +0000 (22:32 +0200)]
Fix crash when pressing Ctrl+{C,V} at the wrong time.

7 months agoSupporters update. v2.16.63
Carl Hetherington [Fri, 1 Sep 2023 17:32:46 +0000 (19:32 +0200)]
Supporters update.

7 months agoMissing #ifdef for Windows references.
Carl Hetherington [Fri, 1 Sep 2023 07:01:12 +0000 (09:01 +0200)]
Missing #ifdef for Windows references.

7 months agoSupporters update.
Carl Hetherington [Thu, 31 Aug 2023 22:09:47 +0000 (00:09 +0200)]
Supporters update.

7 months agoBump libdcp to release version.
Carl Hetherington [Thu, 31 Aug 2023 22:09:31 +0000 (00:09 +0200)]
Bump libdcp to release version.

7 months agoFix vertical alignment of subtitles in some cases (#2569).
Carl Hetherington [Sat, 26 Aug 2023 18:17:17 +0000 (20:17 +0200)]
Fix vertical alignment of subtitles in some cases (#2569).

7 months agoGive a more useful error when check_dcp() fails.
Carl Hetherington [Sat, 26 Aug 2023 18:16:47 +0000 (20:16 +0200)]
Give a more useful error when check_dcp() fails.

7 months agoFix incorrect horizontal positions when different HPositions are used with one VPosition.
Carl Hetherington [Sat, 26 Aug 2023 17:51:51 +0000 (19:51 +0200)]
Fix incorrect horizontal positions when different HPositions are used with one VPosition.

Previously if HPosition changed we would still use a single "line" (i.e. Pango layout)
for all the text, meaning that HPosition would not be respected.

7 months agoRestore burnt subtitle tests.
Carl Hetherington [Sat, 26 Aug 2023 17:49:25 +0000 (19:49 +0200)]
Restore burnt subtitle tests.

7 months agoCleanup: use some more vector instead of list.
Carl Hetherington [Sat, 26 Aug 2023 12:29:06 +0000 (14:29 +0200)]
Cleanup: use some more vector instead of list.

8 months agoFix tests when changing the cinemas file.
Carl Hetherington [Sat, 26 Aug 2023 17:45:02 +0000 (19:45 +0200)]
Fix tests when changing the cinemas file.

8 months agoHandle fonts/subdirs correctly for CCAPs with _map (#2584).
Carl Hetherington [Thu, 24 Aug 2023 21:50:18 +0000 (23:50 +0200)]
Handle fonts/subdirs correctly for CCAPs with _map (#2584).

8 months agoBump libdcp to properly check for missing fonts in CCAP LoadFont tags.
Carl Hetherington [Thu, 24 Aug 2023 21:51:16 +0000 (23:51 +0200)]
Bump libdcp to properly check for missing fonts in CCAP LoadFont tags.

8 months agoFix refusal to reference overlapping but different text content (#2599).
Carl Hetherington [Sat, 26 Aug 2023 22:17:58 +0000 (00:17 +0200)]
Fix refusal to reference overlapping but different text content (#2599).

8 months agoTweak a message to be more grammatically correct.
Carl Hetherington [Sat, 26 Aug 2023 22:14:14 +0000 (00:14 +0200)]
Tweak a message to be more grammatically correct.

8 months agoCleanup: use some lambdas.
Carl Hetherington [Sat, 26 Aug 2023 21:34:19 +0000 (23:34 +0200)]
Cleanup: use some lambdas.

8 months agoUpdate test/data for missing test reference.
Carl Hetherington [Sat, 26 Aug 2023 11:10:34 +0000 (13:10 +0200)]
Update test/data for missing test reference.

8 months agoSet up packet duration correctly when encoding using FFmpeg (#2588).
Carl Hetherington [Thu, 24 Aug 2023 13:44:32 +0000 (15:44 +0200)]
Set up packet duration correctly when encoding using FFmpeg (#2588).

It seems strange that this is necessary (maybe I'm missing some
other way that the packet duration is supposed to be set up).

Without this, when the mov muxer writes the trak tags it uses an
incorrect length value because the length value is calculated
from trk->end_pts, which in turn is calculated from the last-seen
pts + the duration of the last packet.  If that packet is marked
as length 0 the length of the track is 1 frame short, so the export
is missing a frame.

8 months agoCheck a return value for error.
Carl Hetherington [Thu, 24 Aug 2023 13:44:11 +0000 (15:44 +0200)]
Check a return value for error.

8 months agoSpeculative fix to ensure correct freeing.
Carl Hetherington [Thu, 24 Aug 2023 13:43:54 +0000 (15:43 +0200)]
Speculative fix to ensure correct freeing.

8 months agoExtend run_ffprobe to allow arguments and capture of stdout.
Carl Hetherington [Thu, 24 Aug 2023 13:43:06 +0000 (15:43 +0200)]
Extend run_ffprobe to allow arguments and capture of stdout.

8 months agoTry to capture ffmpeg logs during tests.
Carl Hetherington [Thu, 24 Aug 2023 09:33:07 +0000 (11:33 +0200)]
Try to capture ffmpeg logs during tests.

8 months agoCleanup: extract TranscodeJob::frames_per_second().
Carl Hetherington [Fri, 25 Aug 2023 23:43:22 +0000 (01:43 +0200)]
Cleanup: extract TranscodeJob::frames_per_second().

8 months agoDon't bother reporting job durations less than 10s.
Carl Hetherington [Fri, 25 Aug 2023 23:32:13 +0000 (01:32 +0200)]
Don't bother reporting job durations less than 10s.

8 months agoUse _{start,finish}_time in TranscodeJob.
Carl Hetherington [Fri, 25 Aug 2023 23:14:20 +0000 (01:14 +0200)]
Use _{start,finish}_time in TranscodeJob.

8 months agoGive more details when jobs finish (#2572).
Carl Hetherington [Fri, 25 Aug 2023 22:38:17 +0000 (00:38 +0200)]
Give more details when jobs finish (#2572).

8 months agoAdd --cinemas-file option to KDM CLI.
Carl Hetherington [Thu, 24 Aug 2023 15:55:39 +0000 (17:55 +0200)]
Add --cinemas-file option to KDM CLI.

8 months agoReplace a couple of erroneous calls to exit() in kdm_cli.cc.
Carl Hetherington [Thu, 24 Aug 2023 15:55:24 +0000 (17:55 +0200)]
Replace a couple of erroneous calls to exit() in kdm_cli.cc.

8 months agoAdd some more detail to the KDM CLI help.
Carl Hetherington [Thu, 24 Aug 2023 15:54:57 +0000 (17:54 +0200)]
Add some more detail to the KDM CLI help.

8 months agoBump libdcp for subtitle alignment parsing fix (#2602).
Carl Hetherington [Tue, 22 Aug 2023 22:03:16 +0000 (00:03 +0200)]
Bump libdcp for subtitle alignment parsing fix (#2602).

8 months agoFixed libdcp reference to be a release.
Carl Hetherington [Tue, 22 Aug 2023 14:17:40 +0000 (16:17 +0200)]
Fixed libdcp reference to be a release.

8 months agoSupporters update. v2.16.62
Carl Hetherington [Sun, 20 Aug 2023 19:51:25 +0000 (21:51 +0200)]
Supporters update.

8 months agoAnother signed/unsigned mismatch.
Carl Hetherington [Sun, 20 Aug 2023 12:07:10 +0000 (14:07 +0200)]
Another signed/unsigned mismatch.

8 months agoFix unsigned/signed mismatch.
Carl Hetherington [Sat, 19 Aug 2023 23:53:19 +0000 (01:53 +0200)]
Fix unsigned/signed mismatch.

8 months agoYet more private file fixing.
Carl Hetherington [Sat, 19 Aug 2023 20:48:00 +0000 (22:48 +0200)]
Yet more private file fixing.

8 months agoMore private test files tinkering.
Carl Hetherington [Sat, 19 Aug 2023 18:35:07 +0000 (20:35 +0200)]
More private test files tinkering.

8 months agoPrivate test files repo change.
Carl Hetherington [Sat, 19 Aug 2023 16:18:46 +0000 (18:18 +0200)]
Private test files repo change.

8 months agoSupporters update.
Carl Hetherington [Sat, 19 Aug 2023 12:22:33 +0000 (14:22 +0200)]
Supporters update.

8 months agoBump libdcp for dcp::LocalTime format fix.
Carl Hetherington [Tue, 15 Aug 2023 16:33:52 +0000 (18:33 +0200)]
Bump libdcp for dcp::LocalTime format fix.

8 months agoCope with unexpected channel counts in data coming from audio decoders.
Carl Hetherington [Tue, 15 Aug 2023 13:46:41 +0000 (15:46 +0200)]
Cope with unexpected channel counts in data coming from audio decoders.

8 months agoAdd Resampler::channels().
Carl Hetherington [Tue, 15 Aug 2023 13:46:30 +0000 (15:46 +0200)]
Add Resampler::channels().

8 months agoAdd Audiobuffers::set_channels().
Carl Hetherington [Tue, 15 Aug 2023 13:46:19 +0000 (15:46 +0200)]
Add Audiobuffers::set_channels().

8 months agoCleanup: remove unused variable.
Carl Hetherington [Tue, 15 Aug 2023 13:11:49 +0000 (15:11 +0200)]
Cleanup: remove unused variable.

8 months agoRemove now-unnecessary assertion.
Carl Hetherington [Tue, 15 Aug 2023 13:02:29 +0000 (15:02 +0200)]
Remove now-unnecessary assertion.

Since e29ce33a36c2e20444d57196defc86d5072bce81 channels is the
number of channels in the frame, and also the number in data,
so we don't need to check this any more.

8 months agoBump ffmpeg to fix build on binutils >= 2.41 (currently in Debian unstable).
Carl Hetherington [Mon, 14 Aug 2023 20:55:44 +0000 (22:55 +0200)]
Bump ffmpeg to fix build on binutils >= 2.41 (currently in Debian unstable).

8 months agoAdd missing GUI message. v2.16.61
Carl Hetherington [Fri, 11 Aug 2023 23:06:15 +0000 (01:06 +0200)]
Add missing GUI message.

8 months agoBump ffmpeg for fix to EXR parsing with non-multiple-of-8 image sizes (#2508).
Carl Hetherington [Sun, 2 Jul 2023 21:24:24 +0000 (23:24 +0200)]
Bump ffmpeg for fix to EXR parsing with non-multiple-of-8 image sizes (#2508).

8 months agoSupporters update.
Carl Hetherington [Fri, 11 Aug 2023 22:49:29 +0000 (00:49 +0200)]
Supporters update.

8 months agoBump libdcp for verification of <LabelText> in <ContentVersion>
Carl Hetherington [Fri, 11 Aug 2023 22:22:14 +0000 (00:22 +0200)]
Bump libdcp for verification of <LabelText> in <ContentVersion>

8 months agoPrevent empty <LabelText> in <ContentVersion> (#2594).
Carl Hetherington [Fri, 11 Aug 2023 22:13:08 +0000 (00:13 +0200)]
Prevent empty <LabelText> in <ContentVersion> (#2594).

8 months agoFix tests on Windows.
Carl Hetherington [Thu, 10 Aug 2023 21:12:09 +0000 (23:12 +0200)]
Fix tests on Windows.

8 months agoBump libdcp to a release version.
Carl Hetherington [Wed, 9 Aug 2023 08:17:21 +0000 (10:17 +0200)]
Bump libdcp to a release version.

8 months agoCleanup: tidy Playlist::move_later().
Carl Hetherington [Tue, 8 Aug 2023 21:53:52 +0000 (23:53 +0200)]
Cleanup: tidy Playlist::move_later().

8 months agoAdd some tests.
Carl Hetherington [Tue, 8 Aug 2023 21:53:42 +0000 (23:53 +0200)]
Add some tests.

8 months agoFix some missed includes of the old boost bind header.
Carl Hetherington [Tue, 8 Aug 2023 16:32:14 +0000 (18:32 +0200)]
Fix some missed includes of the old boost bind header.

8 months agoMove ContentSorter out of the header, and use a default constructor.
Carl Hetherington [Tue, 8 Aug 2023 16:32:03 +0000 (18:32 +0200)]
Move ContentSorter out of the header, and use a default constructor.

8 months agoExtract Film::Property to its own header to (maybe) increase compilation speed.
Carl Hetherington [Tue, 8 Aug 2023 16:11:11 +0000 (18:11 +0200)]
Extract Film::Property to its own header to (maybe) increase compilation speed.

8 months agoCleanup: use some better variable names and tidy ifs.
Carl Hetherington [Tue, 8 Aug 2023 13:26:05 +0000 (15:26 +0200)]
Cleanup: use some better variable names and tidy ifs.

8 months agoCleanup: use nullptr.
Carl Hetherington [Tue, 8 Aug 2023 13:25:47 +0000 (15:25 +0200)]
Cleanup: use nullptr.

8 months agoCleanup: use a better loop variable name.
Carl Hetherington [Tue, 8 Aug 2023 13:25:42 +0000 (15:25 +0200)]
Cleanup: use a better loop variable name.

8 months agoCleanup: use a std::find_if().
Carl Hetherington [Tue, 8 Aug 2023 13:17:46 +0000 (15:17 +0200)]
Cleanup: use a std::find_if().

8 months agoAdd a test.
Carl Hetherington [Tue, 8 Aug 2023 13:16:35 +0000 (15:16 +0200)]
Add a test.

8 months agoCleanup: use a default constructor.
Carl Hetherington [Tue, 8 Aug 2023 13:06:56 +0000 (15:06 +0200)]
Cleanup: use a default constructor.

8 months agoCleanup: use a lambda.
Carl Hetherington [Tue, 8 Aug 2023 13:06:49 +0000 (15:06 +0200)]
Cleanup: use a lambda.

8 months agoCleanup: use some better loop variable names.
Carl Hetherington [Tue, 8 Aug 2023 13:06:39 +0000 (15:06 +0200)]
Cleanup: use some better loop variable names.

8 months agoAdd new hack.
Carl Hetherington [Wed, 2 Aug 2023 15:28:39 +0000 (17:28 +0200)]
Add new hack.

8 months agoAdd hint about audio channel count.
Carl Hetherington [Sun, 30 Jul 2023 22:34:22 +0000 (00:34 +0200)]
Add hint about audio channel count.

8 months agoDefault to writing 8 audio channels in DCPs (#2443).
Carl Hetherington [Tue, 25 Jul 2023 09:09:46 +0000 (11:09 +0200)]
Default to writing 8 audio channels in DCPs (#2443).

It seems likely that 8 channels is slightly less likely to trip validation
warnings from some distributors, and so it seems worth accepting the potential
waste of 2 channels.  Users can always set this back to 6 again (once,
and it will be saved) and those upgrading from old versions won't be affected
anyway.

8 months agoGo back to respecting the user's choice for the number of audio channels in the MXF.
Carl Hetherington [Tue, 25 Jul 2023 09:04:30 +0000 (11:04 +0200)]
Go back to respecting the user's choice for the number of audio channels in the MXF.

8 months agoOnly warn about a missing text language for subtitles (not closed captions).
Carl Hetherington [Sun, 30 Jul 2023 22:51:11 +0000 (00:51 +0200)]
Only warn about a missing text language for subtitles (not closed captions).

I haven't properly checked that closed captions shouldn't have some
language metadata, but the existing GUI code explicitly disallows
setup of a closed caption language.

9 months agoCheck channel count when comparing audio MXFs.
Carl Hetherington [Sat, 29 Jul 2023 00:27:02 +0000 (02:27 +0200)]
Check channel count when comparing audio MXFs.

9 months agoDon't check sound assets in some tests.
Carl Hetherington [Sat, 29 Jul 2023 00:26:33 +0000 (02:26 +0200)]
Don't check sound assets in some tests.

When fiddling with MXF channel counts it makes a lot of tests fail
that probably don't need to.

9 months agoBump libdcp to one with some cleanups / header re-arrangement.
Carl Hetherington [Tue, 25 Jul 2023 20:49:23 +0000 (22:49 +0200)]
Bump libdcp to one with some cleanups / header re-arrangement.

9 months agoAdd stubs for Georgian (ka_KA) language support.
Carl Hetherington [Sun, 23 Jul 2023 22:01:22 +0000 (00:01 +0200)]
Add stubs for Georgian (ka_KA) language support.

9 months agoFix copy-paste error.
Carl Hetherington [Sun, 23 Jul 2023 22:01:04 +0000 (00:01 +0200)]
Fix copy-paste error.

9 months agoCleanup: lengthen some short variable names.
Carl Hetherington [Sat, 22 Jul 2023 15:32:45 +0000 (17:32 +0200)]
Cleanup: lengthen some short variable names.

9 months agoSupporters update. v2.16.60
Carl Hetherington [Wed, 19 Jul 2023 08:05:50 +0000 (10:05 +0200)]
Supporters update.

9 months agoUpdated zh_CN translation from Akivili Collindort.
Carl Hetherington [Wed, 19 Jul 2023 08:04:56 +0000 (10:04 +0200)]
Updated zh_CN translation from Akivili Collindort.

9 months agoThis check used to be for asset channel count mismatches, then it was
Carl Hetherington [Mon, 17 Jul 2023 21:14:38 +0000 (23:14 +0200)]
This check used to be for asset channel count mismatches, then it was
changed to the active count, but I don't think it should be an error
to have different active counts between assets of a single DCP.

9 months agoCleanup: member variable name standard.
Carl Hetherington [Fri, 7 Jul 2023 11:58:28 +0000 (13:58 +0200)]
Cleanup: member variable name standard.

9 months agoFix crash if an exception is thrown before the splash screen is created.
Carl Hetherington [Sun, 2 Jul 2023 21:51:55 +0000 (23:51 +0200)]
Fix crash if an exception is thrown before the splash screen is created.

9 months agoDon't insert incorrect <Effect> nodes into metadata (#2581).
Carl Hetherington [Sun, 2 Jul 2023 20:03:28 +0000 (22:03 +0200)]
Don't insert incorrect <Effect> nodes into metadata (#2581).

Previously we would add assume Effect=none (i.e. force all subtitles
to have no effect) if neither of the legacy tags Border or Shadow
were present in the metadata.  In this case we should just leave
Effect as unset.

9 months agoAdd another test.
Carl Hetherington [Fri, 30 Jun 2023 22:05:20 +0000 (00:05 +0200)]
Add another test.

9 months agoDon't write MainSoundConfiguration with 71 when we only have HI/VI (#2580).
Carl Hetherington [Fri, 30 Jun 2023 21:54:42 +0000 (23:54 +0200)]
Don't write MainSoundConfiguration with 71 when we only have HI/VI (#2580).

9 months agoAdd channel_is_mapped().
Carl Hetherington [Fri, 30 Jun 2023 21:53:57 +0000 (23:53 +0200)]
Add channel_is_mapped().