#include "sfxCoreAirWindows.h"

#ifdef SHR3D_SFX_CORE_AIRWINDOWS

#include "effects/Acceleration.h"
#include "effects/Acceleration2.h"
#include "effects/ADClip7.h"
#include "effects/ADClip8.h"
#include "effects/ADT.h"
#include "effects/Air.h"
#include "effects/Air2.h"
#include "effects/Air3.h"
#include "effects/Apicolypse.h"
#include "effects/AQuickVoiceClip.h"
#include "effects/AtmosphereBuss.h"
#include "effects/AtmosphereChannel.h"
#include "effects/Aura.h"
#include "effects/AutoPan.h"
#include "effects/Average.h"
#include "effects/AverMatrix.h"
#include "effects/Balanced.h"
#include "effects/BassAmp.h"
#include "effects/BassDrive.h"
#include "effects/BassKit.h"
#include "effects/Baxandall.h"
#include "effects/Baxandall2.h"
#include "effects/Beam.h"
#include "effects/BigAmp.h"
#include "effects/Biquad.h"
#include "effects/Biquad2.h"
#include "effects/BiquadDouble.h"
#include "effects/BiquadHiLo.h"
#include "effects/BiquadNonLin.h"
#include "effects/BiquadOneHalf.h"
#include "effects/BiquadPlus.h"
#include "effects/BiquadStack.h"
#include "effects/BiquadTriple.h"
#include "effects/Bite.h"
#include "effects/BitGlitter.h"
#include "effects/BitShiftGain.h"
#include "effects/BitShiftPan.h"
#include "effects/BlockParty.h"
#include "effects/BrassRider.h"
#include "effects/BrightAmbience.h"
#include "effects/BrightAmbience2.h"
#include "effects/BrightAmbience3.h"
#include "effects/BuildATPDF.h"
#include "effects/BussColors4.h"
#include "effects/ButterComp.h"
#include "effects/ButterComp2.h"
#include "effects/C5RawBuss.h"
#include "effects/C5RawChannel.h"
#include "effects/Cabs.h"
#include "effects/Calibre.h"
#include "effects/Capacitor.h"
#include "effects/Capacitor2.h"
#include "effects/Chamber.h"
#include "effects/Chamber2.h"
#include "effects/Channel4.h"
#include "effects/Channel5.h"
#include "effects/Channel6.h"
#include "effects/Channel7.h"
#include "effects/Channel8.h"
#include "effects/Channel9.h"
#include "effects/Chorus.h"
#include "effects/ChorusEnsemble.h"
#include "effects/ChromeOxide.h"
#include "effects/Cider.h"
#include "effects/ClearCoat.h"
#include "effects/ClipOnly2.h"
#include "effects/ClipSoftly.h"
#include "effects/CloudCoat.h"
#include "effects/Coils.h"
#include "effects/Coils2.h"
#include "effects/Cojones.h"
#include "effects/Compresaturator.h"
#include "effects/Console0Buss.h"
#include "effects/Console0Channel.h"
#include "effects/Console4Buss.h"
#include "effects/Console4Channel.h"
#include "effects/Console5Buss.h"
#include "effects/Console5Channel.h"
#include "effects/Console5DarkCh.h"
#include "effects/Console6Buss.h"
#include "effects/Console6Channel.h"
#include "effects/Console7Buss.h"
#include "effects/Console7Cascade.h"
#include "effects/Console7Channel.h"
#include "effects/Console7Crunch.h"
#include "effects/Console8BussHype.h"
#include "effects/Console8BussIn.h"
#include "effects/Console8BussOut.h"
#include "effects/Console8ChannelHype.h"
#include "effects/Console8ChannelIn.h"
#include "effects/Console8ChannelOut.h"
#include "effects/Console8LiteBuss.h"
#include "effects/Console8LiteChannel.h"
#include "effects/Console8SubHype.h"
#include "effects/Console8SubIn.h"
#include "effects/Console8SubOut.h"
#include "effects/Console9Buss.h"
#include "effects/Console9Channel.h"
#include "effects/ConsoleLABuss.h"
#include "effects/ConsoleLAChannel.h"
#include "effects/ConsoleMCBuss.h"
#include "effects/ConsoleMCChannel.h"
#include "effects/ConsoleMDBuss.h"
#include "effects/ConsoleMDChannel.h"
#include "effects/ConsoleXBuss.h"
#include "effects/ConsoleXChannel.h"
#include "effects/ContentHideD.h"
#include "effects/CreamCoat.h"
#include "effects/Creature.h"
#include "effects/CrickBass.h"
#include "effects/CrunchCoat.h"
#include "effects/CrunchyGrooveWear.h"
#include "effects/Crystal.h"
#include "effects/CStrip.h"
#include "effects/CStrip2.h"
#include "effects/curve.h"
#include "effects/Dark.h"
#include "effects/DarkNoise.h"
#include "effects/DCVoltage.h"
#include "effects/DeBess.h"
#include "effects/Deckwrecka.h"
#include "effects/DeEss.h"
#include "effects/DeHiss.h"
#include "effects/Density.h"
#include "effects/Density2.h"
#include "effects/DeRez.h"
#include "effects/DeRez2.h"
#include "effects/DeRez3.h"
#include "effects/Desk.h"
#include "effects/Desk4.h"
#include "effects/DigitalBlack.h"
#include "effects/Dirt.h"
#include "effects/Discontinuity.h"
#include "effects/Distance.h"
#include "effects/Distance2.h"
#include "effects/Distance3.h"
#include "effects/Distortion.h"
#include "effects/Ditherbox.h"
#include "effects/DitherFloat.h"
#include "effects/DitherMeDiskers.h"
#include "effects/DitherMeTimbers.h"
#include "effects/Doublelay.h"
#include "effects/DoublePaul.h"
#include "effects/Drive.h"
#include "effects/DrumSlam.h"
#include "effects/DubCenter.h"
#include "effects/Dubly.h"
#include "effects/DubSub.h"
#include "effects/DustBunny.h"
#include "effects/Dynamics.h"
#include "effects/Dyno.h"
#include "effects/Edge.h"
#include "effects/EdIsDim.h"
#include "effects/Elation.h"
#include "effects/ElectroHat.h"
#include "effects/Energy.h"
#include "effects/Energy2.h"
#include "effects/Ensemble.h"
#include "effects/EQ.h"
#include "effects/EveryConsole.h"
#include "effects/EverySlew.h"
#include "effects/EveryTrim.h"
#include "effects/Exciter.h"
#include "effects/Facet.h"
#include "effects/FathomFive.h"
#include "effects/FinalClip.h"
#include "effects/FireAmp.h"
#include "effects/Flipity.h"
#include "effects/Floor.h"
#include "effects/Flutter.h"
#include "effects/Focus.h"
#include "effects/Fracture.h"
#include "effects/Fracture2.h"
#include "effects/FromTape.h"
#include "effects/Galactic.h"
#include "effects/Galactic2.h"
#include "effects/GalacticVibe.h"
#include "effects/Gatelope.h"
#include "effects/GlitchShifter.h"
#include "effects/GoldenSlew.h"
#include "effects/Golem.h"
#include "effects/GrindAmp.h"
#include "effects/Gringer.h"
#include "effects/GrooveWear.h"
#include "effects/GuitarConditioner.h"
#include "effects/HardVacuum.h"
#include "effects/Hermepass.h"
#include "effects/HermeTrim.h"
#include "effects/HighGlossDither.h"
#include "effects/HighImpact.h"
#include "effects/Highpass.h"
#include "effects/Highpass2.h"
#include "effects/Holt.h"
#include "effects/Holt2.h"
#include "effects/Hombre.h"
#include "effects/Huge.h"
#include "effects/Hull.h"
#include "effects/Hull2.h"
#include "effects/Hype.h"
#include "effects/Hypersonic.h"
#include "effects/HypersonX.h"
#include "effects/Infinity.h"
#include "effects/Infinity2.h"
#include "effects/Inflamer.h"
#include "effects/Infrasonic.h"
#include "effects/Interstage.h"
#include "effects/IronOxide5.h"
#include "effects/IronOxideClassic.h"
#include "effects/IronOxideClassic2.h"
#include "effects/Isolator.h"
#include "effects/Isolator2.h"
#include "effects/Kalman.h"
#include "effects/kCathedral.h"
#include "effects/kCathedral2.h"
#include "effects/kCathedral3.h"
#include "effects/kChamberAR.h"
#include "effects/kGuitarHall.h"
#include "effects/kPlate140.h"
#include "effects/kPlate240.h"
#include "effects/kPlateA.h"
#include "effects/kPlateB.h"
#include "effects/kPlateC.h"
#include "effects/kPlateD.h"
#include "effects/LeadAmp.h"
#include "effects/LeftoMono.h"
#include "effects/LilAmp.h"
#include "effects/Logical4.h"
#include "effects/Loud.h"
#include "effects/Lowpass.h"
#include "effects/Lowpass2.h"
#include "effects/LRFlipTimer.h"
#include "effects/Luxor.h"
#include "effects/MackEQ.h"
#include "effects/Mackity.h"
#include "effects/MatrixVerb.h"
#include "effects/Melt.h"
#include "effects/MidAmp.h"
#include "effects/MidSide.h"
#include "effects/Mojo.h"
#include "effects/Monitoring.h"
#include "effects/Monitoring2.h"
#include "effects/Monitoring3.h"
#include "effects/MoNoam.h"
#include "effects/MSFlipTimer.h"
#include "effects/MultiBandDistortion.h"
#include "effects/MV.h"
#include "effects/MV2.h"
#include "effects/NaturalizeDither.h"
#include "effects/NCSeventeen.h"
#include "effects/Neverland.h"
#include "effects/Nikola.h"
#include "effects/NodeDither.h"
#include "effects/Noise.h"
#include "effects/NonlinearSpace.h"
#include "effects/NotJustAnotherCD.h"
#include "effects/NotJustAnotherDither.h"
#include "effects/OneCornerClip.h"
#include "effects/OrbitKick.h"
#include "effects/Overheads.h"
#include "effects/Pafnuty.h"
#include "effects/Pafnuty2.h"
#include "effects/Parametric.h"
#include "effects/PaulDither.h"
#include "effects/PaulWide.h"
#include "effects/PDBuss.h"
#include "effects/PDChannel.h"
#include "effects/PeaksOnly.h"
#include "effects/Pear.h"
#include "effects/Pear2.h"
#include "effects/PhaseNudge.h"
#include "effects/PitchDelay.h"
#include "effects/PitchNasty.h"
#include "effects/PlatinumSlew.h"
#include "effects/PocketVerbs.h"
#include "effects/Pockey.h"
#include "effects/Pockey2.h"
#include "effects/Podcast.h"
#include "effects/PodcastDeluxe.h"
#include "effects/Point.h"
#include "effects/Pop.h"
#include "effects/Pop2.h"
#include "effects/Pop3.h"
#include "effects/PowerSag.h"
#include "effects/PowerSag2.h"
#include "effects/Precious.h"
#include "effects/Preponderant.h"
#include "effects/Pressure4.h"
#include "effects/Pressure5.h"
#include "effects/PurestAir.h"
#include "effects/PurestConsole2Buss.h"
#include "effects/PurestConsole2Channel.h"
#include "effects/PurestConsole3Buss.h"
#include "effects/PurestConsole3Channel.h"
#include "effects/PurestConsoleBuss.h"
#include "effects/PurestConsoleChannel.h"
#include "effects/PurestDrive.h"
#include "effects/PurestEcho.h"
#include "effects/PurestFade.h"
#include "effects/PurestGain.h"
#include "effects/PurestSquish.h"
#include "effects/PurestWarm.h"
#include "effects/PurestWarm2.h"
#include "effects/Pyewacket.h"
#include "effects/RawGlitters.h"
#include "effects/RawTimbers.h"
#include "effects/Recurve.h"
#include "effects/Remap.h"
#include "effects/ResEQ.h"
#include "effects/ResEQ2.h"
#include "effects/Reverb.h"
#include "effects/Righteous4.h"
#include "effects/RightoMono.h"
#include "effects/SampleDelay.h"
#include "effects/Shape.h"
#include "effects/ShortBuss.h"
#include "effects/SideDull.h"
#include "effects/Sidepass.h"
#include "effects/Silhouette.h"
#include "effects/Sinew.h"
#include "effects/SingleEndedTriode.h"
#include "effects/Slew.h"
#include "effects/Slew2.h"
#include "effects/Slew3.h"
#include "effects/SlewOnly.h"
#include "effects/SlewSonic.h"
#include "effects/Smooth.h"
#include "effects/SoftGate.h"
#include "effects/SpatializeDither.h"
#include "effects/Spiral.h"
#include "effects/Spiral2.h"
#include "effects/Srsly.h"
#include "effects/Srsly2.h"
#include "effects/Srsly3.h"
#include "effects/StarChild.h"
#include "effects/StarChild2.h"
#include "effects/StereoChorus.h"
#include "effects/StereoDoubler.h"
#include "effects/StereoEnsemble.h"
#include "effects/StereoFX.h"
#include "effects/Stonefire.h"
#include "effects/StoneFireComp.h"
#include "effects/StudioTan.h"
#include "effects/SubsOnly.h"
#include "effects/SubTight.h"
#include "effects/Surge.h"
#include "effects/SurgeTide.h"
#include "effects/Sweeten.h"
#include "effects/Swell.h"
#include "effects/Tape.h"
#include "effects/TapeDelay.h"
#include "effects/TapeDelay2.h"
#include "effects/TapeDither.h"
#include "effects/TapeDust.h"
#include "effects/TapeFat.h"
#include "effects/Texturize.h"
#include "effects/TexturizeMS.h"
#include "effects/Thunder.h"
#include "effects/ToneSlant.h"
#include "effects/ToTape5.h"
#include "effects/ToTape6.h"
#include "effects/ToVinyl4.h"
#include "effects/TPDFDither.h"
#include "effects/TPDFWide.h"
#include "effects/TransDesk.h"
#include "effects/Tremolo.h"
#include "effects/TremoSquare.h"
#include "effects/Trianglizer.h"
#include "effects/TripleSpread.h"
#include "effects/Tube.h"
#include "effects/Tube2.h"
#include "effects/TubeDesk.h"
#include "effects/uLawDecode.h"
#include "effects/uLawEncode.h"
#include "effects/Ultrasonic.h"
#include "effects/UltrasonicLite.h"
#include "effects/UltrasonicMed.h"
#include "effects/UltrasonX.h"
#include "effects/UnBox.h"
#include "effects/VariMu.h"
#include "effects/Verbity.h"
#include "effects/Verbity2.h"
#include "effects/Vibrato.h"
#include "effects/VinylDither.h"
#include "effects/VoiceOfTheStarship.h"
#include "effects/VoiceTrick.h"
#include "effects/Weight.h"
#include "effects/Wider.h"
#include "effects/Wolfbot.h"
#include "effects/XBandpass.h"
#include "effects/XHighpass.h"
#include "effects/XLowpass.h"
#include "effects/XNotch.h"
#include "effects/XRegion.h"
#include "effects/YBandpass.h"
#include "effects/YHighpass.h"
#include "effects/YLowpass.h"
#include "effects/YNotBandpass.h"
#include "effects/YNotch.h"
#include "effects/YNotHighpass.h"
#include "effects/YNotLowpass.h"
#include "effects/YNotNotch.h"
#include "effects/ZBandpass.h"
#include "effects/ZBandpass2.h"
#include "effects/ZHighpass.h"
#include "effects/ZHighpass2.h"
#include "effects/ZLowpass.h"
#include "effects/ZLowpass2.h"
#include "effects/ZNotch.h"
#include "effects/ZNotch2.h"
#include "effects/ZOutputStage.h"
#include "effects/ZRegion.h"
#include "effects/ZRegion2.h"

