// Safety
What holds the strobe down.
This app paints on the beat, and the per-beat flash is the part of it that can hurt somebody. Exactly two things cap that flash. One is a setting an operator turns on. The other is a ceiling a scene declares for itself, which no control can raise. Below is which is which, which scenes carry which, and what neither of them claims.
The two ceilings
The setting anyone can turn on
The panel carries a Reduce flashing switch. In the app’s own words: “Caps the per-beat strobe for photosensitivity. On automatically when macOS Reduce Motion is set.”
It starts off. A fresh install has it off, and so does an install old enough to predate the setting. If macOS Reduce Motion is on, the app switches this on for you — when the window appears, and again the moment you enable it. Nothing in the app switches it back.
Global. Applies to every scene, and only while it is on.
The ceiling a scene declares
A scene can carry a safety profile of its own. When it does, the renderer folds that profile into the controls at a single seam, after every path a value can arrive by — a panel slider, an OSC or MCP command, or the scene’s own modulation routes. The setting above is not consulted. The app’s note on the constant says it outright: the reduce-flashing toggle is not required for a profiled scene.
The fold only ever lowers. An operator who has already chosen something gentler keeps theirs, and no control path can go the other way.
Per scene. Applies whether or not anyone touched a setting — and it cannot be switched off, because there is nothing to switch.
What a profile caps
2 profiles ship, named for the packs they were written for. Each one bounds the same 5 controls — the ones the panel offers for pace and light.
| Control | An operator can set | Children | Broadcast |
|---|---|---|---|
| Speed | 0–3 | 1 → 1.5 | 1 → 2 |
| Glow | 0–1 | 0.75 | 0.85 |
| Bloom width | 0.5–2 | 1.4 | 1.6 |
| Intensity | 0–2 | 1.4 | 1.6 |
| Beat flash | 0–1 | 0.15 | 0.15 |
Four of those are a straight minimum: ask for more, get the ceiling. Speed is the exception and is written as a pair — it is untouched up to the first number, then compresses smoothly toward the second and never arrives, so the slider still travels and still responds; it just cannot reach the strobe zone.
Beat flash is the same value in both profiles, and it is the same value the setting caps to — 0.15 on a lever whose own range is 0–1. One constant serves both mechanisms, in the app for exactly this reason, so the two can never drift apart.
Which scenes carry one
26 of the 83 scenes in the library declare a profile. Room by room, that lands like this.
| Room | Scenes | Declaring a profile |
|---|---|---|
| Children | 37 | 16 |
| Broadcast/Social Media/Creator | 59 | 10 |
| Home | 55 | 8 |
| Corporate | 49 | 6 |
| Live Music | 51 | 0 |
| Fitness/Meditation/Worship | 37 | 0 |
| Dance Music | 27 | 0 |
- Children — 16 scenes. Every one of them reaches Children and no other room.
- Broadcast — 10 scenes. They are spread across Corporate, Broadcast/Social Media/Creator, Home — a scene carries its profile into every room it reaches.
Read the right-hand column as the smaller number it is. A room is not covered because profiled scenes sit in it: the scenes beside them that declare nothing are exactly as available, exactly as easy to pick, and on those the only ceiling is the setting.
3 rooms have none at all — Live Music, Fitness/Meditation/Worship, Dance Music. That is a real gap and it is printed here rather than rounded away. In those rooms the ceiling is the setting, and somebody has to turn it on.
What this is not
- It is not a piece of paper.
- There is no standards test for flashing in this product, and none in this site’s test suite. We have no document to hand you, and nothing here should be read as one. What this page describes is a mechanism, in the detail needed to judge it.
- It is not a claim about your room.
- Screen size, brightness, distance and what a scene happens to be drawing all change what a flash does to the people in front of it, and no software knows any of that. Watch the real screen at the real brightness before you leave it running. The photosensitivity warning in our terms is the one to read first.
- It is not a claim about shape.
- The 5 controls a profile lowers are pace and light. A profile does not change what a scene draws, or how much of the frame moves when the beat lands.
- It is not on everywhere by default.
- The setting starts off, and 57 of the 83 scenes declare nothing. For a ceiling on all of them, turn the switch on — or turn on macOS Reduce Motion, which turns it on for you.
The questions this gets asked
- Does a scene’s own ceiling need the setting switched on?
- No, and that is the whole point of it. The app’s own note on the constant reads “the reduce-flashing toggle is not required for a profiled scene”. On a scene that declares a profile, the ceiling is applied by the renderer whether or not anybody has touched a setting.
- Can an operator turn a scene’s ceiling off?
- There is no control for it. The profile is compiled into the scene, and the renderer folds it in after every control path — a panel slider, an OSC or MCP command, or the scene’s own modulation routes all arrive before the fold. The fold only ever lowers, so what an operator can do is set something gentler still, and keep it.
- What about the 57 scenes that declare nothing?
- On those, the ceiling is the setting — Reduce flashing in the panel, or macOS Reduce Motion, which switches it on for you. Underneath both there is a Beat flash slider that goes all the way down to 0, which removes the per-beat flash entirely.
- Is any of this a medical or a standards claim?
- No. There is no standards test for flashing in this product and none in this site’s test suite, so there is nothing to point at and we do not imply otherwise. What this page describes is a mechanism, and every figure on it is re-read out of the app’s released source each time the suite runs.
- How much of this can I check without taking our word for it?
- The figures, all of them. They are generated from the app release behind the download button, and a spec re-derives them from that same release with its own parsers on every run — so a change to a ceiling in the app turns this page red rather than leaving the old number standing. What no test can check is your room, which is why the paragraph above asks you to watch the screen.
- What should I set before I leave a room running unattended?
- Switch on Reduce flashing, then watch the actual screen at the actual brightness for a few minutes. If the room is a public one, our terms carry the photosensitivity warning in full — read it before you decide, not after.
Read next: children and sensory · installations and large format · where the setting lives in the panel