diff --git a/README.md b/README.md index 3f48a30..8ef8e79 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ An alternative way to install Manim Slides is to clone the git repository, and i 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: diff --git a/docs/source/features_table.md b/docs/source/features_table.md index e4eb0f6..da366a4 100644 --- a/docs/source/features_table.md +++ b/docs/source/features_table.md @@ -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 | diff --git a/example.py b/example.py index 9990278..4fb7afd 100644 --- a/example.py +++ b/example.py @@ -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) diff --git a/manim_slides/convert.py b/manim_slides/convert.py index 6fd785e..aa8f37d 100644 --- a/manim_slides/convert.py +++ b/manim_slides/convert.py @@ -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(), diff --git a/manim_slides/slide.py b/manim_slides/slide.py index f5a8930..1431341 100644 --- a/manim_slides/slide.py +++ b/manim_slides/slide.py @@ -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(