summaryrefslogtreecommitdiff
path: root/src/lib/writer.cc
AgeCommit message (Collapse)Author
2023-11-20Improve progress reporting of digest calculations (might help with #2643).Carl Hetherington
2023-10-15Fix DCP content font ID allocation to cope with DCPs that have multiple fontsCarl Hetherington
with the same name in the same reel (#2600). Previously we had this id_for_font_in_reel() which would give an ID of N_font-ID. This means we got duplicate font IDs. Here we replace that method with FontAllocator, which gives an ID of N_font-ID for the first font and M_font-ID, where M is a number higher than the highest reel index. The idea is to support the required new IDs without breaking exisiting projects. There is some documentation of how it works in doc/design/fonts
2023-10-09Use dcp::filesystem to wrap filesystem calls and fix_long_pathCarl Hetherington
anything that is passed to read_file() from libcxml. This should fix #2623 and other similar problems.
2023-08-12Prevent empty <LabelText> in <ContentVersion> (#2594).Carl Hetherington
2023-08-06Go back to respecting the user's choice for the number of audio channels in ↵Carl Hetherington
the MXF.
2023-07-22Cleanup: lengthen some short variable names.Carl Hetherington
2023-06-30Don't write MainSoundConfiguration with 71 when we only have HI/VI (#2580).Carl Hetherington
2023-05-12Only add fonts to assets when they are required.Carl Hetherington
2023-04-06Write MainSoundConfiguration tags with hyphens for unused channels (#2501).Carl Hetherington
2023-03-29Always make 16-channel MXFs.Carl Hetherington
2023-03-05Remove some 3D stuff I think is unnecessary since the changes in ↵v2.16.46Carl Hetherington
2f12058c535045cecc226fe47b3d60da8851a862
2023-03-03Add option to limit DCP output to the "Bv2.0 profile" (#2470).v2.16.45Carl Hetherington
I'm far from convinced about the point/sense of all these "profiles" (rather than just implementing or at least tolerating the standard) but lots of people are having problems with "QC" processes failing their DCPs with complaints related to MCASubDescriptors. It seems to make sense to have an option to turn them off - at least for now, until either the "QC" situation settles down or any bugs in DCP-o-matic are found and fixed.
2023-02-01Handle 2D/3D mismatches in the player (#2409).Carl Hetherington
Previously if there was 2D content in a 3D project (or vice versa) the player would emit the video anyway and the encoder would have to deal with it. Since previously the FFmpeg encoder did not deal with this quite right, it seems to make sense to move the logic into the player so that neither encoder has to worry about it.
2023-01-24Use MCASoundField::STEREO (20) for stereo DCPs.Carl Hetherington
2022-12-16Make sure main picture active area values are even (#2392).Carl Hetherington
2022-09-15Fix some spelling mistakes (mostly in comments).Carl Hetherington
2022-06-07Tidying.Carl Hetherington
2022-06-07Rearrange subtitle font management.Carl Hetherington
With this change each subtitle coming out of the player has a reference to a dcpomatic::Font that belongs to the TextContent. This hopefully solves a few problems which all basically stemmed from the fact that previously the decoders/player were deciding what the font ID in the output DCP would be - they can't do that properly.
2022-05-26Cleanup: use some more make_shared.Carl Hetherington
2022-05-05Use dcp::File in DCP-o-matic (#2231).Carl Hetherington
2022-05-02Add CPL_FILENAME variable for cover sheets (#2107).Carl Hetherington
2022-04-29Add a simple DCP editor.Carl Hetherington
2022-03-09Don't write a <ContentVersion> tag with an empty <LabelText> (#2191).Carl Hetherington
I can't see the problem with this, but apparently Dolby CineInspect complains about it. We could fix this in libdcp but I think that would make more sense if this were related to a definite standard violation, instead of just some tinkering to hide a possibly-incorrect warning.
2021-10-09Cleanup some unused using statements and other bits.Carl Hetherington
2021-08-04Allow specifying and writing sign language video language metadata (#2062).v2.15.157Carl Hetherington
2021-06-24Fix incorrect issuer/creator in CPL files.Carl Hetherington
2021-06-01Put audio language back in the Film.Carl Hetherington
It feels neat to have audio language in the audio tab, to match the subtitle language in the subtitle tab. It also avoids the potential confusion of there being an audio language setting in the DCP metadata but no subtitle language setting. However: - I am yet to find a need to describe multiple audio languages in the same DCP (all previous users of Film::audio_languages() were just taking the first language off the list). - As Carsten points out it's fiddly to have to set the audio language for 5 separate-channel WAV files, for example (you wouldn't actually have had to do this, but it would have felt like you did). I think subtitle language remains neater where it is (per-content) as there is this additional subtitle language metadata and it makes much more sense (and is much more likely) that there are multiple subtitle languages in a DCP than it does multiple audio languages.
2021-05-01C++11 tidying.Carl Hetherington
2021-04-21Make digest calculations interruptible.Carl Hetherington
2021-04-21Move digest calculation to a separate method.Carl Hetherington
2021-04-21Add some possibly-useful markers for debugging threads from coredumps.Carl Hetherington
2021-04-12Bump libdcp for some API improvements.Carl Hetherington
2021-04-02Add language to audio content and use it instead of the general metadata.Carl Hetherington
2021-03-31Put subtitle language back into content from the film (#1930).Carl Hetherington
This also adds the main/additional language flag. Of all the considerations about how to specify subtitle language, the most important seems to be that the language specification happens for the content where the language is; i.e. in the content text tab.
2021-03-22Don't insist on writing optional metadata (#1923).Carl Hetherington
2021-03-20Tidy up HMSF handling in a few places.Carl Hetherington
2021-03-19Fix handling of subtitles at reel boundaries.Carl Hetherington
When a subtitle spans 3 reels were were backing off the end of the subtitle at the end of reel #1 but not the one at the end of reel #2, causing two subs to be too close together.
2021-03-16Split subtitles at reel boundaries (#1918).Carl Hetherington
2021-02-23Fix assertion failure in AudioBuffers::copy_from() (#1909)Carl Hetherington
A number of frames N was being split up into two parts which together were bigger than N, meaning a copy of one of the parts failed.
2021-02-23Don't write active picture area with zero width or height as it makes ↵Carl Hetherington
verification fail.
2021-02-17Assorted C++11 tidying.Carl Hetherington
2021-01-31More enum class additions.Carl Hetherington
2021-01-26libdcp API change ReelMXF -> ReelFileAsset.Carl Hetherington
2021-01-22Make PKL AnnotationText the same as CPL ContentTitleText per Bv2.1Carl Hetherington
2021-01-21Adapt for libdcp use of enum class.Carl Hetherington
2021-01-07BOOST_FOREACH.Carl Hetherington
2021-01-07std::shared_ptrCarl Hetherington
2020-12-22Pass fonts from content around as FontData.Carl Hetherington
i.e. as a block of memory rather than a file. Also, get the fonts from the decoder rather than the content. Together, these changes allow us to use fonts from SMPTE DCPs added as content. Before, fonts would be messed up in those cases (#1885).
2020-12-08In a DCP with any subs/ccaps, make sure every reel has them (#1340).Carl Hetherington
2020-12-08Write subtitles and closed captions to a test DCP in the hints thread,Carl Hetherington
then check the result for Bv2.1 violations (part of #1800).