Carl Hetherington [Sat, 30 Apr 2022 18:33:01 +0000 (20:33 +0200)]
Rename PKL::write to PKL::write_xml for consistency.
Carl Hetherington [Mon, 25 Apr 2022 22:32:29 +0000 (00:32 +0200)]
Add move constructor/operator=.
Carl Hetherington [Mon, 25 Apr 2022 22:32:21 +0000 (00:32 +0200)]
Add CPL::set().
Carl Hetherington [Mon, 25 Apr 2022 21:49:00 +0000 (23:49 +0200)]
Add AssetList to extract some boilerplate from AssetMap and PKL.
Carl Hetherington [Mon, 25 Apr 2022 21:31:13 +0000 (23:31 +0200)]
Tidy up write_xml() API a little.
Carl Hetherington [Mon, 25 Apr 2022 20:53:25 +0000 (22:53 +0200)]
Add a test for reading, changing, then writing a DCP.
Carl Hetherington [Mon, 25 Apr 2022 20:53:14 +0000 (22:53 +0200)]
Improve an exception's description.
Carl Hetherington [Mon, 25 Apr 2022 19:59:26 +0000 (21:59 +0200)]
Update PKL assets before writing it.
Carl Hetherington [Mon, 25 Apr 2022 08:26:11 +0000 (10:26 +0200)]
Move AssetMap handling out to a separate class.
Carl Hetherington [Sun, 24 Apr 2022 19:29:02 +0000 (21:29 +0200)]
Add copy constructor for Object.
Carl Hetherington [Sun, 24 Apr 2022 19:27:08 +0000 (21:27 +0200)]
Tidying.
Carl Hetherington [Sun, 24 Apr 2022 19:29:15 +0000 (21:29 +0200)]
Fix some incorrect comments.
Carl Hetherington [Fri, 22 Apr 2022 10:07:31 +0000 (12:07 +0200)]
Hide some more warnings from asdcplib on clang.
Carl Hetherington [Fri, 22 Apr 2022 09:54:15 +0000 (11:54 +0200)]
C++11 tidying.
Carl Hetherington [Fri, 22 Apr 2022 09:33:54 +0000 (11:33 +0200)]
Fix some class/struct warnings on macOS.
Carl Hetherington [Fri, 22 Apr 2022 09:26:59 +0000 (11:26 +0200)]
Don't specify no-default-inline on clang as it's not supported.
Carl Hetherington [Fri, 22 Apr 2022 09:08:54 +0000 (11:08 +0200)]
Fix some macOS signed/unsigned warnings.
Carl Hetherington [Fri, 22 Apr 2022 08:50:20 +0000 (10:50 +0200)]
Don't try to ignore a non-existent warning on clang.
Carl Hetherington [Thu, 21 Apr 2022 22:19:57 +0000 (00:19 +0200)]
Missing warning ignore with older GCCs.
Carl Hetherington [Thu, 21 Apr 2022 14:18:45 +0000 (16:18 +0200)]
Fix unsigned/signed warning on macOS.
Carl Hetherington [Wed, 20 Apr 2022 18:35:28 +0000 (20:35 +0200)]
Fix cscript after change to gcov flag.
Carl Hetherington [Wed, 20 Apr 2022 18:20:26 +0000 (20:20 +0200)]
Invert the sense of the gcov flag.
Carl Hetherington [Tue, 4 Jan 2022 20:54:24 +0000 (20:54 +0000)]
Fix failure to find_and_resolve_all_cpls() in some cases.
It seems to me that we need to ignore as-yet-unresolved assets
otherwise if we see them in the wrong order we'll throw an exception.
Carl Hetherington [Mon, 3 Jan 2022 23:27:45 +0000 (23:27 +0000)]
Simplify the implementation of DCP::add.
Carl Hetherington [Mon, 3 Jan 2022 23:27:37 +0000 (23:27 +0000)]
Add a test for DCP::add() for KDMs.
Carl Hetherington [Mon, 3 Jan 2022 23:26:49 +0000 (23:26 +0000)]
Move code to find CPLs in directories out of DCP-o-matic.
This adds find_and_resolve_cpls().
Carl Hetherington [Tue, 12 Apr 2022 20:34:04 +0000 (22:34 +0200)]
Add and use new File class.
It was always a bit troubling that fopen_boost wasn't exception safe,
and this also fixes a leak where load_ratings_list would never close
the ratings file.
Carl Hetherington [Thu, 24 Mar 2022 19:02:37 +0000 (20:02 +0100)]
Some more detailed notes in dcpdiff.
Carl Hetherington [Thu, 24 Mar 2022 00:28:16 +0000 (01:28 +0100)]
Add verify test to check for erroneous <EntryPoint> and <Duration>
tags inside <MainMarkers>
Carl Hetherington [Wed, 23 Mar 2022 23:41:32 +0000 (00:41 +0100)]
Remove <EntryPoint> and <Duration> from <ReelMarkerAsset> tags.
They should not be there:
"EntryPoint" ... "This element shall only be present when the
Asset refers to an external resource such as a Track File".
Fixes DoM bug #2215.
Carl Hetherington [Tue, 15 Mar 2022 14:32:49 +0000 (15:32 +0100)]
Nearly pretty-print subtitle XML (though not in <Text> nodes).
This is an attempt to fix DoM bug #2205.
Carl Hetherington [Tue, 15 Mar 2022 10:28:05 +0000 (11:28 +0100)]
C++11 tidying.
Carl Hetherington [Sat, 19 Mar 2022 20:39:58 +0000 (21:39 +0100)]
Add string converters for KDM formulations.
Carl Hetherington [Sat, 19 Mar 2022 20:24:54 +0000 (21:24 +0100)]
Remove old MODIFIED_TRANSITIONAL_TEST.
Carl Hetherington [Mon, 7 Mar 2022 22:10:45 +0000 (23:10 +0100)]
Some small documentation tweaks.
Carl Hetherington [Mon, 7 Mar 2022 21:16:41 +0000 (22:16 +0100)]
Tidy some includes.
Carl Hetherington [Mon, 7 Mar 2022 21:16:37 +0000 (22:16 +0100)]
Hide another warning (from ImageMagick in the examples).
Carl Hetherington [Mon, 7 Mar 2022 20:52:21 +0000 (21:52 +0100)]
Tweak path in the example.
Carl Hetherington [Thu, 3 Mar 2022 23:05:31 +0000 (00:05 +0100)]
Remove unused capture.
Carl Hetherington [Thu, 3 Mar 2022 21:28:01 +0000 (22:28 +0100)]
Fix slightly extended libxml++ dependency.
Carl Hetherington [Tue, 1 Mar 2022 16:06:26 +0000 (17:06 +0100)]
Add lists of ratings.
Carl Hetherington [Tue, 1 Mar 2022 19:29:13 +0000 (20:29 +0100)]
Make dcp::init() take a general resources directory rather than specifically tags.
Carl Hetherington [Tue, 1 Mar 2022 15:27:59 +0000 (16:27 +0100)]
Move Rating out to a separate file.
Carl Hetherington [Tue, 22 Feb 2022 21:56:48 +0000 (22:56 +0100)]
Add -x32/-x64 suffix to boost libraries when building for Windows.
Carl Hetherington [Sat, 19 Feb 2022 22:27:37 +0000 (23:27 +0100)]
Don't look for ImageMagick/GraphicsMagick if not building examples.
Carl Hetherington [Sat, 12 Feb 2022 20:22:40 +0000 (21:22 +0100)]
Pass certificate validity length into the constructor.
Carl Hetherington [Sat, 12 Feb 2022 20:15:03 +0000 (21:15 +0100)]
Cleanup: use dcp::LocalTime for certificate validity times.
Before we were using struct tm but not filling it all in, which
seems quite unpleasant.
Carl Hetherington [Mon, 17 Jan 2022 17:45:19 +0000 (18:45 +0100)]
Use optional for ReelAsset _annotation_text.
Not only is this tag optional in Interop and SMPTE, but it would
appear that if it is present but empty a DCP will not play back
on Sony SRX320 / LMT3000 systems (DoM bug #2124).
Here we use optional<>, as seems to make sense, and also refuse
to write empty tags (instead omitting the tag entirely).
Carl Hetherington [Tue, 9 Nov 2021 22:43:46 +0000 (23:43 +0100)]
Fix off-by-one in verification of closed caption line length.
Carl Hetherington [Sun, 24 Oct 2021 23:13:07 +0000 (01:13 +0200)]
Message tweak.
Carl Hetherington [Mon, 18 Oct 2021 06:55:27 +0000 (08:55 +0200)]
Order subtitles in the XML according to their vertical position (DoM bug #2106).
Carl Hetherington [Sat, 23 Oct 2021 21:51:49 +0000 (23:51 +0200)]
Allow specification of valign when writing verify tests.
Carl Hetherington [Mon, 18 Oct 2021 06:55:07 +0000 (08:55 +0200)]
Remove some unused using statements.
Carl Hetherington [Wed, 13 Oct 2021 20:18:59 +0000 (22:18 +0200)]
Basic implementation of <Space> tag in subtitles.
Carl Hetherington [Sun, 10 Oct 2021 20:38:03 +0000 (22:38 +0200)]
Remove some unused using commands.
Carl Hetherington [Fri, 8 Oct 2021 10:08:10 +0000 (12:08 +0200)]
Fix problems when adding KDMs to a VF, before adding the OV.
If we have a KDM which contains keys for all the assets referred
to by a VF (even the ones in the OV) we would previously throw
an exception because we tried to give the KDM to the resolved
assets when it was given to the Reel.
Here we change things so that the addition of KDMs to assets can
be deferred if the asset is not yet resolved.
Carl Hetherington [Tue, 5 Oct 2021 23:17:52 +0000 (01:17 +0200)]
Fix incorrect error code (2K when it should be 4K).
Carl Hetherington [Tue, 5 Oct 2021 23:17:35 +0000 (01:17 +0200)]
Tweak comments for the DoM manual.
Carl Hetherington [Tue, 5 Oct 2021 19:02:40 +0000 (21:02 +0200)]
Remove an unnecessary using.
Carl Hetherington [Sun, 3 Oct 2021 20:23:59 +0000 (22:23 +0200)]
Build with libcxml 0.17.2.
Carl Hetherington [Sun, 3 Oct 2021 20:18:56 +0000 (22:18 +0200)]
Make the former dcst namespace default for SMPTE subtitles.
In DoM bug #2061 it is reported that Easy DCP gives the error
"XML Document has default root namespace prefix: dcst.
Default namespace should not use prefix for root or root namespace child nodes."
with SMPTE subtitle files written by DCP-o-matic, and that the correct
fix is to make the former dcst: namespace the default and then remove
the dcst: qualifiers from everything.
I'm not sure I agree with the error; AFAICS the subtitle files written
by previous versions did not have a default root namespace prefix,
since it was specified by xmlns:dcst and not just xmlns alone, so I
think they were valid.
However, using a default NS also seems fine, slightly simplifies the
code and produces more compact subtitle files, so we change that here.
It should also stop Easy DCP complaining, which is always marginally
preferable to sticking to our guns and getting the blame for it.
Carl Hetherington [Sun, 3 Oct 2021 20:18:42 +0000 (22:18 +0200)]
Add .cache.
Carl Hetherington [Sat, 21 Aug 2021 22:07:47 +0000 (00:07 +0200)]
Add some missing LIBDCP_RESOURCES.
Carl Hetherington [Wed, 11 Aug 2021 21:35:30 +0000 (23:35 +0200)]
Improve message on verify test failure.
Carl Hetherington [Tue, 10 Aug 2021 00:10:49 +0000 (02:10 +0200)]
Add verify check for empty <Text> nodes in timed text.
Carl Hetherington [Mon, 9 Aug 2021 16:04:09 +0000 (18:04 +0200)]
Rename verify_text_timing -> verify_text_details.
Carl Hetherington [Wed, 4 Aug 2021 18:27:32 +0000 (20:27 +0200)]
Add support for writing CPL metadata about sign language video tracks (DoM #2062).
Carl Hetherington [Wed, 4 Aug 2021 18:25:02 +0000 (20:25 +0200)]
C++11 tidying.
Carl Hetherington [Wed, 4 Aug 2021 18:24:29 +0000 (20:24 +0200)]
Add a belt-and-braces check.
Carl Hetherington [Wed, 4 Aug 2021 18:24:16 +0000 (20:24 +0200)]
Don't bother checking the return of node_child as it can never be null
Carl Hetherington [Tue, 3 Aug 2021 22:11:43 +0000 (00:11 +0200)]
Make adding extension metadata items more generic.
Carl Hetherington [Tue, 3 Aug 2021 22:03:06 +0000 (00:03 +0200)]
Fix tests after previous commit.
Carl Hetherington [Thu, 15 Jul 2021 12:08:08 +0000 (14:08 +0200)]
Fix incorrect channel assigment (DoM bug #2062).
Carl Hetherington [Wed, 14 Jul 2021 00:02:17 +0000 (02:02 +0200)]
C++11 tidying.
Carl Hetherington [Fri, 25 Jun 2021 22:00:38 +0000 (00:00 +0200)]
C++11 cleanup.
Carl Hetherington [Thu, 24 Jun 2021 15:02:19 +0000 (17:02 +0200)]
Add issuer() and creator() getters to CPL.
Carl Hetherington [Fri, 18 Jun 2021 18:01:14 +0000 (20:01 +0200)]
Fix tests after changes to language tags.
Carl Hetherington [Fri, 18 Jun 2021 18:01:05 +0000 (20:01 +0200)]
Remove count at start of language files that wasn't being read.
Carl Hetherington [Fri, 18 Jun 2021 18:00:49 +0000 (20:00 +0200)]
Fix strange python 3 incompatibilities.
Carl Hetherington [Sat, 12 Jun 2021 18:51:44 +0000 (20:51 +0200)]
Fix update-language-subtags to include all descriptions for a particular code.
This avoids, e.g. "nl" being labelled as only Flemish and not also
Dutch.
Carl Hetherington [Fri, 4 Jun 2021 12:37:43 +0000 (14:37 +0200)]
Add option to ignore mismatched HMACs when reading MXFs.
Carl Hetherington [Fri, 4 Jun 2021 11:54:23 +0000 (13:54 +0200)]
Missing finalize() in dcpdecryptmxf.
Carl Hetherington [Fri, 4 Jun 2021 11:32:30 +0000 (13:32 +0200)]
Improve dcpdecryptmxf in various ways.
Carl Hetherington [Fri, 4 Jun 2021 11:32:12 +0000 (13:32 +0200)]
Fix up dcpdecryptmxf start script in various ways.
Carl Hetherington [Thu, 3 Jun 2021 22:21:49 +0000 (00:21 +0200)]
Add missing LIBDCP_RESOURCES to script.
Carl Hetherington [Tue, 1 Jun 2021 23:38:53 +0000 (01:38 +0200)]
Test churn from adding make_uuid() into CPL.
Carl Hetherington [Tue, 1 Jun 2021 23:27:41 +0000 (01:27 +0200)]
Improve output when a test fails.
Carl Hetherington [Tue, 1 Jun 2021 23:27:33 +0000 (01:27 +0200)]
Reduce test flakyness a bit.
Carl Hetherington [Tue, 1 Jun 2021 22:33:01 +0000 (00:33 +0200)]
Pass through CompositionMetadataAsset correctly.
We weren't saving Id, and were not quite handling FullContentText
correctly.
Carl Hetherington [Thu, 27 May 2021 12:22:48 +0000 (14:22 +0200)]
Make similar changes to the previous commit for _xml_id.
This is also unavailable if the asset is encrypted.
Carl Hetherington [Thu, 27 May 2021 12:21:35 +0000 (14:21 +0200)]
Tidy handling of _raw_xml.
Before this if we tried to get the XML of an encrypted asset we
would just get an empty string. Now we get a boost::none which
means the verifier can avoid trying to check details of the XML
(and instead raise a warning that you are trying to verify data
that it cannot decrypt).
Carl Hetherington [Thu, 27 May 2021 12:19:40 +0000 (14:19 +0200)]
Fix bug causing failure to decrypt SMPTE subtitles.
Carl Hetherington [Thu, 27 May 2021 12:16:40 +0000 (14:16 +0200)]
C++11 cleanup.
Carl Hetherington [Thu, 27 May 2021 09:45:11 +0000 (11:45 +0200)]
Read the bits we can from the MXF header even when it is encrypted.
Carl Hetherington [Thu, 27 May 2021 09:44:21 +0000 (11:44 +0200)]
Sort notes when checking verifications.
So that the lists in the tests don't have to be in the right order.
Carl Hetherington [Fri, 7 May 2021 16:21:51 +0000 (18:21 +0200)]
Actually use correct gcc version in check from previous.
Carl Hetherington [Fri, 7 May 2021 16:15:39 +0000 (18:15 +0200)]
Fix build on old GCC.
Mart Jansink [Mon, 26 Apr 2021 09:52:39 +0000 (11:52 +0200)]
Also install mono_picture_asset_writer.h
Mart Jansink [Mon, 26 Apr 2021 09:50:25 +0000 (11:50 +0200)]
Prefer the tags directory specified in LIBDCP_RESOURCES
Mart Jansink [Mon, 26 Apr 2021 09:48:53 +0000 (11:48 +0200)]
Also depend on libcxml