Soft, soothing UI sound kit.
Every cue is a pure (or almost pure) sine in the warm ~250–1000Hz range, with a rounded onset (no click: attacks of 3ms+ on short cues, longer on bigger ones), a smooth linear fade to silence, very light harmonics and a low gain. Only swipe and scroll use noise, kept dark, airy and quiet.
Envelopes are sized so attack + decay <= duration - release, which means
every cue fades fully out instead of being cut off (another click source).
Cues still differ in duration, pitch and sweep direction so each one is
recognisable on its own (verified by test/feedback/distinct_cues_test.dart).
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
-
all
→ Map<
String, SoundRecipe> -
no setter
-
allWithVariants
→ Map<
String, SoundRecipe> -
All base cues plus their
@mechanical/@subtlevariants.no setter
Static Methods
-
forProfile(
SoundRecipe base, FeedbackProfile profile) → SoundRecipe -
Derives the profile-specific recipe for
base: -
variantKey(
String cue, FeedbackProfile profile) → String - Cue-key suffix for the crisper/softer per-profile variants.
Constants
- errorBlip → const SoundRecipe
- Gentle "mm-mm": two soft, low sine hums stepping down G4 -> E4. A calm "not quite" rather than a buzz.
- pop → const SoundRecipe
- Soft round bubble: low sine dropping 440 -> 260Hz.
- scroll → const SoundRecipe
- Reserved library cue (not emitted by scroll UI — swipe only): a short, quiet, airy whisper opening slightly 520 -> 640Hz.
- selection → const SoundRecipe
- Selection change: a light, slightly rising sine 740 -> 800Hz.
- successChime → const SoundRecipe
- Warm two-tone confirmation: C5 then G5 (a perfect fifth up), each a soft-onset bell that fades smoothly to silence.
- swipe → const SoundRecipe
- Soft breath on page swipe: dark low-passed noise easing 440 -> 240Hz with a slow swell and fade. FeedbackEngine also attenuates playback.
- tap → const SoundRecipe
- Soft touch: warm sine easing down 660 -> 520Hz.
- tick → const SoundRecipe
- Gentle detent: short, flat A5 sine with a soft rounded onset.
- toggleOff → const SoundRecipe
- Switch off: soft sine gliding down a perfect fifth, 780 -> 520Hz (mirror of toggleOn).
- toggleOn → const SoundRecipe
- Switch on: soft sine gliding up a perfect fifth, 520 -> 780Hz.