fix(player): stabilize equalizer and visualizer
This commit is contained in:
@@ -69,6 +69,7 @@ class EstadoRadio extends ChangeNotifier {
|
||||
final Map<String, PresetEcualizador> _presetsEmisoraMap = {};
|
||||
PresetEcualizador _presetPrincipal = PresetEcualizador.flat;
|
||||
PresetEcualizador _presetActual = PresetEcualizador.flat;
|
||||
bool _ecualizadorActivo = true;
|
||||
|
||||
bool _cargandoPopulares = false;
|
||||
bool _cargandoBusqueda = false;
|
||||
@@ -102,6 +103,7 @@ class EstadoRadio extends ChangeNotifier {
|
||||
Stream<EstadoReproduccion> get estadoStream => audio.estadoStream;
|
||||
PresetEcualizador get presetEcualizador => _presetActual;
|
||||
PresetEcualizador get presetPrincipalEcualizador => _presetPrincipal;
|
||||
bool get ecualizadorActivo => _ecualizadorActivo;
|
||||
bool get ecualizadorDisponible => audio.ecualizadorDisponible;
|
||||
|
||||
bool get emisoraActualEsFavorita {
|
||||
@@ -172,13 +174,16 @@ class EstadoRadio extends ChangeNotifier {
|
||||
final config = await servicioEcualizador.cargar();
|
||||
_presetPrincipal = config.principal;
|
||||
_presetActual = config.principal;
|
||||
_ecualizadorActivo = config.activo;
|
||||
_presetsEmisoraMap
|
||||
..clear()
|
||||
..addAll(config.porEmisora);
|
||||
await audio.setEcualizadorActivo(_ecualizadorActivo);
|
||||
await audio.aplicarPreset(_presetPrincipal);
|
||||
} catch (_) {
|
||||
_presetPrincipal = PresetEcualizador.flat;
|
||||
_presetActual = PresetEcualizador.flat;
|
||||
_ecualizadorActivo = true;
|
||||
_presetsEmisoraMap.clear();
|
||||
}
|
||||
}
|
||||
@@ -483,6 +488,16 @@ class EstadoRadio extends ChangeNotifier {
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> cambiarEcualizadorActivo(bool activo) async {
|
||||
_ecualizadorActivo = activo;
|
||||
await servicioEcualizador.guardarActivo(activo);
|
||||
await audio.setEcualizadorActivo(activo);
|
||||
if (activo) {
|
||||
await audio.aplicarPreset(_presetActual);
|
||||
}
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
Future<void> cambiarPresetEcualizador(
|
||||
PresetEcualizador preset, {
|
||||
bool guardarPorEmisora = true,
|
||||
@@ -632,6 +647,7 @@ class EstadoRadio extends ChangeNotifier {
|
||||
ConfiguracionEcualizador(
|
||||
principal: _presetPrincipal,
|
||||
porEmisora: _presetsEmisoraMap,
|
||||
activo: _ecualizadorActivo,
|
||||
),
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user