Skip to content

Commit 8ab33ef

Browse files
feat(cli): add more debugging messages (#180)
* feat(cli): add more debugging messages * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * chore(lib): fix msg to be more correct * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * chore(version): setup dummy version chore(version): fix * chore(ci): udpate version in __version__ too * chore(version): revert changes --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 4da0e2c commit 8ab33ef

File tree

3 files changed

+21
-1
lines changed

3 files changed

+21
-1
lines changed

manim_slides/commons.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def callback(ctx: Context, param: Parameter, value: bool) -> None:
5454
"-v",
5555
"--verbosity",
5656
type=click.Choice(
57-
["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"],
57+
["PERF", "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"],
5858
case_sensitive=False,
5959
),
6060
help="Verbosity of CLI output",

manim_slides/logger.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55

66
import logging
77

8+
from rich.console import Console
89
from rich.logging import RichHandler
10+
from rich.theme import Theme
911

1012
__all__ = ["logger", "make_logger"]
1113

@@ -33,9 +35,12 @@ def make_logger() -> logging.Logger:
3335
RichHandler.KEYWORDS = HIGHLIGHTED_KEYWORDS
3436
rich_handler = RichHandler(
3537
show_time=True,
38+
console=Console(theme=Theme({"logging.level.perf": "magenta"})),
3639
)
40+
logging.addLevelName(5, "PERF")
3741
logger = logging.getLogger("manim-slides")
3842
logger.addHandler(rich_handler)
43+
3944
return logger
4045

4146

manim_slides/present.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,21 @@ def run(self) -> None:
448448

449449
lag = now() - last_time
450450
sleep_time = 1 / self.current_presentation.fps
451+
452+
logger.log(
453+
5,
454+
f"Took {lag:.3f} seconds to process the current frame, that must play at a rate of one every {sleep_time:.3f} seconds.",
455+
)
456+
457+
if sleep_time - lag < 0:
458+
logger.warn(
459+
"The FPS rate could not be matched. "
460+
"This is normal when manually transitioning between slides.\n"
461+
"If you feel that the FPS are too low, "
462+
"consider checking this issue:\n"
463+
"https://github.com/jeertmans/manim-slides/issues/179."
464+
)
465+
451466
sleep_time = max(sleep_time - lag, 0)
452467
time.sleep(sleep_time)
453468
last_time = now()

0 commit comments

Comments
 (0)