summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-09-16 22:52:02 +0100
committerCarl Hetherington <cth@carlh.net>2015-09-16 22:52:02 +0100
commit78a95b32af03460182abccc62c784e696cf53e17 (patch)
treeac6063e92f950a7d1691be56a5404f53034643b4 /src/lib
parent0a3d5ea0900ed0f9aaa0b5a5f1b7dcec854fc4f9 (diff)
Config option for default standard (SMPTE / Interop).
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/config.cc3
-rw-r--r--src/lib/config.h9
-rw-r--r--src/lib/film.cc2
3 files changed, 13 insertions, 1 deletions
diff --git a/src/lib/config.cc b/src/lib/config.cc
index 6862cc565..a51c775a3 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -86,6 +86,7 @@ Config::set_defaults ()
_default_dcp_content_type = DCPContentType::from_isdcf_name ("FTR");
_default_j2k_bandwidth = 100000000;
_default_audio_delay = 0;
+ _default_interop = false;
_mail_server = "";
_mail_port = 25;
_mail_user = "";
@@ -205,6 +206,7 @@ Config::read ()
_default_still_length = f.optional_number_child<int>("DefaultStillLength").get_value_or (10);
_default_j2k_bandwidth = f.optional_number_child<int>("DefaultJ2KBandwidth").get_value_or (200000000);
_default_audio_delay = f.optional_number_child<int>("DefaultAudioDelay").get_value_or (0);
+ _default_interop = f.optional_bool_child("DefaultInterop").get_value_or (false);
list<cxml::NodePtr> cin = f.node_children ("Cinema");
for (list<cxml::NodePtr>::iterator i = cin.begin(); i != cin.end(); ++i) {
@@ -357,6 +359,7 @@ Config::write () const
root->add_child("DefaultStillLength")->add_child_text (raw_convert<string> (_default_still_length));
root->add_child("DefaultJ2KBandwidth")->add_child_text (raw_convert<string> (_default_j2k_bandwidth));
root->add_child("DefaultAudioDelay")->add_child_text (raw_convert<string> (_default_audio_delay));
+ root->add_child("DefaultInterop")->add_child_text (_default_interop ? "1" : "0");
for (list<shared_ptr<Cinema> >::const_iterator i = _cinemas.begin(); i != _cinemas.end(); ++i) {
(*i)->as_xml (root->add_child ("Cinema"));
diff --git a/src/lib/config.h b/src/lib/config.h
index 2f68ea31c..579527975 100644
--- a/src/lib/config.h
+++ b/src/lib/config.h
@@ -166,6 +166,10 @@ public:
return _default_audio_delay;
}
+ bool default_interop () const {
+ return _default_interop;
+ }
+
std::string mail_server () const {
return _mail_server;
}
@@ -349,6 +353,10 @@ public:
maybe_set (_default_audio_delay, d);
}
+ void set_default_interop (bool i) {
+ maybe_set (_default_interop, i);
+ }
+
void set_mail_server (std::string s) {
maybe_set (_mail_server, s);
}
@@ -492,6 +500,7 @@ private:
std::string _dcp_creator;
int _default_j2k_bandwidth;
int _default_audio_delay;
+ bool _default_interop;
std::list<boost::shared_ptr<Cinema> > _cinemas;
std::string _mail_server;
int _mail_port;
diff --git a/src/lib/film.cc b/src/lib/film.cc
index 6514efde8..b112914b3 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -123,7 +123,7 @@ Film::Film (boost::filesystem::path dir, bool log)
, _audio_channels (6)
, _three_d (false)
, _sequence_video (true)
- , _interop (false)
+ , _interop (Config::instance()->default_interop ())
, _audio_processor (0)
, _state_version (current_state_version)
, _dirty (false)