Fix handling of empty font IDs and default DCP fonts (#2721) (part of #2722). Previously we used an empty font ID as the default for when a subtitle has no Font, but in #2721 we saw a DCP with an empty font ID which raised an assertion (because we'd already added our default font with the empty ID). Here we try to fix this (and also make the default font correctly be that from the first <LoadFont>).
Always add a font with an empty ID (#2649). It's not just subtitle files with no <LoadFont> that can have subtitles without a specified font. In particular, DoM makes a single space subtitle with no font spec when it creates filler subtitles in multi-reel DCPs.
Cleanup: rename sc -> subtitle_asset
Noisy change to get film into AudioContent::modify_trim_start().
Fix font_id_map errors when importing DCP subtitles that have no font declarations / tags (#2339).
Fix font handling for DCP subtitles.
Fix failure to open v2.14.x documents with invalid or empty subtitle languages (#2085).
More enum class additions.
BOOST_FOREACH.
std::shared_ptr
Remove subtitle language from text content.
Stop empty Font IDs in imported DCP subtitles making it into the output DCP (#1689).
Put Time types in dcpomatic namespace.
Remove required Film from content examine.
Add and use new FrameRateChange constructors.
Take Film pointer out of Content.
Introduce the idea of unknown original subtitle type to clean up the GUI a bit.
Tidy up after mass rename.
More automated renaming. ActiveCaptions -> ActiveText BitmapCaption -> BitmapText ContentCaption -> ContentText ContentTextCaption -> ContentStringText TextCaptionFileContent -> StringTextFileContent TextCaptionFileDecoder -> StringTextFileDecoder TextCaptionFile -> StringTextFile TextCaption -> StringText PlayerCaption -> PlayerText CaptionContent -> TextContent CaptionDecoder -> TextDecoder CaptionPanel -> TextPanel CaptionView -> TextView CaptionAppearanceDialog -> SubtitleAppearanceDialog CaptionType -> TextType
Display only required tabs, including subs / ccap.