libdcp.git
3 years agoApply the same rules to closed captions.
Carl Hetherington [Fri, 20 Nov 2020 01:28:22 +0000 (02:28 +0100)]
Apply the same rules to closed captions.

3 years agoTidy up handling of language metadata for subtitles.
Carl Hetherington [Thu, 19 Nov 2020 23:40:35 +0000 (00:40 +0100)]
Tidy up handling of language metadata for subtitles.

Tried to normalise the idea that subtitle languages are stored as
strings but set as LanguageTags.  This may be too defensive; perhaps
SMPTE language metadata is always right, or perhaps even if it isn't
we should throw errors.

3 years agoFix missing const.
Carl Hetherington [Sun, 15 Nov 2020 23:09:19 +0000 (00:09 +0100)]
Fix missing const.

3 years agoFix dcpkdm script when run from another directory.
Carl Hetherington [Sun, 15 Nov 2020 20:46:05 +0000 (21:46 +0100)]
Fix dcpkdm script when run from another directory.

3 years agoTweak formatting.
Carl Hetherington [Sat, 14 Nov 2020 18:52:05 +0000 (19:52 +0100)]
Tweak formatting.

3 years agoMake StereoPictureFrame expose the Data API in a similar way to MonoPictureFrame.
Carl Hetherington [Sun, 1 Nov 2020 22:37:31 +0000 (23:37 +0100)]
Make StereoPictureFrame expose the Data API in a similar way to MonoPictureFrame.

3 years agoMake MonoPictureAsset implement the Data interface.
Carl Hetherington [Sun, 1 Nov 2020 21:42:36 +0000 (22:42 +0100)]
Make MonoPictureAsset implement the Data interface.

3 years agoMissing return value check.
Carl Hetherington [Sun, 1 Nov 2020 21:31:48 +0000 (22:31 +0100)]
Missing return value check.

3 years agoUse some shared_ptr<> instead of raw pointers.
Carl Hetherington [Sat, 31 Oct 2020 22:10:39 +0000 (23:10 +0100)]
Use some shared_ptr<> instead of raw pointers.

3 years agoAdd Data class and change API to a raw pointer.
Carl Hetherington [Sat, 31 Oct 2020 21:44:28 +0000 (22:44 +0100)]
Add Data class and change API to a raw pointer.

3 years agoRename Data -> ArrayData.
Carl Hetherington [Thu, 29 Oct 2020 23:50:57 +0000 (00:50 +0100)]
Rename Data -> ArrayData.

3 years agoMove benchmark out of test/ into benchmark/
Carl Hetherington [Wed, 28 Oct 2020 14:49:15 +0000 (15:49 +0100)]
Move benchmark out of test/ into benchmark/

3 years agoAdd path for macOS tests.
Carl Hetherington [Fri, 23 Oct 2020 20:55:27 +0000 (22:55 +0200)]
Add path for macOS tests.

3 years agoCleanup old path.
Carl Hetherington [Fri, 23 Oct 2020 20:52:38 +0000 (22:52 +0200)]
Cleanup old path.

3 years agomacOS / new boost build fixes.
Carl Hetherington [Fri, 23 Oct 2020 19:44:09 +0000 (21:44 +0200)]
macOS / new boost build fixes.

3 years agoEnable building tests on macOS.
Carl Hetherington [Fri, 23 Oct 2020 19:22:16 +0000 (21:22 +0200)]
Enable building tests on macOS.

3 years agoTidy up some constant naming.
Carl Hetherington [Thu, 22 Oct 2020 21:22:29 +0000 (23:22 +0200)]
Tidy up some constant naming.

3 years agomacOS / boost 1.74 build fixes.
Carl Hetherington [Tue, 20 Oct 2020 22:20:33 +0000 (00:20 +0200)]
macOS / boost 1.74 build fixes.

3 years agoMove a bind.hpp include out of a header.
Carl Hetherington [Tue, 20 Oct 2020 20:09:32 +0000 (22:09 +0200)]
Move a bind.hpp include out of a header.

