swaroop: populate playlist after recovery from crash.
authorCarl Hetherington <cth@carlh.net>
Mon, 4 Feb 2019 00:48:22 +0000 (00:48 +0000)
committerCarl Hetherington <cth@carlh.net>
Mon, 4 Feb 2019 00:48:22 +0000 (00:48 +0000)
src/wx/swaroop_controls.cc
src/wx/swaroop_controls.h

index f93cc66f1eefe76f14ac6a057b11c4cb0cd0e8ff..d16f36132efd969ec27fbd614d1122bef15e9f52 100644 (file)
@@ -135,8 +135,7 @@ SwaroopControls::check_restart ()
 
        for (size_t i = 0; i < _playlists.size(); ++i) {
                if (_playlists[i].id() == id) {
-                       _selected_playlist = i;
-                       _selected_playlist_position = index;
+                       select_playlist (i, index);
                        update_current_content ();
                        _viewer->seek (DCPTime(time), false);
                        _viewer->start ();
@@ -394,6 +393,12 @@ SwaroopControls::spl_selection_changed ()
                return;
        }
 
+       select_playlist (selected, 0);
+}
+
+void
+SwaroopControls::select_playlist (int selected, int position)
+{
        log (wxString::Format("load-playlist %s", std_to_wx(_playlists[selected].name()).data()));
 
        wxProgressDialog dialog (_("DCP-o-matic"), "Loading playlist and KDMs");
@@ -438,7 +443,7 @@ SwaroopControls::spl_selection_changed ()
        }
 
        _selected_playlist = selected;
-       _selected_playlist_position = 0;
+       _selected_playlist_position = position;
        dialog.Pulse ();
        reset_film ();
        dialog.Pulse ();
index e2c4190b66520639228f58204acbaa6e81318e37..8400d8cdb573e036cf3314866a783db8fea018ca 100644 (file)
@@ -47,6 +47,7 @@ private:
        void update_content_directory ();
        void update_playlist_directory ();
        void spl_selection_changed ();
+       void select_playlist (int selected, int position);
        void started ();
        void stopped ();
        void setup_sensitivity ();