summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/config.cc12
-rw-r--r--src/lib/config.h10
-rw-r--r--src/lib/util.cc31
-rw-r--r--src/lib/writer.cc5
-rw-r--r--src/wx/about_dialog.cc1
-rw-r--r--src/wx/config_dialog.cc20
-rw-r--r--src/wx/po/de_DE.po3
-rw-r--r--src/wx/video_panel.cc25
8 files changed, 52 insertions, 55 deletions
diff --git a/src/lib/config.cc b/src/lib/config.cc
index 7e3762587..1f5a25ae4 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -160,9 +160,12 @@ Config::read ()
_default_dcp_content_type = DCPContentType::from_isdcf_name (c.get ());
}
- _dcp_metadata.issuer = f.optional_string_child ("DCPMetadataIssuer").get_value_or ("");
- _dcp_metadata.creator = f.optional_string_child ("DCPMetadataCreator").get_value_or ("");
-
+ if (f.optional_string_child ("DCPMetadataIssuer")) {
+ _dcp_issuer = f.string_child ("DCPMetadataIssuer");
+ } else if (f.optional_string_child ("DCPIssuer")) {
+ _dcp_issuer = f.string_child ("DCPIssuer");
+ }
+
if (version && version.get() >= 2) {
_default_isdcf_metadata = ISDCFMetadata (f.node_child ("ISDCFMetadata"));
} else {
@@ -335,8 +338,7 @@ Config::write () const
if (_default_dcp_content_type) {
root->add_child("DefaultDCPContentType")->add_child_text (_default_dcp_content_type->isdcf_name ());
}
- root->add_child("DCPMetadataIssuer")->add_child_text (_dcp_metadata.issuer);
- root->add_child("DCPMetadataCreator")->add_child_text (_dcp_metadata.creator);
+ root->add_child("DCPIssuer")->add_child_text (_dcp_issuer);
_default_isdcf_metadata.as_xml (root->add_child ("ISDCFMetadata"));
diff --git a/src/lib/config.h b/src/lib/config.h
index 05bc7945f..9a1808682 100644
--- a/src/lib/config.h
+++ b/src/lib/config.h
@@ -146,8 +146,8 @@ public:
return _default_dcp_content_type;
}
- dcp::XMLMetadata dcp_metadata () const {
- return _dcp_metadata;
+ std::string dcp_issuer () const {
+ return _dcp_issuer;
}
int default_j2k_bandwidth () const {
@@ -322,8 +322,8 @@ public:
changed ();
}
- void set_dcp_metadata (dcp::XMLMetadata m) {
- _dcp_metadata = m;
+ void set_dcp_issuer (std::string i) {
+ _dcp_issuer = i;
changed ();
}
@@ -471,7 +471,7 @@ private:
Ratio const * _default_scale;
Ratio const * _default_container;
DCPContentType const * _default_dcp_content_type;
- dcp::XMLMetadata _dcp_metadata;
+ std::string _dcp_issuer;
int _default_j2k_bandwidth;
int _default_audio_delay;
std::vector<PresetColourConversion> _colour_conversions;
diff --git a/src/lib/util.cc b/src/lib/util.cc
index c9685aa44..c09ed9cb2 100644
--- a/src/lib/util.cc
+++ b/src/lib/util.cc
@@ -383,35 +383,42 @@ mo_path ()
}
#endif
+#ifdef DCPOMATIC_OSX
+boost::filesystem::path
+mo_path ()
+{
+ return "DCP-o-matic.app/Contents/Resources";
+}
+#endif
+
void
dcpomatic_setup_gettext_i18n (string lang)
{
-#ifdef DCPOMATIC_POSIX
+#ifdef DCPOMATIC_LINUX
lang += ".UTF8";
#endif
if (!lang.empty ()) {
- /* Override our environment language; this is essential on
- Windows.
+ /* Override our environment language. Note that the caller must not
+ free the string passed into putenv().
*/
- char cmd[64];
- snprintf (cmd, sizeof(cmd), "LANGUAGE=%s", lang.c_str ());
- putenv (cmd);
- snprintf (cmd, sizeof(cmd), "LANG=%s", lang.c_str ());
- putenv (cmd);
- snprintf (cmd, sizeof(cmd), "LC_ALL=%s", lang.c_str ());
- putenv (cmd);
+ string s = String::compose ("LANGUAGE=%1", lang);
+ putenv (strdup (s.c_str ()));
+ s = String::compose ("LANG=%1", lang);
+ putenv (strdup (s.c_str ()));
+ s = String::compose ("LC_ALL=%1", lang);
+ putenv (strdup (s.c_str ()));
}
setlocale (LC_ALL, "");
textdomain ("libdcpomatic");
-#ifdef DCPOMATIC_WINDOWS
+#if defined(DCPOMATIC_WINDOWS) || defined(DCPOMATIC_OSX)
bindtextdomain ("libdcpomatic", mo_path().string().c_str());
bind_textdomain_codeset ("libdcpomatic", "UTF8");
#endif
-#ifdef DCPOMATIC_POSIX
+#ifdef DCPOMATIC_LINUX
bindtextdomain ("libdcpomatic", POSIX_LOCALE_PREFIX);
#endif
}
diff --git a/src/lib/writer.cc b/src/lib/writer.cc
index eda82f277..a023d5cd2 100644
--- a/src/lib/writer.cc
+++ b/src/lib/writer.cc
@@ -45,6 +45,7 @@
#include "audio_buffers.h"
#include "md5_digester.h"
#include "encoded_data.h"
+#include "version.h"
#include "i18n.h"
@@ -486,7 +487,9 @@ Writer::finish ()
_sound_mxf->hash (boost::bind (&Job::set_progress, job.get(), _1, false));
}
- dcp::XMLMetadata meta = Config::instance()->dcp_metadata ();
+ dcp::XMLMetadata meta;
+ meta.issuer = Config::instance()->dcp_issuer ();
+ meta.creator = String::compose ("DCP-o-matic %1 %2", dcpomatic_version, dcpomatic_git_commit);
meta.set_issue_date_now ();
shared_ptr<const dcp::Signer> signer;
diff --git a/src/wx/about_dialog.cc b/src/wx/about_dialog.cc
index 349581972..b62683c8f 100644
--- a/src/wx/about_dialog.cc
+++ b/src/wx/about_dialog.cc
@@ -149,6 +149,7 @@ AboutDialog::AboutDialog (wxWindow* parent)
supported_by.Add (wxT ("Tim O'Brien"));
supported_by.Add (wxT ("Ivan Pullman"));
supported_by.Add (wxT ("Mark Rolfe"));
+ supported_by.Add (wxT ("David Rosenthal"));
supported_by.Add (wxT ("Andrä Steiner"));
supported_by.Add (wxT ("Jussi Siponen"));
supported_by.Add (wxT ("Lasse Salling"));
diff --git a/src/wx/config_dialog.cc b/src/wx/config_dialog.cc
index c1eee3c7b..009467afa 100644
--- a/src/wx/config_dialog.cc
+++ b/src/wx/config_dialog.cc
@@ -306,10 +306,6 @@ public:
_issuer = new wxTextCtrl (panel, wxID_ANY);
table->Add (_issuer, 1, wxEXPAND);
- add_label_to_sizer (table, panel, _("Default creator"), true);
- _creator = new wxTextCtrl (panel, wxID_ANY);
- table->Add (_creator, 1, wxEXPAND);
-
Config* config = Config::instance ();
_still_length->SetRange (1, 3600);
@@ -358,10 +354,8 @@ public:
_audio_delay->SetValue (config->default_audio_delay ());
_audio_delay->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&DefaultsPage::audio_delay_changed, this));
- _issuer->SetValue (std_to_wx (config->dcp_metadata().issuer));
+ _issuer->SetValue (std_to_wx (config->dcp_issuer ()));
_issuer->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&DefaultsPage::issuer_changed, this));
- _creator->SetValue (std_to_wx (config->dcp_metadata().creator));
- _creator->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&DefaultsPage::creator_changed, this));
return panel;
}
@@ -415,16 +409,7 @@ private:
void issuer_changed ()
{
- dcp::XMLMetadata m = Config::instance()->dcp_metadata ();
- m.issuer = wx_to_std (_issuer->GetValue ());
- Config::instance()->set_dcp_metadata (m);
- }
-
- void creator_changed ()
- {
- dcp::XMLMetadata m = Config::instance()->dcp_metadata ();
- m.creator = wx_to_std (_creator->GetValue ());
- Config::instance()->set_dcp_metadata (m);
+ Config::instance()->set_dcp_issuer (wx_to_std (_issuer->GetValue ()));
}
wxSpinCtrl* _j2k_bandwidth;
@@ -440,7 +425,6 @@ private:
wxChoice* _container;
wxChoice* _dcp_content_type;
wxTextCtrl* _issuer;
- wxTextCtrl* _creator;
};
class EncodingServersPage : public wxPreferencesPage, public Page
diff --git a/src/wx/po/de_DE.po b/src/wx/po/de_DE.po
index b158d231f..4d57a34bc 100644
--- a/src/wx/po/de_DE.po
+++ b/src/wx/po/de_DE.po
@@ -170,9 +170,8 @@ msgstr ""
"weitergegeben."
#: src/wx/config_dialog.cc:701
-#, fuzzy
msgid "BCC address"
-msgstr "CC: Adresse"
+msgstr "BCC: Adresse"
#: src/wx/job_wrapper.cc:37
#, c-format
diff --git a/src/wx/video_panel.cc b/src/wx/video_panel.cc
index cd831baed..a5d197c2a 100644
--- a/src/wx/video_panel.cc
+++ b/src/wx/video_panel.cc
@@ -363,18 +363,19 @@ VideoPanel::edit_colour_conversion_clicked ()
void
VideoPanel::content_selection_changed ()
{
- VideoContentList sel = _parent->selected_video ();
- bool const single = sel.size() == 1;
-
- _left_crop->set_content (sel);
- _right_crop->set_content (sel);
- _top_crop->set_content (sel);
- _bottom_crop->set_content (sel);
- _frame_type->set_content (sel);
- _scale->set_content (sel);
-
- /* Things that are only allowed with single selections */
- _filters_button->Enable (single);
+ VideoContentList video_sel = _parent->selected_video ();
+ FFmpegContentList ffmpeg_sel = _parent->selected_ffmpeg ();
+
+ bool const single = video_sel.size() == 1;
+
+ _left_crop->set_content (video_sel);
+ _right_crop->set_content (video_sel);
+ _top_crop->set_content (video_sel);
+ _bottom_crop->set_content (video_sel);
+ _frame_type->set_content (video_sel);
+ _scale->set_content (video_sel);
+
+ _filters_button->Enable (single && !ffmpeg_sel.empty ());
_colour_conversion_button->Enable (single);
film_content_changed (VideoContentProperty::VIDEO_CROP);