+2013-12-20 Carl Hetherington <cth@carlh.net>
+
+ * Add configuration option for default audio delay (#276).
+
+ * Version 1.46 released.
+
2013-12-19 Carl Hetherington <cth@carlh.net>
* Version 1.45 released.
def dependencies(target):
return (('ffmpeg-cdist', '0b7ef017aca8b572914518c759db1e234d8fc505'),
- ('libdcp', 'v0.90'))
+ ('libdcp', 'v0.91'))
def build(target):
cmd = './waf configure --prefix=%s' % target.work_dir_cscript()
-dcpomatic (1.45-1) UNRELEASED; urgency=low
+dcpomatic (1.46-1) UNRELEASED; urgency=low
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
+ * New upstream release.
- -- Carl Hetherington <carl@d1stkfactory> Thu, 19 Dec 2013 16:26:56 +0000
+ -- Carl Hetherington <carl@d1stkfactory> Fri, 20 Dec 2013 20:53:40 +0000
dcpomatic (0.87-1) UNRELEASED; urgency=low
chmod -Rf go-w /Volumes/"$vol_name"/$appdir
sync
-umount -f $device
hdiutil eject $device
hdiutil convert -format UDZO $tmp_dmg -imagekey zlib-level=9 -o "$dmg"
sips -i $WORK/$resources/DCP-o-matic.icns
#include "job_manager.h"
#include "film.h"
#include "exceptions.h"
+#include "config.h"
#include "i18n.h"
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 ())
{
}
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 ())
{
}
, _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"
)
_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");
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"));
return _default_j2k_bandwidth;
}
+ int default_audio_delay () const {
+ return _default_audio_delay;
+ }
+
std::vector<PresetColourConversion> colour_conversions () const {
return _colour_conversions;
}
_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;
}
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;
#include <boost/signals2.hpp>
class Job;
+extern void wait_for_jobs ();
/** @class JobManager
* @brief A simple scheduler for jobs.
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 ();
_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
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)
{
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 ();
wxTextCtrl* _issuer;
wxTextCtrl* _creator;
wxSpinCtrl* _default_j2k_bandwidth;
+ wxSpinCtrl* _default_audio_delay;
wxPanel* _kdm_email_panel;
wxTextCtrl* _kdm_email;
wxCheckBox* _use_any_servers;
import sys
APPNAME = 'dcpomatic'
-VERSION = '1.46pre'
+VERSION = '1.47pre'
def options(opt):
opt.load('compiler_cxx')
# Dependencies which are dynamically linked everywhere except --static
# Get libs only when we are dynamically linking
- conf.check_cfg(package='libdcp', atleast_version='0.90', args=pkg_config_args(conf), uselib_store='DCP', mandatory=True)
+ conf.check_cfg(package='libdcp', atleast_version='0.91', args=pkg_config_args(conf), uselib_store='DCP', mandatory=True)
# Remove erroneous escaping of quotes from xmlsec1 defines
conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP]
conf.check_cfg(package='libcxml', atleast_version='0.08', args=pkg_config_args(conf), uselib_store='CXML', mandatory=True)