summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-06-08 18:21:37 +0200
committerCarl Hetherington <cth@carlh.net>2020-06-08 18:21:37 +0200
commitd1957e43ef4a3966e35b9f28b8faf96e925d2310 (patch)
tree6f71f8d11e1496d504df4d547455528c71bf3618
parentf330799459f44d031dc711b947dd2c0cc5a015a3 (diff)
Move upload-DCP-to-TMS button to preferences.
-rw-r--r--src/lib/config.cc12
-rw-r--r--src/lib/config.h10
-rw-r--r--src/lib/film.cc11
-rw-r--r--src/lib/film.h7
-rw-r--r--src/lib/transcode_job.cc5
-rw-r--r--src/wx/dcp_panel.cc22
-rw-r--r--src/wx/dcp_panel.h2
-rw-r--r--src/wx/full_config_dialog.cc23
8 files changed, 27 insertions, 65 deletions
diff --git a/src/lib/config.cc b/src/lib/config.cc
index a138cc879..b1f2a4f18 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -104,7 +104,7 @@ Config::set_defaults ()
_default_j2k_bandwidth = 150000000;
_default_audio_delay = 0;
_default_interop = true;
- _default_upload_after_make_dcp = false;
+ _upload_after_make_dcp = false;
_mail_server = "";
_mail_port = 25;
_mail_protocol = EMAIL_PROTOCOL_AUTO;
@@ -317,7 +317,11 @@ try
_dcp_issuer = f.string_child ("DCPIssuer");
}
- _default_upload_after_make_dcp = f.optional_bool_child("DefaultUploadAfterMakeDCP").get_value_or (false);
+ optional<bool> up = f.optional_bool_child("UploadAfterMakeDCP");
+ if (!up) {
+ up = f.optional_bool_child("DefaultUploadAfterMakeDCP");
+ }
+ _upload_after_make_dcp = up.get_value_or (false);
_dcp_creator = f.optional_string_child ("DCPCreator").get_value_or ("");
if (version && version.get() >= 2) {
@@ -725,8 +729,8 @@ Config::write_config () const
root->add_child("DCPIssuer")->add_child_text (_dcp_issuer);
/* [XML] DCPIssuer Creator text to write into CPL files. */
root->add_child("DCPCreator")->add_child_text (_dcp_creator);
- /* [XML] DefaultUploadAfterMakeDCP 1 to default to uploading to a TMS after making a DCP, 0 to default to no upload. */
- root->add_child("DefaultUploadAfterMakeDCP")->add_child_text (_default_upload_after_make_dcp ? "1" : "0");
+ /* [XML] UploadAfterMakeDCP 1 to upload to a TMS after making a DCP, 0 for no upload. */
+ root->add_child("UploadAfterMakeDCP")->add_child_text (_upload_after_make_dcp ? "1" : "0");
/* [XML] ISDCFMetadata Default ISDCF metadata to use for new films; child tags are <code>&lt;ContentVersion&gt;</code>,
<code>&lt;AudioLanguage&gt;</code>, <code>&lt;SubtitleLanguage&gt;</code>, <code>&lt;Territory&gt;</code>,
diff --git a/src/lib/config.h b/src/lib/config.h
index 23f7ce0b3..4b7488d15 100644
--- a/src/lib/config.h
+++ b/src/lib/config.h
@@ -214,8 +214,8 @@ public:
return _default_interop;
}
- bool default_upload_after_make_dcp () {
- return _default_upload_after_make_dcp;
+ bool upload_after_make_dcp () {
+ return _upload_after_make_dcp;
}
void set_default_kdm_directory (boost::filesystem::path d) {
@@ -710,8 +710,8 @@ public:
maybe_set (_default_interop, i);
}
- void set_default_upload_after_make_dcp (bool u) {
- maybe_set (_default_upload_after_make_dcp, u);
+ void set_upload_after_make_dcp (bool u) {
+ maybe_set (_upload_after_make_dcp, u);
}
void set_mail_server (std::string s) {
@@ -1236,7 +1236,7 @@ private:
the home directory will be offered.
*/
boost::optional<boost::filesystem::path> _default_kdm_directory;
- bool _default_upload_after_make_dcp;
+ bool _upload_after_make_dcp;
std::list<boost::shared_ptr<Cinema> > _cinemas;
std::list<boost::shared_ptr<DKDMRecipient> > _dkdm_recipients;
std::string _mail_server;
diff --git a/src/lib/film.cc b/src/lib/film.cc
index 93a22d186..c04f2996f 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -160,7 +160,6 @@ Film::Film (optional<boost::filesystem::path> dir)
, _audio_processor (0)
, _reel_type (REELTYPE_SINGLE)
, _reel_length (2000000000)
- , _upload_after_make_dcp (Config::instance()->default_upload_after_make_dcp())
, _reencode_j2k (false)
, _user_explicit_video_frame_rate (false)
, _user_explicit_container (false)
@@ -454,7 +453,6 @@ Film::metadata (bool with_content_paths) const
}
root->add_child("ReelType")->add_child_text (raw_convert<string> (static_cast<int> (_reel_type)));
root->add_child("ReelLength")->add_child_text (raw_convert<string> (_reel_length));
- root->add_child("UploadAfterMakeDCP")->add_child_text (_upload_after_make_dcp ? "1" : "0");
root->add_child("ReencodeJ2K")->add_child_text (_reencode_j2k ? "1" : "0");
root->add_child("UserExplicitVideoFrameRate")->add_child_text(_user_explicit_video_frame_rate ? "1" : "0");
for (map<dcp::Marker, DCPTime>::const_iterator i = _markers.begin(); i != _markers.end(); ++i) {
@@ -602,7 +600,6 @@ Film::read_metadata (optional<boost::filesystem::path> path)
_reel_type = static_cast<ReelType> (f.optional_number_child<int>("ReelType").get_value_or (static_cast<int>(REELTYPE_SINGLE)));
_reel_length = f.optional_number_child<int64_t>("ReelLength").get_value_or (2000000000);
- _upload_after_make_dcp = f.optional_bool_child("UploadAfterMakeDCP").get_value_or (false);
_reencode_j2k = f.optional_bool_child("ReencodeJ2K").get_value_or(false);
_user_explicit_video_frame_rate = f.optional_bool_child("UserExplicitVideoFrameRate").get_value_or(false);
@@ -1085,13 +1082,6 @@ Film::set_reel_length (int64_t r)
}
void
-Film::set_upload_after_make_dcp (bool u)
-{
- ChangeSignaller<Film> ch (this, UPLOAD_AFTER_MAKE_DCP);
- _upload_after_make_dcp = u;
-}
-
-void
Film::set_reencode_j2k (bool r)
{
ChangeSignaller<Film> ch (this, REENCODE_J2K);
@@ -1748,7 +1738,6 @@ Film::use_template (string name)
_audio_processor = _template_film->_audio_processor;
_reel_type = _template_film->_reel_type;
_reel_length = _template_film->_reel_length;
- _upload_after_make_dcp = _template_film->_upload_after_make_dcp;
_isdcf_metadata = _template_film->_isdcf_metadata;
}
diff --git a/src/lib/film.h b/src/lib/film.h
index 7f7590210..64bb159c7 100644
--- a/src/lib/film.h
+++ b/src/lib/film.h
@@ -224,7 +224,6 @@ public:
AUDIO_PROCESSOR,
REEL_TYPE,
REEL_LENGTH,
- UPLOAD_AFTER_MAKE_DCP,
REENCODE_J2K,
MARKERS,
RATINGS,
@@ -307,10 +306,6 @@ public:
return _reel_length;
}
- bool upload_after_make_dcp () const {
- return _upload_after_make_dcp;
- }
-
std::string context_id () const {
return _context_id;
}
@@ -358,7 +353,6 @@ public:
void set_audio_processor (AudioProcessor const * processor);
void set_reel_type (ReelType);
void set_reel_length (int64_t);
- void set_upload_after_make_dcp (bool);
void set_reencode_j2k (bool);
void set_marker (dcp::Marker type, dcpomatic::DCPTime time);
void unset_marker (dcp::Marker type);
@@ -450,7 +444,6 @@ private:
ReelType _reel_type;
/** Desired reel length in bytes, if _reel_type == REELTYPE_BY_LENGTH */
int64_t _reel_length;
- bool _upload_after_make_dcp;
bool _reencode_j2k;
/** true if the user has ever explicitly set the video frame rate of this film */
bool _user_explicit_video_frame_rate;
diff --git a/src/lib/transcode_job.cc b/src/lib/transcode_job.cc
index fb586b082..6d73a3673 100644
--- a/src/lib/transcode_job.cc
+++ b/src/lib/transcode_job.cc
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2012-2019 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2020 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
@@ -22,6 +22,7 @@
* @brief A job which transcodes from one format to another.
*/
+#include "config.h"
#include "transcode_job.h"
#include "dcp_encoder.h"
#include "upload_job.h"
@@ -101,7 +102,7 @@ TranscodeJob::run ()
}
/* XXX: this shouldn't be here */
- if (_film->upload_after_make_dcp() && dynamic_pointer_cast<DCPEncoder>(_encoder)) {
+ if (Config::instance()->upload_after_make_dcp() && dynamic_pointer_cast<DCPEncoder>(_encoder)) {
shared_ptr<Job> job (new UploadJob (_film));
JobManager::instance()->add (job);
}
diff --git a/src/wx/dcp_panel.cc b/src/wx/dcp_panel.cc
index 4472a14bf..0841ad399 100644
--- a/src/wx/dcp_panel.cc
+++ b/src/wx/dcp_panel.cc
@@ -111,8 +111,6 @@ DCPPanel::DCPPanel (wxNotebook* n, shared_ptr<Film> film, weak_ptr<FilmViewer> v
_standard_label = create_label (_panel, _("Standard"), true);
_standard = new wxChoice (_panel, wxID_ANY);
- _upload_after_make_dcp = new CheckBox (_panel, _("Upload DCP to TMS after it is made"));
-
_markers = new Button (_panel, _("Markers..."));
_metadata = new Button (_panel, _("Metadata..."));
@@ -131,7 +129,6 @@ DCPPanel::DCPPanel (wxNotebook* n, shared_ptr<Film> film, weak_ptr<FilmViewer> v
_reel_type->Bind (wxEVT_CHOICE, boost::bind (&DCPPanel::reel_type_changed, this));
_reel_length->Bind (wxEVT_SPINCTRL, boost::bind (&DCPPanel::reel_length_changed, this));
_standard->Bind (wxEVT_CHOICE, boost::bind (&DCPPanel::standard_changed, this));
- _upload_after_make_dcp->Bind (wxEVT_CHECKBOX, boost::bind (&DCPPanel::upload_after_make_dcp_changed, this));
_markers->Bind (wxEVT_BUTTON, boost::bind (&DCPPanel::markers_clicked, this));
_metadata->Bind (wxEVT_BUTTON, boost::bind (&DCPPanel::metadata_clicked, this));
@@ -205,7 +202,6 @@ DCPPanel::add_to_grid ()
_reel_length_gb_label->Show (full);
_standard_label->Show (full);
_standard->Show (full);
- _upload_after_make_dcp->Show (full);
_markers->Show (full);
_metadata->Show (full);
_reencode_j2k->Show (full);
@@ -229,9 +225,6 @@ DCPPanel::add_to_grid ()
_grid->Add (_standard, wxGBPosition (r, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL);
++r;
- _grid->Add (_upload_after_make_dcp, wxGBPosition (r, 0), wxGBSpan (1, 2));
- ++r;
-
wxBoxSizer* extra = new wxBoxSizer (wxHORIZONTAL);
extra->Add (_markers, 1, wxRIGHT, DCPOMATIC_SIZER_X_GAP);
extra->Add (_metadata, 1, wxRIGHT, DCPOMATIC_SIZER_X_GAP);
@@ -328,16 +321,6 @@ DCPPanel::standard_changed ()
}
void
-DCPPanel::upload_after_make_dcp_changed ()
-{
- if (!_film) {
- return;
- }
-
- _film->set_upload_after_make_dcp (_upload_after_make_dcp->GetValue ());
-}
-
-void
DCPPanel::markers_clicked ()
{
if (_markers_dialog) {
@@ -466,9 +449,6 @@ DCPPanel::film_changed (int p)
case Film::REEL_LENGTH:
checked_set (_reel_length, _film->reel_length() / 1000000000LL);
break;
- case Film::UPLOAD_AFTER_MAKE_DCP:
- checked_set (_upload_after_make_dcp, _film->upload_after_make_dcp ());
- break;
case Film::CONTENT:
setup_dcp_name ();
break;
@@ -589,7 +569,6 @@ DCPPanel::set_film (shared_ptr<Film> film)
film_changed (Film::AUDIO_PROCESSOR);
film_changed (Film::REEL_TYPE);
film_changed (Film::REEL_LENGTH);
- film_changed (Film::UPLOAD_AFTER_MAKE_DCP);
film_changed (Film::REENCODE_J2K);
set_general_sensitivity(static_cast<bool>(_film));
@@ -613,7 +592,6 @@ DCPPanel::setup_sensitivity ()
_encrypted->Enable (_generally_sensitive);
_reel_type->Enable (_generally_sensitive && _film && !_film->references_dcp_video() && !_film->references_dcp_audio());
_reel_length->Enable (_generally_sensitive && _film && _film->reel_type() == REELTYPE_BY_LENGTH);
- _upload_after_make_dcp->Enable (_generally_sensitive);
_markers->Enable (_generally_sensitive && _film && !_film->interop());
_metadata->Enable (_generally_sensitive);
_frame_rate_choice->Enable (_generally_sensitive && _film && !_film->references_dcp_video());
diff --git a/src/wx/dcp_panel.h b/src/wx/dcp_panel.h
index 258471ffd..7a7d13897 100644
--- a/src/wx/dcp_panel.h
+++ b/src/wx/dcp_panel.h
@@ -77,7 +77,6 @@ private:
void show_audio_clicked ();
void reel_type_changed ();
void reel_length_changed ();
- void upload_after_make_dcp_changed ();
void markers_clicked ();
void metadata_clicked ();
void reencode_j2k_changed ();
@@ -143,7 +142,6 @@ private:
wxStaticText* _reel_length_label;
wxStaticText* _reel_length_gb_label;
wxSpinCtrl* _reel_length;
- wxCheckBox* _upload_after_make_dcp;
wxButton* _markers;
wxButton* _metadata;
wxSizer* _audio_panel_sizer;
diff --git a/src/wx/full_config_dialog.cc b/src/wx/full_config_dialog.cc
index a371690bd..ab3dc0800 100644
--- a/src/wx/full_config_dialog.cc
+++ b/src/wx/full_config_dialog.cc
@@ -379,9 +379,6 @@ private:
table->Add (_kdm_directory, 1, wxEXPAND);
- _upload_after_make_dcp = new CheckBox (_panel, _("Default to enabling upload of DCP to TMS"));
- table->Add (_upload_after_make_dcp, 1, wxEXPAND);
-
_still_length->SetRange (1, 3600);
_still_length->Bind (wxEVT_SPINCTRL, boost::bind (&DefaultsPage::still_length_changed, this));
@@ -414,8 +411,6 @@ private:
_standard->Append (_("SMPTE"));
_standard->Append (_("Interop"));
_standard->Bind (wxEVT_CHOICE, boost::bind (&DefaultsPage::standard_changed, this));
-
- _upload_after_make_dcp->Bind (wxEVT_CHECKBOX, boost::bind (&DefaultsPage::upload_after_make_dcp_changed, this));
}
void config_changed ()
@@ -444,7 +439,6 @@ private:
checked_set (_dcp_audio_channels, locale_convert<string> (config->default_dcp_audio_channels()));
checked_set (_audio_delay, config->default_audio_delay ());
checked_set (_standard, config->default_interop() ? 1 : 0);
- checked_set (_upload_after_make_dcp, config->default_upload_after_make_dcp());
}
void j2k_bandwidth_changed ()
@@ -507,11 +501,6 @@ private:
Config::instance()->set_default_interop (_standard->GetSelection() == 1);
}
- void upload_after_make_dcp_changed ()
- {
- Config::instance()->set_default_upload_after_make_dcp (_upload_after_make_dcp->GetValue ());
- }
-
wxSpinCtrl* _j2k_bandwidth;
wxSpinCtrl* _audio_delay;
wxButton* _isdcf_metadata_button;
@@ -527,7 +516,6 @@ private:
wxChoice* _dcp_content_type;
wxChoice* _dcp_audio_channels;
wxChoice* _standard;
- wxCheckBox* _upload_after_make_dcp;
};
class EncodingServersPage : public StandardPage
@@ -612,6 +600,9 @@ public:
private:
void setup ()
{
+ _upload = new CheckBox (_panel, _("Upload DCP to TMS after creation"));
+ _panel->GetSizer()->Add (_upload, 0, wxALL | wxEXPAND, _border);
+
wxFlexGridSizer* table = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
table->AddGrowableCol (1, 1);
_panel->GetSizer()->Add (table, 1, wxALL | wxEXPAND, _border);
@@ -639,6 +630,7 @@ private:
_tms_protocol->Append (_("SCP (for AAM and Doremi)"));
_tms_protocol->Append (_("FTP (for Dolby)"));
+ _upload->Bind (wxEVT_CHECKBOX, boost::bind(&TMSPage::upload_changed, this));
_tms_protocol->Bind (wxEVT_CHOICE, boost::bind (&TMSPage::tms_protocol_changed, this));
_tms_ip->Bind (wxEVT_TEXT, boost::bind (&TMSPage::tms_ip_changed, this));
_tms_path->Bind (wxEVT_TEXT, boost::bind (&TMSPage::tms_path_changed, this));
@@ -650,6 +642,7 @@ private:
{
Config* config = Config::instance ();
+ checked_set (_upload, config->upload_after_make_dcp());
checked_set (_tms_protocol, config->tms_protocol ());
checked_set (_tms_ip, config->tms_ip ());
checked_set (_tms_path, config->tms_path ());
@@ -657,6 +650,11 @@ private:
checked_set (_tms_password, config->tms_password ());
}
+ void upload_changed ()
+ {
+ Config::instance()->set_upload_after_make_dcp (_upload->GetValue());
+ }
+
void tms_protocol_changed ()
{
Config::instance()->set_tms_protocol(static_cast<FileTransferProtocol>(_tms_protocol->GetSelection()));
@@ -682,6 +680,7 @@ private:
Config::instance()->set_tms_password (_tms_password->get());
}
+ CheckBox* _upload;
wxChoice* _tms_protocol;
wxTextCtrl* _tms_ip;
wxTextCtrl* _tms_path;