X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Fwx%2Fswaroop_controls.cc;h=add9bf3e0ae5937f9bbdce005dae8f01212a7501;hp=5ce6c45fc7a637f6e6c1e99124d596f7698cb422;hb=694a9f48880efd428c8137e975de3581ad0a75a9;hpb=15e82df97cc99b94a7028313dff4eba213ecd84d diff --git a/src/wx/swaroop_controls.cc b/src/wx/swaroop_controls.cc index 5ce6c45fc..add9bf3e0 100644 --- a/src/wx/swaroop_controls.cc +++ b/src/wx/swaroop_controls.cc @@ -54,6 +54,7 @@ SwaroopControls::SwaroopControls (wxWindow* parent, shared_ptr viewe , _previous_button (new Button(this, "Previous")) , _current_disable_timeline (false) , _current_disable_next (false) + , _timer (this) { _button_sizer->Add (_previous_button, 0, wxEXPAND); _button_sizer->Add (_play_button, 0, wxEXPAND); @@ -112,10 +113,13 @@ SwaroopControls::SwaroopControls (wxWindow* parent, shared_ptr viewe _spl_view->Bind (wxEVT_LIST_ITEM_SELECTED, boost::bind(&SwaroopControls::spl_selection_changed, this)); _spl_view->Bind (wxEVT_LIST_ITEM_DESELECTED, boost::bind(&SwaroopControls::spl_selection_changed, this)); _viewer->Finished.connect (boost::bind(&SwaroopControls::viewer_finished, this)); - _viewer->PositionChanged.connect (boost::bind(&SwaroopControls::viewer_position_changed, this)); _refresh_spl_view->Bind (wxEVT_BUTTON, boost::bind(&SwaroopControls::update_playlist_directory, this)); _refresh_content_view->Bind (wxEVT_BUTTON, boost::bind(&ContentView::update, _content_view)); + /* Write position every two minutes if we're playing */ + Bind (wxEVT_TIMER, boost::bind(&SwaroopControls::write_position, this)); + _timer.Start (2 * 60 * 1000, wxTIMER_CONTINUOUS); + _content_view->update (); update_playlist_directory (); @@ -153,10 +157,9 @@ SwaroopControls::check_restart () } void -SwaroopControls::viewer_position_changed () +SwaroopControls::write_position () { - /* Write position every two minutes if we're playing */ - if (!_selected_playlist || !_viewer->playing() || _viewer->position().get() % (2 * 60 * DCPTime::HZ)) { + if (!_selected_playlist || !_viewer->playing()) { return; }