Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Image animation fixes and updates #42

Merged
merged 9 commits into from
May 20, 2022
Merged

Image animation fixes and updates #42

merged 9 commits into from
May 20, 2022

Conversation

AnonymouX47
Copy link
Owner

@AnonymouX47 AnonymouX47 commented May 17, 2022

  • Fixes and Improves image iteration.
    • Directly adjusting image seek position no longer affects iteration.
    • Improves control flow in ImageIterator._animate().
  • Implements non-linear image iteration via ImageIterator.seek().
  • Introduces concurrent and parallel frame rendering for TUI animations.
  • Frames are now rendered ahead of the animation (when possible).
  • Improves TUI animation performance.
  • Introduces smooth navigation across animated images (no more waiting for the first frame to be rendered before moving on).

- Fix: Directly adjusting image seek position no longer affects iteration.
- Change: Cleaned up code and improved control flow in `ImageIterator._animate()`.
- Change: Updated docstrings.
- Add: Added `ImageIterator.seek()` to jump to any frame during iteration.
- Change: Modified `ImageIterator._animate()`.
- Change: The entire frame cache list is now allocated at once.
@AnonymouX47 AnonymouX47 added enhancement New feature / Improvement suggestion or request lib Related to the library (Not to be used anymore) tui Related to the image viewer's TUI (Not to be used anymore) test Related to the test suite fix Fixes a bug labels May 17, 2022
@AnonymouX47 AnonymouX47 added this to the 0.4.0 milestone May 17, 2022
- Fix: Corrected frame counting in the cached iteration section.
  - Broken in commit c3a1ff4.
- Add: Introduced concurrent and parallel animation frame rendering in the TUI.
  - Replaces the system based on `urwid` notifications.
- Add: Frames are now rendered ahead (when possible).
- Add: Added `clear_queue()`, `manage_anim_renders()` and `render_frames()` in `.tui.render`.
- Add; Added `AnimRenderManager` thread and `FrameRenderer` subprocess/thread.
- Change: Modified `.tui.main.animate_image()`, `.tui.widgets.Image.render()` and `.tui.init()`.
- Change: Moved `ANIM_CACHED`, `FRAME_DURATION` and `REPEAT` from `.tui.main` to `.tui.render`.
- Change: Significantly improved TUI animation performance.
- Change: Introduced smooth navigation across animated images.
  - No more waiting for the first frame to be rendered before moving on.
Conflicts:
	CHANGELOG.md
@AnonymouX47 AnonymouX47 merged commit 1c95e00 into main May 20, 2022
@AnonymouX47 AnonymouX47 deleted the animation branch May 20, 2022 19:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature / Improvement suggestion or request fix Fixes a bug lib Related to the library (Not to be used anymore) test Related to the test suite tui Related to the image viewer's TUI (Not to be used anymore)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant