_auto_crop_threshold = 0.1;
_last_release_notes_version = boost::none;
_allow_smpte_bv20 = false;
+ _isdcf_name_part_length = 14;
_allowed_dcp_frame_rates.clear ();
_allowed_dcp_frame_rates.push_back (24);
}
_allow_smpte_bv20 = f.optional_bool_child("AllowSMPTEBv20").get_value_or(false);
+ _isdcf_name_part_length = f.optional_number_child<int>("ISDCFNamePartLength").get_value_or(14);
_export.read(f.optional_node_child("Export"));
}
/* [XML] AllowSMPTEBv20 1 to allow the user to choose SMPTE (Bv2.0 only) as a standard, otherwise 0 */
root->add_child("AllowSMPTEBv20")->add_child_text(_allow_smpte_bv20 ? "1" : "0");
+ /* [XML] ISDCFNamePartLength Maximum length of the "name" part of an ISDCF name, which should be 14 according to the standard */
+ root->add_child("ISDCFNamePartLength")->add_child_text(raw_convert<string>(_isdcf_name_part_length));
_export.write(root->add_child("Export"));
AUDIO_MAPPING,
AUTO_CROP_THRESHOLD,
ALLOW_SMPTE_BV20,
+ ISDCF_NAME_PART_LENGTH,
OTHER
};
return _allow_smpte_bv20;
}
+ int isdcf_name_part_length() const {
+ return _isdcf_name_part_length;
+ }
+
/* SET (mostly) */
void set_master_encoding_threads (int n) {
maybe_set(_allow_smpte_bv20, allow, ALLOW_SMPTE_BV20);
}
+ void set_isdcf_name_part_length(int length) {
+ maybe_set(_isdcf_name_part_length, length, ISDCF_NAME_PART_LENGTH);
+ }
+
void changed (Property p = OTHER);
boost::signals2::signal<void (Property)> Changed;
/** Emitted if read() failed on an existing Config file. There is nothing
boost::optional<int> _main_content_divider_sash_position;
DefaultAddFileLocation _default_add_file_location;
bool _allow_smpte_bv20;
+ int _isdcf_name_part_length;
ExportConfig _export;
{
add_label_to_sizer(table, _panel, _("Maximum JPEG2000 bandwidth"), true, 0, wxLEFT | wxRIGHT | wxALIGN_CENTRE_VERTICAL);
- wxBoxSizer* s = new wxBoxSizer(wxHORIZONTAL);
+ auto s = new wxBoxSizer(wxHORIZONTAL);
_maximum_j2k_bandwidth = new wxSpinCtrl(_panel);
s->Add(_maximum_j2k_bandwidth, 1);
add_label_to_sizer(s, _panel, _("Mbit/s"), false, 0, wxLEFT | wxALIGN_CENTRE_VERTICAL);
checkbox(_("Allow mapping to all audio channels"), _use_all_audio_channels);
checkbox(_("Allow use of SMPTE Bv2.0"), _allow_smpte_bv20);
+ {
+ add_label_to_sizer(table, _panel, _("ISDCF name part length"), true, 0, wxLEFT | wxRIGHT | wxALIGN_CENTRE_VERTICAL);
+ auto s = new wxBoxSizer(wxHORIZONTAL);
+ _isdcf_name_part_length = new wxSpinCtrl(_panel);
+ s->Add(_isdcf_name_part_length, 1);
+ table->Add(s, 1);
+ }
+
_maximum_j2k_bandwidth->SetRange(1, 1000);
_maximum_j2k_bandwidth->Bind(wxEVT_SPINCTRL, boost::bind(&NonStandardPage::maximum_j2k_bandwidth_changed, this));
_allow_any_dcp_frame_rate->bind(&NonStandardPage::allow_any_dcp_frame_rate_changed, this);
_allow_96khz_audio->bind(&NonStandardPage::allow_96khz_audio_changed, this);
_use_all_audio_channels->bind(&NonStandardPage::use_all_channels_changed, this);
_allow_smpte_bv20->bind(&NonStandardPage::allow_smpte_bv20_changed, this);
+ _isdcf_name_part_length->SetRange(14, 256);
+ _isdcf_name_part_length->Bind(wxEVT_SPINCTRL, boost::bind(&NonStandardPage::isdcf_name_part_length_changed, this));
}
void config_changed() override
checked_set(_allow_96khz_audio, config->allow_96khz_audio());
checked_set(_use_all_audio_channels, config->use_all_audio_channels());
checked_set(_allow_smpte_bv20, config->allow_smpte_bv20());
+ checked_set(_isdcf_name_part_length, config->isdcf_name_part_length());
}
void maximum_j2k_bandwidth_changed()
Config::instance()->set_allow_smpte_bv20(_allow_smpte_bv20->GetValue());
}
+ void isdcf_name_part_length_changed()
+ {
+ Config::instance()->set_isdcf_name_part_length(_isdcf_name_part_length->GetValue());
+ }
+
wxSpinCtrl* _maximum_j2k_bandwidth = nullptr;
CheckBox* _allow_any_dcp_frame_rate = nullptr;
CheckBox* _allow_any_container = nullptr;
CheckBox* _allow_96khz_audio = nullptr;
CheckBox* _use_all_audio_channels = nullptr;
CheckBox* _allow_smpte_bv20 = nullptr;
+ wxSpinCtrl* _isdcf_name_part_length = nullptr;
};