, _default_still_length (10)
, _default_container (Ratio::from_id ("185"))
, _default_dcp_content_type (0)
+ , _default_j2k_bandwidth (200000000)
{
_allowed_dcp_frame_rates.push_back (24);
_allowed_dcp_frame_rates.push_back (25);
_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);
}
void
_default_dci_metadata.as_xml (root->add_child ("DCIMetadata"));
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));
doc.write_to_file_formatted (file (false));
}
return _dcp_metadata;
}
+ int default_j2k_bandwidth () const {
+ return _default_j2k_bandwidth;
+ }
+
/** @param n New number of local encoding threads */
void set_num_local_encoding_threads (int n) {
_num_local_encoding_threads = n;
void set_dcp_metadata (libdcp::XMLMetadata m) {
_dcp_metadata = m;
}
+
+ void set_default_j2k_bandwidth (int b) {
+ _default_j2k_bandwidth = b;
+ }
void write () const;
Ratio const * _default_container;
DCPContentType const * _default_dcp_content_type;
libdcp::XMLMetadata _dcp_metadata;
+ int _default_j2k_bandwidth;
/** Singleton instance, or 0 */
static Config* _instance;
, _container (Config::instance()->default_container ())
, _scaler (Scaler::from_id ("bicubic"))
, _with_subtitles (false)
- , _j2k_bandwidth (200000000)
+ , _j2k_bandwidth (Config::instance()->default_j2k_bandwidth ())
, _dci_metadata (Config::instance()->default_dci_metadata ())
, _dcp_video_frame_rate (24)
, _dcp_audio_channels (MAX_AUDIO_CHANNELS)
_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);
+ _default_j2k_bandwidth = new wxSpinCtrl (_misc_panel);
+ table->Add (_default_j2k_bandwidth, 1);
+ add_label_to_sizer (table, _misc_panel, _("MBps"), false);
Config* config = Config::instance ();
}
_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
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);
+}
void default_dcp_content_type_changed (wxCommandEvent &);
void issuer_changed (wxCommandEvent &);
void creator_changed (wxCommandEvent &);
+ void default_j2k_bandwidth_changed (wxCommandEvent &);
void add_server_to_control (ServerDescription *);
void setup_language_sensitivity ();
wxButton* _remove_server;
wxTextCtrl* _issuer;
wxTextCtrl* _creator;
+ wxSpinCtrl* _default_j2k_bandwidth;
};