+ /** Complete path to directory containing the film metadata;
+ * must not be relative.
+ */
+ std::string _directory;
+ /** Mutex for _directory */
+ mutable boost::mutex _directory_mutex;
+
+ /** Name for DCP-o-matic */
+ std::string _name;
+ /** True if a auto-generated DCI-compliant name should be used for our DCP */
+ bool _use_dci_name;
+ /** The type of content that this Film represents (feature, trailer etc.) */
+ DCPContentType const * _dcp_content_type;
+ /** The container to put this Film in (flat, scope, etc.) */
+ Ratio const * _container;
+ /** DCP resolution (2K or 4K) */
+ Resolution _resolution;
+ /** Scaler algorithm to use */
+ Scaler const * _scaler;
+ /** True if subtitles should be shown for this film */
+ bool _with_subtitles;
+ /** bandwidth for J2K files in bits per second */
+ int _j2k_bandwidth;
+ /** DCI naming stuff */
+ DCIMetadata _dci_metadata;
+ /** Frames per second to run our DCP at */
+ int _dcp_video_frame_rate;
+ /** The date that we should use in a DCI name */
+ boost::gregorian::date _dci_date;
+ int _dcp_audio_channels;
+ /** If true, the DCP will be written in 3D mode; otherwise in 2D.
+ This will be regardless of what content is on the playlist.
+ */
+ bool _dcp_3d;
+ bool _sequence_video;
+
+ /** true if our state has changed since we last saved it */