#include "../../helper.h"
#include "../../typedefs.h"

#include <atomic>
#include <thread>

#define MAXINSTANCE_COUNT 16
static std::atomic<SfxCoreExtensionV1*> effect[to_underlying_(SfxCoreAirWindows_::COUNT)][MAXINSTANCE_COUNT];

static SfxCoreExtensionV1* createInstance(const SfxCoreAirWindows_ sfxCoreAirWindows, int instance)
{
  assert(instance < MAXINSTANCE_COUNT);
  assert(effect[to_underlying_(sfxCoreAirWindows)][instance].load(std::memory_order_acquire) == nullptr);

  switch (sfxCoreAirWindows)
  {
  case SfxCoreAirWindows_::Acceleration:
    return new airwinconsolidated::Acceleration::Acceleration;
  case SfxCoreAirWindows_::Acceleration2:
    return new airwinconsolidated::Acceleration2::Acceleration2;
  case SfxCoreAirWindows_::ADClip7:
    return new airwinconsolidated::ADClip7::ADClip7;
  case SfxCoreAirWindows_::ADClip8:
    return new airwinconsolidated::ADClip8::ADClip8;
  case SfxCoreAirWindows_::ADT:
    return new airwinconsolidated::ADT::ADT;
  case SfxCoreAirWindows_::Air:
    return new airwinconsolidated::Air::Air;
  case SfxCoreAirWindows_::Air2:
    return new airwinconsolidated::Air2::Air2;
  case SfxCoreAirWindows_::Air3:
    return new airwinconsolidated::Air3::Air3;
  case SfxCoreAirWindows_::Apicolypse:
    return new airwinconsolidated::Apicolypse::Apicolypse;
  case SfxCoreAirWindows_::AQuickVoiceClip:
    return new airwinconsolidated::AQuickVoiceClip::AQuickVoiceClip;
  case SfxCoreAirWindows_::AtmosphereBuss:
    return new airwinconsolidated::AtmosphereBuss::AtmosphereBuss;
  case SfxCoreAirWindows_::AtmosphereChannel:
    return new airwinconsolidated::AtmosphereChannel::AtmosphereChannel;
  case SfxCoreAirWindows_::Aura:
    return new airwinconsolidated::Aura::Aura;
  case SfxCoreAirWindows_::AutoPan:
    return new airwinconsolidated::AutoPan::AutoPan;
  case SfxCoreAirWindows_::Average:
    return new airwinconsolidated::Average::Average;
  case SfxCoreAirWindows_::AverMatrix:
    return new airwinconsolidated::AverMatrix::AverMatrix;
  case SfxCoreAirWindows_::Balanced:
    return new airwinconsolidated::Balanced::Balanced;
  case SfxCoreAirWindows_::BassAmp:
    return new airwinconsolidated::BassAmp::BassAmp;
  case SfxCoreAirWindows_::BassDrive:
    return new airwinconsolidated::BassDrive::BassDrive;
  case SfxCoreAirWindows_::BassKit:
    return new airwinconsolidated::BassKit::BassKit;
  case SfxCoreAirWindows_::Baxandall:
    return new airwinconsolidated::Baxandall::Baxandall;
  case SfxCoreAirWindows_::Baxandall2:
    return new airwinconsolidated::Baxandall2::Baxandall2;
  case SfxCoreAirWindows_::Beam:
    return new airwinconsolidated::Beam::Beam;
  case SfxCoreAirWindows_::BigAmp:
    return new airwinconsolidated::BigAmp::BigAmp;
  case SfxCoreAirWindows_::Biquad:
    return new airwinconsolidated::Biquad::Biquad;
  case SfxCoreAirWindows_::Biquad2:
    return new airwinconsolidated::Biquad2::Biquad2;
  case SfxCoreAirWindows_::BiquadDouble:
    return new airwinconsolidated::BiquadDouble::BiquadDouble;
  case SfxCoreAirWindows_::BiquadHiLo:
    return new airwinconsolidated::BiquadHiLo::BiquadHiLo;
  case SfxCoreAirWindows_::BiquadNonLin:
    return new airwinconsolidated::BiquadNonLin::BiquadNonLin;
  case SfxCoreAirWindows_::BiquadOneHalf:
    return new airwinconsolidated::BiquadOneHalf::BiquadOneHalf;
  case SfxCoreAirWindows_::BiquadPlus:
    return new airwinconsolidated::BiquadPlus::BiquadPlus;
  case SfxCoreAirWindows_::BiquadStack:
    return new airwinconsolidated::BiquadStack::BiquadStack;
  case SfxCoreAirWindows_::BiquadTriple:
    return new airwinconsolidated::BiquadTriple::BiquadTriple;
  case SfxCoreAirWindows_::Bite:
    return new airwinconsolidated::Bite::Bite;
  case SfxCoreAirWindows_::BitGlitter:
    return new airwinconsolidated::BitGlitter::BitGlitter;
  case SfxCoreAirWindows_::BitShiftGain:
    return new airwinconsolidated::BitShiftGain::BitShiftGain;
  case SfxCoreAirWindows_::BitShiftPan:
    return new airwinconsolidated::BitShiftPan::BitShiftPan;
  case SfxCoreAirWindows_::BlockParty:
    return new airwinconsolidated::BlockParty::BlockParty;
  case SfxCoreAirWindows_::BrassRider:
    return new airwinconsolidated::BrassRider::BrassRider;
  case SfxCoreAirWindows_::BrightAmbience:
    return new airwinconsolidated::BrightAmbience::BrightAmbience;
  case SfxCoreAirWindows_::BrightAmbience2:
    return new airwinconsolidated::BrightAmbience2::BrightAmbience2;
  case SfxCoreAirWindows_::BrightAmbience3:
    return new airwinconsolidated::BrightAmbience3::BrightAmbience3;
  case SfxCoreAirWindows_::BuildATPDF:
    return new airwinconsolidated::BuildATPDF::BuildATPDF;
  case SfxCoreAirWindows_::BussColors4:
    return new airwinconsolidated::BussColors4::BussColors4;
  case SfxCoreAirWindows_::ButterComp:
    return new airwinconsolidated::ButterComp::ButterComp;
  case SfxCoreAirWindows_::ButterComp2:
    return new airwinconsolidated::ButterComp2::ButterComp2;
  case SfxCoreAirWindows_::C5RawBuss:
    return new airwinconsolidated::C5RawBuss::C5RawBuss;
  case SfxCoreAirWindows_::C5RawChannel:
    return new airwinconsolidated::C5RawChannel::C5RawChannel;
  case SfxCoreAirWindows_::Cabs:
    return new airwinconsolidated::Cabs::Cabs;
  case SfxCoreAirWindows_::Calibre:
    return new airwinconsolidated::Calibre::Calibre;
  case SfxCoreAirWindows_::Capacitor:
    return new airwinconsolidated::Capacitor::Capacitor;
  case SfxCoreAirWindows_::Capacitor2:
    return new airwinconsolidated::Capacitor2::Capacitor2;
  case SfxCoreAirWindows_::Chamber:
    return new airwinconsolidated::Chamber::Chamber;
  case SfxCoreAirWindows_::Chamber2:
    return new airwinconsolidated::Chamber2::Chamber2;
  case SfxCoreAirWindows_::Channel4:
    return new airwinconsolidated::Channel4::Channel4;
  case SfxCoreAirWindows_::Channel5:
    return new airwinconsolidated::Channel5::Channel5;
  case SfxCoreAirWindows_::Channel6:
    return new airwinconsolidated::Channel6::Channel6;
  case SfxCoreAirWindows_::Channel7:
    return new airwinconsolidated::Channel7::Channel7;
  case SfxCoreAirWindows_::Channel8:
    return new airwinconsolidated::Channel8::Channel8;
  case SfxCoreAirWindows_::Channel9:
    return new airwinconsolidated::Channel9::Channel9;
  case SfxCoreAirWindows_::Chorus:
    return new airwinconsolidated::Chorus::Chorus;
  case SfxCoreAirWindows_::ChorusEnsemble:
    return new airwinconsolidated::ChorusEnsemble::ChorusEnsemble;
  case SfxCoreAirWindows_::ChromeOxide:
    return new airwinconsolidated::ChromeOxide::ChromeOxide;
  case SfxCoreAirWindows_::Cider:
    return new airwinconsolidated::Cider::Cider;
  case SfxCoreAirWindows_::ClearCoat:
    return new airwinconsolidated::ClearCoat::ClearCoat;
  case SfxCoreAirWindows_::ClipOnly2:
    return new airwinconsolidated::ClipOnly2::ClipOnly2;
  case SfxCoreAirWindows_::ClipSoftly:
    return new airwinconsolidated::ClipSoftly::ClipSoftly;
  case SfxCoreAirWindows_::CloudCoat:
    return new airwinconsolidated::CloudCoat::CloudCoat;
  case SfxCoreAirWindows_::Coils:
    return new airwinconsolidated::Coils::Coils;
  case SfxCoreAirWindows_::Coils2:
    return new airwinconsolidated::Coils2::Coils2;
  case SfxCoreAirWindows_::Cojones:
    return new airwinconsolidated::Cojones::Cojones;
  case SfxCoreAirWindows_::Compresaturator:
    return new airwinconsolidated::Compresaturator::Compresaturator;
  case SfxCoreAirWindows_::Console0Buss:
    return new airwinconsolidated::Console0Buss::Console0Buss;
  case SfxCoreAirWindows_::Console0Channel:
    return new airwinconsolidated::Console0Channel::Console0Channel;
  case SfxCoreAirWindows_::Console4Buss:
    return new airwinconsolidated::Console4Buss::Console4Buss;
  case SfxCoreAirWindows_::Console4Channel:
    return new airwinconsolidated::Console4Channel::Console4Channel;
  case SfxCoreAirWindows_::Console5Buss:
    return new airwinconsolidated::Console5Buss::Console5Buss;
  case SfxCoreAirWindows_::Console5Channel:
    return new airwinconsolidated::Console5Channel::Console5Channel;
  case SfxCoreAirWindows_::Console5DarkCh:
    return new airwinconsolidated::Console5DarkCh::Console5DarkCh;
  case SfxCoreAirWindows_::Console6Buss:
    return new airwinconsolidated::Console6Buss::Console6Buss;
  case SfxCoreAirWindows_::Console6Channel:
    return new airwinconsolidated::Console6Channel::Console6Channel;
  case SfxCoreAirWindows_::Console7Buss:
    return new airwinconsolidated::Console7Buss::Console7Buss;
  case SfxCoreAirWindows_::Console7Cascade:
    return new airwinconsolidated::Console7Cascade::Console7Cascade;
  case SfxCoreAirWindows_::Console7Channel:
    return new airwinconsolidated::Console7Channel::Console7Channel;
  case SfxCoreAirWindows_::Console7Crunch:
    return new airwinconsolidated::Console7Crunch::Console7Crunch;
  case SfxCoreAirWindows_::Console8BussHype:
    return new airwinconsolidated::Console8BussHype::Console8BussHype;
  case SfxCoreAirWindows_::Console8BussIn:
    return new airwinconsolidated::Console8BussIn::Console8BussIn;
  case SfxCoreAirWindows_::Console8BussOut:
    return new airwinconsolidated::Console8BussOut::Console8BussOut;
  case SfxCoreAirWindows_::Console8ChannelHype:
    return new airwinconsolidated::Console8ChannelHype::Console8ChannelHype;
  case SfxCoreAirWindows_::Console8ChannelIn:
    return new airwinconsolidated::Console8ChannelIn::Console8ChannelIn;
  case SfxCoreAirWindows_::Console8ChannelOut:
    return new airwinconsolidated::Console8ChannelOut::Console8ChannelOut;
  case SfxCoreAirWindows_::Console8LiteBuss:
    return new airwinconsolidated::Console8LiteBuss::Console8LiteBuss;
  case SfxCoreAirWindows_::Console8LiteChannel:
    return new airwinconsolidated::Console8LiteChannel::Console8LiteChannel;
  case SfxCoreAirWindows_::Console8SubHype:
    return new airwinconsolidated::Console8SubHype::Console8SubHype;
  case SfxCoreAirWindows_::Console8SubIn:
    return new airwinconsolidated::Console8SubIn::Console8SubIn;
  case SfxCoreAirWindows_::Console8SubOut:
    return new airwinconsolidated::Console8SubOut::Console8SubOut;
  case SfxCoreAirWindows_::Console9Buss:
    return new airwinconsolidated::Console9Buss::Console9Buss;
  case SfxCoreAirWindows_::Console9Channel:
    return new airwinconsolidated::Console9Channel::Console9Channel;
  case SfxCoreAirWindows_::ConsoleLABuss:
    return new airwinconsolidated::ConsoleLABuss::ConsoleLABuss;
  case SfxCoreAirWindows_::ConsoleLAChannel:
    return new airwinconsolidated::ConsoleLAChannel::ConsoleLAChannel;
  case SfxCoreAirWindows_::ConsoleMCBuss:
    return new airwinconsolidated::ConsoleMCBuss::ConsoleMCBuss;
  case SfxCoreAirWindows_::ConsoleMCChannel:
    return new airwinconsolidated::ConsoleMCChannel::ConsoleMCChannel;
  case SfxCoreAirWindows_::ConsoleMDBuss:
    return new airwinconsolidated::ConsoleMDBuss::ConsoleMDBuss;
  case SfxCoreAirWindows_::ConsoleMDChannel:
    return new airwinconsolidated::ConsoleMDChannel::ConsoleMDChannel;
  case SfxCoreAirWindows_::ConsoleXBuss:
    return new airwinconsolidated::ConsoleXBuss::ConsoleXBuss;
  case SfxCoreAirWindows_::ConsoleXChannel:
    return new airwinconsolidated::ConsoleXChannel::ConsoleXChannel;
  case SfxCoreAirWindows_::ContentHideD:
    return new airwinconsolidated::ContentHideD::ContentHideD;
  case SfxCoreAirWindows_::CreamCoat:
    return new airwinconsolidated::CreamCoat::CreamCoat;
  case SfxCoreAirWindows_::Creature:
    return new airwinconsolidated::Creature::Creature;
  case SfxCoreAirWindows_::CrickBass:
    return new airwinconsolidated::CrickBass::CrickBass;
  case SfxCoreAirWindows_::CrunchCoat:
    return new airwinconsolidated::CrunchCoat::CrunchCoat;
  case SfxCoreAirWindows_::CrunchyGrooveWear:
    return new airwinconsolidated::CrunchyGrooveWear::CrunchyGrooveWear;
  case SfxCoreAirWindows_::Crystal:
    return new airwinconsolidated::Crystal::Crystal;
  case SfxCoreAirWindows_::CStrip:
    return new airwinconsolidated::CStrip::CStrip;
  case SfxCoreAirWindows_::CStrip2:
    return new airwinconsolidated::CStrip2::CStrip2;
  case SfxCoreAirWindows_::curve:
    return new airwinconsolidated::curve::curve;
  case SfxCoreAirWindows_::Dark:
    return new airwinconsolidated::Dark::Dark;
  case SfxCoreAirWindows_::DarkNoise:
    return new airwinconsolidated::DarkNoise::DarkNoise;
  case SfxCoreAirWindows_::DCVoltage:
    return new airwinconsolidated::DCVoltage::DCVoltage;
  case SfxCoreAirWindows_::DeBess:
    return new airwinconsolidated::DeBess::DeBess;
  case SfxCoreAirWindows_::Deckwrecka:
    return new airwinconsolidated::Deckwrecka::Deckwrecka;
  case SfxCoreAirWindows_::DeEss:
    return new airwinconsolidated::DeEss::DeEss;
  case SfxCoreAirWindows_::DeHiss:
    return new airwinconsolidated::DeHiss::DeHiss;
  case SfxCoreAirWindows_::Density:
    return new airwinconsolidated::Density::Density;
  case SfxCoreAirWindows_::Density2:
    return new airwinconsolidated::Density2::Density2;
  case SfxCoreAirWindows_::DeRez:
    return new airwinconsolidated::DeRez::DeRez;
  case SfxCoreAirWindows_::DeRez2:
    return new airwinconsolidated::DeRez2::DeRez2;
  case SfxCoreAirWindows_::DeRez3:
    return new airwinconsolidated::DeRez3::DeRez3;
  case SfxCoreAirWindows_::Desk:
    return new airwinconsolidated::Desk::Desk;
  case SfxCoreAirWindows_::Desk4:
    return new airwinconsolidated::Desk4::Desk4;
  case SfxCoreAirWindows_::DigitalBlack:
    return new airwinconsolidated::DigitalBlack::DigitalBlack;
  case SfxCoreAirWindows_::Dirt:
    return new airwinconsolidated::Dirt::Dirt;
  case SfxCoreAirWindows_::Discontinuity:
    return new airwinconsolidated::Discontinuity::Discontinuity;
  case SfxCoreAirWindows_::Distance:
    return new airwinconsolidated::Distance::Distance;
  case SfxCoreAirWindows_::Distance2:
    return new airwinconsolidated::Distance2::Distance2;
  case SfxCoreAirWindows_::Distance3:
    return new airwinconsolidated::Distance3::Distance3;
  case SfxCoreAirWindows_::Distortion:
    return new airwinconsolidated::Distortion::Distortion;
  case SfxCoreAirWindows_::Ditherbox:
    return new airwinconsolidated::Ditherbox::Ditherbox;
  case SfxCoreAirWindows_::DitherFloat:
    return new airwinconsolidated::DitherFloat::DitherFloat;
  case SfxCoreAirWindows_::DitherMeDiskers:
    return new airwinconsolidated::DitherMeDiskers::DitherMeDiskers;
  case SfxCoreAirWindows_::DitherMeTimbers:
    return new airwinconsolidated::DitherMeTimbers::DitherMeTimbers;
  case SfxCoreAirWindows_::Doublelay:
    return new airwinconsolidated::Doublelay::Doublelay;
  case SfxCoreAirWindows_::DoublePaul:
    return new airwinconsolidated::DoublePaul::DoublePaul;
  case SfxCoreAirWindows_::Drive:
    return new airwinconsolidated::Drive::Drive;
  case SfxCoreAirWindows_::DrumSlam:
    return new airwinconsolidated::DrumSlam::DrumSlam;
  case SfxCoreAirWindows_::DubCenter:
    return new airwinconsolidated::DubCenter::DubCenter;
  case SfxCoreAirWindows_::Dubly:
    return new airwinconsolidated::Dubly::Dubly;
  case SfxCoreAirWindows_::DubSub:
    return new airwinconsolidated::DubSub::DubSub;
  case SfxCoreAirWindows_::DustBunny:
    return new airwinconsolidated::DustBunny::DustBunny;
  case SfxCoreAirWindows_::Dynamics:
    return new airwinconsolidated::Dynamics::Dynamics;
  case SfxCoreAirWindows_::Dyno:
    return new airwinconsolidated::Dyno::Dyno;
  case SfxCoreAirWindows_::Edge:
    return new airwinconsolidated::Edge::Edge;
  case SfxCoreAirWindows_::EdIsDim:
    return new airwinconsolidated::EdIsDim::EdIsDim;
  case SfxCoreAirWindows_::Elation:
    return new airwinconsolidated::Elation::Elation;
  case SfxCoreAirWindows_::ElectroHat:
    return new airwinconsolidated::ElectroHat::ElectroHat;
  case SfxCoreAirWindows_::Energy:
    return new airwinconsolidated::Energy::Energy;
  case SfxCoreAirWindows_::Energy2:
    return new airwinconsolidated::Energy2::Energy2;
  case SfxCoreAirWindows_::Ensemble:
    return new airwinconsolidated::Ensemble::Ensemble;
  case SfxCoreAirWindows_::EQ:
    return new airwinconsolidated::EQ::EQ;
  case SfxCoreAirWindows_::EveryConsole:
    return new airwinconsolidated::EveryConsole::EveryConsole;
  case SfxCoreAirWindows_::EverySlew:
    return new airwinconsolidated::EverySlew::EverySlew;
  case SfxCoreAirWindows_::EveryTrim:
    return new airwinconsolidated::EveryTrim::EveryTrim;
  case SfxCoreAirWindows_::Exciter:
    return new airwinconsolidated::Exciter::Exciter;
  case SfxCoreAirWindows_::Facet:
    return new airwinconsolidated::Facet::Facet;
  case SfxCoreAirWindows_::FathomFive:
    return new airwinconsolidated::FathomFive::FathomFive;
  case SfxCoreAirWindows_::FinalClip:
    return new airwinconsolidated::FinalClip::FinalClip;
  case SfxCoreAirWindows_::FireAmp:
    return new airwinconsolidated::FireAmp::FireAmp;
  case SfxCoreAirWindows_::Flipity:
    return new airwinconsolidated::Flipity::Flipity;
  case SfxCoreAirWindows_::Floor:
    return new airwinconsolidated::Floor::Floor;
  case SfxCoreAirWindows_::Flutter:
    return new airwinconsolidated::Flutter::Flutter;
  case SfxCoreAirWindows_::Focus:
    return new airwinconsolidated::Focus::Focus;
  case SfxCoreAirWindows_::Fracture:
    return new airwinconsolidated::Fracture::Fracture;
  case SfxCoreAirWindows_::Fracture2:
    return new airwinconsolidated::Fracture2::Fracture2;
  case SfxCoreAirWindows_::FromTape:
    return new airwinconsolidated::FromTape::FromTape;
  case SfxCoreAirWindows_::Galactic:
    return new airwinconsolidated::Galactic::Galactic;
  case SfxCoreAirWindows_::Galactic2:
    return new airwinconsolidated::Galactic2::Galactic2;
  case SfxCoreAirWindows_::GalacticVibe:
    return new airwinconsolidated::GalacticVibe::GalacticVibe;
  case SfxCoreAirWindows_::Gatelope:
    return new airwinconsolidated::Gatelope::Gatelope;
  case SfxCoreAirWindows_::GlitchShifter:
    return new airwinconsolidated::GlitchShifter::GlitchShifter;
  case SfxCoreAirWindows_::GoldenSlew:
    return new airwinconsolidated::GoldenSlew::GoldenSlew;
  case SfxCoreAirWindows_::Golem:
    return new airwinconsolidated::Golem::Golem;
  case SfxCoreAirWindows_::GrindAmp:
    return new airwinconsolidated::GrindAmp::GrindAmp;
  case SfxCoreAirWindows_::Gringer:
    return new airwinconsolidated::Gringer::Gringer;
  case SfxCoreAirWindows_::GrooveWear:
    return new airwinconsolidated::GrooveWear::GrooveWear;
  case SfxCoreAirWindows_::GuitarConditioner:
    return new airwinconsolidated::GuitarConditioner::GuitarConditioner;
  case SfxCoreAirWindows_::HardVacuum:
    return new airwinconsolidated::HardVacuum::HardVacuum;
  case SfxCoreAirWindows_::Hermepass:
    return new airwinconsolidated::Hermepass::Hermepass;
  case SfxCoreAirWindows_::HermeTrim:
    return new airwinconsolidated::HermeTrim::HermeTrim;
  case SfxCoreAirWindows_::HighGlossDither:
    return new airwinconsolidated::HighGlossDither::HighGlossDither;
  case SfxCoreAirWindows_::HighImpact:
    return new airwinconsolidated::HighImpact::HighImpact;
  case SfxCoreAirWindows_::Highpass:
    return new airwinconsolidated::Highpass::Highpass;
  case SfxCoreAirWindows_::Highpass2:
    return new airwinconsolidated::Highpass2::Highpass2;
  case SfxCoreAirWindows_::Holt:
    return new airwinconsolidated::Holt::Holt;
  case SfxCoreAirWindows_::Holt2:
    return new airwinconsolidated::Holt2::Holt2;
  case SfxCoreAirWindows_::Hombre:
    return new airwinconsolidated::Hombre::Hombre;
  case SfxCoreAirWindows_::Huge:
    return new airwinconsolidated::Huge::Huge;
  case SfxCoreAirWindows_::Hull:
    return new airwinconsolidated::Hull::Hull;
  case SfxCoreAirWindows_::Hull2:
    return new airwinconsolidated::Hull2::Hull2;
  case SfxCoreAirWindows_::Hype:
    return new airwinconsolidated::Hype::Hype;
  case SfxCoreAirWindows_::Hypersonic:
    return new airwinconsolidated::Hypersonic::Hypersonic;
  case SfxCoreAirWindows_::HypersonX:
    return new airwinconsolidated::HypersonX::HypersonX;
  case SfxCoreAirWindows_::Infinity:
    return new airwinconsolidated::Infinity::Infinity;
  case SfxCoreAirWindows_::Infinity2:
    return new airwinconsolidated::Infinity2::Infinity2;
  case SfxCoreAirWindows_::Inflamer:
    return new airwinconsolidated::Inflamer::Inflamer;
  case SfxCoreAirWindows_::Infrasonic:
    return new airwinconsolidated::Infrasonic::Infrasonic;
  case SfxCoreAirWindows_::Interstage:
    return new airwinconsolidated::Interstage::Interstage;
  case SfxCoreAirWindows_::IronOxide5:
    return new airwinconsolidated::IronOxide5::IronOxide5;
  case SfxCoreAirWindows_::IronOxideClassic:
    return new airwinconsolidated::IronOxideClassic::IronOxideClassic;
  case SfxCoreAirWindows_::IronOxideClassic2:
    return new airwinconsolidated::IronOxideClassic2::IronOxideClassic2;
  case SfxCoreAirWindows_::Isolator:
    return new airwinconsolidated::Isolator::Isolator;
  case SfxCoreAirWindows_::Isolator2:
    return new airwinconsolidated::Isolator2::Isolator2;
  case SfxCoreAirWindows_::Kalman:
    return new airwinconsolidated::Kalman::Kalman;
  case SfxCoreAirWindows_::kCathedral:
    return new airwinconsolidated::kCathedral::kCathedral;
  case SfxCoreAirWindows_::kCathedral2:
    return new airwinconsolidated::kCathedral2::kCathedral2;
  case SfxCoreAirWindows_::kCathedral3:
    return new airwinconsolidated::kCathedral3::kCathedral3;
  case SfxCoreAirWindows_::kChamberAR:
    return new airwinconsolidated::kChamberAR::kChamberAR;
  case SfxCoreAirWindows_::kGuitarHall:
    return new airwinconsolidated::kGuitarHall::kGuitarHall;
  case SfxCoreAirWindows_::kPlate140:
    return new airwinconsolidated::kPlate140::kPlate140;
  case SfxCoreAirWindows_::kPlate240:
    return new airwinconsolidated::kPlate240::kPlate240;
  case SfxCoreAirWindows_::kPlateA:
    return new airwinconsolidated::kPlateA::kPlateA;
  case SfxCoreAirWindows_::kPlateB:
    return new airwinconsolidated::kPlateB::kPlateB;
  case SfxCoreAirWindows_::kPlateC:
    return new airwinconsolidated::kPlateC::kPlateC;
  case SfxCoreAirWindows_::kPlateD:
    return new airwinconsolidated::kPlateD::kPlateD;
  case SfxCoreAirWindows_::LeadAmp:
    return new airwinconsolidated::LeadAmp::LeadAmp;
  case SfxCoreAirWindows_::LeftoMono:
    return new airwinconsolidated::LeftoMono::LeftoMono;
  case SfxCoreAirWindows_::LilAmp:
    return new airwinconsolidated::LilAmp::LilAmp;
  case SfxCoreAirWindows_::Logical4:
    return new airwinconsolidated::Logical4::Logical4;
  case SfxCoreAirWindows_::Loud:
    return new airwinconsolidated::Loud::Loud;
  case SfxCoreAirWindows_::Lowpass:
    return new airwinconsolidated::Lowpass::Lowpass;
  case SfxCoreAirWindows_::Lowpass2:
    return new airwinconsolidated::Lowpass2::Lowpass2;
  case SfxCoreAirWindows_::LRFlipTimer:
    return new airwinconsolidated::LRFlipTimer::LRFlipTimer;
  case SfxCoreAirWindows_::Luxor:
    return new airwinconsolidated::Luxor::Luxor;
  case SfxCoreAirWindows_::MackEQ:
    return new airwinconsolidated::MackEQ::MackEQ;
  case SfxCoreAirWindows_::Mackity:
    return new airwinconsolidated::Mackity::Mackity;
  case SfxCoreAirWindows_::MatrixVerb:
    return new airwinconsolidated::MatrixVerb::MatrixVerb;
  case SfxCoreAirWindows_::Melt:
    return new airwinconsolidated::Melt::Melt;
  case SfxCoreAirWindows_::MidAmp:
    return new airwinconsolidated::MidAmp::MidAmp;
  case SfxCoreAirWindows_::MidSide:
    return new airwinconsolidated::MidSide::MidSide;
  case SfxCoreAirWindows_::Mojo:
    return new airwinconsolidated::Mojo::Mojo;
  case SfxCoreAirWindows_::Monitoring:
    return new airwinconsolidated::Monitoring::Monitoring;
  case SfxCoreAirWindows_::Monitoring2:
    return new airwinconsolidated::Monitoring2::Monitoring2;
  case SfxCoreAirWindows_::Monitoring3:
    return new airwinconsolidated::Monitoring3::Monitoring3;
  case SfxCoreAirWindows_::MoNoam:
    return new airwinconsolidated::MoNoam::MoNoam;
  case SfxCoreAirWindows_::MSFlipTimer:
    return new airwinconsolidated::MSFlipTimer::MSFlipTimer;
  case SfxCoreAirWindows_::MultiBandDistortion:
    return new airwinconsolidated::MultiBandDistortion::MultiBandDistortion;
  case SfxCoreAirWindows_::MV:
    return new airwinconsolidated::MV::MV;
  case SfxCoreAirWindows_::MV2:
    return new airwinconsolidated::MV2::MV2;
  case SfxCoreAirWindows_::NaturalizeDither:
    return new airwinconsolidated::NaturalizeDither::NaturalizeDither;
  case SfxCoreAirWindows_::NCSeventeen:
    return new airwinconsolidated::NCSeventeen::NCSeventeen;
  case SfxCoreAirWindows_::Neverland:
    return new airwinconsolidated::Neverland::Neverland;
  case SfxCoreAirWindows_::Nikola:
    return new airwinconsolidated::Nikola::Nikola;
  case SfxCoreAirWindows_::NodeDither:
    return new airwinconsolidated::NodeDither::NodeDither;
  case SfxCoreAirWindows_::Noise:
    return new airwinconsolidated::Noise::Noise;
  case SfxCoreAirWindows_::NonlinearSpace:
    return new airwinconsolidated::NonlinearSpace::NonlinearSpace;
  case SfxCoreAirWindows_::NotJustAnotherCD:
    return new airwinconsolidated::NotJustAnotherCD::NotJustAnotherCD;
  case SfxCoreAirWindows_::NotJustAnotherDither:
    return new airwinconsolidated::NotJustAnotherDither::NotJustAnotherDither;
  case SfxCoreAirWindows_::OneCornerClip:
    return new airwinconsolidated::OneCornerClip::OneCornerClip;
  case SfxCoreAirWindows_::OrbitKick:
    return new airwinconsolidated::OrbitKick::OrbitKick;
  case SfxCoreAirWindows_::Overheads:
    return new airwinconsolidated::Overheads::Overheads;
  case SfxCoreAirWindows_::Pafnuty:
    return new airwinconsolidated::Pafnuty::Pafnuty;
  case SfxCoreAirWindows_::Pafnuty2:
    return new airwinconsolidated::Pafnuty2::Pafnuty2;
  case SfxCoreAirWindows_::Parametric:
    return new airwinconsolidated::Parametric::Parametric;
  case SfxCoreAirWindows_::PaulDither:
    return new airwinconsolidated::PaulDither::PaulDither;
  case SfxCoreAirWindows_::PaulWide:
    return new airwinconsolidated::PaulWide::PaulWide;
  case SfxCoreAirWindows_::PDBuss:
    return new airwinconsolidated::PDBuss::PDBuss;
  case SfxCoreAirWindows_::PDChannel:
    return new airwinconsolidated::PDChannel::PDChannel;
  case SfxCoreAirWindows_::PeaksOnly:
    return new airwinconsolidated::PeaksOnly::PeaksOnly;
  case SfxCoreAirWindows_::Pear:
    return new airwinconsolidated::Pear::Pear;
  case SfxCoreAirWindows_::Pear2:
    return new airwinconsolidated::Pear2::Pear2;
  case SfxCoreAirWindows_::PhaseNudge:
    return new airwinconsolidated::PhaseNudge::PhaseNudge;
  case SfxCoreAirWindows_::PitchDelay:
    return new airwinconsolidated::PitchDelay::PitchDelay;
  case SfxCoreAirWindows_::PitchNasty:
    return new airwinconsolidated::PitchNasty::PitchNasty;
  case SfxCoreAirWindows_::PlatinumSlew:
    return new airwinconsolidated::PlatinumSlew::PlatinumSlew;
  case SfxCoreAirWindows_::PocketVerbs:
    return new airwinconsolidated::PocketVerbs::PocketVerbs;
  case SfxCoreAirWindows_::Pockey:
    return new airwinconsolidated::Pockey::Pockey;
  case SfxCoreAirWindows_::Pockey2:
    return new airwinconsolidated::Pockey2::Pockey2;
  case SfxCoreAirWindows_::Podcast:
    return new airwinconsolidated::Podcast::Podcast;
  case SfxCoreAirWindows_::PodcastDeluxe:
    return new airwinconsolidated::PodcastDeluxe::PodcastDeluxe;
  case SfxCoreAirWindows_::Point:
    return new airwinconsolidated::Point::Point;
  case SfxCoreAirWindows_::Pop:
    return new airwinconsolidated::Pop::Pop;
  case SfxCoreAirWindows_::Pop2:
    return new airwinconsolidated::Pop2::Pop2;
  case SfxCoreAirWindows_::Pop3:
    return new airwinconsolidated::Pop3::Pop3;
  case SfxCoreAirWindows_::PowerSag:
    return new airwinconsolidated::PowerSag::PowerSag;
  case SfxCoreAirWindows_::PowerSag2:
    return new airwinconsolidated::PowerSag2::PowerSag2;
  case SfxCoreAirWindows_::Precious:
    return new airwinconsolidated::Precious::Precious;
  case SfxCoreAirWindows_::Preponderant:
    return new airwinconsolidated::Preponderant::Preponderant;
  case SfxCoreAirWindows_::Pressure4:
    return new airwinconsolidated::Pressure4::Pressure4;
  case SfxCoreAirWindows_::Pressure5:
    return new airwinconsolidated::Pressure5::Pressure5;
  case SfxCoreAirWindows_::PurestAir:
    return new airwinconsolidated::PurestAir::PurestAir;
  case SfxCoreAirWindows_::PurestConsole2Buss:
    return new airwinconsolidated::PurestConsole2Buss::PurestConsole2Buss;
  case SfxCoreAirWindows_::PurestConsole2Channel:
    return new airwinconsolidated::PurestConsole2Channel::PurestConsole2Channel;
  case SfxCoreAirWindows_::PurestConsole3Buss:
    return new airwinconsolidated::PurestConsole3Buss::PurestConsole3Buss;
  case SfxCoreAirWindows_::PurestConsole3Channel:
    return new airwinconsolidated::PurestConsole3Channel::PurestConsole3Channel;
  case SfxCoreAirWindows_::PurestConsoleBuss:
    return new airwinconsolidated::PurestConsoleBuss::PurestConsoleBuss;
  case SfxCoreAirWindows_::PurestConsoleChannel:
    return new airwinconsolidated::PurestConsoleChannel::PurestConsoleChannel;
  case SfxCoreAirWindows_::PurestDrive:
    return new airwinconsolidated::PurestDrive::PurestDrive;
  case SfxCoreAirWindows_::PurestEcho:
    return new airwinconsolidated::PurestEcho::PurestEcho;
  case SfxCoreAirWindows_::PurestFade:
    return new airwinconsolidated::PurestFade::PurestFade;
  case SfxCoreAirWindows_::PurestGain:
    return new airwinconsolidated::PurestGain::PurestGain;
  case SfxCoreAirWindows_::PurestSquish:
    return new airwinconsolidated::PurestSquish::PurestSquish;
  case SfxCoreAirWindows_::PurestWarm:
    return new airwinconsolidated::PurestWarm::PurestWarm;
  case SfxCoreAirWindows_::PurestWarm2:
    return new airwinconsolidated::PurestWarm2::PurestWarm2;
  case SfxCoreAirWindows_::Pyewacket:
    return new airwinconsolidated::Pyewacket::Pyewacket;
  case SfxCoreAirWindows_::RawGlitters:
    return new airwinconsolidated::RawGlitters::RawGlitters;
  case SfxCoreAirWindows_::RawTimbers:
    return new airwinconsolidated::RawTimbers::RawTimbers;
  case SfxCoreAirWindows_::Recurve:
    return new airwinconsolidated::Recurve::Recurve;
  case SfxCoreAirWindows_::Remap:
    return new airwinconsolidated::Remap::Remap;
  case SfxCoreAirWindows_::ResEQ:
    return new airwinconsolidated::ResEQ::ResEQ;
  case SfxCoreAirWindows_::ResEQ2:
    return new airwinconsolidated::ResEQ2::ResEQ2;
  case SfxCoreAirWindows_::Reverb:
    return new airwinconsolidated::Reverb::Reverb;
  case SfxCoreAirWindows_::Righteous4:
    return new airwinconsolidated::Righteous4::Righteous4;
  case SfxCoreAirWindows_::RightoMono:
    return new airwinconsolidated::RightoMono::RightoMono;
  case SfxCoreAirWindows_::SampleDelay:
    return new airwinconsolidated::SampleDelay::SampleDelay;
  case SfxCoreAirWindows_::Shape:
    return new airwinconsolidated::Shape::Shape;
  case SfxCoreAirWindows_::ShortBuss:
    return new airwinconsolidated::ShortBuss::ShortBuss;
  case SfxCoreAirWindows_::SideDull:
    return new airwinconsolidated::SideDull::SideDull;
  case SfxCoreAirWindows_::Sidepass:
    return new airwinconsolidated::Sidepass::Sidepass;
  case SfxCoreAirWindows_::Silhouette:
    return new airwinconsolidated::Silhouette::Silhouette;
  case SfxCoreAirWindows_::Sinew:
    return new airwinconsolidated::Sinew::Sinew;
  case SfxCoreAirWindows_::SingleEndedTriode:
    return new airwinconsolidated::SingleEndedTriode::SingleEndedTriode;
  case SfxCoreAirWindows_::Slew:
    return new airwinconsolidated::Slew::Slew;
  case SfxCoreAirWindows_::Slew2:
    return new airwinconsolidated::Slew2::Slew2;
  case SfxCoreAirWindows_::Slew3:
    return new airwinconsolidated::Slew3::Slew3;
  case SfxCoreAirWindows_::SlewOnly:
    return new airwinconsolidated::SlewOnly::SlewOnly;
  case SfxCoreAirWindows_::SlewSonic:
    return new airwinconsolidated::SlewSonic::SlewSonic;
  case SfxCoreAirWindows_::Smooth:
    return new airwinconsolidated::Smooth::Smooth;
  case SfxCoreAirWindows_::SoftGate:
    return new airwinconsolidated::SoftGate::SoftGate;
  case SfxCoreAirWindows_::SpatializeDither:
    return new airwinconsolidated::SpatializeDither::SpatializeDither;
  case SfxCoreAirWindows_::Spiral:
    return new airwinconsolidated::Spiral::Spiral;
  case SfxCoreAirWindows_::Spiral2:
    return new airwinconsolidated::Spiral2::Spiral2;
  case SfxCoreAirWindows_::Srsly:
    return new airwinconsolidated::Srsly::Srsly;
  case SfxCoreAirWindows_::Srsly2:
    return new airwinconsolidated::Srsly2::Srsly2;
  case SfxCoreAirWindows_::Srsly3:
    return new airwinconsolidated::Srsly3::Srsly3;
  case SfxCoreAirWindows_::StarChild:
    return new airwinconsolidated::StarChild::StarChild;
  case SfxCoreAirWindows_::StarChild2:
    return new airwinconsolidated::StarChild2::StarChild2;
  case SfxCoreAirWindows_::StereoChorus:
    return new airwinconsolidated::StereoChorus::StereoChorus;
  case SfxCoreAirWindows_::StereoDoubler:
    return new airwinconsolidated::StereoDoubler::StereoDoubler;
  case SfxCoreAirWindows_::StereoEnsemble:
    return new airwinconsolidated::StereoEnsemble::StereoEnsemble;
  case SfxCoreAirWindows_::StereoFX:
    return new airwinconsolidated::StereoFX::StereoFX;
  case SfxCoreAirWindows_::Stonefire:
    return new airwinconsolidated::Stonefire::Stonefire;
  case SfxCoreAirWindows_::StoneFireComp:
    return new airwinconsolidated::StoneFireComp::StoneFireComp;
  case SfxCoreAirWindows_::StudioTan:
    return new airwinconsolidated::StudioTan::StudioTan;
  case SfxCoreAirWindows_::SubsOnly:
    return new airwinconsolidated::SubsOnly::SubsOnly;
  case SfxCoreAirWindows_::SubTight:
    return new airwinconsolidated::SubTight::SubTight;
  case SfxCoreAirWindows_::Surge:
    return new airwinconsolidated::Surge::Surge;
  case SfxCoreAirWindows_::SurgeTide:
    return new airwinconsolidated::SurgeTide::SurgeTide;
  case SfxCoreAirWindows_::Sweeten:
    return new airwinconsolidated::Sweeten::Sweeten;
  case SfxCoreAirWindows_::Swell:
    return new airwinconsolidated::Swell::Swell;
  case SfxCoreAirWindows_::Tape:
    return new airwinconsolidated::Tape::Tape;
  case SfxCoreAirWindows_::TapeDelay:
    return new airwinconsolidated::TapeDelay::TapeDelay;
  case SfxCoreAirWindows_::TapeDelay2:
    return new airwinconsolidated::TapeDelay2::TapeDelay2;
  case SfxCoreAirWindows_::TapeDither:
    return new airwinconsolidated::TapeDither::TapeDither;
  case SfxCoreAirWindows_::TapeDust:
    return new airwinconsolidated::TapeDust::TapeDust;
  case SfxCoreAirWindows_::TapeFat:
    return new airwinconsolidated::TapeFat::TapeFat;
  case SfxCoreAirWindows_::Texturize:
    return new airwinconsolidated::Texturize::Texturize;
  case SfxCoreAirWindows_::TexturizeMS:
    return new airwinconsolidated::TexturizeMS::TexturizeMS;
  case SfxCoreAirWindows_::Thunder:
    return new airwinconsolidated::Thunder::Thunder;
  case SfxCoreAirWindows_::ToneSlant:
    return new airwinconsolidated::ToneSlant::ToneSlant;
  case SfxCoreAirWindows_::ToTape5:
    return new airwinconsolidated::ToTape5::ToTape5;
  case SfxCoreAirWindows_::ToTape6:
    return new airwinconsolidated::ToTape6::ToTape6;
  case SfxCoreAirWindows_::ToVinyl4:
    return new airwinconsolidated::ToVinyl4::ToVinyl4;
  case SfxCoreAirWindows_::TPDFDither:
    return new airwinconsolidated::TPDFDither::TPDFDither;
  case SfxCoreAirWindows_::TPDFWide:
    return new airwinconsolidated::TPDFWide::TPDFWide;
  case SfxCoreAirWindows_::TransDesk:
    return new airwinconsolidated::TransDesk::TransDesk;
  case SfxCoreAirWindows_::Tremolo:
    return new airwinconsolidated::Tremolo::Tremolo;
  case SfxCoreAirWindows_::TremoSquare:
    return new airwinconsolidated::TremoSquare::TremoSquare;
  case SfxCoreAirWindows_::Trianglizer:
    return new airwinconsolidated::Trianglizer::Trianglizer;
  case SfxCoreAirWindows_::TripleSpread:
    return new airwinconsolidated::TripleSpread::TripleSpread;
  case SfxCoreAirWindows_::Tube:
    return new airwinconsolidated::Tube::Tube;
  case SfxCoreAirWindows_::Tube2:
    return new airwinconsolidated::Tube2::Tube2;
  case SfxCoreAirWindows_::TubeDesk:
    return new airwinconsolidated::TubeDesk::TubeDesk;
  case SfxCoreAirWindows_::uLawDecode:
    return new airwinconsolidated::uLawDecode::uLawDecode;
  case SfxCoreAirWindows_::uLawEncode:
    return new airwinconsolidated::uLawEncode::uLawEncode;
  case SfxCoreAirWindows_::Ultrasonic:
    return new airwinconsolidated::Ultrasonic::Ultrasonic;
  case SfxCoreAirWindows_::UltrasonicLite:
    return new airwinconsolidated::UltrasonicLite::UltrasonicLite;
  case SfxCoreAirWindows_::UltrasonicMed:
    return new airwinconsolidated::UltrasonicMed::UltrasonicMed;
  case SfxCoreAirWindows_::UltrasonX:
    return new airwinconsolidated::UltrasonX::UltrasonX;
  case SfxCoreAirWindows_::UnBox:
    return new airwinconsolidated::UnBox::UnBox;
  case SfxCoreAirWindows_::VariMu:
    return new airwinconsolidated::VariMu::VariMu;
  case SfxCoreAirWindows_::Verbity:
    return new airwinconsolidated::Verbity::Verbity;
  case SfxCoreAirWindows_::Verbity2:
    return new airwinconsolidated::Verbity2::Verbity2;
  case SfxCoreAirWindows_::Vibrato:
    return new airwinconsolidated::Vibrato::Vibrato;
  case SfxCoreAirWindows_::VinylDither:
    return new airwinconsolidated::VinylDither::VinylDither;
  case SfxCoreAirWindows_::VoiceOfTheStarship:
    return new airwinconsolidated::VoiceOfTheStarship::VoiceOfTheStarship;
  case SfxCoreAirWindows_::VoiceTrick:
    return new airwinconsolidated::VoiceTrick::VoiceTrick;
  case SfxCoreAirWindows_::Weight:
    return new airwinconsolidated::Weight::Weight;
  case SfxCoreAirWindows_::Wider:
    return new airwinconsolidated::Wider::Wider;
  case SfxCoreAirWindows_::Wolfbot:
    return new airwinconsolidated::Wolfbot::Wolfbot;
  case SfxCoreAirWindows_::XBandpass:
    return new airwinconsolidated::XBandpass::XBandpass;
  case SfxCoreAirWindows_::XHighpass:
    return new airwinconsolidated::XHighpass::XHighpass;
  case SfxCoreAirWindows_::XLowpass:
    return new airwinconsolidated::XLowpass::XLowpass;
  case SfxCoreAirWindows_::XNotch:
    return new airwinconsolidated::XNotch::XNotch;
  case SfxCoreAirWindows_::XRegion:
    return new airwinconsolidated::XRegion::XRegion;
  case SfxCoreAirWindows_::YBandpass:
    return new airwinconsolidated::YBandpass::YBandpass;
  case SfxCoreAirWindows_::YHighpass:
    return new airwinconsolidated::YHighpass::YHighpass;
  case SfxCoreAirWindows_::YLowpass:
    return new airwinconsolidated::YLowpass::YLowpass;
  case SfxCoreAirWindows_::YNotBandpass:
    return new airwinconsolidated::YNotBandpass::YNotBandpass;
  case SfxCoreAirWindows_::YNotch:
    return new airwinconsolidated::YNotch::YNotch;
  case SfxCoreAirWindows_::YNotHighpass:
    return new airwinconsolidated::YNotHighpass::YNotHighpass;
  case SfxCoreAirWindows_::YNotLowpass:
    return new airwinconsolidated::YNotLowpass::YNotLowpass;
  case SfxCoreAirWindows_::YNotNotch:
    return new airwinconsolidated::YNotNotch::YNotNotch;
  case SfxCoreAirWindows_::ZBandpass:
    return new airwinconsolidated::ZBandpass::ZBandpass;
  case SfxCoreAirWindows_::ZBandpass2:
    return new airwinconsolidated::ZBandpass2::ZBandpass2;
  case SfxCoreAirWindows_::ZHighpass:
    return new airwinconsolidated::ZHighpass::ZHighpass;
  case SfxCoreAirWindows_::ZHighpass2:
    return new airwinconsolidated::ZHighpass2::ZHighpass2;
  case SfxCoreAirWindows_::ZLowpass:
    return new airwinconsolidated::ZLowpass::ZLowpass;
  case SfxCoreAirWindows_::ZLowpass2:
    return new airwinconsolidated::ZLowpass2::ZLowpass2;
  case SfxCoreAirWindows_::ZNotch:
    return new airwinconsolidated::ZNotch::ZNotch;
  case SfxCoreAirWindows_::ZNotch2:
    return new airwinconsolidated::ZNotch2::ZNotch2;
  case SfxCoreAirWindows_::ZOutputStage:
    return new airwinconsolidated::ZOutputStage::ZOutputStage;
  case SfxCoreAirWindows_::ZRegion:
    return new airwinconsolidated::ZRegion::ZRegion;
  case SfxCoreAirWindows_::ZRegion2:
    return new airwinconsolidated::ZRegion2::ZRegion2;
  default:
    unreachable();
  }
}

