#include "atmos_metadata.h"
#include "dcp_text_track.h"
#include "dcpomatic_time.h"
+#include "enum_indexed_vector.h"
#include "font_id_map.h"
#include "player_text.h"
#include "referenced_reel_asset.h"
+#include "render_text.h"
#include "types.h"
#include "weak_film.h"
#include <dcp/atmos_asset_writer.h>
return _period;
}
- int first_nonexistant_frame () const {
- return _first_nonexistant_frame;
+ int first_nonexistent_frame () const {
+ return _first_nonexistent_frame;
}
dcp::FrameInfo read_frame_info (std::shared_ptr<InfoFileHandle> info, Frame frame, Eyes eyes) const;
std::set<DCPTextTrack> ensure_closed_captions
) const;
void create_reel_markers (std::shared_ptr<dcp::Reel> reel) const;
+ float convert_vertical_position(StringText const& subtitle, dcp::Standard to) const;
dcpomatic::DCPTimePeriod _period;
/** the first picture frame index that does not already exist in our MXF */
- int _first_nonexistant_frame;
+ int _first_nonexistent_frame;
/** the data of the last written frame, if there is one */
- std::shared_ptr<const dcp::Data> _last_written[static_cast<int>(Eyes::COUNT)];
+ EnumIndexedVector<std::shared_ptr<const dcp::Data>, Eyes> _last_written;
/** index of this reel within the DCP (starting from 0) */
int _reel_index;
/** number of reels in the DCP */
std::shared_ptr<dcp::AtmosAsset> _atmos_asset;
std::shared_ptr<dcp::AtmosAssetWriter> _atmos_asset_writer;
+ mutable FontMetrics _font_metrics;
+
static int const _info_size;
};