switchBandMode method

Future<void> switchBandMode({
  1. required bool tenBand,
})

Switch between 5-band and 10-band mode

Implementation

Future<void> switchBandMode({required bool tenBand}) async {
  final currentGains = settings.gains;
  final wasEnabled = settings.isEnabled;
  final preamp = settings.preampGain;

  if (tenBand) {
    // Convert 5-band to 10-band (interpolate)
    final newGains = _interpolate5To10Bands(currentGains);
    _settings.value = EqualizerSettings.tenBand().copyWith(
      isEnabled: wasEnabled,
      preampGain: preamp,
    );
    await setAllBandGains(newGains);
  } else {
    // Convert 10-band to 5-band (average)
    final newGains = _interpolate10To5Bands(currentGains);
    _settings.value = EqualizerSettings.fiveBand().copyWith(
      isEnabled: wasEnabled,
      preampGain: preamp,
    );
    await setAllBandGains(newGains);
  }
}