libdcp.git
3 years agomacos branch macos
Carl Hetherington [Sun, 17 Jan 2021 16:29:43 +0000 (17:29 +0100)]
macos branch

3 years agoFix macOS test environment path.
Carl Hetherington [Sun, 17 Jan 2021 12:07:56 +0000 (13:07 +0100)]
Fix macOS test environment path.

3 years agoBump libcxml.
Carl Hetherington [Fri, 8 Jan 2021 20:51:10 +0000 (21:51 +0100)]
Bump libcxml.

3 years agoMore c++11 tidying.
Carl Hetherington [Fri, 8 Jan 2021 20:49:47 +0000 (21:49 +0100)]
More c++11 tidying.

3 years agoc++11 tidying.
Carl Hetherington [Fri, 8 Jan 2021 16:43:59 +0000 (17:43 +0100)]
c++11 tidying.

3 years agoRemove use of xmldiff in tests.
Carl Hetherington [Fri, 8 Jan 2021 16:43:49 +0000 (17:43 +0100)]
Remove use of xmldiff in tests.

3 years agostd::shared_ptr
Carl Hetherington [Sun, 20 Dec 2020 13:14:07 +0000 (14:14 +0100)]
std::shared_ptr

3 years agoFix test following previous commit.
Carl Hetherington [Thu, 7 Jan 2021 23:35:07 +0000 (00:35 +0100)]
Fix test following previous commit.

3 years agoAccept fonts as data blocks rather than files.
Carl Hetherington [Sun, 20 Dec 2020 22:49:48 +0000 (23:49 +0100)]
Accept fonts as data blocks rather than files.

3 years agoFix equals() with image subtitles to not compare unique IDs.
Carl Hetherington [Wed, 2 Dec 2020 09:09:30 +0000 (10:09 +0100)]
Fix equals() with image subtitles to not compare unique IDs.

Also add an option to save subtitle images to PNGs when they differ.

3 years agoAdd operator!= for Data.
Carl Hetherington [Wed, 2 Dec 2020 09:09:06 +0000 (10:09 +0100)]
Add operator!= for Data.

3 years agoFix terrible SoundAsset::equals() implementation.
Carl Hetherington [Sun, 29 Nov 2020 19:57:57 +0000 (20:57 +0100)]
Fix terrible SoundAsset::equals() implementation.

It would check individual bytes of samples to see if they differed
by more than the threshold.  Not only is this almost useless, but
the default threshold is 256 so with the default settings it would
always say that two assets of the same length (and channels, etc.)
were the same, even if the sample data was different.

3 years agoFix SoundFrame::get().
Carl Hetherington [Sun, 29 Nov 2020 19:57:09 +0000 (20:57 +0100)]
Fix SoundFrame::get().

The old version did not deal with signed-ness correctly.  I think
this version is slightly dodgy in that it assumes 2s complement,
but that's probably not so bad.

3 years agoAdd SoundFrame::channels().
Carl Hetherington [Sun, 29 Nov 2020 19:56:37 +0000 (20:56 +0100)]
Add SoundFrame::channels().

3 years agoAdd comment.
Carl Hetherington [Sun, 29 Nov 2020 19:56:11 +0000 (20:56 +0100)]
Add comment.

3 years agoAdd set_hash() method to ReelMXF.
Carl Hetherington [Wed, 25 Nov 2020 22:32:44 +0000 (23:32 +0100)]
Add set_hash() method to ReelMXF.

3 years agoSeems like an oversight that MainSubtitleLanguageList had no namespace.
Carl Hetherington [Sun, 22 Nov 2020 22:24:16 +0000 (23:24 +0100)]
Seems like an oversight that MainSubtitleLanguageList had no namespace.

3 years agoAdd SMPTE Bv2.1 ExtensionMetadata.
Carl Hetherington [Sun, 22 Nov 2020 22:19:35 +0000 (23:19 +0100)]
Add SMPTE Bv2.1 ExtensionMetadata.

3 years agoBetter equality-failure error messages.
Carl Hetherington [Sat, 21 Nov 2020 01:32:08 +0000 (02:32 +0100)]
Better equality-failure error messages.

3 years agoMore detailed error with inequality.
Carl Hetherington [Fri, 20 Nov 2020 23:04:01 +0000 (00:04 +0100)]
More detailed error with inequality.

3 years agoFix crash on comparing reels with and without markers.
Carl Hetherington [Fri, 20 Nov 2020 23:03:51 +0000 (00:03 +0100)]
Fix crash on comparing reels with and without markers.

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.