void SfxCoreAirWindows::loadParameters(const SfxCoreAirWindows_ sfxCoreAirWindows, int instance, const float* params, int paramCount)
{
  assert(instance < MAXINSTANCE_COUNT);
  if (effect[to_underlying_(sfxCoreAirWindows)][instance].load(std::memory_order_acquire) == nullptr)
    effect[to_underlying_(sfxCoreAirWindows)][instance].store(createInstance(sfxCoreAirWindows, instance), std::memory_order_release);
  assert(effect[to_underlying_(sfxCoreAirWindows)][instance] != nullptr);
  if (paramCount > 0)
  {
    SfxCoreExtensionV1* sfx = effect[to_underlying_(sfxCoreAirWindows)][instance].load(std::memory_order_acquire);
    assert(sfx->getParameterCount() == paramCount);
    for (int i = 0; i < paramCount; ++i)
      sfx->setParameter(i, params[i]);
  }
}

std::string SfxCoreAirWindows::saveParameters(const SfxCoreAirWindows_ sfxCoreAirWindows, int instance)
{
  assert(instance < MAXINSTANCE_COUNT);
  assert(effect[to_underlying_(sfxCoreAirWindows)][instance] != nullptr);
  std::string str;
  SfxCoreExtensionV1* sfx = effect[to_underlying_(sfxCoreAirWindows)][instance].load(std::memory_order_acquire);
  const int parameterCount = sfx->getParameterCount();
  if (parameterCount >= 1)
  {
    str = F32_To_String(sfx->getParameter(0));
    for (int i = 1; i < parameterCount; ++i)
      str += ',' + F32_To_String(sfx->getParameter(i));
  }
  return str;
}

