+ /* stringstream is OK here as this string is just for presentation to the user */
+ SafeStringStream d;
+
+ if (size().width && size().height) {
+ d << String::compose (
+ _("Content video is %1x%2"),
+ size_after_3d_split().width,
+ size_after_3d_split().height
+ );
+
+
+ double ratio = size_after_3d_split().ratio ();
+
+ if (sample_aspect_ratio ()) {
+ d << ", " << _("pixel aspect ratio") << " " << fixed << setprecision(2) << sample_aspect_ratio().get () << ":1";
+ ratio *= sample_aspect_ratio().get ();
+ }
+
+ d << "\n" << _("Display aspect ratio") << " " << fixed << setprecision(2) << ratio << ":1\n";
+ }
+
+ if ((crop().left || crop().right || crop().top || crop().bottom) && size() != dcp::Size (0, 0)) {
+ dcp::Size cropped = size_after_crop ();
+ d << String::compose (
+ _("Cropped to %1x%2"),
+ cropped.width, cropped.height
+ );
+
+ d << " (" << fixed << setprecision(2) << cropped.ratio () << ":1)\n";
+ }
+
+ shared_ptr<const Film> film = _parent->film ();
+ dcp::Size const container_size = film->frame_size ();
+ dcp::Size const scaled = scale().size (shared_from_this(), container_size, container_size);
+
+ if (scaled != size_after_crop ()) {
+ d << String::compose (
+ _("Scaled to %1x%2"),
+ scaled.width, scaled.height
+ );
+
+ d << " (" << fixed << setprecision(2) << scaled.ratio() << ":1)\n";