EqualizerController class

Controller implementation for audio equalization

Provides state management and settings persistence for the equalizer. Can be used by neom_audio_player and other audio modules.

Inheritance
Implemented types

Constructors

EqualizerController()

Properties

bandCount int
Number of bands supported
no setteroverride
bands List<EqualizerBand>
List of available frequency bands
no setteroverride
currentPreset EqualizerPreset
Current preset being used
no setteroverride
hashCode int
The hash code for this object.
no setterinherited
initialized bool
Checks whether the controller has already been initialized.
no setterinherited
isClosed bool
Checks whether the controller has already been closed.
no setterinherited
isDisposed bool
no setterinherited
isEnabled bool
Whether the equalizer is currently enabled
no setteroverride
isEnabledObs → RxBool
Observable for UI binding
no setter
isInitialized bool
Whether the equalizer is initialized
no setteroverride
listenersLength int
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
settings EqualizerSettings
Current equalizer settings
no setteroverride
settingsObs → Rxn<EqualizerSettings>
no setter

Methods

addListener(SintStateUpdate listener) → Disposer
Register a closure to be called when the object notifies its listeners.
inherited
addListenerId(Object? key, SintStateUpdate listener) → Disposer
inherited
applyPreset(EqualizerPreset preset) Future<void>
Apply a preset
override
applySettings(EqualizerSettings newSettings) Future<void>
Apply complete settings object
override
attachBridge(NativeEqualizerBridge bridge) Future<void>
Attach a NativeEqualizerBridge so that all band gain changes are forwarded to the platform equalizer in real-time.
containsListener(SintStateUpdate listener) bool
inherited
debounce<T>(RxInterface<T> rx, void callback(T), {Duration duration = const Duration(milliseconds: 400)}) → void
Calls callback after rx stops changing for duration. Useful for search-as-you-type, form validation, etc.
inherited
deleteSavedSettings(String name) Future<void>
Delete saved settings
override
detachBridge() → void
Detach the native bridge (e.g. when the player is disposed).
dispose() → void
inherited
disposeEqualizer() Future<void>
Dispose resources and save settings
ever<T>(RxInterface<T> rx, void callback(T)) → void
Calls callback every time rx changes. Auto-cancels on controller disposal.
inherited
getGainAtFrequency(double frequency) double
Get gain for a specific frequency (interpolated)
getSavedSettingNames() Future<List<String>>
Get list of saved setting names
override
initialize({bool tenBand = false}) Future<bool>
Initialize the equalizer
override
interval<T>(RxInterface<T> rx, void callback(T), {Duration duration = const Duration(seconds: 1)}) → void
Calls callback at most once per duration, ignoring intermediate changes. Useful for rate-limiting UI updates.
inherited
loadSettings(String name) Future<EqualizerSettings?>
Load saved settings
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
once<T>(RxInterface<T> rx, void callback(T)) → void
Calls callback only the first time rx changes, then cancels.
inherited
onClose() → void
Called before onDelete method. onClose might be used to dispose resources used by the controller. Like closing events, or streams before the controller is destroyed. Or dispose objects that can potentially create some memory leaks, like TextEditingControllers, AnimationControllers. Might be useful as well to persist some data on disk.
override
onDelete() → void
inherited
onInit() → void
Called immediately after the widget is allocated in memory. You might use this to initialize something for the controller.
override
onReady() → void
Called 1 frame after onInit(). It is the perfect place to enter navigation events, like snackbar, dialogs, or a new route, or async request.
inherited
onStart() → void
Called at the exact moment the widget is allocated in memory. It uses an internal "callable" type, to avoid any @overrides in subclasses. This method should be internal and is required to define the lifetime cycle of the subclass.
inherited
refresh() → void
inherited
refreshGroup(Object id) → void
inherited
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that the object notifies.
inherited
removeListenerId(Object id, VoidCallback listener) → void
inherited
reportAdd(VoidCallback disposer) → void
inherited
reportRead() → void
inherited
reset() Future<void>
Reset to flat response
override
saveSettings(String name) Future<void>
Save current settings
override
setAllBandGains(List<double> gains) Future<void>
Set all band gains at once
override
setBandGain(int bandIndex, double gain) Future<void>
Set gain for a specific band
override
setBassBoost(bool enabled, {double intensity = 0.5}) Future<void>
Enable/disable bass boost
override
setEnabled(bool enabled) Future<void>
Enable or disable the equalizer
override
setPreampGain(double gain) Future<void>
Set pre-amplifier gain
override
setVirtualizer(bool enabled, {double strength = 0.5}) Future<void>
Enable/disable virtualizer
override
switchBandMode({required bool tenBand}) Future<void>
Switch between 5-band and 10-band mode
toString() String
A string representation of this object.
inherited
update([List<Object>? ids, bool condition = true]) → void
Notifies listeners to update the UI.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited