+ std::list<UserProperty> user_properties (std::shared_ptr<const Film> film) const;
+
+ std::string calculate_digest () const;
+
+ /* ChangeType::PENDING and ChangeType::CANCELLED may be emitted from any thread; ChangeType::DONE always from GUI thread */
+ boost::signals2::signal<void (ChangeType, std::weak_ptr<Content>, int, bool)> Change;
+
+ std::shared_ptr<VideoContent> video;
+ std::shared_ptr<AudioContent> audio;
+ std::list<std::shared_ptr<TextContent>> text;
+ std::shared_ptr<AtmosContent> atmos;