projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move burnt subtitle checks into ::subtitle_languages().
[dcpomatic.git]
/
src
/
lib
/
content.cc
diff --git
a/src/lib/content.cc
b/src/lib/content.cc
index 9969213ac62eb260aa217a727233f3c42afdecde..6324050ec69a22f056cc3bedb4c1c7ae2ff002f0 100644
(file)
--- a/
src/lib/content.cc
+++ b/
src/lib/content.cc
@@
-93,7
+93,7
@@
Content::Content (cxml::ConstNodePtr node)
_last_write_times.push_back (*mod);
} else {
boost::system::error_code ec;
_last_write_times.push_back (*mod);
} else {
boost::system::error_code ec;
- auto last_write =
boost
::filesystem::last_write_time(i->content(), ec);
+ auto last_write =
dcp
::filesystem::last_write_time(i->content(), ec);
_last_write_times.push_back (ec ? 0 : last_write);
}
}
_last_write_times.push_back (ec ? 0 : last_write);
}
}
@@
-187,7
+187,7
@@
Content::examine (shared_ptr<const Film>, shared_ptr<Job> job)
_last_write_times.clear ();
for (auto i: _paths) {
boost::system::error_code ec;
_last_write_times.clear ();
for (auto i: _paths) {
boost::system::error_code ec;
- auto last_write =
boost
::filesystem::last_write_time(i, ec);
+ auto last_write =
dcp
::filesystem::last_write_time(i, ec);
_last_write_times.push_back (ec ? 0 : last_write);
}
}
_last_write_times.push_back (ec ? 0 : last_write);
}
}
@@
-242,7
+242,7
@@
Content::set_position (shared_ptr<const Film> film, DCPTime p, bool force_emit)
void
void
-Content::set_trim_start
(
ContentTime t)
+Content::set_trim_start
(shared_ptr<const Film> film,
ContentTime t)
{
DCPOMATIC_ASSERT (t.get() >= 0);
{
DCPOMATIC_ASSERT (t.get() >= 0);
@@
-254,14
+254,18
@@
Content::set_trim_start (ContentTime t)
/* See note in ::set_position */
if (!video && audio) {
/* See note in ::set_position */
if (!video && audio) {
- audio->modify_trim_start
(
t);
+ audio->modify_trim_start
(film,
t);
}
ContentChangeSignaller cc (this, ContentProperty::TRIM_START);
{
boost::mutex::scoped_lock lm (_mutex);
}
ContentChangeSignaller cc (this, ContentProperty::TRIM_START);
{
boost::mutex::scoped_lock lm (_mutex);
- _trim_start = t;
+ if (_trim_start == t) {
+ cc.abort();
+ } else {
+ _trim_start = t;
+ }
}
}
}
}
@@
-335,7
+339,7
@@
bool
Content::paths_valid () const
{
for (auto i: _paths) {
Content::paths_valid () const
{
for (auto i: _paths) {
- if (!
boost::filesystem::exists
(i)) {
+ if (!
dcp::filesystem::exists
(i)) {
return false;
}
}
return false;
}
}
@@
-355,7
+359,7
@@
Content::set_paths (vector<boost::filesystem::path> paths)
_last_write_times.clear ();
for (auto i: _paths) {
boost::system::error_code ec;
_last_write_times.clear ();
for (auto i: _paths) {
boost::system::error_code ec;
- auto last_write =
boost
::filesystem::last_write_time(i, ec);
+ auto last_write =
dcp
::filesystem::last_write_time(i, ec);
_last_write_times.push_back (ec ? 0 : last_write);
}
}
_last_write_times.push_back (ec ? 0 : last_write);
}
}
@@
-402,7
+406,7
@@
Content::reel_split_points (shared_ptr<const Film>) const
void
void
-Content::set_video_frame_rate
(
double r)
+Content::set_video_frame_rate
(shared_ptr<const Film> film,
double r)
{
ContentChangeSignaller cc (this, ContentProperty::VIDEO_FRAME_RATE);
{
ContentChangeSignaller cc (this, ContentProperty::VIDEO_FRAME_RATE);
@@
-416,7
+420,7
@@
Content::set_video_frame_rate (double r)
/* Make sure trim is still on a frame boundary */
if (video) {
/* Make sure trim is still on a frame boundary */
if (video) {
- set_trim_start
(
trim_start());
+ set_trim_start
(film,
trim_start());
}
}
}
}
@@
-548,7
+552,7
@@
Content::add_path (boost::filesystem::path p)
boost::mutex::scoped_lock lm (_mutex);
_paths.push_back (p);
boost::system::error_code ec;
boost::mutex::scoped_lock lm (_mutex);
_paths.push_back (p);
boost::system::error_code ec;
- auto last_write =
boost
::filesystem::last_write_time(p, ec);
+ auto last_write =
dcp
::filesystem::last_write_time(p, ec);
_last_write_times.push_back (ec ? 0 : last_write);
}
_last_write_times.push_back (ec ? 0 : last_write);
}
@@
-558,7
+562,7
@@
Content::changed () const
{
bool write_time_changed = false;
for (auto i = 0U; i < _paths.size(); ++i) {
{
bool write_time_changed = false;
for (auto i = 0U; i < _paths.size(); ++i) {
- if (
boost
::filesystem::last_write_time(_paths[i]) != last_write_time(i)) {
+ if (
dcp
::filesystem::last_write_time(_paths[i]) != last_write_time(i)) {
write_time_changed = true;
break;
}
write_time_changed = true;
break;
}