#include <wx/notebook.h>
#include "lib/config.h"
#include "lib/server.h"
-#include "lib/format.h"
+#include "lib/ratio.h"
#include "lib/scaler.h"
#include "lib/filter.h"
#include "lib/dcp_content_type.h"
_notebook->AddPage (_metadata_panel, _("Metadata"), false);
make_tms_panel ();
_notebook->AddPage (_tms_panel, _("TMS"), false);
- make_ab_panel ();
- _notebook->AddPage (_ab_panel, _("A/B mode"), false);
wxBoxSizer* overall_sizer = new wxBoxSizer (wxVERTICAL);
overall_sizer->Add (s, 1, wxEXPAND | wxALL, 6);
wxBoxSizer* s = new wxBoxSizer (wxVERTICAL);
_misc_panel->SetSizer (s);
- wxFlexGridSizer* table = new wxFlexGridSizer (3, 6, 6);
+ wxFlexGridSizer* table = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
table->AddGrowableCol (1, 1);
s->Add (table, 1, wxALL | wxEXPAND, 8);
_set_language = new wxCheckBox (_misc_panel, wxID_ANY, _("Set language"));
- table->Add (_set_language, 1, wxEXPAND);
+ table->Add (_set_language, 1);
_language = new wxChoice (_misc_panel, wxID_ANY);
_language->Append (wxT ("English"));
_language->Append (wxT ("Français"));
_language->Append (wxT ("Italiano"));
_language->Append (wxT ("Español"));
_language->Append (wxT ("Svenska"));
- table->Add (_language, 1, wxEXPAND);
- table->AddSpacer (0);
+ table->Add (_language);
- wxStaticText* restart = add_label_to_sizer (table, _misc_panel, _("(restart DCP-o-matic to see language changes)"));
+ wxStaticText* restart = add_label_to_sizer (table, _misc_panel, _("(restart DCP-o-matic to see language changes)"), false);
wxFont font = restart->GetFont();
font.SetStyle (wxFONTSTYLE_ITALIC);
font.SetPointSize (font.GetPointSize() - 1);
restart->SetFont (font);
table->AddSpacer (0);
- table->AddSpacer (0);
- add_label_to_sizer (table, _misc_panel, _("Threads to use for encoding on this host"));
+ add_label_to_sizer (table, _misc_panel, _("Threads to use for encoding on this host"), true);
_num_local_encoding_threads = new wxSpinCtrl (_misc_panel);
- table->Add (_num_local_encoding_threads, 1, wxEXPAND);
- table->AddSpacer (0);
+ table->Add (_num_local_encoding_threads, 1);
- add_label_to_sizer (table, _misc_panel, _("Default duration of still images"));
- _default_still_length = new wxSpinCtrl (_misc_panel);
- table->Add (_default_still_length, 1, wxEXPAND);
- add_label_to_sizer (table, _misc_panel, _("s"));
+ {
+ add_label_to_sizer (table, _misc_panel, _("Default duration of still images"), true);
+ wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
+ _default_still_length = new wxSpinCtrl (_misc_panel);
+ s->Add (_default_still_length);
+ add_label_to_sizer (s, _misc_panel, _("s"), false);
+ table->Add (s, 1);
+ }
- add_label_to_sizer (table, _misc_panel, _("Default directory for new films"));
-#ifdef __WXMSW__
+ add_label_to_sizer (table, _misc_panel, _("Default directory for new films"), true);
+#ifdef DCPOMATIC_USE_OWN_DIR_PICKER
_default_directory = new DirPickerCtrl (_misc_panel);
#else
_default_directory = new wxDirPickerCtrl (_misc_panel, wxDD_DIR_MUST_EXIST);
#endif
table->Add (_default_directory, 1, wxEXPAND);
- table->AddSpacer (0);
- add_label_to_sizer (table, _misc_panel, _("Default DCI name details"));
+ add_label_to_sizer (table, _misc_panel, _("Default DCI name details"), true);
_default_dci_metadata_button = new wxButton (_misc_panel, wxID_ANY, _("Edit..."));
table->Add (_default_dci_metadata_button);
- table->AddSpacer (1);
- add_label_to_sizer (table, _misc_panel, _("Default format"));
- _default_format = new wxChoice (_misc_panel, wxID_ANY);
- table->Add (_default_format);
- table->AddSpacer (1);
+ add_label_to_sizer (table, _misc_panel, _("Default container"), true);
+ _default_container = new wxChoice (_misc_panel, wxID_ANY);
+ table->Add (_default_container);
- add_label_to_sizer (table, _misc_panel, _("Default content type"));
+ add_label_to_sizer (table, _misc_panel, _("Default content type"), true);
_default_dcp_content_type = new wxChoice (_misc_panel, wxID_ANY);
table->Add (_default_dcp_content_type);
- table->AddSpacer (1);
+
+ {
+ add_label_to_sizer (table, _misc_panel, _("Default JPEG2000 bandwidth"), true);
+ wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
+ _default_j2k_bandwidth = new wxSpinCtrl (_misc_panel);
+ s->Add (_default_j2k_bandwidth);
+ add_label_to_sizer (s, _misc_panel, _("MBps"), false);
+ table->Add (s, 1);
+ }
Config* config = Config::instance ();
_default_dci_metadata_button->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (ConfigDialog::edit_default_dci_metadata_clicked), 0, this);
- vector<Format const *> fmt = Format::all ();
+ vector<Ratio const *> ratio = Ratio::all ();
int n = 0;
- for (vector<Format const *>::iterator i = fmt.begin(); i != fmt.end(); ++i) {
- _default_format->Append (std_to_wx ((*i)->name ()));
- if (*i == config->default_format ()) {
- _default_format->SetSelection (n);
+ for (vector<Ratio const *>::iterator i = ratio.begin(); i != ratio.end(); ++i) {
+ _default_container->Append (std_to_wx ((*i)->nickname ()));
+ if (*i == config->default_container ()) {
+ _default_container->SetSelection (n);
}
++n;
}
- _default_format->Connect (wxID_ANY, wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler (ConfigDialog::default_format_changed), 0, this);
+ _default_container->Connect (wxID_ANY, wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler (ConfigDialog::default_container_changed), 0, this);
vector<DCPContentType const *> const ct = DCPContentType::all ();
n = 0;
}
_default_dcp_content_type->Connect (wxID_ANY, wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler (ConfigDialog::default_dcp_content_type_changed), 0, this);
+
+ _default_j2k_bandwidth->SetRange (50, 250);
+ _default_j2k_bandwidth->SetValue (config->default_j2k_bandwidth() / 1e6);
+ _default_j2k_bandwidth->Connect (wxID_ANY, wxEVT_COMMAND_SPINCTRL_UPDATED, wxCommandEventHandler (ConfigDialog::default_j2k_bandwidth_changed), 0, this);
}
void
wxBoxSizer* s = new wxBoxSizer (wxVERTICAL);
_tms_panel->SetSizer (s);
- wxFlexGridSizer* table = new wxFlexGridSizer (2, 6, 6);
+ wxFlexGridSizer* table = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
table->AddGrowableCol (1, 1);
s->Add (table, 1, wxALL | wxEXPAND, 8);
- add_label_to_sizer (table, _tms_panel, _("IP address"));
+ add_label_to_sizer (table, _tms_panel, _("IP address"), true);
_tms_ip = new wxTextCtrl (_tms_panel, wxID_ANY);
table->Add (_tms_ip, 1, wxEXPAND);
- add_label_to_sizer (table, _tms_panel, _("Target path"));
+ add_label_to_sizer (table, _tms_panel, _("Target path"), true);
_tms_path = new wxTextCtrl (_tms_panel, wxID_ANY);
table->Add (_tms_path, 1, wxEXPAND);
- add_label_to_sizer (table, _tms_panel, _("User name"));
+ add_label_to_sizer (table, _tms_panel, _("User name"), true);
_tms_user = new wxTextCtrl (_tms_panel, wxID_ANY);
table->Add (_tms_user, 1, wxEXPAND);
- add_label_to_sizer (table, _tms_panel, _("Password"));
+ add_label_to_sizer (table, _tms_panel, _("Password"), true);
_tms_password = new wxTextCtrl (_tms_panel, wxID_ANY);
table->Add (_tms_password, 1, wxEXPAND);
_tms_password->Connect (wxID_ANY, wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler (ConfigDialog::tms_password_changed), 0, this);
}
-void
-ConfigDialog::make_ab_panel ()
-{
- _ab_panel = new wxPanel (_notebook);
- wxBoxSizer* s = new wxBoxSizer (wxVERTICAL);
- _ab_panel->SetSizer (s);
-
- wxFlexGridSizer* table = new wxFlexGridSizer (3, 6, 6);
- table->AddGrowableCol (1, 1);
- s->Add (table, 1, wxALL, 8);
-
- add_label_to_sizer (table, _ab_panel, _("Reference scaler"));
- _reference_scaler = new wxChoice (_ab_panel, wxID_ANY);
- vector<Scaler const *> const sc = Scaler::all ();
- for (vector<Scaler const *>::const_iterator i = sc.begin(); i != sc.end(); ++i) {
- _reference_scaler->Append (std_to_wx ((*i)->name ()));
- }
-
- table->Add (_reference_scaler, 1, wxEXPAND);
- table->AddSpacer (0);
-
- {
- add_label_to_sizer (table, _ab_panel, _("Reference filters"));
- wxSizer* s = new wxBoxSizer (wxHORIZONTAL);
- _reference_filters = new wxStaticText (_ab_panel, wxID_ANY, wxT (""));
- s->Add (_reference_filters, 1, wxEXPAND);
- _reference_filters_button = new wxButton (_ab_panel, wxID_ANY, _("Edit..."));
- s->Add (_reference_filters_button, 0);
- table->Add (s, 1, wxEXPAND);
- table->AddSpacer (0);
- }
-}
-
void
ConfigDialog::make_metadata_panel ()
{
wxBoxSizer* s = new wxBoxSizer (wxVERTICAL);
_metadata_panel->SetSizer (s);
- wxFlexGridSizer* table = new wxFlexGridSizer (2, 6, 6);
+ wxFlexGridSizer* table = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
table->AddGrowableCol (1, 1);
s->Add (table, 1, wxALL | wxEXPAND, 8);
- add_label_to_sizer (table, _metadata_panel, _("Issuer"));
+ add_label_to_sizer (table, _metadata_panel, _("Issuer"), true);
_issuer = new wxTextCtrl (_metadata_panel, wxID_ANY);
table->Add (_issuer, 1, wxEXPAND);
- add_label_to_sizer (table, _metadata_panel, _("Creator"));
+ add_label_to_sizer (table, _metadata_panel, _("Creator"), true);
_creator = new wxTextCtrl (_metadata_panel, wxID_ANY);
table->Add (_creator, 1, wxEXPAND);
wxBoxSizer* s = new wxBoxSizer (wxVERTICAL);
_servers_panel->SetSizer (s);
- wxFlexGridSizer* table = new wxFlexGridSizer (2, 6, 6);
+ wxFlexGridSizer* table = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
table->AddGrowableCol (0, 1);
s->Add (table, 1, wxALL | wxEXPAND, 8);
{
wxSizer* s = new wxBoxSizer (wxVERTICAL);
_add_server = new wxButton (_servers_panel, wxID_ANY, _("Add"));
- s->Add (_add_server);
+ s->Add (_add_server, 0, wxTOP | wxBOTTOM, 2);
_edit_server = new wxButton (_servers_panel, wxID_ANY, _("Edit"));
- s->Add (_edit_server);
+ s->Add (_edit_server, 0, wxTOP | wxBOTTOM, 2);
_remove_server = new wxButton (_servers_panel, wxID_ANY, _("Remove"));
- s->Add (_remove_server);
+ s->Add (_remove_server, 0, wxTOP | wxBOTTOM, 2);
table->Add (s, 0);
}
_remove_server->Enable (i >= 0);
}
-void
-ConfigDialog::reference_scaler_changed (wxCommandEvent &)
-{
- int const n = _reference_scaler->GetSelection ();
- if (n >= 0) {
- Config::instance()->set_reference_scaler (Scaler::from_index (n));
- }
-}
-
-void
-ConfigDialog::edit_reference_filters_clicked (wxCommandEvent &)
-{
- FilterDialog* d = new FilterDialog (this, Config::instance()->reference_filters ());
- d->ActiveChanged.connect (boost::bind (&ConfigDialog::reference_filters_changed, this, _1));
- d->ShowModal ();
- d->Destroy ();
-}
-
-void
-ConfigDialog::reference_filters_changed (vector<Filter const *> f)
-{
- Config::instance()->set_reference_filters (f);
- pair<string, string> p = Filter::ffmpeg_strings (Config::instance()->reference_filters ());
- _reference_filters->SetLabel (std_to_wx (p.first) + N_(" ") + std_to_wx (p.second));
-}
-
void
ConfigDialog::edit_default_dci_metadata_clicked (wxCommandEvent &)
{
}
void
-ConfigDialog::default_format_changed (wxCommandEvent &)
+ConfigDialog::default_container_changed (wxCommandEvent &)
{
- vector<Format const *> fmt = Format::all ();
- Config::instance()->set_default_format (fmt[_default_format->GetSelection()]);
+ vector<Ratio const *> ratio = Ratio::all ();
+ Config::instance()->set_default_container (ratio[_default_container->GetSelection()]);
}
void
m.creator = wx_to_std (_creator->GetValue ());
Config::instance()->set_dcp_metadata (m);
}
+
+void
+ConfigDialog::default_j2k_bandwidth_changed (wxCommandEvent &)
+{
+ Config::instance()->set_default_j2k_bandwidth (_default_j2k_bandwidth->GetValue() * 1e6);
+}