summaryrefslogtreecommitdiff
path: root/src/reel.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2024-06-28 20:12:51 +0200
committerCarl Hetherington <cth@carlh.net>2024-08-17 12:57:31 +0200
commit06c28c700f0a398a3289c4adfa83ceb2d0fc999d (patch)
tree00b58dcb854767d037e166a804360b4c19e034e9 /src/reel.cc
parentb64644327bff333569bf4a60f1d7c3d46f058b48 (diff)
Merge ReelClosedCaptionAsset into ReelTextAsset.
Diffstat (limited to 'src/reel.cc')
-rw-r--r--src/reel.cc17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/reel.cc b/src/reel.cc
index 6a7043f0..3eb81e1d 100644
--- a/src/reel.cc
+++ b/src/reel.cc
@@ -45,12 +45,9 @@
#include "j2k_picture_asset.h"
#include "reel.h"
#include "reel_atmos_asset.h"
-#include "reel_closed_caption_asset.h"
-#include "reel_interop_closed_caption_asset.h"
#include "reel_interop_text_asset.h"
#include "reel_markers_asset.h"
#include "reel_mono_picture_asset.h"
-#include "reel_smpte_closed_caption_asset.h"
#include "reel_smpte_text_asset.h"
#include "reel_sound_asset.h"
#include "reel_stereo_picture_asset.h"
@@ -120,10 +117,10 @@ Reel::Reel (std::shared_ptr<const cxml::Node> node, dcp::Standard standard)
for (auto i: closed_captions) {
switch (standard) {
case Standard::INTEROP:
- _closed_captions.push_back (make_shared<ReelInteropClosedCaptionAsset>(i));
+ _closed_captions.push_back (make_shared<ReelInteropTextAsset>(i));
break;
case Standard::SMPTE:
- _closed_captions.push_back (make_shared<ReelSMPTEClosedCaptionAsset>(i));
+ _closed_captions.push_back (make_shared<ReelSMPTETextAsset>(i));
break;
}
}
@@ -358,12 +355,14 @@ Reel::add (shared_ptr<ReelAsset> asset)
_main_picture = p;
} else if (auto so = dynamic_pointer_cast<ReelSoundAsset>(asset)) {
_main_sound = so;
- } else if (auto su = dynamic_pointer_cast<ReelTextAsset>(asset)) {
- _main_subtitle = su;
+ } else if (auto te = dynamic_pointer_cast<ReelTextAsset>(asset)) {
+ if (te->type() == TextType::SUBTITLE) {
+ _main_subtitle = te;
+ } else {
+ _closed_captions.push_back(te);
+ }
} else if (auto m = dynamic_pointer_cast<ReelMarkersAsset>(asset)) {
_main_markers = m;
- } else if (auto c = dynamic_pointer_cast<ReelClosedCaptionAsset>(asset)) {
- _closed_captions.push_back (c);
} else if (auto a = dynamic_pointer_cast<ReelAtmosAsset>(asset)) {
_atmos = a;
} else {