Files
crtr/Assets/Plugins/Cryville.Audio.xml
2025-06-21 01:39:47 +08:00

921 lines
44 KiB
XML

<?xml version="1.0"?>
<doc>
<assembly>
<name>Cryville.Audio</name>
</assembly>
<members>
<member name="T:Cryville.Audio.AudioClient">
<summary>
Audio client that manages connection to a <see cref="T:Cryville.Audio.IAudioDevice" />.
</summary>
</member>
<member name="M:Cryville.Audio.AudioClient.Dispose">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AudioClient.Dispose(System.Boolean)">
<summary>
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
</summary>
<param name="disposing">Whether the method is being called by user.</param>
</member>
<member name="P:Cryville.Audio.AudioClient.Device">
<summary>
The device of the client.
</summary>
</member>
<member name="P:Cryville.Audio.AudioClient.Format">
<summary>
The current wave format of the connection.
</summary>
</member>
<member name="P:Cryville.Audio.AudioClient.BufferSize">
<summary>
The buffer size in frames.
</summary>
</member>
<member name="P:Cryville.Audio.AudioClient.MaximumLatency">
<summary>
The maximum latency of the connection in milliseconds.
</summary>
<remarks>
<para>May be zero if the API does not provide this value.</para>
</remarks>
</member>
<member name="P:Cryville.Audio.AudioClient.Status">
<summary>
The status of the connection.
</summary>
</member>
<member name="P:Cryville.Audio.AudioClient.Position">
<summary>
The current position of the device stream in seconds.
</summary>
</member>
<member name="P:Cryville.Audio.AudioClient.BufferPosition">
<summary>
The current position of the buffer in seconds.
</summary>
</member>
<member name="P:Cryville.Audio.AudioClient.Source">
<summary>
The audio source.
</summary>
</member>
<member name="M:Cryville.Audio.AudioClient.Start">
<summary>
Starts the wave data transmission.
</summary>
<remarks>
If <see cref="P:Cryville.Audio.AudioClient.Source" /> is <see langword="null" /> while playing, the output will be silence.
</remarks>
</member>
<member name="M:Cryville.Audio.AudioClient.Pause">
<summary>
Pauses the wave data transmission.
</summary>
<remarks>
This method does not reset <see cref="P:Cryville.Audio.AudioClient.Position" /> and <see cref="P:Cryville.Audio.AudioClient.BufferPosition" />.
</remarks>
</member>
<member name="M:Cryville.Audio.AudioClient.Close">
<summary>
Closes the connection.
</summary>
</member>
<member name="T:Cryville.Audio.AudioClientStatus">
<summary>
Status of the <see cref="T:Cryville.Audio.AudioClient" />.
</summary>
</member>
<member name="F:Cryville.Audio.AudioClientStatus.Idle">
<summary>
The <see cref="T:Cryville.Audio.AudioClient" /> is open but not yet started, or paused.
</summary>
</member>
<member name="F:Cryville.Audio.AudioClientStatus.Starting">
<summary>
The <see cref="T:Cryville.Audio.AudioClient" /> is being started.
</summary>
</member>
<member name="F:Cryville.Audio.AudioClientStatus.Playing">
<summary>
The <see cref="T:Cryville.Audio.AudioClient" /> is started and playing.
</summary>
</member>
<member name="F:Cryville.Audio.AudioClientStatus.Pausing">
<summary>
The <see cref="T:Cryville.Audio.AudioClient" /> is being paused.
</summary>
</member>
<member name="F:Cryville.Audio.AudioClientStatus.Closing">
<summary>
The <see cref="T:Cryville.Audio.AudioClient" /> is being closed.
</summary>
</member>
<member name="F:Cryville.Audio.AudioClientStatus.Closed">
<summary>
The <see cref="T:Cryville.Audio.AudioClient" /> is closed.
</summary>
</member>
<member name="T:Cryville.Audio.AudioShareMode">
<summary>
The share mode of an audio connection.
</summary>
</member>
<member name="F:Cryville.Audio.AudioShareMode.Shared">
<summary>
The device is shared with other connections, at the cost of a higher latency than <see cref="F:Cryville.Audio.AudioShareMode.Exclusive" />. The output data is mixed by the audio service.
</summary>
</member>
<member name="F:Cryville.Audio.AudioShareMode.Exclusive">
<summary>
The device is exclusive to the current connection, providing a low latency.
</summary>
<remarks>To initialize an exclusive connection, the device must allow exclusive mode and must not be being used in either modes at the moment.</remarks>
</member>
<member name="T:Cryville.Audio.AudioStream">
<summary>
Audio stream.
</summary>
</member>
<member name="P:Cryville.Audio.AudioStream.Format">
<summary>
The wave format.
</summary>
</member>
<member name="P:Cryville.Audio.AudioStream.BufferSize">
<summary>
The buffer size in frames.
</summary>
</member>
<member name="P:Cryville.Audio.AudioStream.EndOfData">
<summary>
Whether if the stream has reached the end of data.
</summary>
</member>
<member name="M:Cryville.Audio.AudioStream.SetFormat(Cryville.Audio.WaveFormat,System.Int32)">
<summary>
Sets the wave format and the buffer size of this audio stream.
</summary>
<param name="format">The wave format.</param>
<param name="bufferSize">The buffer size in frames.</param>
<exception cref="T:System.InvalidOperationException">This method has already been called successfully once on the audio stream.</exception>
<exception cref="T:System.NotSupportedException"><paramref name="format" /> is not supported by the audio stream.</exception>
</member>
<member name="M:Cryville.Audio.AudioStream.OnSetFormat">
<summary>
Called when the wave format and the buffer size is determined.
</summary>
</member>
<member name="P:Cryville.Audio.AudioStream.DefaultFormat">
<summary>
The default wave format of the stream.
</summary>
</member>
<member name="M:Cryville.Audio.AudioStream.IsFormatSupported(Cryville.Audio.WaveFormat)">
<summary>
Gets whether <paramref name="format" /> is supported by the audio stream.
</summary>
<param name="format">The wave format.</param>
</member>
<member name="M:Cryville.Audio.AudioStream.Seek(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AudioStream.SeekFrame(System.Int64,System.IO.SeekOrigin)">
<summary>
Sets the time in frames within the current audio stream.
</summary>
<param name="frameOffset">An offset in frames relative to the <paramref name="origin" /> parameter.</param>
<param name="origin">A value of type <see cref="T:System.IO.SeekOrigin" /> indicating the reference point used to obtain the new time.</param>
<returns>The new time in frames within the current audio stream.</returns>
</member>
<member name="M:Cryville.Audio.AudioStream.SeekTime(System.Double,System.IO.SeekOrigin)">
<summary>
Sets the time in seconds within the current audio stream.
</summary>
<param name="timeOffset">An offset in seconds relative to the <paramref name="origin" /> parameter.</param>
<param name="origin">A value of type <see cref="T:System.IO.SeekOrigin" /> indicating the reference point used to obtain the new time.</param>
<returns>The new time in seconds within the current audio stream.</returns>
</member>
<member name="M:Cryville.Audio.AudioStream.SeekTimeInternal(System.Double,System.IO.SeekOrigin)">
<summary>
When overridden in a derived class, sets the time in seconds within the current audio stream.
</summary>
<param name="timeOffset">An offset in seconds relative to the <paramref name="origin" /> parameter.</param>
<param name="origin">A value of type <see cref="T:System.IO.SeekOrigin" /> indicating the reference point used to obtain the new time.</param>
<returns>The new time in seconds within the current audio stream.</returns>
</member>
<member name="M:Cryville.Audio.AudioStream.SeekFrameInternal(System.Int64,System.IO.SeekOrigin)">
<summary>
When overridden in a derived class, sets the time in frames within the current audio stream.
</summary>
<param name="frameOffset">An offset in frames relative to the <paramref name="origin" /> parameter.</param>
<param name="origin">A value of type <see cref="T:System.IO.SeekOrigin" /> indicating the reference point used to obtain the new time.</param>
<returns>The new time in frames within the current audio stream.</returns>
</member>
<member name="P:Cryville.Audio.AudioStream.Length">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AudioStream.FrameLength">
<summary>
The length of the audio stream in frames.
</summary>
</member>
<member name="P:Cryville.Audio.AudioStream.TimeLength">
<summary>
The length of the audio stream in seconds.
</summary>
</member>
<member name="P:Cryville.Audio.AudioStream.Position">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AudioStream.FramePosition">
<summary>
The time in frames within the current audio stream.
</summary>
</member>
<member name="P:Cryville.Audio.AudioStream.TimePosition">
<summary>
The time in seconds within the current audio stream.
</summary>
</member>
<member name="M:Cryville.Audio.AudioStream.Read(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AudioStream.ReadFrames(System.Byte[],System.Int32,System.Int32)">
<summary>
Reads a sequence of frames from the current stream and advances the position within the stream by the number of bytes read.
</summary>
<param name="buffer">An array of bytes. When this method returns, the buffer contains the specified byte array with the values started from <paramref name="offset" /> replaced by the frames read from the current audio source.</param>
<param name="offset">The zero-based byte offset in <paramref name="buffer" /> at which to begin storing the data read from the current audio stream.</param>
<param name="frameCount">The maximum number of frames to be read from the current audio stream.</param>
<returns>The total number of frames read into the buffer. This can be less than the number of frames requested if that many frames are not currently available, or zero (0) if <paramref name="frameCount" /> is 0 or the end of the stream has been reached.</returns>
</member>
<member name="M:Cryville.Audio.AudioStream.ReadFrames(System.Byte@,System.Int32)">
<summary>
Reads a sequence of frames from the current stream and advances the position within the stream by the number of bytes read.
</summary>
<param name="buffer">A reference to the buffer. When this method returns, the buffer contains the specified data replaced by the frames read from the current audio source.</param>
<param name="frameCount">The maximum number of frames to be read from the current audio stream.</param>
<returns>The total number of frames read into the buffer. This can be less than the number of frames requested if that many frames are not currently available, or zero (0) if <paramref name="frameCount" /> is 0 or the end of the stream has been reached.</returns>
</member>
<member name="M:Cryville.Audio.AudioStream.ReadFramesInternal(System.Byte@,System.Int32)">
<summary>
When overridden in a derived class, reads a sequence of frames from the current stream and advances the position within the stream by the number of bytes read.
</summary>
<param name="buffer">A reference to the buffer. When this method returns, the buffer contains the specified data replaced by the frames read from the current audio source.</param>
<param name="frameCount">The maximum number of frames to be read from the current audio stream.</param>
<returns>The total number of frames read into the buffer. This can be less than the number of frames requested if that many frames are not currently available, or zero (0) if <paramref name="frameCount" /> is 0 or the end of the stream has been reached.</returns>
</member>
<member name="M:Cryville.Audio.AudioStream.SilentBuffer(Cryville.Audio.WaveFormat,System.Byte@,System.Int32)">
<summary>
Fills the buffer with silence.
</summary>
<param name="format">The wave format.</param>
<param name="buffer">The buffer to be filled.</param>
<param name="frameCount">The length in frames to be filled.</param>
</member>
<member name="T:Cryville.Audio.AudioUsage">
<summary>
Audio usage.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.Unknown">
<summary>
Unknown usage.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.Media">
<summary>
The usage is media, such as music, or movie soundtracks.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.Communication">
<summary>
The usage is voice communications, such as telephony or VoIP.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.Alarm">
<summary>
The usage is an alarm (e.g. wake-up alarm).
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.Notification">
<summary>
The usage is notification.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.NotificationRingtone">
<summary>
The usage is telephony ringtone.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.NotificationEvent">
<summary>
The usage is to attract the user's attention, such as a reminder or low battery warning.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.AssistanceAccessibility">
<summary>
The usage is for accessibility, such as with a screen reader.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.AssistanceNavigation">
<summary>
The usage is driving or navigation directions.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.AssistanceSonification">
<summary>
The usage is sonification, such as with user interface sounds.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.Game">
<summary>
The usage is for game audio.
</summary>
</member>
<member name="T:Cryville.Audio.DataFlow">
<summary>
The data-flow direction of an audio connection.
</summary>
</member>
<member name="F:Cryville.Audio.DataFlow.None">
<summary>
None.
</summary>
</member>
<member name="F:Cryville.Audio.DataFlow.Out">
<summary>
Data flows from software to hardware.
</summary>
</member>
<member name="F:Cryville.Audio.DataFlow.In">
<summary>
Data flows from hardware to software.
</summary>
</member>
<member name="F:Cryville.Audio.DataFlow.All">
<summary>
Any data-flow direction.
</summary>
</member>
<member name="T:Cryville.Audio.EngineBuilder">
<summary>
The recommended entry for Cryville.Audio that creates an <see cref="T:Cryville.Audio.IAudioDeviceManager" />.
</summary>
</member>
<member name="P:Cryville.Audio.EngineBuilder.Engines">
<summary>
The list of available engines.
</summary>
</member>
<member name="M:Cryville.Audio.EngineBuilder.Create">
<summary>
Creates a <see cref="T:Cryville.Audio.IAudioDeviceManager" /> in the <see cref="P:Cryville.Audio.EngineBuilder.Engines" /> list.
</summary>
<returns>The first <see cref="T:Cryville.Audio.IAudioDeviceManager" /> that can be successfully created. <see langword="null" /> if no engine is supported.</returns>
<remarks>
<para>Add engines to <see cref="P:Cryville.Audio.EngineBuilder.Engines" /> before calling this method.</para>
</remarks>
</member>
<member name="T:Cryville.Audio.IAudioDevice">
<summary>
Audio device.
</summary>
</member>
<member name="P:Cryville.Audio.IAudioDevice.Name">
<summary>
The friendly name of the device.
</summary>
</member>
<member name="P:Cryville.Audio.IAudioDevice.DataFlow">
<summary>
The data-flow direction of the device.
</summary>
</member>
<member name="P:Cryville.Audio.IAudioDevice.BurstSize">
<summary>
The burst size of the device in frames.
</summary>
</member>
<member name="P:Cryville.Audio.IAudioDevice.MinimumBufferSize">
<summary>
The minimum buffer size of the device in frames.
</summary>
</member>
<member name="P:Cryville.Audio.IAudioDevice.DefaultBufferSize">
<summary>
The default buffer size of the device in frames.
</summary>
</member>
<member name="P:Cryville.Audio.IAudioDevice.DefaultFormat">
<summary>
The default wave format of the device for shared-mode streams.
</summary>
<remarks>
<para>For exclusive-mode streams, call <see cref="M:Cryville.Audio.IAudioDevice.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)" /> to determine an eligible format.</para>
</remarks>
</member>
<member name="M:Cryville.Audio.IAudioDevice.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<summary>
Gets whether <paramref name="format" /> is supported by the device.
</summary>
<param name="format">The specified wave format.</param>
<param name="suggestion">A wave format suggested by the device. <paramref name="format" /> if it is supported. <see langword="null" /> if no format is supported.</param>
<param name="usage">The audio usage.</param>
<param name="shareMode">The share mode.</param>
<returns>Whether <paramref name="format" /> is supported.</returns>
</member>
<member name="M:Cryville.Audio.IAudioDevice.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<summary>
Connects to the device.
</summary>
<param name="format">The wave format.</param>
<param name="bufferSize">The buffer size of the connection in frames.</param>
<param name="usage">The audio usage.</param>
<param name="shareMode">The share mode of the connection.</param>
<returns>An <see cref="T:Cryville.Audio.AudioClient" /> for interaction with the device.</returns>
</member>
<member name="T:Cryville.Audio.IAudioDeviceManager">
<summary>
Audio device manager that manages <see cref="T:Cryville.Audio.IAudioDevice" />.
</summary>
<remarks>
If the <see cref="T:Cryville.Audio.IAudioDeviceManager" /> is not supported, an exception is thrown when trying to create an instance.
</remarks>
</member>
<member name="M:Cryville.Audio.IAudioDeviceManager.GetDevices(Cryville.Audio.DataFlow)">
<summary>
Gets all audio devices for the specified <paramref name="dataFlow" />.
</summary>
<param name="dataFlow">The data-flow direction.</param>
</member>
<member name="M:Cryville.Audio.IAudioDeviceManager.GetDefaultDevice(Cryville.Audio.DataFlow)">
<summary>
Gets the default audio device for the specified <paramref name="dataFlow" />.
</summary>
<param name="dataFlow">The data-flow direction.</param>
</member>
<member name="T:Cryville.Audio.SampleReader">
<summary>
Represents the method that reads a sample of a specific sample format as a <see cref="T:System.Double" /> value.
</summary>
<param name="ptr">The pointer to the buffer to be read, advanced to the next sample when the method returns.</param>
<returns>The sample value as a <see cref="T:System.Double" /> value.</returns>
</member>
<member name="T:Cryville.Audio.SampleWriter">
<summary>
Represents the method that writes a <see cref="T:System.Double" /> sample value as a specific sample format.
</summary>
<param name="ptr">The pointer to the buffer to be written, advanced to the next sample when the method returns.</param>
<param name="v">The <see cref="T:System.Double" /> sample value to be written.</param>
</member>
<member name="T:Cryville.Audio.SampleConvert">
<summary>
Provides a set of <see cref="T:Cryville.Audio.SampleReader" /> and <see cref="T:Cryville.Audio.SampleWriter" /> methods for various sample formats.
</summary>
</member>
<member name="M:Cryville.Audio.SampleConvert.GetSampleReader(Cryville.Audio.SampleFormat)">
<summary>
Gets a <see cref="T:Cryville.Audio.SampleReader" /> for a sample format.
</summary>
<param name="sampleFormat">The sample format.</param>
<returns>A <see cref="T:Cryville.Audio.SampleReader" /> for the specified sample format.</returns>
<exception cref="T:System.NotSupportedException">The specified sample format is not supported.</exception>
</member>
<member name="M:Cryville.Audio.SampleConvert.GetSampleWriter(Cryville.Audio.SampleFormat)">
<summary>
Gets a <see cref="T:Cryville.Audio.SampleWriter" /> for a sample format.
</summary>
<param name="sampleFormat">The sample format.</param>
<returns>A <see cref="T:Cryville.Audio.SampleWriter" /> for the specified sample format.</returns>
<exception cref="T:System.NotSupportedException">The specified sample format is not supported.</exception>
</member>
<member name="T:Cryville.Audio.Source.CachedAudioSource">
<summary>
An <see cref="T:Cryville.Audio.AudioStream" /> that caches data for reuse.
</summary>
<remarks>
<para>This stream is not seekable. Use <see cref="M:Cryville.Audio.Source.CachedAudioSource.Rewind" /> to reset its timestamp to zero.</para>
</remarks>
<param name="source">The <see cref="T:Cryville.Audio.AudioStream" /> to be cached.</param>
<param name="duration">The duration of the cache in seconds.</param>
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.#ctor(Cryville.Audio.AudioStream,System.Double)">
<summary>
An <see cref="T:Cryville.Audio.AudioStream" /> that caches data for reuse.
</summary>
<remarks>
<para>This stream is not seekable. Use <see cref="M:Cryville.Audio.Source.CachedAudioSource.Rewind" /> to reset its timestamp to zero.</para>
</remarks>
<param name="source">The <see cref="T:Cryville.Audio.AudioStream" /> to be cached.</param>
<param name="duration">The duration of the cache in seconds.</param>
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.Clone">
<summary>
Gets a clone of this <see cref="T:Cryville.Audio.Source.CachedAudioSource" /> with the timestamp reset.
</summary>
<returns>A clone of this <see cref="T:Cryville.Audio.Source.CachedAudioSource" /> with the timestamp reset.</returns>
<remarks>
Use with object pool is recommended.
</remarks>
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.Rewind">
<summary>
Resets the timestamp to reuse the instance.
</summary>
<remarks>
Use with object pool is recommended.
</remarks>
</member>
<member name="P:Cryville.Audio.Source.CachedAudioSource.EndOfData">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.CachedAudioSource.FrameLength">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.CachedAudioSource.Disposed">
<summary>
Whether this audio stream has been disposed.
</summary>
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.CachedAudioSource.DefaultFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.IsFormatSupported(Cryville.Audio.WaveFormat)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.OnSetFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.ReadFramesInternal(System.Byte@,System.Int32)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.SeekFrameInternal(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.CachedAudioSource.CanRead">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.CachedAudioSource.CanSeek">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.CachedAudioSource.CanWrite">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.Flush">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.Source.FunctionAudioSource">
<summary>
An <see cref="T:Cryville.Audio.AudioStream" /> that generates sound by a given function.
</summary>
</member>
<member name="P:Cryville.Audio.Source.FunctionAudioSource.Channels">
<summary>
The channel count of the output format.
</summary>
</member>
<member name="P:Cryville.Audio.Source.FunctionAudioSource.EndOfData">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.FunctionAudioSource.FrameLength">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.FunctionAudioSource.Disposed">
<summary>
Whether this audio stream has been disposed.
</summary>
</member>
<member name="M:Cryville.Audio.Source.FunctionAudioSource.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.FunctionAudioSource.DefaultFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.FunctionAudioSource.IsFormatSupported(Cryville.Audio.WaveFormat)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.FunctionAudioSource.OnSetFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.FunctionAudioSource.ReadFramesInternal(System.Byte@,System.Int32)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.FunctionAudioSource.Func(System.Double,System.Int32)">
<summary>
The function used to generate wave.
</summary>
<param name="time">The time position.</param>
<param name="channel">The channel index.</param>
</member>
<member name="M:Cryville.Audio.Source.FunctionAudioSource.SeekFrameInternal(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.FunctionAudioSource.CanRead">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.FunctionAudioSource.CanSeek">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.FunctionAudioSource.CanWrite">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.FunctionAudioSource.Flush">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.FunctionAudioSource.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.FunctionAudioSource.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.Source.SimpleSequencerSource">
<summary>
A simple <see cref="T:Cryville.Audio.AudioStream" /> that mixes sequenced audio sources.
</summary>
<remarks>
<para>To use this class, take the following steps:</para>
<list type="number">
<item>Create an instance of <see cref="T:Cryville.Audio.Source.SimpleSequencerSource" />.</item>
<item>Attach the <see cref="T:Cryville.Audio.Source.SimpleSequencerSource" /> to an <see cref="T:Cryville.Audio.AudioClient" /> by setting <see cref="P:Cryville.Audio.AudioClient.Source" />.</item>
<item>Create a new <see cref="T:Cryville.Audio.Source.SimpleSequencerSession" /> by calling <see cref="M:Cryville.Audio.Source.SimpleSequencerSource.NewSession" />.</item>
<item>Start playback by calling <see cref="M:Cryville.Audio.AudioClient.Start" /> and setting <see cref="P:Cryville.Audio.Source.SimpleSequencerSource.Playing" /> to <see langword="true" />.</item>
</list>
<para><see cref="T:Cryville.Audio.AudioStream" />s can be sequenced to the <see cref="T:Cryville.Audio.Source.SimpleSequencerSession" /> both before and after playback starts. See <see cref="M:Cryville.Audio.Source.SimpleSequencerSession.Sequence(System.Double,Cryville.Audio.AudioStream)" />.</para>
<para>If <see cref="P:Cryville.Audio.Source.SimpleSequencerSource.Playing" /> is set to <see langword="false" />, the output will become silence.</para>
</remarks>
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.#ctor(System.Int32)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.Source.SimpleSequencerSource" /> class.
</summary>
<param name="maxPolyphony">Max polyphony of the source. Must be greater than 0. See <see cref="P:Cryville.Audio.Source.SimpleSequencerSource.MaxPolyphony"/>.</param>
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.Disposed">
<summary>
Whether this audio stream has been disposed.
</summary>
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.EndOfData">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.FrameLength">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.OnSetFormat">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.DefaultFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.IsFormatSupported(Cryville.Audio.WaveFormat)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.Playing">
<summary>
Whether if the current session is playing.
</summary>
<remarks>
There is a tiny delay before the playback state actually toggles, which is approximately <see cref="P:Cryville.Audio.AudioClient.BufferPosition" /> substracted by <see cref="P:Cryville.Audio.AudioClient.Position" />.
</remarks>
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.ReadFramesInternal(System.Byte@,System.Int32)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.SeekFrameInternal(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
<param name="frameOffset">A byte offset relative to the current position.</param>
<param name="origin">Must be <see cref="F:System.IO.SeekOrigin.Current" />.</param>
<remarks>
<para>This stream can only be sought from the current position, and forward only. Thus, <paramref name="frameOffset" /> must be non-negative, and <paramref name="origin" /> must be <see cref="F:System.IO.SeekOrigin.Current" />.</para>
</remarks>
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.CanRead">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.CanSeek">
<inheritdoc />
<remarks>
<para>This stream can only be sought from the current position, and forward only. See <see cref="M:Cryville.Audio.Source.SimpleSequencerSource.SeekFrameInternal(System.Int64,System.IO.SeekOrigin)" />.</para>
</remarks>
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.CanWrite">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.Flush">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.Polyphony">
<summary>
The number of sources currently playing.
</summary>
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.MaxPolyphony">
<summary>
Max polyphony, the number of sources that can be played at the same time.
</summary>
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.Session">
<summary>
The <see cref="T:Cryville.Audio.Source.SimpleSequencerSession" /> currently playing.
</summary>
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.NewSession">
<summary>
Stops the current session and creates a new <see cref="T:Cryville.Audio.Source.SimpleSequencerSession" /> to replace it.
</summary>
<remarks>
An <see cref="T:Cryville.Audio.AudioClient" /> must be attached to this source first.
</remarks>
</member>
<member name="T:Cryville.Audio.Source.SimpleSequencerSession">
<summary>
A session for <see cref="T:Cryville.Audio.Source.SimpleSequencerSource" />.
</summary>
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSession.FramePosition">
<summary>
The time in frames within the current session.
</summary>
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSession.TimePosition">
<summary>
The time in seconds within the current session.
</summary>
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSession.Sequence(System.Double,Cryville.Audio.AudioStream)">
<summary>
Sequences a <paramref name="source" /> at the specified <paramref name="time" />.
</summary>
<param name="time">The time in seconds.</param>
<param name="source">The audio source.</param>
<remarks>
<para>If <paramref name="time" /> is less than the current time, the <paramref name="source" /> will be played immediately.</para>
<para>If the number of audio sources currently playing exceeds <see cref="P:Cryville.Audio.Source.SimpleSequencerSource.MaxPolyphony" />, the <paramref name="source" /> will be discarded.</para>
<para>Audio sources can be sequenced even when the sequencer has been disposed, while it would not have any effect.</para>
</remarks>
</member>
<member name="T:Cryville.Audio.Source.SingleToneAudioSource">
<summary>
An <see cref="T:Cryville.Audio.AudioStream" /> that generates single tone.
</summary>
</member>
<member name="P:Cryville.Audio.Source.SingleToneAudioSource.Type">
<summary>
The tone type.
</summary>
</member>
<member name="P:Cryville.Audio.Source.SingleToneAudioSource.Frequency">
<summary>
The frequency of the wave.
</summary>
</member>
<member name="P:Cryville.Audio.Source.SingleToneAudioSource.Amplitude">
<summary>
The amplitude of the wave.
</summary>
</member>
<member name="M:Cryville.Audio.Source.SingleToneAudioSource.Func(System.Double,System.Int32)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.Source.ToneType">
<summary>
Tone type.
</summary>
</member>
<member name="F:Cryville.Audio.Source.ToneType.Sine">
<summary>
Sine wave.
</summary>
</member>
<member name="F:Cryville.Audio.Source.ToneType.Triangle">
<summary>
Triangle wave.
</summary>
</member>
<member name="F:Cryville.Audio.Source.ToneType.Square">
<summary>
Square wave.
</summary>
</member>
<member name="T:Cryville.Audio.WaveFormat">
<summary>
The wave format.
</summary>
</member>
<member name="P:Cryville.Audio.WaveFormat.Channels">
<summary>
The channel count.
</summary>
</member>
<member name="P:Cryville.Audio.WaveFormat.SampleRate">
<summary>
The sample rate (samples per channel per second, i.e. frames per second.)
</summary>
</member>
<member name="P:Cryville.Audio.WaveFormat.SampleFormat">
<summary>
The sample format.
</summary>
</member>
<member name="P:Cryville.Audio.WaveFormat.BitsPerSample">
<summary>
Bit count per sample.
</summary>
</member>
<member name="P:Cryville.Audio.WaveFormat.FrameSize">
<summary>
Bytes per frame.
</summary>
</member>
<member name="P:Cryville.Audio.WaveFormat.BytesPerSecond">
<summary>
Bytes per second.
</summary>
</member>
<member name="F:Cryville.Audio.WaveFormat.Default">
<summary>
The default wave format.
</summary>
</member>
<member name="M:Cryville.Audio.WaveFormat.ToString">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.WaveFormat.Equals(Cryville.Audio.WaveFormat)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.WaveFormat.Equals(System.Object)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.WaveFormat.GetHashCode">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.WaveFormat.op_Equality(Cryville.Audio.WaveFormat,Cryville.Audio.WaveFormat)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.WaveFormat.op_Inequality(Cryville.Audio.WaveFormat,Cryville.Audio.WaveFormat)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.SampleFormat">
<summary>
Sample format.
</summary>
</member>
<member name="F:Cryville.Audio.SampleFormat.Invalid">
<summary>
Invalid sample format.
</summary>
</member>
<member name="F:Cryville.Audio.SampleFormat.U8">
<summary>
Unsigned 8-bit integer sample format.
</summary>
</member>
<member name="F:Cryville.Audio.SampleFormat.S16">
<summary>
Signed 16-bit integer sample format.
</summary>
</member>
<member name="F:Cryville.Audio.SampleFormat.S24">
<summary>
Signed 24-bit integer sample format.
</summary>
</member>
<member name="F:Cryville.Audio.SampleFormat.S32">
<summary>
Signed 32-bit integer sample format.
</summary>
</member>
<member name="F:Cryville.Audio.SampleFormat.F32">
<summary>
IEEE 754 single precision floating-point sample format.
</summary>
</member>
<member name="F:Cryville.Audio.SampleFormat.F64">
<summary>
IEEE 754 double precision floating-point sample format.
</summary>
</member>
</members>
</doc>