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)); }
public Connection AddDSP(DSP dsp) { IntPtr connectionHandle = IntPtr.Zero; Code returnCode = AddDSP(DangerousGetHandle(), dsp.DangerousGetHandle(), ref connectionHandle); Errors.ThrowError(returnCode); return(new Connection(connectionHandle)); }
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."); } }