示例#1
0
    public void InitFilterApplier()
    {
        //musimy zainicjalizowac tutaj, po rozpoczeciu odgrywania dzwieku w channelGroupie
        //inaczej blad
        description      = new FMOD.DSP_DESCRIPTION();
        description.read = myDSPCallback;
        FMODUnity.RuntimeManager.LowlevelSystem.createDSP(ref description, out DSPfilter);
        DSPfilter.setBypass(false);
        FMOD.RESULT r = musicCube.getChannelGroupForInstrument1().addDSP(FMOD.CHANNELCONTROL_DSP_INDEX.HEAD, DSPfilter);
        UnityEngine.Debug.Log(r);
        Channel c;

        musicCube.getChannelGroupForInstrument1().getChannel(0, out c);
        c.getFrequency(out currentSampleRate);

        description2      = new FMOD.DSP_DESCRIPTION();
        description2.read = myDSPCallback2;
        FMODUnity.RuntimeManager.LowlevelSystem.createDSP(ref description2, out DSPfilter2);
        DSPfilter2.setBypass(false);
        FMOD.RESULT r2 = musicCube.getChannelGroupForInstrument2().addDSP(FMOD.CHANNELCONTROL_DSP_INDEX.HEAD, DSPfilter2);
        UnityEngine.Debug.Log(r2);
        Channel c2;

        musicCube.getChannelGroupForInstrument2().getChannel(0, out c2);
        c2.getFrequency(out currentSampleRate);
    }
示例#2
0
 public RESULT createDSP(ref DSP_DESCRIPTION description, out DSP dsp)
 {
     dsp = null;
     IntPtr raw;
     RESULT result = System.FMOD5_System_CreateDSP(this.rawPtr, ref description, out raw);
     dsp = new DSP(raw);
     return result;
 }
示例#3
0
        public RESULT createDSP(ref DSP_DESCRIPTION description, out DSP dsp)
        {
            dsp = null;
            IntPtr raw;
            RESULT result = System.FMOD5_System_CreateDSP(this.rawPtr, ref description, out raw);

            dsp = new DSP(raw);
            return(result);
        }
示例#4
0
    public static FMOD.DSP_DESCRIPTION CreateDSPDesc(IntPtr data)
    {
        var desc = new FMOD.DSP_DESCRIPTION()
        {
            name    = "GetWaveData".ToCharArray(),
            version = 1,
            // TODO?: Instead of creating a dsp
            // for each channel, only create one
            // and set the number of buffers to
            // the number of channels.
            numinputbuffers  = 1,
            numoutputbuffers = 1,
            read             = ReadAudioData,
            userdata         = data,
        };

        return(desc);
    }
示例#5
0
    // Use this for initialization
    void Start()
    {
        EarmuffsOn = false;
        earmuffModel.SetActive(false);
        coefficientsInitialized = false;
        description             = new FMOD.DSP_DESCRIPTION();
        description.read        = DSPCallback;
        FMODUnity.RuntimeManager.LowlevelSystem.createDSP(ref description, out DSPfilter);
        DSPfilter.setBypass(true);
        FMOD.ChannelGroup channelgroup;
        FMODUnity.RuntimeManager.LowlevelSystem.getMasterChannelGroup(out channelgroup);

        FMOD.RESULT result = channelgroup.addDSP(FMOD.CHANNELCONTROL_DSP_INDEX.HEAD, DSPfilter);
        Debug.Log("Adding earmuffs DSP: " + result);

        FMOD.SPEAKERMODE speakerMode;
        int numrawspeakers;

        FMODUnity.RuntimeManager.LowlevelSystem.getSoftwareFormat(out sampleRate, out speakerMode, out numrawspeakers);
    }
示例#6
0
文件: fmod.cs 项目: huming2207/ghgame
 private static extern RESULT FMOD_System_CreateDSP(IntPtr system, ref DSP_DESCRIPTION description, ref IntPtr dsp);
示例#7
0
文件: fmod.cs 项目: huming2207/ghgame
        public RESULT createDSP(ref DSP_DESCRIPTION description, ref DSP dsp)
        {
            RESULT result = RESULT.OK;
            IntPtr dspraw = new IntPtr();
            DSP    dspnew = null;

            try
            {
                result = FMOD_System_CreateDSP(systemraw, ref description, ref dspraw);
            }
            catch
            {
                result = RESULT.ERR_INVALID_PARAM;
            }
            if (result != RESULT.OK)
            {
                return result;
            }

            if (dsp == null)
            {
                dspnew = new DSP();
                dspnew.setRaw(dspraw);
                dsp = dspnew;
            }
            else
            {
                dsp.setRaw(dspraw);
            }

            return result;
        }
示例#8
0
 //private static extern RESULT FMOD_System_RegisterCodec          (IntPtr system, out CODEC_DESCRIPTION description, out uint handle, uint priority);
 //[DllImport(VERSION.dll)]
 private static extern RESULT FMOD_System_RegisterDSP            (IntPtr system, ref DSP_DESCRIPTION description, out uint handle);
示例#9
0
        public RESULT createDSP              (ref DSP_DESCRIPTION description, out DSP dsp)
        {
            dsp = null;

            IntPtr dspraw;
            RESULT result = FMOD_System_CreateDSP(rawPtr, ref description, out dspraw);
            dsp = new DSP(dspraw);

            return result;
        }
示例#10
0
 /*
 public RESULT registerCodec(ref CODEC_DESCRIPTION description, out uint handle, uint priority)
 {
     return FMOD_System_RegisterCodec(rawPtr, ref description, out handle, priority);
 }
 */
 public RESULT registerDSP(ref DSP_DESCRIPTION description, out uint handle)
 {
     return FMOD_System_RegisterDSP(rawPtr, ref description, out handle);
 }
示例#11
0
 private static extern RESULT FMOD5_System_CreateDSP(IntPtr system, ref DSP_DESCRIPTION description, out IntPtr dsp);
示例#12
0
 private static extern RESULT FMOD5_System_RegisterDSP(IntPtr system, ref DSP_DESCRIPTION description, out uint handle);
示例#13
0
 public RESULT registerDSP(ref DSP_DESCRIPTION description, out uint handle)
 {
     return(System.FMOD5_System_RegisterDSP(this.rawPtr, ref description, out handle));
 }
        private void CreateInputReadDsp()
        {
            this.callback = this.ReadCallback;

            var dspdesc = new DSP_DESCRIPTION();

            dspdesc.numinputbuffers = 1;
            dspdesc.numoutputbuffers = 1;
            dspdesc.read = this.callback;

            this.fmodSystem.createDSP(ref dspdesc, out this.recordDsp);
        }
 public RESULT createDSP(ref DSP_DESCRIPTION description, out DSP dsp)
 {
     return(FMOD5_System_CreateDSP(handle, ref description, out dsp.handle));
 }