/*
- Copyright (C) 2013-2016 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013-2018 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
#include "content_factory.h"
#include "video_content.h"
#include "audio_content.h"
-#include "subtitle_content.h"
+#include "text_content.h"
#include "exceptions.h"
#include "film.h"
#include "job.h"
using std::max;
using std::pair;
using boost::shared_ptr;
+using boost::optional;
using dcp::raw_convert;
using dcp::locale_convert;
}
signal_changed (ContentProperty::VIDEO_FRAME_RATE);
+
+ /* Make sure things are still on frame boundaries */
+ if (video) {
+ set_position (position());
+ set_trim_start (trim_start());
+ }
+}
+
+void
+Content::unset_video_frame_rate ()
+{
+ {
+ boost::mutex::scoped_lock lm (_mutex);
+ _video_frame_rate = optional<double>();
+ }
+
+ signal_changed (ContentProperty::VIDEO_FRAME_RATE);
}
double
}
}
+/** Take settings from the given content if it is of the correct type */
void
-Content::use_template (shared_ptr<const Content> c)
+Content::take_settings_from (shared_ptr<const Content> c)
{
if (video && c->video) {
- video->use_template (c->video);
+ video->take_settings_from (c->video);
}
if (audio && c->audio) {
- audio->use_template (c->audio);
+ audio->take_settings_from (c->audio);
}
if (subtitle && c->subtitle) {
- subtitle->use_template (c->subtitle);
+ subtitle->take_settings_from (c->subtitle);
}
}