Add configure option to disable EBUR128 analysis of audio.
[dcpomatic.git] / src / lib / config.cc
index cf47bba8eaab2b0502962fcad7b0cfe91f527047..ba285fd2ce3e9fe1129bd05a667f95396f314587 100644 (file)
@@ -98,6 +98,7 @@ Config::set_defaults ()
        _check_for_test_updates = false;
        _maximum_j2k_bandwidth = 250000000;
        _log_types = LogEntry::TYPE_GENERAL | LogEntry::TYPE_WARNING | LogEntry::TYPE_ERROR;
+       _analyse_ebur128 = true;
        _automatic_audio_analysis = false;
 #ifdef DCPOMATIC_WINDOWS
        _win32_console = false;
@@ -247,6 +248,7 @@ Config::read ()
        _allow_any_dcp_frame_rate = f.optional_bool_child ("AllowAnyDCPFrameRate").get_value_or (false);
 
        _log_types = f.optional_number_child<int> ("LogTypes").get_value_or (LogEntry::TYPE_GENERAL | LogEntry::TYPE_WARNING | LogEntry::TYPE_ERROR);
+       _analyse_ebur128 = f.optional_bool_child("AnalyseEBUR128").get_value_or (true);
        _automatic_audio_analysis = f.optional_bool_child ("AutomaticAudioAnalysis").get_value_or (false);
 #ifdef DCPOMATIC_WINDOWS
        _win32_console = f.optional_bool_child ("Win32Console").get_value_or (false);
@@ -411,18 +413,21 @@ Config::write_config_xml () const
        root->add_child("MaximumJ2KBandwidth")->add_child_text (raw_convert<string> (_maximum_j2k_bandwidth));
        root->add_child("AllowAnyDCPFrameRate")->add_child_text (_allow_any_dcp_frame_rate ? "1" : "0");
        root->add_child("LogTypes")->add_child_text (raw_convert<string> (_log_types));
+       root->add_child("AnalyseEBUR128")->add_child_text (_analyse_ebur128 ? "1" : "0");
        root->add_child("AutomaticAudioAnalysis")->add_child_text (_automatic_audio_analysis ? "1" : "0");
 #ifdef DCPOMATIC_WINDOWS
        root->add_child("Win32Console")->add_child_text (_win32_console ? "1" : "0");
 #endif
 
        xmlpp::Element* signer = root->add_child ("Signer");
+       DCPOMATIC_ASSERT (_signer_chain);
        BOOST_FOREACH (dcp::Certificate const & i, _signer_chain->root_to_leaf ()) {
                signer->add_child("Certificate")->add_child_text (i.certificate (true));
        }
        signer->add_child("PrivateKey")->add_child_text (_signer_chain->key().get ());
 
        xmlpp::Element* decryption = root->add_child ("Decryption");
+       DCPOMATIC_ASSERT (_decryption_chain);
        BOOST_FOREACH (dcp::Certificate const & i, _decryption_chain->root_to_leaf ()) {
                decryption->add_child("Certificate")->add_child_text (i.certificate (true));
        }