public override bool Equals(object obj) { AlHelper.ThrowNullException(Handle); if (obj is Device) { return(Equals((Device)obj)); } return(false); }
public void Read(IntPtr buffer, int samples) { AlHelper.ThrowNullException(Handle); unsafe { Alc.CaptureSamples(Handle, buffer.ToPointer(), samples); AlHelper.GetAlcError(Alc.GetError(Handle)); } }
public override bool Equals(object obj) { AlHelper.ThrowNullException(Id); if (obj is Source) { return(Equals((Source)obj)); } return(false); }
public void Delete() { AlHelper.ThrowNullException(Id); unsafe { uint id = Id; Al.DeleteSources(1, &id); } }
public Buffer Unqueue() { AlHelper.ThrowNullException(Id); unsafe { uint bid; Al.SourceUnqueueBuffers(Id, 1, &bid); return(new OpenAL.Buffer(bid)); } }
public void Read(byte[] buffer, int samples) { AlHelper.ThrowNullException(Handle); unsafe { fixed(byte *pointer = buffer) { Alc.CaptureSamples(Handle, pointer, samples); AlHelper.GetAlcError(Alc.GetError(Handle)); } } }
public bool Close() { AlHelper.ThrowNullException(Handle); if (Alc.CloseDevice(Handle) != 0) { Handle = IntPtr.Zero; return(true); } else { return(false); } }
public void Queue(Buffer buffer) { AlHelper.ThrowNullException(Id); if (buffer == Buffer.Null) { throw new ArgumentNullException("buffer"); } unsafe { uint bid = buffer.Id; Al.SourceQueueBuffers(Id, 1, &bid); } }
public void BufferData(Format format, IntPtr data, int size, int frequency) { AlHelper.ThrowNullException(Id); if (data == IntPtr.Zero) { throw new ArgumentNullException("data"); } unsafe { uint id = Id; Al.BufferData(Id, (int)format, data.ToPointer(), size, frequency); } }
public void BufferData(Format format, byte[] data, int size, int frequency) { AlHelper.ThrowNullException(Id); if (data == null) { throw new ArgumentNullException("data"); } unsafe { fixed(byte *pointer = data) { uint id = Id; Al.BufferData(Id, (int)format, pointer, size, frequency); } } }
public void Queue(Buffer[] buffers) { AlHelper.ThrowNullException(Id); if (buffers == null) { throw new ArgumentNullException("buffers"); } unsafe { uint *bids = stackalloc uint[buffers.Length]; for (int i = 0; i < buffers.Length; ++i) { bids[i] = buffers[i].Id; } Al.SourceQueueBuffers(Id, buffers.Length, bids); } }
public Buffer[] Unqueue(int count) { AlHelper.ThrowNullException(Id); if (count <= 0) { throw new ArgumentException("count is less than or equal to 0.", "count"); } unsafe { uint *bids = stackalloc uint[count]; Al.SourceUnqueueBuffers(Id, count, bids); Buffer[] buffers = new Buffer[count]; for (int i = 0; i < count; ++i) { buffers[i] = new Buffer(bids[i]); } return(buffers); } }
public bool Equals(Source other) { AlHelper.ThrowNullException(Id); return(Id == other.Id); }
public void Destroy() { AlHelper.ThrowNullException(Handle); Alc.DestroyContext(Handle); }
public override int GetHashCode() { AlHelper.ThrowNullException(Id); return(Id.GetHashCode()); }
public void Stop() { AlHelper.ThrowNullException(Handle); Alc.CaptureStop(Handle); AlHelper.GetAlcError(Alc.GetError(Handle)); }
public void Stop() { AlHelper.ThrowNullException(Id); Al.SourceStop(Id); }
public bool Equals(Device other) { AlHelper.ThrowNullException(Handle); return(Handle == other.Handle); }
public void Rewind() { AlHelper.ThrowNullException(Id); Al.SourceRewind(Id); }
public void Play() { AlHelper.ThrowNullException(Id); Al.SourcePlay(Id); }
public void Suspend() { AlHelper.ThrowNullException(Handle); Alc.SuspendContext(Handle); }
public override string ToString() { AlHelper.ThrowNullException(Id); return(string.Format("Source: {0}", Id.ToString())); }
public override string ToString() { AlHelper.ThrowNullException(Handle); return(string.Format("Device: {0}", Handle.ToString())); }
public void Pause() { AlHelper.ThrowNullException(Id); Al.SourcePause(Id); }
public void Process() { AlHelper.ThrowNullException(Handle); Alc.ProcessContext(Handle); }