void SfxCoreAirWindows::processBlock(const SfxCoreAirWindows_ sfxCoreAirWindows, int instance, float** inBlock, float** outBlock, int blockSize)
{
  assert(instance < MAXINSTANCE_COUNT);
  SfxCoreExtensionV1* sfx = effect[to_underlying_(sfxCoreAirWindows)][instance].load(std::memory_order_acquire);
  if (sfx == nullptr)
    return; // this is early return is possible, because the audio thread
  sfx->processBlock(inBlock, outBlock, blockSize);
}

int SfxCoreAirWindows::getParameterCount(const SfxCoreAirWindows_ sfxCoreAirWindows)
{
  SfxCoreExtensionV1* sfx = effect[to_underlying_(sfxCoreAirWindows)][0].load(std::memory_order_acquire);
  assert(sfx != nullptr);
  return sfx->getParameterCount();
}

float SfxCoreAirWindows::getParameter(const SfxCoreAirWindows_ sfxCoreAirWindows, int instance, int param)
{
  assert(instance < MAXINSTANCE_COUNT);
  SfxCoreExtensionV1* sfx = effect[to_underlying_(sfxCoreAirWindows)][instance].load(std::memory_order_acquire);
  assert(sfx != nullptr);
  return sfx->getParameter(param);
}

