Ejemplo n.º 1
0
 void RecreateFilter()
 {
     if (filter != null)
     {
         source.RemoveFilter(filter);
     }
     source.AddFilter(filter = (lastFilter = FilterType) switch {
         FilterTypes.Lowpass => new Lowpass(AudioListener3D.Current.SampleRate, CenterFreq, Q, Gain),
         FilterTypes.Highpass => new Highpass(AudioListener3D.Current.SampleRate, CenterFreq, Q, Gain),
         FilterTypes.Bandpass => new Bandpass(AudioListener3D.Current.SampleRate, CenterFreq, Q, Gain),
         FilterTypes.Notch => new Notch(AudioListener3D.Current.SampleRate, CenterFreq, Q, Gain),
         FilterTypes.Allpass => new Allpass(AudioListener3D.Current.SampleRate, CenterFreq, Q, Gain),
         FilterTypes.PeakingEQ => new PeakingEQ(AudioListener3D.Current.SampleRate, CenterFreq, Q, Gain),
         FilterTypes.LowShelf => new LowShelf(AudioListener3D.Current.SampleRate, CenterFreq, Q, Gain),
         FilterTypes.HighShelf => new HighShelf(AudioListener3D.Current.SampleRate, CenterFreq, Q, Gain),
         _ => throw new FilterNotExistsException(),
     });
Ejemplo n.º 2
0
 /// <summary>
 /// Translates Cavern filter classes to MultEQ-X filter IDs.
 /// </summary>
 static int FilterTypeID(BiquadFilter filter)
 {
     if (filter is Highpass)
     {
         return(highpassEQType);
     }
     if (filter is HighShelf)
     {
         return(highShelfEQType);
     }
     if (filter is Lowpass)
     {
         return(lowpassEQType);
     }
     if (filter is LowShelf)
     {
         return(lowShelfEQType);
     }
     if (filter is PeakingEQ)
     {
         return(peakingEQType);
     }
     throw new UnsupportedFilterException();
 }