+2013-01-25 Carl Hetherington <cth@carlh.net>
+
+ * Add option to specify default details
+ for the DCI name details dialog in new
+ Films (#42).
+
2013-01-24 Carl Hetherington <cth@carlh.net>
* Version 0.72 released.
} else if (k == "sound_processor") {
_sound_processor = SoundProcessor::from_id (v);
}
+
+ _default_dci_metadata.read (k, v);
}
}
f << "tms_path " << _tms_path << "\n";
f << "tms_user " << _tms_user << "\n";
f << "tms_password " << _tms_password << "\n";
- f << "sound_processor " << _sound_processor->id ();
+ f << "sound_processor " << _sound_processor->id () << "\n";
+
+ _default_dci_metadata.write (f);
}
string
#include <vector>
#include <boost/shared_ptr.hpp>
#include <boost/signals2.hpp>
+#include "dci_metadata.h"
class ServerDescription;
class Scaler;
return _sound_processor;
}
+ DCIMetadata default_dci_metadata () const {
+ return _default_dci_metadata;
+ }
+
/** @param n New number of local encoding threads */
void set_num_local_encoding_threads (int n) {
_num_local_encoding_threads = n;
void set_tms_password (std::string p) {
_tms_password = p;
}
+
+ void set_default_dci_metadata (DCIMetadata d) {
+ _default_dci_metadata = d;
+ }
void write () const;
std::string _tms_password;
/** Our sound processor */
SoundProcessor const * _sound_processor;
+ /** Default DCI metadata for newly-created Films */
+ DCIMetadata _default_dci_metadata;
/** Singleton instance, or 0 */
static Config* _instance;
, _subtitle_scale (1)
, _colour_lut (0)
, _j2k_bandwidth (200000000)
+ , _dci_metadata (Config::instance()->default_dci_metadata ())
, _frames_per_second (0)
, _dirty (false)
{
#include "filter_dialog.h"
#include "server_dialog.h"
#include "dir_picker_ctrl.h"
+#include "dci_metadata_dialog.h"
using namespace std;
using boost::bind;
table->Add (_default_directory, 1, wxEXPAND);
table->AddSpacer (0);
+ add_label_to_sizer (table, this, "Default DCI name details");
+ _default_dci_metadata_button = new wxButton (this, wxID_ANY, _("Edit..."));
+ table->Add (_default_dci_metadata_button);
+ table->AddSpacer (1);
+
add_label_to_sizer (table, this, "Reference scaler for A/B");
_reference_scaler = new wxComboBox (this, wxID_ANY);
vector<Scaler const *> const sc = Scaler::all ();
_default_directory->SetPath (std_to_wx (config->default_directory_or (wx_to_std (wxStandardPaths::Get().GetDocumentsDir()))));
_default_directory->Connect (wxID_ANY, wxEVT_COMMAND_DIRPICKER_CHANGED, wxCommandEventHandler (ConfigDialog::default_directory_changed), 0, this);
+ _default_dci_metadata_button->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (ConfigDialog::edit_default_dci_metadata_clicked), 0, this);
+
_reference_scaler->SetSelection (Scaler::as_index (config->reference_scaler ()));
_reference_scaler->Connect (wxID_ANY, wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler (ConfigDialog::reference_scaler_changed), 0, this);
pair<string, string> p = Filter::ffmpeg_strings (Config::instance()->reference_filters ());
_reference_filters->SetLabel (std_to_wx (p.first + " " + p.second));
}
+
+void
+ConfigDialog::edit_default_dci_metadata_clicked (wxCommandEvent &)
+{
+ DCIMetadataDialog* d = new DCIMetadataDialog (this, Config::instance()->default_dci_metadata ());
+ d->ShowModal ();
+ Config::instance()->set_default_dci_metadata (d->dci_metadata ());
+ d->Destroy ();
+}
void tms_password_changed (wxCommandEvent &);
void num_local_encoding_threads_changed (wxCommandEvent &);
void default_directory_changed (wxCommandEvent &);
+ void edit_default_dci_metadata_clicked (wxCommandEvent &);
void reference_scaler_changed (wxCommandEvent &);
void edit_reference_filters_clicked (wxCommandEvent &);
void reference_filters_changed (std::vector<Filter const *>);
DirPickerCtrl* _default_directory;
#else
wxDirPickerCtrl* _default_directory;
-#endif
+#endif
+ wxButton* _default_dci_metadata_button;
wxComboBox* _reference_scaler;
wxStaticText* _reference_filters;
wxButton* _reference_filters_button;