#include "types.h"
#include "signaller.h"
#include "dcpomatic_time.h"
-#include <libxml++/libxml++.h>
#include <libcxml/cxml.h>
#include <boost/filesystem.hpp>
#include <boost/signals2.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/enable_shared_from_this.hpp>
+namespace xmlpp {
+ class Node;
+}
+
namespace cxml {
class Node;
}
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);
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);
+ void set_trim_end (ContentTime);
- DCPTime trim_end () const {
+ ContentTime trim_end () const {
boost::mutex::scoped_lock lm (_mutex);
return _trim_end;
}
_change_signals_frequent = f;
}
- boost::shared_ptr<const Film> film () const {
- return _film.lock ();
- }
+ boost::shared_ptr<const Film> film () const;
boost::signals2::signal<void (boost::weak_ptr<Content>, int, bool)> Changed;
protected:
void signal_changed (int);
+ virtual void add_properties (std::list<std::pair<std::string, std::string> > &) const {}
boost::weak_ptr<const Film> _film;
private:
std::string _digest;
DCPTime _position;
- DCPTime _trim_start;
- DCPTime _trim_end;
+ ContentTime _trim_start;
+ ContentTime _trim_end;
bool _change_signals_frequent;
};