#include "frame_rate_change.h"
#include "signaller.h"
#include "dcp_text_track.h"
+#include <dcp/language_tag.h>
#include <dcp/key.h>
#include <dcp/encrypted_kdm.h>
#include <boost/signals2.hpp>
class Film;
struct isdcf_name_test;
struct recover_test_2d_encrypted;
+struct atmos_encrypted_passthrough_test;
class InfoFileHandle
{
dcp::Size full_frame () const;
dcp::Size frame_size () const;
+ dcp::Size active_area () const;
std::vector<CPLSummary> cpls () const;
return _state_version;
}
- std::string subtitle_language () const;
-
- std::vector<std::string> audio_output_names () const;
+ std::vector<NamedChannel> audio_output_names () const;
void repeat_content (ContentList, int);
bool references_dcp_video () const;
bool references_dcp_audio () const;
+ bool contains_atmos_content () const;
void set_tolerant (bool t) {
_tolerant = t;
AUDIO_PROCESSOR,
REEL_TYPE,
REEL_LENGTH,
- UPLOAD_AFTER_MAKE_DCP,
REENCODE_J2K,
MARKERS,
RATINGS,
- CONTENT_VERSION
+ CONTENT_VERSIONS,
+ NAME_LANGUAGE,
+ AUDIO_LANGUAGE,
+ RELEASE_TERRITORY,
+ VERSION_NUMBER,
+ STATUS,
+ CHAIN,
+ DISTRIBUTOR,
+ FACILITY,
+ LUMINANCE,
+ SUBTITLE_LANGUAGES
};
return _reel_length;
}
- bool upload_after_make_dcp () const {
- return _upload_after_make_dcp;
- }
-
std::string context_id () const {
return _context_id;
}
return _reencode_j2k;
}
+ typedef std::map<dcp::Marker, dcpomatic::DCPTime> Markers;
+
boost::optional<dcpomatic::DCPTime> marker (dcp::Marker type) const;
- std::map<dcp::Marker, dcpomatic::DCPTime> markers () const {
+ Markers markers () const {
return _markers;
}
return _ratings;
}
- std::string content_version () const {
- return _content_version;
+ std::vector<std::string> content_versions () const {
+ return _content_versions;
+ }
+
+ dcp::LanguageTag name_language () const {
+ return _name_language;
+ }
+
+ dcp::LanguageTag audio_language () const {
+ return _audio_language;
+ }
+
+ dcp::LanguageTag::RegionSubtag release_territory () const {
+ return _release_territory;
+ }
+
+ int version_number () const {
+ return _version_number;
+ }
+
+ dcp::Status status () const {
+ return _status;
+ }
+
+ std::string chain () const {
+ return _chain;
+ }
+
+ std::string distributor () const {
+ return _distributor;
+ }
+
+ std::string facility () const {
+ return _facility;
+ }
+
+ dcp::Luminance luminance () const {
+ return _luminance;
+ }
+
+ std::vector<dcp::LanguageTag> subtitle_languages () const {
+ return _subtitle_languages;
}
/* SET */
void set_audio_processor (AudioProcessor const * processor);
void set_reel_type (ReelType);
void set_reel_length (int64_t);
- void set_upload_after_make_dcp (bool);
void set_reencode_j2k (bool);
void set_marker (dcp::Marker type, dcpomatic::DCPTime time);
void unset_marker (dcp::Marker type);
void clear_markers ();
void set_ratings (std::vector<dcp::Rating> r);
- void set_content_version (std::string v);
+ void set_content_versions (std::vector<std::string> v);
+ void set_name_language (dcp::LanguageTag lang);
+ void set_audio_language (dcp::LanguageTag lang);
+ void set_release_territory (dcp::LanguageTag::RegionSubtag region);
+ void set_version_number (int v);
+ void set_status (dcp::Status s);
+ void set_chain (std::string c);
+ void set_facility (std::string f);
+ void set_distributor (std::string d);
+ void set_luminance (dcp::Luminance l);
+ void set_subtitle_language (dcp::LanguageTag language);
+ void unset_subtitle_language ();
+ void set_subtitle_languages (std::vector<dcp::LanguageTag> languages);
+
+ void add_ffoc_lfoc (Markers& markers) const;
/** Emitted when some property has of the Film is about to change or has changed */
mutable boost::signals2::signal<void (ChangeType, Property)> Change;
friend struct ::isdcf_name_test;
friend struct ::recover_test_2d_encrypted;
+ friend struct ::atmos_encrypted_passthrough_test;
template <typename> friend class ChangeSignaller;
boost::filesystem::path info_file (dcpomatic::DCPTimePeriod p) const;
ReelType _reel_type;
/** Desired reel length in bytes, if _reel_type == REELTYPE_BY_LENGTH */
int64_t _reel_length;
- bool _upload_after_make_dcp;
bool _reencode_j2k;
/** true if the user has ever explicitly set the video frame rate of this film */
bool _user_explicit_video_frame_rate;
bool _user_explicit_resolution;
std::map<dcp::Marker, dcpomatic::DCPTime> _markers;
std::vector<dcp::Rating> _ratings;
- std::string _content_version;
+ std::vector<std::string> _content_versions;
+ dcp::LanguageTag _name_language;
+ dcp::LanguageTag _audio_language;
+ dcp::LanguageTag::RegionSubtag _release_territory;
+ int _version_number;
+ dcp::Status _status;
+ std::string _chain;
+ std::string _distributor;
+ std::string _facility;
+ dcp::Luminance _luminance;
+ std::vector<dcp::LanguageTag> _subtitle_languages;
int _state_version;