summaryrefslogtreecommitdiff
path: root/src/wx
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-07-18 12:40:38 +0100
committerCarl Hetherington <cth@carlh.net>2013-07-18 12:40:38 +0100
commitc6113e09ca546d5a739b36aa0d198581958d9ded (patch)
tree3747f83e86ec7fcfd5475d39486e7f6547c9c568 /src/wx
parent5ad79869f79c8fa140974e89b3c67b8eefc7d067 (diff)
Speculative 4K support.
Diffstat (limited to 'src/wx')
-rw-r--r--src/wx/film_editor.cc31
-rw-r--r--src/wx/film_editor.h2
2 files changed, 30 insertions, 3 deletions
diff --git a/src/wx/film_editor.cc b/src/wx/film_editor.cc
index 90bf79741..669be844b 100644
--- a/src/wx/film_editor.cc
+++ b/src/wx/film_editor.cc
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2013 Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -139,7 +139,7 @@ FilmEditor::make_dcp_panel ()
++r;
{
- add_label_to_grid_bag_sizer (grid, _dcp_panel, _("DCP Frame Rate"), true, wxGBPosition (r, 0));
+ add_label_to_grid_bag_sizer (grid, _dcp_panel, _("Frame Rate"), true, wxGBPosition (r, 0));
wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
_dcp_frame_rate = new wxChoice (_dcp_panel, wxID_ANY);
s->Add (_dcp_frame_rate, 1, wxALIGN_CENTER_VERTICAL);
@@ -149,11 +149,16 @@ FilmEditor::make_dcp_panel ()
}
++r;
- add_label_to_grid_bag_sizer (grid, _dcp_panel, _("DCP audio channels"), true, wxGBPosition (r, 0));
+ add_label_to_grid_bag_sizer (grid, _dcp_panel, _("Audio channels"), true, wxGBPosition (r, 0));
_dcp_audio_channels = new wxSpinCtrl (_dcp_panel, wxID_ANY);
grid->Add (_dcp_audio_channels, wxGBPosition (r, 1));
++r;
+ add_label_to_grid_bag_sizer (grid, _dcp_panel, _("Resolution"), true, wxGBPosition (r, 0));
+ _dcp_resolution = new wxChoice (_dcp_panel, wxID_ANY);
+ grid->Add (_dcp_resolution, wxGBPosition (r, 1));
+ ++r;
+
{
add_label_to_grid_bag_sizer (grid, _dcp_panel, _("JPEG2000 bandwidth"), true, wxGBPosition (r, 0));
wxSizer* s = new wxBoxSizer (wxHORIZONTAL);
@@ -191,6 +196,9 @@ FilmEditor::make_dcp_panel ()
_dcp_audio_channels->SetRange (0, MAX_AUDIO_CHANNELS);
_j2k_bandwidth->SetRange (50, 250);
+
+ _dcp_resolution->Append (_("2K"));
+ _dcp_resolution->Append (_("4K"));
}
void
@@ -230,6 +238,8 @@ FilmEditor::connect_to_widgets ()
_audio_delay->Connect (wxID_ANY, wxEVT_COMMAND_SPINCTRL_UPDATED, wxCommandEventHandler (FilmEditor::audio_delay_changed), 0, this);
_audio_stream->Connect (wxID_ANY, wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler (FilmEditor::audio_stream_changed), 0, this);
_subtitle_stream->Connect (wxID_ANY, wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler (FilmEditor::subtitle_stream_changed), 0, this);
+ _dcp_resolution->Connect (wxID_ANY, wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler (FilmEditor::dcp_resolution_changed), 0, this);
+
_audio_mapping->Changed.connect (boost::bind (&FilmEditor::audio_mapping_changed, this, _1));
_start->Changed.connect (boost::bind (&FilmEditor::start_changed, this));
_length->Changed.connect (boost::bind (&FilmEditor::length_changed, this));
@@ -578,6 +588,16 @@ FilmEditor::dcp_audio_channels_changed (wxCommandEvent &)
_film->set_dcp_audio_channels (_dcp_audio_channels->GetValue ());
}
+void
+FilmEditor::dcp_resolution_changed (wxCommandEvent &)
+{
+ if (!_film) {
+ return;
+ }
+
+ _film->set_resolution (_dcp_resolution->GetSelection() == 0 ? RESOLUTION_2K : RESOLUTION_4K);
+}
+
/** Called when the metadata stored in the Film object has changed;
* so that we can update the GUI.
@@ -626,6 +646,10 @@ FilmEditor::film_changed (Film::Property p)
setup_subtitle_control_sensitivity ();
setup_dcp_name ();
break;
+ case Film::RESOLUTION:
+ checked_set (_dcp_resolution, _film->resolution() == RESOLUTION_2K ? 0 : 1);
+ setup_dcp_name ();
+ break;
case Film::J2K_BANDWIDTH:
checked_set (_j2k_bandwidth, double (_film->j2k_bandwidth()) / 1e6);
break;
@@ -860,6 +884,7 @@ FilmEditor::set_film (shared_ptr<Film> f)
film_changed (Film::LOOP);
film_changed (Film::DCP_CONTENT_TYPE);
film_changed (Film::CONTAINER);
+ film_changed (Film::RESOLUTION);
film_changed (Film::SCALER);
film_changed (Film::WITH_SUBTITLES);
film_changed (Film::J2K_BANDWIDTH);
diff --git a/src/wx/film_editor.h b/src/wx/film_editor.h
index f2c6745de..c965a7aff 100644
--- a/src/wx/film_editor.h
+++ b/src/wx/film_editor.h
@@ -97,6 +97,7 @@ private:
void length_changed ();
void ratio_changed (wxCommandEvent &);
void dcp_audio_channels_changed (wxCommandEvent &);
+ void dcp_resolution_changed (wxCommandEvent &);
/* Handle changes to the model */
void film_changed (Film::Property);
@@ -173,6 +174,7 @@ private:
AudioMappingView* _audio_mapping;
Timecode* _start;
Timecode* _length;
+ wxChoice* _dcp_resolution;
std::vector<Ratio const *> _ratios;