public static void Initialize()
        {
            // We should only have one of these!
            if (ALDevice != null)
            {
                FNALoggerEXT.LogWarn("ALDevice already exists, overwriting!");
            }

            bool disableSound = Environment.GetEnvironmentVariable(
                "FNA_AUDIO_DISABLE_SOUND"
                ) == "1";

            if (disableSound)
            {
                ALDevice = new NullALDevice();
            }
            else
            {
                ALDevice = FNAPlatform.CreateALDevice();
            }

            // Populate device info
            if (ALDevice != null)
            {
                ALDevice.SetMasterVolume(MasterVolume);
                ALDevice.SetDopplerScale(DopplerScale);
                ALDevice.SetSpeedOfSound(SpeedOfSound);

                Renderers      = ALDevice.GetDevices();
                Microphone.All = ALDevice.GetCaptureDevices();

                InstancePool        = new List <SoundEffectInstance>();
                DynamicInstancePool = new List <DynamicSoundEffectInstance>();
                ActiveMics          = new List <Microphone>();
                AppDomain.CurrentDomain.ProcessExit += Dispose;
            }
            else
            {
                Renderers      = new ReadOnlyCollection <RendererDetail>(new List <RendererDetail>());
                Microphone.All = new ReadOnlyCollection <Microphone>(new List <Microphone>());
            }
        }