summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-06-17 23:22:06 +0100
committerCarl Hetherington <cth@carlh.net>2016-06-17 23:48:22 +0100
commitec18743d91476f4a712644179c2d654d8702349c (patch)
tree9910d0f689847cd0bb21520aaac68af671d63707 /src/lib
parent86ccabf14528318c640d211e79f441ca2dcdf14d (diff)
Add preference for the default number of DCP channels (#897).
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/config.cc4
-rw-r--r--src/lib/config.h9
-rw-r--r--src/lib/film.cc2
3 files changed, 14 insertions, 1 deletions
diff --git a/src/lib/config.cc b/src/lib/config.cc
index f8debbb4e..891d832a2 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -85,6 +85,7 @@ Config::set_defaults ()
_default_still_length = 10;
_default_container = Ratio::from_id ("185");
_default_dcp_content_type = DCPContentType::from_isdcf_name ("FTR");
+ _default_dcp_audio_channels = 6;
_default_j2k_bandwidth = 100000000;
_default_audio_delay = 0;
_default_interop = false;
@@ -208,6 +209,8 @@ Config::read ()
_default_dcp_content_type = DCPContentType::from_isdcf_name (c.get ());
}
+ _default_dcp_audio_channels = f.optional_number_child<int>("DefaultDCPAudioChannels").get_value_or (6);
+
if (f.optional_string_child ("DCPMetadataIssuer")) {
_dcp_issuer = f.string_child ("DCPMetadataIssuer");
} else if (f.optional_string_child ("DCPIssuer")) {
@@ -389,6 +392,7 @@ Config::write_config_xml () const
if (_default_dcp_content_type) {
root->add_child("DefaultDCPContentType")->add_child_text (_default_dcp_content_type->isdcf_name ());
}
+ root->add_child("DefaultDCPAudioChannels")->add_child_text (raw_convert<string> (_default_dcp_audio_channels));
root->add_child("DCPIssuer")->add_child_text (_dcp_issuer);
root->add_child("DCPCreator")->add_child_text (_dcp_creator);
diff --git a/src/lib/config.h b/src/lib/config.h
index 6baa434a3..1ffcfdb98 100644
--- a/src/lib/config.h
+++ b/src/lib/config.h
@@ -152,6 +152,10 @@ public:
return _default_dcp_content_type;
}
+ int default_dcp_audio_channels () const {
+ return _default_dcp_audio_channels;
+ }
+
std::string dcp_issuer () const {
return _dcp_issuer;
}
@@ -351,6 +355,10 @@ public:
maybe_set (_default_dcp_content_type, t);
}
+ void set_default_dcp_audio_channels (int c) {
+ maybe_set (_default_dcp_audio_channels, c);
+ }
+
void set_dcp_issuer (std::string i) {
maybe_set (_dcp_issuer, i);
}
@@ -529,6 +537,7 @@ private:
int _default_still_length;
Ratio const * _default_container;
DCPContentType const * _default_dcp_content_type;
+ int _default_dcp_audio_channels;
std::string _dcp_issuer;
std::string _dcp_creator;
int _default_j2k_bandwidth;
diff --git a/src/lib/film.cc b/src/lib/film.cc
index 64550556b..3cd3f0f21 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -133,7 +133,7 @@ Film::Film (boost::filesystem::path dir, bool log)
, _j2k_bandwidth (Config::instance()->default_j2k_bandwidth ())
, _isdcf_metadata (Config::instance()->default_isdcf_metadata ())
, _video_frame_rate (24)
- , _audio_channels (6)
+ , _audio_channels (Config::instance()->default_dcp_audio_channels ())
, _three_d (false)
, _sequence (true)
, _interop (Config::instance()->default_interop ())