chore(lib): some fixes before new release

This commit is contained in:
Jérome Eertmans
2023-03-09 14:06:02 +01:00
parent 3da8fab145
commit 940916d4aa
5 changed files with 29 additions and 27 deletions

View File

@ -65,7 +65,7 @@ An alternative way to install Manim Slides is to clone the git repository, and i
<!-- start usage -->
Using Manim Slides is a two-step process:
1. Render animations using `Slide` (resp. `ThreeDSlide`) as a base class instead of `Scene` (resp. `ThreeDScene`), and add calls to `self.pause()` everytime you want to create a new slide.
1. Render animations using `Slide` (resp. `ThreeDSlide`) as a base class instead of `Scene` (resp. `ThreeDScene`), and add calls to `self.next_slide()` everytime you want to create a new slide.
2. Run `manim-slides` on rendered animations and display them like a *Power Point* presentation.
The documentation is available [online](https://eertmans.be/manim-slides/).
@ -87,14 +87,14 @@ class BasicExample(Slide):
dot = Dot()
self.play(GrowFromCenter(circle))
self.pause() # Waits user to press continue to go to the next slide
self.next_slide() # Waits user to press continue to go to the next slide
self.start_loop() # Start loop
self.play(MoveAlongPath(dot, circle), run_time=2, rate_func=linear)
self.end_loop() # This will loop until user inputs a key
self.play(dot.animate.move_to(ORIGIN))
self.pause() # Waits user to press continue to go to the next slide
self.next_slide() # Waits user to press continue to go to the next slide
```
First, render the animation files:

View File

@ -12,6 +12,8 @@ The following summarizes the different presentation features Manim Slides offers
| Replay slide | Yes | No | No |
| Pause animation | Yes | No | No |
| Play slide in reverse | Yes | No | No |
| Slide count | Yes | Yes (optional) | Yes (optional) |
| Animation count | Yes | No | No |
| Needs Python with Manim Slides installed | Yes | No | No |
| Requires internet access | No | Yes | No |
| Auto. play slides | Yes | Yes | Yes |

View File

@ -22,14 +22,14 @@ class BasicExample(Slide):
dot = Dot()
self.play(GrowFromCenter(circle))
self.pause() # Waits user to press continue to go to the next slide
self.next_slide() # Waits user to press continue to go to the next slide
self.start_loop() # Start loop
self.play(MoveAlongPath(dot, circle), run_time=2, rate_func=linear)
self.end_loop() # This will loop until user inputs a key
self.play(dot.animate.move_to(ORIGIN))
self.pause() # Waits user to press continue to go to the next slide
self.next_slide() # Waits user to press continue to go to the next slide
class TestFileTooLong(Slide):
@ -47,7 +47,7 @@ class TestFileTooLong(Slide):
self.play(dot.animate.move_to(direction), run_time=0.1)
self.play(dot.animate.move_to(ORIGIN), run_time=0.1)
self.pause()
self.next_slide()
class ConvertExample(Slide):
@ -77,7 +77,7 @@ class ConvertExample(Slide):
self.play(FadeIn(title))
self.pause()
self.next_slide()
code = Code(
code="""from manim import *
@ -146,10 +146,10 @@ class Example(Slide):
self.add(dot)
self.play(Indicate(dot, scale_factor=2))
self.pause()
self.next_slide()
square = Square()
self.play(Transform(dot, square))
self.pause()
self.next_slide()
self.play(Rotate(square, angle=PI/2))
""",
language="python",
@ -168,7 +168,7 @@ class Example(Slide):
self.end_loop()
square = Square()
self.play(Transform(dot, square))
self.pause()
self.next_slide()
self.play(Rotate(square, angle=PI/2))
""",
language="python",
@ -195,38 +195,38 @@ class Example(Slide):
self.play(FadeIn(code))
self.tinywait()
self.pause()
self.next_slide()
self.play(FadeIn(step, shift=RIGHT))
self.play(Transform(code, code_step_1))
self.tinywait()
self.pause()
self.next_slide()
self.play(Transform(step, step_2))
self.play(Transform(code, code_step_2))
self.tinywait()
self.pause()
self.next_slide()
self.play(Transform(step, step_3))
self.play(Transform(code, code_step_3))
self.tinywait()
self.pause()
self.next_slide()
self.play(Transform(step, step_4))
self.play(Transform(code, code_step_4))
self.tinywait()
self.pause()
self.next_slide()
self.play(Transform(step, step_5))
self.play(Transform(code, code_step_5))
self.tinywait()
self.pause()
self.next_slide()
self.play(Transform(step, step_6))
self.play(Transform(code, code_step_6))
self.play(code.animate.shift(UP), FadeIn(code_step_7), FadeIn(or_text))
self.tinywait()
self.pause()
self.next_slide()
watch_text = Text("Watch result on next slides!").shift(2 * DOWN).scale(0.5)
@ -246,10 +246,10 @@ class Example(Slide):
self.remove(dot)
self.add(square)
self.tinywait()
self.pause()
self.next_slide()
self.play(Rotate(square, angle=PI / 4))
self.tinywait()
self.pause()
self.next_slide()
learn_more_text = (
VGroup(
@ -281,7 +281,7 @@ if not MANIMGL:
self.play(GrowFromCenter(circle))
self.begin_ambient_camera_rotation(rate=75 * DEGREES / 4)
self.pause()
self.next_slide()
self.start_loop()
self.play(MoveAlongPath(dot, circle), run_time=4, rate_func=linear)
@ -291,10 +291,10 @@ if not MANIMGL:
self.move_camera(phi=75 * DEGREES, theta=30 * DEGREES)
self.play(dot.animate.move_to(ORIGIN))
self.pause()
self.next_slide()
self.play(dot.animate.move_to(RIGHT * 3))
self.pause()
self.next_slide()
self.start_loop()
self.play(MoveAlongPath(dot, circle), run_time=2, rate_func=linear)
@ -330,7 +330,7 @@ else:
updater = lambda m, dt: m.increment_theta((75 * DEGREES / 4) * dt)
frame.add_updater(updater)
self.pause()
self.next_slide()
self.start_loop()
self.play(MoveAlongPath(dot, circle), run_time=4, rate_func=linear)
@ -339,10 +339,10 @@ else:
frame.remove_updater(updater)
self.play(frame.animate.set_theta(30 * DEGREES))
self.play(dot.animate.move_to(ORIGIN))
self.pause()
self.next_slide()
self.play(dot.animate.move_to(RIGHT * 3))
self.pause()
self.next_slide()
self.start_loop()
self.play(MoveAlongPath(dot, circle), run_time=2, rate_func=linear)

View File

@ -389,7 +389,7 @@ class PowerPoint(Converter):
# From GitHub issue comment:
# - https://github.com/scanny/python-pptx/issues/427#issuecomment-856724440
def auto_play_media(media: pptx.shape.picture.Movie, loop: bool = False):
def auto_play_media(media: pptx.shapes.picture.Movie, loop: bool = False):
el_id = xpath(media.element, ".//p:cNvPr")[0].attrib["id"]
el_cnt = xpath(
media.element.getparent().getparent().getparent(),

View File

@ -151,7 +151,7 @@ class Slide(Scene): # type:ignore
"""
Creates a new slide with previous animations.
.. deprecated:: 4.9.3
.. deprecated:: 4.10.0
Use :func:`next_slide` instead.
"""
warn(