summaryrefslogtreecommitdiff
path: root/src/cpl.cc
AgeCommit message (Collapse)Author
4 daysRemove VerificationNote::note.tidy-verifyCarl Hetherington
4 daysINVALID_{CPL,PKL}_NAMESPACE: note -> xml_namespace.Carl Hetherington
4 daysINVALID_MAIN_SOUND_CONFIGURATION: note -> error.Carl Hetherington
2026-02-02Reproduce all extension metadata (even if not recognised).v1.10.47Carl Hetherington
2026-02-02Reproduce MCA subdescriptors when writing XML without the assets being present.Carl Hetherington
This assumes that we don't read a CPL, modify the sound assets, then write it out again. Maybe we should make that possible (e.g. by invalidating the CPL's MCA subdescriptors list when changing sound).
2025-12-20Derive verification note type from the code...v1.10.45Carl Hetherington
...rather than having to specify it each time.
2025-12-18Add CPL::picture_encoding().Carl Hetherington
2025-12-18Add can_be_read() to CPL.Carl Hetherington
2025-10-01Add main caption and closed subtitle assets to lists.v1.10.31Carl Hetherington
2025-03-27Introduce and use dcp::Profile.v1.10.18Carl Hetherington
This replaces the specific flags passed to DCP::write(), is a property of the CPL (where it seems to belong) and allows us to write what I hear is the correct metadata for this mythical Bv2.0 that somebody invented.
2025-03-23Rename MainSoundConfiguration::to_string() -> as_string().Carl Hetherington
Trying to be consistent with the rule that to_string is a method which converts a parameter to a string (implying processing) whereas as_string is a class member which returns a string representation of the thing.
2025-03-20Rename LanguageTag::to_string -> as_string().Carl Hetherington
2025-01-20White space: cpl.{cc,h}v1.10.8Carl Hetherington
2025-01-19Make MainSoundConfiguration behave "correctly" with badly-formatted strings.Carl Hetherington
Add some documentation for a design "principle" when handling malformatted data, and make MainSoundConfiguration adhere to that.
2025-01-01Replace raw_convert<string> with direct calls to fmt.v1.10.3Carl Hetherington
2024-08-17Merge ReelClosedCaptionAsset into ReelTextAsset.Carl Hetherington
2024-08-17Reel{,Interop,SMPTE}SubtitleAsset -> Reel{,Interop,SMPTE}TextAsset.Carl Hetherington
2024-04-18Merge remote-tracking branch 'origin/main' into v1.9.xCarl Hetherington
2024-04-17Make some not-so-important CPL read errors non-fatal (DoM #2797).v1.8.99Carl Hetherington
2024-04-15Add Dolby EDR metadata support (GH #12).Carl Hetherington
2024-04-15Generalise sign language video tag handling and add test.Carl Hetherington
2024-03-20Replace xmlpp::Node::add_child with cxml::add_child.Carl Hetherington
2023-10-09Add wrappers around boost::filesystem methods that handle theCarl Hetherington
required mangling of long filenames on Windows. Also wrap lots of missing places (e.g. calls to asdcplib, libxml++, libcxml etc.) in dcp::filesystem::fix_long_path(). The idea is to keep paths un-mangled until they we call some filesystem-related API and mangle them at that point. Otherwise we end up serialising mangled names, which seems like it will not end well. Should fix DoM #2623.
2023-07-25Cleanup: move EqualityOptions into its own file.Carl Hetherington
2023-07-25Cleanup: pass EqualityOptions as const&Carl Hetherington
This exposes a useless assignment of export_differing_subtitles, which I've removed (and altered the comment accordingly).
2023-04-04Pass MainSoundConfiguration object rather than a string.Carl Hetherington
I guess originally it was a string mostly because it's not very well defined, and Interop seemingly does whatever it wants. This basic change also means that things are checked more carefully, and so we must be more relaxed with some things seen in the wild that I can't find contradictions for in the standard (and also with the case of channel IDs, which does seem to be mentioned in the standard).
2023-03-21Allow specification of channels that need a MCASubDescriptor.Carl Hetherington
2023-02-28Add include_mca_subdescriptors option to CPL::write_xml().Carl Hetherington
2023-02-28Cleanup: extract write_mca_subdescriptors().Carl Hetherington
2023-02-26Remove LIBDCP_VERSION in favour of dcp::version.v1.8.62Carl Hetherington
The former is only set at configure which is a bit confusing, and I can't think of a reason to have both.
2023-02-13Interop CPLs don't have MainPictureStoredArea (#2452).v1.8.58Carl Hetherington
2023-01-24Only write the appropriate number of AudioChannelLabelSubDescriptors (DoM ↵v1.8.54Carl Hetherington
#2431).
2022-12-16Throw exceptions when setting odd values for picture active area.Carl Hetherington
2022-09-03Properly support ContentKind scope attribute.v1.8.26Carl Hetherington
2022-09-02Replace ContentKind enum with a class.Carl Hetherington
2022-08-15Tolerate missing FullContentTitleText (DoM bug #2295).v1.8.252295-tolerate-missing-full-content-titleCarl Hetherington
2022-08-15Stop assuming that the presence of FullContentTitleText means that there was ↵Carl Hetherington
CPL metadata.
2022-04-26Add CPL::set().Carl Hetherington
2021-08-04Add support for writing CPL metadata about sign language video tracks (DoM ↵Carl Hetherington
#2062).
2021-08-04Don't bother checking the return of node_child as it can never be nullCarl Hetherington
2021-08-04Make adding extension metadata items more generic.Carl Hetherington
2021-06-02Pass through CompositionMetadataAsset correctly.Carl Hetherington
We weren't saving Id, and were not quite handling FullContentText correctly.
2021-04-14Fix/hide some warnings.Carl Hetherington
2021-04-13Remove ReelEncryptableAsset and tidy up a bit.Carl Hetherington
2021-04-12Split ReelClosedCaptionAsset into Interop and SMPTE parts.Carl Hetherington
2021-04-12Specify CPL standard on construction.Carl Hetherington
Then choose which standard DCP should use based on the CPL(s).
2021-04-12Split ReelSubtitleAsset into Interop and SMPTE classes.Carl Hetherington
2021-04-11Small bits of tidying up.Carl Hetherington
2021-04-11Extract some parts of ReelEncryptableAsset into ReelFileAssetCarl Hetherington
2021-04-10Rename ReelFileAsset -> ReelEncryptableAssetCarl Hetherington