Merge master.
[dcpomatic.git] / src / wx / video_panel.cc
index eb45d4bc81a0b82ec38c35e342866c1da0cb7432..2a5577bc19574f46628ba38e5028d345b8a9ac72 100644 (file)
@@ -24,6 +24,7 @@
 #include "lib/config.h"
 #include "lib/util.h"
 #include "lib/ratio.h"
+#include "lib/frame_rate_change.h"
 #include "filter_dialog.h"
 #include "video_panel.h"
 #include "wx_util.h"
@@ -196,6 +197,9 @@ 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"));
+       _frame_type->wrapped()->Append (_("3D left only"));
+       _frame_type->wrapped()->Append (_("3D right only"));
 
        _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));
@@ -240,12 +244,11 @@ VideoPanel::film_content_changed (int property)
                _colour_conversion->SetLabel (preset ? std_to_wx (cc[preset.get()].name) : _("Custom"));
        } else if (property == FFmpegContentProperty::FILTERS) {
                if (fcs) {
-                       pair<string, string> p = Filter::ffmpeg_strings (fcs->filters ());
-                       if (p.first.empty () && p.second.empty ()) {
+                       string const p = Filter::ffmpeg_string (fcs->filters ());
+                       if (p.empty ()) {
                                _filters->SetLabel (_("None"));
                        } else {
-                               string const b = p.first + " " + p.second;
-                               _filters->SetLabel (std_to_wx (b));
+                               _filters->SetLabel (std_to_wx (p));
                        }
                }
        }
@@ -305,8 +308,8 @@ VideoPanel::setup_description ()
                ++lines;
        }
 
-       dcp::Size const container_size = fit_ratio_within (_editor->film()->container()->ratio (), _editor->film()->full_frame ());
-       dcp::Size const scaled = vcs->scale().size (vcs, container_size);
+       dcp::Size const container_size = _editor->film()->frame_size ();
+       dcp::Size const scaled = vcs->scale().size (vcs, container_size, container_size);
 
        if (scaled != vcs->video_size_after_crop ()) {
                d << wxString::Format (