/*
- Copyright (C) 2013-2018 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013-2021 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
Content::Content (cxml::ConstNodePtr node)
: _change_signals_frequent (false)
{
- list<cxml::NodePtr> path_children = node->node_children ("Path");
- for (auto i: path_children) {
+ for (auto i: node->node_children("Path")) {
_paths.push_back (i->content());
- optional<time_t> const mod = i->optional_number_attribute<time_t>("mtime");
+ auto const mod = i->optional_number_attribute<time_t>("mtime");
if (mod) {
_last_write_times.push_back (*mod);
} else if (boost::filesystem::exists(i->content())) {
Content::calculate_digest () const
{
boost::mutex::scoped_lock lm (_mutex);
- vector<boost::filesystem::path> p = _paths;
+ auto p = _paths;
lm.unlock ();
/* Some content files are very big, so we use a poor man's
job->sub (_("Computing digest"));
}
- string const d = calculate_digest ();
+ auto const d = calculate_digest ();
boost::mutex::scoped_lock lm (_mutex);
_digest = d;
Content::signal_change (ChangeType c, int p)
{
try {
- if (c == CHANGE_TYPE_PENDING || c == CHANGE_TYPE_CANCELLED) {
+ if (c == ChangeType::PENDING || c == ChangeType::CANCELLED) {
Change (c, shared_from_this(), p, _change_signals_frequent);
} else {
emit (boost::bind (boost::ref(Change), c, shared_from_this(), p, _change_signals_frequent));
audio->modify_position (film, p);
}
- ChangeSignaller<Content> cc (this, ContentProperty::POSITION);
+ ContentChangeSignaller cc (this, ContentProperty::POSITION);
{
boost::mutex::scoped_lock lm (_mutex);
audio->modify_trim_start (t);
}
- ChangeSignaller<Content> cc (this, ContentProperty::TRIM_START);
+ ContentChangeSignaller cc (this, ContentProperty::TRIM_START);
{
boost::mutex::scoped_lock lm (_mutex);
void
Content::set_trim_end (ContentTime t)
{
- ChangeSignaller<Content> cc (this, ContentProperty::TRIM_END);
+ ContentChangeSignaller cc (this, ContentProperty::TRIM_END);
{
boost::mutex::scoped_lock lm (_mutex);
{
/* This is a bit naughty, but I can't think of a compelling reason not to do it ... */
xmlpp::Document doc;
- xmlpp::Node* node = doc.create_root_node ("Content");
+ auto node = doc.create_root_node ("Content");
as_xml (node, true);
/* notes is unused here (we assume) */
string
Content::technical_summary () const
{
- string s = String::compose ("%1 %2 %3", path_summary(), digest(), position().seconds());
+ auto s = String::compose ("%1 %2 %3", path_summary(), digest(), position().seconds());
if (_video_frame_rate) {
s += String::compose(" %1", *_video_frame_rate);
}
DCPTime
Content::length_after_trim (shared_ptr<const Film> film) const
{
- DCPTime length = max(DCPTime(), full_length(film) - DCPTime(trim_start() + trim_end(), film->active_frame_rate_change(position())));
+ auto length = max(DCPTime(), full_length(film) - DCPTime(trim_start() + trim_end(), film->active_frame_rate_change(position())));
if (video) {
length = length.round(film->video_frame_rate());
}
void
Content::set_paths (vector<boost::filesystem::path> paths)
{
- ChangeSignaller<Content> cc (this, ContentProperty::PATH);
+ ContentChangeSignaller cc (this, ContentProperty::PATH);
{
boost::mutex::scoped_lock lm (_mutex);
DCPOMATIC_ASSERT (number_of_paths ());
- string s = path(0).filename().string ();
+ auto s = path(0).filename().string();
if (number_of_paths() > 1) {
s += " ...";
}
void
Content::set_video_frame_rate (double r)
{
- ChangeSignaller<Content> cc (this, ContentProperty::VIDEO_FRAME_RATE);
+ ContentChangeSignaller cc (this, ContentProperty::VIDEO_FRAME_RATE);
{
boost::mutex::scoped_lock lm (_mutex);
void
Content::unset_video_frame_rate ()
{
- ChangeSignaller<Content> cc (this, ContentProperty::VIDEO_FRAME_RATE);
+ ContentChangeSignaller cc (this, ContentProperty::VIDEO_FRAME_RATE);
{
boost::mutex::scoped_lock lm (_mutex);
audio->take_settings_from (c->audio);
}
- list<shared_ptr<TextContent> >::iterator i = text.begin ();
- list<shared_ptr<TextContent> >::const_iterator j = c->text.begin ();
+ auto i = text.begin ();
+ auto j = c->text.begin ();
while (i != text.end() && j != c->text.end()) {
(*i)->take_settings_from (*j);
++i;