Skip to content

RandomMapModifier

Source: RandomMapModifier.h

RandomMapModifier

class RandomMapModifier
src/light/modifiers/RandomMapModifier.h:30

Inherits: ModifierBase

Modifier remapping every light through a random 1:1 permutation.

Public Attributes

uint8_t bpm = 6

Public Methods

virtual inline void defineControls() override : defineControls MUST be idempotent and pure: only controls_.clear() + controls_.addX().

virtual inline bool affectsPrepare(constchar *) const override : A modifier control change alters the mapping, so the owning Layer must rebuild it — the pipeline-wide rebuild path.

virtual inline void modifyLogicalSize(Coord3D &) override : STATIC, build-time, once per rebuild in child order: fold the logical box.

virtual inline bool modifyLogical(Coord3D &) const override : STATIC, build-time, per physical light in child order: fold a coordinate into this stage's logical space (in place).

virtual inline void tick() override

virtual inline bool consumeNeedsRebuild() override : A modifier whose mapping changes on a timer (RandomMap reshuffles on a beat) sets a flag in its tick(); the Layer polls this once per frame across all its enabled modifiers and rebuilds the mapping ONCE if any returns true — so several dynamic modifiers ticking together coalesce to a single rebuild rather than each re-entering prepare().

inline void reshuffle()