The comments in #45 noted that the Client.display_image method was failing to show the image for the set duration.
Looking into the code, I saw that this happened when procedural_face_enabled was set because the AnimationController loop would start fetching new face images.
I used the playing_animation variable of AnimationController to prevent this from happening.
Now, Client.display_image starts the animation and clears the screen if a duration is set. If no duration is specified, the Client.clear_screen function should be called to stop showing the image.
It should also be noted that right now sending a new image or starting an animation will override the previously shown image, but I think this is probably the most intuitive way to work with it as well.
The comments in #45 noted that the
Client.display_image
method was failing to show the image for the set duration. Looking into the code, I saw that this happened whenprocedural_face_enabled
was set because theAnimationController
loop would start fetching new face images.I used the
playing_animation
variable ofAnimationController
to prevent this from happening. Now,Client.display_image
starts the animation and clears the screen if a duration is set. If no duration is specified, theClient.clear_screen
function should be called to stop showing the image.It should also be noted that right now sending a new image or starting an animation will override the previously shown image, but I think this is probably the most intuitive way to work with it as well.