johnomotani / multigifview

Simple gif viewer
GNU General Public License v3.0
0 stars 0 forks source link

freeze individual gifs #6

Open johnomotani opened 4 years ago

johnomotani commented 4 years ago

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 in change_frames() and not change certain movies. https://github.com/johnomotani/multigifview/blob/46e168dbd562316a4dfa5a48b70cb3f3085f6d1e/multigifview/core.py#L168-L175

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).