projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
std::shared_ptr
[dcpomatic.git]
/
src
/
lib
/
reel_writer.cc
diff --git
a/src/lib/reel_writer.cc
b/src/lib/reel_writer.cc
index 41de4481ed3e11e3d01cc340ef103850c95f4c4f..110102b7061f0890e5eb0044ff68e13c307f3dce 100644
(file)
--- a/
src/lib/reel_writer.cc
+++ b/
src/lib/reel_writer.cc
@@
-25,7
+25,7
@@
#include "log.h"
#include "dcpomatic_log.h"
#include "digester.h"
#include "log.h"
#include "dcpomatic_log.h"
#include "digester.h"
-#include "font.h"
+#include "font
_data
.h"
#include "compose.hpp"
#include "config.h"
#include "audio_buffers.h"
#include "compose.hpp"
#include "config.h"
#include "audio_buffers.h"
@@
-62,13
+62,13
@@
using std::exception;
using std::map;
using std::set;
using std::vector;
using std::map;
using std::set;
using std::vector;
-using
boost
::shared_ptr;
+using
std
::shared_ptr;
using boost::optional;
using boost::optional;
-using
boost
::dynamic_pointer_cast;
+using
std
::dynamic_pointer_cast;
#if BOOST_VERSION >= 106100
using namespace boost::placeholders;
#endif
#if BOOST_VERSION >= 106100
using namespace boost::placeholders;
#endif
-using
boost
::weak_ptr;
+using
std
::weak_ptr;
using dcp::ArrayData;
using dcp::Data;
using dcp::raw_convert;
using dcp::ArrayData;
using dcp::Data;
using dcp::raw_convert;
@@
-192,6
+192,8
@@
ReelWriter::ReelWriter (
film()->contains_atmos_content()
);
}
film()->contains_atmos_content()
);
}
+
+ _default_font = dcp::ArrayData(default_font_file());
}
/** @param frame reel-relative frame */
}
/** @param frame reel-relative frame */
@@
-444,7
+446,8
@@
maybe_add_text (
int64_t picture_duration,
shared_ptr<dcp::Reel> reel,
list<ReferencedReelAsset> const & refs,
int64_t picture_duration,
shared_ptr<dcp::Reel> reel,
list<ReferencedReelAsset> const & refs,
- list<shared_ptr<Font> > const & fonts,
+ vector<FontData> const & fonts,
+ dcp::ArrayData default_font,
shared_ptr<const Film> film,
DCPTimePeriod period,
boost::filesystem::path output_dcp,
shared_ptr<const Film> film,
DCPTimePeriod period,
boost::filesystem::path output_dcp,
@@
-457,8
+460,8
@@
maybe_add_text (
if (asset) {
/* Add the font to the subtitle content */
if (asset) {
/* Add the font to the subtitle content */
- BOOST_FOREACH (
shared_ptr<Font>
j, fonts) {
- asset->add_font (j
->id(), j->file().get_value_or(default_font_file()
));
+ BOOST_FOREACH (
FontData const&
j, fonts) {
+ asset->add_font (j
.id, j.data.get_value_or(default_font
));
}
if (dynamic_pointer_cast<dcp::InteropSubtitleAsset> (asset)) {
}
if (dynamic_pointer_cast<dcp::InteropSubtitleAsset> (asset)) {
@@
-615,7
+618,7
@@
void
ReelWriter::create_reel_text (
shared_ptr<dcp::Reel> reel,
list<ReferencedReelAsset> const & refs,
ReelWriter::create_reel_text (
shared_ptr<dcp::Reel> reel,
list<ReferencedReelAsset> const & refs,
-
list<shared_ptr<Font>
> const& fonts,
+
vector<FontData
> const& fonts,
int64_t duration,
boost::filesystem::path output_dcp,
bool ensure_subtitles,
int64_t duration,
boost::filesystem::path output_dcp,
bool ensure_subtitles,
@@
-623,7
+626,7
@@
ReelWriter::create_reel_text (
) const
{
shared_ptr<dcp::ReelSubtitleAsset> subtitle = maybe_add_text<dcp::ReelSubtitleAsset> (
) const
{
shared_ptr<dcp::ReelSubtitleAsset> subtitle = maybe_add_text<dcp::ReelSubtitleAsset> (
- _subtitle_asset, duration, reel, refs, fonts, film(), _period, output_dcp, _text_only
+ _subtitle_asset, duration, reel, refs, fonts,
_default_font,
film(), _period, output_dcp, _text_only
);
if (subtitle) {
);
if (subtitle) {
@@
-639,6
+642,7
@@
ReelWriter::create_reel_text (
reel,
refs,
fonts,
reel,
refs,
fonts,
+ _default_font,
film(),
_period,
output_dcp,
film(),
_period,
output_dcp,
@@
-648,7
+652,7
@@
ReelWriter::create_reel_text (
for (map<DCPTextTrack, shared_ptr<dcp::SubtitleAsset> >::const_iterator i = _closed_caption_assets.begin(); i != _closed_caption_assets.end(); ++i) {
shared_ptr<dcp::ReelClosedCaptionAsset> a = maybe_add_text<dcp::ReelClosedCaptionAsset> (
for (map<DCPTextTrack, shared_ptr<dcp::SubtitleAsset> >::const_iterator i = _closed_caption_assets.begin(); i != _closed_caption_assets.end(); ++i) {
shared_ptr<dcp::ReelClosedCaptionAsset> a = maybe_add_text<dcp::ReelClosedCaptionAsset> (
- i->second, duration, reel, refs, fonts, film(), _period, output_dcp, _text_only
+ i->second, duration, reel, refs, fonts,
_default_font,
film(), _period, output_dcp, _text_only
);
DCPOMATIC_ASSERT (a);
a->set_annotation_text (i->first.name);
);
DCPOMATIC_ASSERT (a);
a->set_annotation_text (i->first.name);
@@
-662,7
+666,7
@@
ReelWriter::create_reel_text (
/* Make empty tracks for anything we've been asked to ensure but that we haven't added */
BOOST_FOREACH (DCPTextTrack i, ensure_closed_captions) {
shared_ptr<dcp::ReelClosedCaptionAsset> a = maybe_add_text<dcp::ReelClosedCaptionAsset> (
/* Make empty tracks for anything we've been asked to ensure but that we haven't added */
BOOST_FOREACH (DCPTextTrack i, ensure_closed_captions) {
shared_ptr<dcp::ReelClosedCaptionAsset> a = maybe_add_text<dcp::ReelClosedCaptionAsset> (
- empty_text_asset(TEXT_CLOSED_CAPTION, i), duration, reel, refs, fonts, film(), _period, output_dcp, _text_only
+ empty_text_asset(TEXT_CLOSED_CAPTION, i), duration, reel, refs, fonts,
_default_font,
film(), _period, output_dcp, _text_only
);
DCPOMATIC_ASSERT (a);
a->set_annotation_text (i.name);
);
DCPOMATIC_ASSERT (a);
a->set_annotation_text (i.name);
@@
-705,7
+709,7
@@
ReelWriter::create_reel_markers (shared_ptr<dcp::Reel> reel) const
shared_ptr<dcp::Reel>
ReelWriter::create_reel (
list<ReferencedReelAsset> const & refs,
shared_ptr<dcp::Reel>
ReelWriter::create_reel (
list<ReferencedReelAsset> const & refs,
-
list<shared_ptr<Font>
> const & fonts,
+
vector<FontData
> const & fonts,
boost::filesystem::path output_dcp,
bool ensure_subtitles,
set<DCPTextTrack> ensure_closed_captions
boost::filesystem::path output_dcp,
bool ensure_subtitles,
set<DCPTextTrack> ensure_closed_captions