#include "content.h"
#include "util.h"
#include "content_factory.h"
-#include "ui_signaller.h"
#include "exceptions.h"
#include "film.h"
#include "safe_stringstream.h"
int const ContentProperty::TRIM_START = 403;
int const ContentProperty::TRIM_END = 404;
-Content::Content (shared_ptr<const Film> f)
- : _film (f)
+Content::Content (shared_ptr<const Film> film)
+ : _film (film)
, _position (0)
, _trim_start (0)
, _trim_end (0)
}
-Content::Content (shared_ptr<const Film> f, DCPTime p)
- : _film (f)
+Content::Content (shared_ptr<const Film> film, DCPTime p)
+ : _film (film)
, _position (p)
, _trim_start (0)
, _trim_end (0)
}
-Content::Content (shared_ptr<const Film> f, boost::filesystem::path p)
- : _film (f)
+Content::Content (shared_ptr<const Film> film, boost::filesystem::path p)
+ : _film (film)
, _position (0)
, _trim_start (0)
, _trim_end (0)
_paths.push_back (p);
}
-Content::Content (shared_ptr<const Film> f, cxml::ConstNodePtr node)
- : _film (f)
+Content::Content (shared_ptr<const Film> film, cxml::ConstNodePtr node)
+ : _film (film)
, _change_signals_frequent (false)
{
list<cxml::NodePtr> path_children = node->node_children ("Path");
_trim_end = DCPTime (node->number_child<double> ("TrimEnd"));
}
-Content::Content (shared_ptr<const Film> f, vector<shared_ptr<Content> > c)
- : _film (f)
+Content::Content (shared_ptr<const Film> film, vector<shared_ptr<Content> > c)
+ : _film (film)
, _position (c.front()->position ())
, _trim_start (c.front()->trim_start ())
, _trim_end (c.back()->trim_end ())
if (job) {
job->sub (_("Computing digest"));
}
-
+
boost::mutex::scoped_lock lm (_mutex);
vector<boost::filesystem::path> p = _paths;
lm.unlock ();
- /* Some content files are very big, so we use a poor's
+ /* Some content files are very big, so we use a poor man's
digest here: a MD5 of the first and last 1e6 bytes with the
size of the first file tacked on the end as a string.
*/
void
Content::signal_changed (int p)
{
- if (ui_signaller) {
- ui_signaller->emit (boost::bind (boost::ref (Changed), shared_from_this (), p, _change_signals_frequent));
- }
+ emit (boost::bind (boost::ref (Changed), shared_from_this (), p, _change_signals_frequent));
}
void
if (p == _position) {
return;
}
-
+
_position = p;
}
if (!film) {
return shared_ptr<Content> ();
}
-
+
/* 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");
Content::identifier () const
{
SafeStringStream s;
-
+
s << Content::digest()
<< "_" << position().get()
<< "_" << trim_start().get()