+2014-09-07 Carl Hetherington <cth@carlh.net>
+
+ * Put no stretch / no scale in the set of choices for default
+ scale to.
+
+ * Fix a few bad fuzzy translations from the preferences dialog.
+
2014-09-03 Carl Hetherington <cth@carlh.net>
* Version 1.73.2 released.
, _cinema_sound_processor (CinemaSoundProcessor::from_id (N_("dolby_cp750")))
, _allow_any_dcp_frame_rate (false)
, _default_still_length (10)
- , _default_scale (Ratio::from_id ("185"))
+ , _default_scale (VideoContentScale (Ratio::from_id ("185")))
, _default_container (Ratio::from_id ("185"))
, _default_dcp_content_type (DCPContentType::from_isdcf_name ("TST"))
, _default_j2k_bandwidth (100000000)
c = f.optional_string_child ("DefaultScale");
if (c) {
- _default_scale = Ratio::from_id (c.get ());
+ _default_scale = VideoContentScale::from_id (c.get ());
}
c = f.optional_string_child ("DefaultContainer");
if (_language) {
root->add_child("Language")->add_child_text (_language.get());
}
- if (_default_scale) {
- root->add_child("DefaultScale")->add_child_text (_default_scale->id ());
- }
+ root->add_child("DefaultScale")->add_child_text (_default_scale.id ());
if (_default_container) {
root->add_child("DefaultContainer")->add_child_text (_default_container->id ());
}
#include <dcp/signer.h>
#include "isdcf_metadata.h"
#include "colour_conversion.h"
+#include "video_content.h"
class ServerDescription;
class Scaler;
return _default_still_length;
}
- Ratio const * default_scale () const {
+ VideoContentScale default_scale () const {
return _default_scale;
}
changed ();
}
- void set_default_scale (Ratio const * s) {
+ void set_default_scale (VideoContentScale s) {
_default_scale = s;
changed ();
}
ISDCFMetadata _default_isdcf_metadata;
boost::optional<std::string> _language;
int _default_still_length;
- Ratio const * _default_scale;
+ VideoContentScale _default_scale;
Ratio const * _default_container;
DCPContentType const * _default_dcp_content_type;
std::string _dcp_issuer;
SafeStringStream s;
if (_ratio) {
- s << _ratio->id () << "_";
+ s << _ratio->id ();
} else {
s << (_scale ? "S1" : "S0");
}
return _("No scale");
}
+VideoContentScale
+VideoContentScale::from_id (string id)
+{
+ Ratio const * r = Ratio::from_id (id);
+ if (r) {
+ return VideoContentScale (r);
+ }
+
+ if (id == "S0") {
+ return VideoContentScale (false);
+ }
+
+ return VideoContentScale (true);
+}
+
/** @param display_container Size of the container that we are displaying this content in.
* @param film_container The size of the film's image.
*/
static std::vector<VideoContentScale> all () {
return _scales;
}
+ static VideoContentScale from_id (std::string id);
private:
/** a ratio to stretch the content to, or 0 for no stretch */
setup_menu (bar);
SetMenuBar (bar);
- Config::instance()->Changed.connect (boost::bind (&Frame::config_changed, this));
+ _config_changed_connection = Config::instance()->Changed.connect (boost::bind (&Frame::config_changed, this));
config_changed ();
Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&Frame::file_new, this), ID_file_new);
return;
}
+ /* We don't want to hear about any more configuration changes, since they
+ cause the File menu to be altered, which itself will be deleted around
+ now (without, as far as I can see, any way for us to find out).
+ */
+ _config_changed_connection.disconnect ();
+
maybe_save_then_delete_film ();
-
ev.Skip ();
}
int _history_items;
int _history_position;
wxMenuItem* _history_separator;
+ boost::signals2::scoped_connection _config_changed_connection;
};
static const wxCmdLineEntryDesc command_line_description[] = {
_isdcf_metadata_button->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&DefaultsPage::edit_isdcf_metadata_clicked, this, parent));
- vector<Ratio const *> ratio = Ratio::all ();
- int n = 0;
- for (vector<Ratio const *>::iterator i = ratio.begin(); i != ratio.end(); ++i) {
- _scale->Append (std_to_wx ((*i)->nickname ()));
- if (*i == config->default_scale ()) {
- _scale->SetSelection (n);
+ vector<VideoContentScale> scales = VideoContentScale::all ();
+ for (size_t i = 0; i < scales.size(); ++i) {
+ _scale->Append (std_to_wx (scales[i].name ()));
+ if (scales[i] == config->default_scale ()) {
+ _scale->SetSelection (i);
}
- _container->Append (std_to_wx ((*i)->nickname ()));
- if (*i == config->default_container ()) {
- _container->SetSelection (n);
+ }
+
+ vector<Ratio const *> ratios = Ratio::all ();
+ for (size_t i = 0; i < ratios.size(); ++i) {
+ _container->Append (std_to_wx (ratios[i]->nickname ()));
+ if (ratios[i] == config->default_container ()) {
+ _container->SetSelection (i);
}
- ++n;
}
_scale->Bind (wxEVT_COMMAND_CHOICE_SELECTED, boost::bind (&DefaultsPage::scale_changed, this));
_container->Bind (wxEVT_COMMAND_CHOICE_SELECTED, boost::bind (&DefaultsPage::container_changed, this));
vector<DCPContentType const *> const ct = DCPContentType::all ();
- n = 0;
- for (vector<DCPContentType const *>::const_iterator i = ct.begin(); i != ct.end(); ++i) {
- _dcp_content_type->Append (std_to_wx ((*i)->pretty_name ()));
- if (*i == config->default_dcp_content_type ()) {
- _dcp_content_type->SetSelection (n);
+ for (size_t i = 0; i < ct.size(); ++i) {
+ _dcp_content_type->Append (std_to_wx (ct[i]->pretty_name ()));
+ if (ct[i] == config->default_dcp_content_type ()) {
+ _dcp_content_type->SetSelection (i);
}
- ++n;
}
_dcp_content_type->Bind (wxEVT_COMMAND_CHOICE_SELECTED, boost::bind (&DefaultsPage::dcp_content_type_changed, this));
void scale_changed ()
{
- vector<Ratio const *> ratio = Ratio::all ();
- Config::instance()->set_default_scale (ratio[_scale->GetSelection()]);
+ vector<VideoContentScale> scale = VideoContentScale::all ();
+ Config::instance()->set_default_scale (scale[_scale->GetSelection()]);
}
void container_changed ()
msgstr "Standard 'issuer' (DCI)"
#: src/wx/config_dialog.cc:270
-#, fuzzy
msgid "Default scale to"
-msgstr "Standard 'creator' (DCI)"
+msgstr ""
#: src/wx/config_dialog.cc:229
msgid "Defaults"
msgstr "Emisor por defecto"
#: src/wx/config_dialog.cc:270
-#, fuzzy
msgid "Default scale to"
-msgstr "Creador por defecto"
+msgstr ""
#: src/wx/config_dialog.cc:229
msgid "Defaults"
msgstr "Labo par défaut"
#: src/wx/config_dialog.cc:270
-#, fuzzy
msgid "Default scale to"
-msgstr "Créateur par défaut"
+msgstr ""
#: src/wx/config_dialog.cc:229
msgid "Defaults"
msgstr "Predefiniti"
#: src/wx/config_dialog.cc:270
-#, fuzzy
msgid "Default scale to"
-msgstr "Contenitore predefinito"
+msgstr ""
#: src/wx/config_dialog.cc:229
msgid "Defaults"
msgstr "Standaard uitgever"
#: src/wx/config_dialog.cc:270
-#, fuzzy
msgid "Default scale to"
-msgstr "Standaard maker"
+msgstr ""
#: src/wx/config_dialog.cc:229
msgid "Defaults"
msgstr "Standardval"
#: src/wx/config_dialog.cc:270
-#, fuzzy
msgid "Default scale to"
-msgstr "Förvald innehållstyp"
+msgstr ""
#: src/wx/config_dialog.cc:229
msgid "Defaults"