コード例 #1
0
        /// <summary>
        /// Check and fix any problem with hardware.
        /// </summary>
        private void CheckDriver()
        {
            //Get number of driver available
            int DriverNumber = 0;

            CheckError(m_System.getNumDrivers(ref DriverNumber));

            //Driver checking
            #region Solve hardware problems
            //If there's 0 driver, no sound
            if (DriverNumber <= 0)
            {
                CheckError(m_System.setOutput(OUTPUTTYPE.NOSOUND));
            }
            else
            {
                //Get driver capability
                int         MinFreq = 0, MaxFreq = 0;
                CAPS        Capability  = CAPS.NONE;
                SPEAKERMODE Speakermode = SPEAKERMODE.STEREO;
                CheckError(m_System.getDriverCaps(0, ref Capability, ref MinFreq, ref MaxFreq, ref Speakermode));

                //Set spearker mode according to the driver
                CheckError(m_System.setSpeakerMode(Speakermode));

                //Set buffer if not using hardware accceleration
                if ((Capability & CAPS.HARDWARE_EMULATED) == CAPS.HARDWARE_EMULATED)
                {
                    CheckError(m_System.setDSPBufferSize(Global.EMULATED_BUFFERSIZE, Global.EMULATED_BUFFERCOUNT));
                }

                //Get user driver data
                GUID          Guid       = new GUID();
                StringBuilder DriverName = new StringBuilder(Global.MAX_DRIVERNAME);
                CheckError(m_System.getDriverInfo(0, DriverName, Global.MAX_DRIVERNAME, ref Guid));

                //If driver is sigmatel
                if (DriverName.Equals(new StringBuilder((Global.SIGMATEL_DRIVERNAME))))
                {
                    //Fix crackling
                    CheckError(m_System.setSoftwareFormat(
                                   Global.SIGMATEL_SAMPLERATE,
                                   SOUND_FORMAT.PCMFLOAT,
                                   0,
                                   0,
                                   DSP_RESAMPLER.LINEAR));
                }
            }
            #endregion
        }
コード例 #2
0
ファイル: fmod.cs プロジェクト: huming2207/ghgame
 private static extern RESULT FMOD_System_GetRecordDriverCaps(IntPtr system, int id, ref CAPS caps, ref int minfrequency, ref int maxfrequency);
コード例 #3
0
ファイル: fmod.cs プロジェクト: huming2207/ghgame
 private static extern RESULT FMOD_System_GetDriverCaps(IntPtr system, int id, ref CAPS caps, ref int minfrequency, ref int maxfrequency, ref SPEAKERMODE controlpanelspeakermode);
コード例 #4
0
ファイル: fmod.cs プロジェクト: huming2207/ghgame
 public RESULT getRecordDriverCaps(int id, ref CAPS caps, ref int minfrequency, ref int maxfrequency)
 {
     return FMOD_System_GetRecordDriverCaps(systemraw, id, ref caps, ref minfrequency, ref maxfrequency);
 }
コード例 #5
0
ファイル: fmod.cs プロジェクト: huming2207/ghgame
 public RESULT getDriverCaps(int id, ref CAPS caps, ref int minfrequency, ref int maxfrequency, ref SPEAKERMODE controlpanelspeakermode)
 {
     return FMOD_System_GetDriverCaps(systemraw, id, ref caps, ref minfrequency, ref maxfrequency, ref controlpanelspeakermode);
 }
コード例 #6
0
ファイル: fmod.cs プロジェクト: matyicsapo/MultiVerse
 private static extern RESULT FMOD_System_GetDriverCaps(IntPtr system, int id, ref CAPS caps, ref int controlpaneloutputrate, ref SPEAKERMODE controlpanelspeakermode);
コード例 #7
0
ファイル: fmod.cs プロジェクト: matyicsapo/MultiVerse
 public RESULT getDriverCaps(int id, ref CAPS caps, ref int controlpaneloutputrate, ref SPEAKERMODE controlpanelspeakermode)
 {
     return FMOD_System_GetDriverCaps(systemraw, id, ref caps, ref controlpaneloutputrate, ref controlpanelspeakermode);
 }
コード例 #8
0
 public static extern int GetDeviceCaps(IntPtr hdc, CAPS iIndex);
コード例 #9
0
        private static async Task AutoModAsync(SocketCommandContext Context, bool isCommand)
        {
            Task <bool>[] isZalgo =
            {
                Zalgo.IsZalgoAsync(Context),
                configDatabase.AntiZalgo.GetAntiZalgoAsync(Context.Guild)
            };
            Task <bool>[] isSpam =
            {
                Spam.IsSpamAsync(Context),
                configDatabase.AntiSpam.GetAntiSpamAsync(Context.Guild)
            };
            Task <bool>[] isSingleSpam =
            {
                Spam.IsSingleSpamAsync(Context),
                configDatabase.AntiSingleSpam.GetAntiSingleSpamAsync(Context.Guild)
            };
            Task <bool>[] isMassMention =
            {
                MassMention.IsMassMentionAsync(Context),
                configDatabase.AntiMassMention.GetAntiMassMentionAsync(Context.Guild)
            };
            Task <bool>[] isCaps =
            {
                CAPS.ISCAPSASYNC(Context),
                configDatabase.AntiCaps.GetAntiCapsAsync(Context.Guild)
            };
            Task <bool>[] isInvite =
            {
                Invite.HasInviteAsync(Context),
                configDatabase.AntiInvite.GetAntiInviteAsync(Context.Guild)
            };
            Task <bool>[] isLink =
            {
                Link.IsLinkAsync(Context),
                configDatabase.AntiLink.GetAntiLinkAsync(Context.Guild)
            };

            if (await configDatabase.AutoSurveillance.GetAutoSurveillanceAsync(Context.Guild))
            {
                if (await AutoSurveillanceAsync(Context))
                {
                    return;
                }
            }

            if ((await Task.WhenAll(isZalgo)).All(x => x))
            {
                await new Zalgo(Context).WarnAsync();
            }
            else if (((await Task.WhenAll(isSpam)).All(x => x) || (await Task.WhenAll(isSingleSpam)).All(x => x)) && !isCommand)
            {
                await new Spam(Context).WarnAsync();
            }
            else if ((await Task.WhenAll(isMassMention)).All(x => x))
            {
                await new MassMention(Context).WarnAsync();
            }
            else if ((await Task.WhenAll(isCaps)).All(x => x))
            {
                await new CAPS(Context).WARNASYNC();
            }
            else if ((await Task.WhenAll(isInvite)).All(x => x))
            {
                await new Invite(Context).RemoveAsync();
            }
            else if ((await Task.WhenAll(isLink)).All(x => x))
            {
                await new Link(Context).RemoveAsync();
            }
        }
コード例 #10
0
 public bool HasFlag(CAPS flag)
 {
     return((Caps & (uint)flag) == (uint)flag);
 }