import 'package:agora_rtc_engine/agora_rtc_engine.dart';

/// VoiceChangeConfig
const VoiceChangeConfig = [
  {
    'alertTitle': 'Set Chat Beautifier',
    'options': [
      {'text': 'Off', 'type': VoiceBeautifierPreset.voiceBeautifierOff},
      {
        'text': 'FemaleFresh',
        'type': VoiceBeautifierPreset.chatBeautifierFresh
      },
      {
        'text': 'FemaleVitality',
        'type': VoiceBeautifierPreset.chatBeautifierVitality,
      },
      {
        'text': 'Vigorous',
        'type': VoiceBeautifierPreset.chatBeautifierMagnetic
      },
    ],
  },
  {
    'alertTitle': 'Set Timbre Transformation',
    'options': [
      {'text': 'Off', 'type': VoiceBeautifierPreset.voiceBeautifierOff},
      {
        'text': 'Vigorous',
        'type': VoiceBeautifierPreset.timbreTransformationVigorous,
      },
      {'text': 'Deep', 'type': VoiceBeautifierPreset.timbreTransformationDeep},
      {
        'text': 'Mellow',
        'type': VoiceBeautifierPreset.timbreTransformationMellow,
      },
      {
        'text': 'Falsetto',
        'type': VoiceBeautifierPreset.timbreTransformationFalsetto,
      },
      {'text': 'Full', 'type': VoiceBeautifierPreset.timbreTransformationFull},
      {
        'text': 'Clear',
        'type': VoiceBeautifierPreset.timbreTransformationClear
      },
      {
        'text': 'Resounding',
        'type': VoiceBeautifierPreset.timbreTransformationResounding,
      },
      {
        'text': 'Ringing',
        'type': VoiceBeautifierPreset.timbreTransformationRinging,
      },
    ],
  },
  {
    'alertTitle': 'Set Style Transformation',
    'options': [
      {'text': 'Off', 'type': AudioEffectPreset.audioEffectOff},
      {'text': 'Pop', 'type': AudioEffectPreset.styleTransformationPopular},
      {'text': 'R&B', 'type': AudioEffectPreset.styleTransformationRnb},
    ],
  },
  {
    'alertTitle': 'Set Voice Changer',
    'options': [
      {'text': 'Off', 'type': AudioEffectPreset.audioEffectOff},
      {
        'text': 'FxUncle',
        'type': AudioEffectPreset.voiceChangerEffectUncle,
      },
      {
        'text': 'Old Man',
        'type': AudioEffectPreset.voiceChangerEffectOldman,
      },
      {
        'text': 'Baby Boy',
        'type': AudioEffectPreset.voiceChangerEffectBoy,
      },
      {
        'text': 'FxSister',
        'type': AudioEffectPreset.voiceChangerEffectSister,
      },
      {
        'text': 'Baby Girl',
        'type': AudioEffectPreset.voiceChangerEffectGirl,
      },
      {
        'text': 'ZhuBaJie',
        'type': AudioEffectPreset.voiceChangerEffectPigking,
      },
      {'text': 'Hulk', 'type': AudioEffectPreset.voiceChangerEffectHulk},
    ],
  },
  {
    'alertTitle': 'Set Room Acoustics',
    'options': [
      {'text': 'Off', 'type': AudioEffectPreset.audioEffectOff},
      {'text': 'KTV', 'type': AudioEffectPreset.RoomAcousticsKTV},
      {'text': 'Concert', 'type': AudioEffectPreset.roomAcousticsVocalConcert},
      {'text': 'Studio', 'type': AudioEffectPreset.roomAcousticsStudio},
      {'text': 'Phonograph', 'type': AudioEffectPreset.roomAcousticsPhonograph},
      {
        'text': 'Virtual Stereo',
        'type': AudioEffectPreset.roomAcousticsVirtualStereo,
      },
      {'text': 'Spacial', 'type': AudioEffectPreset.roomAcousticsSpacial},
      {'text': 'Ethereal', 'type': AudioEffectPreset.roomAcousticsEthereal},
      {
        'text': '3D Voice',
        'type': AudioEffectPreset.roomAcoustics3dVoice,
      },
    ],
  },
  {
    'alertTitle': 'Set Pitch Correction',
    'options': [
      {'text': 'Off', 'type': AudioEffectPreset.audioEffectOff},
      {'text': 'Pitch Correction', 'type': AudioEffectPreset.pitchCorrection},
    ],
  },
];

/// FreqOptions
const FreqOptions = [
  {'text': '31Hz', 'type': AudioEqualizationBandFrequency.Band31},
  {'text': '62Hz', 'type': AudioEqualizationBandFrequency.Band62},
  {'text': '125Hz', 'type': AudioEqualizationBandFrequency.Band125},
  {'text': '250Hz', 'type': AudioEqualizationBandFrequency.Band250},
  {'text': '500Hz', 'type': AudioEqualizationBandFrequency.Band500},
  {'text': '1KHz', 'type': AudioEqualizationBandFrequency.Band1K},
  {'text': '2KHz', 'type': AudioEqualizationBandFrequency.Band2K},
  {'text': '4KHz', 'type': AudioEqualizationBandFrequency.Band4K},
  {'text': '8KHz', 'type': AudioEqualizationBandFrequency.Band8K},
  {'text': '16KHz', 'type': AudioEqualizationBandFrequency.Band16K},
];

/// ReverbKeyOptions
const ReverbKeyOptions = [
  {
    'text': 'Dry Level',
    'type': AudioReverbType.DryLevel,
    'min': -20.0,
    'max': 10.0
  },
  {
    'text': 'Wet Level',
    'type': AudioReverbType.WetLevel,
    'min': -20.0,
    'max': 10.0
  },
  {
    'text': 'Room Size',
    'type': AudioReverbType.RoomSize,
    'min': 0.0,
    'max': 100.0
  },
  {
    'text': 'Wet Delay',
    'type': AudioReverbType.WetDelay,
    'min': 0.0,
    'max': 200.0
  },
  {
    'text': 'Strength',
    'type': AudioReverbType.Strength,
    'min': 0.0,
    'max': 100.0
  },
];
