X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ffilm_viewer.h;h=916491d30c32c77da3b487c0848222f44dd70236;hb=444e1d4e0062677220d32b78b97a4b730156b514;hp=5ddb12bafd0e2045422c60a3a98c2efd6682f286;hpb=c3b7debcde8e686a06918095df347752caa8eacb;p=dcpomatic.git diff --git a/src/wx/film_viewer.h b/src/wx/film_viewer.h index 5ddb12baf..916491d30 100644 --- a/src/wx/film_viewer.h +++ b/src/wx/film_viewer.h @@ -75,6 +75,8 @@ public: void start (); bool stop (); + void suspend (); + void resume (); bool playing () const { return _playing; } @@ -133,9 +135,6 @@ public: bool pad_black () const { return _pad_black; } - dcpomatic::DCPTime video_position () const { - return _video_position; - } boost::signals2::signal)> ImageChanged; boost::signals2::signal PositionChanged; @@ -147,12 +146,15 @@ public: boost::signals2::signal PlaybackPermitted; private: + + /* XXX_b: to remove */ + friend class SimpleVideoView; + void video_view_sized (); - void timer (); void calculate_sizes (); void player_change (ChangeType type, int, bool); - void get (); - void display_player_video (); + void idle_handler (); + void request_idle_get (); void film_change (ChangeType, Film::Property); void recreate_butler (); void config_changed (Config::Property); @@ -168,7 +170,6 @@ private: boost::shared_ptr _player; VideoView* _video_view; - wxTimer _timer; bool _coalesce_player_changes; std::list _pending_player_changes; @@ -184,6 +185,7 @@ private: int _audio_channels; unsigned int _audio_block_size; bool _playing; + int _suspended; boost::shared_ptr _butler; std::list _latency_history; @@ -210,5 +212,8 @@ private: StateTimer _state_timer; int _gets; + /** true if an get() is required next time we are idle */ + bool _idle_get; + boost::signals2::scoped_connection _config_changed_connection; };