예제 #1
0
        public Channel.Channel PlayDSP(DSP dsp, bool paused)
        {
            IntPtr channelHandle = IntPtr.Zero;

            Code returnCode = PlayDSP(DangerousGetHandle(), Index.Free, dsp.DangerousGetHandle(), paused, ref channelHandle);

            Errors.ThrowError(returnCode);

            return(new Channel.Channel(channelHandle));
        }
예제 #2
0
        public Connection AddDSP(DSP dsp)
        {
            IntPtr connectionHandle = IntPtr.Zero;

            Code returnCode = AddDSP(DangerousGetHandle(), dsp.DangerousGetHandle(), ref connectionHandle);

            Errors.ThrowError(returnCode);

            return(new Connection(connectionHandle));
        }
예제 #3
0
        public void PlayDSP(DSP dsp, bool paused, Channel.Channel chn)
        {
            IntPtr channel = chn.DangerousGetHandle();

            Code returnCode = PlayDSP(DangerousGetHandle(), Index.Reuse, dsp.DangerousGetHandle(), paused, ref channel);

            Errors.ThrowError(returnCode);

            //This can't really happend.
            //Check just in case...
            if (chn.DangerousGetHandle() != channel)
            {
                throw new Exception("Channel handle got changed by Fmod.");
            }
        }