-public:
- DefaultsPage (wxSize panel_size, int border)
- : StandardPage (panel_size, border)
- {}
-
- wxString GetName () const
- {
- return _("Defaults");
- }
-
-#ifdef DCPOMATIC_OSX
- wxBitmap GetLargeIcon () const
- {
- return wxBitmap ("defaults", wxBITMAP_TYPE_PNG_RESOURCE);
- }
-#endif
-
-private:
- void setup ()
- {
- 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);
-
- {
- add_label_to_sizer (table, _panel, _("Default duration of still images"), true);
- wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
- _still_length = new wxSpinCtrl (_panel);
- s->Add (_still_length);
- add_label_to_sizer (s, _panel, _("s"), false);
- table->Add (s, 1);
- }
-
- add_label_to_sizer (table, _panel, _("Default directory for new films"), true);
-#ifdef DCPOMATIC_USE_OWN_PICKER
- _directory = new DirPickerCtrl (_panel);
-#else
- _directory = new wxDirPickerCtrl (_panel, wxDD_DIR_MUST_EXIST);
-#endif
- table->Add (_directory, 1, wxEXPAND);
-
- add_label_to_sizer (table, _panel, _("Default ISDCF name details"), true);
- _isdcf_metadata_button = new wxButton (_panel, wxID_ANY, _("Edit..."));
- table->Add (_isdcf_metadata_button);
-
- add_label_to_sizer (table, _panel, _("Default container"), true);
- _container = new wxChoice (_panel, wxID_ANY);
- table->Add (_container);
-
- add_label_to_sizer (table, _panel, _("Default content type"), true);
- _dcp_content_type = new wxChoice (_panel, wxID_ANY);
- table->Add (_dcp_content_type);
-
- add_label_to_sizer (table, _panel, _("Default DCP audio channels"), true);
- _dcp_audio_channels = new wxChoice (_panel, wxID_ANY);
- table->Add (_dcp_audio_channels);
-
- {
- add_label_to_sizer (table, _panel, _("Default JPEG2000 bandwidth"), true);
- wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
- _j2k_bandwidth = new wxSpinCtrl (_panel);
- s->Add (_j2k_bandwidth);
- add_label_to_sizer (s, _panel, _("Mbit/s"), false);
- table->Add (s, 1);
- }
-
- {
- add_label_to_sizer (table, _panel, _("Default audio delay"), true);
- wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
- _audio_delay = new wxSpinCtrl (_panel);
- s->Add (_audio_delay);
- add_label_to_sizer (s, _panel, _("ms"), false);
- table->Add (s, 1);
- }
-
- add_label_to_sizer (table, _panel, _("Default standard"), true);
- _standard = new wxChoice (_panel, wxID_ANY);
- table->Add (_standard);
-
- add_label_to_sizer (table, _panel, _("Default KDM directory"), true);
-#ifdef DCPOMATIC_USE_OWN_PICKER
- _kdm_directory = new DirPickerCtrl (_panel);
-#else
- _kdm_directory = new wxDirPickerCtrl (_panel, wxDD_DIR_MUST_EXIST);
-#endif
- table->Add (_kdm_directory, 1, wxEXPAND);
-
- _still_length->SetRange (1, 3600);
- _still_length->Bind (wxEVT_SPINCTRL, boost::bind (&DefaultsPage::still_length_changed, this));
-
- _directory->Bind (wxEVT_DIRPICKER_CHANGED, boost::bind (&DefaultsPage::directory_changed, this));
- _kdm_directory->Bind (wxEVT_DIRPICKER_CHANGED, boost::bind (&DefaultsPage::kdm_directory_changed, this));
-
- _isdcf_metadata_button->Bind (wxEVT_BUTTON, boost::bind (&DefaultsPage::edit_isdcf_metadata_clicked, this));
-
- vector<Ratio const *> ratios = Ratio::all ();
- for (size_t i = 0; i < ratios.size(); ++i) {
- _container->Append (std_to_wx (ratios[i]->nickname ()));
- }
-
- _container->Bind (wxEVT_CHOICE, boost::bind (&DefaultsPage::container_changed, this));
-
- vector<DCPContentType const *> const ct = DCPContentType::all ();
- for (size_t i = 0; i < ct.size(); ++i) {
- _dcp_content_type->Append (std_to_wx (ct[i]->pretty_name ()));
- }
-
- setup_audio_channels_choice (_dcp_audio_channels, 2);
-
- _dcp_content_type->Bind (wxEVT_CHOICE, boost::bind (&DefaultsPage::dcp_content_type_changed, this));
- _dcp_audio_channels->Bind (wxEVT_CHOICE, boost::bind (&DefaultsPage::dcp_audio_channels_changed, this));
-
- _j2k_bandwidth->SetRange (50, 250);
- _j2k_bandwidth->Bind (wxEVT_SPINCTRL, boost::bind (&DefaultsPage::j2k_bandwidth_changed, this));
-
- _audio_delay->SetRange (-1000, 1000);
- _audio_delay->Bind (wxEVT_SPINCTRL, boost::bind (&DefaultsPage::audio_delay_changed, this));
-
- _standard->Append (_("SMPTE"));
- _standard->Append (_("Interop"));
- _standard->Bind (wxEVT_CHOICE, boost::bind (&DefaultsPage::standard_changed, this));
- }