Interface? Probably a right-click dialog box to toggle the frozen state. Must be possible to add one of those to a widget.
Will be more complicated to implement for the 'main' movie self.movie that is used to control the play-back.
One option would be to transfer the control to the second-longest still-running movie - seems likely to be messy because you'd have to also check when unfreezing a movie whether it is longer than the current self.movie and swap it back into extra_movies.
Another possibility might be to create a dummy movie (not sure if this can be done...) with the same length as the longest one, control the play-back with the dummy, and keep all the movies in the self.extra_movies (also renaming the list to just self.movies).
It might be useful to be able to freeze an individual gif, while the rest are stepped forward/backward.
If we added some property to each movie in the
extra_movies
list to record whether it is frozen or not, we could check for that inchange_frames()
and not change certain movies. https://github.com/johnomotani/multigifview/blob/46e168dbd562316a4dfa5a48b70cb3f3085f6d1e/multigifview/core.py#L168-L175Interface? Probably a right-click dialog box to toggle the frozen state. Must be possible to add one of those to a widget.
Will be more complicated to implement for the 'main' movie
self.movie
that is used to control the play-back. One option would be to transfer the control to the second-longest still-running movie - seems likely to be messy because you'd have to also check when unfreezing a movie whether it is longer than the currentself.movie
and swap it back intoextra_movies
. Another possibility might be to create a dummy movie (not sure if this can be done...) with the same length as the longest one, control the play-back with the dummy, and keep all the movies in theself.extra_movies
(also renaming the list to justself.movies
).