3 years agoFix crash when loading DCPs whose ASSETMAP contains files that are
Carl Hetherington [Sat, 10 Oct 2020 16:58:05 +0000 (18:58 +0200)]
Fix crash when loading DCPs whose ASSETMAP contains files that are
not mentioned in any PKL (#1855).

3 years agoMissing error checking on writing KDMs as XML.
Carl Hetherington [Tue, 6 Oct 2020 09:26:14 +0000 (11:26 +0200)]
Missing error checking on writing KDMs as XML.

3 years agoWe should not carry on if files don't open in tests.
Carl Hetherington [Tue, 6 Oct 2020 09:26:03 +0000 (11:26 +0200)]
We should not carry on if files don't open in tests.

3 years agoFix install of .xsd files to be more robust.
Carl Hetherington [Sun, 27 Sep 2020 19:04:25 +0000 (21:04 +0200)]
Fix install of .xsd files to be more robust.

3 years ago<ContentVersion> is optional in Interop so we can't assume it's there.
Carl Hetherington [Sun, 27 Sep 2020 18:20:23 +0000 (20:20 +0200)]
<ContentVersion> is optional in Interop so we can't assume it's there.

3 years agoLoad language tags from on-disk files rather than embedding them
Carl Hetherington [Sun, 27 Sep 2020 17:32:15 +0000 (19:32 +0200)]
Load language tags from on-disk files rather than embedding them
into a .cc.

The .cc method causes compile times (and memory requirements) increase
enormously with some compilers.

3 years agoDeclare language tag lists as const.
Carl Hetherington [Sat, 26 Sep 2020 09:26:50 +0000 (11:26 +0200)]
Declare language tag lists as const.

3 years agoMissing virtual destructor.
Carl Hetherington [Sat, 26 Sep 2020 08:54:04 +0000 (10:54 +0200)]
Missing virtual destructor.

3 years agoFix thinko.
Carl Hetherington [Fri, 25 Sep 2020 20:36:47 +0000 (22:36 +0200)]
Fix thinko.

3 years agoHide unused audio channels a bit more clearly, not giving them
Carl Hetherington [Wed, 23 Sep 2020 20:32:45 +0000 (22:32 +0200)]
Hide unused audio channels a bit more clearly, not giving them
names any more.  Add dcp::used_audio_channels().

3 years agoDon't fail to write CPL if no content version has been set up.
Carl Hetherington [Wed, 23 Sep 2020 18:15:35 +0000 (20:15 +0200)]
Don't fail to write CPL if no content version has been set up.

3 years agoFix crashes when static linking due to tricky lifetime crash
Carl Hetherington [Mon, 21 Sep 2020 20:33:43 +0000 (22:33 +0200)]
Fix crashes when static linking due to tricky lifetime
management of ASDCP::DefaultSMPTEDict().

3 years agoBetter error locations in XML.
Carl Hetherington [Sun, 20 Sep 2020 23:04:30 +0000 (01:04 +0200)]
Better error locations in XML.

3 years agoAdapt for changes in parent branch, and test churn.
Carl Hetherington [Sun, 20 Sep 2020 22:53:55 +0000 (00:53 +0200)]
Adapt for changes in parent branch, and test churn.

3 years agoVerify MCA tags.
Carl Hetherington [Tue, 8 Sep 2020 18:42:55 +0000 (20:42 +0200)]
Verify MCA tags.

3 years agoAdd another test.
Carl Hetherington [Mon, 7 Sep 2020 21:46:32 +0000 (23:46 +0200)]
Add another test.

3 years agoSupport MCA sound channel tags in MXF/CPL.
Carl Hetherington [Sun, 6 Sep 2020 18:10:13 +0000 (20:10 +0200)]
Support MCA sound channel tags in MXF/CPL.

3 years agoAdd another .xsd.
Carl Hetherington [Thu, 3 Sep 2020 18:42:47 +0000 (20:42 +0200)]
Add another .xsd.

3 years agoAdd extra parameter to Interop subtitles seen in the wild.
Carl Hetherington [Thu, 3 Sep 2020 10:10:38 +0000 (12:10 +0200)]
Add extra parameter to Interop subtitles seen in the wild.

3 years agoAdd namespaces and tweak CPL namespace so Xerces checks CompositionMetadataAsset.
Carl Hetherington [Thu, 3 Sep 2020 10:10:27 +0000 (12:10 +0200)]
Add namespaces and tweak CPL namespace so Xerces checks CompositionMetadataAsset.

3 years agoMissing note type when filtering out missing asset errors.
Carl Hetherington [Thu, 3 Sep 2020 10:09:53 +0000 (12:09 +0200)]
Missing note type when filtering out missing asset errors.

3 years agoAdd some new verification tests.
Carl Hetherington [Thu, 3 Sep 2020 10:09:39 +0000 (12:09 +0200)]
Add some new verification tests.

3 years agoRemove stdout noise from tests.
Carl Hetherington [Thu, 3 Sep 2020 10:09:11 +0000 (12:09 +0200)]
Remove stdout noise from tests.

3 years agoAccept missing MainSoundConfiguration and MainSoundSampleRate, for better or for...
Carl Hetherington [Thu, 3 Sep 2020 10:06:49 +0000 (12:06 +0200)]
Accept missing MainSoundConfiguration and MainSoundSampleRate, for better or for worse.

3 years agoRun dcpverify on everything in the libdcp-test-private metadata set.
Carl Hetherington [Thu, 3 Sep 2020 10:05:55 +0000 (12:05 +0200)]
Run dcpverify on everything in the libdcp-test-private metadata set.

3 years agoTidy up test output slightly.
Carl Hetherington [Thu, 3 Sep 2020 10:05:42 +0000 (12:05 +0200)]
Tidy up test output slightly.

3 years agoHide an expected error from asdcplib.
Carl Hetherington [Thu, 3 Sep 2020 10:05:05 +0000 (12:05 +0200)]
Hide an expected error from asdcplib.

3 years agoCatch cxml errors when verifying.
Carl Hetherington [Thu, 3 Sep 2020 10:04:50 +0000 (12:04 +0200)]
Catch cxml errors when verifying.

3 years agoAdd --ignore-missing-assets and --quiet to dcpverify.
Carl Hetherington [Thu, 3 Sep 2020 10:02:16 +0000 (12:02 +0200)]
Add --ignore-missing-assets and --quiet to dcpverify.

3 years agoAdd ASDCPErrorSuspender to hide errors from asdcplib where we expect them.
Carl Hetherington [Thu, 3 Sep 2020 10:01:34 +0000 (12:01 +0200)]
Add ASDCPErrorSuspender to hide errors from asdcplib where we expect them.

3 years agoUse EditRate::as_string().
Carl Hetherington [Thu, 3 Sep 2020 10:00:37 +0000 (12:00 +0200)]
Use EditRate::as_string().

3 years agoSupport CPL metadata.
Carl Hetherington [Thu, 27 Aug 2020 20:59:12 +0000 (22:59 +0200)]
Support CPL metadata.

3 years agoAdd some new channels to the enum.
Carl Hetherington [Thu, 27 Aug 2020 20:53:56 +0000 (22:53 +0200)]
Add some new channels to the enum.

3 years agoAllow LanguageTag to be constructed from a tag string.
Carl Hetherington [Thu, 27 Aug 2020 20:48:00 +0000 (22:48 +0200)]
Allow LanguageTag to be constructed from a tag string.

3 years agoUse vector for the Ratings list.
Carl Hetherington [Thu, 27 Aug 2020 22:05:54 +0000 (00:05 +0200)]
Use vector for the Ratings list.

3 years agoUse a vector<ContentVersion> instead of just one, to support the
Carl Hetherington [Thu, 27 Aug 2020 22:05:46 +0000 (00:05 +0200)]
Use a vector<ContentVersion> instead of just one, to support the
new metadata.

3 years agoTidy up a bit; vertical white space, group metadata together,
Carl Hetherington [Wed, 26 Aug 2020 21:24:58 +0000 (23:24 +0200)]
Tidy up a bit; vertical white space, group metadata together,
order accessors the same as members, getter before setter.

3 years agoAdd ContentVersion class.
Carl Hetherington [Wed, 26 Aug 2020 21:02:10 +0000 (23:02 +0200)]
Add ContentVersion class.

3 years agoAdd new LanguageTag class.
Carl Hetherington [Sun, 23 Aug 2020 20:06:29 +0000 (22:06 +0200)]
Add new LanguageTag class.

The scripts/update-language-subtags script will download the RFC 5646
registry and write it to src/language_tag_lists.cc.  This may need
to be re-run if the subtags change.

3 years agoAdd a new exception for problems with LanguageTag.
Carl Hetherington [Sun, 23 Aug 2020 20:06:00 +0000 (22:06 +0200)]
Add a new exception for problems with LanguageTag.

3 years agoSkip post-test checks if not all unit tests are run.
Carl Hetherington [Wed, 19 Aug 2020 19:09:20 +0000 (21:09 +0200)]
Skip post-test checks if not all unit tests are run.

3 years agoRemove XMLMetadata.
Carl Hetherington [Wed, 19 Aug 2020 16:54:41 +0000 (18:54 +0200)]
Remove XMLMetadata.

3 years agoRemove XMLMetadata use from tests.
Carl Hetherington [Wed, 19 Aug 2020 16:52:45 +0000 (18:52 +0200)]
Remove XMLMetadata use from tests.

3 years agoRemove XMLMetadata from DCP::write_xml and DCP::write_assetmap.
Carl Hetherington [Wed, 19 Aug 2020 15:04:28 +0000 (17:04 +0200)]
Remove XMLMetadata from DCP::write_xml and DCP::write_assetmap.

3 years agoStop using XMLMetadata in CPL. It's always felt a bit clumsy, and
Carl Hetherington [Wed, 19 Aug 2020 14:36:09 +0000 (16:36 +0200)]
Stop using XMLMetadata in CPL.  It's always felt a bit clumsy, and
with the CPL metadata extension having a method like set_metadata()
in CPL will be confusing.

3 years agoAvoid copying a large amount of stuff when running tests.
Carl Hetherington [Fri, 18 Sep 2020 21:40:39 +0000 (23:40 +0200)]
Avoid copying a large amount of stuff when running tests.

3 years agoPrevent DCP::assets() from returning duplicates. combine
Carl Hetherington [Thu, 17 Sep 2020 12:00:21 +0000 (14:00 +0200)]
Prevent DCP::assets() from returning duplicates.

3 years agoAdd dcp::combine().
Carl Hetherington [Wed, 9 Sep 2020 21:55:49 +0000 (23:55 +0200)]
Add dcp::combine().

3 years agoFix crash with one verification error and no notes list.
Carl Hetherington [Thu, 10 Sep 2020 23:01:07 +0000 (01:01 +0200)]
Fix crash with one verification error and no notes list.

3 years agoAdd Interop closed caption XSD for verification.
Carl Hetherington [Thu, 10 Sep 2020 22:36:00 +0000 (00:36 +0200)]
Add Interop closed caption XSD for verification.

3 years agoAdd set_font_file()
Carl Hetherington [Thu, 10 Sep 2020 21:37:32 +0000 (23:37 +0200)]
Add set_font_file()

3 years agoAdd font_filenames()
Carl Hetherington [Thu, 10 Sep 2020 21:37:23 +0000 (23:37 +0200)]
Add font_filenames()

3 years agoAdd EqualityOptions option to ignore differences in LoadFont nodes.
Carl Hetherington [Thu, 10 Sep 2020 21:37:16 +0000 (23:37 +0200)]
Add EqualityOptions option to ignore differences in LoadFont nodes.

3 years agoUse Data::write() to clean things up slightly.
Carl Hetherington [Thu, 10 Sep 2020 20:16:43 +0000 (22:16 +0200)]
Use Data::write() to clean things up slightly.

3 years agoRename fonts_with_load_ids() -> font_data()
Carl Hetherington [Thu, 10 Sep 2020 20:08:27 +0000 (22:08 +0200)]
Rename fonts_with_load_ids() -> font_data()

3 years agoMessage formatting tweaks.
Carl Hetherington [Wed, 9 Sep 2020 21:54:21 +0000 (23:54 +0200)]
Message formatting tweaks.

3 years agoMissing namespace.
Carl Hetherington [Wed, 9 Sep 2020 21:54:09 +0000 (23:54 +0200)]
Missing namespace.

3 years agoAdd some detail to a verification warning.
Carl Hetherington [Wed, 9 Sep 2020 21:54:05 +0000 (23:54 +0200)]
Add some detail to a verification warning.

3 years agoMove make_simple() into test.{cc,h}
Carl Hetherington [Wed, 9 Sep 2020 21:18:28 +0000 (23:18 +0200)]
Move make_simple() into test.{cc,h}

3 years agoFix comment typo.
Carl Hetherington [Wed, 9 Sep 2020 21:10:38 +0000 (23:10 +0200)]
Fix comment typo.

3 years agoUse the <Id> read in when the Reel was created from XML (if appropriate)
Carl Hetherington [Wed, 9 Sep 2020 20:41:52 +0000 (22:41 +0200)]
Use the <Id> read in when the Reel was created from XML (if appropriate)
when writing it out again, rather than creating a new one each time.

Also there is the associated test churn here from removing a call
to make_uuid().

3 years agoAdd SubtitleString::unset_font.
Carl Hetherington [Tue, 25 Aug 2020 21:12:22 +0000 (23:12 +0200)]
Add SubtitleString::unset_font.

3 years agoSlightly nicer errors from dcpkdm.
Carl Hetherington [Wed, 12 Aug 2020 22:45:42 +0000 (00:45 +0200)]
Slightly nicer errors from dcpkdm.

3 years agoFix off-by-one in display of month numbers in dcpkdm.
Carl Hetherington [Wed, 12 Aug 2020 22:25:54 +0000 (00:25 +0200)]
Fix off-by-one in display of month numbers in dcpkdm.

3 years agoBump libcxml.
Carl Hetherington [Tue, 28 Jul 2020 11:02:51 +0000 (13:02 +0200)]
Bump libcxml.

3 years agoFix some unused variable warnings.
Carl Hetherington [Mon, 27 Jul 2020 09:04:34 +0000 (11:04 +0200)]
Fix some unused variable warnings.

3 years agoFix up some tests.
Carl Hetherington [Sun, 12 Jul 2020 13:37:13 +0000 (15:37 +0200)]
Fix up some tests.

3 years agoMove atmos_pcm.mxf in the test repo.
Carl Hetherington [Sun, 12 Jul 2020 13:17:17 +0000 (15:17 +0200)]
Move atmos_pcm.mxf in the test repo.

3 years agoAllow creation of ATMOS sync on channel 14.
Carl Hetherington [Fri, 10 Jul 2020 22:12:50 +0000 (00:12 +0200)]
Allow creation of ATMOS sync on channel 14.

3 years agoFix parameters when running tests with valgrind.
Carl Hetherington [Fri, 10 Jul 2020 22:12:02 +0000 (00:12 +0200)]
Fix parameters when running tests with valgrind.

3 years agoHopefully make all tests stable enough to be run with --random,
Carl Hetherington [Sat, 11 Jul 2020 19:11:48 +0000 (21:11 +0200)]
Hopefully make all tests stable enough to be run with --random,
stopping test reference churn.

3 years agoAdd xmllint to the tools check.
Carl Hetherington [Fri, 3 Jul 2020 20:54:44 +0000 (22:54 +0200)]
Add xmllint to the tools check.

3 years agoShow CPL IDs in dcpinfo.
Carl Hetherington [Fri, 19 Jun 2020 18:42:17 +0000 (20:42 +0200)]
Show CPL IDs in dcpinfo.

3 years agoFormatting fix.
Carl Hetherington [Fri, 19 Jun 2020 18:42:13 +0000 (20:42 +0200)]
Formatting fix.

3 years agoFix test now that Atmos asset ID is correctly read from the MXF.
Carl Hetherington [Fri, 19 Jun 2020 11:28:21 +0000 (11:28 +0000)]
Fix test now that Atmos asset ID is correctly read from the MXF.

3 years agoFix missing Key ID when writing details of encrypted Atmos assets to CPL.
Carl Hetherington [Fri, 19 Jun 2020 11:15:13 +0000 (13:15 +0200)]
Fix missing Key ID when writing details of encrypted Atmos assets to CPL.

3 years agoAdd and use new write_to_cpl_mxf().
Carl Hetherington [Fri, 19 Jun 2020 11:14:38 +0000 (13:14 +0200)]
Add and use new write_to_cpl_mxf().

3 years agoRename write_to_cpl_base -> write_to_cpl_asset.
Carl Hetherington [Fri, 19 Jun 2020 11:14:03 +0000 (13:14 +0200)]
Rename write_to_cpl_base -> write_to_cpl_asset.

3 years agoHeader guard.
Carl Hetherington [Fri, 19 Jun 2020 11:12:16 +0000 (13:12 +0200)]
Header guard.

3 years agoMissing set up of AtmosVersion when writing Atmos assets.
Carl Hetherington [Fri, 19 Jun 2020 11:12:12 +0000 (13:12 +0200)]
Missing set up of AtmosVersion when writing Atmos assets.

3 years agoAdd wrapper for AtmosAssetWriter::write to write a frame.
Carl Hetherington [Fri, 19 Jun 2020 11:11:49 +0000 (13:11 +0200)]
Add wrapper for AtmosAssetWriter::write to write a frame.