add beat cmdline arg
This commit is contained in:
parent
ee1286b892
commit
9a7705fb5e
1 changed files with 11 additions and 22 deletions
33
beamshow.py
33
beamshow.py
|
@ -5,7 +5,7 @@ from typing import Generator, List, Tuple
|
|||
import pygame as pg
|
||||
import sys
|
||||
|
||||
from effects.effect import Effect, color_wheel, Colors
|
||||
from effects.effect import Effect, Colors, color_darken, color_fadeout
|
||||
from effects.presets import Presets
|
||||
|
||||
|
||||
|
@ -26,6 +26,7 @@ class Beamshow:
|
|||
randomize_interval: float,
|
||||
fps: bool,
|
||||
display: int,
|
||||
beat_reactive: bool,
|
||||
) -> None:
|
||||
self.render3d = render3d
|
||||
self.windowed = window
|
||||
|
@ -36,6 +37,7 @@ class Beamshow:
|
|||
self.display_id = display
|
||||
self.effects: List[Effect] = []
|
||||
self.clock = pg.time.Clock()
|
||||
self.beat_reactive = beat_reactive
|
||||
|
||||
pg.display.init()
|
||||
self.window, self.background = self.initialize()
|
||||
|
@ -61,28 +63,11 @@ class Beamshow:
|
|||
background = pg.Surface(win.get_size())
|
||||
background.fill(Colors.Black)
|
||||
|
||||
self.presets = Presets(bounds=win.get_rect())
|
||||
self.presets = Presets(bounds=win.get_rect(), beat_reactive=self.beat_reactive)
|
||||
if self.randomize:
|
||||
self.effects = self.presets.randomize()
|
||||
else:
|
||||
from effects.moonflower import Moonflower
|
||||
|
||||
self.effects = [
|
||||
Moonflower(
|
||||
bounds=win.get_rect(),
|
||||
colors=(
|
||||
color_wheel(increase=75),
|
||||
color_wheel(hue=180, increase=75),
|
||||
),
|
||||
beat_color=True,
|
||||
size=win.get_height() // 4,
|
||||
outer=5,
|
||||
velocity=(1, 1),
|
||||
rot_speed=1.5,
|
||||
x_factor=(1, 1),
|
||||
y_factor=(2.2, 2.2),
|
||||
)
|
||||
]
|
||||
self.effects = self.presets.default()
|
||||
|
||||
return win, background
|
||||
|
||||
|
@ -267,10 +252,10 @@ class Beamshow:
|
|||
|
||||
current_fps = self.clock.get_fps()
|
||||
fps_slidewindow.append(current_fps)
|
||||
while len(fps_slidewindow) > 30:
|
||||
while len(fps_slidewindow) > 120:
|
||||
fps_slidewindow.pop(0)
|
||||
if self.print_fps:
|
||||
print(f"FPS: {current_fps:3d}, avg {fps_mean:3d}")
|
||||
print(f"FPS: {current_fps:5.2f}, avg {fps_mean:5.2f}")
|
||||
|
||||
|
||||
def app_main() -> None:
|
||||
|
@ -289,6 +274,9 @@ def app_main() -> None:
|
|||
argparser.add_argument(
|
||||
"-w", "--window", action="store_true", help="Display in a window"
|
||||
)
|
||||
argparser.add_argument(
|
||||
"-b", "--beat", action="store_true", help="Effects should react to beats"
|
||||
)
|
||||
argparser.add_argument(
|
||||
"--trails", action="store_true", help="Fade patterns out (trail mode)"
|
||||
)
|
||||
|
@ -325,6 +313,7 @@ def app_main() -> None:
|
|||
randomize_interval=args.randomize,
|
||||
fps=args.fps,
|
||||
display=args.display,
|
||||
beat_reactive=args.beat,
|
||||
)
|
||||
show.main()
|
||||
|
||||
|
|
Loading…
Reference in a new issue