void SfxCoreAirWindows::setParameter(const SfxCoreAirWindows_ sfxCoreAirWindows, int instance, int param, float value)
{
  assert(instance < MAXINSTANCE_COUNT);
  SfxCoreExtensionV1* sfx = effect[to_underlying_(sfxCoreAirWindows)][instance].load(std::memory_order_acquire);
  assert(sfx != nullptr);
  sfx->setParameter(param, value);
}

void SfxCoreAirWindows::getParameterLabel(const SfxCoreAirWindows_ sfxCoreAirWindows, int instance, int param, char* text)
{
  assert(instance < MAXINSTANCE_COUNT);
  SfxCoreExtensionV1* sfx = effect[to_underlying_(sfxCoreAirWindows)][instance].load(std::memory_order_acquire);
  assert(sfx != nullptr);
  sfx->getParameterLabel(param, text);
}

void SfxCoreAirWindows::getParameterName(const SfxCoreAirWindows_ sfxCoreAirWindows, int instance, int param, char* text)
{
  assert(instance < MAXINSTANCE_COUNT);
  SfxCoreExtensionV1* sfx = effect[to_underlying_(sfxCoreAirWindows)][instance].load(std::memory_order_acquire);
  assert(sfx != nullptr);
  sfx->getParameterName(param, text);
}

void SfxCoreAirWindows::getParameterDisplay(const SfxCoreAirWindows_ sfxCoreAirWindows, int instance, int param, char* text)
{
  assert(instance < MAXINSTANCE_COUNT);
  SfxCoreExtensionV1* sfx = effect[to_underlying_(sfxCoreAirWindows)][instance].load(std::memory_order_acquire);
  assert(sfx != nullptr);
  sfx->getParameterDisplay(param, text);
}

#endif // SHR3D_SFX_CORE_AIRWINDOWS
