* feat(cli): feally featured RevealJS template
This adds an option for every possible RevealJS option. Error messages are also improved.
RevealJS version is bumped to latest (4.4.0).
* feat(cli): add primitive support for arbitrary JS functions
* fix(cli): some typos / issues in template
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(lib): pickling issue
* fix(lib): ignore typing error due to __reduce_ex__
* feat(cli): add template selection, fixes first slide bug, and rm stuff
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
As suggested by PySide6's documentation, we avoid using pixmap.scaled() on every frame, but use scaled content to resize the image. This seems to ignore ratio, explaining why we need a new option flag.
* chore(deps): drop support for Python 3.7
In link with the recent release of [Manim v0.17.0](https://github.com/ManimCommunity/manim/releases/tag/v0.17.0), Manim Slides drops support for Python 3.7.
* feat(cli): check for newer Manim Slides version
Uses same logic as manim to check for a new version
* fix(lib): reset correct version
* fix(ci): add type stubs for requests
* chore(speed): avoid unnecessary color conversion
This speeds up a bit the presentation by avoiding color conversion from BGR (OpenCV) to RGB.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* refactor(lib): rename `main` to `__main__`
This allows to call the module using `python -m manim-slides`, useful for profiling, etc.
* fix(setup): update name
* fix: unused imports, hide tab warning for the str
* refactor(defaults.py): move revealjs_template to separate file
* fix(lib): move data files and use pkg_resources
* fix(lib): remove unused and unexisting import
* fix(ci): only test conversion with Manim
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(ci): test ManimGL on Python 3.10, not 3.11
* fix(lib): include package data in setup.py
* fix(ci): no fail-fast
* fix(ci): typo
Co-authored-by: Jérome Eertmans <jeertmans@icloud.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* wip(cli): convert slides to html using RevealJS
* wip: convert - almost fully working
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix: remove unused file
* fix: add last slides in now performed during rendering
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(ci): testing ConvertExample too
* fix: ManimGL does not consider wait as an animation
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* feat(cli): read environ variable for verbosity
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* feat: add option for background color
This allows to define the background color used for border when resize mode is set to "keep".
Closes#52
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This adds a new option that allows to control how the video is going to be scaled. By default, we now use a smooth rescaling, but fast mode with no interpolation can be used (previously default).
* Mouse Show/Hide feature
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Mouse Hide/Show Fix
Applied requested changes for PR
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Jérome Eertmans <jeertmans@icloud.com>
* wip: use PyQT5 for window display
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* wip: first slide is shown
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* wip: pushing non-working code
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* wip: some logging
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* feat: new configuration wizard working
* fix: prevent key error
* wip: making action work
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* wip: soon done! info + video
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix: bugs in sleep and exiting
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try: offscreen
* fix: pop default value if not present
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* feat: add aspect ratio option
* chore: typing wip
* fix: now() function returns seconds, not milliseconds anymore
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* chore(ci): add more style checks
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(ci): remove vulture as flake8 replaces it
* chore(lib): add __all__ list
* chore(ci): make flake8 happy and remove mypy
* fix: config_path is actually used in commons
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* fix(lib): add a more meaningful error message
This adds an error message to explain why calling `self.pause()` cannot work if no previous animation was played.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* fix(cli): properly rewind / previous slide after reverse
Closes#24
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* feat(cli): record presentation
As proposed in #21, it is now possible to record a presentation output to a video file, with option `--record-to="some_file.avi"`.
Closes#21
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* fix(ui): enhance window quality
This fix always resizes the frame size, as this seems to be a good cross-platform fix to the quality issue that occurs when the frame does not match the window size.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix: remove unused import
* fix: actually only resize on Windows
* feat(cli): optional interpolation flag
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore: add image fox windows quality fix
* chore(README): document Windows fix
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>