summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-12-20 21:28:47 +0000
committerCarl Hetherington <cth@carlh.net>2013-12-20 21:28:47 +0000
commita5b59faff75265d3256ad0dbd9f0c69e51e31ce4 (patch)
treec004aa04bcccff1ef8cf0d9f0a8f00c4da8831e0 /src
parent9b21d77dccc88d9b77085e05845e0b8e2d606b3b (diff)
parent13b133de7fb5b953c23c58790c2d1f2a8bf4009c (diff)
Merge branch '1.0' into 1.0-seek
Diffstat (limited to 'src')
-rw-r--r--src/lib/audio_content.cc5
-rw-r--r--src/lib/config.cc3
-rw-r--r--src/lib/config.h9
-rw-r--r--src/lib/job_manager.h1
-rw-r--r--src/wx/config_dialog.cc19
-rw-r--r--src/wx/config_dialog.h2
6 files changed, 37 insertions, 2 deletions
diff --git a/src/lib/audio_content.cc b/src/lib/audio_content.cc
index de743571b..83a43f3bd 100644
--- a/src/lib/audio_content.cc
+++ b/src/lib/audio_content.cc
@@ -23,6 +23,7 @@
#include "job_manager.h"
#include "film.h"
#include "exceptions.h"
+#include "config.h"
#include "i18n.h"
@@ -42,7 +43,7 @@ int const AudioContentProperty::AUDIO_MAPPING = 205;
AudioContent::AudioContent (shared_ptr<const Film> f, DCPTime s)
: Content (f, s)
, _audio_gain (0)
- , _audio_delay (0)
+ , _audio_delay (Config::instance()->default_audio_delay ())
{
}
@@ -50,7 +51,7 @@ AudioContent::AudioContent (shared_ptr<const Film> f, DCPTime s)
AudioContent::AudioContent (shared_ptr<const Film> f, boost::filesystem::path p)
: Content (f, p)
, _audio_gain (0)
- , _audio_delay (0)
+ , _audio_delay (Config::instance()->default_audio_delay ())
{
}
diff --git a/src/lib/config.cc b/src/lib/config.cc
index ccbcdf7dd..93eec9bc0 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -64,6 +64,7 @@ Config::Config ()
, _default_container (Ratio::from_id ("185"))
, _default_dcp_content_type (DCPContentType::from_dci_name ("TST"))
, _default_j2k_bandwidth (200000000)
+ , _default_audio_delay (0)
, _kdm_email (
"Dear Projectionist\n\nPlease find attached KDMs for $CPL_NAME.\n\nBest regards,\nDCP-o-matic"
)
@@ -145,6 +146,7 @@ Config::read ()
_default_dci_metadata = DCIMetadata (f.node_child ("DCIMetadata"));
_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);
list<cxml::NodePtr> cc = f.node_children ("ColourConversion");
@@ -334,6 +336,7 @@ Config::write () const
root->add_child("DefaultStillLength")->add_child_text (lexical_cast<string> (_default_still_length));
root->add_child("DefaultJ2KBandwidth")->add_child_text (lexical_cast<string> (_default_j2k_bandwidth));
+ root->add_child("DefaultAudioDelay")->add_child_text (lexical_cast<string> (_default_audio_delay));
for (vector<PresetColourConversion>::const_iterator i = _colour_conversions.begin(); i != _colour_conversions.end(); ++i) {
i->as_xml (root->add_child ("ColourConversion"));
diff --git a/src/lib/config.h b/src/lib/config.h
index 1fa54f669..14c707dd2 100644
--- a/src/lib/config.h
+++ b/src/lib/config.h
@@ -143,6 +143,10 @@ public:
return _default_j2k_bandwidth;
}
+ int default_audio_delay () const {
+ return _default_audio_delay;
+ }
+
std::vector<PresetColourConversion> colour_conversions () const {
return _colour_conversions;
}
@@ -245,6 +249,10 @@ public:
_default_j2k_bandwidth = b;
}
+ void set_default_audio_delay (int d) {
+ _default_audio_delay = d;
+ }
+
void set_colour_conversions (std::vector<PresetColourConversion> const & c) {
_colour_conversions = c;
}
@@ -309,6 +317,7 @@ private:
DCPContentType const * _default_dcp_content_type;
libdcp::XMLMetadata _dcp_metadata;
int _default_j2k_bandwidth;
+ int _default_audio_delay;
std::vector<PresetColourConversion> _colour_conversions;
std::list<boost::shared_ptr<Cinema> > _cinemas;
std::string _mail_server;
diff --git a/src/lib/job_manager.h b/src/lib/job_manager.h
index 0c92efd28..f0673df15 100644
--- a/src/lib/job_manager.h
+++ b/src/lib/job_manager.h
@@ -27,6 +27,7 @@
#include <boost/signals2.hpp>
class Job;
+extern void wait_for_jobs ();
/** @class JobManager
* @brief A simple scheduler for jobs.
diff --git a/src/wx/config_dialog.cc b/src/wx/config_dialog.cc
index 71a0f505f..4743000f2 100644
--- a/src/wx/config_dialog.cc
+++ b/src/wx/config_dialog.cc
@@ -158,6 +158,15 @@ ConfigDialog::make_misc_panel ()
add_label_to_sizer (s, _misc_panel, _("MBps"), false);
table->Add (s, 1);
}
+
+ {
+ add_label_to_sizer (table, _misc_panel, _("Default audio delay"), true);
+ wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
+ _default_audio_delay = new wxSpinCtrl (_misc_panel);
+ s->Add (_default_audio_delay);
+ add_label_to_sizer (s, _misc_panel, _("ms"), false);
+ table->Add (s, 1);
+ }
Config* config = Config::instance ();
@@ -225,6 +234,10 @@ ConfigDialog::make_misc_panel ()
_default_j2k_bandwidth->SetRange (50, 250);
_default_j2k_bandwidth->SetValue (config->default_j2k_bandwidth() / 1000000);
_default_j2k_bandwidth->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&ConfigDialog::default_j2k_bandwidth_changed, this));
+
+ _default_audio_delay->SetRange (-1000, 1000);
+ _default_audio_delay->SetValue (config->default_audio_delay ());
+ _default_audio_delay->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&ConfigDialog::default_audio_delay_changed, this));
}
void
@@ -457,6 +470,12 @@ ConfigDialog::default_j2k_bandwidth_changed ()
Config::instance()->set_default_j2k_bandwidth (_default_j2k_bandwidth->GetValue() * 1000000);
}
+void
+ConfigDialog::default_audio_delay_changed ()
+{
+ Config::instance()->set_default_audio_delay (_default_audio_delay->GetValue());
+}
+
static std::string
colour_conversion_column (PresetColourConversion c)
{
diff --git a/src/wx/config_dialog.h b/src/wx/config_dialog.h
index 3a196cce3..45739ef92 100644
--- a/src/wx/config_dialog.h
+++ b/src/wx/config_dialog.h
@@ -58,6 +58,7 @@ private:
void issuer_changed ();
void creator_changed ();
void default_j2k_bandwidth_changed ();
+ void default_audio_delay_changed ();
void mail_server_changed ();
void kdm_from_changed ();
void kdm_email_changed ();
@@ -99,6 +100,7 @@ private:
wxTextCtrl* _issuer;
wxTextCtrl* _creator;
wxSpinCtrl* _default_j2k_bandwidth;
+ wxSpinCtrl* _default_audio_delay;
wxPanel* _kdm_email_panel;
wxTextCtrl* _kdm_email;
wxCheckBox* _use_any_servers;