* @param job Job to use to report progress, or 0.
*/
virtual void examine (boost::shared_ptr<Job> job);
-
+
/** @return Quick one-line summary of the content, as will be presented in the
* film editor.
*/
virtual std::string summary () const = 0;
-
+
/** @return Technical details of this content; these are written to logs to
* help with debugging.
*/
virtual std::string technical_summary () const;
-
+
virtual void as_xml (xmlpp::Node *) const;
virtual DCPTime full_length () const = 0;
virtual std::string identifier () const;
+ std::list<std::pair<std::string, std::string> > properties () const;
+
boost::shared_ptr<Content> clone () const;
void set_path (boost::filesystem::path);
boost::mutex::scoped_lock lm (_mutex);
return _paths[i];
}
-
+
bool paths_valid () const;
/** @return Digest of the content's file(s). Note: this is
return _position;
}
- void set_trim_start (DCPTime);
+ void set_trim_start (ContentTime);
- DCPTime trim_start () const {
+ ContentTime trim_start () const {
boost::mutex::scoped_lock lm (_mutex);
return _trim_start;
}
- void set_trim_end (DCPTime);
-
- DCPTime trim_end () const {
+ void set_trim_end (ContentTime);
+
+ ContentTime trim_end () const {
boost::mutex::scoped_lock lm (_mutex);
return _trim_end;
}
}
DCPTime length_after_trim () const;
-
+
void set_change_signals_frequent (bool f) {
_change_signals_frequent = f;
}
protected:
void signal_changed (int);
+ virtual void add_properties (std::list<std::pair<std::string, std::string> > &) const {}
boost::weak_ptr<const Film> _film;
/** Paths of our data files */
std::vector<boost::filesystem::path> _paths;
-
+
private:
std::string _digest;
DCPTime _position;
- DCPTime _trim_start;
- DCPTime _trim_end;
+ ContentTime _trim_start;
+ ContentTime _trim_end;
bool _change_signals_frequent;
};