summaryrefslogtreecommitdiff
path: root/src/wx
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-03-21 12:36:17 +0000
committerCarl Hetherington <cth@carlh.net>2014-03-21 12:36:17 +0000
commite6f28e7cda23c1ba3c49cc1bf2dc1491c2f87160 (patch)
treeab7de2b131c3543d170b167c8b93ea2113ac112e /src/wx
parent76f601f5edbdfceec91ff6f6ce4b310e0d3a6ce9 (diff)
parent4ec7a8070dfcda1fa327df6378eaab754f119f1b (diff)
Mostly-merge master.
Diffstat (limited to 'src/wx')
-rw-r--r--src/wx/about_dialog.cc2
-rw-r--r--src/wx/timecode.cc20
-rw-r--r--src/wx/timing_panel.cc6
-rw-r--r--src/wx/video_panel.cc1
4 files changed, 19 insertions, 10 deletions
diff --git a/src/wx/about_dialog.cc b/src/wx/about_dialog.cc
index 01332dfcc..812772f10 100644
--- a/src/wx/about_dialog.cc
+++ b/src/wx/about_dialog.cc
@@ -115,7 +115,7 @@ AboutDialog::AboutDialog (wxWindow* parent)
supported_by.Add (wxT ("Adam Colt"));
supported_by.Add (wxT ("Andres Fink"));
supported_by.Add (wxT ("Evan Freeze"));
- supported_by.Add (wxT ("Rodolfo Giuliano"));
+ supported_by.Add (wxT ("Silvio Giuliano"));
supported_by.Add (wxT ("Flor Guillaume"));
supported_by.Add (wxT ("Jonathan Jensen"));
supported_by.Add (wxT ("Adam Klotblixt"));
diff --git a/src/wx/timecode.cc b/src/wx/timecode.cc
index 045327254..634a15625 100644
--- a/src/wx/timecode.cc
+++ b/src/wx/timecode.cc
@@ -85,20 +85,24 @@ Timecode::Timecode (wxWindow* parent)
void
Timecode::set (DCPTime t, int fps)
{
- int const h = t.seconds() / 3600;
- t -= DCPTime::from_seconds (h * 3600);
- int const m = t.seconds() / 60;
- t -= DCPTime::from_seconds (m * 60);
- int const s = t.seconds();
- t -= DCPTime::from_seconds (s);
- int const f = rint (t.seconds() * fps);
+ /* Do this calculation with frames so that we can round
+ to a frame boundary at the start rather than the end.
+ */
+ int64_t f = rint (t.seconds() * fps);
+
+ int const h = f / (3600 * fps);
+ f -= h * 3600 * fps;
+ int const m = f / (60 * fps);
+ f -= m * 60 * fps;
+ int const s = f / fps;
+ f -= s * fps;
checked_set (_hours, lexical_cast<string> (h));
checked_set (_minutes, lexical_cast<string> (m));
checked_set (_seconds, lexical_cast<string> (s));
checked_set (_frames, lexical_cast<string> (f));
- _fixed->SetLabel (wxString::Format ("%02d:%02d:%02d.%02d", h, m, s, f));
+ _fixed->SetLabel (wxString::Format ("%02d:%02d:%02d.%02ld", h, m, s, f));
}
DCPTime
diff --git a/src/wx/timing_panel.cc b/src/wx/timing_panel.cc
index b8b923a6b..3fcb9b175 100644
--- a/src/wx/timing_panel.cc
+++ b/src/wx/timing_panel.cc
@@ -87,7 +87,11 @@ TimingPanel::film_content_changed (int property)
} else {
_position->set (DCPTime () , 24);
}
- } else if (property == ContentProperty::LENGTH || property == VideoContentProperty::VIDEO_FRAME_RATE) {
+ } else if (
+ property == ContentProperty::LENGTH ||
+ property == VideoContentProperty::VIDEO_FRAME_RATE ||
+ property == VideoContentProperty::VIDEO_FRAME_TYPE
+ ) {
if (content) {
_full_length->set (content->full_length (), _editor->film()->video_frame_rate ());
_play_length->set (content->length_after_trim (), _editor->film()->video_frame_rate ());
diff --git a/src/wx/video_panel.cc b/src/wx/video_panel.cc
index 533545f64..fad824727 100644
--- a/src/wx/video_panel.cc
+++ b/src/wx/video_panel.cc
@@ -196,6 +196,7 @@ VideoPanel::VideoPanel (FilmEditor* e)
_frame_type->wrapped()->Append (_("2D"));
_frame_type->wrapped()->Append (_("3D left/right"));
_frame_type->wrapped()->Append (_("3D top/bottom"));
+ _frame_type->wrapped()->Append (_("3D alternate"));
_filters_button->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&VideoPanel::edit_filters_clicked, this));
_colour_conversion_button->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&VideoPanel::edit_colour_conversion_clicked, this));