ci: Update Cryville.Audio

This commit is contained in:
2025-06-21 01:39:47 +08:00
parent 0a223af698
commit a02885704d
33 changed files with 1619 additions and 1335 deletions

View File

@@ -124,9 +124,10 @@ namespace Cryville.Crtr {
#error No FFmpeg search path.
#endif
var audioEngineBuilder = new EngineBuilder();
#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
EngineBuilder.Engines.Add(typeof(Audio.Wasapi.MMDeviceEnumeratorWrapper));
EngineBuilder.Engines.Add(typeof(Audio.WaveformAudio.WaveDeviceManager));
audioEngineBuilder.Engines.Add(typeof(Audio.Wasapi.MMDeviceEnumeratorWrapper));
audioEngineBuilder.Engines.Add(typeof(Audio.WaveformAudio.WaveDeviceManager));
#elif UNITY_ANDROID
EngineBuilder.Engines.Add(typeof(Audio.AAudio.AAudioManager));
EngineBuilder.Engines.Add(typeof(Audio.OpenSLES.Engine));
@@ -135,7 +136,7 @@ namespace Cryville.Crtr {
#endif
while (true) {
try {
AudioManager = EngineBuilder.Create();
AudioManager = audioEngineBuilder.Create();
if (AudioManager == null) {
Dialog.Show(null, "Fatal error: Cannot initialize audio engine");
MainLogger.Log(5, "Audio", "Cannot initialize audio engine");
@@ -160,7 +161,7 @@ namespace Cryville.Crtr {
Dialog.Show(null, "An error occurred while trying to initialize the recommended audio engine\nTrying to use fallback audio engines");
MainLogger.Log(4, "Audio", "An error occurred when initializing the audio engine: {0}", ex);
MainLogger.Log(2, "Audio", "Trying to use fallback audio engines");
EngineBuilder.Engines.Remove(AudioManager.GetType());
audioEngineBuilder.Engines.Remove(AudioManager.GetType());
}
}

View File

@@ -43,9 +43,6 @@
An <see cref="T:Cryville.Audio.AudioClient" /> that interacts with AAudio.
</summary>
</member>
<member name="M:Cryville.Audio.AAudio.AAudioStream.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AAudio.AAudioStream.Device">
<inheritdoc />
</member>
@@ -58,6 +55,9 @@
<member name="P:Cryville.Audio.AAudio.AAudioStream.MaximumLatency">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AAudio.AAudioStream.Status">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AAudio.AAudioStream.Position">
<inheritdoc />
</member>
@@ -70,6 +70,9 @@
<member name="M:Cryville.Audio.AAudio.AAudioStream.Pause">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AAudio.AAudioStream.Close">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.AAudio.AAudioStreamBuilder">
<summary>
An <see cref="T:Cryville.Audio.IAudioDevice" /> that interacts with AAudio.
@@ -109,73 +112,73 @@
<member name="P:Cryville.Audio.AAudio.AAudioStreamBuilder.DefaultFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AAudio.AAudioStreamBuilder.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioShareMode)">
<member name="M:Cryville.Audio.AAudio.AAudioStreamBuilder.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AAudio.AAudioStreamBuilder.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioShareMode)">
<member name="M:Cryville.Audio.AAudio.AAudioStreamBuilder.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<inheritdoc />
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setAllowedCapturePolicy(System.IntPtr,Android.AAudio.Native.aaudio_allowed_capture_policy_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setAllowedCapturePolicy(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_allowed_capture_policy_t)">
<remarks>Available since API level 29.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setAttributionTag(System.IntPtr,System.String)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setAttributionTag(System.IntPtr,System.String)">
<remarks>Available since API level 31.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setChannelMask(System.IntPtr,Android.AAudio.Native.aaudio_channel_mask_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setChannelMask(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_channel_mask_t)">
<remarks>Available since API level 32.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setContentType(System.IntPtr,Android.AAudio.Native.aaudio_content_type_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setContentType(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_content_type_t)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setInputPreset(System.IntPtr,Android.AAudio.Native.aaudio_input_preset_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setInputPreset(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_input_preset_t)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setIsContentSpatialized(System.IntPtr,System.Boolean)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setIsContentSpatialized(System.IntPtr,System.Boolean)">
<remarks>Available since API level 32.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setPackageName(System.IntPtr,System.String)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setPackageName(System.IntPtr,System.String)">
<remarks>Available since API level 31.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setPrivacySensitive(System.IntPtr,System.Boolean)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setPrivacySensitive(System.IntPtr,System.Boolean)">
<remarks>Available since API level 30.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setSessionId(System.IntPtr,Android.AAudio.Native.aaudio_session_id_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setSessionId(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_session_id_t)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setSpatializationBehavior(System.IntPtr,Android.AAudio.Native.aaudio_spatialization_behavior_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setSpatializationBehavior(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_spatialization_behavior_t)">
<remarks>Available since API level 32.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setUsage(System.IntPtr,Android.AAudio.Native.aaudio_usage_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setUsage(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_usage_t)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getAllowedCapturePolicy(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getAllowedCapturePolicy(System.IntPtr)">
<remarks>Available since API level 29.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getChannelMask(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getChannelMask(System.IntPtr)">
<remarks>Available since API level 32.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getContentType(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getContentType(System.IntPtr)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getInputPreset(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getInputPreset(System.IntPtr)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getSessionId(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getSessionId(System.IntPtr)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getSpatializationBehavior(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getSpatializationBehavior(System.IntPtr)">
<remarks>Available since API level 32.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getUsage(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getUsage(System.IntPtr)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_isContentSpatialized(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_isContentSpatialized(System.IntPtr)">
<remarks>Available since API level 32.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_isPrivacySensitive(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_isPrivacySensitive(System.IntPtr)">
<remarks>Available since API level 30.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_release(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_release(System.IntPtr)">
<remarks>Available since API level 30.</remarks>
</member>
</members>

View File

@@ -32,17 +32,41 @@
<member name="M:Cryville.Audio.OpenSLES.Engine.GetDevices(Cryville.Audio.DataFlow)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.OpenSLES.OpenSLException">
<summary>
Exception occurring in OpenSL ES.
</summary>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class.
</summary>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor(System.String)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor(System.String,System.Exception)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class with serialized data.
</summary>
<param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
<param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
</member>
<member name="T:Cryville.Audio.OpenSLES.OutputClient">
<summary>
An <see cref="T:Cryville.Audio.AudioClient" /> that interacts with OpenSL ES.
</summary>
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputClient.Finalize">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputClient.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.OpenSLES.OutputClient.Device">
<inheritdoc />
</member>
@@ -55,16 +79,22 @@
<member name="P:Cryville.Audio.OpenSLES.OutputClient.MaximumLatency">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.OpenSLES.OutputClient.Status">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.OpenSLES.OutputClient.Position">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.OpenSLES.OutputClient.BufferPosition">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputClient.Start">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputClient.Pause">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputClient.Start">
<member name="M:Cryville.Audio.OpenSLES.OutputClient.Close">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.OpenSLES.OutputDevice">
@@ -102,41 +132,11 @@
<member name="P:Cryville.Audio.OpenSLES.OutputDevice.DefaultFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputDevice.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioShareMode)">
<member name="M:Cryville.Audio.OpenSLES.OutputDevice.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputDevice.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioShareMode)">
<member name="M:Cryville.Audio.OpenSLES.OutputDevice.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.OpenSLES.OpenSLException">
<summary>
Exception occurring in OpenSL ES.
</summary>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class.
</summary>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor(System.String)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor(System.String,System.Exception)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class with serialized data.
</summary>
<param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
<param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
</member>
</members>
</doc>

View File

@@ -75,267 +75,6 @@
Pops off the local reference frame and frees all the local references.
</summary>
</member>
<member name="T:Cryville.Interop.Java.IJniInvoke">
<summary>
The JNI Invocation API.
</summary>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.DestroyJavaVM">
<summary>
Unloads a Java VM and reclaims its resources.
</summary>
<exception cref="T:Cryville.Interop.Java.JniException">On failure.</exception>
<remarks>
<para>Any thread, whether attached or not, can invoke this function. If the current thread is attached, the VM waits until the current thread is the only non-daemon user-level Java thread. If the current thread is not attached, the VM attaches the current thread and then waits until the current thread is the only non-daemon user-level thread.</para>
</remarks>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThread(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})">
<summary>
Attaches the current thread to a Java VM.
</summary>
<param name="thr_args"><see langword="null" /> or a <see cref="T:Cryville.Interop.Java.JavaVMAttachArgs" /> structure to specify additional information.</param>
<returns>A JNI interface.</returns>
<exception cref="T:Cryville.Interop.Java.JniException">On failure.</exception>
<remarks>
<para>Trying to attach a thread that is already attached is a no-op.</para>
<para>A native thread cannot be attached simultaneously to two Java VMs.</para>
<para>When a thread is attached to the VM, the context class loader is the bootstrap loader.</para>
</remarks>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.DetachCurrentThread">
<summary>
Detaches the current thread from a Java VM.
</summary>
<exception cref="T:Cryville.Interop.Java.JniException">On failure.</exception>
<remarks>
<para>All Java monitors held by this thread are released. All Java threads waiting for this thread to die are notified.</para>
<para>The main thread can be detached from the VM.</para>
</remarks>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.GetEnv(System.Int32)">
<summary>
Gets the <see cref="T:Cryville.Interop.Java.IJniEnv" /> attached to the current thread.
</summary>
<param name="version">The requested JNI version.</param>
<returns>A JNI interface, <see langword="null" /> if an error occurs.</returns>
<exception cref="T:Cryville.Interop.Java.JniException">On failure, with a <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> of <see cref="F:Cryville.Interop.Java.JniResult.Detached" /> if the current thread is not attached to the VM, or <see cref="F:Cryville.Interop.Java.JniResult.Version" /> if the specified version is not supported.</exception>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThreadAsDaemon(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})">
<summary>
Same semantics as <see cref="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThread(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})" />, but the newly-created <c>java.lang.Thread</c> instance is a daemon.
</summary>
<param name="args">A <see cref="T:Cryville.Interop.Java.JavaVMAttachArgs" /> structure to specify additional information.</param>
<returns>A JNI interface.</returns>
<exception cref="T:Cryville.Interop.Java.JniException">On failure.</exception>
<remarks>
<para>If the thread has already been attached via either <see cref="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThread(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})" /> or <see cref="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThreadAsDaemon(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})" />, this routine simply returns the <see cref="T:Cryville.Interop.Java.IJniEnv" /> of the current thread. In this case neither <see cref="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThread(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})" /> nor this routine have any effect on the daemon status of the thread.</para>
</remarks>
</member>
<member name="T:Cryville.Interop.Java.JavaVMAttachArgs">
<summary>
Additional information for attaching the current thread to a Java VM.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JavaVMAttachArgs.Version">
<summary>
The requested JNI version.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JavaVMAttachArgs.Name">
<summary>
The name of the thread, or <see langword="null" />.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JavaVMAttachArgs.Group">
<summary>
Global ref of a <c>ThreadGroup</c> object, or <see cref="F:System.IntPtr.Zero" />.
</summary>
</member>
<member name="M:Cryville.Interop.Java.JavaVMAttachArgs.#ctor(System.Int32,System.String,System.IntPtr)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JavaVMAttachArgs" /> struct.
</summary>
<param name="version">The requested JNI version.</param>
<param name="name">The name of the thread.</param>
<param name="group">Global ref of a <c>ThreadGroup</c> object.</param>
</member>
<member name="T:Cryville.Interop.Java.JavaVMManager">
<summary>
Java VM manager.
</summary>
</member>
<member name="M:Cryville.Interop.Java.JavaVMManager.Register(Cryville.Interop.Java.IJniInvoke)">
<summary>
Registers a Java VM.
</summary>
<param name="vm">A Java VM.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="vm" /> is <see langword="null" />.</exception>
</member>
<member name="P:Cryville.Interop.Java.JavaVMManager.VMs">
<summary>
All registered Java VMs.
</summary>
</member>
<member name="P:Cryville.Interop.Java.JavaVMManager.CurrentVM">
<summary>
The first VM registered.
</summary>
</member>
<member name="P:Cryville.Interop.Java.JavaVMManager.CurrentEnv">
<summary>
The <see cref="T:Cryville.Interop.Java.IJniEnv" /> of the first VM registered.
</summary>
</member>
<member name="T:Cryville.Interop.Java.JniException">
<summary>
Exception occurring in JNI functions.
</summary>
</member>
<member name="P:Cryville.Interop.Java.JniException.JniResult">
<summary>
The result code returned by the JNI function.
</summary>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> set to <see cref="F:Cryville.Interop.Java.JniResult.Unknown" />.
</summary>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(System.String)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> set to <see cref="F:Cryville.Interop.Java.JniResult.Unknown" />.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(System.String,System.Exception)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> set to <see cref="F:Cryville.Interop.Java.JniResult.Inner" />.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(System.Exception)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> set to <see cref="F:Cryville.Interop.Java.JniResult.Inner" />.
</summary>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(Cryville.Interop.Java.JniResult)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class.
</summary>
<param name="result">The result code returned by the JNI function.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(Cryville.Interop.Java.JniResult,System.String)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class.
</summary>
<param name="result">The result code returned by the JNI function.</param>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(Cryville.Interop.Java.JniResult,System.String,System.Exception)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class.
</summary>
<param name="result">The result code returned by the JNI function.</param>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with serialized data.
</summary>
<param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
<param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<inheritdoc />
</member>
<member name="M:Cryville.Interop.Java.JniException.Check(Cryville.Interop.Java.JniResult)">
<summary>
Checks the result code returned by a JNI function and throws a <see cref="T:Cryville.Interop.Java.JniException" /> if an error occurred.
</summary>
<param name="result">The result code returned by a JNI function.</param>
<exception cref="T:Cryville.Interop.Java.JniException">An error occurred.</exception>
</member>
<member name="T:Cryville.Interop.Java.JniNativeMethod">
<summary>
JNI native method.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniNativeMethod.Name">
<summary>
The name of the native method.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniNativeMethod.Signature">
<summary>
The signature of the native method.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniNativeMethod.FunctionPointer">
<summary>
The function pointer of the native method.
</summary>
<remarks>
<para>The function pointers nominally must have the following signature:</para>
<code>ReturnType function(IntPtr env, IntPtr objectOrClass, ...)</code>
</remarks>
</member>
<member name="M:Cryville.Interop.Java.JniNativeMethod.#ctor(System.String,System.String,System.Delegate)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniNativeMethod" /> struct.
</summary>
<param name="name">The name.</param>
<param name="signature">The signature.</param>
<param name="functionPointer">The function pointer.</param>
<exception cref="T:System.ArgumentNullException">Either of the arguments is <see langword="null" />.</exception>
</member>
<member name="T:Cryville.Interop.Java.JniObjectRefType">
<summary>
Object reference type.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniObjectRefType.Invalid">
<summary>
Invalid reference.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniObjectRefType.Local">
<summary>
Local reference type.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniObjectRefType.Global">
<summary>
Global reference type.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniObjectRefType.WeakGlobal">
<summary>
Weak global reference type.
</summary>
</member>
<member name="T:Cryville.Interop.Java.JniReleaseArrayElementsMode">
<summary>
Provides information on how the array buffer should be released.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniReleaseArrayElementsMode.Default">
<summary>
Copy back the content and free the <c>elems</c> buffer.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniReleaseArrayElementsMode.Commit">
<summary>
Copy back the content but do not free the <c>elems</c> buffer.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniReleaseArrayElementsMode.Abort">
<summary>
Free the buffer without copying back the possible changes.
</summary>
</member>
<member name="T:Cryville.Interop.Java.IJniEnv">
<summary>
The Java native interface.
@@ -434,7 +173,7 @@
<param name="isStatic">Whether <paramref name="fieldID" /> refers to a static field.</param>
<returns>A <c>java.lang.reflect.Field</c> object. <see cref="F:System.IntPtr.Zero" /> if fails.</returns>
</member>
<member name="M:Cryville.Interop.Java.IJniEnv.Throw(System.IntPtr)">
<member name="M:Cryville.Interop.Java.IJniEnv.ThrowObject(System.IntPtr)">
<summary>
Causes a <c>java.lang.Throwable</c> object to be thrown.
</summary>
@@ -542,10 +281,10 @@
</member>
<member name="M:Cryville.Interop.Java.IJniEnv.NewLocalRef(System.IntPtr)">
<summary>
Creates a new local reference that refers to the same object as <paramref name="ref" />.
Creates a new local reference that refers to the same object as <paramref name="reference" />.
</summary>
<param name="ref">A global or local reference.</param>
<returns>A new local reference that refers to the same object as <paramref name="ref" />. <see cref="F:System.IntPtr.Zero" /> if <paramref name="ref" /> refers to <c>null</c>.</returns>
<param name="reference">A global or local reference.</param>
<returns>A new local reference that refers to the same object as <paramref name="reference" />. <see cref="F:System.IntPtr.Zero" /> if <paramref name="reference" /> refers to <c>null</c>.</returns>
</member>
<member name="M:Cryville.Interop.Java.IJniEnv.EnsureLocalCapacity(System.Int32)">
<summary>
@@ -925,14 +664,14 @@
<summary>
Returns the length (the count of Unicode characters) of a Java string.
</summary>
<param name="string">A Java string object.</param>
<param name="str">A Java string object.</param>
<returns>The length of the Java string.</returns>
</member>
<member name="M:Cryville.Interop.Java.IJniEnv.GetStringChars(System.IntPtr,System.Boolean@)">
<summary>
Returns a pointer to the array of Unicode characters of the string.
</summary>
<param name="string">A Java string object.</param>
<param name="str">A Java string object.</param>
<param name="isCopy">Set to <see langword="true" /> if a copy is made; or set to <see langword="false" /> if no copy is made.</param>
<returns>A pointer to a Unicode string, or <see cref="F:System.IntPtr.Zero" /> if the operation fails.</returns>
<remarks>
@@ -943,7 +682,7 @@
<summary>
Informs the VM that the native code no longer needs access to <paramref name="chars" />.
</summary>
<param name="string">A Java string object.</param>
<param name="str">A Java string object.</param>
<param name="chars">A pointer to a Unicode string.</param>
<remarks>
<para>The <paramref name="chars" /> argument is a pointer obtained from string using <see cref="M:Cryville.Interop.Java.IJniEnv.GetStringChars(System.IntPtr,System.Boolean@)" />.</para>
@@ -960,14 +699,14 @@
<summary>
Returns the length in bytes of the modified UTF-8 representation of a string.
</summary>
<param name="string">A Java string object.</param>
<param name="str">A Java string object.</param>
<returns>Returns the UTF-8 length of the string.</returns>
</member>
<member name="M:Cryville.Interop.Java.IJniEnv.GetStringUTFChars(System.IntPtr,System.Boolean@)">
<summary>
Returns a pointer to an array of bytes representing the string in modified UTF-8 encoding.
</summary>
<param name="string">A Java string object.</param>
<param name="str">A Java string object.</param>
<param name="isCopy">Set to <see langword="true" /> if a copy is made; or set to <see langword="false" /> if no copy is made.</param>
<returns>A pointer to a modified UTF-8 string, or <see cref="F:System.IntPtr.Zero" /> if the operation fails.</returns>
<remarks>
@@ -978,7 +717,7 @@
<summary>
Informs the VM that the native code no longer needs access to <paramref name="utf" />.
</summary>
<param name="string">A Java string object.</param>
<param name="str">A Java string object.</param>
<param name="utf">A pointer to a modified UTF-8 string.</param>
<remarks>
<para>The <paramref name="utf" /> argument is a pointer derived from string using <see cref="M:Cryville.Interop.Java.IJniEnv.GetStringUTFChars(System.IntPtr,System.Boolean@)" />.</para>
@@ -1284,7 +1023,7 @@
<summary>
Returns a pointer to the array of Unicode characters of the string.
</summary>
<param name="string">A Java string object.</param>
<param name="str">A Java string object.</param>
<param name="isCopy">Set to <see langword="true" /> if a copy is made; or it is set to <see langword="false" /> if no copy is made.</param>
<returns>A pointer to a Unicode string, or <see cref="F:System.IntPtr.Zero" /> if the operation fails.</returns>
<remarks>
@@ -1296,7 +1035,7 @@
<summary>
Informs the VM that the native code no longer needs access to <paramref name="carray" />.
</summary>
<param name="string">A Java string object.</param>
<param name="str">A Java string object.</param>
<param name="carray">A pointer to a Unicode string.</param>
<remarks>
<para>The <paramref name="carray" /> argument is a pointer obtained from string using <see cref="M:Cryville.Interop.Java.IJniEnv.GetStringChars(System.IntPtr,System.Boolean@)" />.</para>
@@ -1370,6 +1109,272 @@
<para>Since references are typically implemented as pointers to memory data structures that can potentially be reused by any of the reference allocation services in the VM, once deleted, it is not specified what value the <see cref="M:Cryville.Interop.Java.IJniEnv.GetObjectRefType(System.IntPtr)" /> will return.</para>
</remarks>
</member>
<member name="T:Cryville.Interop.Java.IJniInvoke">
<summary>
The JNI Invocation API.
</summary>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.DestroyJavaVM">
<summary>
Unloads a Java VM and reclaims its resources.
</summary>
<exception cref="T:Cryville.Interop.Java.JniException">On failure.</exception>
<remarks>
<para>Any thread, whether attached or not, can invoke this function. If the current thread is attached, the VM waits until the current thread is the only non-daemon user-level Java thread. If the current thread is not attached, the VM attaches the current thread and then waits until the current thread is the only non-daemon user-level thread.</para>
</remarks>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThread(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})">
<summary>
Attaches the current thread to a Java VM.
</summary>
<param name="thrArgs"><see langword="null" /> or a <see cref="T:Cryville.Interop.Java.JavaVMAttachArgs" /> structure to specify additional information.</param>
<returns>A JNI interface.</returns>
<exception cref="T:Cryville.Interop.Java.JniException">On failure.</exception>
<remarks>
<para>Trying to attach a thread that is already attached is a no-op.</para>
<para>A native thread cannot be attached simultaneously to two Java VMs.</para>
<para>When a thread is attached to the VM, the context class loader is the bootstrap loader.</para>
</remarks>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.DetachCurrentThread">
<summary>
Detaches the current thread from a Java VM.
</summary>
<exception cref="T:Cryville.Interop.Java.JniException">On failure.</exception>
<remarks>
<para>All Java monitors held by this thread are released. All Java threads waiting for this thread to die are notified.</para>
<para>The main thread can be detached from the VM.</para>
</remarks>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.GetEnv(System.Int32)">
<summary>
Gets the <see cref="T:Cryville.Interop.Java.IJniEnv" /> attached to the current thread.
</summary>
<param name="version">The requested JNI version.</param>
<returns>A JNI interface, <see langword="null" /> if an error occurs.</returns>
<exception cref="T:Cryville.Interop.Java.JniException">On failure, with a <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> of <see cref="F:Cryville.Interop.Java.JniResult.Detached" /> if the current thread is not attached to the VM, or <see cref="F:Cryville.Interop.Java.JniResult.Version" /> if the specified version is not supported.</exception>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThreadAsDaemon(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})">
<summary>
Same semantics as <see cref="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThread(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})" />, but the newly-created <c>java.lang.Thread</c> instance is a daemon.
</summary>
<param name="args">A <see cref="T:Cryville.Interop.Java.JavaVMAttachArgs" /> structure to specify additional information.</param>
<returns>A JNI interface.</returns>
<exception cref="T:Cryville.Interop.Java.JniException">On failure.</exception>
<remarks>
<para>If the thread has already been attached via either <see cref="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThread(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})" /> or <see cref="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThreadAsDaemon(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})" />, this routine simply returns the <see cref="T:Cryville.Interop.Java.IJniEnv" /> of the current thread. In this case neither <see cref="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThread(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})" /> nor this routine have any effect on the daemon status of the thread.</para>
</remarks>
</member>
<member name="T:Cryville.Interop.Java.JavaVMAttachArgs">
<summary>
Additional information for attaching the current thread to a Java VM.
</summary>
<remarks>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JavaVMAttachArgs" /> struct.
</remarks>
<param name="Version">The requested JNI version.</param>
<param name="Name">The name of the thread, or <see langword="null" />.</param>
<param name="Group">Global ref of a <c>ThreadGroup</c> object, or <see cref="F:System.IntPtr.Zero" />.</param>
</member>
<member name="M:Cryville.Interop.Java.JavaVMAttachArgs.#ctor(System.Int32,System.String,System.IntPtr)">
<summary>
Additional information for attaching the current thread to a Java VM.
</summary>
<remarks>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JavaVMAttachArgs" /> struct.
</remarks>
<param name="Version">The requested JNI version.</param>
<param name="Name">The name of the thread, or <see langword="null" />.</param>
<param name="Group">Global ref of a <c>ThreadGroup</c> object, or <see cref="F:System.IntPtr.Zero" />.</param>
</member>
<member name="P:Cryville.Interop.Java.JavaVMAttachArgs.Version">
<summary>The requested JNI version.</summary>
</member>
<member name="P:Cryville.Interop.Java.JavaVMAttachArgs.Name">
<summary>The name of the thread, or <see langword="null" />.</summary>
</member>
<member name="P:Cryville.Interop.Java.JavaVMAttachArgs.Group">
<summary>Global ref of a <c>ThreadGroup</c> object, or <see cref="F:System.IntPtr.Zero" />.</summary>
</member>
<member name="T:Cryville.Interop.Java.JavaVMManager">
<summary>
Java VM manager.
</summary>
</member>
<member name="M:Cryville.Interop.Java.JavaVMManager.Register(Cryville.Interop.Java.IJniInvoke)">
<summary>
Registers a Java VM.
</summary>
<param name="vm">A Java VM.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="vm" /> is <see langword="null" />.</exception>
</member>
<member name="P:Cryville.Interop.Java.JavaVMManager.VMs">
<summary>
All registered Java VMs.
</summary>
</member>
<member name="P:Cryville.Interop.Java.JavaVMManager.CurrentVM">
<summary>
The first VM registered.
</summary>
</member>
<member name="P:Cryville.Interop.Java.JavaVMManager.CurrentEnv">
<summary>
The <see cref="T:Cryville.Interop.Java.IJniEnv" /> of the first VM registered.
</summary>
</member>
<member name="T:Cryville.Interop.Java.JniException">
<summary>
Exception occurring in JNI functions.
</summary>
</member>
<member name="P:Cryville.Interop.Java.JniException.JniResult">
<summary>
The result code returned by the JNI function.
</summary>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> set to <see cref="F:Cryville.Interop.Java.JniResult.Unknown" />.
</summary>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(System.String)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> set to <see cref="F:Cryville.Interop.Java.JniResult.Unknown" />.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(System.String,System.Exception)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> set to <see cref="F:Cryville.Interop.Java.JniResult.Inner" />.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(System.Exception)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> set to <see cref="F:Cryville.Interop.Java.JniResult.Inner" />.
</summary>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(Cryville.Interop.Java.JniResult)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class.
</summary>
<param name="result">The result code returned by the JNI function.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(Cryville.Interop.Java.JniResult,System.String)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class.
</summary>
<param name="result">The result code returned by the JNI function.</param>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(Cryville.Interop.Java.JniResult,System.String,System.Exception)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class.
</summary>
<param name="result">The result code returned by the JNI function.</param>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with serialized data.
</summary>
<param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
<param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<inheritdoc />
</member>
<member name="M:Cryville.Interop.Java.JniException.Check(Cryville.Interop.Java.JniResult)">
<summary>
Checks the result code returned by a JNI function and throws a <see cref="T:Cryville.Interop.Java.JniException" /> if an error occurred.
</summary>
<param name="result">The result code returned by a JNI function.</param>
<exception cref="T:Cryville.Interop.Java.JniException">An error occurred.</exception>
</member>
<member name="T:Cryville.Interop.Java.JniNativeMethod">
<summary>
JNI native method.
</summary>
<param name="Name">The name of the native method.</param>
<param name="Signature">The signature of the native method.</param>
<param name="FunctionPointer">The function pointer of the native method.</param>
<exception cref="T:System.ArgumentNullException">Either of the arguments is <see langword="null" />.</exception>
<remarks>
<para>The function pointers nominally must have the following signature:</para>
<code>ReturnType function(IntPtr env, IntPtr objectOrClass, ...)</code>
</remarks>
</member>
<member name="M:Cryville.Interop.Java.JniNativeMethod.#ctor(System.String,System.String,System.Delegate)">
<summary>
JNI native method.
</summary>
<param name="Name">The name of the native method.</param>
<param name="Signature">The signature of the native method.</param>
<param name="FunctionPointer">The function pointer of the native method.</param>
<exception cref="T:System.ArgumentNullException">Either of the arguments is <see langword="null" />.</exception>
<remarks>
<para>The function pointers nominally must have the following signature:</para>
<code>ReturnType function(IntPtr env, IntPtr objectOrClass, ...)</code>
</remarks>
</member>
<member name="P:Cryville.Interop.Java.JniNativeMethod.Name">
<summary>The name of the native method.</summary>
</member>
<member name="P:Cryville.Interop.Java.JniNativeMethod.Signature">
<summary>The signature of the native method.</summary>
</member>
<member name="P:Cryville.Interop.Java.JniNativeMethod.FunctionPointer">
<summary>The function pointer of the native method.</summary>
</member>
<member name="T:Cryville.Interop.Java.JniObjectRefType">
<summary>
Object reference type.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniObjectRefType.Invalid">
<summary>
Invalid reference.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniObjectRefType.Local">
<summary>
Local reference type.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniObjectRefType.Global">
<summary>
Global reference type.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniObjectRefType.WeakGlobal">
<summary>
Weak global reference type.
</summary>
</member>
<member name="T:Cryville.Interop.Java.JniReleaseArrayElementsMode">
<summary>
Provides information on how the array buffer should be released.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniReleaseArrayElementsMode.Default">
<summary>
Copy back the content and free the <c>elems</c> buffer.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniReleaseArrayElementsMode.Commit">
<summary>
Copy back the content but do not free the <c>elems</c> buffer.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniReleaseArrayElementsMode.Abort">
<summary>
Free the buffer without copying back the possible changes.
</summary>
</member>
<member name="T:Cryville.Interop.Java.JniResult">
<summary>
Result code returned by JNI functions.

View File

@@ -1,145 +1,135 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Cryville.Audio.Source.Libav</name>
</assembly>
<members>
<member name="T:Cryville.Audio.Source.Libav.LibavFileAudioSource">
<summary>
一个使用 Libav 解流并解码音频文件的 <see cref="T:Cryville.Audio.AudioStream" />
</summary>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.#ctor(System.String)">
<summary>
创建一个 <see cref="T:Cryville.Audio.Source.Libav.LibavFileAudioSource" /> 类的实例并加载指定的 <paramref name="file" />
</summary>
<param name="file">音频文件。</param>
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.Disposed">
<summary>
该音频流是否已被释放。
</summary>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.EndOfData">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.BestStreamIndex">
<summary>
最佳音频流的索引。
</summary>
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.Streams">
<summary>
所有音频流的索引集。
</summary>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.SelectStream">
<summary>
选择最佳音频流作为音频源。
</summary>
<exception cref="T:System.InvalidOperationException">已选择音频流。</exception>
<remarks>
<para>
该方法只能在 <see cref="M:Cryville.Audio.AudioStream.SetFormat(Cryville.Audio.WaveFormat,System.Int32)" /> 被调用前调用,后者会在设置 <see cref="P:Cryville.Audio.AudioClient.Source" /> 时被调用。
</para>
</remarks>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.SelectStream(System.Int32)">
<summary>
选择一个音频流作为音频源。
</summary>
<param name="index">音频流的索引。</param>
<exception cref="T:System.InvalidOperationException">已选择音频流。</exception>
<remarks>
<para>
该方法只能在 <see cref="M:Cryville.Audio.AudioStream.SetFormat(Cryville.Audio.WaveFormat,System.Int32)" /> 被调用前调用,后者会在设置 <see cref="P:Cryville.Audio.AudioClient.Source" /> 时被调用。
</para>
</remarks>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.GetStreamDuration(System.Int32)">
<summary>
获取一个流或当前文件的时长。
</summary>
<param name="streamId">
流索引。如果指定 <c>-1</c> 则返回文件的时长。
</param>
<returns>时长(秒)。</returns>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.IsFormatSupported(Cryville.Audio.WaveFormat)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.OnSetFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.Read(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.Seek(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.SeekTime(System.Double,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.CanRead">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.CanSeek">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.CanWrite">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.Length">
<inheritdoc />
<remarks>
<para>该属性可能不准确。</para>
</remarks>
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.Duration">
<inheritdoc />
<remarks>
<para>该属性可能不准确。</para>
</remarks>
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.Time">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.Position">
<inheritdoc />
<remarks>
<para>
该属性在调用 <see cref="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.Seek(System.Int64,System.IO.SeekOrigin)" /> 后可能不准确。
</para>
</remarks>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.Flush">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.Source.Libav.LibavException">
<summary>
Libav 抛出的异常。
</summary>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavException.#ctor">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavException.#ctor(System.String)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavException.#ctor(System.String,System.Exception)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<inheritdoc />
</member>
</members>
<assembly>
<name>Cryville.Audio.Source.Libav</name>
</assembly>
<members>
<member name="T:Cryville.Audio.Source.Libav.LibavFileAudioSource">
<summary>
An <see cref="T:Cryville.Audio.AudioStream" /> that uses Libav to demux and decode audio files.
</summary>
<param name="file">The audio file.</param>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.#ctor(System.String)">
<summary>
An <see cref="T:Cryville.Audio.AudioStream" /> that uses Libav to demux and decode audio files.
</summary>
<param name="file">The audio file.</param>
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.Disposed">
<summary>
Whether this audio stream has been disposed.
</summary>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.EndOfData">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.FrameLength">
<inheritdoc />
<remarks>
<para>This property may be inaccurate.</para>
</remarks>
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.TimeLength">
<inheritdoc />
<remarks>
<para>This property may be inaccurate.</para>
</remarks>
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.TimePosition">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.BestStreamIndex">
<summary>
The index to the best audio stream.
</summary>
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.Streams">
<summary>
The collection of indices to all audio streams.
</summary>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.SelectStream">
<summary>
Selects the best stream as the source.
</summary>
<exception cref="T:System.InvalidOperationException">The stream has been selected.</exception>
<remarks>
<para>This method can only be called before <see cref="M:Cryville.Audio.AudioStream.SetFormat(Cryville.Audio.WaveFormat,System.Int32)" /> is called, which is called while setting <see cref="P:Cryville.Audio.AudioClient.Source" />.</para>
</remarks>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.SelectStream(System.Int32)">
<summary>
Selects a stream as the source.
</summary>
<param name="index">The index of the stream.</param>
<exception cref="T:System.InvalidOperationException">The stream has been selected.</exception>
<remarks>
<para>This method can only be called before <see cref="M:Cryville.Audio.AudioStream.SetFormat(Cryville.Audio.WaveFormat,System.Int32)" /> is called, which is called while setting <see cref="P:Cryville.Audio.AudioClient.Source" />.</para>
</remarks>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.GetStreamDuration(System.Int32)">
<summary>
Gets the duration of a stream or the file.
</summary>
<param name="streamId">The stream index. The duration of the file is retrieved if <c>-1</c> is specified.</param>
<returns>The duration in seconds.</returns>
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.DefaultFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.IsFormatSupported(Cryville.Audio.WaveFormat)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.OnSetFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.ReadFramesInternal(System.Byte@,System.Int32)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.SeekFrameInternal(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.SeekTimeInternal(System.Double,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.CanRead">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.CanSeek">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.CanWrite">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.Flush">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.Source.Libav.LibavException">
<summary>
The exception that is thrown by Libav.
</summary>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavException.#ctor">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavException.#ctor(System.String)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavException.#ctor(System.String,System.Exception)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<inheritdoc />
</member>
</members>
</doc>

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -75,11 +75,14 @@
</summary>
<typeparam name="TCategory">The category type.</typeparam>
<typeparam name="TObject">The type of the objects in the pool.</typeparam>
<param name="pool">The categorized pool.</param>
</member>
<member name="M:Cryville.Common.Buffers.CategorizedPoolAccessor`2.#ctor(Cryville.Common.Buffers.CategorizedPool{`0,`1})">
<summary>
Creates an instance of the <see cref="T:Cryville.Common.Buffers.CategorizedPoolAccessor`2" /> class.
A utility to access a categorized pool, representing a single unit that uses a shared categorized pool.
</summary>
<typeparam name="TCategory">The category type.</typeparam>
<typeparam name="TObject">The type of the objects in the pool.</typeparam>
<param name="pool">The categorized pool.</param>
</member>
<member name="M:Cryville.Common.Buffers.CategorizedPoolAccessor`2.Rent(`0)">
@@ -136,11 +139,13 @@
A resource pool that allows reusing instances of type <typeparamref name="T" />.
</summary>
<typeparam name="T">The type of the objects in the pool.</typeparam>
<param name="capacity">The capacity of the pool.</param>
</member>
<member name="M:Cryville.Common.Buffers.ObjectPool`1.#ctor(System.Int32)">
<summary>
Creates an instance of the <see cref="T:Cryville.Common.Buffers.ObjectPool`1" /> class.
A resource pool that allows reusing instances of type <typeparamref name="T" />.
</summary>
<typeparam name="T">The type of the objects in the pool.</typeparam>
<param name="capacity">The capacity of the pool.</param>
</member>
<member name="P:Cryville.Common.Buffers.ObjectPool`1.RentedCount">
@@ -177,11 +182,13 @@
A resource pool that allows reusing instances of type <typeparamref name="T" />, which has a parameterless constructor.
</summary>
<typeparam name="T">The type of the objects in the pool.</typeparam>
<param name="capacity">The capacity of the pool.</param>
</member>
<member name="M:Cryville.Common.Buffers.SimpleObjectPool`1.#ctor(System.Int32)">
<summary>
Creates an instance of the <see cref="T:Cryville.Common.Buffers.SimpleObjectPool`1" /> class.
A resource pool that allows reusing instances of type <typeparamref name="T" />, which has a parameterless constructor.
</summary>
<typeparam name="T">The type of the objects in the pool.</typeparam>
<param name="capacity">The capacity of the pool.</param>
</member>
<member name="M:Cryville.Common.Buffers.SimpleObjectPool`1.Construct">
@@ -192,7 +199,7 @@
An auto-resized <see cref="T:System.Char" /> array as a variable-length string used as a target that is modified frequently.
</summary>
</member>
<member name="E:Cryville.Common.Buffers.TargetString.OnUpdate">
<member name="E:Cryville.Common.Buffers.TargetString.Updated">
<summary>
Occurs when <see cref="M:Cryville.Common.Buffers.TargetString.Validate" /> is called if the string is invalidated.
</summary>

Binary file not shown.

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: da0f60bce5e225e4fb5bfcdc1bb64f66
guid: 85184b92e2dc20f41a75ec58505b1444
PluginImporter:
externalObjects: {}
serializedVersion: 2

View File

@@ -0,0 +1,74 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Cryville.Common.Compat</name>
</assembly>
<members>
<member name="T:System.Runtime.CompilerServices.IsExternalInit">
<summary>
Marks a property setter as external-init.
</summary>
</member>
<member name="T:Cryville.Common.Compat.LPUTF8StrMarshaler">
<summary>
Marshals a UTF-8 string to a .NET Framework string, and vice versa.
</summary>
<remarks>
<para>This marshaler is used as a fallback as <c>UnmanagedType.LPUTF8Str</c> is not available before .NET Framework 4.7.</para>
</remarks>
</member>
<member name="M:Cryville.Common.Compat.LPUTF8StrMarshaler.GetInstance(System.String)">
<summary>
Returns an instance of the custom marshaler.
</summary>
<param name="cookie">String "cookie" parameter that can be used by the custom marshaler.</param>
<returns>An instance of the custom marshaler.</returns>
</member>
<member name="M:Cryville.Common.Compat.LPUTF8StrMarshaler.CleanUpManagedData(System.Object)">
<inheritdoc />
</member>
<member name="M:Cryville.Common.Compat.LPUTF8StrMarshaler.CleanUpNativeData(System.IntPtr)">
<inheritdoc />
</member>
<member name="M:Cryville.Common.Compat.LPUTF8StrMarshaler.GetNativeDataSize">
<inheritdoc />
</member>
<member name="M:Cryville.Common.Compat.LPUTF8StrMarshaler.MarshalManagedToNative(System.Object)">
<inheritdoc />
</member>
<member name="M:Cryville.Common.Compat.LPUTF8StrMarshaler.MarshalNativeToManaged(System.IntPtr)">
<inheritdoc />
</member>
<member name="T:Cryville.Common.Compat.ThrowHelper">
<summary>
Provides <see langword="static" /> methods for throwing common exceptions.
</summary>
</member>
<member name="M:Cryville.Common.Compat.ThrowHelper.ThrowIfNull(System.Object,System.String)">
<summary>
Throws an <see cref="T:System.ArgumentNullException" /> if <paramref name="argument" /> is <see langword="null" />.
</summary>
<param name="argument">The reference type argument to validate as non-null.</param>
<param name="paramName">The name of the parameter with which <paramref name="argument" /> corresponds. If you omit this parameter, the name of <paramref name="argument" /> is used.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="argument" /> is <see langword="null" />.</exception>
</member>
<member name="M:Cryville.Common.Compat.ThrowHelper.ThrowIfNullOrEmpty(System.String,System.String)">
<summary>
Throws an exception if <paramref name="argument" /> is <see langword="null" /> or empty.
</summary>
<param name="argument">The string argument to validate as non-<see langword="null" /> and non-empty.</param>
<param name="paramName">The name of the parameter with which <paramref name="argument" /> corresponds.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="argument" /> is <see langword="null" />.</exception>
<exception cref="T:System.ArgumentException"><paramref name="argument" /> is empty.</exception>
</member>
<member name="M:Cryville.Common.Compat.ThrowHelper.ThrowIfNullOrWhiteSpace(System.String,System.String)">
<summary>
Throws an exception if <paramref name="argument" /> is <see langword="null" />, empty, or consists only of white-space characters.
</summary>
<param name="argument">The string argument to validate.</param>
<param name="paramName">The name of the parameter with which <paramref name="argument" /> corresponds.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="argument" /> is <see langword="null" />.</exception>
<exception cref="T:System.ArgumentException"><paramref name="argument" /> is empty or consists only of white-space characters.</exception>
</member>
</members>
</doc>

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 56d3e75e121507e40afa4831c28f514f
guid: 8a0f58b64f161c247a8cc0e2da2a5552
TextScriptImporter:
externalObjects: {}
userData:

View File

@@ -1,43 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Cryville.Common.Interop</name>
</assembly>
<members>
<member name="T:Cryville.Common.Interop.LPUTF8StrMarshaler">
<summary>
Marshals a UTF-8 string to a .NET Framework string, and vice versa.
</summary>
<remarks>
<para>This marshaler is used as a fallback as <c>UnmanagedType.LPUTF8Str</c> does not exist before .NET Framework 4.7.</para>
</remarks>
</member>
<member name="M:Cryville.Common.Interop.LPUTF8StrMarshaler.GetInstance(System.String)">
<summary>
Returns an instance of the custom marshaler.
</summary>
<param name="cookie">String "cookie" parameter that can be used by the custom marshaler.</param>
<returns>An instance of the custom marshaler.</returns>
</member>
<member name="M:Cryville.Common.Interop.LPUTF8StrMarshaler.CleanUpManagedData(System.Object)">
<inheritdoc />
</member>
<member name="M:Cryville.Common.Interop.LPUTF8StrMarshaler.CleanUpNativeData(System.IntPtr)">
<inheritdoc />
</member>
<member name="M:Cryville.Common.Interop.LPUTF8StrMarshaler.GetNativeDataSize">
<inheritdoc />
</member>
<member name="M:Cryville.Common.Interop.LPUTF8StrMarshaler.MarshalManagedToNative(System.Object)">
<inheritdoc />
</member>
<member name="M:Cryville.Common.Interop.LPUTF8StrMarshaler.MarshalNativeToManaged(System.IntPtr)">
<inheritdoc />
</member>
<member name="T:Cryville.Common.Interop.MonoPInvokeCallbackAttribute">
<summary>
Attribute used to annotate functions that will be called back from the unmanaged world.
</summary>
</member>
</members>
</doc>

View File

@@ -16,6 +16,7 @@
<typeparam name="T">The attribute type.</typeparam>
<param name="type">The type containing the member with the specified attribute type.</param>
<returns>The member with the specified attribute type in the specified type. <see langword="null" /> when the member is not found or multiple members are found.</returns>
<exception cref="T:System.ArgumentNullException"><paramref name="type" /> is <see langword="null" />.</exception>
</member>
<member name="M:Cryville.Common.Reflection.FieldLikeHelper.GetMember(System.Type,System.String)">
<summary>
@@ -24,6 +25,7 @@
<param name="type">The type.</param>
<param name="name">The name of the member.</param>
<returns>The member. <see langword="null" /> when the member is not found or multiple members are found.</returns>
<exception cref="T:System.ArgumentNullException"><paramref name="type" /> is <see langword="null" />.</exception>
</member>
<member name="M:Cryville.Common.Reflection.FieldLikeHelper.GetMemberType(System.Reflection.MemberInfo)">
<summary>
@@ -79,6 +81,7 @@
</summary>
<param name="type">The type.</param>
<returns>A simple name of the class.</returns>
<exception cref="T:System.ArgumentNullException"><paramref name="type" /> is <see langword="null" />.</exception>
</member>
<member name="M:Cryville.Common.Reflection.TypeNameHelper.GetNamespaceQualifiedName(System.Type)">
<summary>
@@ -86,6 +89,7 @@
</summary>
<param name="type">The type.</param>
<returns>The namespace qualified name of the class.</returns>
<exception cref="T:System.ArgumentNullException"><paramref name="type" /> is <see langword="null" />.</exception>
</member>
</members>
</doc>

Binary file not shown.

View File

@@ -0,0 +1,33 @@
fileFormatVersion: 2
guid: b77d8642f0f45ee42a9b7fb8e6598782
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,29 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Cryville.Interop.Mono</name>
</assembly>
<members>
<member name="T:Cryville.Interop.Mono.MonoPInvokeCallbackAttribute">
<summary>
Attribute used to annotate functions that will be called back from the unmanaged world.
</summary>
</member>
<member name="P:Cryville.Interop.Mono.MonoPInvokeCallbackAttribute.DelegateType">
<summary>
The type of the delegate that will be calling us back.
</summary>
</member>
<member name="M:Cryville.Interop.Mono.MonoPInvokeCallbackAttribute.#ctor">
<summary>
Constructor for the MonoPInvokeCallbackAttribute.
</summary>
</member>
<member name="M:Cryville.Interop.Mono.MonoPInvokeCallbackAttribute.#ctor(System.Type)">
<summary>
Constructor for the MonoPInvokeCallbackAttribute.
</summary>
<param name="delegateType">The type of the delegate that will be calling us back.</param>
</member>
</members>
</doc>

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0c9e14f904ff5244ebdce8979d78fb48
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Binary file not shown.

View File

@@ -27,6 +27,9 @@
<member name="P:Cryville.Audio.Wasapi.AudioClientWrapper.MaximumLatency">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Wasapi.AudioClientWrapper.Status">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Wasapi.AudioClientWrapper.Position">
<inheritdoc />
</member>
@@ -39,6 +42,9 @@
<member name="M:Cryville.Audio.Wasapi.AudioClientWrapper.Pause">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Wasapi.AudioClientWrapper.Close">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.Wasapi.MMDeviceEnumeratorWrapper">
<summary>
An <see cref="T:Cryville.Audio.IAudioDeviceManager" /> that interact with Wasapi.
@@ -49,6 +55,15 @@
Creates an instance of the <see cref="T:Cryville.Audio.Wasapi.MMDeviceEnumeratorWrapper" /> class.
</summary>
</member>
<member name="M:Cryville.Audio.Wasapi.MMDeviceEnumeratorWrapper.Dispose">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Wasapi.MMDeviceEnumeratorWrapper.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="M:Cryville.Audio.Wasapi.MMDeviceEnumeratorWrapper.GetDevices(Cryville.Audio.DataFlow)">
<inheritdoc />
</member>
@@ -60,6 +75,9 @@
An <see cref="T:Cryville.Audio.IAudioDevice" /> that interacts with Wasapi.
</summary>
</member>
<member name="M:Cryville.Audio.Wasapi.MMDeviceWrapper.Dispose">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Wasapi.MMDeviceWrapper.Dispose(System.Boolean)">
<inheritdoc />
</member>
@@ -86,10 +104,10 @@
<member name="P:Cryville.Audio.Wasapi.MMDeviceWrapper.DefaultFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Wasapi.MMDeviceWrapper.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioShareMode)">
<member name="M:Cryville.Audio.Wasapi.MMDeviceWrapper.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Wasapi.MMDeviceWrapper.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioShareMode)">
<member name="M:Cryville.Audio.Wasapi.MMDeviceWrapper.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<inheritdoc />
</member>
</members>

View File

@@ -4,36 +4,6 @@
<name>Cryville.Audio.WaveformAudio</name>
</assembly>
<members>
<member name="T:Microsoft.Windows.MmSysCom.MultimediaSystemException">
<summary>
Exception occurring in Multimedia System.
</summary>
</member>
<member name="M:Microsoft.Windows.MmSysCom.MultimediaSystemException.#ctor">
<summary>
Creates an instance of the <see cref="T:Microsoft.Windows.MmSysCom.MultimediaSystemException" /> class.
</summary>
</member>
<member name="M:Microsoft.Windows.MmSysCom.MultimediaSystemException.#ctor(System.String)">
<summary>
Creates an instance of the <see cref="T:Microsoft.Windows.MmSysCom.MultimediaSystemException" /> class.
<param name="message">The error message that explains the reason for the exception.</param>
</summary>
</member>
<member name="M:Microsoft.Windows.MmSysCom.MultimediaSystemException.#ctor(System.String,System.Exception)">
<summary>
Creates an instance of the <see cref="T:Microsoft.Windows.MmSysCom.MultimediaSystemException" /> class.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Microsoft.Windows.MmSysCom.MultimediaSystemException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Creates an instance of the <see cref="T:Microsoft.Windows.MmSysCom.MultimediaSystemException" /> class with serialized data.
</summary>
<param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
<param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
</member>
<member name="T:Cryville.Audio.WaveformAudio.WaveOutClient">
<summary>
An <see cref="T:Cryville.Audio.AudioClient" /> that interacts with WinMM.
@@ -43,10 +13,7 @@
<inheritdoc />
</member>
<member name="M:Cryville.Audio.WaveformAudio.WaveOutClient.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>
<inheritdoc />
</member>
<member name="P:Cryville.Audio.WaveformAudio.WaveOutClient.Device">
<inheritdoc />
@@ -60,6 +27,9 @@
<member name="P:Cryville.Audio.WaveformAudio.WaveOutClient.MaximumLatency">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.WaveformAudio.WaveOutClient.Status">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.WaveformAudio.WaveOutClient.Position">
<inheritdoc />
</member>
@@ -72,6 +42,9 @@
<member name="M:Cryville.Audio.WaveformAudio.WaveOutClient.Pause">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.WaveformAudio.WaveOutClient.Close">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.WaveformAudio.WaveOutDevice">
<summary>
An <see cref="T:Cryville.Audio.IAudioDevice" /> that interacts with WinMM.
@@ -107,10 +80,10 @@
<member name="P:Cryville.Audio.WaveformAudio.WaveOutDevice.DefaultFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.WaveformAudio.WaveOutDevice.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioShareMode)">
<member name="M:Cryville.Audio.WaveformAudio.WaveOutDevice.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.WaveformAudio.WaveOutDevice.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioShareMode)">
<member name="M:Cryville.Audio.WaveformAudio.WaveOutDevice.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.WaveformAudio.WaveDeviceManager">
@@ -138,5 +111,35 @@
<member name="M:Cryville.Audio.WaveformAudio.WaveDeviceManager.GetDevices(Cryville.Audio.DataFlow)">
<inheritdoc />
</member>
<member name="T:Microsoft.Windows.MmSysCom.MultimediaSystemException">
<summary>
Exception occurring in Multimedia System.
</summary>
</member>
<member name="M:Microsoft.Windows.MmSysCom.MultimediaSystemException.#ctor">
<summary>
Creates an instance of the <see cref="T:Microsoft.Windows.MmSysCom.MultimediaSystemException" /> class.
</summary>
</member>
<member name="M:Microsoft.Windows.MmSysCom.MultimediaSystemException.#ctor(System.String)">
<summary>
Creates an instance of the <see cref="T:Microsoft.Windows.MmSysCom.MultimediaSystemException" /> class.
<param name="message">The error message that explains the reason for the exception.</param>
</summary>
</member>
<member name="M:Microsoft.Windows.MmSysCom.MultimediaSystemException.#ctor(System.String,System.Exception)">
<summary>
Creates an instance of the <see cref="T:Microsoft.Windows.MmSysCom.MultimediaSystemException" /> class.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Microsoft.Windows.MmSysCom.MultimediaSystemException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Creates an instance of the <see cref="T:Microsoft.Windows.MmSysCom.MultimediaSystemException" /> class with serialized data.
</summary>
<param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
<param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
</member>
</members>
</doc>