diff --git a/subwave_nowplaying.star b/subwave_nowplaying.star index 6f10272..f053e95 100644 --- a/subwave_nowplaying.star +++ b/subwave_nowplaying.star @@ -370,8 +370,8 @@ def _zoom_transformation(art_bytes, zoom_scale, zoom_position, subsonic_id): # (top/height as a fraction of ART_SLOT) are loosely modeled on the one # keyframe that was visible: roughly the top third and an overlapping # middle band, each about 30% of the frame's height. -GLITCH_HOLD_TICKS = 5 # ~250ms per jitter state at the default 50ms/tick -GLITCH_PAUSE_TICKS = 15 # ~750ms of clean art between bursts +GLITCH_HOLD_TICKS = 2 # ~100ms per jitter state at the default 50ms/tick +GLITCH_PAUSE_TICKS = 3 # ~150ms of clean art between bursts GLITCH_STATES_PER_CYCLE = 4 # A larger pool than any one burst needs, so repeated cycles (see @@ -480,14 +480,14 @@ def _glitch_jitter(zoom): sequence = [] for cycle_index in range(GLITCH_REPEATS): for top1, h1, shift1, hue1, top2, h2, shift2, hue2 in _glitch_states_for_cycle(cycle_index): - # The art itself nudging along with the bands (not just the - # bands moving over a static image) was tried here via - # _glitch_base_jitter, splitting the difference between the - # two bands' own shift values -- commented out, not deleted, - # pending a call on whether it's actually working well. - # base_shift = int((shift1 + shift2) / 2.0) + # The art itself nudges along with the bands, not just the + # bands moving over a static image. Capped to +-1px (rather + # than splitting the difference between the two bands' own, + # larger shift values) -- a full-frame shift reads very + # differently than a thin band shifting, so it stays subtle. + base_shift = max(-1, min(1, int((shift1 + shift2) / 2.0))) state = render.Stack(children = [ - # _glitch_base_jitter(zoom, base_shift), + _glitch_base_jitter(zoom, base_shift), _glitch_band(zoom, top1, h1, shift1, hue1), _glitch_band(zoom, top2, h2, shift2, hue2), ])