X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ffilm_viewer.cc;h=b5b2ca972e57aa345856cea8ce28037db1788283;hb=8987f133295e352c44e05ef338eacc801c61a629;hp=f7c50b98aa07cc62b75fcd9916b98c2570ff3980;hpb=313319ba2d8544bc25524e02e634804a503b54f1;p=dcpomatic.git diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc index f7c50b98a..b5b2ca972 100644 --- a/src/wx/film_viewer.cc +++ b/src/wx/film_viewer.cc @@ -51,11 +51,14 @@ #include "lib/util.h" #include "lib/video_content.h" #include "lib/video_decoder.h" +#include +#include extern "C" { #include } -#include +LIBDCP_DISABLE_WARNINGS #include +LIBDCP_ENABLE_WARNINGS #include @@ -115,7 +118,7 @@ FilmViewer::~FilmViewer () } -/** Ask for ::get() to be called next time we are idle */ +/** Ask for ::idle_handler() to be called next time we are idle */ void FilmViewer::request_idle_display_next_frame () { @@ -225,13 +228,10 @@ FilmViewer::recreate_butler () VideoRange::FULL, j2k_gl_optimised ? Image::Alignment::COMPACT : Image::Alignment::PADDED, true, - j2k_gl_optimised + j2k_gl_optimised, + (Config::instance()->sound() && _audio.isStreamOpen()) ? Butler::Audio::ENABLED : Butler::Audio::DISABLED ); - if (!Config::instance()->sound() && !_audio.isStreamOpen()) { - _butler->disable_audio (); - } - _closed_captions_dialog->set_butler (_butler); resume (); @@ -709,6 +709,13 @@ FilmViewer::dcp_decode_reduction () const } +optional +FilmViewer::position_in_content (shared_ptr content) const +{ + return _player->dcp_to_content_time (content, position()); +} + + DCPTime FilmViewer::one_video_frame () const { @@ -792,3 +799,21 @@ FilmViewer::set_optimise_for_j2k (bool o) _video_view->set_optimise_for_j2k (o); } + +void +FilmViewer::set_crop_guess (dcpomatic::Rect crop) +{ + if (crop != _crop_guess) { + _crop_guess = crop; + _video_view->update (); + } +} + + +void +FilmViewer::unset_crop_guess () +{ + _crop_guess = boost::none; + _video_view->update (); +} +