projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Tweak some comments.
[dcpomatic.git]
/
src
/
wx
/
film_viewer.cc
diff --git
a/src/wx/film_viewer.cc
b/src/wx/film_viewer.cc
index c7e154fa53597bf340bb4337cc32af6174bb8159..749e4ceb7c315e73147737c465f2d26e981fba80 100644
(file)
--- a/
src/wx/film_viewer.cc
+++ b/
src/wx/film_viewer.cc
@@
-96,10
+96,10
@@
FilmViewer::FilmViewer (wxWindow* p)
{
switch (Config::instance()->video_view_type()) {
case Config::VIDEO_VIEW_OPENGL:
{
switch (Config::instance()->video_view_type()) {
case Config::VIDEO_VIEW_OPENGL:
- _video_view =
new GLVideoView
(this, p);
+ _video_view =
std::make_shared<GLVideoView>
(this, p);
break;
case Config::VIDEO_VIEW_SIMPLE:
break;
case Config::VIDEO_VIEW_SIMPLE:
- _video_view =
new SimpleVideoView
(this, p);
+ _video_view =
std::make_shared<SimpleVideoView>
(this, p);
break;
}
break;
}
@@
-229,6
+229,10
@@
FilmViewer::recreate_butler ()
_butler->disable_audio ();
}
_butler->disable_audio ();
}
+ if (dynamic_pointer_cast<GLVideoView>(_video_view) && _optimise_for_j2k) {
+ _butler->set_prepare_only_proxy (true);
+ }
+
_closed_captions_dialog->set_butler (_butler);
resume ();
_closed_captions_dialog->set_butler (_butler);
resume ();
@@
-281,21
+285,22
@@
FilmViewer::calculate_sizes ()
auto const view_ratio = float(_video_view->get()->GetSize().x) / _video_view->get()->GetSize().y;
auto const film_ratio = container ? container->ratio () : 1.78;
auto const view_ratio = float(_video_view->get()->GetSize().x) / _video_view->get()->GetSize().y;
auto const film_ratio = container ? container->ratio () : 1.78;
+ dcp::Size out_size;
if (view_ratio < film_ratio) {
/* panel is less widscreen than the film; clamp width */
if (view_ratio < film_ratio) {
/* panel is less widscreen than the film; clamp width */
-
_
out_size.width = _video_view->get()->GetSize().x;
-
_out_size.height = lrintf (_
out_size.width / film_ratio);
+ out_size.width = _video_view->get()->GetSize().x;
+
out_size.height = lrintf (
out_size.width / film_ratio);
} else {
/* panel is more widescreen than the film; clamp height */
} else {
/* panel is more widescreen than the film; clamp height */
-
_
out_size.height = _video_view->get()->GetSize().y;
-
_out_size.width = lrintf (_
out_size.height * film_ratio);
+ out_size.height = _video_view->get()->GetSize().y;
+
out_size.width = lrintf (
out_size.height * film_ratio);
}
/* Catch silly values */
}
/* Catch silly values */
-
_out_size.width = max (64, _
out_size.width);
-
_out_size.height = max (64, _
out_size.height);
+
out_size.width = max (64,
out_size.width);
+
out_size.height = max (64,
out_size.height);
- _player->set_video_container_size (
_
out_size);
+ _player->set_video_container_size (out_size);
}
}
@@
-771,3
+776,12
@@
FilmViewer::image_changed (shared_ptr<PlayerVideo> pv)
{
emit (boost::bind(boost::ref(ImageChanged), pv));
}
{
emit (boost::bind(boost::ref(ImageChanged), pv));
}
+
+
+void
+FilmViewer::set_optimise_for_j2k (bool o)
+{
+ _optimise_for_j2k = o;
+ _video_view->set_optimise_for_j2k (o);
+}
+