Index: other-projects/fft-ddr/summer-2014/trunk/FFDDR.sln
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/FFDDR.sln	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/FFDDR.sln	(revision 29735)
@@ -0,0 +1,28 @@
+﻿
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.21005.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FFDDR", "FFDDR\FFDDR.csproj", "{03F9B4C5-BF0C-48DD-B9AA-8A78DD7315FF}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Debug|x86 = Debug|x86
+		Release|Any CPU = Release|Any CPU
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{03F9B4C5-BF0C-48DD-B9AA-8A78DD7315FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{03F9B4C5-BF0C-48DD-B9AA-8A78DD7315FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{03F9B4C5-BF0C-48DD-B9AA-8A78DD7315FF}.Debug|x86.ActiveCfg = Debug|x86
+		{03F9B4C5-BF0C-48DD-B9AA-8A78DD7315FF}.Debug|x86.Build.0 = Debug|x86
+		{03F9B4C5-BF0C-48DD-B9AA-8A78DD7315FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{03F9B4C5-BF0C-48DD-B9AA-8A78DD7315FF}.Release|Any CPU.Build.0 = Release|Any CPU
+		{03F9B4C5-BF0C-48DD-B9AA-8A78DD7315FF}.Release|x86.ActiveCfg = Release|x86
+		{03F9B4C5-BF0C-48DD-B9AA-8A78DD7315FF}.Release|x86.Build.0 = Release|x86
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
Index: other-projects/fft-ddr/summer-2014/trunk/FFDDR/App.config
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/FFDDR/App.config	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/FFDDR/App.config	(revision 29735)
@@ -0,0 +1,6 @@
+﻿<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <startup> 
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
+    </startup>
+</configuration>
Index: other-projects/fft-ddr/summer-2014/trunk/FFDDR/FFDDR.csproj
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/FFDDR/FFDDR.csproj	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/FFDDR/FFDDR.csproj	(revision 29735)
@@ -0,0 +1,124 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{03F9B4C5-BF0C-48DD-B9AA-8A78DD7315FF}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>FFDDR</RootNamespace>
+    <AssemblyName>FFDDR</AssemblyName>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x86\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <Prefer32Bit>true</Prefer32Bit>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
+    <OutputPath>bin\x86\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <Prefer32Bit>true</Prefer32Bit>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Exocortex.DSP.v1">
+      <HintPath>..\..\..\..\Downloads\ExocortexDSP_v1.2\bin\Debug\Exocortex.DSP.v1.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Kinect, Version=1.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
+    <Reference Include="NAudio">
+      <HintPath>..\packages\NAudio.1.7.2\lib\net35\NAudio.dll</HintPath>
+    </Reference>
+    <Reference Include="Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\..\Downloads\Json60r6\Bin\Net45\Newtonsoft.Json.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Deployment" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Form1.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Form1.Designer.cs">
+      <DependentUpon>Form1.cs</DependentUpon>
+    </Compile>
+    <Compile Include="MicroLibrary.cs" />
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="SkeletonManager.cs" />
+    <Compile Include="WavFrame.cs" />
+    <Compile Include="WavProcessor.cs" />
+    <EmbeddedResource Include="Form1.resx">
+      <DependentUpon>Form1.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <None Include="packages.config" />
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="App.config" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
Index: other-projects/fft-ddr/summer-2014/trunk/FFDDR/Form1.Designer.cs
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/FFDDR/Form1.Designer.cs	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/FFDDR/Form1.Designer.cs	(revision 29735)
@@ -0,0 +1,116 @@
+﻿namespace FFDDR
+{
+    partial class FFDDR
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.mainScreen = new System.Windows.Forms.PictureBox();
+            this.beatBox = new System.Windows.Forms.PictureBox();
+            this.beatBox1 = new System.Windows.Forms.PictureBox();
+            this.screen = new System.Windows.Forms.PictureBox();
+            this.screen2 = new System.Windows.Forms.PictureBox();
+            ((System.ComponentModel.ISupportInitialize)(this.mainScreen)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.beatBox)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.beatBox1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.screen)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.screen2)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // mainScreen
+            // 
+            this.mainScreen.Location = new System.Drawing.Point(417, 12);
+            this.mainScreen.Name = "mainScreen";
+            this.mainScreen.Size = new System.Drawing.Size(292, 260);
+            this.mainScreen.TabIndex = 1;
+            this.mainScreen.TabStop = false;
+            // 
+            // beatBox
+            // 
+            this.beatBox.Location = new System.Drawing.Point(-2, -3);
+            this.beatBox.Name = "beatBox";
+            this.beatBox.Size = new System.Drawing.Size(67, 566);
+            this.beatBox.TabIndex = 2;
+            this.beatBox.TabStop = false;
+            // 
+            // beatBox1
+            // 
+            this.beatBox1.Location = new System.Drawing.Point(1060, -3);
+            this.beatBox1.Name = "beatBox1";
+            this.beatBox1.Size = new System.Drawing.Size(54, 566);
+            this.beatBox1.TabIndex = 3;
+            this.beatBox1.TabStop = false;
+            // 
+            // screen
+            // 
+            this.screen.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.screen.Location = new System.Drawing.Point(71, 12);
+            this.screen.Name = "screen";
+            this.screen.Size = new System.Drawing.Size(330, 330);
+            this.screen.TabIndex = 4;
+            this.screen.TabStop = false;
+            // 
+            // screen2
+            // 
+            this.screen2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.screen2.Location = new System.Drawing.Point(724, 12);
+            this.screen2.Name = "screen2";
+            this.screen2.Size = new System.Drawing.Size(330, 330);
+            this.screen2.TabIndex = 5;
+            this.screen2.TabStop = false;
+            // 
+            // FFDDR
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(1184, 561);
+            this.Controls.Add(this.screen2);
+            this.Controls.Add(this.screen);
+            this.Controls.Add(this.beatBox1);
+            this.Controls.Add(this.beatBox);
+            this.Controls.Add(this.mainScreen);
+            this.Name = "FFDDR";
+            this.Text = "FFDDR";
+            this.Load += new System.EventHandler(this.FFDDR_Load);
+            ((System.ComponentModel.ISupportInitialize)(this.mainScreen)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.beatBox)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.beatBox1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.screen)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.screen2)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.PictureBox mainScreen;
+        private System.Windows.Forms.PictureBox beatBox;
+        private System.Windows.Forms.PictureBox beatBox1;
+        private System.Windows.Forms.PictureBox screen;
+        private System.Windows.Forms.PictureBox screen2;
+    }
+}
+
Index: other-projects/fft-ddr/summer-2014/trunk/FFDDR/Form1.cs
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/FFDDR/Form1.cs	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/FFDDR/Form1.cs	(revision 29735)
@@ -0,0 +1,318 @@
+﻿using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+using Microsoft.Kinect;
+using Newtonsoft.Json;
+using NAudio.Wave;
+using MicroLibrary;
+using System.IO;
+
+
+namespace FFDDR
+{
+    public partial class FFDDR : Form
+    {
+        // Wavprocessor variables
+
+        private string[] wavInfo;
+        private long wavFrameIncrement = 0;
+        private WaveFileReader reader;
+        private WaveOut output;
+        private int m = 0;
+        private Graphics graphics;
+        private MicroTimer timer;
+        private int beatBoxChanger = 0;
+        private long timeSinceLastBeat = 0;
+
+
+        // SkeletonTracker variables
+
+        private const float RenderWidth = 640.0f;
+        private const float RenderHeight = 480.0f;
+        private KinectSensor sensor;
+        private Skeleton[] skeletonArray;
+
+        private SkeletonManager skeletonManager;
+
+        private PictureBox[] pboxShowCalibrated;
+       
+        private Vector4 centreScreen;
+        private bool twoPlayer = false;
+        private float deadspotSize = 50;
+
+
+        public FFDDR()
+        {
+            InitializeComponent();
+        }
+
+        private void FFDDR_Load(object sender, EventArgs e)
+        {
+            #region Beat detect
+
+            // The song to convert + read
+            reader = new WaveFileReader(@"C:\Users\Chris\Downloads\become.wav");
+            output = new WaveOut();
+            output.Init(reader);
+            output.Play();
+            graphics = mainScreen.CreateGraphics();
+
+            this.DoubleBuffered = true;
+
+            // The song to play
+            wavInfo = WavProcessor.ReadWav(@"C:\Users\Chris\Downloads\", "become", 1024, 30);
+
+           
+
+            // Play one buffer every (songLength/temp.length(numbuffer)) milliseconds. Both values are contained in the Json string[]
+            WavFrame temp = (WavFrame)JsonConvert.DeserializeObject<WavFrame>(wavInfo[0]);
+
+            timer = new MicroTimer();
+            timer.Interval = (int)((temp.songLength / wavInfo.Length) * 1000);
+
+            // Have the ability to ignore late-firing timer events. Enable if drift issues exist, currently works with.
+            // timer.IgnoreEventIfLateBy = (int)((temp.songLength / wavInfo.Length) )/ 4;
+
+            timer.Enabled = true;
+            timer.MicroTimerElapsed += new MicroTimer.MicroTimerElapsedEventHandler(timerTick);
+
+            #endregion
+            #region Initialize and start Kinect
+
+
+
+            foreach (var potentialSensor in KinectSensor.KinectSensors)
+            {
+                if (potentialSensor.Status == KinectStatus.Connected)
+                {
+                    this.sensor = potentialSensor;
+                    break;
+                }
+            }
+
+
+            if (null != this.sensor)
+            {
+                // Turn on the skeleton stream to receive skeleton frames
+                this.sensor.SkeletonStream.Enable();
+
+                // Add an event handler to be called whenever there is new color frame data
+                this.sensor.SkeletonFrameReady += this.SensorSkeletonFrameReady;
+
+                // Start the sensor!
+                try
+                {
+
+                    this.sensor.Start();
+                    sensor.ElevationAngle = -5;
+                }
+                catch (IOException)
+                {
+                    this.sensor = null;
+                }
+            }
+
+            #endregion
+
+            skeletonManager = new SkeletonManager(6);
+            graphics = screen.CreateGraphics();
+            centreScreen.X = screen.Width / 2;
+            centreScreen.Z = screen.Height / 2;
+
+            #region Display pictureboxes showing calibration information
+            pboxShowCalibrated = new PictureBox[6];
+            for (int i = 0; i < pboxShowCalibrated.Length; i++)
+            {
+
+                pboxShowCalibrated[i] = new PictureBox();
+                pboxShowCalibrated[i].Height = 40;
+                pboxShowCalibrated[i].Width = 40;
+                pboxShowCalibrated[i].Left = this.Width - (pboxShowCalibrated[i].Width + 17);
+                pboxShowCalibrated[i].Top = (i * 50);
+                pboxShowCalibrated[i].BackColor = Color.DarkGray;
+                pboxShowCalibrated[i].Visible = true;
+                this.Controls.Add(pboxShowCalibrated[i]);
+            }
+            #endregion
+        }
+
+        private void timerTick(object sender, MicroTimerEventArgs args)
+        {
+            timeSinceLastBeat++;
+            wavFrameIncrement++;
+
+            if (mainScreen.InvokeRequired)
+            {
+                //mainScreen.Invoke(new MethodInvoker(delegate { mainScreen.Refresh(); }));
+                mainScreen.Invoke(new MethodInvoker(delegate { mainScreen.CreateGraphics().FillRectangle(new SolidBrush(Color.White), 0, 0, mainScreen.Width, mainScreen.Height); }));
+            }
+
+            
+
+            // When song finished this is out of bounds. fix.
+            WavFrame currentFrame = (WavFrame)JsonConvert.DeserializeObject<WavFrame>(wavInfo[wavFrameIncrement]);
+            for (int j = 0; j < currentFrame.bandPowers.Length; j++)
+            {
+                // Calling control change drawing beat visualizer bands) from another thread. 
+                if (mainScreen.InvokeRequired)
+                {
+                    mainScreen.Invoke(new MethodInvoker(delegate { mainScreen.CreateGraphics().DrawRectangle(new Pen(Color.DarkBlue), j * 15, 0, 10, 6 * currentFrame.bandPowers[j]); }));
+                }
+            }
+
+            // If a beat exists on the current frame, display it via BeatBox
+            if (currentFrame.beatExists == true)
+            {
+                if (beatBox.InvokeRequired)
+                {
+                    beatBox.Invoke(new MethodInvoker(delegate { ChangeBeatBox(); }));
+
+                }
+
+            }
+        }
+
+        private void ChangeBeatBox()
+        {
+
+            // Alternate the box which chanhges to the beat.
+            graphics = mainScreen.CreateGraphics();
+
+            if (timeSinceLastBeat >= 20)
+            {
+                beatBoxChanger++;
+                timeSinceLastBeat = 0;
+                PictureBox p;
+                if ((beatBoxChanger %= 2) == 1)
+                {
+                    p = beatBox;
+                }
+                else p = beatBox1;
+
+                if (beatBox.BackColor == Color.DarkBlue)
+                {
+                    p.BackColor = Color.Turquoise;
+                }
+                else p.BackColor = Color.DarkBlue;
+            }
+        }
+
+        private void SensorSkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
+        {
+            skeletonArray = new Skeleton[0];
+
+            using (SkeletonFrame skeletonFrame = e.OpenSkeletonFrame())
+            {
+                if (skeletonFrame != null)
+                {
+                    skeletonArray = new Skeleton[skeletonFrame.SkeletonArrayLength];
+                    skeletonFrame.CopySkeletonDataTo(skeletonArray);
+                    skeletonManager.Update(skeletonArray);
+
+                }
+                if (skeletonArray.Length != 0)
+                {
+                    //screen.Refresh();
+                    //screen2.Refresh();
+
+                    
+                    twoPlayer = false;
+                    for (int i = 0; i < skeletonArray.Length; i++)
+                    {
+                        if (skeletonManager.calibrated[i] == false) skeletonManager.Calibrate(i);
+
+                        if (skeletonManager.calibrated[i] == true)
+                        {
+
+                            if (skeletonManager.skeletons[i].TrackingState == SkeletonTrackingState.NotTracked)
+                            {
+                                skeletonManager.calibrated[i] = false;
+                                pboxShowCalibrated[i].BackColor = Color.DarkGray;
+                            }
+                            else
+                            {
+
+                                pboxShowCalibrated[i].BackColor = Color.Cyan;
+                                if (twoPlayer == false) graphics = screen.CreateGraphics();
+                                else graphics = screen2.CreateGraphics();
+
+                                twoPlayer = true;
+
+                                int quadrentLeft = skeletonManager.FindQuadrant(skeletonManager.leftFoot[i].Z, skeletonManager.leftFoot[i].X, skeletonManager.centre[i]);
+                                int quadrentRight = skeletonManager.FindQuadrant(skeletonManager.rightFoot[i].Z, skeletonManager.rightFoot[i].X, skeletonManager.centre[i]);
+
+                                graphics.FillRectangle(new SolidBrush(Color.White), 0, 0, screen.Width, screen.Height);
+
+                                DrawQuadrent(quadrentLeft, graphics);
+                                DrawQuadrent(quadrentRight, graphics);
+
+                                float xCoordLeft = centreScreen.X + (skeletonManager.leftFoot[i].X - skeletonManager.centre[i].X) * (screen.Width / 2) / 0.8f;
+                                float yCoordLeft = centreScreen.Z + (skeletonManager.leftFoot[i].Z - skeletonManager.centre[i].Z) * (screen.Height / 2) / 0.8f;
+                                float xCoordRight = centreScreen.X + (skeletonManager.rightFoot[i].X - skeletonManager.centre[i].X) * (screen.Width / 2) / 0.8f;
+                                float yCoordRight = centreScreen.Z + (skeletonManager.rightFoot[i].Z - skeletonManager.centre[i].Z) * (screen.Height / 2) / 0.8f;
+
+
+
+                                graphics.DrawRectangle(new Pen(Color.Black),
+                                    (int)(xCoordLeft),
+                                    (int)(yCoordLeft),
+                                    20, 20);
+
+                                graphics.DrawRectangle(new Pen(Color.Black),
+                                    (int)(xCoordRight),
+                                    (int)(yCoordRight),
+                                    20, 20);
+
+
+
+                            }
+
+                        }
+
+
+
+
+                    }
+
+
+
+                }
+
+            }
+
+
+        }
+
+        private void DrawQuadrent(int num, Graphics graphics)
+        {
+            if (num == 1)
+            {
+                graphics.FillRectangle(new SolidBrush(Color.Red), 0, 0, screen.Width / 2, screen.Height / 2);
+            }
+            else if (num == 2)
+            {
+                graphics.FillRectangle(new SolidBrush(Color.Blue), screen.Width / 2, 0, screen.Width / 2, screen.Height / 2);
+            }
+            else if (num == 3)
+            {
+                graphics.FillRectangle(new SolidBrush(Color.Green), screen.Height / 2, screen.Width / 2, screen.Width / 2, screen.Height / 2);
+            }
+            else if (num == 4)
+            {
+                graphics.FillRectangle(new SolidBrush(Color.Yellow), 0, screen.Height / 2, screen.Width / 2, screen.Height / 2);
+            }
+            graphics.FillEllipse(new SolidBrush(Color.Black), screen.Width / 2 - (deadspotSize / 2), screen.Height / 2 - (deadspotSize / 2), deadspotSize, deadspotSize);
+
+
+
+        }
+
+    }
+}
Index: other-projects/fft-ddr/summer-2014/trunk/FFDDR/Form1.resx
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/FFDDR/Form1.resx	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/FFDDR/Form1.resx	(revision 29735)
@@ -0,0 +1,120 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
Index: other-projects/fft-ddr/summer-2014/trunk/FFDDR/MicroLibrary.cs
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/FFDDR/MicroLibrary.cs	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/FFDDR/MicroLibrary.cs	(revision 29735)
@@ -0,0 +1,233 @@
+﻿using System;
+
+namespace MicroLibrary
+{
+    /// <summary>
+    /// MicroStopwatch class
+    /// </summary>
+    public class MicroStopwatch : System.Diagnostics.Stopwatch
+    {
+        readonly double _microSecPerTick =
+            1000000D / System.Diagnostics.Stopwatch.Frequency;
+
+        public MicroStopwatch()
+        {
+            if (!System.Diagnostics.Stopwatch.IsHighResolution)
+            {
+                throw new Exception("On this system the high-resolution " +
+                                    "performance counter is not available");
+            }
+        }
+
+        public long ElapsedMicroseconds
+        {
+            get
+            {
+                return (long)(ElapsedTicks * _microSecPerTick);
+            }
+        }
+    }
+
+    /// <summary>
+    /// MicroTimer class
+    /// </summary>
+    public class MicroTimer
+    {
+        public delegate void MicroTimerElapsedEventHandler(
+                             object sender,
+                             MicroTimerEventArgs timerEventArgs);
+        public event MicroTimerElapsedEventHandler MicroTimerElapsed;
+
+        System.Threading.Thread _threadTimer = null;
+        long _ignoreEventIfLateBy = long.MaxValue;
+        long _timerIntervalInMicroSec = 0;
+        bool _stopTimer = true;
+
+        public MicroTimer()
+        {
+        }
+
+        public MicroTimer(long timerIntervalInMicroseconds)
+        {
+            Interval = timerIntervalInMicroseconds;
+        }
+
+        public long Interval
+        {
+            get
+            {
+                return System.Threading.Interlocked.Read(
+                    ref _timerIntervalInMicroSec);
+            }
+            set
+            {
+                System.Threading.Interlocked.Exchange(
+                    ref _timerIntervalInMicroSec, value);
+            }
+        }
+
+        public long IgnoreEventIfLateBy
+        {
+            get
+            {
+                return System.Threading.Interlocked.Read(
+                    ref _ignoreEventIfLateBy);
+            }
+            set
+            {
+                System.Threading.Interlocked.Exchange(
+                    ref _ignoreEventIfLateBy, value <= 0 ? long.MaxValue : value);
+            }
+        }
+
+        public bool Enabled
+        {
+            set
+            {
+                if (value)
+                {
+                    Start();
+                }
+                else
+                {
+                    Stop();
+                }
+            }
+            get
+            {
+                return (_threadTimer != null && _threadTimer.IsAlive);
+            }
+        }
+
+        public void Start()
+        {
+            if (Enabled || Interval <= 0)
+            {
+                return;
+            }
+
+            _stopTimer = false;
+
+            System.Threading.ThreadStart threadStart = delegate()
+            {
+                NotificationTimer(ref _timerIntervalInMicroSec,
+                                  ref _ignoreEventIfLateBy,
+                                  ref _stopTimer);
+            };
+
+            _threadTimer = new System.Threading.Thread(threadStart);
+            _threadTimer.Priority = System.Threading.ThreadPriority.Highest;
+            _threadTimer.Start();
+        }
+
+        public void Stop()
+        {
+            _stopTimer = true;
+        }
+
+        public void StopAndWait()
+        {
+            StopAndWait(System.Threading.Timeout.Infinite);
+        }
+
+        public bool StopAndWait(int timeoutInMilliSec)
+        {
+            _stopTimer = true;
+
+            if (!Enabled || _threadTimer.ManagedThreadId ==
+                System.Threading.Thread.CurrentThread.ManagedThreadId)
+            {
+                return true;
+            }
+
+            return _threadTimer.Join(timeoutInMilliSec);
+        }
+
+        public void Abort()
+        {
+            _stopTimer = true;
+
+            if (Enabled)
+            {
+                _threadTimer.Abort();
+            }
+        }
+
+        void NotificationTimer(ref long timerIntervalInMicroSec,
+                               ref long ignoreEventIfLateBy,
+                               ref bool stopTimer)
+        {
+            int  timerCount = 0;
+            long nextNotification = 0;
+
+            MicroStopwatch microStopwatch = new MicroStopwatch();
+            microStopwatch.Start();
+
+            while (!stopTimer)
+            {
+                long callbackFunctionExecutionTime =
+                    microStopwatch.ElapsedMicroseconds - nextNotification;
+
+                long timerIntervalInMicroSecCurrent =
+                    System.Threading.Interlocked.Read(ref timerIntervalInMicroSec);
+                long ignoreEventIfLateByCurrent =
+                    System.Threading.Interlocked.Read(ref ignoreEventIfLateBy);
+
+                nextNotification += timerIntervalInMicroSecCurrent;
+                timerCount++;
+                long elapsedMicroseconds = 0;
+
+                while ( (elapsedMicroseconds = microStopwatch.ElapsedMicroseconds)
+                        < nextNotification)
+                {
+                    System.Threading.Thread.SpinWait(10);
+                }
+
+                long timerLateBy = elapsedMicroseconds - nextNotification;
+
+                if (timerLateBy >= ignoreEventIfLateByCurrent)
+                {
+                    continue;
+                }
+
+                MicroTimerEventArgs microTimerEventArgs =
+                     new MicroTimerEventArgs(timerCount,
+                                             elapsedMicroseconds,
+                                             timerLateBy,
+                                             callbackFunctionExecutionTime);
+                MicroTimerElapsed(this, microTimerEventArgs);
+            }
+
+            microStopwatch.Stop();
+        }
+    }
+
+    /// <summary>
+    /// MicroTimer Event Argument class
+    /// </summary>
+    public class MicroTimerEventArgs : EventArgs
+    {
+        // Simple counter, number times timed event (callback function) executed
+        public int  TimerCount { get; private set; }
+
+        // Time when timed event was called since timer started
+        public long ElapsedMicroseconds { get; private set; }
+
+        // How late the timer was compared to when it should have been called
+        public long TimerLateBy { get; private set; }
+
+        // Time it took to execute previous call to callback function (OnTimedEvent)
+        public long CallbackFunctionExecutionTime { get; private set; }
+
+        public MicroTimerEventArgs(int  timerCount,
+                                   long elapsedMicroseconds,
+                                   long timerLateBy,
+                                   long callbackFunctionExecutionTime)
+        {
+            TimerCount = timerCount;
+            ElapsedMicroseconds = elapsedMicroseconds;
+            TimerLateBy = timerLateBy;
+            CallbackFunctionExecutionTime = callbackFunctionExecutionTime;
+        }
+    }
+}
Index: other-projects/fft-ddr/summer-2014/trunk/FFDDR/Program.cs
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/FFDDR/Program.cs	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/FFDDR/Program.cs	(revision 29735)
@@ -0,0 +1,22 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace FFDDR
+{
+    static class Program
+    {
+        /// <summary>
+        /// The main entry point for the application.
+        /// </summary>
+        [STAThread]
+        static void Main()
+        {
+            Application.EnableVisualStyles();
+            Application.SetCompatibleTextRenderingDefault(false);
+            Application.Run(new FFDDR());
+        }
+    }
+}
Index: other-projects/fft-ddr/summer-2014/trunk/FFDDR/Properties/AssemblyInfo.cs
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/FFDDR/Properties/AssemblyInfo.cs	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/FFDDR/Properties/AssemblyInfo.cs	(revision 29735)
@@ -0,0 +1,36 @@
+﻿using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("FFDDR")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("FFDDR")]
+[assembly: AssemblyCopyright("Copyright ©  2015")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("ec9f300c-99da-48d7-992f-dae74982c688")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
Index: other-projects/fft-ddr/summer-2014/trunk/FFDDR/Properties/Resources.Designer.cs
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/FFDDR/Properties/Resources.Designer.cs	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/FFDDR/Properties/Resources.Designer.cs	(revision 29735)
@@ -0,0 +1,71 @@
+﻿//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.34014
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace FFDDR.Properties
+{
+
+
+    /// <summary>
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
+    /// </summary>
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class Resources
+    {
+
+        private static global::System.Resources.ResourceManager resourceMan;
+
+        private static global::System.Globalization.CultureInfo resourceCulture;
+
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal Resources()
+        {
+        }
+
+        /// <summary>
+        ///   Returns the cached ResourceManager instance used by this class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager
+        {
+            get
+            {
+                if ((resourceMan == null))
+                {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("FFDDR.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+
+        /// <summary>
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture
+        {
+            get
+            {
+                return resourceCulture;
+            }
+            set
+            {
+                resourceCulture = value;
+            }
+        }
+    }
+}
Index: other-projects/fft-ddr/summer-2014/trunk/FFDDR/Properties/Resources.resx
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/FFDDR/Properties/Resources.resx	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/FFDDR/Properties/Resources.resx	(revision 29735)
@@ -0,0 +1,117 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
Index: other-projects/fft-ddr/summer-2014/trunk/FFDDR/Properties/Settings.Designer.cs
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/FFDDR/Properties/Settings.Designer.cs	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/FFDDR/Properties/Settings.Designer.cs	(revision 29735)
@@ -0,0 +1,30 @@
+﻿//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.34014
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace FFDDR.Properties
+{
+
+
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+    {
+
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+        public static Settings Default
+        {
+            get
+            {
+                return defaultInstance;
+            }
+        }
+    }
+}
Index: other-projects/fft-ddr/summer-2014/trunk/FFDDR/Properties/Settings.settings
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/FFDDR/Properties/Settings.settings	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/FFDDR/Properties/Settings.settings	(revision 29735)
@@ -0,0 +1,7 @@
+﻿<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
+  <Profiles>
+    <Profile Name="(Default)" />
+  </Profiles>
+  <Settings />
+</SettingsFile>
Index: other-projects/fft-ddr/summer-2014/trunk/FFDDR/SkeletonManager.cs
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/FFDDR/SkeletonManager.cs	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/FFDDR/SkeletonManager.cs	(revision 29735)
@@ -0,0 +1,119 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Microsoft.Kinect;
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace FFDDR
+{
+    class SkeletonManager
+    {
+        public Skeleton[] skeletons;
+        public bool[] calibrated, calibrating, currentlyTracked;
+        public Vector4[] centre;
+        public Vector4[] leftFoot;
+        public Vector4[] rightFoot;
+        public Vector4[] deadSpot;
+        public float   deadSpotRadius = 0.2f;
+
+
+        public SkeletonManager(int numSkeletons)
+        {
+            skeletons = new Skeleton[numSkeletons];
+            calibrated = new bool[numSkeletons];
+            calibrating = new bool[numSkeletons];
+            currentlyTracked = new bool[numSkeletons];
+            centre = new Vector4[numSkeletons];
+            leftFoot = new Vector4[numSkeletons];
+            rightFoot = new Vector4[numSkeletons];
+            deadSpot = new Vector4[numSkeletons];
+
+            
+            for (int i = 0; i < numSkeletons; i++)
+            {
+                calibrated[i] = false;
+                calibrating[i] = false;
+                currentlyTracked[i] = false;
+
+            }
+        }
+        public void Update(Skeleton[] newSkeletons)
+        {
+            skeletons = newSkeletons;
+
+            for (int i = 0; i < skeletons.Length; i++)
+            {
+                if(calibrated[i] == true){
+                    leftFoot[i].X = skeletons[i].Joints[JointType.AnkleLeft].Position.X;
+                    leftFoot[i].Y = skeletons[i].Joints[JointType.AnkleLeft].Position.Y;
+                    leftFoot[i].Z = skeletons[i].Joints[JointType.AnkleLeft].Position.Z;
+                    rightFoot[i].X = skeletons[i].Joints[JointType.AnkleRight].Position.X;
+                    rightFoot[i].Y = skeletons[i].Joints[JointType.AnkleRight].Position.Y;
+                    rightFoot[i].Z = skeletons[i].Joints[JointType.AnkleRight].Position.Z;
+
+
+                }
+            }
+
+        }
+
+        public void Calibrate(int skeletonNo)
+        {
+            if(calibrated[skeletonNo] == false && calibrating[skeletonNo] == false &&
+                skeletons[skeletonNo].Joints[JointType.HandLeft].Position.Y > skeletons[skeletonNo].Joints[JointType.Head].Position.Y)
+            {
+                calibrating[skeletonNo] = true;
+                centre[skeletonNo] = calculateCentre(skeletons[skeletonNo]);
+
+                deadSpot[skeletonNo].X = centre[skeletonNo].X - deadSpotRadius/2;
+                deadSpot[skeletonNo].Z = centre[skeletonNo].Z - deadSpotRadius/2;
+
+                calibrating[skeletonNo] = false;
+                calibrated[skeletonNo] = true;
+            }
+        }
+
+        private Vector4 calculateCentre(Skeleton skel)
+        {
+            Vector4 temp = new Vector4();
+            temp.X = (skel.Joints[JointType.FootLeft].Position.X + skel.Joints[JointType.FootRight].Position.X) / 2;
+            temp.Y = (skel.Joints[JointType.FootLeft].Position.Y + skel.Joints[JointType.FootRight].Position.Y) / 2;
+            temp.Z = (skel.Joints[JointType.FootLeft].Position.Z + skel.Joints[JointType.FootRight].Position.Z) / 2;
+
+            return temp;
+        }
+
+        public int FindQuadrant(float Z, float X, Vector4 center)
+        {
+            if (Z < (center.Z + 0.8) && Z > (center.Z - 0.8) && X < (center.X + 0.8) && X > (center.X - 0.8))
+            {
+                if (Z > center.Z)
+                {
+                    if (X < center.X)
+                    {
+                        return 4;
+                    }
+                    else
+                    {
+                        return 3;
+                    }
+                }
+                else
+                {
+                    if (X < center.X)
+                    {
+                        return 1;
+                    }
+                    else
+                    {
+                        return 2;
+                    }
+                }
+            }
+            else return 0;
+        }
+    }
+}
Index: other-projects/fft-ddr/summer-2014/trunk/FFDDR/WavFrame.cs
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/FFDDR/WavFrame.cs	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/FFDDR/WavFrame.cs	(revision 29735)
@@ -0,0 +1,30 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+
+namespace FFDDR
+{
+    class WavFrame
+    {
+        public int bufferSize;
+        public double songLength;
+        public bool beatExists;
+        public float[] bandPowers;
+        
+        
+
+        public WavFrame(double SongLength, int BufferSize, float[] BandPowers, bool BeatExists)
+        {
+            this.songLength = SongLength;
+            this.bufferSize = BufferSize;
+            this.bandPowers = BandPowers;
+            this.beatExists = BeatExists;
+        }
+
+
+
+    }
+}
Index: other-projects/fft-ddr/summer-2014/trunk/FFDDR/WavProcessor.cs
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/FFDDR/WavProcessor.cs	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/FFDDR/WavProcessor.cs	(revision 29735)
@@ -0,0 +1,206 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Collections;
+//using NAudio.Wave;
+using Exocortex.DSP;
+using Newtonsoft.Json;
+using System.IO;
+using System.Diagnostics;
+
+using NAudio.Wave;
+
+namespace FFDDR
+{
+    static class WavProcessor
+    {
+
+        public static string[] ReadWav(string location, string wavName, int bufferSize, int numBands)
+        {
+            List<float[]> bandPowerList = new List<float[]>();
+            TimeSpan songLength;
+            
+            using (WaveFileReader reader = new WaveFileReader(location + wavName + ".wav"))
+            {
+                songLength = reader.TotalTime;
+                // Read the wav file, and save in array in segments of buffersize
+                float[] buffer = new float[bufferSize];
+                List<float[]> samples = new List<float[]>();
+                
+                while((buffer = reader.ReadNextSampleFrame()) != null){
+                    samples.Add(buffer);
+                }
+
+
+                // Convert wav file to mono if it's stereo
+                List<ComplexF> monoSamples = new List<ComplexF>();
+
+                for (int p = 0; p < samples.Count; p++)
+                {
+                    ComplexF temp = new ComplexF();
+
+                    for (int j = 0; j < reader.WaveFormat.Channels; j++)
+                    {
+                        temp.Re += samples[(int)p][j];
+
+                    }
+                    temp.Re = (temp.Re / (float)(reader.WaveFormat.Channels));
+
+                    temp.Im = 0;
+                    monoSamples.Add(temp);
+
+                }
+
+                // Construct hanning window 
+
+
+
+
+
+
+
+                ComplexF[] monoArray = monoSamples.ToArray();
+                ComplexF[] completeFFT = new ComplexF[monoArray.Length];
+
+                int segments = samples.Count / bufferSize;
+
+                // For each buffer
+                for (int p = 0; p < segments; p++)
+                {
+
+                    //Perform fft on one buffer 
+                    ComplexF[] temp = new ComplexF[bufferSize];
+                    for (int j = 0; j < temp.Length; j++)
+                    {
+                        temp[j] = monoArray[p * bufferSize + j];
+                    }
+                    Fourier.FFT(temp, FourierDirection.Forward);
+
+                    // Copy completed FFT into the final array. This isn't actually used, but it potentially could be, so I've left it in.
+                    for (int j = 0; j < temp.Length; j++)
+                    {
+                        completeFFT[p * bufferSize + j] = temp[j];
+
+                    }
+
+
+                    //////////////////////// Create bands and calculate their power \\\\\\\\\\\\\\\\\\\\
+                    // Devisor used to only get values we're interested in.
+                    // default 2 (as last half of fft is a mirror). Try 4 to ignore higher frequencies. Must be power of 2 
+                    int freqDevisor = 4;
+
+                    ComplexF[] tempFinished = new ComplexF[temp.Length/freqDevisor];
+
+                    
+                    for (int j = 0; j < (temp.Length / freqDevisor); j++)
+                    {
+                        tempFinished[j] = temp[j];
+                    }
+
+                    int samplesPerBand = (int)Math.Floor(((float)tempFinished.Length) / (float)numBands);
+                    float[] powers = new float[numBands];
+
+                    //////////////////////// Calculate average power(intensity) for each band \\\\\\\\\\\\\\\\
+                    // Note that there is a sqrt funciton performed...might be better to leave out
+                    for (int d = 0; d < numBands; d++)
+                    {
+                        float bandAvg = 0;
+                        for (int b = 0; b < samplesPerBand; b++)
+                        {
+                            float tempIntensity = (float)(Math.Pow((Math.Pow(tempFinished[d * samplesPerBand + b].Re, 2) + Math.Pow(tempFinished[d * samplesPerBand + b].Im, 2)),0.5));
+                            bandAvg += tempIntensity;
+                        }
+                        bandAvg = bandAvg / samplesPerBand;
+                        powers[d] = bandAvg;
+                    }
+                    bandPowerList.Add(powers);
+                }
+
+
+            }
+
+            bool[] globalBeat = CalculateBeats(bandPowerList, songLength);
+
+            // Convert to JSON
+            string[] bandPowerJson = new string[bandPowerList.Count];
+            for (int i = 0; i < bandPowerList.Count; i++)
+            {
+                bandPowerJson[i] = JsonConvert.SerializeObject(new WavFrame(songLength.TotalMilliseconds, bufferSize,bandPowerList[i], globalBeat[i]),Formatting.Indented); 
+            }
+
+            // Save band values into file
+            File.WriteAllLines(@"C:\Users\Chris\Downloads\json.txt", bandPowerJson);
+
+            
+            // Caclulate beats
+
+            
+            return bandPowerJson;     
+        }
+
+
+
+        public static bool[] CalculateBeats(List<float[]> bands, TimeSpan songLength)
+        {
+            int longTermAverageSamples = 100;    
+
+            float longAverage = 0;
+            
+
+            
+            List<List<float>> bandHistoryList = new List<List<float>>();
+            List<float[]> deltaHistory = new List<float[]>();
+            float[] longAverageArray = new float[bands[0].Length];
+            float[] beatList = new float[bands[0].Length];
+            bool[] globalBeat = new bool[bands.Count];
+
+            for (int i = 0; i < bands.Count; i++)
+            {
+                
+                bandHistoryList.Add(new List<float>());
+                int numBeats = 0;
+
+                for (int j = 0; j < bands[0].Length; j++)
+                {
+                    // Populate the history with the next deltArray
+                    bandHistoryList[i].Add(bands[i][j]);
+                    longAverage = 0;
+                    int tempValue = 0;
+
+                    // Calculate average intensity over long term
+                    for (int m = 0; (m < longTermAverageSamples) && (m < bandHistoryList[i].Count); m++)
+                    {
+                        longAverage += bandHistoryList[i][m];
+                        tempValue = m;
+                    }
+                    longAverage = longAverage / (tempValue + 1);
+                    if (bands[i][j] > (longAverage * 1.1f))
+                    {
+                        beatList[j] = 1;
+                        numBeats++;
+                    }
+                    else
+                    {
+                        beatList[j] = 0;
+                    }
+
+
+                }
+
+                if(numBeats > 0){
+                    globalBeat[i] = true;
+
+                }
+                else
+                {
+                    globalBeat[i] = false;
+                }
+                
+            }
+            return globalBeat;
+        }
+        
+    }
+}
Index: other-projects/fft-ddr/summer-2014/trunk/FFDDR/packages.config
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/FFDDR/packages.config	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/FFDDR/packages.config	(revision 29735)
@@ -0,0 +1,4 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="NAudio" version="1.7.2" targetFramework="net45" />
+</packages>
Index: other-projects/fft-ddr/summer-2014/trunk/packages/NAudio.1.7.2/NAudio.1.7.2.nuspec
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/packages/NAudio.1.7.2/NAudio.1.7.2.nuspec	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/packages/NAudio.1.7.2/NAudio.1.7.2.nuspec	(revision 29735)
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
+  <metadata>
+    <id>NAudio</id>
+    <version>1.7.2</version>
+    <authors>Mark Heath</authors>
+    <owners>Mark Heath</owners>
+    <licenseUrl>http://naudio.codeplex.com/license</licenseUrl>
+    <projectUrl>http://naudio.codeplex.com/</projectUrl>
+    <requireLicenseAcceptance>false</requireLicenseAcceptance>
+    <description>NAudio, an audio library for .NET</description>
+    <tags>C# .NET audio sound</tags>
+  </metadata>
+</package>
Index: other-projects/fft-ddr/summer-2014/trunk/packages/NAudio.1.7.2/lib/net35/NAudio.XML
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/packages/NAudio.1.7.2/lib/net35/NAudio.XML	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/packages/NAudio.1.7.2/lib/net35/NAudio.XML	(revision 29735)
@@ -0,0 +1,20865 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>NAudio</name>
+    </assembly>
+    <members>
+        <member name="T:NAudio.Codecs.ALawDecoder">
+            <summary>
+            a-law decoder
+            based on code from:
+            http://hazelware.luggle.com/tutorials/mulawcompression.html
+            </summary>
+        </member>
+        <member name="F:NAudio.Codecs.ALawDecoder.ALawDecompressTable">
+            <summary>
+            only 512 bytes required, so just use a lookup
+            </summary>
+        </member>
+        <member name="M:NAudio.Codecs.ALawDecoder.ALawToLinearSample(System.Byte)">
+            <summary>
+            Converts an a-law encoded byte to a 16 bit linear sample
+            </summary>
+            <param name="aLaw">a-law encoded byte</param>
+            <returns>Linear sample</returns>
+        </member>
+        <member name="T:NAudio.Codecs.ALawEncoder">
+            <summary>
+            A-law encoder
+            </summary>
+        </member>
+        <member name="M:NAudio.Codecs.ALawEncoder.LinearToALawSample(System.Int16)">
+            <summary>
+            Encodes a single 16 bit sample to a-law
+            </summary>
+            <param name="sample">16 bit PCM sample</param>
+            <returns>a-law encoded byte</returns>
+        </member>
+        <member name="T:NAudio.Codecs.G722Codec">
+            <summary>
+            SpanDSP - a series of DSP components for telephony
+            
+            g722_decode.c - The ITU G.722 codec, decode part.
+            
+            Written by Steve Underwood &lt;steveu@coppice.org&gt;
+            
+            Copyright (C) 2005 Steve Underwood
+            Ported to C# by Mark Heath 2011
+            
+            Despite my general liking of the GPL, I place my own contributions 
+            to this code in the public domain for the benefit of all mankind -
+            even the slimy ones who might try to proprietize my work and use it
+            to my detriment.
+             
+            Based in part on a single channel G.722 codec which is:
+            Copyright (c) CMU 1993
+            Computer Science, Speech Group
+            Chengxiang Lu and Alex Hauptmann
+            </summary>
+        </member>
+        <member name="M:NAudio.Codecs.G722Codec.Saturate(System.Int32)">
+            <summary>
+            hard limits to 16 bit samples
+            </summary>
+        </member>
+        <member name="M:NAudio.Codecs.G722Codec.Decode(NAudio.Codecs.G722CodecState,System.Int16[],System.Byte[],System.Int32)">
+            <summary>
+            Decodes a buffer of G722
+            </summary>
+            <param name="state">Codec state</param>
+            <param name="outputBuffer">Output buffer (to contain decompressed PCM samples)</param>
+            <param name="inputG722Data"></param>
+            <param name="inputLength">Number of bytes in input G722 data to decode</param>
+            <returns>Number of samples written into output buffer</returns>
+        </member>
+        <member name="M:NAudio.Codecs.G722Codec.Encode(NAudio.Codecs.G722CodecState,System.Byte[],System.Int16[],System.Int32)">
+            <summary>
+            Encodes a buffer of G722
+            </summary>
+            <param name="state">Codec state</param>
+            <param name="outputBuffer">Output buffer (to contain encoded G722)</param>
+            <param name="inputBuffer">PCM 16 bit samples to encode</param>
+            <param name="inputBufferCount">Number of samples in the input buffer to encode</param>
+            <returns>Number of encoded bytes written into output buffer</returns>
+        </member>
+        <member name="T:NAudio.Codecs.G722CodecState">
+            <summary>
+            Stores state to be used between calls to Encode or Decode
+            </summary>
+        </member>
+        <member name="M:NAudio.Codecs.G722CodecState.#ctor(System.Int32,NAudio.Codecs.G722Flags)">
+            <summary>
+            Creates a new instance of G722 Codec State for a 
+            new encode or decode session
+            </summary>
+            <param name="rate">Bitrate (typically 64000)</param>
+            <param name="options">Special options</param>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.ItuTestMode">
+            <summary>
+            ITU Test Mode
+            TRUE if the operating in the special ITU test mode, with the band split filters disabled.
+            </summary>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.Packed">
+            <summary>
+            TRUE if the G.722 data is packed
+            </summary>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.EncodeFrom8000Hz">
+            <summary>
+            8kHz Sampling
+            TRUE if encode from 8k samples/second
+            </summary>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.BitsPerSample">
+            <summary>
+            Bits Per Sample
+            6 for 48000kbps, 7 for 56000kbps, or 8 for 64000kbps.
+            </summary>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.QmfSignalHistory">
+            <summary>
+            Signal history for the QMF (x)
+            </summary>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.Band">
+            <summary>
+            Band
+            </summary>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.InBuffer">
+            <summary>
+            In bit buffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.InBits">
+            <summary>
+            Number of bits in InBuffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.OutBuffer">
+            <summary>
+            Out bit buffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.OutBits">
+            <summary>
+            Number of bits in OutBuffer
+            </summary>
+        </member>
+        <member name="T:NAudio.Codecs.Band">
+            <summary>
+            Band data for G722 Codec
+            </summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.s">
+            <summary>s</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.sp">
+            <summary>sp</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.sz">
+            <summary>sz</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.r">
+            <summary>r</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.a">
+            <summary>a</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.ap">
+            <summary>ap</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.p">
+            <summary>p</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.d">
+            <summary>d</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.b">
+            <summary>b</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.bp">
+            <summary>bp</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.sg">
+            <summary>sg</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.nb">
+            <summary>nb</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.det">
+            <summary>det</summary>
+        </member>
+        <member name="T:NAudio.Codecs.G722Flags">
+            <summary>
+            G722 Flags
+            </summary>
+        </member>
+        <member name="F:NAudio.Codecs.G722Flags.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.Codecs.G722Flags.SampleRate8000">
+            <summary>
+            Using a G722 sample rate of 8000
+            </summary>
+        </member>
+        <member name="F:NAudio.Codecs.G722Flags.Packed">
+            <summary>
+            Packed
+            </summary>
+        </member>
+        <member name="T:NAudio.Codecs.MuLawDecoder">
+            <summary>
+            mu-law decoder
+            based on code from:
+            http://hazelware.luggle.com/tutorials/mulawcompression.html
+            </summary>
+        </member>
+        <member name="F:NAudio.Codecs.MuLawDecoder.MuLawDecompressTable">
+            <summary>
+            only 512 bytes required, so just use a lookup
+            </summary>
+        </member>
+        <member name="M:NAudio.Codecs.MuLawDecoder.MuLawToLinearSample(System.Byte)">
+            <summary>
+            Converts a mu-law encoded byte to a 16 bit linear sample
+            </summary>
+            <param name="muLaw">mu-law encoded byte</param>
+            <returns>Linear sample</returns>
+        </member>
+        <member name="T:NAudio.Codecs.MuLawEncoder">
+            <summary>
+            mu-law encoder
+            based on code from:
+            http://hazelware.luggle.com/tutorials/mulawcompression.html
+            </summary>
+        </member>
+        <member name="M:NAudio.Codecs.MuLawEncoder.LinearToMuLawSample(System.Int16)">
+            <summary>
+            Encodes a single 16 bit sample to mu-law
+            </summary>
+            <param name="sample">16 bit PCM sample</param>
+            <returns>mu-law encoded byte</returns>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioCaptureClient">
+            <summary>
+            Audio Capture Client
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioCaptureClient.GetBuffer(System.Int32@,NAudio.CoreAudioApi.AudioClientBufferFlags@,System.Int64@,System.Int64@)">
+            <summary>
+            Gets a pointer to the buffer
+            </summary>
+            <returns>Pointer to the buffer</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioCaptureClient.GetBuffer(System.Int32@,NAudio.CoreAudioApi.AudioClientBufferFlags@)">
+            <summary>
+            Gets a pointer to the buffer
+            </summary>
+            <param name="numFramesToRead">Number of frames to read</param>
+            <param name="bufferFlags">Buffer flags</param>
+            <returns>Pointer to the buffer</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioCaptureClient.GetNextPacketSize">
+            <summary>
+            Gets the size of the next packet
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioCaptureClient.ReleaseBuffer(System.Int32)">
+            <summary>
+            Release buffer
+            </summary>
+            <param name="numFramesWritten">Number of frames written</param>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioCaptureClient.Dispose">
+            <summary>
+            Release the COM object
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioClient">
+            <summary>
+            Windows CoreAudio AudioClient
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClient.Initialize(NAudio.CoreAudioApi.AudioClientShareMode,NAudio.CoreAudioApi.AudioClientStreamFlags,System.Int64,System.Int64,NAudio.Wave.WaveFormat,System.Guid)">
+            <summary>
+            Initializes the Audio Client
+            </summary>
+            <param name="shareMode">Share Mode</param>
+            <param name="streamFlags">Stream Flags</param>
+            <param name="bufferDuration">Buffer Duration</param>
+            <param name="periodicity">Periodicity</param>
+            <param name="waveFormat">Wave Format</param>
+            <param name="audioSessionGuid">Audio Session GUID (can be null)</param>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClient.IsFormatSupported(NAudio.CoreAudioApi.AudioClientShareMode,NAudio.Wave.WaveFormat)">
+            <summary>
+            Determines whether if the specified output format is supported
+            </summary>
+            <param name="shareMode">The share mode.</param>
+            <param name="desiredFormat">The desired format.</param>
+            <returns>True if the format is supported</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClient.IsFormatSupported(NAudio.CoreAudioApi.AudioClientShareMode,NAudio.Wave.WaveFormat,NAudio.Wave.WaveFormatExtensible@)">
+            <summary>
+            Determines if the specified output format is supported in shared mode
+            </summary>
+            <param name="shareMode">Share Mode</param>
+            <param name="desiredFormat">Desired Format</param>
+            <param name="closestMatchFormat">Output The closest match format.</param>
+            <returns>True if the format is supported</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClient.Start">
+            <summary>
+            Starts the audio stream
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClient.Stop">
+            <summary>
+            Stops the audio stream.
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClient.SetEventHandle(System.IntPtr)">
+            <summary>
+            Set the Event Handle for buffer synchro.
+            </summary>
+            <param name="eventWaitHandle">The Wait Handle to setup</param>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClient.Reset">
+            <summary>
+            Resets the audio stream
+            Reset is a control method that the client calls to reset a stopped audio stream. 
+            Resetting the stream flushes all pending data and resets the audio clock stream 
+            position to 0. This method fails if it is called on a stream that is not stopped
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClient.Dispose">
+            <summary>
+            Dispose
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClient.MixFormat">
+            <summary>
+            Retrieves the stream format that the audio engine uses for its internal processing of shared-mode streams.
+            Can be called before initialize
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClient.BufferSize">
+            <summary>
+            Retrieves the size (maximum capacity) of the audio buffer associated with the endpoint. (must initialize first)
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClient.StreamLatency">
+            <summary>
+            Retrieves the maximum latency for the current stream and can be called any time after the stream has been initialized.
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClient.CurrentPadding">
+            <summary>
+            Retrieves the number of frames of padding in the endpoint buffer (must initialize first)
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClient.DefaultDevicePeriod">
+            <summary>
+            Retrieves the length of the periodic interval separating successive processing passes by the audio engine on the data in the endpoint buffer.
+            (can be called before initialize)
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClient.MinimumDevicePeriod">
+            <summary>
+            Gets the minimum device period 
+            (can be called before initialize)
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClient.AudioClockClient">
+            <summary>
+            Gets the AudioClockClient service
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClient.AudioRenderClient">
+            <summary>
+            Gets the AudioRenderClient service
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClient.AudioCaptureClient">
+            <summary>
+            Gets the AudioCaptureClient service
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioClientBufferFlags">
+            <summary>
+            Audio Client Buffer Flags
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientBufferFlags.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientBufferFlags.DataDiscontinuity">
+            <summary>
+            AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientBufferFlags.Silent">
+            <summary>
+            AUDCLNT_BUFFERFLAGS_SILENT
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientBufferFlags.TimestampError">
+            <summary>
+            AUDCLNT_BUFFERFLAGS_TIMESTAMP_ERROR
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioClientProperties">
+            <summary>
+            The AudioClientProperties structure is used to set the parameters that describe the properties of the client's audio stream.
+            </summary>
+            <remarks>http://msdn.microsoft.com/en-us/library/windows/desktop/hh968105(v=vs.85).aspx</remarks>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientProperties.cbSize">
+            <summary>
+            The size of the buffer for the audio stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientProperties.bIsOffload">
+            <summary>
+            Boolean value to indicate whether or not the audio stream is hardware-offloaded
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientProperties.eCategory">
+            <summary>
+            An enumeration that is used to specify the category of the audio stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientProperties.Options">
+            <summary>
+            A bit-field describing the characteristics of the stream. Supported in Windows 8.1 and later.
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioClientShareMode">
+            <summary>
+            AUDCLNT_SHAREMODE
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientShareMode.Shared">
+            <summary>
+            AUDCLNT_SHAREMODE_SHARED,
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientShareMode.Exclusive">
+            <summary>
+            AUDCLNT_SHAREMODE_EXCLUSIVE
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioClientStreamFlags">
+            <summary>
+            AUDCLNT_STREAMFLAGS
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientStreamFlags.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientStreamFlags.CrossProcess">
+            <summary>
+            AUDCLNT_STREAMFLAGS_CROSSPROCESS
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientStreamFlags.Loopback">
+            <summary>
+            AUDCLNT_STREAMFLAGS_LOOPBACK
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientStreamFlags.EventCallback">
+            <summary>
+            AUDCLNT_STREAMFLAGS_EVENTCALLBACK 
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientStreamFlags.NoPersist">
+            <summary>
+            AUDCLNT_STREAMFLAGS_NOPERSIST     
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioClientStreamOptions">
+            <summary>
+            Defines values that describe the characteristics of an audio stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientStreamOptions.None">
+            <summary>
+            No stream options.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientStreamOptions.Raw">
+            <summary>
+            The audio stream is a 'raw' stream that bypasses all signal processing except for endpoint specific, always-on processing in the APO, driver, and hardware.
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioClockClient">
+            <summary>
+            Audio Clock Client
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClockClient.GetPosition(System.UInt64@,System.UInt64@)">
+            <summary>
+            Get Position
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClockClient.Dispose">
+            <summary>
+            Dispose
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClockClient.Characteristics">
+            <summary>
+            Characteristics
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClockClient.Frequency">
+            <summary>
+            Frequency
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClockClient.AdjustedPosition">
+            <summary>
+            Adjusted Position
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClockClient.CanAdjustPosition">
+            <summary>
+            Can Adjust Position
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioEndpointVolumeChannel">
+            <summary>
+            Audio Endpoint Volume Channel
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolumeChannel.VolumeLevel">
+            <summary>
+            Volume Level
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolumeChannel.VolumeLevelScalar">
+            <summary>
+            Volume Level Scalar
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioEndpointVolumeChannels">
+            <summary>
+            Audio Endpoint Volume Channels
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolumeChannels.Count">
+            <summary>
+            Channel Count
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolumeChannels.Item(System.Int32)">
+            <summary>
+            Indexer - get a specific channel
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioEndpointVolumeNotificationDelegate">
+            <summary>
+            Audio Endpoint Volume Notifiaction Delegate
+            </summary>
+            <param name="data">Audio Volume Notification Data</param>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioEndpointVolumeStepInformation">
+            <summary>
+            Audio Endpoint Volume Step Information
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolumeStepInformation.Step">
+            <summary>
+            Step
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolumeStepInformation.StepCount">
+            <summary>
+            StepCount
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioEndpointVolumeVolumeRange">
+            <summary>
+            Audio Endpoint Volume Volume Range
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolumeVolumeRange.MinDecibels">
+            <summary>
+            Minimum Decibels
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolumeVolumeRange.MaxDecibels">
+            <summary>
+            Maximum Decibels
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolumeVolumeRange.IncrementDecibels">
+            <summary>
+            Increment Decibels
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioMeterInformationChannels">
+            <summary>
+            Audio Meter Information Channels
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioMeterInformationChannels.Count">
+            <summary>
+            Metering Channel Count
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioMeterInformationChannels.Item(System.Int32)">
+            <summary>
+            Get Peak value
+            </summary>
+            <param name="index">Channel index</param>
+            <returns>Peak value</returns>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioRenderClient">
+            <summary>
+            Audio Render Client
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioRenderClient.GetBuffer(System.Int32)">
+            <summary>
+            Gets a pointer to the buffer
+            </summary>
+            <param name="numFramesRequested">Number of frames requested</param>
+            <returns>Pointer to the buffer</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioRenderClient.ReleaseBuffer(System.Int32,NAudio.CoreAudioApi.AudioClientBufferFlags)">
+            <summary>
+            Release buffer
+            </summary>
+            <param name="numFramesWritten">Number of frames written</param>
+            <param name="bufferFlags">Buffer flags</param>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioRenderClient.Dispose">
+            <summary>
+            Release the COM object
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioStreamCategory">
+            <summary>
+            Specifies the category of an audio stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioStreamCategory.Other">
+            <summary>
+            Other audio stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioStreamCategory.ForegroundOnlyMedia">
+            <summary>
+            Media that will only stream when the app is in the foreground.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioStreamCategory.BackgroundCapableMedia">
+            <summary>
+            Media that can be streamed when the app is in the background.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioStreamCategory.Communications">
+            <summary>
+            Real-time communications, such as VOIP or chat.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioStreamCategory.Alerts">
+            <summary>
+            Alert sounds.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioStreamCategory.SoundEffects">
+            <summary>
+            Sound effects.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioStreamCategory.GameEffects">
+            <summary>
+            Game sound effects.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioStreamCategory.GameMedia">
+            <summary>
+            Background audio for games.
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioVolumeNotificationData">
+            <summary>
+            Audio Volume Notification Data
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioVolumeNotificationData.#ctor(System.Guid,System.Boolean,System.Single,System.Single[])">
+            <summary>
+            Audio Volume Notification Data
+            </summary>
+            <param name="eventContext"></param>
+            <param name="muted"></param>
+            <param name="masterVolume"></param>
+            <param name="channelVolume"></param>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioVolumeNotificationData.EventContext">
+            <summary>
+            Event Context
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioVolumeNotificationData.Muted">
+            <summary>
+            Muted
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioVolumeNotificationData.MasterVolume">
+            <summary>
+            Master Volume
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioVolumeNotificationData.Channels">
+            <summary>
+            Channels
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioVolumeNotificationData.ChannelVolume">
+            <summary>
+            Channel Volume
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.Interfaces.AudioClientErrors.NotInitialized">
+            <summary>
+            AUDCLNT_E_NOT_INITIALIZED
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.Interfaces.AudioClientErrors.UnsupportedFormat">
+            <summary>
+            AUDCLNT_E_UNSUPPORTED_FORMAT
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.Interfaces.AudioClientErrors.DeviceInUse">
+            <summary>
+            AUDCLNT_E_DEVICE_IN_USE
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.IAudioClock">
+            <summary>
+            Defined in AudioClient.h
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.IAudioClock2">
+            <summary>
+            Defined in AudioClient.h
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.MMDeviceCollection">
+            <summary>
+            Multimedia Device Collection
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.MMDeviceCollection.GetEnumerator">
+            <summary>
+            Get Enumerator
+            </summary>
+            <returns>Device enumerator</returns>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDeviceCollection.Count">
+            <summary>
+            Device count
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDeviceCollection.Item(System.Int32)">
+            <summary>
+            Get device by index
+            </summary>
+            <param name="index">Device index</param>
+            <returns>Device at the specified index</returns>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.PropertyKeys">
+            <summary>
+            Property Keys
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_DeviceInterface_FriendlyName">
+            <summary>
+            PKEY_DeviceInterface_FriendlyName
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEndpoint_FormFactor">
+            <summary>
+            PKEY_AudioEndpoint_FormFactor
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEndpoint_ControlPanelPageProvider">
+            <summary>
+            PKEY_AudioEndpoint_ControlPanelPageProvider
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEndpoint_Association">
+            <summary>
+            PKEY_AudioEndpoint_Association
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEndpoint_PhysicalSpeakers">
+            <summary>
+            PKEY_AudioEndpoint_PhysicalSpeakers
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEndpoint_GUID">
+            <summary>
+            PKEY_AudioEndpoint_GUID
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEndpoint_Disable_SysFx">
+            <summary>
+            PKEY_AudioEndpoint_Disable_SysFx 
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEndpoint_FullRangeSpeakers">
+            <summary>
+            PKEY_AudioEndpoint_FullRangeSpeakers 
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEndpoint_Supports_EventDriven_Mode">
+            <summary>
+            PKEY_AudioEndpoint_Supports_EventDriven_Mode 
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEndpoint_JackSubType">
+            <summary>
+            PKEY_AudioEndpoint_JackSubType
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEngine_DeviceFormat">
+            <summary>
+            PKEY_AudioEngine_DeviceFormat 
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEngine_OEMFormat">
+            <summary>
+            PKEY_AudioEngine_OEMFormat
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_Device_FriendlyName">
+            <summary>
+            PKEY _Devie_FriendlyName
+            </summary>
+        </member>
+        <member name="T:NAudio.Dsp.EnvelopeGenerator">
+            <summary>
+            Envelope generator (ADSR)
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.EnvelopeGenerator.#ctor">
+            <summary>
+            Creates and Initializes an Envelope Generator
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.EnvelopeGenerator.SetTargetRatioAttack(System.Single)">
+            <summary>
+            Sets the attack curve
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.EnvelopeGenerator.SetTargetRatioDecayRelease(System.Single)">
+            <summary>
+            Sets the decay release curve
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.EnvelopeGenerator.Process">
+            <summary>
+            Read the next volume multiplier from the envelope generator
+            </summary>
+            <returns>A volume multiplier</returns>
+        </member>
+        <member name="M:NAudio.Dsp.EnvelopeGenerator.Gate(System.Boolean)">
+            <summary>
+            Trigger the gate
+            </summary>
+            <param name="gate">If true, enter attack phase, if false enter release phase (unless already idle)</param>
+        </member>
+        <member name="M:NAudio.Dsp.EnvelopeGenerator.Reset">
+            <summary>
+            Reset to idle state
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.EnvelopeGenerator.GetOutput">
+            <summary>
+            Get the current output level
+            </summary>
+        </member>
+        <member name="P:NAudio.Dsp.EnvelopeGenerator.AttackRate">
+            <summary>
+            Attack Rate (seconds * SamplesPerSecond)
+            </summary>
+        </member>
+        <member name="P:NAudio.Dsp.EnvelopeGenerator.DecayRate">
+            <summary>
+            Decay Rate (seconds * SamplesPerSecond)
+            </summary>
+        </member>
+        <member name="P:NAudio.Dsp.EnvelopeGenerator.ReleaseRate">
+            <summary>
+            Release Rate (seconds * SamplesPerSecond)
+            </summary>
+        </member>
+        <member name="P:NAudio.Dsp.EnvelopeGenerator.SustainLevel">
+            <summary>
+            Sustain Level (1 = 100%)
+            </summary>
+        </member>
+        <member name="P:NAudio.Dsp.EnvelopeGenerator.State">
+            <summary>
+            Current envelope state
+            </summary>
+        </member>
+        <member name="T:NAudio.Dsp.EnvelopeGenerator.EnvelopeState">
+            <summary>
+            Envelope State
+            </summary>
+        </member>
+        <member name="F:NAudio.Dsp.EnvelopeGenerator.EnvelopeState.Idle">
+            <summary>
+            Idle
+            </summary>
+        </member>
+        <member name="F:NAudio.Dsp.EnvelopeGenerator.EnvelopeState.Attack">
+            <summary>
+            Attack
+            </summary>
+        </member>
+        <member name="F:NAudio.Dsp.EnvelopeGenerator.EnvelopeState.Decay">
+            <summary>
+            Decay
+            </summary>
+        </member>
+        <member name="F:NAudio.Dsp.EnvelopeGenerator.EnvelopeState.Sustain">
+            <summary>
+            Sustain
+            </summary>
+        </member>
+        <member name="F:NAudio.Dsp.EnvelopeGenerator.EnvelopeState.Release">
+            <summary>
+            Release
+            </summary>
+        </member>
+        <member name="T:NAudio.Dsp.WdlResampler">
+            <summary>
+            Fully managed resampler, based on Cockos WDL Resampler
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.WdlResampler.#ctor">
+            <summary>
+            Creates a new Resampler
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.WdlResampler.SetMode(System.Boolean,System.Int32,System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            sets the mode
+            if sinc set, it overrides interp or filtercnt
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.WdlResampler.SetFilterParms(System.Single,System.Single)">
+            <summary>
+            Sets the filter parameters
+            used for filtercnt>0 but not sinc
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.WdlResampler.SetFeedMode(System.Boolean)">
+            <summary>
+            Set feed mode
+            </summary>
+            <param name="wantInputDriven">if true, that means the first parameter to ResamplePrepare will specify however much input you have, not how much you want</param>
+        </member>
+        <member name="M:NAudio.Dsp.WdlResampler.Reset(System.Double)">
+            <summary>
+            Reset
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.WdlResampler.ResamplePrepare(System.Int32,System.Int32,System.Single[]@,System.Int32@)">
+            <summary>
+            Prepare
+            note that it is safe to call ResamplePrepare without calling ResampleOut (the next call of ResamplePrepare will function as normal)
+            nb inbuffer was WDL_ResampleSample **, returning a place to put the in buffer, so we return a buffer and offset
+            </summary>
+            <param name="out_samples">req_samples is output samples desired if !wantInputDriven, or if wantInputDriven is input samples that we have</param>
+            <param name="nch"></param>
+            <param name="inbuffer"></param>
+            <param name="inbufferOffset"></param>
+            <returns>returns number of samples desired (put these into *inbuffer)</returns>
+        </member>
+        <member name="M:NAudio.FileFormats.Wav.WaveFileChunkReader.ReadDs64Chunk(System.IO.BinaryReader)">
+            <summary>
+            http://tech.ebu.ch/docs/tech/tech3306-2009.pdf
+            </summary>
+        </member>
+        <member name="P:NAudio.FileFormats.Wav.WaveFileChunkReader.WaveFormat">
+            <summary>
+            WaveFormat
+            </summary>
+        </member>
+        <member name="P:NAudio.FileFormats.Wav.WaveFileChunkReader.DataChunkPosition">
+            <summary>
+            Data Chunk Position
+            </summary>
+        </member>
+        <member name="P:NAudio.FileFormats.Wav.WaveFileChunkReader.DataChunkLength">
+            <summary>
+            Data Chunk Length
+            </summary>
+        </member>
+        <member name="P:NAudio.FileFormats.Wav.WaveFileChunkReader.RiffChunks">
+            <summary>
+            Riff Chunks
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.AudioSubtypes">
+            <summary>
+            Audio Subtype GUIDs
+            http://msdn.microsoft.com/en-us/library/windows/desktop/aa372553%28v=vs.85%29.aspx
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_AAC">
+            <summary>
+            Advanced Audio Coding (AAC).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_ADTS">
+            <summary>
+            Not used
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_Dolby_AC3_SPDIF">
+            <summary>
+            Dolby AC-3 audio over Sony/Philips Digital Interface (S/PDIF).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_DRM">
+            <summary>
+            Encrypted audio data used with secure audio path.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_DTS">
+            <summary>
+            Digital Theater Systems (DTS) audio.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_Float">
+            <summary>
+            Uncompressed IEEE floating-point audio.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_MP3">
+            <summary>
+            MPEG Audio Layer-3 (MP3).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_MPEG">
+            <summary>
+            MPEG-1 audio payload.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_MSP1">
+            <summary>
+            Windows Media Audio 9 Voice codec.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_PCM">
+            <summary>
+            Uncompressed PCM audio.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_WMASPDIF">
+            <summary>
+            Windows Media Audio 9 Professional codec over S/PDIF.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_WMAudio_Lossless">
+            <summary>
+            Windows Media Audio 9 Lossless codec or Windows Media Audio 9.1 codec.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_WMAudioV8">
+            <summary>
+            Windows Media Audio 8 codec, Windows Media Audio 9 codec, or Windows Media Audio 9.1 codec.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_WMAudioV9">
+            <summary>
+            Windows Media Audio 9 Professional codec or Windows Media Audio 9.1 Professional codec.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_Dolby_AC3">
+            <summary>
+            Dolby Digital (AC-3).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MEDIASUBTYPE_RAW_AAC1">
+            <summary>
+            MPEG-4 and AAC Audio Types
+            http://msdn.microsoft.com/en-us/library/windows/desktop/dd317599(v=vs.85).aspx
+            Reference : wmcodecdsp.h
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MEDIASUBTYPE_DVM">
+            <summary>
+            Dolby Audio Types
+            http://msdn.microsoft.com/en-us/library/windows/desktop/dd317599(v=vs.85).aspx
+            Reference : wmcodecdsp.h
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MEDIASUBTYPE_DOLBY_DDPLUS">
+            <summary>
+            Dolby Audio Types
+            http://msdn.microsoft.com/en-us/library/windows/desktop/dd317599(v=vs.85).aspx
+            Reference : wmcodecdsp.h
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.KSDATAFORMAT_SUBTYPE_MULAW">
+            <summary>
+            ÎŒ-law coding
+            http://msdn.microsoft.com/en-us/library/windows/desktop/dd390971(v=vs.85).aspx
+            Reference : Ksmedia.h
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.KSDATAFORMAT_SUBTYPE_ADPCM">
+            <summary>
+            Adaptive delta pulse code modulation (ADPCM)
+            http://msdn.microsoft.com/en-us/library/windows/desktop/dd390971(v=vs.85).aspx
+            Reference : Ksmedia.h
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL_PLUS">
+            <summary>
+            Dolby Digital Plus formatted for HDMI output.
+            http://msdn.microsoft.com/en-us/library/windows/hardware/ff538392(v=vs.85).aspx
+            Reference : internet
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MEDIASUBTYPE_MSAUDIO1">
+            <summary>
+            MSAudio1 - unknown meaning
+            Reference : wmcodecdsp.h
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.ImaAdpcm">
+            <summary>
+            IMA ADPCM ACM Wrapper
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.WMMEDIASUBTYPE_WMSP2">
+            <summary>
+            WMSP2 - unknown meaning
+            Reference: wmsdkidl.h
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFReadWriteClassFactory">
+            <summary>
+            Creates an instance of either the sink writer or the source reader.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFReadWriteClassFactory.CreateInstanceFromURL(System.Guid,System.String,NAudio.MediaFoundation.IMFAttributes,System.Guid,System.Object@)">
+            <summary>
+            Creates an instance of the sink writer or source reader, given a URL.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFReadWriteClassFactory.CreateInstanceFromObject(System.Guid,System.Object,NAudio.MediaFoundation.IMFAttributes,System.Guid,System.Object@)">
+            <summary>
+            Creates an instance of the sink writer or source reader, given an IUnknown pointer. 
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MFReadWriteClassFactory">
+            <summary>
+            CLSID_MFReadWriteClassFactory
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MediaFoundationErrors">
+            <summary>
+            Media Foundation Errors
+            
+            </summary>
+            <remarks>
+             RANGES
+             14000 - 14999 = General Media Foundation errors
+             15000 - 15999 = ASF parsing errors
+             16000 - 16999 = Media Source errors
+             17000 - 17999 = MEDIAFOUNDATION Network Error Events
+             18000 - 18999 = MEDIAFOUNDATION WMContainer Error Events
+             19000 - 19999 = MEDIAFOUNDATION Media Sink Error Events
+             20000 - 20999 = Renderer errors
+             21000 - 21999 = Topology Errors
+             25000 - 25999 = Timeline Errors
+             26000 - 26999 = Unused
+             28000 - 28999 = Transform errors
+             29000 - 29999 = Content Protection errors
+             40000 - 40999 = Clock errors
+             41000 - 41999 = MF Quality Management Errors
+             42000 - 42999 = MF Transcode API Errors
+            </remarks>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PLATFORM_NOT_INITIALIZED">
+            
+             MessageId: MF_E_PLATFORM_NOT_INITIALIZED
+            
+             MessageText:
+            
+             Platform not initialized. Please call MFStartup().%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_BUFFERTOOSMALL">
+            
+             MessageId: MF_E_BUFFERTOOSMALL
+            
+             MessageText:
+            
+             The buffer was too small to carry out the requested action.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALIDREQUEST">
+            
+             MessageId: MF_E_INVALIDREQUEST
+            
+             MessageText:
+            
+             The request is invalid in the current state.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALIDSTREAMNUMBER">
+            
+             MessageId: MF_E_INVALIDSTREAMNUMBER
+            
+             MessageText:
+            
+             The stream number provided was invalid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALIDMEDIATYPE">
+            
+             MessageId: MF_E_INVALIDMEDIATYPE
+            
+             MessageText:
+            
+             The data specified for the media type is invalid, inconsistent, or not supported by this object.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NOTACCEPTING">
+            
+             MessageId: MF_E_NOTACCEPTING
+            
+             MessageText:
+            
+             The callee is currently not accepting further input.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NOT_INITIALIZED">
+            
+             MessageId: MF_E_NOT_INITIALIZED
+            
+             MessageText:
+            
+             This object needs to be initialized before the requested operation can be carried out.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_REPRESENTATION">
+            
+             MessageId: MF_E_UNSUPPORTED_REPRESENTATION
+            
+             MessageText:
+            
+             The requested representation is not supported by this object.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_MORE_TYPES">
+            
+             MessageId: MF_E_NO_MORE_TYPES
+            
+             MessageText:
+            
+             An object ran out of media types to suggest therefore the requested chain of streaming objects cannot be completed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_SERVICE">
+            
+             MessageId: MF_E_UNSUPPORTED_SERVICE
+            
+             MessageText:
+            
+             The object does not support the specified service.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNEXPECTED">
+            
+             MessageId: MF_E_UNEXPECTED
+            
+             MessageText:
+            
+             An unexpected error has occurred in the operation requested.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALIDNAME">
+            
+             MessageId: MF_E_INVALIDNAME
+            
+             MessageText:
+            
+             Invalid name.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALIDTYPE">
+            
+             MessageId: MF_E_INVALIDTYPE
+            
+             MessageText:
+            
+             Invalid type.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_FILE_FORMAT">
+            
+             MessageId: MF_E_INVALID_FILE_FORMAT
+            
+             MessageText:
+            
+             The file does not conform to the relevant file format specification.
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALIDINDEX">
+            
+             MessageId: MF_E_INVALIDINDEX
+            
+             MessageText:
+            
+             Invalid index.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_TIMESTAMP">
+            
+             MessageId: MF_E_INVALID_TIMESTAMP
+            
+             MessageText:
+            
+             An invalid timestamp was given.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_SCHEME">
+            
+             MessageId: MF_E_UNSUPPORTED_SCHEME
+            
+             MessageText:
+            
+             The scheme of the given URL is unsupported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_BYTESTREAM_TYPE">
+            
+             MessageId: MF_E_UNSUPPORTED_BYTESTREAM_TYPE
+            
+             MessageText:
+            
+             The byte stream type of the given URL is unsupported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_TIME_FORMAT">
+            
+             MessageId: MF_E_UNSUPPORTED_TIME_FORMAT
+            
+             MessageText:
+            
+             The given time format is unsupported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_SAMPLE_TIMESTAMP">
+            
+             MessageId: MF_E_NO_SAMPLE_TIMESTAMP
+            
+             MessageText:
+            
+             The Media Sample does not have a timestamp.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_SAMPLE_DURATION">
+            
+             MessageId: MF_E_NO_SAMPLE_DURATION
+            
+             MessageText:
+            
+             The Media Sample does not have a duration.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_STREAM_DATA">
+            
+             MessageId: MF_E_INVALID_STREAM_DATA
+            
+             MessageText:
+            
+             The request failed because the data in the stream is corrupt.%0\n.
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_RT_UNAVAILABLE">
+            
+             MessageId: MF_E_RT_UNAVAILABLE
+            
+             MessageText:
+            
+             Real time services are not available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_RATE">
+            
+             MessageId: MF_E_UNSUPPORTED_RATE
+            
+             MessageText:
+            
+             The specified rate is not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_THINNING_UNSUPPORTED">
+            
+             MessageId: MF_E_THINNING_UNSUPPORTED
+            
+             MessageText:
+            
+             This component does not support stream-thinning.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_REVERSE_UNSUPPORTED">
+            
+             MessageId: MF_E_REVERSE_UNSUPPORTED
+            
+             MessageText:
+            
+             The call failed because no reverse playback rates are available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_RATE_TRANSITION">
+            
+             MessageId: MF_E_UNSUPPORTED_RATE_TRANSITION
+            
+             MessageText:
+            
+             The requested rate transition cannot occur in the current state.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_RATE_CHANGE_PREEMPTED">
+            
+             MessageId: MF_E_RATE_CHANGE_PREEMPTED
+            
+             MessageText:
+            
+             The requested rate change has been pre-empted and will not occur.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NOT_FOUND">
+            
+             MessageId: MF_E_NOT_FOUND
+            
+             MessageText:
+            
+             The specified object or value does not exist.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NOT_AVAILABLE">
+            
+             MessageId: MF_E_NOT_AVAILABLE
+            
+             MessageText:
+            
+             The requested value is not available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_CLOCK">
+            
+             MessageId: MF_E_NO_CLOCK
+            
+             MessageText:
+            
+             The specified operation requires a clock and no clock is available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_MULTIPLE_BEGIN">
+            
+             MessageId: MF_S_MULTIPLE_BEGIN
+            
+             MessageText:
+            
+             This callback and state had already been passed in to this event generator earlier.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MULTIPLE_BEGIN">
+            
+             MessageId: MF_E_MULTIPLE_BEGIN
+            
+             MessageText:
+            
+             This callback has already been passed in to this event generator.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MULTIPLE_SUBSCRIBERS">
+            
+             MessageId: MF_E_MULTIPLE_SUBSCRIBERS
+            
+             MessageText:
+            
+             Some component is already listening to events on this event generator.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TIMER_ORPHANED">
+            
+             MessageId: MF_E_TIMER_ORPHANED
+            
+             MessageText:
+            
+             This timer was orphaned before its callback time arrived.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_STATE_TRANSITION_PENDING">
+            
+             MessageId: MF_E_STATE_TRANSITION_PENDING
+            
+             MessageText:
+            
+             A state transition is already pending.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_STATE_TRANSITION">
+            
+             MessageId: MF_E_UNSUPPORTED_STATE_TRANSITION
+            
+             MessageText:
+            
+             The requested state transition is unsupported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNRECOVERABLE_ERROR_OCCURRED">
+            
+             MessageId: MF_E_UNRECOVERABLE_ERROR_OCCURRED
+            
+             MessageText:
+            
+             An unrecoverable error has occurred.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SAMPLE_HAS_TOO_MANY_BUFFERS">
+            
+             MessageId: MF_E_SAMPLE_HAS_TOO_MANY_BUFFERS
+            
+             MessageText:
+            
+             The provided sample has too many buffers.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SAMPLE_NOT_WRITABLE">
+            
+             MessageId: MF_E_SAMPLE_NOT_WRITABLE
+            
+             MessageText:
+            
+             The provided sample is not writable.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_KEY">
+            
+             MessageId: MF_E_INVALID_KEY
+            
+             MessageText:
+            
+             The specified key is not valid.
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_BAD_STARTUP_VERSION">
+            
+             MessageId: MF_E_BAD_STARTUP_VERSION
+            
+             MessageText:
+            
+             You are calling MFStartup with the wrong MF_VERSION. Mismatched bits?
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_CAPTION">
+            
+             MessageId: MF_E_UNSUPPORTED_CAPTION
+            
+             MessageText:
+            
+             The caption of the given URL is unsupported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_POSITION">
+            
+             MessageId: MF_E_INVALID_POSITION
+            
+             MessageText:
+            
+             The operation on the current offset is not permitted.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ATTRIBUTENOTFOUND">
+            
+             MessageId: MF_E_ATTRIBUTENOTFOUND
+            
+             MessageText:
+            
+             The requested attribute was not found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROPERTY_TYPE_NOT_ALLOWED">
+            
+             MessageId: MF_E_PROPERTY_TYPE_NOT_ALLOWED
+            
+             MessageText:
+            
+             The specified property type is not allowed in this context.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROPERTY_TYPE_NOT_SUPPORTED">
+            
+             MessageId: MF_E_PROPERTY_TYPE_NOT_SUPPORTED
+            
+             MessageText:
+            
+             The specified property type is not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROPERTY_EMPTY">
+            
+             MessageId: MF_E_PROPERTY_EMPTY
+            
+             MessageText:
+            
+             The specified property is empty.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROPERTY_NOT_EMPTY">
+            
+             MessageId: MF_E_PROPERTY_NOT_EMPTY
+            
+             MessageText:
+            
+             The specified property is not empty.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROPERTY_VECTOR_NOT_ALLOWED">
+            
+             MessageId: MF_E_PROPERTY_VECTOR_NOT_ALLOWED
+            
+             MessageText:
+            
+             The vector property specified is not allowed in this context.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROPERTY_VECTOR_REQUIRED">
+            
+             MessageId: MF_E_PROPERTY_VECTOR_REQUIRED
+            
+             MessageText:
+            
+             A vector property is required in this context.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_OPERATION_CANCELLED">
+            
+             MessageId: MF_E_OPERATION_CANCELLED
+            
+             MessageText:
+            
+             The operation is cancelled.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_BYTESTREAM_NOT_SEEKABLE">
+            
+             MessageId: MF_E_BYTESTREAM_NOT_SEEKABLE
+            
+             MessageText:
+            
+             The provided bytestream was expected to be seekable and it is not.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_DISABLED_IN_SAFEMODE">
+            
+             MessageId: MF_E_DISABLED_IN_SAFEMODE
+            
+             MessageText:
+            
+             The Media Foundation platform is disabled when the system is running in Safe Mode.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_CANNOT_PARSE_BYTESTREAM">
+            
+             MessageId: MF_E_CANNOT_PARSE_BYTESTREAM
+            
+             MessageText:
+            
+             The Media Source could not parse the byte stream.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS">
+            
+             MessageId: MF_E_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS
+            
+             MessageText:
+            
+             Mutually exclusive flags have been specified to source resolver. This flag combination is invalid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MEDIAPROC_WRONGSTATE">
+            
+             MessageId: MF_E_MEDIAPROC_WRONGSTATE
+            
+             MessageText:
+            
+             MediaProc is in the wrong state%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_RT_THROUGHPUT_NOT_AVAILABLE">
+            
+             MessageId: MF_E_RT_THROUGHPUT_NOT_AVAILABLE
+            
+             MessageText:
+            
+             Real time I/O service can not provide requested throughput.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_RT_TOO_MANY_CLASSES">
+            
+             MessageId: MF_E_RT_TOO_MANY_CLASSES
+            
+             MessageText:
+            
+             The workqueue cannot be registered with more classes.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_RT_WOULDBLOCK">
+            
+             MessageId: MF_E_RT_WOULDBLOCK
+            
+             MessageText:
+            
+             This operation cannot succeed because another thread owns this object.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_BITPUMP">
+            
+             MessageId: MF_E_NO_BITPUMP
+            
+             MessageText:
+            
+             Internal. Bitpump not found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_RT_OUTOFMEMORY">
+            
+             MessageId: MF_E_RT_OUTOFMEMORY
+            
+             MessageText:
+            
+             No more RT memory available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_RT_WORKQUEUE_CLASS_NOT_SPECIFIED">
+            
+             MessageId: MF_E_RT_WORKQUEUE_CLASS_NOT_SPECIFIED
+            
+             MessageText:
+            
+             An MMCSS class has not been set for this work queue.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INSUFFICIENT_BUFFER">
+            
+             MessageId: MF_E_INSUFFICIENT_BUFFER
+            
+             MessageText:
+            
+             Insufficient memory for response.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_CANNOT_CREATE_SINK">
+            
+             MessageId: MF_E_CANNOT_CREATE_SINK
+            
+             MessageText:
+            
+             Activate failed to create mediasink. Call OutputNode::GetUINT32(MF_TOPONODE_MAJORTYPE) for more information. %0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_BYTESTREAM_UNKNOWN_LENGTH">
+            
+             MessageId: MF_E_BYTESTREAM_UNKNOWN_LENGTH
+            
+             MessageText:
+            
+             The length of the provided bytestream is unknown.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SESSION_PAUSEWHILESTOPPED">
+            
+             MessageId: MF_E_SESSION_PAUSEWHILESTOPPED
+            
+             MessageText:
+            
+             The media session cannot pause from a stopped state.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_ACTIVATE_REPLACED">
+            
+             MessageId: MF_S_ACTIVATE_REPLACED
+            
+             MessageText:
+            
+             The activate could not be created in the remote process for some reason it was replaced with empty one.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_FORMAT_CHANGE_NOT_SUPPORTED">
+            
+             MessageId: MF_E_FORMAT_CHANGE_NOT_SUPPORTED
+            
+             MessageText:
+            
+             The data specified for the media type is supported, but would require a format change, which is not supported by this object.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_WORKQUEUE">
+            
+             MessageId: MF_E_INVALID_WORKQUEUE
+            
+             MessageText:
+            
+             The operation failed because an invalid combination of workqueue ID and flags was specified.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_DRM_UNSUPPORTED">
+            
+             MessageId: MF_E_DRM_UNSUPPORTED
+            
+             MessageText:
+            
+             No DRM support is available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNAUTHORIZED">
+            
+             MessageId: MF_E_UNAUTHORIZED
+            
+             MessageText:
+            
+             This operation is not authorized.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_OUT_OF_RANGE">
+            
+             MessageId: MF_E_OUT_OF_RANGE
+            
+             MessageText:
+            
+             The value is not in the specified or valid range.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_CODEC_MERIT">
+            
+             MessageId: MF_E_INVALID_CODEC_MERIT
+            
+             MessageText:
+            
+             The registered codec merit is not valid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_HW_MFT_FAILED_START_STREAMING">
+            
+             MessageId: MF_E_HW_MFT_FAILED_START_STREAMING
+            
+             MessageText:
+            
+             Hardware MFT failed to start streaming due to lack of hardware resources.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_ASF_PARSEINPROGRESS">
+            
+             MessageId: MF_S_ASF_PARSEINPROGRESS
+            
+             MessageText:
+            
+             Parsing is still in progress and is not yet complete.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_PARSINGINCOMPLETE">
+            
+             MessageId: MF_E_ASF_PARSINGINCOMPLETE
+            
+             MessageText:
+            
+             Not enough data have been parsed to carry out the requested action.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_MISSINGDATA">
+            
+             MessageId: MF_E_ASF_MISSINGDATA
+            
+             MessageText:
+            
+             There is a gap in the ASF data provided.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_INVALIDDATA">
+            
+             MessageId: MF_E_ASF_INVALIDDATA
+            
+             MessageText:
+            
+             The data provided are not valid ASF.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_OPAQUEPACKET">
+            
+             MessageId: MF_E_ASF_OPAQUEPACKET
+            
+             MessageText:
+            
+             The packet is opaque, so the requested information cannot be returned.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_NOINDEX">
+            
+             MessageId: MF_E_ASF_NOINDEX
+            
+             MessageText:
+            
+             The requested operation failed since there is no appropriate ASF index.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_OUTOFRANGE">
+            
+             MessageId: MF_E_ASF_OUTOFRANGE
+            
+             MessageText:
+            
+             The value supplied is out of range for this operation.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_INDEXNOTLOADED">
+            
+             MessageId: MF_E_ASF_INDEXNOTLOADED
+            
+             MessageText:
+            
+             The index entry requested needs to be loaded before it can be available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_TOO_MANY_PAYLOADS">
+            
+             MessageId: MF_E_ASF_TOO_MANY_PAYLOADS
+            
+             MessageText:
+            
+             The packet has reached the maximum number of payloads.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_UNSUPPORTED_STREAM_TYPE">
+            
+             MessageId: MF_E_ASF_UNSUPPORTED_STREAM_TYPE
+            
+             MessageText:
+            
+             Stream type is not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_DROPPED_PACKET">
+            
+             MessageId: MF_E_ASF_DROPPED_PACKET
+            
+             MessageText:
+            
+             One or more ASF packets were dropped.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_EVENTS_AVAILABLE">
+            
+             MessageId: MF_E_NO_EVENTS_AVAILABLE
+            
+             MessageText:
+            
+             There are no events available in the queue.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_STATE_TRANSITION">
+            
+             MessageId: MF_E_INVALID_STATE_TRANSITION
+            
+             MessageText:
+            
+             A media source cannot go from the stopped state to the paused state.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_END_OF_STREAM">
+            
+             MessageId: MF_E_END_OF_STREAM
+            
+             MessageText:
+            
+             The media stream cannot process any more samples because there are no more samples in the stream.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SHUTDOWN">
+            
+             MessageId: MF_E_SHUTDOWN
+            
+             MessageText:
+            
+             The request is invalid because Shutdown() has been called.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MP3_NOTFOUND">
+            
+             MessageId: MF_E_MP3_NOTFOUND
+            
+             MessageText:
+            
+             The MP3 object was not found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MP3_OUTOFDATA">
+            
+             MessageId: MF_E_MP3_OUTOFDATA
+            
+             MessageText:
+            
+             The MP3 parser ran out of data before finding the MP3 object.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MP3_NOTMP3">
+            
+             MessageId: MF_E_MP3_NOTMP3
+            
+             MessageText:
+            
+             The file is not really a MP3 file.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MP3_NOTSUPPORTED">
+            
+             MessageId: MF_E_MP3_NOTSUPPORTED
+            
+             MessageText:
+            
+             The MP3 file is not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_DURATION">
+            
+             MessageId: MF_E_NO_DURATION
+            
+             MessageText:
+            
+             The Media stream has no duration.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_FORMAT">
+            
+             MessageId: MF_E_INVALID_FORMAT
+            
+             MessageText:
+            
+             The Media format is recognized but is invalid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROPERTY_NOT_FOUND">
+            
+             MessageId: MF_E_PROPERTY_NOT_FOUND
+            
+             MessageText:
+            
+             The property requested was not found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROPERTY_READ_ONLY">
+            
+             MessageId: MF_E_PROPERTY_READ_ONLY
+            
+             MessageText:
+            
+             The property is read only.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROPERTY_NOT_ALLOWED">
+            
+             MessageId: MF_E_PROPERTY_NOT_ALLOWED
+            
+             MessageText:
+            
+             The specified property is not allowed in this context.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MEDIA_SOURCE_NOT_STARTED">
+            
+             MessageId: MF_E_MEDIA_SOURCE_NOT_STARTED
+            
+             MessageText:
+            
+             The media source is not started.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_FORMAT">
+            
+             MessageId: MF_E_UNSUPPORTED_FORMAT
+            
+             MessageText:
+            
+             The Media format is recognized but not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MP3_BAD_CRC">
+            
+             MessageId: MF_E_MP3_BAD_CRC
+            
+             MessageText:
+            
+             The MPEG frame has bad CRC.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NOT_PROTECTED">
+            
+             MessageId: MF_E_NOT_PROTECTED
+            
+             MessageText:
+            
+             The file is not protected.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MEDIA_SOURCE_WRONGSTATE">
+            
+             MessageId: MF_E_MEDIA_SOURCE_WRONGSTATE
+            
+             MessageText:
+            
+             The media source is in the wrong state%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED">
+            
+             MessageId: MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED
+            
+             MessageText:
+            
+             No streams are selected in source presentation descriptor.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_CANNOT_FIND_KEYFRAME_SAMPLE">
+            
+             MessageId: MF_E_CANNOT_FIND_KEYFRAME_SAMPLE
+            
+             MessageText:
+            
+             No key frame sample was found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NETWORK_RESOURCE_FAILURE">
+            
+             MessageId: MF_E_NETWORK_RESOURCE_FAILURE
+            
+             MessageText:
+            
+             An attempt to acquire a network resource failed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_WRITE">
+            
+             MessageId: MF_E_NET_WRITE
+            
+             MessageText:
+            
+             Error writing to the network.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_READ">
+            
+             MessageId: MF_E_NET_READ
+            
+             MessageText:
+            
+             Error reading from the network.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_REQUIRE_NETWORK">
+            
+             MessageId: MF_E_NET_REQUIRE_NETWORK
+            
+             MessageText:
+            
+             Internal. Entry cannot complete operation without network.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_REQUIRE_ASYNC">
+            
+             MessageId: MF_E_NET_REQUIRE_ASYNC
+            
+             MessageText:
+            
+             Internal. Async op is required.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_BWLEVEL_NOT_SUPPORTED">
+            
+             MessageId: MF_E_NET_BWLEVEL_NOT_SUPPORTED
+            
+             MessageText:
+            
+             Internal. Bandwidth levels are not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_STREAMGROUPS_NOT_SUPPORTED">
+            
+             MessageId: MF_E_NET_STREAMGROUPS_NOT_SUPPORTED
+            
+             MessageText:
+            
+             Internal. Stream groups are not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_MANUALSS_NOT_SUPPORTED">
+            
+             MessageId: MF_E_NET_MANUALSS_NOT_SUPPORTED
+            
+             MessageText:
+            
+             Manual stream selection is not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_INVALID_PRESENTATION_DESCRIPTOR">
+            
+             MessageId: MF_E_NET_INVALID_PRESENTATION_DESCRIPTOR
+            
+             MessageText:
+            
+             Invalid presentation descriptor.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_CACHESTREAM_NOT_FOUND">
+            
+             MessageId: MF_E_NET_CACHESTREAM_NOT_FOUND
+            
+             MessageText:
+            
+             Cannot find cache stream.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_I_MANUAL_PROXY">
+            
+             MessageId: MF_I_MANUAL_PROXY
+            
+             MessageText:
+            
+             The proxy setting is manual.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_REQUIRE_INPUT">
+            duplicate removed
+            MessageId=17011 Severity=Informational Facility=MEDIAFOUNDATION SymbolicName=MF_E_INVALID_REQUEST
+            Language=English
+            The request is invalid in the current state.%0
+            .
+            
+             MessageId: MF_E_NET_REQUIRE_INPUT
+            
+             MessageText:
+            
+             Internal. Entry cannot complete operation without input.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_REDIRECT">
+            
+             MessageId: MF_E_NET_REDIRECT
+            
+             MessageText:
+            
+             The client redirected to another server.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_REDIRECT_TO_PROXY">
+            
+             MessageId: MF_E_NET_REDIRECT_TO_PROXY
+            
+             MessageText:
+            
+             The client is redirected to a proxy server.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_TOO_MANY_REDIRECTS">
+            
+             MessageId: MF_E_NET_TOO_MANY_REDIRECTS
+            
+             MessageText:
+            
+             The client reached maximum redirection limit.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_TIMEOUT">
+            
+             MessageId: MF_E_NET_TIMEOUT
+            
+             MessageText:
+            
+             The server, a computer set up to offer multimedia content to other computers, could not handle your request for multimedia content in a timely manner.  Please try again later.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_CLIENT_CLOSE">
+            
+             MessageId: MF_E_NET_CLIENT_CLOSE
+            
+             MessageText:
+            
+             The control socket is closed by the client.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_BAD_CONTROL_DATA">
+            
+             MessageId: MF_E_NET_BAD_CONTROL_DATA
+            
+             MessageText:
+            
+             The server received invalid data from the client on the control connection.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_INCOMPATIBLE_SERVER">
+            
+             MessageId: MF_E_NET_INCOMPATIBLE_SERVER
+            
+             MessageText:
+            
+             The server is not a compatible streaming media server.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_UNSAFE_URL">
+            
+             MessageId: MF_E_NET_UNSAFE_URL
+            
+             MessageText:
+            
+             Url.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_CACHE_NO_DATA">
+            
+             MessageId: MF_E_NET_CACHE_NO_DATA
+            
+             MessageText:
+            
+             Data is not available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_EOL">
+            
+             MessageId: MF_E_NET_EOL
+            
+             MessageText:
+            
+             End of line.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_BAD_REQUEST">
+            
+             MessageId: MF_E_NET_BAD_REQUEST
+            
+             MessageText:
+            
+             The request could not be understood by the server.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_INTERNAL_SERVER_ERROR">
+            
+             MessageId: MF_E_NET_INTERNAL_SERVER_ERROR
+            
+             MessageText:
+            
+             The server encountered an unexpected condition which prevented it from fulfilling the request.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_SESSION_NOT_FOUND">
+            
+             MessageId: MF_E_NET_SESSION_NOT_FOUND
+            
+             MessageText:
+            
+             Session not found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_NOCONNECTION">
+            
+             MessageId: MF_E_NET_NOCONNECTION
+            
+             MessageText:
+            
+             There is no connection established with the Windows Media server. The operation failed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_CONNECTION_FAILURE">
+            
+             MessageId: MF_E_NET_CONNECTION_FAILURE
+            
+             MessageText:
+            
+             The network connection has failed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_INCOMPATIBLE_PUSHSERVER">
+            
+             MessageId: MF_E_NET_INCOMPATIBLE_PUSHSERVER
+            
+             MessageText:
+            
+             The Server service that received the HTTP push request is not a compatible version of Windows Media Services (WMS).  This error may indicate the push request was received by IIS instead of WMS.  Ensure WMS is started and has the HTTP Server control protocol properly enabled and try again.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_SERVER_ACCESSDENIED">
+            
+             MessageId: MF_E_NET_SERVER_ACCESSDENIED
+            
+             MessageText:
+            
+             The Windows Media server is denying access.  The username and/or password might be incorrect.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_PROXY_ACCESSDENIED">
+            
+             MessageId: MF_E_NET_PROXY_ACCESSDENIED
+            
+             MessageText:
+            
+             The proxy server is denying access.  The username and/or password might be incorrect.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_CANNOTCONNECT">
+            
+             MessageId: MF_E_NET_CANNOTCONNECT
+            
+             MessageText:
+            
+             Unable to establish a connection to the server.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_INVALID_PUSH_TEMPLATE">
+            
+             MessageId: MF_E_NET_INVALID_PUSH_TEMPLATE
+            
+             MessageText:
+            
+             The specified push template is invalid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_INVALID_PUSH_PUBLISHING_POINT">
+            
+             MessageId: MF_E_NET_INVALID_PUSH_PUBLISHING_POINT
+            
+             MessageText:
+            
+             The specified push publishing point is invalid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_BUSY">
+            
+             MessageId: MF_E_NET_BUSY
+            
+             MessageText:
+            
+             The requested resource is in use.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_RESOURCE_GONE">
+            
+             MessageId: MF_E_NET_RESOURCE_GONE
+            
+             MessageText:
+            
+             The Publishing Point or file on the Windows Media Server is no longer available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_ERROR_FROM_PROXY">
+            
+             MessageId: MF_E_NET_ERROR_FROM_PROXY
+            
+             MessageText:
+            
+             The proxy experienced an error while attempting to contact the media server.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_PROXY_TIMEOUT">
+            
+             MessageId: MF_E_NET_PROXY_TIMEOUT
+            
+             MessageText:
+            
+             The proxy did not receive a timely response while attempting to contact the media server.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_SERVER_UNAVAILABLE">
+            
+             MessageId: MF_E_NET_SERVER_UNAVAILABLE
+            
+             MessageText:
+            
+             The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_TOO_MUCH_DATA">
+            
+             MessageId: MF_E_NET_TOO_MUCH_DATA
+            
+             MessageText:
+            
+             The encoding process was unable to keep up with the amount of supplied data.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_SESSION_INVALID">
+            
+             MessageId: MF_E_NET_SESSION_INVALID
+            
+             MessageText:
+            
+             Session not found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_OFFLINE_MODE">
+            
+             MessageId: MF_E_OFFLINE_MODE
+            
+             MessageText:
+            
+             The requested URL is not available in offline mode.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_UDP_BLOCKED">
+            
+             MessageId: MF_E_NET_UDP_BLOCKED
+            
+             MessageText:
+            
+             A device in the network is blocking UDP traffic.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_UNSUPPORTED_CONFIGURATION">
+            
+             MessageId: MF_E_NET_UNSUPPORTED_CONFIGURATION
+            
+             MessageText:
+            
+             The specified configuration value is not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_PROTOCOL_DISABLED">
+            
+             MessageId: MF_E_NET_PROTOCOL_DISABLED
+            
+             MessageText:
+            
+             The networking protocol is disabled.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ALREADY_INITIALIZED">
+            
+             MessageId: MF_E_ALREADY_INITIALIZED
+            
+             MessageText:
+            
+             This object has already been initialized and cannot be re-initialized at this time.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_BANDWIDTH_OVERRUN">
+            
+             MessageId: MF_E_BANDWIDTH_OVERRUN
+            
+             MessageText:
+            
+             The amount of data passed in exceeds the given bitrate and buffer window.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_LATE_SAMPLE">
+            
+             MessageId: MF_E_LATE_SAMPLE
+            
+             MessageText:
+            
+             The sample was passed in too late to be correctly processed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_FLUSH_NEEDED">
+            
+             MessageId: MF_E_FLUSH_NEEDED
+            
+             MessageText:
+            
+             The requested action cannot be carried out until the object is flushed and the queue is emptied.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_PROFILE">
+            
+             MessageId: MF_E_INVALID_PROFILE
+            
+             MessageText:
+            
+             The profile is invalid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INDEX_NOT_COMMITTED">
+            
+             MessageId: MF_E_INDEX_NOT_COMMITTED
+            
+             MessageText:
+            
+             The index that is being generated needs to be committed before the requested action can be carried out.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_INDEX">
+            
+             MessageId: MF_E_NO_INDEX
+            
+             MessageText:
+            
+             The index that is necessary for the requested action is not found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_CANNOT_INDEX_IN_PLACE">
+            
+             MessageId: MF_E_CANNOT_INDEX_IN_PLACE
+            
+             MessageText:
+            
+             The requested index cannot be added in-place to the specified ASF content.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MISSING_ASF_LEAKYBUCKET">
+            
+             MessageId: MF_E_MISSING_ASF_LEAKYBUCKET
+            
+             MessageText:
+            
+             The ASF leaky bucket parameters must be specified in order to carry out this request.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_ASF_STREAMID">
+            
+             MessageId: MF_E_INVALID_ASF_STREAMID
+            
+             MessageText:
+            
+             The stream id is invalid. The valid range for ASF stream id is from 1 to 127.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_STREAMSINK_REMOVED">
+            
+             MessageId: MF_E_STREAMSINK_REMOVED
+            
+             MessageText:
+            
+             The requested Stream Sink has been removed and cannot be used.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_STREAMSINKS_OUT_OF_SYNC">
+            
+             MessageId: MF_E_STREAMSINKS_OUT_OF_SYNC
+            
+             MessageText:
+            
+             The various Stream Sinks in this Media Sink are too far out of sync for the requested action to take place.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_STREAMSINKS_FIXED">
+            
+             MessageId: MF_E_STREAMSINKS_FIXED
+            
+             MessageText:
+            
+             Stream Sinks cannot be added to or removed from this Media Sink because its set of streams is fixed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_STREAMSINK_EXISTS">
+            
+             MessageId: MF_E_STREAMSINK_EXISTS
+            
+             MessageText:
+            
+             The given Stream Sink already exists.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SAMPLEALLOCATOR_CANCELED">
+            
+             MessageId: MF_E_SAMPLEALLOCATOR_CANCELED
+            
+             MessageText:
+            
+             Sample allocations have been canceled.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SAMPLEALLOCATOR_EMPTY">
+            
+             MessageId: MF_E_SAMPLEALLOCATOR_EMPTY
+            
+             MessageText:
+            
+             The sample allocator is currently empty, due to outstanding requests.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SINK_ALREADYSTOPPED">
+            
+             MessageId: MF_E_SINK_ALREADYSTOPPED
+            
+             MessageText:
+            
+             When we try to sopt a stream sink, it is already stopped %0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_FILESINK_BITRATE_UNKNOWN">
+            
+             MessageId: MF_E_ASF_FILESINK_BITRATE_UNKNOWN
+            
+             MessageText:
+            
+             The ASF file sink could not reserve AVIO because the bitrate is unknown.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SINK_NO_STREAMS">
+            
+             MessageId: MF_E_SINK_NO_STREAMS
+            
+             MessageText:
+            
+             No streams are selected in sink presentation descriptor.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_SINK_NOT_FINALIZED">
+            
+             MessageId: MF_S_SINK_NOT_FINALIZED
+            
+             MessageText:
+            
+             The sink has not been finalized before shut down. This may cause sink generate a corrupted content.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_METADATA_TOO_LONG">
+            
+             MessageId: MF_E_METADATA_TOO_LONG
+            
+             MessageText:
+            
+             A metadata item was too long to write to the output container.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SINK_NO_SAMPLES_PROCESSED">
+            
+             MessageId: MF_E_SINK_NO_SAMPLES_PROCESSED
+            
+             MessageText:
+            
+             The operation failed because no samples were processed by the sink.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_VIDEO_REN_NO_PROCAMP_HW">
+            
+             MessageId: MF_E_VIDEO_REN_NO_PROCAMP_HW
+            
+             MessageText:
+            
+             There is no available procamp hardware with which to perform color correction.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_VIDEO_REN_NO_DEINTERLACE_HW">
+            
+             MessageId: MF_E_VIDEO_REN_NO_DEINTERLACE_HW
+            
+             MessageText:
+            
+             There is no available deinterlacing hardware with which to deinterlace the video stream.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_VIDEO_REN_COPYPROT_FAILED">
+            
+             MessageId: MF_E_VIDEO_REN_COPYPROT_FAILED
+            
+             MessageText:
+            
+             A video stream requires copy protection to be enabled, but there was a failure in attempting to enable copy protection.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_VIDEO_REN_SURFACE_NOT_SHARED">
+            
+             MessageId: MF_E_VIDEO_REN_SURFACE_NOT_SHARED
+            
+             MessageText:
+            
+             A component is attempting to access a surface for sharing that is not shared.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_VIDEO_DEVICE_LOCKED">
+            
+             MessageId: MF_E_VIDEO_DEVICE_LOCKED
+            
+             MessageText:
+            
+             A component is attempting to access a shared device that is already locked by another component.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NEW_VIDEO_DEVICE">
+            
+             MessageId: MF_E_NEW_VIDEO_DEVICE
+            
+             MessageText:
+            
+             The device is no longer available. The handle should be closed and a new one opened.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_VIDEO_SAMPLE_AVAILABLE">
+            
+             MessageId: MF_E_NO_VIDEO_SAMPLE_AVAILABLE
+            
+             MessageText:
+            
+             A video sample is not currently queued on a stream that is required for mixing.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_AUDIO_PLAYBACK_DEVICE">
+            
+             MessageId: MF_E_NO_AUDIO_PLAYBACK_DEVICE
+            
+             MessageText:
+            
+             No audio playback device was found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_AUDIO_PLAYBACK_DEVICE_IN_USE">
+            
+             MessageId: MF_E_AUDIO_PLAYBACK_DEVICE_IN_USE
+            
+             MessageText:
+            
+             The requested audio playback device is currently in use.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_AUDIO_PLAYBACK_DEVICE_INVALIDATED">
+            
+             MessageId: MF_E_AUDIO_PLAYBACK_DEVICE_INVALIDATED
+            
+             MessageText:
+            
+             The audio playback device is no longer present.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_AUDIO_SERVICE_NOT_RUNNING">
+            
+             MessageId: MF_E_AUDIO_SERVICE_NOT_RUNNING
+            
+             MessageText:
+            
+             The audio service is not running.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_INVALID_OPTIONAL_NODE">
+            
+             MessageId: MF_E_TOPO_INVALID_OPTIONAL_NODE
+            
+             MessageText:
+            
+             The topology contains an invalid optional node.  Possible reasons are incorrect number of outputs and inputs or optional node is at the beginning or end of a segment. %0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_CANNOT_FIND_DECRYPTOR">
+            
+             MessageId: MF_E_TOPO_CANNOT_FIND_DECRYPTOR
+            
+             MessageText:
+            
+             No suitable transform was found to decrypt the content. %0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_CODEC_NOT_FOUND">
+            
+             MessageId: MF_E_TOPO_CODEC_NOT_FOUND
+            
+             MessageText:
+            
+             No suitable transform was found to encode or decode the content. %0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_CANNOT_CONNECT">
+            
+             MessageId: MF_E_TOPO_CANNOT_CONNECT
+            
+             MessageText:
+            
+             Unable to find a way to connect nodes%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_UNSUPPORTED">
+            
+             MessageId: MF_E_TOPO_UNSUPPORTED
+            
+             MessageText:
+            
+             Unsupported operations in topoloader%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_INVALID_TIME_ATTRIBUTES">
+            
+             MessageId: MF_E_TOPO_INVALID_TIME_ATTRIBUTES
+            
+             MessageText:
+            
+             The topology or its nodes contain incorrectly set time attributes%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_LOOPS_IN_TOPOLOGY">
+            
+             MessageId: MF_E_TOPO_LOOPS_IN_TOPOLOGY
+            
+             MessageText:
+            
+             The topology contains loops, which are unsupported in media foundation topologies%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_MISSING_PRESENTATION_DESCRIPTOR">
+            
+             MessageId: MF_E_TOPO_MISSING_PRESENTATION_DESCRIPTOR
+            
+             MessageText:
+            
+             A source stream node in the topology does not have a presentation descriptor%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_MISSING_STREAM_DESCRIPTOR">
+            
+             MessageId: MF_E_TOPO_MISSING_STREAM_DESCRIPTOR
+            
+             MessageText:
+            
+             A source stream node in the topology does not have a stream descriptor%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_STREAM_DESCRIPTOR_NOT_SELECTED">
+            
+             MessageId: MF_E_TOPO_STREAM_DESCRIPTOR_NOT_SELECTED
+            
+             MessageText:
+            
+             A stream descriptor was set on a source stream node but it was not selected on the presentation descriptor%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_MISSING_SOURCE">
+            
+             MessageId: MF_E_TOPO_MISSING_SOURCE
+            
+             MessageText:
+            
+             A source stream node in the topology does not have a source%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_SINK_ACTIVATES_UNSUPPORTED">
+            
+             MessageId: MF_E_TOPO_SINK_ACTIVATES_UNSUPPORTED
+            
+             MessageText:
+            
+             The topology loader does not support sink activates on output nodes.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SEQUENCER_UNKNOWN_SEGMENT_ID">
+            
+             MessageId: MF_E_SEQUENCER_UNKNOWN_SEGMENT_ID
+            
+             MessageText:
+            
+             The sequencer cannot find a segment with the given ID.%0\n.
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_SEQUENCER_CONTEXT_CANCELED">
+            
+             MessageId: MF_S_SEQUENCER_CONTEXT_CANCELED
+            
+             MessageText:
+            
+             The context was canceled.%0\n.
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_SOURCE_IN_CACHE">
+            
+             MessageId: MF_E_NO_SOURCE_IN_CACHE
+            
+             MessageText:
+            
+             Cannot find source in source cache.%0\n.
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_SEQUENCER_SEGMENT_AT_END_OF_STREAM">
+            
+             MessageId: MF_S_SEQUENCER_SEGMENT_AT_END_OF_STREAM
+            
+             MessageText:
+            
+             Cannot update topology flags.%0\n.
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_TYPE_NOT_SET">
+            
+             MessageId: MF_E_TRANSFORM_TYPE_NOT_SET
+            
+             MessageText:
+            
+             A valid type has not been set for this stream or a stream that it depends on.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_STREAM_CHANGE">
+            
+             MessageId: MF_E_TRANSFORM_STREAM_CHANGE
+            
+             MessageText:
+            
+             A stream change has occurred. Output cannot be produced until the streams have been renegotiated.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_INPUT_REMAINING">
+            
+             MessageId: MF_E_TRANSFORM_INPUT_REMAINING
+            
+             MessageText:
+            
+             The transform cannot take the requested action until all of the input data it currently holds is processed or flushed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROFILE_MISSING">
+            
+             MessageId: MF_E_TRANSFORM_PROFILE_MISSING
+            
+             MessageText:
+            
+             The transform requires a profile but no profile was supplied or found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROFILE_INVALID_OR_CORRUPT">
+            
+             MessageId: MF_E_TRANSFORM_PROFILE_INVALID_OR_CORRUPT
+            
+             MessageText:
+            
+             The transform requires a profile but the supplied profile was invalid or corrupt.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROFILE_TRUNCATED">
+            
+             MessageId: MF_E_TRANSFORM_PROFILE_TRUNCATED
+            
+             MessageText:
+            
+             The transform requires a profile but the supplied profile ended unexpectedly while parsing.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROPERTY_PID_NOT_RECOGNIZED">
+            
+             MessageId: MF_E_TRANSFORM_PROPERTY_PID_NOT_RECOGNIZED
+            
+             MessageText:
+            
+             The property ID does not match any property supported by the transform.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROPERTY_VARIANT_TYPE_WRONG">
+            
+             MessageId: MF_E_TRANSFORM_PROPERTY_VARIANT_TYPE_WRONG
+            
+             MessageText:
+            
+             The variant does not have the type expected for this property ID.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROPERTY_NOT_WRITEABLE">
+            
+             MessageId: MF_E_TRANSFORM_PROPERTY_NOT_WRITEABLE
+            
+             MessageText:
+            
+             An attempt was made to set the value on a read-only property.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROPERTY_ARRAY_VALUE_WRONG_NUM_DIM">
+            
+             MessageId: MF_E_TRANSFORM_PROPERTY_ARRAY_VALUE_WRONG_NUM_DIM
+            
+             MessageText:
+            
+             The array property value has an unexpected number of dimensions.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROPERTY_VALUE_SIZE_WRONG">
+            
+             MessageId: MF_E_TRANSFORM_PROPERTY_VALUE_SIZE_WRONG
+            
+             MessageText:
+            
+             The array or blob property value has an unexpected size.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROPERTY_VALUE_OUT_OF_RANGE">
+            
+             MessageId: MF_E_TRANSFORM_PROPERTY_VALUE_OUT_OF_RANGE
+            
+             MessageText:
+            
+             The property value is out of range for this transform.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROPERTY_VALUE_INCOMPATIBLE">
+            
+             MessageId: MF_E_TRANSFORM_PROPERTY_VALUE_INCOMPATIBLE
+            
+             MessageText:
+            
+             The property value is incompatible with some other property or mediatype set on the transform.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_OUTPUT_MEDIATYPE">
+            
+             MessageId: MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_OUTPUT_MEDIATYPE
+            
+             MessageText:
+            
+             The requested operation is not supported for the currently set output mediatype.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_INPUT_MEDIATYPE">
+            
+             MessageId: MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_INPUT_MEDIATYPE
+            
+             MessageText:
+            
+             The requested operation is not supported for the currently set input mediatype.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_MEDIATYPE_COMBINATION">
+            
+             MessageId: MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_MEDIATYPE_COMBINATION
+            
+             MessageText:
+            
+             The requested operation is not supported for the currently set combination of mediatypes.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_CONFLICTS_WITH_OTHER_CURRENTLY_ENABLED_FEATURES">
+            
+             MessageId: MF_E_TRANSFORM_CONFLICTS_WITH_OTHER_CURRENTLY_ENABLED_FEATURES
+            
+             MessageText:
+            
+             The requested feature is not supported in combination with some other currently enabled feature.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_NEED_MORE_INPUT">
+            
+             MessageId: MF_E_TRANSFORM_NEED_MORE_INPUT
+            
+             MessageText:
+            
+             The transform cannot produce output until it gets more input samples.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_SPKR_CONFIG">
+            
+             MessageId: MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_SPKR_CONFIG
+            
+             MessageText:
+            
+             The requested operation is not supported for the current speaker configuration.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_CANNOT_CHANGE_MEDIATYPE_WHILE_PROCESSING">
+            
+             MessageId: MF_E_TRANSFORM_CANNOT_CHANGE_MEDIATYPE_WHILE_PROCESSING
+            
+             MessageText:
+            
+             The transform cannot accept mediatype changes in the middle of processing.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_TRANSFORM_DO_NOT_PROPAGATE_EVENT">
+            
+             MessageId: MF_S_TRANSFORM_DO_NOT_PROPAGATE_EVENT
+            
+             MessageText:
+            
+             The caller should not propagate this event to downstream components.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_D3D_TYPE">
+            
+             MessageId: MF_E_UNSUPPORTED_D3D_TYPE
+            
+             MessageText:
+            
+             The input type is not supported for D3D device.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_ASYNC_LOCKED">
+            
+             MessageId: MF_E_TRANSFORM_ASYNC_LOCKED
+            
+             MessageText:
+            
+             The caller does not appear to support this transform's asynchronous capabilities.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_CANNOT_INITIALIZE_ACM_DRIVER">
+            
+             MessageId: MF_E_TRANSFORM_CANNOT_INITIALIZE_ACM_DRIVER
+            
+             MessageText:
+            
+             An audio compression manager driver could not be initialized by the transform.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_LICENSE_INCORRECT_RIGHTS">
+            
+             MessageId: MF_E_LICENSE_INCORRECT_RIGHTS
+            
+             MessageText:
+            
+             You are not allowed to open this file. Contact the content provider for further assistance.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_LICENSE_OUTOFDATE">
+            
+             MessageId: MF_E_LICENSE_OUTOFDATE
+            
+             MessageText:
+            
+             The license for this media file has expired. Get a new license or contact the content provider for further assistance.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_LICENSE_REQUIRED">
+            
+             MessageId: MF_E_LICENSE_REQUIRED
+            
+             MessageText:
+            
+             You need a license to perform the requested operation on this media file.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_DRM_HARDWARE_INCONSISTENT">
+            
+             MessageId: MF_E_DRM_HARDWARE_INCONSISTENT
+            
+             MessageText:
+            
+             The licenses for your media files are corrupted. Contact Microsoft product support.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_CONTENT_PROTECTION_MANAGER">
+            
+             MessageId: MF_E_NO_CONTENT_PROTECTION_MANAGER
+            
+             MessageText:
+            
+             The APP needs to provide IMFContentProtectionManager callback to access the protected media file.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_LICENSE_RESTORE_NO_RIGHTS">
+            
+             MessageId: MF_E_LICENSE_RESTORE_NO_RIGHTS
+            
+             MessageText:
+            
+             Client does not have rights to restore licenses.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_BACKUP_RESTRICTED_LICENSE">
+            
+             MessageId: MF_E_BACKUP_RESTRICTED_LICENSE
+            
+             MessageText:
+            
+             Licenses are restricted and hence can not be backed up.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_LICENSE_RESTORE_NEEDS_INDIVIDUALIZATION">
+            
+             MessageId: MF_E_LICENSE_RESTORE_NEEDS_INDIVIDUALIZATION
+            
+             MessageText:
+            
+             License restore requires machine to be individualized.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_PROTECTION_NOT_REQUIRED">
+            
+             MessageId: MF_S_PROTECTION_NOT_REQUIRED
+            
+             MessageText:
+            
+             Protection for stream is not required.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_COMPONENT_REVOKED">
+            
+             MessageId: MF_E_COMPONENT_REVOKED
+            
+             MessageText:
+            
+             Component is revoked.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRUST_DISABLED">
+            
+             MessageId: MF_E_TRUST_DISABLED
+            
+             MessageText:
+            
+             Trusted functionality is currently disabled on this component.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_WMDRMOTA_NO_ACTION">
+            
+             MessageId: MF_E_WMDRMOTA_NO_ACTION
+            
+             MessageText:
+            
+             No Action is set on WMDRM Output Trust Authority.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_WMDRMOTA_ACTION_ALREADY_SET">
+            
+             MessageId: MF_E_WMDRMOTA_ACTION_ALREADY_SET
+            
+             MessageText:
+            
+             Action is already set on WMDRM Output Trust Authority.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_WMDRMOTA_DRM_HEADER_NOT_AVAILABLE">
+            
+             MessageId: MF_E_WMDRMOTA_DRM_HEADER_NOT_AVAILABLE
+            
+             MessageText:
+            
+             DRM Heaader is not available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_WMDRMOTA_DRM_ENCRYPTION_SCHEME_NOT_SUPPORTED">
+            
+             MessageId: MF_E_WMDRMOTA_DRM_ENCRYPTION_SCHEME_NOT_SUPPORTED
+            
+             MessageText:
+            
+             Current encryption scheme is not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_WMDRMOTA_ACTION_MISMATCH">
+            
+             MessageId: MF_E_WMDRMOTA_ACTION_MISMATCH
+            
+             MessageText:
+            
+             Action does not match with current configuration.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_WMDRMOTA_INVALID_POLICY">
+            
+             MessageId: MF_E_WMDRMOTA_INVALID_POLICY
+            
+             MessageText:
+            
+             Invalid policy for WMDRM Output Trust Authority.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_POLICY_UNSUPPORTED">
+            
+             MessageId: MF_E_POLICY_UNSUPPORTED
+            
+             MessageText:
+            
+             The policies that the Input Trust Authority requires to be enforced are unsupported by the outputs.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_OPL_NOT_SUPPORTED">
+            
+             MessageId: MF_E_OPL_NOT_SUPPORTED
+            
+             MessageText:
+            
+             The OPL that the license requires to be enforced are not supported by the Input Trust Authority.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPOLOGY_VERIFICATION_FAILED">
+            
+             MessageId: MF_E_TOPOLOGY_VERIFICATION_FAILED
+            
+             MessageText:
+            
+             The topology could not be successfully verified.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SIGNATURE_VERIFICATION_FAILED">
+            
+             MessageId: MF_E_SIGNATURE_VERIFICATION_FAILED
+            
+             MessageText:
+            
+             Signature verification could not be completed successfully for this component.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_DEBUGGING_NOT_ALLOWED">
+            
+             MessageId: MF_E_DEBUGGING_NOT_ALLOWED
+            
+             MessageText:
+            
+             Running this process under a debugger while using protected content is not allowed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_CODE_EXPIRED">
+            
+             MessageId: MF_E_CODE_EXPIRED
+            
+             MessageText:
+            
+             MF component has expired.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_GRL_VERSION_TOO_LOW">
+            
+             MessageId: MF_E_GRL_VERSION_TOO_LOW
+            
+             MessageText:
+            
+             The current GRL on the machine does not meet the minimum version requirements.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_GRL_RENEWAL_NOT_FOUND">
+            
+             MessageId: MF_E_GRL_RENEWAL_NOT_FOUND
+            
+             MessageText:
+            
+             The current GRL on the machine does not contain any renewal entries for the specified revocation.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_GRL_EXTENSIBLE_ENTRY_NOT_FOUND">
+            
+             MessageId: MF_E_GRL_EXTENSIBLE_ENTRY_NOT_FOUND
+            
+             MessageText:
+            
+             The current GRL on the machine does not contain any extensible entries for the specified extension GUID.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_KERNEL_UNTRUSTED">
+            
+             MessageId: MF_E_KERNEL_UNTRUSTED
+            
+             MessageText:
+            
+             The kernel isn't secure for high security level content.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PEAUTH_UNTRUSTED">
+            
+             MessageId: MF_E_PEAUTH_UNTRUSTED
+            
+             MessageText:
+            
+             The response from protected environment driver isn't valid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NON_PE_PROCESS">
+            
+             MessageId: MF_E_NON_PE_PROCESS
+            
+             MessageText:
+            
+             A non-PE process tried to talk to PEAuth.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_REBOOT_REQUIRED">
+            
+             MessageId: MF_E_REBOOT_REQUIRED
+            
+             MessageText:
+            
+             We need to reboot the machine.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_WAIT_FOR_POLICY_SET">
+            
+             MessageId: MF_S_WAIT_FOR_POLICY_SET
+            
+             MessageText:
+            
+             Protection for this stream is not guaranteed to be enforced until the MEPolicySet event is fired.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_VIDEO_DISABLED_WITH_UNKNOWN_SOFTWARE_OUTPUT">
+            
+             MessageId: MF_S_VIDEO_DISABLED_WITH_UNKNOWN_SOFTWARE_OUTPUT
+            
+             MessageText:
+            
+             This video stream is disabled because it is being sent to an unknown software output.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_GRL_INVALID_FORMAT">
+            
+             MessageId: MF_E_GRL_INVALID_FORMAT
+            
+             MessageText:
+            
+             The GRL file is not correctly formed, it may have been corrupted or overwritten.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_GRL_UNRECOGNIZED_FORMAT">
+            
+             MessageId: MF_E_GRL_UNRECOGNIZED_FORMAT
+            
+             MessageText:
+            
+             The GRL file is in a format newer than those recognized by this GRL Reader.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ALL_PROCESS_RESTART_REQUIRED">
+            
+             MessageId: MF_E_ALL_PROCESS_RESTART_REQUIRED
+            
+             MessageText:
+            
+             The GRL was reloaded and required all processes that can run protected media to restart.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROCESS_RESTART_REQUIRED">
+            
+             MessageId: MF_E_PROCESS_RESTART_REQUIRED
+            
+             MessageText:
+            
+             The GRL was reloaded and the current process needs to restart.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_USERMODE_UNTRUSTED">
+            
+             MessageId: MF_E_USERMODE_UNTRUSTED
+            
+             MessageText:
+            
+             The user space is untrusted for protected content play.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PEAUTH_SESSION_NOT_STARTED">
+            
+             MessageId: MF_E_PEAUTH_SESSION_NOT_STARTED
+            
+             MessageText:
+            
+             PEAuth communication session hasn't been started.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PEAUTH_PUBLICKEY_REVOKED">
+            
+             MessageId: MF_E_PEAUTH_PUBLICKEY_REVOKED
+            
+             MessageText:
+            
+             PEAuth's public key is revoked.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_GRL_ABSENT">
+            
+             MessageId: MF_E_GRL_ABSENT
+            
+             MessageText:
+            
+             The GRL is absent.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_PE_TRUSTED">
+            
+             MessageId: MF_S_PE_TRUSTED
+            
+             MessageText:
+            
+             The Protected Environment is trusted.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PE_UNTRUSTED">
+            
+             MessageId: MF_E_PE_UNTRUSTED
+            
+             MessageText:
+            
+             The Protected Environment is untrusted.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PEAUTH_NOT_STARTED">
+            
+             MessageId: MF_E_PEAUTH_NOT_STARTED
+            
+             MessageText:
+            
+             The Protected Environment Authorization service (PEAUTH) has not been started.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INCOMPATIBLE_SAMPLE_PROTECTION">
+            
+             MessageId: MF_E_INCOMPATIBLE_SAMPLE_PROTECTION
+            
+             MessageText:
+            
+             The sample protection algorithms supported by components are not compatible.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PE_SESSIONS_MAXED">
+            
+             MessageId: MF_E_PE_SESSIONS_MAXED
+            
+             MessageText:
+            
+             No more protected environment sessions can be supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_HIGH_SECURITY_LEVEL_CONTENT_NOT_ALLOWED">
+            
+             MessageId: MF_E_HIGH_SECURITY_LEVEL_CONTENT_NOT_ALLOWED
+            
+             MessageText:
+            
+             WMDRM ITA does not allow protected content with high security level for this release.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TEST_SIGNED_COMPONENTS_NOT_ALLOWED">
+            
+             MessageId: MF_E_TEST_SIGNED_COMPONENTS_NOT_ALLOWED
+            
+             MessageText:
+            
+             WMDRM ITA cannot allow the requested action for the content as one or more components is not properly signed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ITA_UNSUPPORTED_ACTION">
+            
+             MessageId: MF_E_ITA_UNSUPPORTED_ACTION
+            
+             MessageText:
+            
+             WMDRM ITA does not support the requested action.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ITA_ERROR_PARSING_SAP_PARAMETERS">
+            
+             MessageId: MF_E_ITA_ERROR_PARSING_SAP_PARAMETERS
+            
+             MessageText:
+            
+             WMDRM ITA encountered an error in parsing the Secure Audio Path parameters.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_POLICY_MGR_ACTION_OUTOFBOUNDS">
+            
+             MessageId: MF_E_POLICY_MGR_ACTION_OUTOFBOUNDS
+            
+             MessageText:
+            
+             The Policy Manager action passed in is invalid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_BAD_OPL_STRUCTURE_FORMAT">
+            
+             MessageId: MF_E_BAD_OPL_STRUCTURE_FORMAT
+            
+             MessageText:
+            
+             The structure specifying Output Protection Level is not the correct format.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ITA_UNRECOGNIZED_ANALOG_VIDEO_PROTECTION_GUID">
+            
+             MessageId: MF_E_ITA_UNRECOGNIZED_ANALOG_VIDEO_PROTECTION_GUID
+            
+             MessageText:
+            
+             WMDRM ITA does not recognize the Explicite Analog Video Output Protection guid specified in the license.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_PMP_HOST">
+            
+             MessageId: MF_E_NO_PMP_HOST
+            
+             MessageText:
+            
+             IMFPMPHost object not available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ITA_OPL_DATA_NOT_INITIALIZED">
+            
+             MessageId: MF_E_ITA_OPL_DATA_NOT_INITIALIZED
+            
+             MessageText:
+            
+             WMDRM ITA could not initialize the Output Protection Level data.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ITA_UNRECOGNIZED_ANALOG_VIDEO_OUTPUT">
+            
+             MessageId: MF_E_ITA_UNRECOGNIZED_ANALOG_VIDEO_OUTPUT
+            
+             MessageText:
+            
+             WMDRM ITA does not recognize the Analog Video Output specified by the OTA.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ITA_UNRECOGNIZED_DIGITAL_VIDEO_OUTPUT">
+            
+             MessageId: MF_E_ITA_UNRECOGNIZED_DIGITAL_VIDEO_OUTPUT
+            
+             MessageText:
+            
+             WMDRM ITA does not recognize the Digital Video Output specified by the OTA.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_CLOCK_INVALID_CONTINUITY_KEY">
+            
+             MessageId: MF_E_CLOCK_INVALID_CONTINUITY_KEY
+            
+             MessageText:
+            
+             The continuity key supplied is not currently valid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_CLOCK_NO_TIME_SOURCE">
+            
+             MessageId: MF_E_CLOCK_NO_TIME_SOURCE
+            
+             MessageText:
+            
+             No Presentation Time Source has been specified.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_CLOCK_STATE_ALREADY_SET">
+            
+             MessageId: MF_E_CLOCK_STATE_ALREADY_SET
+            
+             MessageText:
+            
+             The clock is already in the requested state.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_CLOCK_NOT_SIMPLE">
+            
+             MessageId: MF_E_CLOCK_NOT_SIMPLE
+            
+             MessageText:
+            
+             The clock has too many advanced features to carry out the request.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_CLOCK_STOPPED">
+            
+             MessageId: MF_S_CLOCK_STOPPED
+            
+             MessageText:
+            
+             Timer::SetTimer returns this success code if called happened while timer is stopped. Timer is not going to be dispatched until clock is running%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_MORE_DROP_MODES">
+            
+             MessageId: MF_E_NO_MORE_DROP_MODES
+            
+             MessageText:
+            
+             The component does not support any more drop modes.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_MORE_QUALITY_LEVELS">
+            
+             MessageId: MF_E_NO_MORE_QUALITY_LEVELS
+            
+             MessageText:
+            
+             The component does not support any more quality levels.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_DROPTIME_NOT_SUPPORTED">
+            
+             MessageId: MF_E_DROPTIME_NOT_SUPPORTED
+            
+             MessageText:
+            
+             The component does not support drop time functionality.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_QUALITYKNOB_WAIT_LONGER">
+            
+             MessageId: MF_E_QUALITYKNOB_WAIT_LONGER
+            
+             MessageText:
+            
+             Quality Manager needs to wait longer before bumping the Quality Level up.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_QM_INVALIDSTATE">
+            
+             MessageId: MF_E_QM_INVALIDSTATE
+            
+             MessageText:
+            
+             Quality Manager is in an invalid state. Quality Management is off at this moment.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSCODE_NO_CONTAINERTYPE">
+            
+             MessageId: MF_E_TRANSCODE_NO_CONTAINERTYPE
+            
+             MessageText:
+            
+             No transcode output container type is specified.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSCODE_PROFILE_NO_MATCHING_STREAMS">
+            
+             MessageId: MF_E_TRANSCODE_PROFILE_NO_MATCHING_STREAMS
+            
+             MessageText:
+            
+             The profile does not have a media type configuration for any selected source streams.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSCODE_NO_MATCHING_ENCODER">
+            
+             MessageId: MF_E_TRANSCODE_NO_MATCHING_ENCODER
+            
+             MessageText:
+            
+             Cannot find an encoder MFT that accepts the user preferred output type.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ALLOCATOR_NOT_INITIALIZED">
+            
+             MessageId: MF_E_ALLOCATOR_NOT_INITIALIZED
+            
+             MessageText:
+            
+             Memory allocator is not initialized.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ALLOCATOR_NOT_COMMITED">
+            
+             MessageId: MF_E_ALLOCATOR_NOT_COMMITED
+            
+             MessageText:
+            
+             Memory allocator is not committed yet.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ALLOCATOR_ALREADY_COMMITED">
+            
+             MessageId: MF_E_ALLOCATOR_ALREADY_COMMITED
+            
+             MessageText:
+            
+             Memory allocator has already been committed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_STREAM_ERROR">
+            
+             MessageId: MF_E_STREAM_ERROR
+            
+             MessageText:
+            
+             An error occurred in media stream.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_STREAM_STATE">
+            
+             MessageId: MF_E_INVALID_STREAM_STATE
+            
+             MessageText:
+            
+             Stream is not in a state to handle the request.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_HW_STREAM_NOT_CONNECTED">
+            
+             MessageId: MF_E_HW_STREAM_NOT_CONNECTED
+            
+             MessageText:
+            
+             Hardware stream is not connected yet.%0
+            
+        </member>
+        <member name="T:NAudio.MediaFoundation.MediaTypes">
+            <summary>
+            Major Media Types
+            http://msdn.microsoft.com/en-us/library/windows/desktop/aa367377%28v=vs.85%29.aspx
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_Default">
+            <summary>
+            Default
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_Audio">
+            <summary>
+            Audio
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_Video">
+            <summary>
+            Video
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_Protected">
+            <summary>
+            Protected Media
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_SAMI">
+            <summary>
+            Synchronized Accessible Media Interchange (SAMI) captions.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_Script">
+            <summary>
+            Script stream
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_Image">
+            <summary>
+            Still image stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_HTML">
+            <summary>
+            HTML stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_Binary">
+            <summary>
+            Binary stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_FileTransfer">
+            <summary>
+            A stream that contains data files.
+            </summary>
+        </member>
+        <member name="T:NAudio.Utils.ChunkIdentifier">
+            <summary>
+            Chunk Identifier helpers
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ChunkIdentifier.ChunkIdentifierToInt32(System.String)">
+            <summary>
+            Chunk identifier to Int32 (replaces mmioStringToFOURCC)
+            </summary>
+            <param name="s">four character chunk identifier</param>
+            <returns>Chunk identifier as int 32</returns>
+        </member>
+        <member name="T:NAudio.Utils.FieldDescriptionAttribute">
+            <summary>
+            Allows us to add descriptions to interop members
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.FieldDescriptionAttribute.#ctor(System.String)">
+            <summary>
+            Field description
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.FieldDescriptionAttribute.ToString">
+            <summary>
+            String representation
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:NAudio.Utils.FieldDescriptionAttribute.Description">
+            <summary>
+            The description
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFActivate">
+            <summary>
+            IMFActivate, defined in mfobjects.h
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFAttributes">
+            <summary>
+            Provides a generic way to store key/value pairs on an object.
+            http://msdn.microsoft.com/en-gb/library/windows/desktop/ms704598%28v=vs.85%29.aspx
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetItem(System.Guid,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetItemType(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the data type of the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.CompareItem(System.Guid,System.IntPtr,System.Boolean@)">
+            <summary>
+            Queries whether a stored attribute value equals a specified PROPVARIANT.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.Compare(NAudio.MediaFoundation.IMFAttributes,System.Int32,System.Boolean@)">
+            <summary>
+            Compares the attributes on this object with the attributes on another object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetUINT32(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves a UINT32 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetUINT64(System.Guid,System.Int64@)">
+            <summary>
+            Retrieves a UINT64 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetDouble(System.Guid,System.Double@)">
+            <summary>
+            Retrieves a double value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetGUID(System.Guid,System.Guid@)">
+            <summary>
+            Retrieves a GUID value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetStringLength(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a string value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetString(System.Guid,System.Text.StringBuilder,System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetAllocatedString(System.Guid,System.String@,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key. This method allocates the memory for the string.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetBlobSize(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetBlob(System.Guid,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetAllocatedBlob(System.Guid,System.IntPtr@,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key. This method allocates the memory for the array.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetUnknown(System.Guid,System.Guid,System.Object@)">
+            <summary>
+            Retrieves an interface pointer associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.SetItem(System.Guid,System.IntPtr)">
+            <summary>
+            Associates an attribute value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.DeleteItem(System.Guid)">
+            <summary>
+            Removes a key/value pair from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.DeleteAllItems">
+            <summary>
+            Removes all key/value pairs from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.SetUINT32(System.Guid,System.Int32)">
+            <summary>
+            Associates a UINT32 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.SetUINT64(System.Guid,System.Int64)">
+            <summary>
+            Associates a UINT64 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.SetDouble(System.Guid,System.Double)">
+            <summary>
+            Associates a double value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.SetGUID(System.Guid,System.Guid)">
+            <summary>
+            Associates a GUID value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.SetString(System.Guid,System.String)">
+            <summary>
+            Associates a wide-character string with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.SetBlob(System.Guid,System.Byte[],System.Int32)">
+            <summary>
+            Associates a byte array with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.SetUnknown(System.Guid,System.Object)">
+            <summary>
+            Associates an IUnknown pointer with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.LockStore">
+            <summary>
+            Locks the attribute store so that no other thread can access it.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.UnlockStore">
+            <summary>
+            Unlocks the attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetCount(System.Int32@)">
+            <summary>
+            Retrieves the number of attributes that are set on this object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetItemByIndex(System.Int32,System.Guid@,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves an attribute at the specified index.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.CopyAllItems(NAudio.MediaFoundation.IMFAttributes)">
+            <summary>
+            Copies all of the attributes from this object into another attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetItem(System.Guid,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetItemType(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the data type of the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.CompareItem(System.Guid,System.IntPtr,System.Boolean@)">
+            <summary>
+            Queries whether a stored attribute value equals a specified PROPVARIANT.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.Compare(NAudio.MediaFoundation.IMFAttributes,System.Int32,System.Boolean@)">
+            <summary>
+            Compares the attributes on this object with the attributes on another object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetUINT32(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves a UINT32 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetUINT64(System.Guid,System.Int64@)">
+            <summary>
+            Retrieves a UINT64 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetDouble(System.Guid,System.Double@)">
+            <summary>
+            Retrieves a double value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetGUID(System.Guid,System.Guid@)">
+            <summary>
+            Retrieves a GUID value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetStringLength(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a string value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetString(System.Guid,System.Text.StringBuilder,System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetAllocatedString(System.Guid,System.String@,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key. This method allocates the memory for the string.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetBlobSize(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetBlob(System.Guid,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetAllocatedBlob(System.Guid,System.IntPtr@,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key. This method allocates the memory for the array.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetUnknown(System.Guid,System.Guid,System.Object@)">
+            <summary>
+            Retrieves an interface pointer associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.SetItem(System.Guid,System.IntPtr)">
+            <summary>
+            Associates an attribute value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.DeleteItem(System.Guid)">
+            <summary>
+            Removes a key/value pair from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.DeleteAllItems">
+            <summary>
+            Removes all key/value pairs from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.SetUINT32(System.Guid,System.Int32)">
+            <summary>
+            Associates a UINT32 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.SetUINT64(System.Guid,System.Int64)">
+            <summary>
+            Associates a UINT64 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.SetDouble(System.Guid,System.Double)">
+            <summary>
+            Associates a double value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.SetGUID(System.Guid,System.Guid)">
+            <summary>
+            Associates a GUID value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.SetString(System.Guid,System.String)">
+            <summary>
+            Associates a wide-character string with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.SetBlob(System.Guid,System.Byte[],System.Int32)">
+            <summary>
+            Associates a byte array with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.SetUnknown(System.Guid,System.Object)">
+            <summary>
+            Associates an IUnknown pointer with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.LockStore">
+            <summary>
+            Locks the attribute store so that no other thread can access it.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.UnlockStore">
+            <summary>
+            Unlocks the attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetCount(System.Int32@)">
+            <summary>
+            Retrieves the number of attributes that are set on this object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetItemByIndex(System.Int32,System.Guid@,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves an attribute at the specified index.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.CopyAllItems(NAudio.MediaFoundation.IMFAttributes)">
+            <summary>
+            Copies all of the attributes from this object into another attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.ActivateObject(System.Guid,System.Object@)">
+            <summary>
+            Creates the object associated with this activation object. 
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.ShutdownObject">
+            <summary>
+            Shuts down the created object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.DetachObject">
+            <summary>
+            Detaches the created object from the activation object.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFCollection">
+            <summary>
+            Represents a generic collection of IUnknown pointers. 
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFCollection.GetElementCount(System.Int32@)">
+            <summary>
+            Retrieves the number of objects in the collection.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFCollection.GetElement(System.Int32,System.Object@)">
+            <summary>
+            Retrieves an object in the collection.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFCollection.AddElement(System.Object)">
+            <summary>
+            Adds an object to the collection.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFCollection.RemoveElement(System.Int32,System.Object@)">
+            <summary>
+            Removes an object from the collection.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFCollection.InsertElementAt(System.Int32,System.Object)">
+            <summary>
+            Removes an object from the collection.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFCollection.RemoveAllElements">
+            <summary>
+            Removes all items from the collection.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFMediaEvent">
+            <summary>
+            IMFMediaEvent - Represents an event generated by a Media Foundation object. Use this interface to get information about the event.
+            http://msdn.microsoft.com/en-us/library/windows/desktop/ms702249%28v=vs.85%29.aspx
+            Mfobjects.h
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetItem(System.Guid,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetItemType(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the data type of the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.CompareItem(System.Guid,System.IntPtr,System.Boolean@)">
+            <summary>
+            Queries whether a stored attribute value equals a specified PROPVARIANT.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.Compare(NAudio.MediaFoundation.IMFAttributes,System.Int32,System.Boolean@)">
+            <summary>
+            Compares the attributes on this object with the attributes on another object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetUINT32(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves a UINT32 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetUINT64(System.Guid,System.Int64@)">
+            <summary>
+            Retrieves a UINT64 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetDouble(System.Guid,System.Double@)">
+            <summary>
+            Retrieves a double value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetGUID(System.Guid,System.Guid@)">
+            <summary>
+            Retrieves a GUID value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetStringLength(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a string value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetString(System.Guid,System.Text.StringBuilder,System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetAllocatedString(System.Guid,System.String@,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key. This method allocates the memory for the string.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetBlobSize(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetBlob(System.Guid,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetAllocatedBlob(System.Guid,System.IntPtr@,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key. This method allocates the memory for the array.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetUnknown(System.Guid,System.Guid,System.Object@)">
+            <summary>
+            Retrieves an interface pointer associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.SetItem(System.Guid,System.IntPtr)">
+            <summary>
+            Associates an attribute value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.DeleteItem(System.Guid)">
+            <summary>
+            Removes a key/value pair from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.DeleteAllItems">
+            <summary>
+            Removes all key/value pairs from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.SetUINT32(System.Guid,System.Int32)">
+            <summary>
+            Associates a UINT32 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.SetUINT64(System.Guid,System.Int64)">
+            <summary>
+            Associates a UINT64 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.SetDouble(System.Guid,System.Double)">
+            <summary>
+            Associates a double value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.SetGUID(System.Guid,System.Guid)">
+            <summary>
+            Associates a GUID value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.SetString(System.Guid,System.String)">
+            <summary>
+            Associates a wide-character string with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.SetBlob(System.Guid,System.Byte[],System.Int32)">
+            <summary>
+            Associates a byte array with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.SetUnknown(System.Guid,System.Object)">
+            <summary>
+            Associates an IUnknown pointer with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.LockStore">
+            <summary>
+            Locks the attribute store so that no other thread can access it.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.UnlockStore">
+            <summary>
+            Unlocks the attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetCount(System.Int32@)">
+            <summary>
+            Retrieves the number of attributes that are set on this object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetItemByIndex(System.Int32,System.Guid@,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves an attribute at the specified index.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.CopyAllItems(NAudio.MediaFoundation.IMFAttributes)">
+            <summary>
+            Copies all of the attributes from this object into another attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetType(NAudio.MediaFoundation.MediaEventType@)">
+            <summary>
+            Retrieves the event type. 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetType( 
+                /* [out] */ __RPC__out MediaEventType *pmet) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetExtendedType(System.Guid@)">
+            <summary>
+            Retrieves the extended type of the event.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetExtendedType( 
+                /* [out] */ __RPC__out GUID *pguidExtendedType) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetStatus(System.Int32@)">
+            <summary>
+            Retrieves an HRESULT that specifies the event status.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetStatus( 
+                /* [out] */ __RPC__out HRESULT *phrStatus) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetValue(NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves the value associated with the event, if any. 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetValue( 
+                /* [out] */ __RPC__out PROPVARIANT *pvValue) = 0;
+            </remarks>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFSinkWriter">
+            <summary>
+            Implemented by the Microsoft Media Foundation sink writer object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.AddStream(NAudio.MediaFoundation.IMFMediaType,System.Int32@)">
+            <summary>
+            Adds a stream to the sink writer.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.SetInputMediaType(System.Int32,NAudio.MediaFoundation.IMFMediaType,NAudio.MediaFoundation.IMFAttributes)">
+            <summary>
+            Sets the input format for a stream on the sink writer.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.BeginWriting">
+            <summary>
+            Initializes the sink writer for writing.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.WriteSample(System.Int32,NAudio.MediaFoundation.IMFSample)">
+            <summary>
+            Delivers a sample to the sink writer.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.SendStreamTick(System.Int32,System.Int64)">
+            <summary>
+            Indicates a gap in an input stream.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.PlaceMarker(System.Int32,System.IntPtr)">
+            <summary>
+            Places a marker in the specified stream.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.NotifyEndOfSegment(System.Int32)">
+            <summary>
+            Notifies the media sink that a stream has reached the end of a segment.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.Flush(System.Int32)">
+            <summary>
+            Flushes one or more streams.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.DoFinalize">
+            <summary>
+            (Finalize) Completes all writing operations on the sink writer.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.GetServiceForStream(System.Int32,System.Guid@,System.Guid@,System.IntPtr@)">
+            <summary>
+            Queries the underlying media sink or encoder for an interface.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.GetStatistics(System.Int32,NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS)">
+            <summary>
+            Gets statistics about the performance of the sink writer.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFTransform">
+            <summary>
+            IMFTransform, defined in mftransform.h
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetStreamLimits(System.Int32@,System.Int32@,System.Int32@,System.Int32@)">
+            <summary>
+            Retrieves the minimum and maximum number of input and output streams.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetStreamLimits( 
+                /* [out] */ __RPC__out DWORD *pdwInputMinimum,
+                /* [out] */ __RPC__out DWORD *pdwInputMaximum,
+                /* [out] */ __RPC__out DWORD *pdwOutputMinimum,
+                /* [out] */ __RPC__out DWORD *pdwOutputMaximum) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetStreamCount(System.Int32@,System.Int32@)">
+            <summary>
+            Retrieves the current number of input and output streams on this MFT.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetStreamCount( 
+                /* [out] */ __RPC__out DWORD *pcInputStreams,
+                /* [out] */ __RPC__out DWORD *pcOutputStreams) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetStreamIds(System.Int32,System.Int32[],System.Int32,System.Int32[])">
+            <summary>
+            Retrieves the stream identifiers for the input and output streams on this MFT.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetStreamIDs( 
+                DWORD dwInputIDArraySize,
+                /* [size_is][out] */ __RPC__out_ecount_full(dwInputIDArraySize) DWORD *pdwInputIDs,
+                DWORD dwOutputIDArraySize,
+                /* [size_is][out] */ __RPC__out_ecount_full(dwOutputIDArraySize) DWORD *pdwOutputIDs) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetInputStreamInfo(System.Int32,NAudio.MediaFoundation.MFT_INPUT_STREAM_INFO@)">
+            <summary>
+            Gets the buffer requirements and other information for an input stream on this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetInputStreamInfo( 
+                DWORD dwInputStreamID,
+                /* [out] */ __RPC__out MFT_INPUT_STREAM_INFO *pStreamInfo) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetOutputStreamInfo(System.Int32,NAudio.MediaFoundation.MFT_OUTPUT_STREAM_INFO@)">
+            <summary>
+            Gets the buffer requirements and other information for an output stream on this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetOutputStreamInfo( 
+                DWORD dwOutputStreamID,
+                /* [out] */ __RPC__out MFT_OUTPUT_STREAM_INFO *pStreamInfo) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetAttributes(NAudio.MediaFoundation.IMFAttributes@)">
+            <summary>
+            Gets the global attribute store for this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+             virtual HRESULT STDMETHODCALLTYPE GetAttributes( 
+                /* [out] */ __RPC__deref_out_opt IMFAttributes **pAttributes) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetInputStreamAttributes(System.Int32,NAudio.MediaFoundation.IMFAttributes@)">
+            <summary>
+            Retrieves the attribute store for an input stream on this MFT.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetInputStreamAttributes( 
+                DWORD dwInputStreamID,
+                /* [out] */ __RPC__deref_out_opt IMFAttributes **pAttributes) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetOutputStreamAttributes(System.Int32,NAudio.MediaFoundation.IMFAttributes@)">
+            <summary>
+            Retrieves the attribute store for an output stream on this MFT.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetOutputStreamAttributes( 
+                DWORD dwOutputStreamID,
+                /* [out] */ __RPC__deref_out_opt IMFAttributes **pAttributes) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.DeleteInputStream(System.Int32)">
+            <summary>
+            Removes an input stream from this MFT.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE DeleteInputStream( 
+                DWORD dwStreamID) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.AddInputStreams(System.Int32,System.Int32[])">
+            <summary>
+            Adds one or more new input streams to this MFT.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE AddInputStreams( 
+                DWORD cStreams,
+                /* [in] */ __RPC__in DWORD *adwStreamIDs) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetInputAvailableType(System.Int32,System.Int32,NAudio.MediaFoundation.IMFMediaType@)">
+            <summary>
+            Gets an available media type for an input stream on this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetInputAvailableType( 
+                DWORD dwInputStreamID,
+                DWORD dwTypeIndex,
+                /* [out] */ __RPC__deref_out_opt IMFMediaType **ppType) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetOutputAvailableType(System.Int32,System.Int32,NAudio.MediaFoundation.IMFMediaType@)">
+            <summary>
+            Retrieves an available media type for an output stream on this MFT.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetOutputAvailableType( 
+                DWORD dwOutputStreamID,
+                DWORD dwTypeIndex,
+                /* [out] */ __RPC__deref_out_opt IMFMediaType **ppType) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.SetInputType(System.Int32,NAudio.MediaFoundation.IMFMediaType,NAudio.MediaFoundation._MFT_SET_TYPE_FLAGS)">
+            <summary>
+            Sets, tests, or clears the media type for an input stream on this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE SetInputType( 
+                DWORD dwInputStreamID,
+                /* [in] */ __RPC__in_opt IMFMediaType *pType,
+                DWORD dwFlags) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.SetOutputType(System.Int32,NAudio.MediaFoundation.IMFMediaType,NAudio.MediaFoundation._MFT_SET_TYPE_FLAGS)">
+            <summary>
+            Sets, tests, or clears the media type for an output stream on this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE SetOutputType( 
+                DWORD dwOutputStreamID,
+                /* [in] */ __RPC__in_opt IMFMediaType *pType,
+                DWORD dwFlags) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetInputCurrentType(System.Int32,NAudio.MediaFoundation.IMFMediaType@)">
+            <summary>
+            Gets the current media type for an input stream on this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetInputCurrentType( 
+                DWORD dwInputStreamID,
+                /* [out] */ __RPC__deref_out_opt IMFMediaType **ppType) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetOutputCurrentType(System.Int32,NAudio.MediaFoundation.IMFMediaType@)">
+            <summary>
+            Gets the current media type for an output stream on this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetOutputCurrentType( 
+                DWORD dwOutputStreamID,
+                /* [out] */ __RPC__deref_out_opt IMFMediaType **ppType) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetInputStatus(System.Int32,NAudio.MediaFoundation._MFT_INPUT_STATUS_FLAGS@)">
+            <summary>
+            Queries whether an input stream on this Media Foundation transform (MFT) can accept more data. 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetInputStatus( 
+                DWORD dwInputStreamID,
+                /* [out] */ __RPC__out DWORD *pdwFlags) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetOutputStatus(System.Int32,NAudio.MediaFoundation._MFT_OUTPUT_STATUS_FLAGS@)">
+            <summary>
+            Queries whether the Media Foundation transform (MFT) is ready to produce output data. 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetOutputStatus( 
+                /* [out] */ __RPC__out DWORD *pdwFlags) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.SetOutputBounds(System.Int64,System.Int64)">
+            <summary>
+            Sets the range of time stamps the client needs for output. 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE SetOutputBounds( 
+                LONGLONG hnsLowerBound,
+                LONGLONG hnsUpperBound) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.ProcessEvent(System.Int32,NAudio.MediaFoundation.IMFMediaEvent)">
+            <summary>
+            Sends an event to an input stream on this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE ProcessEvent( 
+                DWORD dwInputStreamID,
+                /* [in] */ __RPC__in_opt IMFMediaEvent *pEvent) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.ProcessMessage(NAudio.MediaFoundation.MFT_MESSAGE_TYPE,System.IntPtr)">
+            <summary>
+            Sends a message to the Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE ProcessMessage( 
+                MFT_MESSAGE_TYPE eMessage,
+                ULONG_PTR ulParam) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.ProcessInput(System.Int32,NAudio.MediaFoundation.IMFSample,System.Int32)">
+            <summary>
+            Delivers data to an input stream on this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual /* [local] */ HRESULT STDMETHODCALLTYPE ProcessInput( 
+                DWORD dwInputStreamID,
+                IMFSample *pSample,
+                DWORD dwFlags) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.ProcessOutput(NAudio.MediaFoundation._MFT_PROCESS_OUTPUT_FLAGS,System.Int32,NAudio.MediaFoundation.MFT_OUTPUT_DATA_BUFFER[],NAudio.MediaFoundation._MFT_PROCESS_OUTPUT_STATUS@)">
+            <summary>
+            Generates output from the current input data. 
+            </summary>
+            <remarks>
+            virtual /* [local] */ HRESULT STDMETHODCALLTYPE ProcessOutput( 
+                DWORD dwFlags,
+                DWORD cOutputBufferCount,
+                /* [size_is][out][in] */ MFT_OUTPUT_DATA_BUFFER *pOutputSamples,
+                /* [out] */ DWORD *pdwStatus) = 0;
+            </remarks>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MediaEventType">
+            <summary>
+            See mfobjects.h
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEUnknown">
+            <summary>
+            Unknown event type.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEError">
+            <summary>
+            Signals a serious error.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEExtendedType">
+            <summary>
+            Custom event type.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MENonFatalError">
+            <summary>
+            A non-fatal error occurred during streaming.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionUnknown">
+            <summary>
+            Session Unknown
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionTopologySet">
+            <summary>
+            Raised after the IMFMediaSession::SetTopology method completes asynchronously
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionTopologiesCleared">
+            <summary>
+            Raised by the Media Session when the IMFMediaSession::ClearTopologies method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionStarted">
+            <summary>
+            Raised when the IMFMediaSession::Start method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionPaused">
+            <summary>
+            Raised when the IMFMediaSession::Pause method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionStopped">
+            <summary>
+            Raised when the IMFMediaSession::Stop method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionClosed">
+            <summary>
+            Raised when the IMFMediaSession::Close method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionEnded">
+            <summary>
+            Raised by the Media Session when it has finished playing the last presentation in the playback queue.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionRateChanged">
+            <summary>
+            Raised by the Media Session when the playback rate changes.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionScrubSampleComplete">
+            <summary>
+            Raised by the Media Session when it completes a scrubbing request.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionCapabilitiesChanged">
+            <summary>
+            Raised by the Media Session when the session capabilities change.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionTopologyStatus">
+            <summary>
+            Raised by the Media Session when the status of a topology changes.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionNotifyPresentationTime">
+            <summary>
+            Raised by the Media Session when a new presentation starts.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MENewPresentation">
+            <summary>
+            Raised by a media source a new presentation is ready.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MELicenseAcquisitionStart">
+            <summary>
+            License acquisition is about to begin.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MELicenseAcquisitionCompleted">
+            <summary>
+            License acquisition is complete.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEIndividualizationStart">
+            <summary>
+            Individualization is about to begin.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEIndividualizationCompleted">
+            <summary>
+            Individualization is complete.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEEnablerProgress">
+            <summary>
+            Signals the progress of a content enabler object.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEEnablerCompleted">
+            <summary>
+            A content enabler object's action is complete.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEPolicyError">
+            <summary>
+            Raised by a trusted output if an error occurs while enforcing the output policy.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEPolicyReport">
+            <summary>
+            Contains status information about the enforcement of an output policy.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEBufferingStarted">
+            <summary>
+            A media source started to buffer data.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEBufferingStopped">
+            <summary>
+            A media source stopped buffering data.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEConnectStart">
+            <summary>
+            The network source started opening a URL.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEConnectEnd">
+            <summary>
+            The network source finished opening a URL.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEReconnectStart">
+            <summary>
+            Raised by a media source at the start of a reconnection attempt.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEReconnectEnd">
+            <summary>
+            Raised by a media source at the end of a reconnection attempt.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MERendererEvent">
+            <summary>
+            Raised by the enhanced video renderer (EVR) when it receives a user event from the presenter.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionStreamSinkFormatChanged">
+            <summary>
+            Raised by the Media Session when the format changes on a media sink.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESourceUnknown">
+            <summary>
+            Source Unknown
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESourceStarted">
+            <summary>
+            Raised when a media source starts without seeking.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamStarted">
+            <summary>
+            Raised by a media stream when the source starts without seeking.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESourceSeeked">
+            <summary>
+            Raised when a media source seeks to a new position.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSeeked">
+            <summary>
+            Raised by a media stream after a call to IMFMediaSource::Start causes a seek in the stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MENewStream">
+            <summary>
+            Raised by a media source when it starts a new stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEUpdatedStream">
+            <summary>
+            Raised by a media source when it restarts or seeks a stream that is already active.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESourceStopped">
+            <summary>
+            Raised by a media source when the IMFMediaSource::Stop method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamStopped">
+            <summary>
+            Raised by a media stream when the IMFMediaSource::Stop method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESourcePaused">
+            <summary>
+            Raised by a media source when the IMFMediaSource::Pause method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamPaused">
+            <summary>
+            Raised by a media stream when the IMFMediaSource::Pause method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEEndOfPresentation">
+            <summary>
+            Raised by a media source when a presentation ends.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEEndOfStream">
+            <summary>
+            Raised by a media stream when the stream ends.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEMediaSample">
+            <summary>
+            Raised when a media stream delivers a new sample.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamTick">
+            <summary>
+            Signals that a media stream does not have data available at a specified time.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamThinMode">
+            <summary>
+            Raised by a media stream when it starts or stops thinning the stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamFormatChanged">
+            <summary>
+            Raised by a media stream when the media type of the stream changes.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESourceRateChanged">
+            <summary>
+            Raised by a media source when the playback rate changes.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEEndOfPresentationSegment">
+            <summary>
+            Raised by the sequencer source when a segment is completed and is followed by another segment.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESourceCharacteristicsChanged">
+            <summary>
+            Raised by a media source when the source's characteristics change.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESourceRateChangeRequested">
+            <summary>
+            Raised by a media source to request a new playback rate.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESourceMetadataChanged">
+            <summary>
+            Raised by a media source when it updates its metadata.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESequencerSourceTopologyUpdated">
+            <summary>
+            Raised by the sequencer source when the IMFSequencerSource::UpdateTopology method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESinkUnknown">
+            <summary>
+            Sink Unknown
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkStarted">
+            <summary>
+            Raised by a stream sink when it completes the transition to the running state.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkStopped">
+            <summary>
+            Raised by a stream sink when it completes the transition to the stopped state.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkPaused">
+            <summary>
+            Raised by a stream sink when it completes the transition to the paused state.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkRateChanged">
+            <summary>
+            Raised by a stream sink when the rate has changed.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkRequestSample">
+            <summary>
+            Raised by a stream sink to request a new media sample from the pipeline.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkMarker">
+            <summary>
+            Raised by a stream sink after the IMFStreamSink::PlaceMarker method is called.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkPrerolled">
+            <summary>
+            Raised by a stream sink when the stream has received enough preroll data to begin rendering.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkScrubSampleComplete">
+            <summary>
+            Raised by a stream sink when it completes a scrubbing request.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkFormatChanged">
+            <summary>
+            Raised by a stream sink when the sink's media type is no longer valid.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkDeviceChanged">
+            <summary>
+            Raised by the stream sinks of the EVR if the video device changes.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEQualityNotify">
+            <summary>
+            Provides feedback about playback quality to the quality manager.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESinkInvalidated">
+            <summary>
+            Raised when a media sink becomes invalid.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEAudioSessionNameChanged">
+            <summary>
+            The audio session display name changed.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEAudioSessionVolumeChanged">
+            <summary>
+            The volume or mute state of the audio session changed
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEAudioSessionDeviceRemoved">
+            <summary>
+            The audio device was removed.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEAudioSessionServerShutdown">
+            <summary>
+            The Windows audio server system was shut down.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEAudioSessionGroupingParamChanged">
+            <summary>
+            The grouping parameters changed for the audio session.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEAudioSessionIconChanged">
+            <summary>
+            The audio session icon changed.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEAudioSessionFormatChanged">
+            <summary>
+            The default audio format for the audio device changed.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEAudioSessionDisconnected">
+            <summary>
+            The audio session was disconnected from a Windows Terminal Services session
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEAudioSessionExclusiveModeOverride">
+            <summary>
+            The audio session was preempted by an exclusive-mode connection.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.METrustUnknown">
+            <summary>
+            Trust Unknown
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEPolicyChanged">
+            <summary>
+            The output policy for a stream changed.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEContentProtectionMessage">
+            <summary>
+            Content protection message
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEPolicySet">
+            <summary>
+            The IMFOutputTrustAuthority::SetPolicy method completed.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMLicenseBackupCompleted">
+            <summary>
+            DRM License Backup Completed
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMLicenseBackupProgress">
+            <summary>
+            DRM License Backup Progress
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMLicenseRestoreCompleted">
+            <summary>
+            DRM License Restore Completed
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMLicenseRestoreProgress">
+            <summary>
+            DRM License Restore Progress
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMLicenseAcquisitionCompleted">
+            <summary>
+            DRM License Acquisition Completed
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMIndividualizationCompleted">
+            <summary>
+            DRM Individualization Completed
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMIndividualizationProgress">
+            <summary>
+            DRM Individualization Progress
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMProximityCompleted">
+            <summary>
+            DRM Proximity Completed
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMLicenseStoreCleaned">
+            <summary>
+            DRM License Store Cleaned
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMRevocationDownloadCompleted">
+            <summary>
+            DRM Revocation Download Completed
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.METransformUnknown">
+            <summary>
+            Transform Unknown
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.METransformNeedInput">
+            <summary>
+            Sent by an asynchronous MFT to request a new input sample.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.METransformHaveOutput">
+            <summary>
+            Sent by an asynchronous MFT when new output data is available from the MFT.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.METransformDrainComplete">
+            <summary>
+            Sent by an asynchronous Media Foundation transform (MFT) when a drain operation is complete.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.METransformMarker">
+            <summary>
+            Sent by an asynchronous MFT in response to an MFT_MESSAGE_COMMAND_MARKER message.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MediaFoundationAttributes">
+            <summary>
+            Media Foundation attribute guids
+            http://msdn.microsoft.com/en-us/library/windows/desktop/ms696989%28v=vs.85%29.aspx
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_TRANSFORM_ASYNC">
+            <summary>
+            Specifies whether an MFT performs asynchronous processing.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_TRANSFORM_ASYNC_UNLOCK">
+            <summary>
+            Enables the use of an asynchronous MFT.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_TRANSFORM_FLAGS_Attribute">
+            <summary>
+            Contains flags for an MFT activation object.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_TRANSFORM_CATEGORY_Attribute">
+            <summary>
+            Specifies the category for an MFT.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_TRANSFORM_CLSID_Attribute">
+            <summary>
+            Contains the class identifier (CLSID) of an MFT.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_INPUT_TYPES_Attributes">
+            <summary>
+            Contains the registered input types for a Media Foundation transform (MFT).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_OUTPUT_TYPES_Attributes">
+            <summary>
+            Contains the registered output types for a Media Foundation transform (MFT).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_ENUM_HARDWARE_URL_Attribute">
+            <summary>
+            Contains the symbolic link for a hardware-based MFT.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_FRIENDLY_NAME_Attribute">
+            <summary>
+            Contains the display name for a hardware-based MFT.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_CONNECTED_STREAM_ATTRIBUTE">
+            <summary>
+            Contains a pointer to the stream attributes of the connected stream on a hardware-based MFT.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_CONNECTED_TO_HW_STREAM">
+            <summary>
+            Specifies whether a hardware-based MFT is connected to another hardware-based MFT.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_PREFERRED_OUTPUTTYPE_Attribute">
+            <summary>
+            Specifies the preferred output format for an encoder.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_PROCESS_LOCAL_Attribute">
+            <summary>
+            Specifies whether an MFT is registered only in the application's process.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_PREFERRED_ENCODER_PROFILE">
+            <summary>
+            Contains configuration properties for an encoder.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_HW_TIMESTAMP_WITH_QPC_Attribute">
+            <summary>
+            Specifies whether a hardware device source uses the system time for time stamps.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_FIELDOFUSE_UNLOCK_Attribute">
+            <summary>
+            Contains an IMFFieldOfUseMFTUnlock pointer, which can be used to unlock the MFT.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_CODEC_MERIT_Attribute">
+            <summary>
+            Contains the merit value of a hardware codec.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_ENUM_TRANSCODE_ONLY_ATTRIBUTE">
+            <summary>
+            Specifies whether a decoder is optimized for transcoding rather than for playback.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_PMPHOST_CONTEXT">
+            <summary>
+            Contains a pointer to the proxy object for the application's presentation descriptor.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_APP_CONTEXT">
+            <summary>
+            Contains a pointer to the presentation descriptor from the protected media path (PMP).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_DURATION">
+            <summary>
+            Specifies the duration of a presentation, in 100-nanosecond units.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_TOTAL_FILE_SIZE">
+            <summary>
+            Specifies the total size of the source file, in bytes. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_AUDIO_ENCODING_BITRATE">
+            <summary>
+            Specifies the audio encoding bit rate for the presentation, in bits per second.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_VIDEO_ENCODING_BITRATE">
+            <summary>
+            Specifies the video encoding bit rate for the presentation, in bits per second.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_MIME_TYPE">
+            <summary>
+            Specifies the MIME type of the content.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_LAST_MODIFIED_TIME">
+            <summary>
+            Specifies when a presentation was last modified.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_PLAYBACK_ELEMENT_ID">
+            <summary>
+            The identifier of the playlist element in the presentation.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_PREFERRED_LANGUAGE">
+            <summary>
+            Contains the preferred RFC 1766 language of the media source.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_PLAYBACK_BOUNDARY_TIME">
+            <summary>
+            The time at which the presentation must begin, relative to the start of the media source.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_AUDIO_ISVARIABLEBITRATE">
+            <summary>
+            Specifies whether the audio streams in the presentation have a variable bit rate.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_MAJOR_TYPE">
+            <summary>
+            Media type Major Type
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_SUBTYPE">
+            <summary>
+            Media Type subtype
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AUDIO_BLOCK_ALIGNMENT">
+            <summary>
+            Audio block alignment
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AUDIO_AVG_BYTES_PER_SECOND">
+            <summary>
+            Audio average bytes per second
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AUDIO_NUM_CHANNELS">
+            <summary>
+            Audio number of channels
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AUDIO_SAMPLES_PER_SECOND">
+            <summary>
+            Audio samples per second
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AUDIO_BITS_PER_SAMPLE">
+            <summary>
+            Audio bits per sample
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_READWRITE_ENABLE_HARDWARE_TRANSFORMS">
+            <summary>
+            Enables the source reader or sink writer to use hardware-based Media Foundation transforms (MFTs).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_USER_DATA">
+            <summary>
+            Contains additional format data for a media type. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_ALL_SAMPLES_INDEPENDENT">
+            <summary>
+            Specifies for a media type whether each sample is independent of the other samples in the stream. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_FIXED_SIZE_SAMPLES">
+            <summary>
+            Specifies for a media type whether the samples have a fixed size. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AM_FORMAT_TYPE">
+            <summary>
+            Contains a DirectShow format GUID for a media type. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AUDIO_PREFER_WAVEFORMATEX">
+            <summary>
+            Specifies the preferred legacy format structure to use when converting an audio media type. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_COMPRESSED">
+            <summary>
+            Specifies for a media type whether the media data is compressed. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AVG_BITRATE">
+            <summary>
+            Approximate data rate of the video stream, in bits per second, for a video media type. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AAC_PAYLOAD_TYPE">
+            <summary>
+            Specifies the payload type of an Advanced Audio Coding (AAC) stream.
+            0 - The stream contains raw_data_block elements only
+            1 - Audio Data Transport Stream (ADTS). The stream contains an adts_sequence, as defined by MPEG-2.
+            2 - Audio Data Interchange Format (ADIF). The stream contains an adif_sequence, as defined by MPEG-2.
+            3 - The stream contains an MPEG-4 audio transport stream with a synchronization layer (LOAS) and a multiplex layer (LATM).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AAC_AUDIO_PROFILE_LEVEL_INDICATION">
+            <summary>
+            Specifies the audio profile and level of an Advanced Audio Coding (AAC) stream, as defined by ISO/IEC 14496-3.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MediaFoundationApi">
+            <summary>
+            Main interface for using Media Foundation with NAudio
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.Startup">
+            <summary>
+            initializes MediaFoundation - only needs to be called once per process
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.EnumerateTransforms(System.Guid)">
+            <summary>
+            Enumerate the installed MediaFoundation transforms in the specified category
+            </summary>
+            <param name="category">A category from MediaFoundationTransformCategories</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.Shutdown">
+            <summary>
+            uninitializes MediaFoundation
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.CreateMediaType">
+            <summary>
+            Creates a Media type
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.CreateMediaTypeFromWaveFormat(NAudio.Wave.WaveFormat)">
+            <summary>
+            Creates a media type from a WaveFormat
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.CreateMemoryBuffer(System.Int32)">
+            <summary>
+            Creates a memory buffer of the specified size
+            </summary>
+            <param name="bufferSize">Memory buffer size in bytes</param>
+            <returns>The memory buffer</returns>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.CreateSample">
+            <summary>
+            Creates a sample object
+            </summary>
+            <returns>The sample object</returns>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.CreateAttributes(System.Int32)">
+            <summary>
+            Creates a new attributes store
+            </summary>
+            <param name="initialSize">Initial size</param>
+            <returns>The attributes store</returns>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.CreateByteStream(System.Object)">
+            <summary>
+            Creates a media foundation byte stream based on a stream object
+            (usable with WinRT streams)
+            </summary>
+            <param name="stream">The input stream</param>
+            <returns>A media foundation byte stream</returns>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.CreateSourceReaderFromByteStream(NAudio.MediaFoundation.IMFByteStream)">
+            <summary>
+            Creates a source reader based on a byte stream
+            </summary>
+            <param name="byteStream">The byte stream</param>
+            <returns>A media foundation source reader</returns>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MediaFoundationInterop">
+            <summary>
+            Interop definitions for MediaFoundation
+            thanks to Lucian Wischik for the initial work on many of these definitions (also various interfaces)
+            n.b. the goal is to make as much of this internal as possible, and provide
+            better .NET APIs using the MediaFoundationApi class instead
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationInterop.MF_SOURCE_READER_ALL_STREAMS">
+            <summary>
+            All streams
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationInterop.MF_SOURCE_READER_FIRST_AUDIO_STREAM">
+            <summary>
+            First audio stream
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationInterop.MF_SOURCE_READER_FIRST_VIDEO_STREAM">
+            <summary>
+            First video stream
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationInterop.MF_SOURCE_READER_MEDIASOURCE">
+            <summary>
+            Media source
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationInterop.MF_SDK_VERSION">
+            <summary>
+            Media Foundation SDK Version
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationInterop.MF_API_VERSION">
+            <summary>
+            Media Foundation API Version
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationInterop.MF_VERSION">
+            <summary>
+            Media Foundation Version
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFStartup(System.Int32,System.Int32)">
+            <summary>
+            Initializes Microsoft Media Foundation.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFShutdown">
+            <summary>
+            Shuts down the Microsoft Media Foundation platform
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFCreateMediaType(NAudio.MediaFoundation.IMFMediaType@)">
+            <summary>
+            Creates an empty media type.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFInitMediaTypeFromWaveFormatEx(NAudio.MediaFoundation.IMFMediaType,NAudio.Wave.WaveFormat,System.Int32)">
+            <summary>
+            Initializes a media type from a WAVEFORMATEX structure. 
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFCreateWaveFormatExFromMFMediaType(NAudio.MediaFoundation.IMFMediaType,System.IntPtr@,System.Int32@,System.Int32)">
+            <summary>
+            Converts a Media Foundation audio media type to a WAVEFORMATEX structure.
+            </summary>
+            TODO: try making second parameter out WaveFormatExtraData
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFCreateSourceReaderFromURL(System.String,NAudio.MediaFoundation.IMFAttributes,NAudio.MediaFoundation.IMFSourceReader@)">
+            <summary>
+            Creates the source reader from a URL.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFCreateSourceReaderFromByteStream(NAudio.MediaFoundation.IMFByteStream,NAudio.MediaFoundation.IMFAttributes,NAudio.MediaFoundation.IMFSourceReader@)">
+            <summary>
+            Creates the source reader from a byte stream.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFCreateSinkWriterFromURL(System.String,NAudio.MediaFoundation.IMFByteStream,NAudio.MediaFoundation.IMFAttributes,NAudio.MediaFoundation.IMFSinkWriter@)">
+            <summary>
+            Creates the sink writer from a URL or byte stream.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFCreateMFByteStreamOnStreamEx(System.Object,NAudio.MediaFoundation.IMFByteStream@)">
+            <summary>
+            Creates a Microsoft Media Foundation byte stream that wraps an IRandomAccessStream object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFTEnumEx(System.Guid,NAudio.MediaFoundation._MFT_ENUM_FLAG,NAudio.MediaFoundation.MFT_REGISTER_TYPE_INFO,NAudio.MediaFoundation.MFT_REGISTER_TYPE_INFO,System.IntPtr@,System.Int32@)">
+            <summary>
+            Gets a list of Microsoft Media Foundation transforms (MFTs) that match specified search criteria. 
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFCreateSample(NAudio.MediaFoundation.IMFSample@)">
+            <summary>
+            Creates an empty media sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFCreateMemoryBuffer(System.Int32,NAudio.MediaFoundation.IMFMediaBuffer@)">
+            <summary>
+            Allocates system memory and creates a media buffer to manage it.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFCreateAttributes(NAudio.MediaFoundation.IMFAttributes@,System.Int32)">
+            <summary>
+            Creates an empty attribute store. 
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFTranscodeGetAudioOutputAvailableTypes(System.Guid,NAudio.MediaFoundation._MFT_ENUM_FLAG,NAudio.MediaFoundation.IMFAttributes,NAudio.MediaFoundation.IMFCollection@)">
+            <summary>
+            Gets a list of output formats from an audio encoder.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFByteStream">
+            <summary>
+            IMFByteStream 
+            http://msdn.microsoft.com/en-gb/library/windows/desktop/ms698720%28v=vs.85%29.aspx
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.GetCapabilities(System.Int32@)">
+            <summary>
+            Retrieves the characteristics of the byte stream. 
+            virtual HRESULT STDMETHODCALLTYPE GetCapabilities(/*[out]*/ __RPC__out DWORD *pdwCapabilities) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.GetLength(System.Int64@)">
+            <summary>
+            Retrieves the length of the stream. 
+            virtual HRESULT STDMETHODCALLTYPE GetLength(/*[out]*/ __RPC__out QWORD *pqwLength) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.SetLength(System.Int64)">
+            <summary>
+            Sets the length of the stream. 
+            virtual HRESULT STDMETHODCALLTYPE SetLength(/*[in]*/ QWORD qwLength) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.GetCurrentPosition(System.Int64@)">
+            <summary>
+            Retrieves the current read or write position in the stream. 
+            virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition(/*[out]*/ __RPC__out QWORD *pqwPosition) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.SetCurrentPosition(System.Int64)">
+            <summary>
+            Sets the current read or write position. 
+            virtual HRESULT STDMETHODCALLTYPE SetCurrentPosition(/*[in]*/ QWORD qwPosition) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.IsEndOfStream(System.Boolean@)">
+            <summary>
+            Queries whether the current position has reached the end of the stream. 
+            virtual HRESULT STDMETHODCALLTYPE IsEndOfStream(/*[out]*/ __RPC__out BOOL *pfEndOfStream) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.Read(System.IntPtr,System.Int32,System.Int32@)">
+            <summary>
+            Reads data from the stream. 
+            virtual HRESULT STDMETHODCALLTYPE Read(/*[size_is][out]*/ __RPC__out_ecount_full(cb) BYTE *pb, /*[in]*/ ULONG cb, /*[out]*/ __RPC__out ULONG *pcbRead) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.BeginRead(System.IntPtr,System.Int32,System.IntPtr,System.IntPtr)">
+            <summary>
+            Begins an asynchronous read operation from the stream. 
+            virtual /*[local]*/ HRESULT STDMETHODCALLTYPE BeginRead(/*[out]*/ _Out_writes_bytes_(cb)  BYTE *pb, /*[in]*/ ULONG cb, /*[in]*/ IMFAsyncCallback *pCallback, /*[in]*/ IUnknown *punkState) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.EndRead(System.IntPtr,System.Int32@)">
+            <summary>
+            Completes an asynchronous read operation. 
+            virtual /*[local]*/ HRESULT STDMETHODCALLTYPE EndRead(/*[in]*/ IMFAsyncResult *pResult, /*[out]*/ _Out_  ULONG *pcbRead) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.Write(System.IntPtr,System.Int32,System.Int32@)">
+            <summary>
+            Writes data to the stream. 
+            virtual HRESULT STDMETHODCALLTYPE Write(/*[size_is][in]*/ __RPC__in_ecount_full(cb) const BYTE *pb, /*[in]*/ ULONG cb, /*[out]*/ __RPC__out ULONG *pcbWritten) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.BeginWrite(System.IntPtr,System.Int32,System.IntPtr,System.IntPtr)">
+            <summary>
+            Begins an asynchronous write operation to the stream. 
+            virtual /*[local]*/ HRESULT STDMETHODCALLTYPE BeginWrite(/*[in]*/ _In_reads_bytes_(cb)  const BYTE *pb, /*[in]*/ ULONG cb, /*[in]*/ IMFAsyncCallback *pCallback, /*[in]*/ IUnknown *punkState) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.EndWrite(System.IntPtr,System.Int32@)">
+            <summary>
+            Completes an asynchronous write operation. 
+            virtual /*[local]*/ HRESULT STDMETHODCALLTYPE EndWrite(/*[in]*/ IMFAsyncResult *pResult, /*[out]*/ _Out_  ULONG *pcbWritten) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.Seek(System.Int32,System.Int64,System.Int32,System.Int64@)">
+            <summary>
+            Moves the current position in the stream by a specified offset. 
+            virtual HRESULT STDMETHODCALLTYPE Seek(/*[in]*/ MFBYTESTREAM_SEEK_ORIGIN SeekOrigin, /*[in]*/ LONGLONG llSeekOffset, /*[in]*/ DWORD dwSeekFlags, /*[out]*/ __RPC__out QWORD *pqwCurrentPosition) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.Flush">
+            <summary>
+            Clears any internal buffers used by the stream. 
+            virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.Close">
+            <summary>
+            Closes the stream and releases any resources associated with the stream. 
+            virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFMediaBuffer">
+            <summary>
+            IMFMediaBuffer
+            http://msdn.microsoft.com/en-gb/library/windows/desktop/ms696261%28v=vs.85%29.aspx
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaBuffer.Lock(System.IntPtr@,System.Int32@,System.Int32@)">
+            <summary>
+            Gives the caller access to the memory in the buffer.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaBuffer.Unlock">
+            <summary>
+            Unlocks a buffer that was previously locked.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaBuffer.GetCurrentLength(System.Int32@)">
+            <summary>
+            Retrieves the length of the valid data in the buffer.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaBuffer.SetCurrentLength(System.Int32)">
+            <summary>
+            Sets the length of the valid data in the buffer.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaBuffer.GetMaxLength(System.Int32@)">
+            <summary>
+            Retrieves the allocated size of the buffer.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFMediaType">
+            <summary>
+            Represents a description of a media format. 
+            http://msdn.microsoft.com/en-us/library/windows/desktop/ms704850%28v=vs.85%29.aspx
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetItem(System.Guid,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetItemType(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the data type of the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.CompareItem(System.Guid,System.IntPtr,System.Boolean@)">
+            <summary>
+            Queries whether a stored attribute value equals a specified PROPVARIANT.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.Compare(NAudio.MediaFoundation.IMFAttributes,System.Int32,System.Boolean@)">
+            <summary>
+            Compares the attributes on this object with the attributes on another object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetUINT32(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves a UINT32 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetUINT64(System.Guid,System.Int64@)">
+            <summary>
+            Retrieves a UINT64 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetDouble(System.Guid,System.Double@)">
+            <summary>
+            Retrieves a double value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetGUID(System.Guid,System.Guid@)">
+            <summary>
+            Retrieves a GUID value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetStringLength(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a string value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetString(System.Guid,System.Text.StringBuilder,System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetAllocatedString(System.Guid,System.String@,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key. This method allocates the memory for the string.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetBlobSize(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetBlob(System.Guid,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetAllocatedBlob(System.Guid,System.IntPtr@,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key. This method allocates the memory for the array.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetUnknown(System.Guid,System.Guid,System.Object@)">
+            <summary>
+            Retrieves an interface pointer associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.SetItem(System.Guid,System.IntPtr)">
+            <summary>
+            Associates an attribute value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.DeleteItem(System.Guid)">
+            <summary>
+            Removes a key/value pair from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.DeleteAllItems">
+            <summary>
+            Removes all key/value pairs from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.SetUINT32(System.Guid,System.Int32)">
+            <summary>
+            Associates a UINT32 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.SetUINT64(System.Guid,System.Int64)">
+            <summary>
+            Associates a UINT64 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.SetDouble(System.Guid,System.Double)">
+            <summary>
+            Associates a double value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.SetGUID(System.Guid,System.Guid)">
+            <summary>
+            Associates a GUID value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.SetString(System.Guid,System.String)">
+            <summary>
+            Associates a wide-character string with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.SetBlob(System.Guid,System.Byte[],System.Int32)">
+            <summary>
+            Associates a byte array with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.SetUnknown(System.Guid,System.Object)">
+            <summary>
+            Associates an IUnknown pointer with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.LockStore">
+            <summary>
+            Locks the attribute store so that no other thread can access it.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.UnlockStore">
+            <summary>
+            Unlocks the attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetCount(System.Int32@)">
+            <summary>
+            Retrieves the number of attributes that are set on this object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetItemByIndex(System.Int32,System.Guid@,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves an attribute at the specified index.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.CopyAllItems(NAudio.MediaFoundation.IMFAttributes)">
+            <summary>
+            Copies all of the attributes from this object into another attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetMajorType(System.Guid@)">
+            <summary>
+            Retrieves the major type of the format.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.IsCompressedFormat(System.Boolean@)">
+            <summary>
+            Queries whether the media type is a compressed format.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.IsEqual(NAudio.MediaFoundation.IMFMediaType,System.Int32@)">
+            <summary>
+            Compares two media types and determines whether they are identical.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetRepresentation(System.Guid,System.IntPtr@)">
+            <summary>
+            Retrieves an alternative representation of the media type.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.FreeRepresentation(System.Guid,System.IntPtr)">
+            <summary>
+            Frees memory that was allocated by the GetRepresentation method.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFSample">
+            <summary>
+            http://msdn.microsoft.com/en-gb/library/windows/desktop/ms702192%28v=vs.85%29.aspx
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetItem(System.Guid,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetItemType(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the data type of the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.CompareItem(System.Guid,System.IntPtr,System.Boolean@)">
+            <summary>
+            Queries whether a stored attribute value equals a specified PROPVARIANT.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.Compare(NAudio.MediaFoundation.IMFAttributes,System.Int32,System.Boolean@)">
+            <summary>
+            Compares the attributes on this object with the attributes on another object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetUINT32(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves a UINT32 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetUINT64(System.Guid,System.Int64@)">
+            <summary>
+            Retrieves a UINT64 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetDouble(System.Guid,System.Double@)">
+            <summary>
+            Retrieves a double value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetGUID(System.Guid,System.Guid@)">
+            <summary>
+            Retrieves a GUID value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetStringLength(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a string value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetString(System.Guid,System.Text.StringBuilder,System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetAllocatedString(System.Guid,System.String@,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key. This method allocates the memory for the string.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetBlobSize(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetBlob(System.Guid,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetAllocatedBlob(System.Guid,System.IntPtr@,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key. This method allocates the memory for the array.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetUnknown(System.Guid,System.Guid,System.Object@)">
+            <summary>
+            Retrieves an interface pointer associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetItem(System.Guid,System.IntPtr)">
+            <summary>
+            Associates an attribute value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.DeleteItem(System.Guid)">
+            <summary>
+            Removes a key/value pair from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.DeleteAllItems">
+            <summary>
+            Removes all key/value pairs from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetUINT32(System.Guid,System.Int32)">
+            <summary>
+            Associates a UINT32 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetUINT64(System.Guid,System.Int64)">
+            <summary>
+            Associates a UINT64 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetDouble(System.Guid,System.Double)">
+            <summary>
+            Associates a double value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetGUID(System.Guid,System.Guid)">
+            <summary>
+            Associates a GUID value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetString(System.Guid,System.String)">
+            <summary>
+            Associates a wide-character string with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetBlob(System.Guid,System.Byte[],System.Int32)">
+            <summary>
+            Associates a byte array with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetUnknown(System.Guid,System.Object)">
+            <summary>
+            Associates an IUnknown pointer with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.LockStore">
+            <summary>
+            Locks the attribute store so that no other thread can access it.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.UnlockStore">
+            <summary>
+            Unlocks the attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetCount(System.Int32@)">
+            <summary>
+            Retrieves the number of attributes that are set on this object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetItemByIndex(System.Int32,System.Guid@,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves an attribute at the specified index.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.CopyAllItems(NAudio.MediaFoundation.IMFAttributes)">
+            <summary>
+            Copies all of the attributes from this object into another attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetSampleFlags(System.Int32@)">
+            <summary>
+            Retrieves flags associated with the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetSampleFlags(System.Int32)">
+            <summary>
+            Sets flags associated with the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetSampleTime(System.Int64@)">
+            <summary>
+            Retrieves the presentation time of the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetSampleTime(System.Int64)">
+            <summary>
+            Sets the presentation time of the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetSampleDuration(System.Int64@)">
+            <summary>
+            Retrieves the duration of the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetSampleDuration(System.Int64)">
+            <summary>
+            Sets the duration of the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetBufferCount(System.Int32@)">
+            <summary>
+            Retrieves the number of buffers in the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetBufferByIndex(System.Int32,NAudio.MediaFoundation.IMFMediaBuffer@)">
+            <summary>
+            Retrieves a buffer from the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.ConvertToContiguousBuffer(NAudio.MediaFoundation.IMFMediaBuffer@)">
+            <summary>
+            Converts a sample with multiple buffers into a sample with a single buffer.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.AddBuffer(NAudio.MediaFoundation.IMFMediaBuffer)">
+            <summary>
+             Adds a buffer to the end of the list of buffers in the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.RemoveBufferByIndex(System.Int32)">
+            <summary>
+            Removes a buffer at a specified index from the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.RemoveAllBuffers">
+            <summary>
+            Removes all buffers from the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetTotalLength(System.Int32@)">
+            <summary>
+            Retrieves the total length of the valid data in all of the buffers in the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.CopyToBuffer(NAudio.MediaFoundation.IMFMediaBuffer)">
+            <summary>
+            Copies the sample data to a buffer.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFSourceReader">
+            <summary>
+            IMFSourceReader interface
+            http://msdn.microsoft.com/en-us/library/windows/desktop/dd374655%28v=vs.85%29.aspx
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.GetStreamSelection(System.Int32,System.Boolean@)">
+            <summary>
+            Queries whether a stream is selected.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.SetStreamSelection(System.Int32,System.Boolean)">
+            <summary>
+            Selects or deselects one or more streams.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.GetNativeMediaType(System.Int32,System.Int32,NAudio.MediaFoundation.IMFMediaType@)">
+            <summary>
+            Gets a format that is supported natively by the media source.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.GetCurrentMediaType(System.Int32,NAudio.MediaFoundation.IMFMediaType@)">
+            <summary>
+            Gets the current media type for a stream.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.SetCurrentMediaType(System.Int32,System.IntPtr,NAudio.MediaFoundation.IMFMediaType)">
+            <summary>
+            Sets the media type for a stream.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.SetCurrentPosition(System.Guid,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Seeks to a new position in the media source.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.ReadSample(System.Int32,System.Int32,System.Int32@,NAudio.MediaFoundation.MF_SOURCE_READER_FLAG@,System.UInt64@,NAudio.MediaFoundation.IMFSample@)">
+            <summary>
+            Reads the next sample from the media source.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.Flush(System.Int32)">
+            <summary>
+            Flushes one or more streams.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.GetServiceForStream(System.Int32,System.Guid,System.Guid,System.IntPtr@)">
+            <summary>
+            Queries the underlying media source or decoder for an interface.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.GetPresentationAttribute(System.Int32,System.Guid,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Gets an attribute from the underlying media source.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MF_SOURCE_READER_FLAG">
+            <summary>
+            Contains flags that indicate the status of the IMFSourceReader::ReadSample method
+            http://msdn.microsoft.com/en-us/library/windows/desktop/dd375773(v=vs.85).aspx
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SOURCE_READER_FLAG.None">
+            <summary>
+            No Error
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SOURCE_READER_FLAG.MF_SOURCE_READERF_ERROR">
+            <summary>
+            An error occurred. If you receive this flag, do not make any further calls to IMFSourceReader methods.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SOURCE_READER_FLAG.MF_SOURCE_READERF_ENDOFSTREAM">
+            <summary>
+            The source reader reached the end of the stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SOURCE_READER_FLAG.MF_SOURCE_READERF_NEWSTREAM">
+            <summary>
+            One or more new streams were created
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SOURCE_READER_FLAG.MF_SOURCE_READERF_NATIVEMEDIATYPECHANGED">
+            <summary>
+            The native format has changed for one or more streams. The native format is the format delivered by the media source before any decoders are inserted.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SOURCE_READER_FLAG.MF_SOURCE_READERF_CURRENTMEDIATYPECHANGED">
+            <summary>
+            The current media has type changed for one or more streams. To get the current media type, call the IMFSourceReader::GetCurrentMediaType method.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SOURCE_READER_FLAG.MF_SOURCE_READERF_STREAMTICK">
+            <summary>
+            There is a gap in the stream. This flag corresponds to an MEStreamTick event from the media source.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SOURCE_READER_FLAG.MF_SOURCE_READERF_ALLEFFECTSREMOVED">
+            <summary>
+            All transforms inserted by the application have been removed for a particular stream.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MediaFoundationTransformCategories">
+            <summary>
+            Media Foundation Transform Categories
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.VideoDecoder">
+            <summary>
+            MFT_CATEGORY_VIDEO_DECODER
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.VideoEncoder">
+            <summary>
+            MFT_CATEGORY_VIDEO_ENCODER
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.VideoEffect">
+            <summary>
+            MFT_CATEGORY_VIDEO_EFFECT
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.Multiplexer">
+            <summary>
+            MFT_CATEGORY_MULTIPLEXER
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.Demultiplexer">
+            <summary>
+            MFT_CATEGORY_DEMULTIPLEXER
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.AudioDecoder">
+            <summary>
+            MFT_CATEGORY_AUDIO_DECODER
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.AudioEncoder">
+            <summary>
+            MFT_CATEGORY_AUDIO_ENCODER
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.AudioEffect">
+            <summary>
+            MFT_CATEGORY_AUDIO_EFFECT
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.VideoProcessor">
+            <summary>
+            MFT_CATEGORY_VIDEO_PROCESSOR
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.Other">
+            <summary>
+            MFT_CATEGORY_OTHER
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MFT_INPUT_STREAM_INFO">
+            <summary>
+            Contains information about an input stream on a Media Foundation transform (MFT)
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_INPUT_STREAM_INFO.hnsMaxLatency">
+            <summary>
+            Maximum amount of time between an input sample and the corresponding output sample, in 100-nanosecond units.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_INPUT_STREAM_INFO.dwFlags">
+            <summary>
+            Bitwise OR of zero or more flags from the _MFT_INPUT_STREAM_INFO_FLAGS enumeration.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_INPUT_STREAM_INFO.cbSize">
+            <summary>
+            The minimum size of each input buffer, in bytes.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_INPUT_STREAM_INFO.cbMaxLookahead">
+            <summary>
+            Maximum amount of input data, in bytes, that the MFT holds to perform lookahead.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_INPUT_STREAM_INFO.cbAlignment">
+            <summary>
+            The memory alignment required for input buffers. If the MFT does not require a specific alignment, the value is zero.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MFT_OUTPUT_DATA_BUFFER">
+            <summary>
+            Contains information about an output buffer for a Media Foundation transform. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_OUTPUT_DATA_BUFFER.dwStreamID">
+            <summary>
+            Output stream identifier.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_OUTPUT_DATA_BUFFER.pSample">
+            <summary>
+            Pointer to the IMFSample interface. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_OUTPUT_DATA_BUFFER.dwStatus">
+            <summary>
+            Before calling ProcessOutput, set this member to zero.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_OUTPUT_DATA_BUFFER.pEvents">
+            <summary>
+            Before calling ProcessOutput, set this member to NULL.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MFT_OUTPUT_STREAM_INFO">
+            <summary>
+            Contains information about an output stream on a Media Foundation transform (MFT).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_OUTPUT_STREAM_INFO.dwFlags">
+            <summary>
+            Bitwise OR of zero or more flags from the _MFT_OUTPUT_STREAM_INFO_FLAGS enumeration.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_OUTPUT_STREAM_INFO.cbSize">
+            <summary>
+            Minimum size of each output buffer, in bytes.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_OUTPUT_STREAM_INFO.cbAlignment">
+            <summary>
+            The memory alignment required for output buffers.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MFT_MESSAGE_TYPE">
+            <summary>
+            Defines messages for a Media Foundation transform (MFT).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_COMMAND_FLUSH">
+            <summary>
+            Requests the MFT to flush all stored data. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_COMMAND_DRAIN">
+            <summary>
+            Requests the MFT to drain any stored data.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_SET_D3D_MANAGER">
+            <summary>
+            Sets or clears the Direct3D Device Manager for DirectX Video Accereration (DXVA). 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_DROP_SAMPLES">
+            <summary>
+            Drop samples - requires Windows 7
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_COMMAND_TICK">
+            <summary>
+            Command Tick - requires Windows 8
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_NOTIFY_BEGIN_STREAMING">
+            <summary>
+            Notifies the MFT that streaming is about to begin. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_NOTIFY_END_STREAMING">
+            <summary>
+            Notifies the MFT that streaming is about to end. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_NOTIFY_END_OF_STREAM">
+            <summary>
+            Notifies the MFT that an input stream has ended. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_NOTIFY_START_OF_STREAM">
+            <summary>
+            Notifies the MFT that the first sample is about to be processed. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_COMMAND_MARKER">
+            <summary>
+            Marks a point in the stream. This message applies only to asynchronous MFTs. Requires Windows 7 
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MFT_REGISTER_TYPE_INFO">
+            <summary>
+            Contains media type information for registering a Media Foundation transform (MFT). 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_REGISTER_TYPE_INFO.guidMajorType">
+            <summary>
+            The major media type.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_REGISTER_TYPE_INFO.guidSubtype">
+            <summary>
+            The Media Subtype
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS">
+            <summary>
+            Contains statistics about the performance of the sink writer.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.cb">
+            <summary>
+            The size of the structure, in bytes.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.llLastTimestampReceived">
+            <summary>
+            The time stamp of the most recent sample given to the sink writer.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.llLastTimestampEncoded">
+            <summary>
+            The time stamp of the most recent sample to be encoded.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.llLastTimestampProcessed">
+            <summary>
+            The time stamp of the most recent sample given to the media sink.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.llLastStreamTickReceived">
+            <summary>
+            The time stamp of the most recent stream tick. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.llLastSinkSampleRequest">
+            <summary>
+            The system time of the most recent sample request from the media sink. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.qwNumSamplesReceived">
+            <summary>
+            The number of samples received.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.qwNumSamplesEncoded">
+            <summary>
+            The number of samples encoded.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.qwNumSamplesProcessed">
+            <summary>
+            The number of samples given to the media sink.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.qwNumStreamTicksReceived">
+            <summary>
+            The number of stream ticks received.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.dwByteCountQueued">
+            <summary>
+            The amount of data, in bytes, currently waiting to be processed. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.qwByteCountProcessed">
+            <summary>
+            The total amount of data, in bytes, that has been sent to the media sink.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.dwNumOutstandingSinkSampleRequests">
+            <summary>
+            The number of pending sample requests.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.dwAverageSampleRateReceived">
+            <summary>
+            The average rate, in media samples per 100-nanoseconds, at which the application sent samples to the sink writer.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.dwAverageSampleRateEncoded">
+            <summary>
+            The average rate, in media samples per 100-nanoseconds, at which the sink writer sent samples to the encoder
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.dwAverageSampleRateProcessed">
+            <summary>
+            The average rate, in media samples per 100-nanoseconds, at which the sink writer sent samples to the media sink.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation._MFT_ENUM_FLAG">
+            <summary>
+            Contains flags for registering and enumeration Media Foundation transforms (MFTs).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_ENUM_FLAG.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_ENUM_FLAG.MFT_ENUM_FLAG_SYNCMFT">
+            <summary>
+            The MFT performs synchronous data processing in software. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_ENUM_FLAG.MFT_ENUM_FLAG_ASYNCMFT">
+            <summary>
+            The MFT performs asynchronous data processing in software.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_ENUM_FLAG.MFT_ENUM_FLAG_HARDWARE">
+            <summary>
+            The MFT performs hardware-based data processing, using either the AVStream driver or a GPU-based proxy MFT. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_ENUM_FLAG.MFT_ENUM_FLAG_FIELDOFUSE">
+            <summary>
+            The MFT that must be unlocked by the application before use.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_ENUM_FLAG.MFT_ENUM_FLAG_LOCALMFT">
+            <summary>
+            For enumeration, include MFTs that were registered in the caller's process.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_ENUM_FLAG.MFT_ENUM_FLAG_TRANSCODE_ONLY">
+            <summary>
+            The MFT is optimized for transcoding rather than playback.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_ENUM_FLAG.MFT_ENUM_FLAG_SORTANDFILTER">
+            <summary>
+            For enumeration, sort and filter the results.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_ENUM_FLAG.MFT_ENUM_FLAG_ALL">
+            <summary>
+            Bitwise OR of all the flags, excluding MFT_ENUM_FLAG_SORTANDFILTER.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation._MFT_INPUT_STATUS_FLAGS">
+            <summary>
+            Indicates the status of an input stream on a Media Foundation transform (MFT).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STATUS_FLAGS.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STATUS_FLAGS.MFT_INPUT_STATUS_ACCEPT_DATA">
+            <summary>
+            The input stream can receive more data at this time.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS">
+            <summary>
+            Describes an input stream on a Media Foundation transform (MFT).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS.None">
+            <summary>
+            No flags set
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS.MFT_INPUT_STREAM_WHOLE_SAMPLES">
+            <summary>
+            Each media sample (IMFSample interface) of input data must contain complete, unbroken units of data. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS.MFT_INPUT_STREAM_SINGLE_SAMPLE_PER_BUFFER">
+            <summary>
+            Each media sample that the client provides as input must contain exactly one unit of data, as defined for the MFT_INPUT_STREAM_WHOLE_SAMPLES flag.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS.MFT_INPUT_STREAM_FIXED_SAMPLE_SIZE">
+            <summary>
+            All input samples must be the same size.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS.MFT_INPUT_STREAM_HOLDS_BUFFERS">
+            <summary>
+            MTF Input Stream Holds buffers
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS.MFT_INPUT_STREAM_DOES_NOT_ADDREF">
+            <summary>
+            The MFT does not hold input samples after the IMFTransform::ProcessInput method returns.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS.MFT_INPUT_STREAM_REMOVABLE">
+            <summary>
+            This input stream can be removed by calling IMFTransform::DeleteInputStream.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS.MFT_INPUT_STREAM_OPTIONAL">
+            <summary>
+            This input stream is optional. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS.MFT_INPUT_STREAM_PROCESSES_IN_PLACE">
+            <summary>
+            The MFT can perform in-place processing.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation._MFT_OUTPUT_DATA_BUFFER_FLAGS">
+            <summary>
+            Defines flags for the IMFTransform::ProcessOutput method. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_DATA_BUFFER_FLAGS.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_DATA_BUFFER_FLAGS.MFT_OUTPUT_DATA_BUFFER_INCOMPLETE">
+            <summary>
+            The MFT can still generate output from this stream without receiving any more input. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_DATA_BUFFER_FLAGS.MFT_OUTPUT_DATA_BUFFER_FORMAT_CHANGE">
+            <summary>
+            The format has changed on this output stream, or there is a new preferred format for this stream. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_DATA_BUFFER_FLAGS.MFT_OUTPUT_DATA_BUFFER_STREAM_END">
+            <summary>
+            The MFT has removed this output stream. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_DATA_BUFFER_FLAGS.MFT_OUTPUT_DATA_BUFFER_NO_SAMPLE">
+            <summary>
+            There is no sample ready for this stream.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation._MFT_OUTPUT_STATUS_FLAGS">
+            <summary>
+            Indicates whether a Media Foundation transform (MFT) can produce output data.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STATUS_FLAGS.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STATUS_FLAGS.MFT_OUTPUT_STATUS_SAMPLE_READY">
+            <summary>
+            There is a sample available for at least one output stream.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS">
+            <summary>
+            Describes an output stream on a Media Foundation transform (MFT).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.None">
+            <summary>
+            No flags set
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.MFT_OUTPUT_STREAM_WHOLE_SAMPLES">
+            <summary>
+            Each media sample (IMFSample interface) of output data from the MFT contains complete, unbroken units of data.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.MFT_OUTPUT_STREAM_SINGLE_SAMPLE_PER_BUFFER">
+            <summary>
+            Each output sample contains exactly one unit of data, as defined for the MFT_OUTPUT_STREAM_WHOLE_SAMPLES flag.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.MFT_OUTPUT_STREAM_FIXED_SAMPLE_SIZE">
+            <summary>
+            All output samples are the same size.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.MFT_OUTPUT_STREAM_DISCARDABLE">
+            <summary>
+            The MFT can discard the output data from this output stream, if requested by the client.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.MFT_OUTPUT_STREAM_OPTIONAL">
+            <summary>
+            This output stream is optional.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.MFT_OUTPUT_STREAM_PROVIDES_SAMPLES">
+            <summary>
+            The MFT provides the output samples for this stream, either by allocating them internally or by operating directly on the input samples.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.MFT_OUTPUT_STREAM_CAN_PROVIDE_SAMPLES">
+            <summary>
+            The MFT can either provide output samples for this stream or it can use samples that the client allocates. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.MFT_OUTPUT_STREAM_LAZY_READ">
+            <summary>
+            The MFT does not require the client to process the output for this stream. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.MFT_OUTPUT_STREAM_REMOVABLE">
+            <summary>
+            The MFT might remove this output stream during streaming.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation._MFT_PROCESS_OUTPUT_FLAGS">
+            <summary>
+            Defines flags for processing output samples in a Media Foundation transform (MFT).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_PROCESS_OUTPUT_FLAGS.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_PROCESS_OUTPUT_FLAGS.MFT_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER">
+            <summary>
+            Do not produce output for streams in which the pSample member of the MFT_OUTPUT_DATA_BUFFER structure is NULL. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_PROCESS_OUTPUT_FLAGS.MFT_PROCESS_OUTPUT_REGENERATE_LAST_OUTPUT">
+            <summary>
+            Regenerates the last output sample.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation._MFT_PROCESS_OUTPUT_STATUS">
+            <summary>
+            Process Output Status flags
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_PROCESS_OUTPUT_STATUS.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_PROCESS_OUTPUT_STATUS.MFT_PROCESS_OUTPUT_STATUS_NEW_STREAMS">
+            <summary>
+            The Media Foundation transform (MFT) has created one or more new output streams.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation._MFT_SET_TYPE_FLAGS">
+            <summary>
+            Defines flags for the setting or testing the media type on a Media Foundation transform (MFT).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_SET_TYPE_FLAGS.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_SET_TYPE_FLAGS.MFT_SET_TYPE_TEST_ONLY">
+            <summary>
+            Test the proposed media type, but do not set it.
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.MidiInMessageEventArgs">
+            <summary>
+            MIDI In Message Information
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiInMessageEventArgs.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Create a new MIDI In Message EventArgs
+            </summary>
+            <param name="message"></param>
+            <param name="timestamp"></param>
+        </member>
+        <member name="P:NAudio.Midi.MidiInMessageEventArgs.RawMessage">
+            <summary>
+            The Raw message received from the MIDI In API
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiInMessageEventArgs.MidiEvent">
+            <summary>
+            The raw message interpreted as a MidiEvent
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiInMessageEventArgs.Timestamp">
+            <summary>
+            The timestamp in milliseconds for this message
+            </summary>
+        </member>
+        <member name="T:NAudio.Utils.ByteArrayExtensions">
+            <summary>
+            these will become extension methods once we move to .NET 3.5
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteArrayExtensions.IsEntirelyNull(System.Byte[])">
+            <summary>
+            Checks if the buffer passed in is entirely full of nulls
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteArrayExtensions.DescribeAsHex(System.Byte[],System.String,System.Int32)">
+            <summary>
+            Converts to a string containing the buffer described in hex
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteArrayExtensions.DecodeAsString(System.Byte[],System.Int32,System.Int32,System.Text.Encoding)">
+            <summary>
+            Decodes the buffer using the specified encoding, stopping at the first null
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteArrayExtensions.Concat(System.Byte[][])">
+            <summary>
+            Concatenates the given arrays into a single array.
+            </summary>
+            <param name="byteArrays">The arrays to concatenate</param>
+            <returns>The concatenated resulting array.</returns>
+        </member>
+        <member name="T:NAudio.Utils.FieldDescriptionHelper">
+            <summary>
+            Helper to get descriptions
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.FieldDescriptionHelper.Describe(System.Type,System.Guid)">
+            <summary>
+            Describes the Guid  by looking for a FieldDescription attribute on the specified class
+            </summary>
+        </member>
+        <member name="T:NAudio.Utils.WavePositionExtensions">
+            <summary>
+            WavePosition extension methods
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.WavePositionExtensions.GetPositionTimeSpan(NAudio.Wave.IWavePosition)">
+            <summary>
+            Get Position as timespan
+            </summary>
+        </member>
+        <member name="T:NAudio.Utils.IEEE">
+            <summary>
+            Methods for converting between IEEE 80-bit extended double precision
+            and standard C# double precision.
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.IEEE.ConvertToIeeeExtended(System.Double)">
+            <summary>
+            Converts a C# double precision number to an 80-bit
+            IEEE extended double precision number (occupying 10 bytes).
+            </summary>
+            <param name="num">The double precision number to convert to IEEE extended.</param>
+            <returns>An array of 10 bytes containing the IEEE extended number.</returns>
+        </member>
+        <member name="M:NAudio.Utils.IEEE.ConvertFromIeeeExtended(System.Byte[])">
+            <summary>
+            Converts an IEEE 80-bit extended precision number to a
+            C# double precision number.
+            </summary>
+            <param name="bytes">The 80-bit IEEE extended number (as an array of 10 bytes).</param>
+            <returns>A C# double precision number that is a close representation of the IEEE extended number.</returns>
+        </member>
+        <member name="T:NAudio.Utils.NativeMethods">
+            <summary>
+            General purpose native methods for internal NAudio use
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Asio.AsioDriverCapability">
+            <summary>
+            ASIODriverCapability holds all the information from the ASIODriver.
+            Use ASIODriverExt to get the Capabilities
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Asio.AsioSampleType">
+            <summary>
+            ASIO Sample Type
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.Int16MSB">
+            <summary>
+            Int 16 MSB
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.Int24MSB">
+            <summary>
+            Int 24 MSB (used for 20 bits as well)
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.Int32MSB">
+            <summary>
+            Int 32 MSB
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.Float32MSB">
+            <summary>
+            IEEE 754 32 bit float
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.Float64MSB">
+            <summary>
+            IEEE 754 64 bit double float
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.Int32MSB16">
+            <summary>
+            32 bit data with 16 bit alignment
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.Int32MSB18">
+            <summary>
+            32 bit data with 18 bit alignment
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.Int32MSB20">
+            <summary>
+            32 bit data with 20 bit alignment
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.Int32MSB24">
+            <summary>
+            32 bit data with 24 bit alignment
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.Int16LSB">
+            <summary>
+            Int 16 LSB
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.Int24LSB">
+            <summary>
+            Int 24 LSB
+            used for 20 bits as well
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.Int32LSB">
+            <summary>
+            Int 32 LSB
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.Float32LSB">
+            <summary>
+            IEEE 754 32 bit float, as found on Intel x86 architecture
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.Float64LSB">
+            <summary>
+            IEEE 754 64 bit double float, as found on Intel x86 architecture
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.Int32LSB16">
+            <summary>
+            32 bit data with 16 bit alignment
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.Int32LSB18">
+            <summary>
+            32 bit data with 18 bit alignment
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.Int32LSB20">
+            <summary>
+            32 bit data with 20 bit alignment
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.Int32LSB24">
+            <summary>
+            32 bit data with 24 bit alignment
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.DSDInt8LSB1">
+            <summary>
+            DSD 1 bit data, 8 samples per byte. First sample in Least significant bit.
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.DSDInt8MSB1">
+            <summary>
+            DSD 1 bit data, 8 samples per byte. First sample in Most significant bit.
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Asio.AsioSampleType.DSDInt8NER8">
+            <summary>
+            DSD 8 bit data, 1 sample per byte. No Endianness required.
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Compression.AcmDriverAddFlags">
+            <summary>
+            Flags for use with acmDriverAdd
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverAddFlags.Local">
+            <summary>
+            ACM_DRIVERADDF_LOCAL
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverAddFlags.Global">
+            <summary>
+            ACM_DRIVERADDF_GLOBAL
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverAddFlags.Function">
+            <summary>
+            ACM_DRIVERADDF_FUNCTION
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverAddFlags.NotifyWindowHandle">
+            <summary>
+            ACM_DRIVERADDF_NOTIFYHWND
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.AdsrSampleProvider">
+            <summary>
+            ADSR sample provider allowing you to specify attack, decay, sustain and release values
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.ISampleProvider">
+            <summary>
+            Like IWaveProvider, but makes it much simpler to put together a 32 bit floating
+            point mixing engine
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.ISampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Fill the specified buffer with 32 bit floating point samples
+            </summary>
+            <param name="buffer">The buffer to fill with samples.</param>
+            <param name="offset">Offset into buffer</param>
+            <param name="count">The number of samples to read</param>
+            <returns>the number of samples written to the buffer.</returns>
+        </member>
+        <member name="P:NAudio.Wave.ISampleProvider.WaveFormat">
+            <summary>
+            Gets the WaveFormat of this Sample Provider.
+            </summary>
+            <value>The wave format.</value>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.AdsrSampleProvider.#ctor(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Creates a new AdsrSampleProvider with default values
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.AdsrSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads audio from this sample provider
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.AdsrSampleProvider.Stop">
+            <summary>
+            Enters the Release phase
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.AdsrSampleProvider.AttackSeconds">
+            <summary>
+            Attack time in seconds
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.AdsrSampleProvider.ReleaseSeconds">
+            <summary>
+            Release time in seconds
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.AdsrSampleProvider.WaveFormat">
+            <summary>
+            The output WaveFormat
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.FadeInOutSampleProvider">
+            <summary>
+            Sample Provider to allow fading in and out
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.FadeInOutSampleProvider.#ctor(NAudio.Wave.ISampleProvider,System.Boolean)">
+            <summary>
+            Creates a new FadeInOutSampleProvider
+            </summary>
+            <param name="source">The source stream with the audio to be faded in or out</param>
+            <param name="initiallySilent">If true, we start faded out</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.FadeInOutSampleProvider.BeginFadeIn(System.Double)">
+            <summary>
+            Requests that a fade-in begins (will start on the next call to Read)
+            </summary>
+            <param name="fadeDurationInMilliseconds">Duration of fade in milliseconds</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.FadeInOutSampleProvider.BeginFadeOut(System.Double)">
+            <summary>
+            Requests that a fade-out begins (will start on the next call to Read)
+            </summary>
+            <param name="fadeDurationInMilliseconds">Duration of fade in milliseconds</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.FadeInOutSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this sample provider
+            </summary>
+            <param name="buffer">Buffer to read into</param>
+            <param name="offset">Offset within buffer to write to</param>
+            <param name="count">Number of samples desired</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.FadeInOutSampleProvider.WaveFormat">
+            <summary>
+            WaveFormat of this SampleProvider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.MultiplexingSampleProvider">
+            <summary>
+            Allows any number of inputs to be patched to outputs
+            Uses could include swapping left and right channels, turning mono into stereo,
+            feeding different input sources to different soundcard outputs etc
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MultiplexingSampleProvider.#ctor(System.Collections.Generic.IEnumerable{NAudio.Wave.ISampleProvider},System.Int32)">
+            <summary>
+            Creates a multiplexing sample provider, allowing re-patching of input channels to different
+            output channels
+            </summary>
+            <param name="inputs">Input sample providers. Must all be of the same sample rate, but can have any number of channels</param>
+            <param name="numberOfOutputChannels">Desired number of output channels.</param>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.MultiplexingSampleProvider.inputBuffer">
+            <summary>
+            persistent temporary buffer to prevent creating work for garbage collector
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MultiplexingSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this sample provider
+            </summary>
+            <param name="buffer">Buffer to be filled with sample data</param>
+            <param name="offset">Offset into buffer to start writing to, usually 0</param>
+            <param name="count">Number of samples required</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MultiplexingSampleProvider.ConnectInputToOutput(System.Int32,System.Int32)">
+            <summary>
+            Connects a specified input channel to an output channel
+            </summary>
+            <param name="inputChannel">Input Channel index (zero based). Must be less than InputChannelCount</param>
+            <param name="outputChannel">Output Channel index (zero based). Must be less than OutputChannelCount</param>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.MultiplexingSampleProvider.WaveFormat">
+            <summary>
+            The output WaveFormat for this SampleProvider
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.MultiplexingSampleProvider.InputChannelCount">
+            <summary>
+            The number of input channels. Note that this is not the same as the number of input wave providers. If you pass in
+            one stereo and one mono input provider, the number of input channels is three.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.MultiplexingSampleProvider.OutputChannelCount">
+            <summary>
+            The number of output channels, as specified in the constructor.
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.OffsetSampleProvider">
+            <summary>
+            Allows you to:
+            1. insert a pre-delay of silence before the source begins
+            2. skip over a certain amount of the beginning of the source
+            3. only play a set amount from the source
+            4. insert silence at the end after the source is complete
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.OffsetSampleProvider.#ctor(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Creates a new instance of offsetSampleProvider
+            </summary>
+            <param name="sourceProvider">The Source Sample Provider to read from</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.OffsetSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads from this sample provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset within sample buffer to read to</param>
+            <param name="count">Number of samples required</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.OffsetSampleProvider.DelayBySamples">
+            <summary>
+            Number of samples of silence to insert before playing source
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.OffsetSampleProvider.DelayBy">
+            <summary>
+            Amount of silence to insert before playing
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.OffsetSampleProvider.SkipOverSamples">
+            <summary>
+            Number of samples in source to discard
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.OffsetSampleProvider.SkipOver">
+            <summary>
+            Amount of audio to skip over from the source before beginning playback
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.OffsetSampleProvider.TakeSamples">
+            <summary>
+            Number of samples to read from source (if 0, then read it all)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.OffsetSampleProvider.Take">
+            <summary>
+            Amount of audio to take from the source (TimeSpan.Zero means play to end)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.OffsetSampleProvider.LeadOutSamples">
+            <summary>
+            Number of samples of silence to insert after playing source
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.OffsetSampleProvider.LeadOut">
+            <summary>
+            Amount of silence to insert after playing source
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.OffsetSampleProvider.WaveFormat">
+            <summary>
+            The WaveFormat of this SampleProvider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.Pcm32BitToSampleProvider">
+            <summary>
+            Converts an IWaveProvider containing 32 bit PCM to an
+            ISampleProvider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.SampleProviderConverterBase">
+            <summary>
+            Helper base class for classes converting to ISampleProvider
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.SampleProviderConverterBase.source">
+            <summary>
+            Source Wave Provider
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.SampleProviderConverterBase.sourceBuffer">
+            <summary>
+            Source buffer (to avoid constantly creating small buffers during playback)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleProviderConverterBase.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initialises a new instance of SampleProviderConverterBase
+            </summary>
+            <param name="source">Source Wave provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleProviderConverterBase.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from the source wave provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="count">Number of samples required</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleProviderConverterBase.EnsureSourceBuffer(System.Int32)">
+            <summary>
+            Ensure the source buffer exists and is big enough
+            </summary>
+            <param name="sourceBytesRequired">Bytes required</param>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SampleProviderConverterBase.WaveFormat">
+            <summary>
+            Wave format of this wave provider
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.Pcm32BitToSampleProvider.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initialises a new instance of Pcm32BitToSampleProvider
+            </summary>
+            <param name="source">Source Wave Provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.Pcm32BitToSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads floating point samples from this sample provider
+            </summary>
+            <param name="buffer">sample buffer</param>
+            <param name="offset">offset within sample buffer to write to</param>
+            <param name="count">number of samples required</param>
+            <returns>number of samples provided</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.SampleProviderConverters">
+            <summary>
+            Utility class for converting to SampleProvider
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleProviderConverters.ConvertWaveProviderIntoSampleProvider(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Helper function to go from IWaveProvider to a SampleProvider
+            Must already be PCM or IEEE float
+            </summary>
+            <param name="waveProvider">The WaveProvider to convert</param>
+            <returns>A sample provider</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.SampleToWaveProvider16">
+            <summary>
+            Converts a sample provider to 16 bit PCM, optionally clipping and adjusting volume along the way
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.IWaveProvider">
+            <summary>
+            Generic interface for all WaveProviders.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.IWaveProvider.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Fill the specified buffer with wave data.
+            </summary>
+            <param name="buffer">The buffer to fill of wave data.</param>
+            <param name="offset">Offset into buffer</param>
+            <param name="count">The number of bytes to read</param>
+            <returns>the number of bytes written to the buffer.</returns>
+        </member>
+        <member name="P:NAudio.Wave.IWaveProvider.WaveFormat">
+            <summary>
+            Gets the WaveFormat of this WaveProvider.
+            </summary>
+            <value>The wave format.</value>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleToWaveProvider16.#ctor(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Creates a new SampleToWaveProvider16
+            </summary>
+            <param name="sourceProvider">the source provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleToWaveProvider16.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this wave stream
+            </summary>
+            <param name="destBuffer">The destination buffer</param>
+            <param name="offset">Offset into the destination buffer</param>
+            <param name="numBytes">Number of bytes read</param>
+            <returns>Number of bytes read.</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SampleToWaveProvider16.WaveFormat">
+            <summary>
+            <see cref="P:NAudio.Wave.IWaveProvider.WaveFormat"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SampleToWaveProvider16.Volume">
+            <summary>
+            Volume of this channel. 1.0 = full scale
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.SignalGenerator">
+            <summary>
+            Signal Generator
+            Sin, Square, Triangle, SawTooth, White Noise, Pink Noise, Sweep.
+            </summary>
+            <remarks>
+            Posibility to change ISampleProvider
+            Example :
+            ---------
+            WaveOut _waveOutGene = new WaveOut();
+            WaveGenerator wg = new SignalGenerator();
+            wg.Type = ...
+            wg.Frequency = ...
+            wg ...
+            _waveOutGene.Init(wg);
+            _waveOutGene.Play();
+            </remarks>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SignalGenerator.#ctor">
+            <summary>
+            Initializes a new instance for the Generator (Default :: 44.1Khz, 2 channels, Sinus, Frequency = 440, Gain = 1)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SignalGenerator.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance for the Generator (UserDef SampleRate &amp; Channels)
+            </summary>
+            <param name="sampleRate">Desired sample rate</param>
+            <param name="channel">Number of channels</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SignalGenerator.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads from this provider.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SignalGenerator.NextRandomTwo">
+            <summary>
+            Private :: Random for WhiteNoise &amp; Pink Noise (Value form -1 to 1)
+            </summary>
+            <returns>Random value from -1 to +1</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SignalGenerator.WaveFormat">
+            <summary>
+            The waveformat of this WaveProvider (same as the source)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SignalGenerator.Frequency">
+            <summary>
+            Frequency for the Generator. (20.0 - 20000.0 Hz)
+            Sin, Square, Triangle, SawTooth, Sweep (Start Frequency).
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SignalGenerator.FrequencyLog">
+            <summary>
+            Return Log of Frequency Start (Read only)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SignalGenerator.FrequencyEnd">
+            <summary>
+            End Frequency for the Sweep Generator. (Start Frequency in Frequency)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SignalGenerator.FrequencyEndLog">
+            <summary>
+            Return Log of Frequency End (Read only)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SignalGenerator.Gain">
+            <summary>
+            Gain for the Generator. (0.0 to 1.0)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SignalGenerator.PhaseReverse">
+            <summary>
+            Channel PhaseReverse
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SignalGenerator.Type">
+            <summary>
+            Type of Generator.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SignalGenerator.SweepLengthSecs">
+            <summary>
+            Length Seconds for the Sweep Generator.
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.SignalGeneratorType">
+            <summary>
+            Signal Generator type
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.SignalGeneratorType.Pink">
+            <summary>
+            Pink noise
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.SignalGeneratorType.White">
+            <summary>
+            White noise
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.SignalGeneratorType.Sweep">
+            <summary>
+            Sweep
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.SignalGeneratorType.Sin">
+            <summary>
+            Sine wave
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.SignalGeneratorType.Square">
+            <summary>
+            Square wave
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.SignalGeneratorType.Triangle">
+            <summary>
+            Triangle Wave
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.SignalGeneratorType.SawTooth">
+            <summary>
+            Sawtooth wave
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.WaveToSampleProvider64">
+            <summary>
+            Helper class turning an already 64 bit floating point IWaveProvider
+            into an ISampleProvider - hopefully not needed for most applications
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.WaveToSampleProvider64.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initializes a new instance of the WaveToSampleProvider class
+            </summary>
+            <param name="source">Source wave provider, must be IEEE float</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.WaveToSampleProvider64.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads from this provider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.WdlResamplingSampleProvider">
+            <summary>
+            Fully managed resampling sample provider, based on the WDL Resampler
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.WdlResamplingSampleProvider.#ctor(NAudio.Wave.ISampleProvider,System.Int32)">
+            <summary>
+            Constructs a new resampler
+            </summary>
+            <param name="source">Source to resample</param>
+            <param name="newSampleRate">Desired output sample rate</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.WdlResamplingSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads from this sample provider
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.WdlResamplingSampleProvider.WaveFormat">
+            <summary>
+            Output WaveFormat
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveExtensionMethods">
+            <summary>
+            Useful extension methods to make switching between WaveAndSampleProvider easier
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveExtensionMethods.ToSampleProvider(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Converts a WaveProvider into a SampleProvider (only works for PCM)
+            </summary>
+            <param name="waveProvider">WaveProvider to convert</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveExtensionMethods.Init(NAudio.Wave.IWavePlayer,NAudio.Wave.ISampleProvider,System.Boolean)">
+            <summary>
+            Allows sending a SampleProvider directly to an IWavePlayer without needing to convert
+            back to an IWaveProvider
+            </summary>
+            <param name="wavePlayer">The WavePlayer</param>
+            <param name="sampleProvider"></param>
+            <param name="convertTo16Bit"></param>
+        </member>
+        <member name="T:NAudio.Wave.WaveInEvent">
+            <summary>
+            Recording using waveIn api with event callbacks.
+            Use this for recording in non-gui applications
+            Events are raised as recorded buffers are made available
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.IWaveIn">
+            <summary>
+            Generic interface for wave recording
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.IWaveIn.StartRecording">
+            <summary>
+            Start Recording
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.IWaveIn.StopRecording">
+            <summary>
+            Stop Recording
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.IWaveIn.WaveFormat">
+            <summary>
+            Recording WaveFormat
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.IWaveIn.DataAvailable">
+            <summary>
+            Indicates recorded data is available 
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.IWaveIn.RecordingStopped">
+            <summary>
+            Indicates that all recorded data has now been received.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveInEvent.#ctor">
+            <summary>
+            Prepares a Wave input device for recording
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveInEvent.GetCapabilities(System.Int32)">
+            <summary>
+            Retrieves the capabilities of a waveIn device
+            </summary>
+            <param name="devNumber">Device to test</param>
+            <returns>The WaveIn device capabilities</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveInEvent.StartRecording">
+            <summary>
+            Start recording
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveInEvent.StopRecording">
+            <summary>
+            Stop recording
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveInEvent.Dispose(System.Boolean)">
+            <summary>
+            Dispose pattern
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveInEvent.GetMixerLine">
+            <summary>
+            Microphone Level
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveInEvent.Dispose">
+            <summary>
+            Dispose method
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.WaveInEvent.DataAvailable">
+            <summary>
+            Indicates recorded data is available 
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.WaveInEvent.RecordingStopped">
+            <summary>
+            Indicates that all recorded data has now been received.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInEvent.DeviceCount">
+            <summary>
+            Returns the number of Wave In devices available in the system
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInEvent.BufferMilliseconds">
+            <summary>
+            Milliseconds for the buffer. Recommended value is 100ms
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInEvent.NumberOfBuffers">
+            <summary>
+            Number of Buffers to use (usually 2 or 3)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInEvent.DeviceNumber">
+            <summary>
+            The device number to use
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInEvent.WaveFormat">
+            <summary>
+            WaveFormat we are recording in
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.WasapiCapture">
+            <summary>
+            Audio Capture using Wasapi
+            See http://msdn.microsoft.com/en-us/library/dd370800%28VS.85%29.aspx
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.WasapiCapture.#ctor">
+            <summary>
+            Initialises a new instance of the WASAPI capture class
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.WasapiCapture.#ctor(NAudio.CoreAudioApi.MMDevice)">
+            <summary>
+            Initialises a new instance of the WASAPI capture class
+            </summary>
+            <param name="captureDevice">Capture device to use</param>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.WasapiCapture.GetDefaultCaptureDevice">
+            <summary>
+            Gets the default audio capture device
+            </summary>
+            <returns>The default audio capture device</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.WasapiCapture.GetAudioClientStreamFlags">
+            <summary>
+            To allow overrides to specify different flags (e.g. loopback)
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.WasapiCapture.StartRecording">
+            <summary>
+            Start Recording
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.WasapiCapture.StopRecording">
+            <summary>
+            Stop Recording (requests a stop, wait for RecordingStopped event to know it has finished)
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.WasapiCapture.Dispose">
+            <summary>
+            Dispose
+            </summary>
+        </member>
+        <member name="E:NAudio.CoreAudioApi.WasapiCapture.DataAvailable">
+            <summary>
+            Indicates recorded data is available 
+            </summary>
+        </member>
+        <member name="E:NAudio.CoreAudioApi.WasapiCapture.RecordingStopped">
+            <summary>
+            Indicates that all recorded data has now been received.
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.WasapiCapture.ShareMode">
+            <summary>
+            Share Mode - set before calling StartRecording
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.WasapiCapture.WaveFormat">
+            <summary>
+            Recording wave format
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.DmoDescriptor">
+            <summary>
+            Contains the name and CLSID of a DirectX Media Object
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.DmoDescriptor.#ctor(System.String,System.Guid)">
+            <summary>
+            Initializes a new instance of DmoDescriptor
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.DmoDescriptor.Name">
+            <summary>
+            Name
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.DmoDescriptor.Clsid">
+            <summary>
+            Clsid
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.DmoEnumerator">
+            <summary>
+            DirectX Media Object Enumerator
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.DmoEnumerator.GetAudioEffectNames">
+            <summary>
+            Get audio effect names
+            </summary>
+            <returns>Audio effect names</returns>
+        </member>
+        <member name="M:NAudio.Dmo.DmoEnumerator.GetAudioEncoderNames">
+            <summary>
+            Get audio encoder names
+            </summary>
+            <returns>Audio encoder names</returns>
+        </member>
+        <member name="M:NAudio.Dmo.DmoEnumerator.GetAudioDecoderNames">
+            <summary>
+            Get audio decoder names
+            </summary>
+            <returns>Audio decoder names</returns>
+        </member>
+        <member name="T:NAudio.Dmo.DmoGuids">
+            <summary>
+            DMO Guids for use with DMOEnum
+            dmoreg.h
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.DmoHResults">
+            <summary>
+            MediaErr.h
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.DmoPartialMediaType">
+            <summary>
+            DMO_PARTIAL_MEDIATYPE
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.IMediaParamInfo">
+            <summary>
+            defined in Medparam.h
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.IWMResamplerProps">
+            <summary>
+            Windows Media Resampler Props
+            wmcodecdsp.h
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.IWMResamplerProps.SetHalfFilterLength(System.Int32)">
+            <summary>
+            Range is 1 to 60
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.IWMResamplerProps.SetUserChannelMtx(System.Single[])">
+            <summary>
+             Specifies the channel matrix.
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.MediaBuffer">
+            <summary>
+            Attempting to implement the COM IMediaBuffer interface as a .NET object
+            Not sure what will happen when I pass this to an unmanaged object
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.IMediaBuffer">
+            <summary>
+            IMediaBuffer Interface
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.IMediaBuffer.SetLength(System.Int32)">
+            <summary>
+            Set Length
+            </summary>
+            <param name="length">Length</param>
+            <returns>HRESULT</returns>
+        </member>
+        <member name="M:NAudio.Dmo.IMediaBuffer.GetMaxLength(System.Int32@)">
+            <summary>
+            Get Max Length
+            </summary>
+            <param name="maxLength">Max Length</param>
+            <returns>HRESULT</returns>
+        </member>
+        <member name="M:NAudio.Dmo.IMediaBuffer.GetBufferAndLength(System.IntPtr,System.IntPtr)">
+            <summary>
+            Get Buffer and Length
+            </summary>
+            <param name="bufferPointerPointer">Pointer to variable into which to write the Buffer Pointer </param>
+            <param name="validDataLengthPointer">Pointer to variable into which to write the Valid Data Length</param>
+            <returns>HRESULT</returns>
+        </member>
+        <member name="M:NAudio.Dmo.MediaBuffer.#ctor(System.Int32)">
+            <summary>
+            Creates a new Media Buffer
+            </summary>
+            <param name="maxLength">Maximum length in bytes</param>
+        </member>
+        <member name="M:NAudio.Dmo.MediaBuffer.Dispose">
+            <summary>
+            Dispose and free memory for buffer
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.MediaBuffer.Finalize">
+            <summary>
+            Finalizer
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.MediaBuffer.NAudio#Dmo#IMediaBuffer#SetLength(System.Int32)">
+            <summary>
+            Set length of valid data in the buffer
+            </summary>
+            <param name="length">length</param>
+            <returns>HRESULT</returns>
+        </member>
+        <member name="M:NAudio.Dmo.MediaBuffer.NAudio#Dmo#IMediaBuffer#GetMaxLength(System.Int32@)">
+            <summary>
+            Gets the maximum length of the buffer
+            </summary>
+            <param name="maxLength">Max length (output parameter)</param>
+            <returns>HRESULT</returns>
+        </member>
+        <member name="M:NAudio.Dmo.MediaBuffer.NAudio#Dmo#IMediaBuffer#GetBufferAndLength(System.IntPtr,System.IntPtr)">
+            <summary>
+            Gets buffer and / or length
+            </summary>
+            <param name="bufferPointerPointer">Pointer to variable into which buffer pointer should be written</param>
+            <param name="validDataLengthPointer">Pointer to variable into which valid data length should be written</param>
+            <returns>HRESULT</returns>
+        </member>
+        <member name="M:NAudio.Dmo.MediaBuffer.LoadData(System.Byte[],System.Int32)">
+            <summary>
+            Loads data into this buffer
+            </summary>
+            <param name="data">Data to load</param>
+            <param name="bytes">Number of bytes to load</param>
+        </member>
+        <member name="M:NAudio.Dmo.MediaBuffer.RetrieveData(System.Byte[],System.Int32)">
+            <summary>
+            Retrieves the data in the output buffer
+            </summary>
+            <param name="data">buffer to retrieve into</param>
+            <param name="offset">offset within that buffer</param>
+        </member>
+        <member name="P:NAudio.Dmo.MediaBuffer.Length">
+            <summary>
+            Length of data in the media buffer
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.MediaObject">
+            <summary>
+            Media Object
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.#ctor(NAudio.Dmo.IMediaObject)">
+            <summary>
+            Creates a new Media Object
+            </summary>
+            <param name="mediaObject">Media Object COM interface</param>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.GetInputType(System.Int32,System.Int32)">
+            <summary>
+            Gets the input media type for the specified input stream
+            </summary>
+            <param name="inputStream">Input stream index</param>
+            <param name="inputTypeIndex">Input type index</param>
+            <returns>DMO Media Type or null if there are no more input types</returns>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.GetOutputType(System.Int32,System.Int32)">
+            <summary>
+            Gets the DMO Media Output type
+            </summary>
+            <param name="outputStream">The output stream</param>
+            <param name="outputTypeIndex">Output type index</param>
+            <returns>DMO Media Type or null if no more available</returns>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.GetOutputCurrentType(System.Int32)">
+            <summary>
+            retrieves the media type that was set for an output stream, if any
+            </summary>
+            <param name="outputStreamIndex">Output stream index</param>
+            <returns>DMO Media Type or null if no more available</returns>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.GetInputTypes(System.Int32)">
+            <summary>
+            Enumerates the supported input types
+            </summary>
+            <param name="inputStreamIndex">Input stream index</param>
+            <returns>Enumeration of input types</returns>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.GetOutputTypes(System.Int32)">
+            <summary>
+            Enumerates the output types
+            </summary>
+            <param name="outputStreamIndex">Output stream index</param>
+            <returns>Enumeration of supported output types</returns>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.SupportsInputType(System.Int32,NAudio.Dmo.DmoMediaType)">
+            <summary>
+            Querys whether a specified input type is supported
+            </summary>
+            <param name="inputStreamIndex">Input stream index</param>
+            <param name="mediaType">Media type to check</param>
+            <returns>true if supports</returns>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.SetInputType(System.Int32,NAudio.Dmo.DmoMediaType,NAudio.Dmo.DmoSetTypeFlags)">
+            <summary>
+            Sets the input type helper method
+            </summary>
+            <param name="inputStreamIndex">Input stream index</param>
+            <param name="mediaType">Media type</param>
+            <param name="flags">Flags (can be used to test rather than set)</param>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.SetInputType(System.Int32,NAudio.Dmo.DmoMediaType)">
+            <summary>
+            Sets the input type
+            </summary>
+            <param name="inputStreamIndex">Input stream index</param>
+            <param name="mediaType">Media Type</param>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.SetInputWaveFormat(System.Int32,NAudio.Wave.WaveFormat)">
+            <summary>
+            Sets the input type to the specified Wave format
+            </summary>
+            <param name="inputStreamIndex">Input stream index</param>
+            <param name="waveFormat">Wave format</param>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.SupportsInputWaveFormat(System.Int32,NAudio.Wave.WaveFormat)">
+            <summary>
+            Requests whether the specified Wave format is supported as an input
+            </summary>
+            <param name="inputStreamIndex">Input stream index</param>
+            <param name="waveFormat">Wave format</param>
+            <returns>true if supported</returns>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.CreateDmoMediaTypeForWaveFormat(NAudio.Wave.WaveFormat)">
+            <summary>
+            Helper function to make a DMO Media Type to represent a particular WaveFormat
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.SupportsOutputType(System.Int32,NAudio.Dmo.DmoMediaType)">
+            <summary>
+            Checks if a specified output type is supported
+            n.b. you may need to set the input type first
+            </summary>
+            <param name="outputStreamIndex">Output stream index</param>
+            <param name="mediaType">Media type</param>
+            <returns>True if supported</returns>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.SupportsOutputWaveFormat(System.Int32,NAudio.Wave.WaveFormat)">
+            <summary>
+            Tests if the specified Wave Format is supported for output
+            n.b. may need to set the input type first
+            </summary>
+            <param name="outputStreamIndex">Output stream index</param>
+            <param name="waveFormat">Wave format</param>
+            <returns>True if supported</returns>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.SetOutputType(System.Int32,NAudio.Dmo.DmoMediaType,NAudio.Dmo.DmoSetTypeFlags)">
+            <summary>
+            Helper method to call SetOutputType
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.SetOutputType(System.Int32,NAudio.Dmo.DmoMediaType)">
+            <summary>
+            Sets the output type
+            n.b. may need to set the input type first
+            </summary>
+            <param name="outputStreamIndex">Output stream index</param>
+            <param name="mediaType">Media type to set</param>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.SetOutputWaveFormat(System.Int32,NAudio.Wave.WaveFormat)">
+            <summary>
+            Set output type to the specified wave format
+            n.b. may need to set input type first
+            </summary>
+            <param name="outputStreamIndex">Output stream index</param>
+            <param name="waveFormat">Wave format</param>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.GetInputSizeInfo(System.Int32)">
+            <summary>
+            Get Input Size Info
+            </summary>
+            <param name="inputStreamIndex">Input Stream Index</param>
+            <returns>Input Size Info</returns>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.GetOutputSizeInfo(System.Int32)">
+            <summary>
+            Get Output Size Info
+            </summary>
+            <param name="outputStreamIndex">Output Stream Index</param>
+            <returns>Output Size Info</returns>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.ProcessInput(System.Int32,NAudio.Dmo.IMediaBuffer,NAudio.Dmo.DmoInputDataBufferFlags,System.Int64,System.Int64)">
+            <summary>
+            Process Input
+            </summary>
+            <param name="inputStreamIndex">Input Stream index</param>
+            <param name="mediaBuffer">Media Buffer</param>
+            <param name="flags">Flags</param>
+            <param name="timestamp">Timestamp</param>
+            <param name="duration">Duration</param>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.ProcessOutput(NAudio.Dmo.DmoProcessOutputFlags,System.Int32,NAudio.Dmo.DmoOutputDataBuffer[])">
+            <summary>
+            Process Output
+            </summary>
+            <param name="flags">Flags</param>
+            <param name="outputBufferCount">Output buffer count</param>
+            <param name="outputBuffers">Output buffers</param>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.AllocateStreamingResources">
+            <summary>
+            Gives the DMO a chance to allocate any resources needed for streaming
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.FreeStreamingResources">
+            <summary>
+            Tells the DMO to free any resources needed for streaming
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.GetInputMaxLatency(System.Int32)">
+            <summary>
+            Gets maximum input latency
+            </summary>
+            <param name="inputStreamIndex">input stream index</param>
+            <returns>Maximum input latency as a ref-time</returns>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.Flush">
+            <summary>
+            Flushes all buffered data
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.Discontinuity(System.Int32)">
+            <summary>
+            Report a discontinuity on the specified input stream
+            </summary>
+            <param name="inputStreamIndex">Input Stream index</param>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.IsAcceptingData(System.Int32)">
+            <summary>
+            Is this input stream accepting data?
+            </summary>
+            <param name="inputStreamIndex">Input Stream index</param>
+            <returns>true if accepting data</returns>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObject.Dispose">
+            <summary>
+            Experimental code, not currently being called
+            Not sure if it is necessary anyway
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.MediaObject.InputStreamCount">
+            <summary>
+            Number of input streams
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.MediaObject.OutputStreamCount">
+            <summary>
+            Number of output streams
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.MediaObjectSizeInfo">
+            <summary>
+            Media Object Size Info
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObjectSizeInfo.#ctor(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Media Object Size Info
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.MediaObjectSizeInfo.ToString">
+            <summary>
+            ToString
+            </summary>        
+        </member>
+        <member name="P:NAudio.Dmo.MediaObjectSizeInfo.Size">
+            <summary>
+            Minimum Buffer Size, in bytes
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.MediaObjectSizeInfo.MaxLookahead">
+            <summary>
+            Max Lookahead
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.MediaObjectSizeInfo.Alignment">
+            <summary>
+            Alignment
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.MediaParamInfo">
+            <summary>
+            MP_PARAMINFO
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.MediaParamType">
+            <summary>
+            MP_TYPE
+            </summary>
+        </member>
+        <member name="F:NAudio.Dmo.MediaParamType.Int">
+            <summary>
+            MPT_INT
+            </summary>
+        </member>
+        <member name="F:NAudio.Dmo.MediaParamType.Float">
+            <summary>
+            MPT_FLOAT
+            </summary>
+        </member>
+        <member name="F:NAudio.Dmo.MediaParamType.Bool">
+            <summary>
+            MPT_BOOL
+            </summary>
+        </member>
+        <member name="F:NAudio.Dmo.MediaParamType.Enum">
+            <summary>
+            MPT_ENUM
+            </summary>
+        </member>
+        <member name="F:NAudio.Dmo.MediaParamType.Max">
+            <summary>
+            MPT_MAX
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.MediaParamCurveType">
+            <summary>
+            MP_CURVE_TYPE
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.MediaTypes">
+            <summary>
+            uuids.h, ksuuids.h
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.WindowsMediaMp3DecoderComObject">
+            <summary>
+            implements IMediaObject  (DirectX Media Object)
+            implements IMFTransform (Media Foundation Transform)
+            On Windows XP, it is always an MM (if present at all)
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.WindowsMediaMp3Decoder">
+            <summary>
+            Windows Media MP3 Decoder (as a DMO)
+            WORK IN PROGRESS - DO NOT USE!
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.WindowsMediaMp3Decoder.#ctor">
+            <summary>
+            Creates a new Resampler based on the DMO Resampler
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.WindowsMediaMp3Decoder.Dispose">
+            <summary>
+            Dispose code - experimental at the moment
+            Was added trying to track down why Resampler crashes NUnit
+            This code not currently being called by ResamplerDmoStream
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.WindowsMediaMp3Decoder.MediaObject">
+            <summary>
+            Media Object
+            </summary>
+        </member>
+        <member name="T:NAudio.Dsp.BiQuadFilter">
+            <summary>
+            BiQuad filter
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.Transform(System.Single)">
+            <summary>
+            Passes a single sample through the filter
+            </summary>
+            <param name="inSample">Input sample</param>
+            <returns>Output sample</returns>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.SetLowPassFilter(System.Single,System.Single,System.Single)">
+            <summary>
+            Set this up as a low pass filter
+            </summary>
+            <param name="sampleRate">Sample Rate</param>
+            <param name="cutoffFrequency">Cut-off Frequency</param>
+            <param name="q">Bandwidth</param>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.SetPeakingEq(System.Single,System.Single,System.Single,System.Single)">
+            <summary>
+            Set this up as a peaking EQ
+            </summary>
+            <param name="sampleRate">Sample Rate</param>
+            <param name="centreFrequency">Centre Frequency</param>
+            <param name="q">Bandwidth (Q)</param>
+            <param name="dbGain">Gain in decibels</param>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.SetHighPassFilter(System.Single,System.Single,System.Single)">
+            <summary>
+            Set this as a high pass filter
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.LowPassFilter(System.Single,System.Single,System.Single)">
+            <summary>
+            Create a low pass filter
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.HighPassFilter(System.Single,System.Single,System.Single)">
+            <summary>
+            Create a High pass filter
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.BandPassFilterConstantSkirtGain(System.Single,System.Single,System.Single)">
+            <summary>
+            Create a bandpass filter with constant skirt gain
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.BandPassFilterConstantPeakGain(System.Single,System.Single,System.Single)">
+            <summary>
+            Create a bandpass filter with constant peak gain
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.NotchFilter(System.Single,System.Single,System.Single)">
+            <summary>
+            Creates a notch filter
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.AllPassFilter(System.Single,System.Single,System.Single)">
+            <summary>
+            Creaes an all pass filter
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.PeakingEQ(System.Single,System.Single,System.Single,System.Single)">
+            <summary>
+            Create a Peaking EQ
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.LowShelf(System.Single,System.Single,System.Single,System.Single)">
+            <summary>
+            H(s) = A * (s^2 + (sqrt(A)/Q)*s + A)/(A*s^2 + (sqrt(A)/Q)*s + 1)
+            </summary>
+            <param name="sampleRate"></param>
+            <param name="cutoffFrequency"></param>
+            <param name="shelfSlope">a "shelf slope" parameter (for shelving EQ only).  
+            When S = 1, the shelf slope is as steep as it can be and remain monotonically
+            increasing or decreasing gain with frequency.  The shelf slope, in dB/octave, 
+            remains proportional to S for all other values for a fixed f0/Fs and dBgain.</param>
+            <param name="dbGain">Gain in decibels</param>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.HighShelf(System.Single,System.Single,System.Single,System.Single)">
+            <summary>
+            H(s) = A * (A*s^2 + (sqrt(A)/Q)*s + 1)/(s^2 + (sqrt(A)/Q)*s + A)
+            </summary>
+            <param name="sampleRate"></param>
+            <param name="cutoffFrequency"></param>
+            <param name="shelfSlope"></param>
+            <param name="dbGain"></param>
+            <returns></returns>
+        </member>
+        <member name="T:NAudio.Dsp.Complex">
+            <summary>
+            Type to represent complex number
+            </summary>
+        </member>
+        <member name="F:NAudio.Dsp.Complex.X">
+            <summary>
+            Real Part
+            </summary>
+        </member>
+        <member name="F:NAudio.Dsp.Complex.Y">
+            <summary>
+            Imaginary Part
+            </summary>
+        </member>
+        <member name="T:NAudio.Dsp.FastFourierTransform">
+            <summary>
+            Summary description for FastFourierTransform.
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.FastFourierTransform.FFT(System.Boolean,System.Int32,NAudio.Dsp.Complex[])">
+            <summary>
+            This computes an in-place complex-to-complex FFT 
+            x and y are the real and imaginary arrays of 2^m points.
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.FastFourierTransform.HammingWindow(System.Int32,System.Int32)">
+            <summary>
+            Applies a Hamming Window
+            </summary>
+            <param name="n">Index into frame</param>
+            <param name="frameSize">Frame size (e.g. 1024)</param>
+            <returns>Multiplier for Hamming window</returns>
+        </member>
+        <member name="M:NAudio.Dsp.FastFourierTransform.HannWindow(System.Int32,System.Int32)">
+            <summary>
+            Applies a Hann Window
+            </summary>
+            <param name="n">Index into frame</param>
+            <param name="frameSize">Frame size (e.g. 1024)</param>
+            <returns>Multiplier for Hann window</returns>
+        </member>
+        <member name="M:NAudio.Dsp.FastFourierTransform.BlackmannHarrisWindow(System.Int32,System.Int32)">
+            <summary>
+            Applies a Blackman-Harris Window
+            </summary>
+            <param name="n">Index into frame</param>
+            <param name="frameSize">Frame size (e.g. 1024)</param>
+            <returns>Multiplier for Blackmann-Harris window</returns>
+        </member>
+        <member name="T:NAudio.Dsp.ImpulseResponseConvolution">
+            <summary>
+            Summary description for ImpulseResponseConvolution.
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.ImpulseResponseConvolution.Convolve(System.Single[],System.Single[])">
+            <summary>
+            A very simple mono convolution algorithm
+            </summary>
+            <remarks>
+            This will be very slow
+            </remarks>
+        </member>
+        <member name="M:NAudio.Dsp.ImpulseResponseConvolution.Normalize(System.Single[])">
+            <summary>
+            This is actually a downwards normalize for data that will clip
+            </summary>
+        </member>
+        <member name="T:NAudio.FileFormats.Map.CakewalkDrumMapping">
+            <summary>
+            Represents an entry in a Cakewalk drum map
+            </summary>
+        </member>
+        <member name="M:NAudio.FileFormats.Map.CakewalkDrumMapping.ToString">
+            <summary>
+            Describes this drum map entry
+            </summary>
+        </member>
+        <member name="P:NAudio.FileFormats.Map.CakewalkDrumMapping.NoteName">
+            <summary>
+            User customisable note name
+            </summary>
+        </member>
+        <member name="P:NAudio.FileFormats.Map.CakewalkDrumMapping.InNote">
+            <summary>
+            Input MIDI note number
+            </summary>
+        </member>
+        <member name="P:NAudio.FileFormats.Map.CakewalkDrumMapping.OutNote">
+            <summary>
+            Output MIDI note number
+            </summary>
+        </member>
+        <member name="P:NAudio.FileFormats.Map.CakewalkDrumMapping.OutPort">
+            <summary>
+            Output port
+            </summary>
+        </member>
+        <member name="P:NAudio.FileFormats.Map.CakewalkDrumMapping.Channel">
+            <summary>
+            Output MIDI Channel
+            </summary>
+        </member>
+        <member name="P:NAudio.FileFormats.Map.CakewalkDrumMapping.VelocityAdjust">
+            <summary>
+            Velocity adjustment
+            </summary>
+        </member>
+        <member name="P:NAudio.FileFormats.Map.CakewalkDrumMapping.VelocityScale">
+            <summary>
+            Velocity scaling - in percent
+            </summary>
+        </member>
+        <member name="T:NAudio.FileFormats.Map.CakewalkMapFile">
+            <summary>
+            Represents a Cakewalk Drum Map file (.map)
+            </summary>
+        </member>
+        <member name="M:NAudio.FileFormats.Map.CakewalkMapFile.#ctor(System.String)">
+            <summary>
+            Parses a Cakewalk Drum Map file
+            </summary>
+            <param name="filename">Path of the .map file</param>
+        </member>
+        <member name="M:NAudio.FileFormats.Map.CakewalkMapFile.ToString">
+            <summary>
+            Describes this drum map
+            </summary>
+        </member>
+        <member name="P:NAudio.FileFormats.Map.CakewalkMapFile.DrumMappings">
+            <summary>
+            The drum mappings in this drum map
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.ChannelMode">
+            <summary>
+            Channel Mode
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.ChannelMode.Stereo">
+            <summary>
+            Stereo
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.ChannelMode.JointStereo">
+            <summary>
+            Joint Stereo
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.ChannelMode.DualChannel">
+            <summary>
+            Dual Channel
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.ChannelMode.Mono">
+            <summary>
+            Mono
+            </summary>
+        </member>
+        <member name="T:NAudio.FileFormats.Mp3.DmoMp3FrameDecompressor">
+            <summary>
+            MP3 Frame decompressor using the Windows Media MP3 Decoder DMO object
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.IMp3FrameDecompressor">
+            <summary>
+            Interface for MP3 frame by frame decoder
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.IMp3FrameDecompressor.DecompressFrame(NAudio.Wave.Mp3Frame,System.Byte[],System.Int32)">
+            <summary>
+            Decompress a single MP3 frame
+            </summary>
+            <param name="frame">Frame to decompress</param>
+            <param name="dest">Output buffer</param>
+            <param name="destOffset">Offset within output buffer</param>
+            <returns>Bytes written to output buffer</returns>
+        </member>
+        <member name="M:NAudio.Wave.IMp3FrameDecompressor.Reset">
+            <summary>
+            Tell the decoder that we have repositioned
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.IMp3FrameDecompressor.OutputFormat">
+            <summary>
+            PCM format that we are converting into
+            </summary>
+        </member>
+        <member name="M:NAudio.FileFormats.Mp3.DmoMp3FrameDecompressor.#ctor(NAudio.Wave.WaveFormat)">
+            <summary>
+            Initializes a new instance of the DMO MP3 Frame decompressor
+            </summary>
+            <param name="sourceFormat"></param>
+        </member>
+        <member name="M:NAudio.FileFormats.Mp3.DmoMp3FrameDecompressor.DecompressFrame(NAudio.Wave.Mp3Frame,System.Byte[],System.Int32)">
+            <summary>
+            Decompress a single frame of MP3
+            </summary>
+        </member>
+        <member name="M:NAudio.FileFormats.Mp3.DmoMp3FrameDecompressor.Reset">
+            <summary>
+            Alerts us that a reposition has occured so the MP3 decoder needs to reset its state
+            </summary>
+        </member>
+        <member name="M:NAudio.FileFormats.Mp3.DmoMp3FrameDecompressor.Dispose">
+            <summary>
+            Dispose of this obejct and clean up resources
+            </summary>
+        </member>
+        <member name="P:NAudio.FileFormats.Mp3.DmoMp3FrameDecompressor.OutputFormat">
+            <summary>
+            Converted PCM WaveFormat
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Id3v2Tag">
+            <summary>
+            An ID3v2 Tag
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Id3v2Tag.ReadTag(System.IO.Stream)">
+            <summary>
+            Reads an ID3v2 tag from a stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Id3v2Tag.Create(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}})">
+            <summary>
+            Creates a new ID3v2 tag from a collection of key-value pairs.
+            </summary>
+            <param name="tags">A collection of key-value pairs containing the tags to include in the ID3v2 tag.</param>
+            <returns>A new ID3v2 tag</returns>
+        </member>
+        <member name="M:NAudio.Wave.Id3v2Tag.FrameSizeToBytes(System.Int32)">
+            <summary>
+            Convert the frame size to a byte array.
+            </summary>
+            <param name="n">The frame body size.</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.Id3v2Tag.CreateId3v2Frame(System.String,System.String)">
+            <summary>
+            Creates an ID3v2 frame for the given key-value pair.
+            </summary>
+            <param name="key"></param>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.Id3v2Tag.GetId3TagHeaderSize(System.Int32)">
+            <summary>
+            Gets the Id3v2 Header size. The size is encoded so that only 7 bits per byte are actually used.
+            </summary>
+            <param name="size"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.Id3v2Tag.CreateId3v2TagHeader(System.Collections.Generic.IEnumerable{System.Byte[]})">
+            <summary>
+            Creates the Id3v2 tag header and returns is as a byte array.
+            </summary>
+            <param name="frames">The Id3v2 frames that will be included in the file. This is used to calculate the ID3v2 tag size.</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.Id3v2Tag.CreateId3v2TagStream(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}})">
+            <summary>
+            Creates the Id3v2 tag for the given key-value pairs and returns it in the a stream.
+            </summary>
+            <param name="tags"></param>
+            <returns></returns>
+        </member>
+        <member name="P:NAudio.Wave.Id3v2Tag.RawData">
+            <summary>
+            Raw data from this tag
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Mp3Frame">
+            <summary>
+            Represents an MP3 Frame
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Mp3Frame.LoadFromStream(System.IO.Stream)">
+            <summary>
+            Reads an MP3 frame from a stream
+            </summary>
+            <param name="input">input stream</param>
+            <returns>A valid MP3 frame, or null if none found</returns>
+        </member>
+        <member name="M:NAudio.Wave.Mp3Frame.LoadFromStream(System.IO.Stream,System.Boolean)">
+            <summary>Reads an MP3Frame from a stream</summary>
+            <remarks>http://mpgedit.org/mpgedit/mpeg_format/mpeghdr.htm has some good info
+            also see http://www.codeproject.com/KB/audio-video/mpegaudioinfo.aspx
+            </remarks>
+            <returns>A valid MP3 frame, or null if none found</returns>
+        </member>
+        <member name="M:NAudio.Wave.Mp3Frame.#ctor">
+            <summary>
+            Constructs an MP3 frame
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Mp3Frame.IsValidHeader(System.Byte[],NAudio.Wave.Mp3Frame)">
+            <summary>
+            checks if the four bytes represent a valid header,
+            if they are, will parse the values into Mp3Frame
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.SampleRate">
+            <summary>
+            Sample rate of this frame
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.FrameLength">
+            <summary>
+            Frame length in bytes
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.BitRate">
+            <summary>
+            Bit Rate
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.RawData">
+            <summary>
+            Raw frame data (includes header bytes)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.MpegVersion">
+            <summary>
+            MPEG Version
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.MpegLayer">
+            <summary>
+            MPEG Layer
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.ChannelMode">
+            <summary>
+            Channel Mode
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.SampleCount">
+            <summary>
+            The number of samples in this frame
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.ChannelExtension">
+            <summary>
+            The channel extension bits
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.BitRateIndex">
+            <summary>
+            The bitrate index (directly from the header)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.Copyright">
+            <summary>
+            Whether the Copyright bit is set
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.CrcPresent">
+            <summary>
+            Whether a CRC is present
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.FileOffset">
+            <summary>
+            Not part of the MP3 frame itself - indicates where in the stream we found this header
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.AcmMp3FrameDecompressor">
+            <summary>
+            MP3 Frame Decompressor using ACM
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AcmMp3FrameDecompressor.#ctor(NAudio.Wave.WaveFormat)">
+            <summary>
+            Creates a new ACM frame decompressor
+            </summary>
+            <param name="sourceFormat">The MP3 source format</param>
+        </member>
+        <member name="M:NAudio.Wave.AcmMp3FrameDecompressor.DecompressFrame(NAudio.Wave.Mp3Frame,System.Byte[],System.Int32)">
+            <summary>
+            Decompresses a frame
+            </summary>
+            <param name="frame">The MP3 frame</param>
+            <param name="dest">destination buffer</param>
+            <param name="destOffset">Offset within destination buffer</param>
+            <returns>Bytes written into destination buffer</returns>
+        </member>
+        <member name="M:NAudio.Wave.AcmMp3FrameDecompressor.Reset">
+            <summary>
+            Resets the MP3 Frame Decompressor after a reposition operation
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AcmMp3FrameDecompressor.Dispose">
+            <summary>
+            Disposes of this MP3 frame decompressor
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AcmMp3FrameDecompressor.Finalize">
+            <summary>
+            Finalizer ensuring that resources get released properly
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AcmMp3FrameDecompressor.OutputFormat">
+            <summary>
+            Output format (PCM)
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.MpegLayer">
+            <summary>
+            MPEG Layer flags
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.MpegLayer.Reserved">
+            <summary>
+            Reserved
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.MpegLayer.Layer3">
+            <summary>
+            Layer 3
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.MpegLayer.Layer2">
+            <summary>
+            Layer 2
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.MpegLayer.Layer1">
+            <summary>
+            Layer 1
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.MpegVersion">
+            <summary>
+            MPEG Version Flags
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.MpegVersion.Version25">
+            <summary>
+            Version 2.5
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.MpegVersion.Reserved">
+            <summary>
+            Reserved
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.MpegVersion.Version2">
+            <summary>
+            Version 2
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.MpegVersion.Version1">
+            <summary>
+            Version 1
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.XingHeader">
+            <summary>
+            Represents a Xing VBR header
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.XingHeader.LoadXingHeader(NAudio.Wave.Mp3Frame)">
+            <summary>
+            Load Xing Header
+            </summary>
+            <param name="frame">Frame</param>
+            <returns>Xing Header</returns>
+        </member>
+        <member name="M:NAudio.Wave.XingHeader.#ctor">
+            <summary>
+            Sees if a frame contains a Xing header
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.XingHeader.Frames">
+            <summary>
+            Number of frames
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.XingHeader.Bytes">
+            <summary>
+            Number of bytes
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.XingHeader.VbrScale">
+            <summary>
+            VBR Scale property
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.XingHeader.Mp3Frame">
+            <summary>
+            The MP3 frame
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.Generator">
+            <summary>
+            Soundfont generator
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.Generator.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Generator.GeneratorType">
+            <summary>
+            Gets the generator type
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Generator.UInt16Amount">
+            <summary>
+            Generator amount as an unsigned short
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Generator.Int16Amount">
+            <summary>
+            Generator amount as a signed short
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Generator.LowByteAmount">
+            <summary>
+            Low byte amount
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Generator.HighByteAmount">
+            <summary>
+            High byte amount
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Generator.Instrument">
+            <summary>
+            Instrument
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Generator.SampleHeader">
+            <summary>
+            Sample Header
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.StructureBuilder`1">
+            <summary>
+            base class for structures that can read themselves
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.GeneratorEnum">
+            <summary>
+            Generator types
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.StartAddressOffset">
+            <summary>Start address offset</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.EndAddressOffset">
+            <summary>End address offset</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.StartLoopAddressOffset">
+            <summary>Start loop address offset</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.EndLoopAddressOffset">
+            <summary>End loop address offset</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.StartAddressCoarseOffset">
+            <summary>Start address coarse offset</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ModulationLFOToPitch">
+            <summary>Modulation LFO to pitch</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.VibratoLFOToPitch">
+            <summary>Vibrato LFO to pitch</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ModulationEnvelopeToPitch">
+            <summary>Modulation envelope to pitch</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.InitialFilterCutoffFrequency">
+            <summary>Initial filter cutoff frequency</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.InitialFilterQ">
+            <summary>Initial filter Q</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ModulationLFOToFilterCutoffFrequency">
+            <summary>Modulation LFO to filter Cutoff frequency</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ModulationEnvelopeToFilterCutoffFrequency">
+            <summary>Modulation envelope to filter cutoff frequency</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.EndAddressCoarseOffset">
+            <summary>End address coarse offset</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ModulationLFOToVolume">
+            <summary>Modulation LFO to volume</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Unused1">
+            <summary>Unused</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ChorusEffectsSend">
+            <summary>Chorus effects send</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ReverbEffectsSend">
+            <summary>Reverb effects send</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Pan">
+            <summary>Pan</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Unused2">
+            <summary>Unused</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Unused3">
+            <summary>Unused</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Unused4">
+            <summary>Unused</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.DelayModulationLFO">
+            <summary>Delay modulation LFO</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.FrequencyModulationLFO">
+            <summary>Frequency modulation LFO</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.DelayVibratoLFO">
+            <summary>Delay vibrato LFO</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.FrequencyVibratoLFO">
+            <summary>Frequency vibrato LFO</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.DelayModulationEnvelope">
+            <summary>Delay modulation envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.AttackModulationEnvelope">
+            <summary>Attack modulation envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.HoldModulationEnvelope">
+            <summary>Hold modulation envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.DecayModulationEnvelope">
+            <summary>Decay modulation envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.SustainModulationEnvelope">
+            <summary>Sustain modulation envelop</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ReleaseModulationEnvelope">
+            <summary>Release modulation envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.KeyNumberToModulationEnvelopeHold">
+            <summary>Key number to modulation envelope hold</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.KeyNumberToModulationEnvelopeDecay">
+            <summary>Key number to modulation envelope decay</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.DelayVolumeEnvelope">
+            <summary>Delay volume envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.AttackVolumeEnvelope">
+            <summary>Attack volume envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.HoldVolumeEnvelope">
+            <summary>Hold volume envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.DecayVolumeEnvelope">
+            <summary>Decay volume envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.SustainVolumeEnvelope">
+            <summary>Sustain volume envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ReleaseVolumeEnvelope">
+            <summary>Release volume envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.KeyNumberToVolumeEnvelopeHold">
+            <summary>Key number to volume envelope hold</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.KeyNumberToVolumeEnvelopeDecay">
+            <summary>Key number to volume envelope decay</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Instrument">
+            <summary>Instrument</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Reserved1">
+            <summary>Reserved</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.KeyRange">
+            <summary>Key range</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.VelocityRange">
+            <summary>Velocity range</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.StartLoopAddressCoarseOffset">
+            <summary>Start loop address coarse offset</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.KeyNumber">
+            <summary>Key number</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Velocity">
+            <summary>Velocity</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.InitialAttenuation">
+            <summary>Initial attenuation</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Reserved2">
+            <summary>Reserved</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.EndLoopAddressCoarseOffset">
+            <summary>End loop address coarse offset</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.CoarseTune">
+            <summary>Coarse tune</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.FineTune">
+            <summary>Fine tune</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.SampleID">
+            <summary>Sample ID</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.SampleModes">
+            <summary>Sample modes</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Reserved3">
+            <summary>Reserved</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ScaleTuning">
+            <summary>Scale tuning</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ExclusiveClass">
+            <summary>Exclusive class</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.OverridingRootKey">
+            <summary>Overriding root key</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Unused5">
+            <summary>Unused</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.UnusedEnd">
+            <summary>Unused</summary>
+        </member>
+        <member name="T:NAudio.SoundFont.InfoChunk">
+            <summary>
+            A soundfont info chunk
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.InfoChunk.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.SoundFontVersion">
+            <summary>
+            SoundFont Version
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.WaveTableSoundEngine">
+            <summary>
+            WaveTable sound engine
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.BankName">
+            <summary>
+            Bank name
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.DataROM">
+            <summary>
+            Data ROM
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.CreationDate">
+            <summary>
+            Creation Date
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.Author">
+            <summary>
+            Author
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.TargetProduct">
+            <summary>
+            Target Product
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.Copyright">
+            <summary>
+            Copyright
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.Comments">
+            <summary>
+            Comments
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.Tools">
+            <summary>
+            Tools
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.ROMVersion">
+            <summary>
+            ROM Version
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.Instrument">
+            <summary>
+            SoundFont instrument
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.Instrument.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Instrument.Name">
+            <summary>
+            instrument name
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Instrument.Zones">
+            <summary>
+            Zones
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.InstrumentBuilder">
+            <summary>
+            Instrument Builder
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.TransformEnum">
+            <summary>
+            Transform Types
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.TransformEnum.Linear">
+            <summary>
+            Linear
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.Modulator">
+            <summary>
+            Modulator
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.Modulator.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Modulator.SourceModulationData">
+            <summary>
+            Source Modulation data type
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Modulator.DestinationGenerator">
+            <summary>
+            Destination generator type
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Modulator.Amount">
+            <summary>
+            Amount
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Modulator.SourceModulationAmount">
+            <summary>
+            Source Modulation Amount Type
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Modulator.SourceTransform">
+            <summary>
+            Source Transform Type
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.ControllerSourceEnum">
+            <summary>
+            Controller Sources
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.ControllerSourceEnum.NoController">
+            <summary>
+            No Controller
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.ControllerSourceEnum.NoteOnVelocity">
+            <summary>
+            Note On Velocity
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.ControllerSourceEnum.NoteOnKeyNumber">
+            <summary>
+            Note On Key Number
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.ControllerSourceEnum.PolyPressure">
+            <summary>
+            Poly Pressure
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.ControllerSourceEnum.ChannelPressure">
+            <summary>
+            Channel Pressure
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.ControllerSourceEnum.PitchWheel">
+            <summary>
+            Pitch Wheel
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.ControllerSourceEnum.PitchWheelSensitivity">
+            <summary>
+            Pitch Wheel Sensitivity
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.SourceTypeEnum">
+            <summary>
+            Source Types
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SourceTypeEnum.Linear">
+            <summary>
+            Linear
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SourceTypeEnum.Concave">
+            <summary>
+            Concave
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SourceTypeEnum.Convex">
+            <summary>
+            Convex
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SourceTypeEnum.Switch">
+            <summary>
+            Switch
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.ModulatorType">
+            <summary>
+            Modulator Type
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.ModulatorType.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:NAudio.SoundFont.Preset">
+            <summary>
+            A SoundFont Preset
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.Preset.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Preset.Name">
+            <summary>
+            Preset name
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Preset.PatchNumber">
+            <summary>
+            Patch Number
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Preset.Bank">
+            <summary>
+            Bank number
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Preset.Zones">
+            <summary>
+            Zones
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.PresetsChunk">
+            <summary>
+            Class to read the SoundFont file presets chunk
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.PresetsChunk.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.PresetsChunk.Presets">
+            <summary>
+            The Presets contained in this chunk
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.PresetsChunk.Instruments">
+            <summary>
+            The instruments contained in this chunk
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.PresetsChunk.SampleHeaders">
+            <summary>
+            The sample headers contained in this chunk
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.RiffChunk.ReadChunkID">
+            <summary>
+            just reads a chunk ID at the current position
+            </summary>
+            <returns>chunk ID</returns>
+        </member>
+        <member name="M:NAudio.SoundFont.RiffChunk.ReadChunk">
+            <summary>
+            reads a chunk at the current position
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.RiffChunk.GetNextSubChunk">
+            <summary>
+            creates a new riffchunk from current position checking that we're not
+            at the end of this chunk first
+            </summary>
+            <returns>the new chunk</returns>
+        </member>
+        <member name="M:NAudio.SoundFont.RiffChunk.GetDataAsString">
+            <summary>
+            useful for chunks that just contain a string
+            </summary>
+            <returns>chunk as string</returns>
+        </member>
+        <member name="T:NAudio.SoundFont.SampleHeader">
+            <summary>
+            A SoundFont Sample Header
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.SampleName">
+            <summary>
+            The sample name
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.Start">
+            <summary>
+            Start offset
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.End">
+            <summary>
+            End offset
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.StartLoop">
+            <summary>
+            Start loop point
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.EndLoop">
+            <summary>
+            End loop point
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.SampleRate">
+            <summary>
+            Sample Rate
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.OriginalPitch">
+            <summary>
+            Original pitch
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.PitchCorrection">
+            <summary>
+            Pitch correction
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.SampleLink">
+            <summary>
+            Sample Link
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.SFSampleLink">
+            <summary>
+            SoundFont Sample Link Type
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.SampleHeader.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.SampleMode">
+            <summary>
+            SoundFont sample modes
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleMode.NoLoop">
+            <summary>
+            No loop
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleMode.LoopContinuously">
+            <summary>
+            Loop Continuously
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleMode.ReservedNoLoop">
+            <summary>
+            Reserved no loop
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleMode.LoopAndContinue">
+            <summary>
+            Loop and continue
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.SFSampleLink">
+            <summary>
+            Sample Link Type
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SFSampleLink.MonoSample">
+            <summary>
+            Mono Sample
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SFSampleLink.RightSample">
+            <summary>
+            Right Sample
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SFSampleLink.LeftSample">
+            <summary>
+            Left Sample
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SFSampleLink.LinkedSample">
+            <summary>
+            Linked Sample
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SFSampleLink.RomMonoSample">
+            <summary>
+            ROM Mono Sample
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SFSampleLink.RomRightSample">
+            <summary>
+            ROM Right Sample
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SFSampleLink.RomLeftSample">
+            <summary>
+            ROM Left Sample
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SFSampleLink.RomLinkedSample">
+            <summary>
+            ROM Linked Sample
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.SFVersion">
+            <summary>
+            SoundFont Version Structure
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.SFVersion.Major">
+            <summary>
+            Major Version
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.SFVersion.Minor">
+            <summary>
+            Minor Version
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.SFVersionBuilder">
+            <summary>
+            Builds a SoundFont version
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.SFVersionBuilder.Read(System.IO.BinaryReader)">
+            <summary>
+            Reads a SoundFont Version structure
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.SFVersionBuilder.Write(System.IO.BinaryWriter,NAudio.SoundFont.SFVersion)">
+            <summary>
+            Writes a SoundFont Version structure
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.SFVersionBuilder.Length">
+            <summary>
+            Gets the length of this structure
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.SoundFont">
+            <summary>
+            Represents a SoundFont
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.SoundFont.#ctor(System.String)">
+            <summary>
+            Loads a SoundFont from a file
+            </summary>
+            <param name="fileName">Filename of the SoundFont</param>
+        </member>
+        <member name="M:NAudio.SoundFont.SoundFont.#ctor(System.IO.Stream)">
+            <summary>
+            Loads a SoundFont from a stream
+            </summary>
+            <param name="sfFile">stream</param>
+        </member>
+        <member name="M:NAudio.SoundFont.SoundFont.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.SoundFont.FileInfo">
+            <summary>
+            The File Info Chunk
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.SoundFont.Presets">
+            <summary>
+            The Presets
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.SoundFont.Instruments">
+            <summary>
+            The Instruments
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.SoundFont.SampleHeaders">
+            <summary>
+            The Sample Headers
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.SoundFont.SampleData">
+            <summary>
+            The Sample Data
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.Zone">
+            <summary>
+            A SoundFont zone
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.Zone.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Zone.Modulators">
+            <summary>
+            Modulators for this Zone
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Zone.Generators">
+            <summary>
+            Generators for this Zone
+            </summary>
+        </member>
+        <member name="T:NAudio.Gui.Fader">
+            <summary>
+            Summary description for Fader.
+            </summary>
+        </member>
+        <member name="F:NAudio.Gui.Fader.components">
+            <summary>
+            Required designer variable.
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.Fader.#ctor">
+            <summary>
+            Creates a new Fader control
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.Fader.Dispose(System.Boolean)">
+            <summary> 
+            Clean up any resources being used.
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.Fader.OnPaint(System.Windows.Forms.PaintEventArgs)">
+            <summary>
+            <see cref="M:System.Windows.Forms.Control.OnPaint(System.Windows.Forms.PaintEventArgs)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.Fader.OnMouseDown(System.Windows.Forms.MouseEventArgs)">
+            <summary>
+            <see cref="M:System.Windows.Forms.Control.OnMouseDown(System.Windows.Forms.MouseEventArgs)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.Fader.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
+            <summary>
+            <see cref="M:System.Windows.Forms.Control.OnMouseMove(System.Windows.Forms.MouseEventArgs)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.Fader.OnMouseUp(System.Windows.Forms.MouseEventArgs)">
+            <summary>
+            <see cref="M:System.Windows.Forms.Control.OnMouseUp(System.Windows.Forms.MouseEventArgs)"/>
+            </summary>        
+        </member>
+        <member name="M:NAudio.Gui.Fader.InitializeComponent">
+            <summary>
+            Required method for Designer support - do not modify
+            the contents of this method with the code editor.
+            </summary>
+        </member>
+        <member name="P:NAudio.Gui.Fader.Minimum">
+            <summary>
+            Minimum value of this fader
+            </summary>
+        </member>
+        <member name="P:NAudio.Gui.Fader.Maximum">
+            <summary>
+            Maximum value of this fader
+            </summary>
+        </member>
+        <member name="P:NAudio.Gui.Fader.Value">
+            <summary>
+            Current value of this fader
+            </summary>
+        </member>
+        <member name="P:NAudio.Gui.Fader.Orientation">
+            <summary>
+            Fader orientation
+            </summary>
+        </member>
+        <member name="T:NAudio.Gui.PanSlider">
+            <summary>
+            Pan slider control
+            </summary>
+        </member>
+        <member name="F:NAudio.Gui.PanSlider.components">
+            <summary>
+            Required designer variable.
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.PanSlider.#ctor">
+            <summary>
+            Creates a new PanSlider control
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.PanSlider.Dispose(System.Boolean)">
+            <summary>
+            Clean up any resources being used.
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.PanSlider.InitializeComponent">
+            <summary>
+            Required method for Designer support - do not modify 
+            the contents of this method with the code editor.
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.PanSlider.OnPaint(System.Windows.Forms.PaintEventArgs)">
+            <summary>
+            <see cref="M:System.Windows.Forms.Control.OnPaint(System.Windows.Forms.PaintEventArgs)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.PanSlider.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
+            <summary>
+            <see cref="M:System.Windows.Forms.Control.OnMouseMove(System.Windows.Forms.MouseEventArgs)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.PanSlider.OnMouseDown(System.Windows.Forms.MouseEventArgs)">
+            <summary>
+            <see cref="M:System.Windows.Forms.Control.OnMouseDown(System.Windows.Forms.MouseEventArgs)"/>
+            </summary>
+            <param name="e"></param>
+        </member>
+        <member name="E:NAudio.Gui.PanSlider.PanChanged">
+            <summary>
+            True when pan value changed
+            </summary>
+        </member>
+        <member name="P:NAudio.Gui.PanSlider.Pan">
+            <summary>
+            The current Pan setting
+            </summary>
+        </member>
+        <member name="T:NAudio.Gui.Pot">
+            <summary>
+            Control that represents a potentiometer
+            TODO list:
+            Optional Log scale
+            Optional reverse scale
+            Keyboard control
+            Optional bitmap mode
+            Optional complete draw mode
+            Tooltip support
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.Pot.#ctor">
+            <summary>
+            Creates a new pot control
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.Pot.OnPaint(System.Windows.Forms.PaintEventArgs)">
+            <summary>
+            Draws the control
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.Pot.OnMouseDown(System.Windows.Forms.MouseEventArgs)">
+            <summary>
+            Handles the mouse down event to allow changing value by dragging
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.Pot.OnMouseUp(System.Windows.Forms.MouseEventArgs)">
+            <summary>
+            Handles the mouse up event to allow changing value by dragging
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.Pot.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
+            <summary>
+            Handles the mouse down event to allow changing value by dragging
+            </summary>
+        </member>
+        <member name="F:NAudio.Gui.Pot.components">
+            <summary> 
+            Required designer variable.
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.Pot.Dispose(System.Boolean)">
+            <summary> 
+            Clean up any resources being used.
+            </summary>
+            <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        </member>
+        <member name="M:NAudio.Gui.Pot.InitializeComponent">
+            <summary> 
+            Required method for Designer support - do not modify 
+            the contents of this method with the code editor.
+            </summary>
+        </member>
+        <member name="E:NAudio.Gui.Pot.ValueChanged">
+            <summary>
+            Value changed event
+            </summary>
+        </member>
+        <member name="P:NAudio.Gui.Pot.Minimum">
+            <summary>
+            Minimum Value of the Pot
+            </summary>
+        </member>
+        <member name="P:NAudio.Gui.Pot.Maximum">
+            <summary>
+            Maximum Value of the Pot
+            </summary>
+        </member>
+        <member name="P:NAudio.Gui.Pot.Value">
+            <summary>
+            The current value of the pot
+            </summary>
+        </member>
+        <member name="T:NAudio.Gui.VolumeMeter">
+            <summary>
+            Implements a rudimentary volume meter
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.VolumeMeter.#ctor">
+            <summary>
+            Basic volume meter
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.VolumeMeter.OnForeColorChanged(System.EventArgs)">
+            <summary>
+            On Fore Color Changed
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.VolumeMeter.OnPaint(System.Windows.Forms.PaintEventArgs)">
+            <summary>
+            Paints the volume meter
+            </summary>
+        </member>
+        <member name="F:NAudio.Gui.VolumeMeter.components">
+            <summary>
+            Required designer variable.
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.VolumeMeter.Dispose(System.Boolean)">
+            <summary>
+            Clean up any resources being used.
+            </summary>
+            <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        </member>
+        <member name="M:NAudio.Gui.VolumeMeter.InitializeComponent">
+            <summary>
+            Required method for Designer support - do not modify 
+            the contents of this method with the code editor.
+            </summary>
+        </member>
+        <member name="P:NAudio.Gui.VolumeMeter.Amplitude">
+            <summary>
+            Current Value
+            </summary>
+        </member>
+        <member name="P:NAudio.Gui.VolumeMeter.MinDb">
+            <summary>
+            Minimum decibels
+            </summary>
+        </member>
+        <member name="P:NAudio.Gui.VolumeMeter.MaxDb">
+            <summary>
+            Maximum decibels
+            </summary>
+        </member>
+        <member name="P:NAudio.Gui.VolumeMeter.Orientation">
+            <summary>
+            Meter orientation
+            </summary>
+        </member>
+        <member name="T:NAudio.Gui.VolumeSlider">
+            <summary>
+            VolumeSlider control
+            </summary>
+        </member>
+        <member name="F:NAudio.Gui.VolumeSlider.components">
+            <summary>
+            Required designer variable.
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.VolumeSlider.#ctor">
+            <summary>
+            Creates a new VolumeSlider control
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.VolumeSlider.Dispose(System.Boolean)">
+            <summary>
+            Clean up any resources being used.
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.VolumeSlider.InitializeComponent">
+            <summary>
+            Required method for Designer support - do not modify 
+            the contents of this method with the code editor.
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.VolumeSlider.OnPaint(System.Windows.Forms.PaintEventArgs)">
+            <summary>
+            <see cref="M:System.Windows.Forms.Control.OnPaint(System.Windows.Forms.PaintEventArgs)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.VolumeSlider.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
+            <summary>
+            <see cref="M:System.Windows.Forms.Control.OnMouseMove(System.Windows.Forms.MouseEventArgs)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.VolumeSlider.OnMouseDown(System.Windows.Forms.MouseEventArgs)">
+            <summary>
+            <see cref="M:System.Windows.Forms.Control.OnMouseDown(System.Windows.Forms.MouseEventArgs)"/>
+            </summary>
+        </member>
+        <member name="E:NAudio.Gui.VolumeSlider.VolumeChanged">
+            <summary>
+            Volume changed event
+            </summary>
+        </member>
+        <member name="P:NAudio.Gui.VolumeSlider.Volume">
+            <summary>
+            The volume for this control
+            </summary>
+        </member>
+        <member name="T:NAudio.Gui.WaveformPainter">
+            <summary>
+            Windows Forms control for painting audio waveforms
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.WaveformPainter.#ctor">
+            <summary>
+            Constructs a new instance of the WaveFormPainter class
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.WaveformPainter.OnResize(System.EventArgs)">
+            <summary>
+            On Resize
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.WaveformPainter.OnForeColorChanged(System.EventArgs)">
+            <summary>
+            On ForeColor Changed
+            </summary>
+            <param name="e"></param>
+        </member>
+        <member name="M:NAudio.Gui.WaveformPainter.AddMax(System.Single)">
+            <summary>
+            Add Max Value
+            </summary>
+            <param name="maxSample"></param>
+        </member>
+        <member name="M:NAudio.Gui.WaveformPainter.OnPaint(System.Windows.Forms.PaintEventArgs)">
+            <summary>
+            On Paint
+            </summary>
+        </member>
+        <member name="F:NAudio.Gui.WaveformPainter.components">
+            <summary>
+            Required designer variable.
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.WaveformPainter.Dispose(System.Boolean)">
+            <summary>
+            Clean up any resources being used.
+            </summary>
+            <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        </member>
+        <member name="M:NAudio.Gui.WaveformPainter.InitializeComponent">
+            <summary>
+            Required method for Designer support - do not modify 
+            the contents of this method with the code editor.
+            </summary>
+        </member>
+        <member name="T:NAudio.Gui.WaveViewer">
+            <summary>
+            Control for viewing waveforms
+            </summary>
+        </member>
+        <member name="F:NAudio.Gui.WaveViewer.components">
+            <summary> 
+            Required designer variable.
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.WaveViewer.#ctor">
+            <summary>
+            Creates a new WaveViewer control
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.WaveViewer.Dispose(System.Boolean)">
+            <summary> 
+            Clean up any resources being used.
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.WaveViewer.OnPaint(System.Windows.Forms.PaintEventArgs)">
+            <summary>
+            <see cref="M:System.Windows.Forms.Control.OnPaint(System.Windows.Forms.PaintEventArgs)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Gui.WaveViewer.InitializeComponent">
+            <summary> 
+            Required method for Designer support - do not modify 
+            the contents of this method with the code editor.
+            </summary>
+        </member>
+        <member name="P:NAudio.Gui.WaveViewer.WaveStream">
+            <summary>
+            sets the associated wavestream
+            </summary>
+        </member>
+        <member name="P:NAudio.Gui.WaveViewer.SamplesPerPixel">
+            <summary>
+            The zoom level, in samples per pixel
+            </summary>
+        </member>
+        <member name="P:NAudio.Gui.WaveViewer.StartPosition">
+            <summary>
+            Start position (currently in bytes)
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.ChannelAfterTouchEvent">
+            <summary>
+            Represents a MIDI Channel AfterTouch Event.
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.MidiEvent">
+            <summary>
+            Represents an individual MIDI event
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiEvent.commandCode">
+            <summary>The MIDI command code</summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiEvent.FromRawMessage(System.Int32)">
+            <summary>
+            Creates a MidiEvent from a raw message received using
+            the MME MIDI In APIs
+            </summary>
+            <param name="rawMessage">The short MIDI message</param>
+            <returns>A new MIDI Event</returns>
+        </member>
+        <member name="M:NAudio.Midi.MidiEvent.ReadNextEvent(System.IO.BinaryReader,NAudio.Midi.MidiEvent)">
+            <summary>
+            Constructs a MidiEvent from a BinaryStream
+            </summary>
+            <param name="br">The binary stream of MIDI data</param>
+            <param name="previous">The previous MIDI event (pass null for first event)</param>
+            <returns>A new MidiEvent</returns>
+        </member>
+        <member name="M:NAudio.Midi.MidiEvent.GetAsShortMessage">
+            <summary>
+            Converts this MIDI event to a short message (32 bit integer) that
+            can be sent by the Windows MIDI out short message APIs
+            Cannot be implemented for all MIDI messages
+            </summary>
+            <returns>A short message</returns>
+        </member>
+        <member name="M:NAudio.Midi.MidiEvent.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiEvent.#ctor(System.Int64,System.Int32,NAudio.Midi.MidiCommandCode)">
+            <summary>
+            Creates a MIDI event with specified parameters
+            </summary>
+            <param name="absoluteTime">Absolute time of this event</param>
+            <param name="channel">MIDI channel number</param>
+            <param name="commandCode">MIDI command code</param>
+        </member>
+        <member name="M:NAudio.Midi.MidiEvent.IsNoteOff(NAudio.Midi.MidiEvent)">
+            <summary>
+            Whether this is a note off event
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiEvent.IsNoteOn(NAudio.Midi.MidiEvent)">
+            <summary>
+            Whether this is a note on event
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiEvent.IsEndTrack(NAudio.Midi.MidiEvent)">
+            <summary>
+            Determines if this is an end track event
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiEvent.ToString">
+            <summary>
+            Displays a summary of the MIDI event
+            </summary>
+            <returns>A string containing a brief description of this MIDI event</returns>
+        </member>
+        <member name="M:NAudio.Midi.MidiEvent.ReadVarInt(System.IO.BinaryReader)">
+            <summary>
+            Utility function that can read a variable length integer from a binary stream
+            </summary>
+            <param name="br">The binary stream</param>
+            <returns>The integer read</returns>
+        </member>
+        <member name="M:NAudio.Midi.MidiEvent.WriteVarInt(System.IO.BinaryWriter,System.Int32)">
+            <summary>
+            Writes a variable length integer to a binary stream
+            </summary>
+            <param name="writer">Binary stream</param>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:NAudio.Midi.MidiEvent.Export(System.Int64@,System.IO.BinaryWriter)">
+            <summary>
+            Exports this MIDI event's data
+            Overriden in derived classes, but they should call this version
+            </summary>
+            <param name="absoluteTime">Absolute time used to calculate delta. 
+            Is updated ready for the next delta calculation</param>
+            <param name="writer">Stream to write to</param>
+        </member>
+        <member name="P:NAudio.Midi.MidiEvent.Channel">
+            <summary>
+            The MIDI Channel Number for this event (1-16)
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiEvent.DeltaTime">
+            <summary>
+            The Delta time for this event
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiEvent.AbsoluteTime">
+            <summary>
+            The absolute time for this event
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiEvent.CommandCode">
+            <summary>
+            The command code for this event
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.ChannelAfterTouchEvent.#ctor(System.IO.BinaryReader)">
+            <summary>
+            Creates a new ChannelAfterTouchEvent from raw MIDI data
+            </summary>
+            <param name="br">A binary reader</param>
+        </member>
+        <member name="M:NAudio.Midi.ChannelAfterTouchEvent.#ctor(System.Int64,System.Int32,System.Int32)">
+            <summary>
+            Creates a new Channel After-Touch Event
+            </summary>
+            <param name="absoluteTime">Absolute time</param>
+            <param name="channel">Channel</param>
+            <param name="afterTouchPressure">After-touch pressure</param>
+        </member>
+        <member name="M:NAudio.Midi.ChannelAfterTouchEvent.Export(System.Int64@,System.IO.BinaryWriter)">
+            <summary>
+            Calls base class export first, then exports the data 
+            specific to this event
+            <seealso cref="M:NAudio.Midi.MidiEvent.Export(System.Int64@,System.IO.BinaryWriter)">MidiEvent.Export</seealso>
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.ChannelAfterTouchEvent.AfterTouchPressure">
+            <summary>
+            The aftertouch pressure value
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.ControlChangeEvent">
+            <summary>
+            Represents a MIDI control change event
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.ControlChangeEvent.#ctor(System.IO.BinaryReader)">
+            <summary>
+            Reads a control change event from a MIDI stream
+            </summary>
+            <param name="br">Binary reader on the MIDI stream</param>
+        </member>
+        <member name="M:NAudio.Midi.ControlChangeEvent.#ctor(System.Int64,System.Int32,NAudio.Midi.MidiController,System.Int32)">
+            <summary>
+            Creates a control change event
+            </summary>
+            <param name="absoluteTime">Time</param>
+            <param name="channel">MIDI Channel Number</param>
+            <param name="controller">The MIDI Controller</param>
+            <param name="controllerValue">Controller value</param>
+        </member>
+        <member name="M:NAudio.Midi.ControlChangeEvent.ToString">
+            <summary>
+            Describes this control change event
+            </summary>
+            <returns>A string describing this event</returns>
+        </member>
+        <member name="M:NAudio.Midi.ControlChangeEvent.GetAsShortMessage">
+            <summary>
+            <see cref="M:NAudio.Midi.MidiEvent.GetAsShortMessage"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.ControlChangeEvent.Export(System.Int64@,System.IO.BinaryWriter)">
+            <summary>
+            Calls base class export first, then exports the data 
+            specific to this event
+            <seealso cref="M:NAudio.Midi.MidiEvent.Export(System.Int64@,System.IO.BinaryWriter)">MidiEvent.Export</seealso>
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.ControlChangeEvent.Controller">
+            <summary>
+            The controller number
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.ControlChangeEvent.ControllerValue">
+            <summary>
+            The controller value
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.KeySignatureEvent">
+            <summary>
+            Represents a MIDI key signature event event
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.MetaEvent">
+            <summary>
+            Represents a MIDI meta event
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MetaEvent.#ctor">
+            <summary>
+            Empty constructor
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MetaEvent.#ctor(NAudio.Midi.MetaEventType,System.Int32,System.Int64)">
+            <summary>
+            Custom constructor for use by derived types, who will manage the data themselves
+            </summary>
+            <param name="metaEventType">Meta event type</param>
+            <param name="metaDataLength">Meta data length</param>
+            <param name="absoluteTime">Absolute time</param>
+        </member>
+        <member name="M:NAudio.Midi.MetaEvent.ReadMetaEvent(System.IO.BinaryReader)">
+            <summary>
+            Reads a meta-event from a stream
+            </summary>
+            <param name="br">A binary reader based on the stream of MIDI data</param>
+            <returns>A new MetaEvent object</returns>
+        </member>
+        <member name="M:NAudio.Midi.MetaEvent.ToString">
+            <summary>
+            Describes this Meta event
+            </summary>
+            <returns>String describing the metaevent</returns>
+        </member>
+        <member name="M:NAudio.Midi.MetaEvent.Export(System.Int64@,System.IO.BinaryWriter)">
+            <summary>
+            <see cref="M:NAudio.Midi.MidiEvent.Export(System.Int64@,System.IO.BinaryWriter)"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MetaEvent.MetaEventType">
+            <summary>
+            Gets the type of this meta event
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.KeySignatureEvent.#ctor(System.IO.BinaryReader,System.Int32)">
+            <summary>
+            Reads a new track sequence number event from a MIDI stream
+            </summary>
+            <param name="br">The MIDI stream</param>
+            <param name="length">the data length</param>
+        </member>
+        <member name="M:NAudio.Midi.KeySignatureEvent.#ctor(System.Int32,System.Int32,System.Int64)">
+            <summary>
+            Creates a new Key signature event with the specified data
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.KeySignatureEvent.ToString">
+            <summary>
+            Describes this event
+            </summary>
+            <returns>String describing the event</returns>
+        </member>
+        <member name="M:NAudio.Midi.KeySignatureEvent.Export(System.Int64@,System.IO.BinaryWriter)">
+            <summary>
+            Calls base class export first, then exports the data 
+            specific to this event
+            <seealso cref="M:NAudio.Midi.MidiEvent.Export(System.Int64@,System.IO.BinaryWriter)">MidiEvent.Export</seealso>
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.KeySignatureEvent.SharpsFlats">
+            <summary>
+            Number of sharps or flats
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.KeySignatureEvent.MajorMinor">
+            <summary>
+            Major or Minor key
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.MetaEventType">
+            <summary>
+            MIDI MetaEvent Type
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MetaEventType.TrackSequenceNumber">
+            <summary>Track sequence number</summary>
+        </member>
+        <member name="F:NAudio.Midi.MetaEventType.TextEvent">
+            <summary>Text event</summary>
+        </member>
+        <member name="F:NAudio.Midi.MetaEventType.Copyright">
+            <summary>Copyright</summary>
+        </member>
+        <member name="F:NAudio.Midi.MetaEventType.SequenceTrackName">
+            <summary>Sequence track name</summary>
+        </member>
+        <member name="F:NAudio.Midi.MetaEventType.TrackInstrumentName">
+            <summary>Track instrument name</summary>
+        </member>
+        <member name="F:NAudio.Midi.MetaEventType.Lyric">
+            <summary>Lyric</summary>
+        </member>
+        <member name="F:NAudio.Midi.MetaEventType.Marker">
+            <summary>Marker</summary>
+        </member>
+        <member name="F:NAudio.Midi.MetaEventType.CuePoint">
+            <summary>Cue point</summary>
+        </member>
+        <member name="F:NAudio.Midi.MetaEventType.ProgramName">
+            <summary>Program (patch) name</summary>
+        </member>
+        <member name="F:NAudio.Midi.MetaEventType.DeviceName">
+            <summary>Device (port) name</summary>
+        </member>
+        <member name="F:NAudio.Midi.MetaEventType.MidiChannel">
+            <summary>MIDI Channel (not official?)</summary>
+        </member>
+        <member name="F:NAudio.Midi.MetaEventType.MidiPort">
+            <summary>MIDI Port (not official?)</summary>
+        </member>
+        <member name="F:NAudio.Midi.MetaEventType.EndTrack">
+            <summary>End track</summary>
+        </member>
+        <member name="F:NAudio.Midi.MetaEventType.SetTempo">
+            <summary>Set tempo</summary>
+        </member>
+        <member name="F:NAudio.Midi.MetaEventType.SmpteOffset">
+            <summary>SMPTE offset</summary>
+        </member>
+        <member name="F:NAudio.Midi.MetaEventType.TimeSignature">
+            <summary>Time signature</summary>
+        </member>
+        <member name="F:NAudio.Midi.MetaEventType.KeySignature">
+            <summary>Key signature</summary>
+        </member>
+        <member name="F:NAudio.Midi.MetaEventType.SequencerSpecific">
+            <summary>Sequencer specific</summary>
+        </member>
+        <member name="T:NAudio.Midi.MidiCommandCode">
+            <summary>
+            MIDI command codes
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiCommandCode.NoteOff">
+            <summary>Note Off</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiCommandCode.NoteOn">
+            <summary>Note On</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiCommandCode.KeyAfterTouch">
+            <summary>Key After-touch</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiCommandCode.ControlChange">
+            <summary>Control change</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiCommandCode.PatchChange">
+            <summary>Patch change</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiCommandCode.ChannelAfterTouch">
+            <summary>Channel after-touch</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiCommandCode.PitchWheelChange">
+            <summary>Pitch wheel change</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiCommandCode.Sysex">
+            <summary>Sysex message</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiCommandCode.Eox">
+            <summary>Eox (comes at end of a sysex message)</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiCommandCode.TimingClock">
+            <summary>Timing clock (used when synchronization is required)</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiCommandCode.StartSequence">
+            <summary>Start sequence</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiCommandCode.ContinueSequence">
+            <summary>Continue sequence</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiCommandCode.StopSequence">
+            <summary>Stop sequence</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiCommandCode.AutoSensing">
+            <summary>Auto-Sensing</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiCommandCode.MetaEvent">
+            <summary>Meta-event</summary>
+        </member>
+        <member name="T:NAudio.Midi.MidiController">
+            <summary>
+            MidiController enumeration
+            http://www.midi.org/techspecs/midimessages.php#3
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiController.BankSelect">
+            <summary>Bank Select (MSB)</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiController.Modulation">
+            <summary>Modulation (MSB)</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiController.BreathController">
+            <summary>Breath Controller</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiController.FootController">
+            <summary>Foot controller (MSB)</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiController.MainVolume">
+            <summary>Main volume</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiController.Pan">
+            <summary>Pan</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiController.Expression">
+            <summary>Expression</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiController.BankSelectLsb">
+            <summary>Bank Select LSB</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiController.Sustain">
+            <summary>Sustain</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiController.Portamento">
+            <summary>Portamento On/Off</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiController.Sostenuto">
+            <summary>Sostenuto On/Off</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiController.SoftPedal">
+            <summary>Soft Pedal On/Off</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiController.LegatoFootswitch">
+            <summary>Legato Footswitch</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiController.ResetAllControllers">
+            <summary>Reset all controllers</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiController.AllNotesOff">
+            <summary>All notes off</summary>
+        </member>
+        <member name="T:NAudio.Midi.MidiEventCollection">
+            <summary>
+            A helper class to manage collection of MIDI events
+            It has the ability to organise them in tracks
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiEventCollection.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Creates a new Midi Event collection
+            </summary>
+            <param name="midiFileType">Initial file type</param>
+            <param name="deltaTicksPerQuarterNote">Delta Ticks Per Quarter Note</param>
+        </member>
+        <member name="M:NAudio.Midi.MidiEventCollection.GetTrackEvents(System.Int32)">
+            <summary>
+            Gets events on a specified track
+            </summary>
+            <param name="trackNumber">Track number</param>
+            <returns>The list of events</returns>
+        </member>
+        <member name="M:NAudio.Midi.MidiEventCollection.AddTrack">
+            <summary>
+            Adds a new track
+            </summary>
+            <returns>The new track event list</returns>
+        </member>
+        <member name="M:NAudio.Midi.MidiEventCollection.AddTrack(System.Collections.Generic.IList{NAudio.Midi.MidiEvent})">
+            <summary>
+            Adds a new track
+            </summary>
+            <param name="initialEvents">Initial events to add to the new track</param>
+            <returns>The new track event list</returns>
+        </member>
+        <member name="M:NAudio.Midi.MidiEventCollection.RemoveTrack(System.Int32)">
+            <summary>
+            Removes a track
+            </summary>
+            <param name="track">Track number to remove</param>
+        </member>
+        <member name="M:NAudio.Midi.MidiEventCollection.Clear">
+            <summary>
+            Clears all events
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiEventCollection.AddEvent(NAudio.Midi.MidiEvent,System.Int32)">
+            <summary>
+            Adds an event to the appropriate track depending on file type
+            </summary>
+            <param name="midiEvent">The event to be added</param>
+            <param name="originalTrack">The original (or desired) track number</param>
+            <remarks>When adding events in type 0 mode, the originalTrack parameter
+            is ignored. If in type 1 mode, it will use the original track number to
+            store the new events. If the original track was 0 and this is a channel based
+            event, it will create new tracks if necessary and put it on the track corresponding
+            to its channel number</remarks>
+        </member>
+        <member name="M:NAudio.Midi.MidiEventCollection.PrepareForExport">
+            <summary>
+            Sorts, removes empty tracks and adds end track markers
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiEventCollection.GetEnumerator">
+            <summary>
+            Gets an enumerator for the lists of track events
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiEventCollection.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Gets an enumerator for the lists of track events
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiEventCollection.Tracks">
+            <summary>
+            The number of tracks
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiEventCollection.StartAbsoluteTime">
+            <summary>
+            The absolute time that should be considered as time zero
+            Not directly used here, but useful for timeshifting applications
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiEventCollection.DeltaTicksPerQuarterNote">
+            <summary>
+            The number of ticks per quarter note
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiEventCollection.Item(System.Int32)">
+            <summary>
+            Gets events on a specific track
+            </summary>
+            <param name="trackNumber">Track number</param>
+            <returns>The list of events</returns>
+        </member>
+        <member name="P:NAudio.Midi.MidiEventCollection.MidiFileType">
+            <summary>
+            The MIDI file type
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.MidiEventComparer">
+            <summary>
+            Utility class for comparing MidiEvent objects
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiEventComparer.Compare(NAudio.Midi.MidiEvent,NAudio.Midi.MidiEvent)">
+            <summary>
+            Compares two MidiEvents
+            Sorts by time, with EndTrack always sorted to the end
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.MidiFile">
+            <summary>
+            Class able to read a MIDI file
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiFile.#ctor(System.String)">
+            <summary>
+            Opens a MIDI file for reading
+            </summary>
+            <param name="filename">Name of MIDI file</param>
+        </member>
+        <member name="M:NAudio.Midi.MidiFile.#ctor(System.String,System.Boolean)">
+            <summary>
+            Opens a MIDI file for reading
+            </summary>
+            <param name="filename">Name of MIDI file</param>
+            <param name="strictChecking">If true will error on non-paired note events</param>
+        </member>
+        <member name="M:NAudio.Midi.MidiFile.ToString">
+            <summary>
+            Describes the MIDI file
+            </summary>
+            <returns>A string describing the MIDI file and its events</returns>
+        </member>
+        <member name="M:NAudio.Midi.MidiFile.Export(System.String,NAudio.Midi.MidiEventCollection)">
+            <summary>
+            Exports a MIDI file
+            </summary>
+            <param name="filename">Filename to export to</param>
+            <param name="events">Events to export</param>
+        </member>
+        <member name="P:NAudio.Midi.MidiFile.FileFormat">
+            <summary>
+            MIDI File format
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiFile.Events">
+            <summary>
+            The collection of events in this MIDI file
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiFile.Tracks">
+            <summary>
+            Number of tracks in this MIDI file
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiFile.DeltaTicksPerQuarterNote">
+            <summary>
+            Delta Ticks Per Quarter Note
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.MidiIn">
+            <summary>
+            Represents a MIDI in device
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiIn.#ctor(System.Int32)">
+            <summary>
+            Opens a specified MIDI in device
+            </summary>
+            <param name="deviceNo">The device number</param>
+        </member>
+        <member name="M:NAudio.Midi.MidiIn.Close">
+            <summary>
+            Closes this MIDI in device
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiIn.Dispose">
+            <summary>
+            Closes this MIDI in device
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiIn.Start">
+            <summary>
+            Start the MIDI in device
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiIn.Stop">
+            <summary>
+            Stop the MIDI in device
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiIn.Reset">
+            <summary>
+            Reset the MIDI in device
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiIn.DeviceInfo(System.Int32)">
+            <summary>
+            Gets the MIDI in device info
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiIn.Dispose(System.Boolean)">
+            <summary>
+            Closes the MIDI out device
+            </summary>
+            <param name="disposing">True if called from Dispose</param>
+        </member>
+        <member name="M:NAudio.Midi.MidiIn.Finalize">
+            <summary>
+            Cleanup
+            </summary>
+        </member>
+        <member name="E:NAudio.Midi.MidiIn.MessageReceived">
+            <summary>
+            Called when a MIDI message is received
+            </summary>
+        </member>
+        <member name="E:NAudio.Midi.MidiIn.ErrorReceived">
+            <summary>
+            An invalid MIDI message
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiIn.NumberOfDevices">
+            <summary>
+            Gets the number of MIDI input devices available in the system
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.MidiInCapabilities">
+            <summary>
+            MIDI In Device Capabilities
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiInCapabilities.manufacturerId">
+            <summary>
+            wMid
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiInCapabilities.productId">
+            <summary>
+            wPid
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiInCapabilities.driverVersion">
+            <summary>
+            vDriverVersion
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiInCapabilities.productName">
+            <summary>
+            Product Name
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiInCapabilities.support">
+            <summary>
+            Support - Reserved
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiInCapabilities.Manufacturer">
+            <summary>
+            Gets the manufacturer of this device
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiInCapabilities.ProductId">
+            <summary>
+            Gets the product identifier (manufacturer specific)
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiInCapabilities.ProductName">
+            <summary>
+            Gets the product name
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiInterop.MidiInMessage.Open">
+            <summary>
+            MIM_OPEN
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiInterop.MidiInMessage.Close">
+            <summary>
+            MIM_CLOSE
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiInterop.MidiInMessage.Data">
+            <summary>
+            MIM_DATA
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiInterop.MidiInMessage.LongData">
+            <summary>
+            MIM_LONGDATA
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiInterop.MidiInMessage.Error">
+            <summary>
+            MIM_ERROR
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiInterop.MidiInMessage.LongError">
+            <summary>
+            MIM_LONGERROR
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiInterop.MidiInMessage.MoreData">
+            <summary>
+            MIM_MOREDATA
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiInterop.MidiOutMessage.Open">
+            <summary>
+            MOM_OPEN
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiInterop.MidiOutMessage.Close">
+            <summary>
+            MOM_CLOSE
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiInterop.MidiOutMessage.Done">
+            <summary>
+            MOM_DONE
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.MidiMessage">
+            <summary>
+            Represents a MIDI message
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiMessage.#ctor(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a new MIDI message
+            </summary>
+            <param name="status">Status</param>
+            <param name="data1">Data parameter 1</param>
+            <param name="data2">Data parameter 2</param>
+        </member>
+        <member name="M:NAudio.Midi.MidiMessage.#ctor(System.Int32)">
+            <summary>
+            Creates a new MIDI message from a raw message
+            </summary>
+            <param name="rawData">A packed MIDI message from an MMIO function</param>
+        </member>
+        <member name="M:NAudio.Midi.MidiMessage.StartNote(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a Note On message
+            </summary>
+            <param name="note">Note number</param>
+            <param name="volume">Volume</param>
+            <param name="channel">MIDI channel</param>
+            <returns>A new MidiMessage object</returns>
+        </member>
+        <member name="M:NAudio.Midi.MidiMessage.StopNote(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a Note Off message
+            </summary>
+            <param name="note">Note number</param>
+            <param name="volume">Volume</param>
+            <param name="channel">MIDI channel (1-16)</param>
+            <returns>A new MidiMessage object</returns>
+        </member>
+        <member name="M:NAudio.Midi.MidiMessage.ChangePatch(System.Int32,System.Int32)">
+            <summary>
+            Creates a patch change message
+            </summary>
+            <param name="patch">The patch number</param>
+            <param name="channel">The MIDI channel number (1-16)</param>
+            <returns>A new MidiMessageObject</returns>
+        </member>
+        <member name="M:NAudio.Midi.MidiMessage.ChangeControl(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a Control Change message
+            </summary>
+            <param name="controller">The controller number to change</param>
+            <param name="value">The value to set the controller to</param>
+            <param name="channel">The MIDI channel number (1-16)</param>
+            <returns>A new MidiMessageObject</returns>
+        </member>
+        <member name="P:NAudio.Midi.MidiMessage.RawData">
+            <summary>
+            Returns the raw MIDI message data
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.MidiOut">
+            <summary>
+            Represents a MIDI out device
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiOut.DeviceInfo(System.Int32)">
+            <summary>
+            Gets the MIDI Out device info
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiOut.#ctor(System.Int32)">
+            <summary>
+            Opens a specified MIDI out device
+            </summary>
+            <param name="deviceNo">The device number</param>
+        </member>
+        <member name="M:NAudio.Midi.MidiOut.Close">
+            <summary>
+            Closes this MIDI out device
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiOut.Dispose">
+            <summary>
+            Closes this MIDI out device
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiOut.Reset">
+            <summary>
+            Resets the MIDI out device
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiOut.SendDriverMessage(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Sends a MIDI out message
+            </summary>
+            <param name="message">Message</param>
+            <param name="param1">Parameter 1</param>
+            <param name="param2">Parameter 2</param>
+        </member>
+        <member name="M:NAudio.Midi.MidiOut.Send(System.Int32)">
+            <summary>
+            Sends a MIDI message to the MIDI out device
+            </summary>
+            <param name="message">The message to send</param>
+        </member>
+        <member name="M:NAudio.Midi.MidiOut.Dispose(System.Boolean)">
+            <summary>
+            Closes the MIDI out device
+            </summary>
+            <param name="disposing">True if called from Dispose</param>
+        </member>
+        <member name="M:NAudio.Midi.MidiOut.SendBuffer(System.Byte[])">
+            <summary>
+            Send a long message, for example sysex.
+            </summary>
+            <param name="byteBuffer">The bytes to send.</param>
+        </member>
+        <member name="M:NAudio.Midi.MidiOut.Finalize">
+            <summary>
+            Cleanup
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiOut.NumberOfDevices">
+            <summary>
+            Gets the number of MIDI devices available in the system
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiOut.Volume">
+            <summary>
+            Gets or sets the volume for this MIDI out device
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.MidiOutCapabilities">
+            <summary>
+            class representing the capabilities of a MIDI out device
+            MIDIOUTCAPS: http://msdn.microsoft.com/en-us/library/dd798467%28VS.85%29.aspx
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.MidiOutCapabilities.SupportsChannel(System.Int32)">
+            <summary>
+            Queries whether a particular channel is supported
+            </summary>
+            <param name="channel">Channel number to test</param>
+            <returns>True if the channel is supported</returns>
+        </member>
+        <member name="P:NAudio.Midi.MidiOutCapabilities.Manufacturer">
+            <summary>
+            Gets the manufacturer of this device
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiOutCapabilities.ProductId">
+            <summary>
+            Gets the product identifier (manufacturer specific)
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiOutCapabilities.ProductName">
+            <summary>
+            Gets the product name
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiOutCapabilities.Voices">
+            <summary>
+            Returns the number of supported voices
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiOutCapabilities.Notes">
+            <summary>
+            Gets the polyphony of the device
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiOutCapabilities.SupportsAllChannels">
+            <summary>
+            Returns true if the device supports all channels
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiOutCapabilities.SupportsPatchCaching">
+            <summary>
+            Returns true if the device supports patch caching
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiOutCapabilities.SupportsSeparateLeftAndRightVolume">
+            <summary>
+            Returns true if the device supports separate left and right volume
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiOutCapabilities.SupportsMidiStreamOut">
+            <summary>
+            Returns true if the device supports MIDI stream out
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiOutCapabilities.SupportsVolumeControl">
+            <summary>
+            Returns true if the device supports volume control
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.MidiOutCapabilities.Technology">
+            <summary>
+            Returns the type of technology used by this MIDI out device
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiOutCapabilities.MidiOutCapabilityFlags.Volume">
+            <summary>
+            MIDICAPS_VOLUME
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiOutCapabilities.MidiOutCapabilityFlags.LeftRightVolume">
+            <summary>
+            separate left-right volume control
+            MIDICAPS_LRVOLUME
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiOutCapabilities.MidiOutCapabilityFlags.PatchCaching">
+            <summary>
+            MIDICAPS_CACHE
+            </summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiOutCapabilities.MidiOutCapabilityFlags.Stream">
+            <summary>
+            MIDICAPS_STREAM
+            driver supports midiStreamOut directly
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.MidiOutTechnology">
+            <summary>
+            Represents the different types of technology used by a MIDI out device
+            </summary>
+            <remarks>from mmsystem.h</remarks>
+        </member>
+        <member name="F:NAudio.Midi.MidiOutTechnology.MidiPort">
+            <summary>The device is a MIDI port</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiOutTechnology.Synth">
+            <summary>The device is a MIDI synth</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiOutTechnology.SquareWaveSynth">
+            <summary>The device is a square wave synth</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiOutTechnology.FMSynth">
+            <summary>The device is an FM synth</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiOutTechnology.MidiMapper">
+            <summary>The device is a MIDI mapper</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiOutTechnology.WaveTableSynth">
+            <summary>The device is a WaveTable synth</summary>
+        </member>
+        <member name="F:NAudio.Midi.MidiOutTechnology.SoftwareSynth">
+            <summary>The device is a software synth</summary>
+        </member>
+        <member name="T:NAudio.Midi.NoteEvent">
+            <summary>
+            Represents a note MIDI event
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.NoteEvent.#ctor(System.IO.BinaryReader)">
+            <summary>
+            Reads a NoteEvent from a stream of MIDI data
+            </summary>
+            <param name="br">Binary Reader for the stream</param>
+        </member>
+        <member name="M:NAudio.Midi.NoteEvent.#ctor(System.Int64,System.Int32,NAudio.Midi.MidiCommandCode,System.Int32,System.Int32)">
+            <summary>
+            Creates a MIDI Note Event with specified parameters
+            </summary>
+            <param name="absoluteTime">Absolute time of this event</param>
+            <param name="channel">MIDI channel number</param>
+            <param name="commandCode">MIDI command code</param>
+            <param name="noteNumber">MIDI Note Number</param>
+            <param name="velocity">MIDI Note Velocity</param>
+        </member>
+        <member name="M:NAudio.Midi.NoteEvent.GetAsShortMessage">
+            <summary>
+            <see cref="M:NAudio.Midi.MidiEvent.GetAsShortMessage"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.NoteEvent.ToString">
+            <summary>
+            Describes the Note Event
+            </summary>
+            <returns>Note event as a string</returns>
+        </member>
+        <member name="M:NAudio.Midi.NoteEvent.Export(System.Int64@,System.IO.BinaryWriter)">
+            <summary>
+            <see cref="M:NAudio.Midi.MidiEvent.Export(System.Int64@,System.IO.BinaryWriter)"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.NoteEvent.NoteNumber">
+            <summary>
+            The MIDI note number
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.NoteEvent.Velocity">
+            <summary>
+            The note velocity
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.NoteEvent.NoteName">
+            <summary>
+            The note name
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.NoteOnEvent">
+            <summary>
+            Represents a MIDI note on event
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.NoteOnEvent.#ctor(System.IO.BinaryReader)">
+            <summary>
+            Reads a new Note On event from a stream of MIDI data
+            </summary>
+            <param name="br">Binary reader on the MIDI data stream</param>
+        </member>
+        <member name="M:NAudio.Midi.NoteOnEvent.#ctor(System.Int64,System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a NoteOn event with specified parameters
+            </summary>
+            <param name="absoluteTime">Absolute time of this event</param>
+            <param name="channel">MIDI channel number</param>
+            <param name="noteNumber">MIDI note number</param>
+            <param name="velocity">MIDI note velocity</param>
+            <param name="duration">MIDI note duration</param>
+        </member>
+        <member name="M:NAudio.Midi.NoteOnEvent.ToString">
+            <summary>
+            Calls base class export first, then exports the data 
+            specific to this event
+            <seealso cref="M:NAudio.Midi.MidiEvent.Export(System.Int64@,System.IO.BinaryWriter)">MidiEvent.Export</seealso>
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.NoteOnEvent.OffEvent">
+            <summary>
+            The associated Note off event
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.NoteOnEvent.NoteNumber">
+            <summary>
+            Get or set the Note Number, updating the off event at the same time
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.NoteOnEvent.Channel">
+            <summary>
+            Get or set the channel, updating the off event at the same time
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.NoteOnEvent.NoteLength">
+            <summary>
+            The duration of this note
+            </summary>
+            <remarks>
+            There must be a note off event
+            </remarks>
+        </member>
+        <member name="T:NAudio.Midi.PatchChangeEvent">
+            <summary>
+            Represents a MIDI patch change event
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.PatchChangeEvent.GetPatchName(System.Int32)">
+            <summary>
+            Gets the default MIDI instrument names
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.PatchChangeEvent.#ctor(System.IO.BinaryReader)">
+            <summary>
+            Reads a new patch change event from a MIDI stream
+            </summary>
+            <param name="br">Binary reader for the MIDI stream</param>
+        </member>
+        <member name="M:NAudio.Midi.PatchChangeEvent.#ctor(System.Int64,System.Int32,System.Int32)">
+            <summary>
+            Creates a new patch change event
+            </summary>
+            <param name="absoluteTime">Time of the event</param>
+            <param name="channel">Channel number</param>
+            <param name="patchNumber">Patch number</param>
+        </member>
+        <member name="M:NAudio.Midi.PatchChangeEvent.ToString">
+            <summary>
+            Describes this patch change event
+            </summary>
+            <returns>String describing the patch change event</returns>
+        </member>
+        <member name="M:NAudio.Midi.PatchChangeEvent.GetAsShortMessage">
+            <summary>
+            Gets as a short message for sending with the midiOutShortMsg API
+            </summary>
+            <returns>short message</returns>
+        </member>
+        <member name="M:NAudio.Midi.PatchChangeEvent.Export(System.Int64@,System.IO.BinaryWriter)">
+            <summary>
+            Calls base class export first, then exports the data 
+            specific to this event
+            <seealso cref="M:NAudio.Midi.MidiEvent.Export(System.Int64@,System.IO.BinaryWriter)">MidiEvent.Export</seealso>
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.PatchChangeEvent.Patch">
+            <summary>
+            The Patch Number
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.PitchWheelChangeEvent">
+            <summary>
+            Represents a MIDI pitch wheel change event
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.PitchWheelChangeEvent.#ctor(System.IO.BinaryReader)">
+            <summary>
+            Reads a pitch wheel change event from a MIDI stream
+            </summary>
+            <param name="br">The MIDI stream to read from</param>
+        </member>
+        <member name="M:NAudio.Midi.PitchWheelChangeEvent.#ctor(System.Int64,System.Int32,System.Int32)">
+            <summary>
+            Creates a new pitch wheel change event
+            </summary>
+            <param name="absoluteTime">Absolute event time</param>
+            <param name="channel">Channel</param>
+            <param name="pitchWheel">Pitch wheel value</param>
+        </member>
+        <member name="M:NAudio.Midi.PitchWheelChangeEvent.ToString">
+            <summary>
+            Describes this pitch wheel change event
+            </summary>
+            <returns>String describing this pitch wheel change event</returns>
+        </member>
+        <member name="M:NAudio.Midi.PitchWheelChangeEvent.GetAsShortMessage">
+            <summary>
+            Gets a short message
+            </summary>
+            <returns>Integer to sent as short message</returns>
+        </member>
+        <member name="M:NAudio.Midi.PitchWheelChangeEvent.Export(System.Int64@,System.IO.BinaryWriter)">
+            <summary>
+            Calls base class export first, then exports the data 
+            specific to this event
+            <seealso cref="M:NAudio.Midi.MidiEvent.Export(System.Int64@,System.IO.BinaryWriter)">MidiEvent.Export</seealso>
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.PitchWheelChangeEvent.Pitch">
+            <summary>
+            Pitch Wheel Value 0 is minimum, 0x2000 (8192) is default, 0x4000 (16384) is maximum
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.SequencerSpecificEvent">
+            <summary>
+            Represents a Sequencer Specific event
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.SequencerSpecificEvent.#ctor(System.IO.BinaryReader,System.Int32)">
+            <summary>
+            Reads a new sequencer specific event from a MIDI stream
+            </summary>
+            <param name="br">The MIDI stream</param>
+            <param name="length">The data length</param>
+        </member>
+        <member name="M:NAudio.Midi.SequencerSpecificEvent.#ctor(System.Byte[],System.Int64)">
+            <summary>
+            Creates a new Sequencer Specific event
+            </summary>
+            <param name="data">The sequencer specific data</param>
+            <param name="absoluteTime">Absolute time of this event</param>
+        </member>
+        <member name="M:NAudio.Midi.SequencerSpecificEvent.ToString">
+            <summary>
+            Describes this MIDI text event
+            </summary>
+            <returns>A string describing this event</returns>
+        </member>
+        <member name="M:NAudio.Midi.SequencerSpecificEvent.Export(System.Int64@,System.IO.BinaryWriter)">
+            <summary>
+            Calls base class export first, then exports the data 
+            specific to this event
+            <seealso cref="M:NAudio.Midi.MidiEvent.Export(System.Int64@,System.IO.BinaryWriter)">MidiEvent.Export</seealso>
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.SequencerSpecificEvent.Data">
+            <summary>
+            The contents of this sequencer specific
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.SmpteOffsetEvent.#ctor(System.IO.BinaryReader,System.Int32)">
+            <summary>
+            Reads a new time signature event from a MIDI stream
+            </summary>
+            <param name="br">The MIDI stream</param>
+            <param name="length">The data length</param>
+        </member>
+        <member name="M:NAudio.Midi.SmpteOffsetEvent.ToString">
+            <summary>
+            Describes this time signature event
+            </summary>
+            <returns>A string describing this event</returns>
+        </member>
+        <member name="M:NAudio.Midi.SmpteOffsetEvent.Export(System.Int64@,System.IO.BinaryWriter)">
+            <summary>
+            Calls base class export first, then exports the data 
+            specific to this event
+            <seealso cref="M:NAudio.Midi.MidiEvent.Export(System.Int64@,System.IO.BinaryWriter)">MidiEvent.Export</seealso>
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.SmpteOffsetEvent.Hours">
+            <summary>
+            Hours
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.SmpteOffsetEvent.Minutes">
+            <summary>
+            Minutes
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.SmpteOffsetEvent.Seconds">
+            <summary>
+            Seconds
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.SmpteOffsetEvent.Frames">
+            <summary>
+            Frames
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.SmpteOffsetEvent.SubFrames">
+            <summary>
+            SubFrames
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.SysexEvent">
+            <summary>
+            Represents a MIDI sysex message
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.SysexEvent.ReadSysexEvent(System.IO.BinaryReader)">
+            <summary>
+            Reads a sysex message from a MIDI stream
+            </summary>
+            <param name="br">Stream of MIDI data</param>
+            <returns>a new sysex message</returns>
+        </member>
+        <member name="M:NAudio.Midi.SysexEvent.ToString">
+            <summary>
+            Describes this sysex message
+            </summary>
+            <returns>A string describing the sysex message</returns>
+        </member>
+        <member name="M:NAudio.Midi.SysexEvent.Export(System.Int64@,System.IO.BinaryWriter)">
+            <summary>
+            Calls base class export first, then exports the data 
+            specific to this event
+            <seealso cref="M:NAudio.Midi.MidiEvent.Export(System.Int64@,System.IO.BinaryWriter)">MidiEvent.Export</seealso>
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.TempoEvent">
+            <summary>
+            Represents a MIDI tempo event
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.TempoEvent.#ctor(System.IO.BinaryReader,System.Int32)">
+            <summary>
+            Reads a new tempo event from a MIDI stream
+            </summary>
+            <param name="br">The MIDI stream</param>
+            <param name="length">the data length</param>
+        </member>
+        <member name="M:NAudio.Midi.TempoEvent.#ctor(System.Int32,System.Int64)">
+            <summary>
+            Creates a new tempo event with specified settings
+            </summary>
+            <param name="microsecondsPerQuarterNote">Microseconds per quarter note</param>
+            <param name="absoluteTime">Absolute time</param>
+        </member>
+        <member name="M:NAudio.Midi.TempoEvent.ToString">
+            <summary>
+            Describes this tempo event
+            </summary>
+            <returns>String describing the tempo event</returns>
+        </member>
+        <member name="M:NAudio.Midi.TempoEvent.Export(System.Int64@,System.IO.BinaryWriter)">
+            <summary>
+            Calls base class export first, then exports the data 
+            specific to this event
+            <seealso cref="M:NAudio.Midi.MidiEvent.Export(System.Int64@,System.IO.BinaryWriter)">MidiEvent.Export</seealso>
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.TempoEvent.MicrosecondsPerQuarterNote">
+            <summary>
+            Microseconds per quarter note
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.TempoEvent.Tempo">
+            <summary>
+            Tempo
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.TextEvent">
+            <summary>
+            Represents a MIDI text event
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.TextEvent.#ctor(System.IO.BinaryReader,System.Int32)">
+            <summary>
+            Reads a new text event from a MIDI stream
+            </summary>
+            <param name="br">The MIDI stream</param>
+            <param name="length">The data length</param>
+        </member>
+        <member name="M:NAudio.Midi.TextEvent.#ctor(System.String,NAudio.Midi.MetaEventType,System.Int64)">
+            <summary>
+            Creates a new TextEvent
+            </summary>
+            <param name="text">The text in this type</param>
+            <param name="metaEventType">MetaEvent type (must be one that is
+            associated with text data)</param>
+            <param name="absoluteTime">Absolute time of this event</param>
+        </member>
+        <member name="M:NAudio.Midi.TextEvent.ToString">
+            <summary>
+            Describes this MIDI text event
+            </summary>
+            <returns>A string describing this event</returns>
+        </member>
+        <member name="M:NAudio.Midi.TextEvent.Export(System.Int64@,System.IO.BinaryWriter)">
+            <summary>
+            Calls base class export first, then exports the data 
+            specific to this event
+            <seealso cref="M:NAudio.Midi.MidiEvent.Export(System.Int64@,System.IO.BinaryWriter)">MidiEvent.Export</seealso>
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.TextEvent.Text">
+            <summary>
+            The contents of this text event
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.TimeSignatureEvent">
+            <summary>
+            Represents a MIDI time signature event
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.TimeSignatureEvent.#ctor(System.IO.BinaryReader,System.Int32)">
+            <summary>
+            Reads a new time signature event from a MIDI stream
+            </summary>
+            <param name="br">The MIDI stream</param>
+            <param name="length">The data length</param>
+        </member>
+        <member name="M:NAudio.Midi.TimeSignatureEvent.#ctor(System.Int64,System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a new TimeSignatureEvent
+            </summary>
+            <param name="absoluteTime">Time at which to create this event</param>
+            <param name="numerator">Numerator</param>
+            <param name="denominator">Denominator</param>
+            <param name="ticksInMetronomeClick">Ticks in Metronome Click</param>
+            <param name="no32ndNotesInQuarterNote">No of 32nd Notes in Quarter Click</param>
+        </member>
+        <member name="M:NAudio.Midi.TimeSignatureEvent.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int64)">
+            <summary>
+            Creates a new time signature event with the specified parameters
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.TimeSignatureEvent.ToString">
+            <summary>
+            Describes this time signature event
+            </summary>
+            <returns>A string describing this event</returns>
+        </member>
+        <member name="M:NAudio.Midi.TimeSignatureEvent.Export(System.Int64@,System.IO.BinaryWriter)">
+            <summary>
+            Calls base class export first, then exports the data 
+            specific to this event
+            <seealso cref="M:NAudio.Midi.MidiEvent.Export(System.Int64@,System.IO.BinaryWriter)">MidiEvent.Export</seealso>
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.TimeSignatureEvent.Numerator">
+            <summary>
+            Numerator (number of beats in a bar)
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.TimeSignatureEvent.Denominator">
+            <summary>
+            Denominator (Beat unit),
+            1 means 2, 2 means 4 (crochet), 3 means 8 (quaver), 4 means 16 and 5 means 32
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.TimeSignatureEvent.TicksInMetronomeClick">
+            <summary>
+            Ticks in a metronome click
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.TimeSignatureEvent.No32ndNotesInQuarterNote">
+            <summary>
+            Number of 32nd notes in a quarter note
+            </summary>
+        </member>
+        <member name="P:NAudio.Midi.TimeSignatureEvent.TimeSignature">
+            <summary>
+            The time signature
+            </summary>
+        </member>
+        <member name="T:NAudio.Midi.TrackSequenceNumberEvent">
+            <summary>
+            Represents a MIDI track sequence number event event
+            </summary>
+        </member>
+        <member name="M:NAudio.Midi.TrackSequenceNumberEvent.#ctor(System.IO.BinaryReader,System.Int32)">
+            <summary>
+            Reads a new track sequence number event from a MIDI stream
+            </summary>
+            <param name="br">The MIDI stream</param>
+            <param name="length">the data length</param>
+        </member>
+        <member name="M:NAudio.Midi.TrackSequenceNumberEvent.ToString">
+            <summary>
+            Describes this event
+            </summary>
+            <returns>String describing the event</returns>
+        </member>
+        <member name="M:NAudio.Midi.TrackSequenceNumberEvent.Export(System.Int64@,System.IO.BinaryWriter)">
+            <summary>
+            Calls base class export first, then exports the data 
+            specific to this event
+            <seealso cref="M:NAudio.Midi.MidiEvent.Export(System.Int64@,System.IO.BinaryWriter)">MidiEvent.Export</seealso>
+            </summary>
+        </member>
+        <member name="T:NAudio.Mixer.BooleanMixerControl">
+            <summary>
+            Boolean mixer control
+            </summary>
+        </member>
+        <member name="T:NAudio.Mixer.MixerControl">
+            <summary>
+            Represents a mixer control
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControl.mixerHandle">
+            <summary>
+            Mixer Handle
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControl.nChannels">
+            <summary>
+            Number of Channels
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControl.mixerHandleType">
+            <summary>
+            Mixer Handle Type
+            </summary>
+        </member>
+        <member name="M:NAudio.Mixer.MixerControl.GetMixerControls(System.IntPtr,NAudio.Mixer.MixerLine,NAudio.Mixer.MixerFlags)">
+            <summary>
+            Gets all the mixer controls
+            </summary>
+            <param name="mixerHandle">Mixer Handle</param>
+            <param name="mixerLine">Mixer Line</param>
+            <param name="mixerHandleType">Mixer Handle Type</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Mixer.MixerControl.GetMixerControl(System.IntPtr,System.Int32,System.Int32,System.Int32,NAudio.Mixer.MixerFlags)">
+            <summary>
+            Gets a specified Mixer Control
+            </summary>
+            <param name="mixerHandle">Mixer Handle</param>
+            <param name="nLineID">Line ID</param>
+            <param name="controlId">Control ID</param>
+            <param name="nChannels">Number of Channels</param>
+            <param name="mixerFlags">Flags to use (indicates the meaning of mixerHandle)</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Mixer.MixerControl.GetControlDetails">
+            <summary>
+            Gets the control details
+            </summary>
+        </member>
+        <member name="M:NAudio.Mixer.MixerControl.GetDetails(System.IntPtr)">
+            <summary>
+            Gets the control details
+            </summary>
+            <param name="pDetails"></param>
+        </member>
+        <member name="M:NAudio.Mixer.MixerControl.IsControlBoolean(NAudio.Mixer.MixerControlType)">
+            <summary>
+            Returns true if this is a boolean control
+            </summary>
+            <param name="controlType">Control type</param>
+        </member>
+        <member name="M:NAudio.Mixer.MixerControl.IsControlListText(NAudio.Mixer.MixerControlType)">
+            <summary>
+            Determines whether a specified mixer control type is a list text control
+            </summary>
+        </member>
+        <member name="M:NAudio.Mixer.MixerControl.ToString">
+            <summary>
+            String representation for debug purposes
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerControl.Name">
+            <summary>
+            Mixer control name
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerControl.ControlType">
+            <summary>
+            Mixer control type
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerControl.IsBoolean">
+            <summary>
+            Is this a boolean control
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerControl.IsListText">
+            <summary>
+            True if this is a list text control
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerControl.IsSigned">
+            <summary>
+            True if this is a signed control
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerControl.IsUnsigned">
+            <summary>
+            True if this is an unsigned control
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerControl.IsCustom">
+            <summary>
+            True if this is a custom control
+            </summary>
+        </member>
+        <member name="M:NAudio.Mixer.BooleanMixerControl.GetDetails(System.IntPtr)">
+            <summary>
+            Gets the details for this control
+            </summary>
+            <param name="pDetails">memory pointer</param>
+        </member>
+        <member name="P:NAudio.Mixer.BooleanMixerControl.Value">
+            <summary>
+            The current value of the control
+            </summary>
+        </member>
+        <member name="T:NAudio.Mixer.CustomMixerControl">
+            <summary>
+            Custom Mixer control
+            </summary>
+        </member>
+        <member name="M:NAudio.Mixer.CustomMixerControl.GetDetails(System.IntPtr)">
+            <summary>
+            Get the data for this custom control
+            </summary>
+            <param name="pDetails">pointer to memory to receive data</param>
+        </member>
+        <member name="T:NAudio.Mixer.ListTextMixerControl">
+            <summary>
+            List text mixer control
+            </summary>
+        </member>
+        <member name="M:NAudio.Mixer.ListTextMixerControl.GetDetails(System.IntPtr)">
+            <summary>
+            Get the details for this control
+            </summary>
+            <param name="pDetails">Memory location to read to</param>
+        </member>
+        <member name="T:NAudio.Mixer.Mixer">
+            <summary>Represents a Windows mixer device</summary>
+        </member>
+        <member name="M:NAudio.Mixer.Mixer.#ctor(System.Int32)">
+            <summary>Connects to the specified mixer</summary>
+            <param name="mixerIndex">The index of the mixer to use. 
+            This should be between zero and NumberOfDevices - 1</param>
+        </member>
+        <member name="M:NAudio.Mixer.Mixer.GetDestination(System.Int32)">
+            <summary>Retrieve the specified MixerDestination object</summary>
+            <param name="destinationIndex">The ID of the destination to use.
+            Should be between 0 and DestinationCount - 1</param>
+        </member>
+        <member name="P:NAudio.Mixer.Mixer.NumberOfDevices">
+            <summary>The number of mixer devices available</summary>	
+        </member>
+        <member name="P:NAudio.Mixer.Mixer.DestinationCount">
+            <summary>The number of destinations this mixer supports</summary>
+        </member>
+        <member name="P:NAudio.Mixer.Mixer.Name">
+            <summary>The name of this mixer device</summary>
+        </member>
+        <member name="P:NAudio.Mixer.Mixer.Manufacturer">
+            <summary>The manufacturer code for this mixer device</summary>
+        </member>
+        <member name="P:NAudio.Mixer.Mixer.ProductID">
+            <summary>The product identifier code for this mixer device</summary>
+        </member>
+        <member name="P:NAudio.Mixer.Mixer.Destinations">
+            <summary>
+            A way to enumerate the destinations
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.Mixer.Mixers">
+            <summary>
+            A way to enumerate all available devices
+            </summary>
+        </member>
+        <member name="T:NAudio.Mixer.MixerControlType">
+            <summary>
+            Mixer control types
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Custom">
+            <summary>Custom</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.BooleanMeter">
+            <summary>Boolean meter</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.SignedMeter">
+            <summary>Signed meter</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.PeakMeter">
+            <summary>Peak meter</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.UnsignedMeter">
+            <summary>Unsigned meter</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Boolean">
+            <summary>Boolean</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.OnOff">
+            <summary>On Off</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Mute">
+            <summary>Mute</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Mono">
+            <summary>Mono</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Loudness">
+            <summary>Loudness</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.StereoEnhance">
+            <summary>Stereo Enhance</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Button">
+            <summary>Button</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Decibels">
+            <summary>Decibels</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Signed">
+            <summary>Signed</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Unsigned">
+            <summary>Unsigned</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Percent">
+            <summary>Percent</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Slider">
+            <summary>Slider</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Pan">
+            <summary>Pan</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.QSoundPan">
+            <summary>Q-sound pan</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Fader">
+            <summary>Fader</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Volume">
+            <summary>Volume</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Bass">
+            <summary>Bass</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Treble">
+            <summary>Treble</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Equalizer">
+            <summary>Equaliser</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.SingleSelect">
+            <summary>Single Select</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Mux">
+            <summary>Mux</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.MultipleSelect">
+            <summary>Multiple select</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.Mixer">
+            <summary>Mixer</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.MicroTime">
+            <summary>Micro time</summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerControlType.MilliTime">
+            <summary>Milli time</summary>
+        </member>
+        <member name="T:NAudio.Mixer.MixerLine">
+            <summary>
+            Represents a mixer line (source or destination)
+            </summary>
+        </member>
+        <member name="M:NAudio.Mixer.MixerLine.#ctor(System.IntPtr,System.Int32,NAudio.Mixer.MixerFlags)">
+            <summary>
+            Creates a new mixer destination
+            </summary>
+            <param name="mixerHandle">Mixer Handle</param>
+            <param name="destinationIndex">Destination Index</param>
+            <param name="mixerHandleType">Mixer Handle Type</param>
+        </member>
+        <member name="M:NAudio.Mixer.MixerLine.#ctor(System.IntPtr,System.Int32,System.Int32,NAudio.Mixer.MixerFlags)">
+            <summary>
+            Creates a new Mixer Source For a Specified Source
+            </summary>
+            <param name="mixerHandle">Mixer Handle</param>
+            <param name="destinationIndex">Destination Index</param>
+            <param name="sourceIndex">Source Index</param>
+            <param name="mixerHandleType">Flag indicating the meaning of mixerHandle</param>
+        </member>
+        <member name="M:NAudio.Mixer.MixerLine.GetMixerIdForWaveIn(System.Int32)">
+            <summary>
+            Creates a new Mixer Source
+            </summary>
+            <param name="waveInDevice">Wave In Device</param>
+        </member>
+        <member name="M:NAudio.Mixer.MixerLine.GetSource(System.Int32)">
+            <summary>
+            Gets the specified source
+            </summary>
+        </member>
+        <member name="M:NAudio.Mixer.MixerLine.ToString">
+            <summary>
+            Describes this Mixer Line (for diagnostic purposes)
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerLine.Name">
+            <summary>
+            Mixer Line Name
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerLine.ShortName">
+            <summary>
+            Mixer Line short name
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerLine.LineId">
+            <summary>
+            The line ID
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerLine.ComponentType">
+            <summary>
+            Component Type
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerLine.TypeDescription">
+            <summary>
+            Mixer destination type description
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerLine.Channels">
+            <summary>
+            Number of channels
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerLine.SourceCount">
+            <summary>
+            Number of sources
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerLine.ControlsCount">
+            <summary>
+            Number of controls
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerLine.IsActive">
+            <summary>
+            Is this destination active
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerLine.IsDisconnected">
+            <summary>
+            Is this destination disconnected
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerLine.IsSource">
+            <summary>
+            Is this destination a source
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerLine.Controls">
+            <summary>
+            Enumerator for the controls on this Mixer Limne
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerLine.Sources">
+            <summary>
+            Enumerator for the sources on this Mixer Line
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.MixerLine.TargetName">
+            <summary>
+            The name of the target output device
+            </summary>
+        </member>
+        <member name="T:NAudio.Mixer.MixerFlags">
+            <summary>
+            Mixer Interop Flags
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.Handle">
+            <summary>
+            MIXER_OBJECTF_HANDLE 	= 0x80000000;
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.Mixer">
+            <summary>
+            MIXER_OBJECTF_MIXER 	= 0x00000000;
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.MixerHandle">
+            <summary>
+            MIXER_OBJECTF_HMIXER
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.WaveOut">
+            <summary>
+            MIXER_OBJECTF_WAVEOUT
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.WaveOutHandle">
+            <summary>
+            MIXER_OBJECTF_HWAVEOUT
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.WaveIn">
+            <summary>
+            MIXER_OBJECTF_WAVEIN
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.WaveInHandle">
+            <summary>
+            MIXER_OBJECTF_HWAVEIN
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.MidiOut">
+            <summary>
+            MIXER_OBJECTF_MIDIOUT
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.MidiOutHandle">
+            <summary>
+            MIXER_OBJECTF_HMIDIOUT
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.MidiIn">
+            <summary>
+            MIXER_OBJECTF_MIDIIN
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.MidiInHandle">
+            <summary>
+            MIXER_OBJECTF_HMIDIIN
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.Aux">
+            <summary>
+            MIXER_OBJECTF_AUX
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.Value">
+            <summary>
+            MIXER_GETCONTROLDETAILSF_VALUE      	= 0x00000000;
+            MIXER_SETCONTROLDETAILSF_VALUE      	= 0x00000000;
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.ListText">
+            <summary>
+            MIXER_GETCONTROLDETAILSF_LISTTEXT   	= 0x00000001;
+            MIXER_SETCONTROLDETAILSF_LISTTEXT   	= 0x00000001;
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.QueryMask">
+            <summary>
+            MIXER_GETCONTROLDETAILSF_QUERYMASK  	= 0x0000000F;
+            MIXER_SETCONTROLDETAILSF_QUERYMASK  	= 0x0000000F;
+            MIXER_GETLINECONTROLSF_QUERYMASK    	= 0x0000000F;
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.All">
+            <summary>
+            MIXER_GETLINECONTROLSF_ALL          	= 0x00000000;
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.OneById">
+            <summary>
+            MIXER_GETLINECONTROLSF_ONEBYID      	= 0x00000001;
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.OneByType">
+            <summary>
+            MIXER_GETLINECONTROLSF_ONEBYTYPE    	= 0x00000002;
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.GetLineInfoOfDestination">
+            <summary>
+            MIXER_GETLINEINFOF_DESTINATION      	= 0x00000000;
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.GetLineInfoOfSource">
+            <summary>
+            MIXER_GETLINEINFOF_SOURCE           	= 0x00000001;
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.GetLineInfoOfLineId">
+            <summary>
+            MIXER_GETLINEINFOF_LINEID           	= 0x00000002;
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.GetLineInfoOfComponentType">
+            <summary>
+            MIXER_GETLINEINFOF_COMPONENTTYPE    	= 0x00000003;
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.GetLineInfoOfTargetType">
+            <summary>
+            MIXER_GETLINEINFOF_TARGETTYPE       	= 0x00000004;
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerFlags.GetLineInfoOfQueryMask">
+            <summary>
+            MIXER_GETLINEINFOF_QUERYMASK        	= 0x0000000F;
+            </summary>
+        </member>
+        <member name="T:NAudio.Mixer.MixerInterop.MIXERLINE_LINEF">
+            <summary>
+            Mixer Line Flags
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerInterop.MIXERLINE_LINEF.MIXERLINE_LINEF_ACTIVE">
+            <summary>
+            Audio line is active. An active line indicates that a signal is probably passing 
+            through the line.
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerInterop.MIXERLINE_LINEF.MIXERLINE_LINEF_DISCONNECTED">
+            <summary>
+            Audio line is disconnected. A disconnected line's associated controls can still be 
+            modified, but the changes have no effect until the line is connected.
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerInterop.MIXERLINE_LINEF.MIXERLINE_LINEF_SOURCE">
+            <summary>
+            Audio line is an audio source line associated with a single audio destination line. 
+            If this flag is not set, this line is an audio destination line associated with zero 
+            or more audio source lines.
+            </summary>
+        </member>
+        <member name="T:NAudio.Mixer.MixerInterop.Bounds">
+            <summary>
+            BOUNDS structure
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerInterop.Bounds.minimum">
+            <summary>
+            dwMinimum / lMinimum / reserved 0
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerInterop.Bounds.maximum">
+            <summary>
+            dwMaximum / lMaximum / reserved 1
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerInterop.Bounds.reserved2">
+            <summary>
+            reserved 2
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerInterop.Bounds.reserved3">
+            <summary>
+            reserved 3
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerInterop.Bounds.reserved4">
+            <summary>
+            reserved 4
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerInterop.Bounds.reserved5">
+            <summary>
+            reserved 5
+            </summary>
+        </member>
+        <member name="T:NAudio.Mixer.MixerInterop.Metrics">
+            <summary>
+            METRICS structure
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerInterop.Metrics.step">
+            <summary>
+            cSteps / reserved[0]
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerInterop.Metrics.customData">
+            <summary>
+            cbCustomData / reserved[1], number of bytes for control details
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerInterop.Metrics.reserved2">
+            <summary>
+            reserved 2
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerInterop.Metrics.reserved3">
+            <summary>
+            reserved 3
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerInterop.Metrics.reserved4">
+            <summary>
+            reserved 4
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerInterop.Metrics.reserved5">
+            <summary>
+            reserved 5
+            </summary>
+        </member>
+        <member name="T:NAudio.Mixer.MixerInterop.MIXERCONTROL">
+            <summary>
+            MIXERCONTROL struct
+            http://msdn.microsoft.com/en-us/library/dd757293%28VS.85%29.aspx
+            </summary>
+        </member>
+        <member name="T:NAudio.Mixer.MixerLineComponentType">
+            <summary>
+            Mixer Line Component type enumeration
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.DestinationUndefined">
+            <summary>
+            Audio line is a destination that cannot be defined by one of the standard component types. A mixer device is required to use this component type for line component types that have not been defined by Microsoft Corporation.
+            MIXERLINE_COMPONENTTYPE_DST_UNDEFINED
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.DestinationDigital">
+            <summary>
+            Audio line is a digital destination (for example, digital input to a DAT or CD audio device).
+            MIXERLINE_COMPONENTTYPE_DST_DIGITAL 
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.DestinationLine">
+            <summary>
+            Audio line is a line level destination (for example, line level input from a CD audio device) that will be the final recording source for the analog-to-digital converter (ADC). Because most audio cards for personal computers provide some sort of gain for the recording audio source line, the mixer device will use the MIXERLINE_COMPONENTTYPE_DST_WAVEIN type.
+            MIXERLINE_COMPONENTTYPE_DST_LINE
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.DestinationMonitor">
+            <summary>
+            Audio line is a destination used for a monitor.
+            MIXERLINE_COMPONENTTYPE_DST_MONITOR
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.DestinationSpeakers">
+            <summary>
+            Audio line is an adjustable (gain and/or attenuation) destination intended to drive speakers. This is the typical component type for the audio output of audio cards for personal computers.
+            MIXERLINE_COMPONENTTYPE_DST_SPEAKERS
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.DestinationHeadphones">
+            <summary>
+            Audio line is an adjustable (gain and/or attenuation) destination intended to drive headphones. Most audio cards use the same audio destination line for speakers and headphones, in which case the mixer device simply uses the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS type.
+            MIXERLINE_COMPONENTTYPE_DST_HEADPHONES
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.DestinationTelephone">
+            <summary>
+            Audio line is a destination that will be routed to a telephone line.
+            MIXERLINE_COMPONENTTYPE_DST_TELEPHONE
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.DestinationWaveIn">
+            <summary>
+            Audio line is a destination that will be the final recording source for the waveform-audio input (ADC). This line typically provides some sort of gain or attenuation. This is the typical component type for the recording line of most audio cards for personal computers.
+            MIXERLINE_COMPONENTTYPE_DST_WAVEIN
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.DestinationVoiceIn">
+            <summary>
+            Audio line is a destination that will be the final recording source for voice input. This component type is exactly like MIXERLINE_COMPONENTTYPE_DST_WAVEIN but is intended specifically for settings used during voice recording/recognition. Support for this line is optional for a mixer device. Many mixer devices provide only MIXERLINE_COMPONENTTYPE_DST_WAVEIN.
+            MIXERLINE_COMPONENTTYPE_DST_VOICEIN
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.SourceUndefined">
+            <summary>
+            Audio line is a source that cannot be defined by one of the standard component types. A mixer device is required to use this component type for line component types that have not been defined by Microsoft Corporation.
+            MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.SourceDigital">
+            <summary>
+            Audio line is a digital source (for example, digital output from a DAT or audio CD).
+            MIXERLINE_COMPONENTTYPE_SRC_DIGITAL
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.SourceLine">
+            <summary>
+            Audio line is a line-level source (for example, line-level input from an external stereo) that can be used as an optional recording source. Because most audio cards for personal computers provide some sort of gain for the recording source line, the mixer device will use the MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY type.
+            MIXERLINE_COMPONENTTYPE_SRC_LINE
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.SourceMicrophone">
+            <summary>
+            Audio line is a microphone recording source. Most audio cards for personal computers provide at least two types of recording sources: an auxiliary audio line and microphone input. A microphone audio line typically provides some sort of gain. Audio cards that use a single input for use with a microphone or auxiliary audio line should use the MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE component type.
+            MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.SourceSynthesizer">
+            <summary>
+            Audio line is a source originating from the output of an internal synthesizer. Most audio cards for personal computers provide some sort of MIDI synthesizer (for example, an AdlibÂ®-compatible or OPL/3 FM synthesizer).
+            MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.SourceCompactDisc">
+            <summary>
+            Audio line is a source originating from the output of an internal audio CD. This component type is provided for audio cards that provide an audio source line intended to be connected to an audio CD (or CD-ROM playing an audio CD).
+            MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.SourceTelephone">
+            <summary>
+            Audio line is a source originating from an incoming telephone line.
+            MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.SourcePcSpeaker">
+            <summary>
+            Audio line is a source originating from personal computer speaker. Several audio cards for personal computers provide the ability to mix what would typically be played on the internal speaker with the output of an audio card. Some audio cards support the ability to use this output as a recording source.
+            MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.SourceWaveOut">
+            <summary>
+            Audio line is a source originating from the waveform-audio output digital-to-analog converter (DAC). Most audio cards for personal computers provide this component type as a source to the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination. Some cards also allow this source to be routed to the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination.
+            MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.SourceAuxiliary">
+            <summary>
+            Audio line is a source originating from the auxiliary audio line. This line type is intended as a source with gain or attenuation that can be routed to the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination and/or recorded from the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination.
+            MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY
+            </summary>
+        </member>
+        <member name="F:NAudio.Mixer.MixerLineComponentType.SourceAnalog">
+            <summary>
+            Audio line is an analog source (for example, analog output from a video-cassette tape).
+            MIXERLINE_COMPONENTTYPE_SRC_ANALOG
+            </summary>
+        </member>
+        <member name="T:NAudio.Mixer.SignedMixerControl">
+            <summary>
+            Represents a signed mixer control
+            </summary>
+        </member>
+        <member name="M:NAudio.Mixer.SignedMixerControl.GetDetails(System.IntPtr)">
+            <summary>
+            Gets details for this contrl
+            </summary>
+        </member>
+        <member name="M:NAudio.Mixer.SignedMixerControl.ToString">
+            <summary>
+            String Representation for debugging purposes
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:NAudio.Mixer.SignedMixerControl.Value">
+            <summary>
+            The value of the control
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.SignedMixerControl.MinValue">
+            <summary>
+            Minimum value for this control
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.SignedMixerControl.MaxValue">
+            <summary>
+            Maximum value for this control
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.SignedMixerControl.Percent">
+            <summary>
+            Value of the control represented as a percentage
+            </summary>
+        </member>
+        <member name="T:NAudio.Mixer.UnsignedMixerControl">
+            <summary>
+            Represents an unsigned mixer control
+            </summary>
+        </member>
+        <member name="M:NAudio.Mixer.UnsignedMixerControl.GetDetails(System.IntPtr)">
+            <summary>
+            Gets the details for this control
+            </summary>
+        </member>
+        <member name="M:NAudio.Mixer.UnsignedMixerControl.ToString">
+            <summary>
+            String Representation for debugging purposes
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.UnsignedMixerControl.Value">
+            <summary>
+            The control value
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.UnsignedMixerControl.MinValue">
+            <summary>
+            The control's minimum value
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.UnsignedMixerControl.MaxValue">
+            <summary>
+            The control's maximum value
+            </summary>
+        </member>
+        <member name="P:NAudio.Mixer.UnsignedMixerControl.Percent">
+            <summary>
+            Value of the control represented as a percentage
+            </summary>
+        </member>
+        <member name="T:NAudio.Utils.BufferHelpers">
+            <summary>
+            Helper methods for working with audio buffers
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.BufferHelpers.Ensure(System.Byte[],System.Int32)">
+            <summary>
+            Ensures the buffer is big enough
+            </summary>
+            <param name="buffer"></param>
+            <param name="bytesRequired"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Utils.BufferHelpers.Ensure(System.Single[],System.Int32)">
+            <summary>
+            Ensures the buffer is big enough
+            </summary>
+            <param name="buffer"></param>
+            <param name="samplesRequired"></param>
+            <returns></returns>
+        </member>
+        <member name="T:NAudio.Utils.ByteEncoding">
+            <summary>
+            An encoding for use with file types that have one byte per character
+            </summary>
+        </member>
+        <member name="F:NAudio.Utils.ByteEncoding.Instance">
+            <summary>
+            The one and only instance of this class
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteEncoding.GetByteCount(System.Char[],System.Int32,System.Int32)">
+            <summary>
+            <see cref="M:System.Text.Encoding.GetByteCount(System.Char[],System.Int32,System.Int32)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteEncoding.GetBytes(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+            <summary>
+            <see cref="M:System.Text.Encoding.GetBytes(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteEncoding.GetCharCount(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            <see cref="M:System.Text.Encoding.GetCharCount(System.Byte[],System.Int32,System.Int32)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteEncoding.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)">
+            <summary>
+            <see cref="M:System.Text.Encoding.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteEncoding.GetMaxCharCount(System.Int32)">
+            <summary>
+            <see cref="M:System.Text.Encoding.GetMaxCharCount(System.Int32)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteEncoding.GetMaxByteCount(System.Int32)">
+            <summary>
+            <see cref="M:System.Text.Encoding.GetMaxByteCount(System.Int32)"/>
+            </summary>
+        </member>
+        <member name="T:NAudio.Utils.CircularBuffer">
+            <summary>
+            A very basic circular buffer implementation
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.CircularBuffer.#ctor(System.Int32)">
+            <summary>
+            Create a new circular buffer
+            </summary>
+            <param name="size">Max buffer size in bytes</param>
+        </member>
+        <member name="M:NAudio.Utils.CircularBuffer.Write(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Write data to the buffer
+            </summary>
+            <param name="data">Data to write</param>
+            <param name="offset">Offset into data</param>
+            <param name="count">Number of bytes to write</param>
+            <returns>number of bytes written</returns>
+        </member>
+        <member name="M:NAudio.Utils.CircularBuffer.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Read from the buffer
+            </summary>
+            <param name="data">Buffer to read into</param>
+            <param name="offset">Offset into read buffer</param>
+            <param name="count">Bytes to read</param>
+            <returns>Number of bytes actually read</returns>
+        </member>
+        <member name="M:NAudio.Utils.CircularBuffer.Reset">
+            <summary>
+            Resets the buffer
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.CircularBuffer.Advance(System.Int32)">
+            <summary>
+            Advances the buffer, discarding bytes
+            </summary>
+            <param name="count">Bytes to advance</param>
+        </member>
+        <member name="P:NAudio.Utils.CircularBuffer.MaxLength">
+            <summary>
+            Maximum length of this circular buffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Utils.CircularBuffer.Count">
+            <summary>
+            Number of bytes currently stored in the circular buffer
+            </summary>
+        </member>
+        <member name="T:NAudio.Utils.Decibels">
+            <summary>
+            A util class for conversions
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.Decibels.LinearToDecibels(System.Double)">
+            <summary>
+            linear to dB conversion
+            </summary>
+            <param name="lin">linear value</param>
+            <returns>decibel value</returns>
+        </member>
+        <member name="M:NAudio.Utils.Decibels.DecibelsToLinear(System.Double)">
+            <summary>
+            dB to linear conversion
+            </summary>
+            <param name="dB">decibel value</param>
+            <returns>linear value</returns>
+        </member>
+        <member name="T:NAudio.Utils.HResult">
+            <summary>
+            HResult
+            </summary>
+        </member>
+        <member name="F:NAudio.Utils.HResult.S_OK">
+            <summary>
+            S_OK
+            </summary>
+        </member>
+        <member name="F:NAudio.Utils.HResult.S_FALSE">
+            <summary>
+            S_FALSE
+            </summary>
+        </member>
+        <member name="F:NAudio.Utils.HResult.E_INVALIDARG">
+            <summary>
+            E_INVALIDARG (from winerror.h)
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.HResult.MAKE_HRESULT(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            MAKE_HRESULT macro
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.HResult.GetHResult(System.Runtime.InteropServices.COMException)">
+            <summary>
+            Helper to deal with the fact that in Win Store apps,
+            the HResult property name has changed
+            </summary>
+            <param name="exception">COM Exception</param>
+            <returns>The HResult</returns>
+        </member>
+        <member name="T:NAudio.Utils.IgnoreDisposeStream">
+            <summary>
+            Pass-through stream that ignores Dispose
+            Useful for dealing with MemoryStreams that you want to re-use
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.IgnoreDisposeStream.#ctor(System.IO.Stream)">
+            <summary>
+            Creates a new IgnoreDisposeStream
+            </summary>
+            <param name="sourceStream">The source stream</param>
+        </member>
+        <member name="M:NAudio.Utils.IgnoreDisposeStream.Flush">
+            <summary>
+            Flushes the underlying stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.IgnoreDisposeStream.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads from the underlying stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.IgnoreDisposeStream.Seek(System.Int64,System.IO.SeekOrigin)">
+            <summary>
+            Seeks on the underlying stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.IgnoreDisposeStream.SetLength(System.Int64)">
+            <summary>
+            Sets the length of the underlying stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.IgnoreDisposeStream.Write(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Writes to the underlying stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.IgnoreDisposeStream.Dispose(System.Boolean)">
+            <summary>
+            Dispose - by default (IgnoreDispose = true) will do nothing,
+            leaving the underlying stream undisposed
+            </summary>
+        </member>
+        <member name="P:NAudio.Utils.IgnoreDisposeStream.SourceStream">
+            <summary>
+            The source stream all other methods fall through to
+            </summary>
+        </member>
+        <member name="P:NAudio.Utils.IgnoreDisposeStream.IgnoreDispose">
+            <summary>
+            If true the Dispose will be ignored, if false, will pass through to the SourceStream
+            Set to true by default
+            </summary>
+        </member>
+        <member name="P:NAudio.Utils.IgnoreDisposeStream.CanRead">
+            <summary>
+            Can Read
+            </summary>
+        </member>
+        <member name="P:NAudio.Utils.IgnoreDisposeStream.CanSeek">
+            <summary>
+            Can Seek
+            </summary>
+        </member>
+        <member name="P:NAudio.Utils.IgnoreDisposeStream.CanWrite">
+            <summary>
+            Can write to the underlying stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Utils.IgnoreDisposeStream.Length">
+            <summary>
+            Gets the length of the underlying stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Utils.IgnoreDisposeStream.Position">
+            <summary>
+            Gets or sets the position of the underlying stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.MergeSort.Sort``1(System.Collections.Generic.IList{``0},System.Int32,System.Int32,System.Collections.Generic.IComparer{``0})">
+            <summary>
+            In-place and stable implementation of MergeSort
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.MergeSort.Sort``1(System.Collections.Generic.IList{``0})">
+            <summary>
+            MergeSort a list of comparable items
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.MergeSort.Sort``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IComparer{``0})">
+            <summary>
+            MergeSort a list 
+            </summary>
+        </member>
+        <member name="T:NAudio.Utils.ProgressLog">
+            <summary>
+            A thread-safe Progress Log Control
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ProgressLog.#ctor">
+            <summary>
+            Creates a new progress log control
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ProgressLog.LogMessage(System.Drawing.Color,System.String)">
+            <summary>
+            Log a message
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ProgressLog.ClearLog">
+            <summary>
+            Clear the log
+            </summary>
+        </member>
+        <member name="F:NAudio.Utils.ProgressLog.components">
+            <summary> 
+            Required designer variable.
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ProgressLog.Dispose(System.Boolean)">
+            <summary> 
+            Clean up any resources being used.
+            </summary>
+            <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        </member>
+        <member name="M:NAudio.Utils.ProgressLog.InitializeComponent">
+            <summary> 
+            Required method for Designer support - do not modify 
+            the contents of this method with the code editor.
+            </summary>
+        </member>
+        <member name="P:NAudio.Utils.ProgressLog.Text">
+            <summary>
+            The contents of the log as text
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioEndpointVolume">
+            <summary>
+            Audio Endpoint Volume
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioEndpointVolume.VolumeStepUp">
+            <summary>
+            Volume Step Up
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioEndpointVolume.VolumeStepDown">
+            <summary>
+            Volume Step Down
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioEndpointVolume.#ctor(NAudio.CoreAudioApi.Interfaces.IAudioEndpointVolume)">
+            <summary>
+            Creates a new Audio endpoint volume
+            </summary>
+            <param name="realEndpointVolume">IAudioEndpointVolume COM interface</param>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioEndpointVolume.Dispose">
+            <summary>
+            Dispose
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioEndpointVolume.Finalize">
+            <summary>
+            Finalizer
+            </summary>
+        </member>
+        <member name="E:NAudio.CoreAudioApi.AudioEndpointVolume.OnVolumeNotification">
+            <summary>
+            On Volume Notification
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolume.VolumeRange">
+            <summary>
+            Volume Range
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolume.HardwareSupport">
+            <summary>
+            Hardware Support
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolume.StepInformation">
+            <summary>
+            Step Information
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolume.Channels">
+            <summary>
+            Channels
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolume.MasterVolumeLevel">
+            <summary>
+            Master Volume Level
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolume.MasterVolumeLevelScalar">
+            <summary>
+            Master Volume Level Scalar
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolume.Mute">
+            <summary>
+            Mute
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioMeterInformation">
+            <summary>
+            Audio Meter Information
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioMeterInformation.PeakValues">
+            <summary>
+            Peak Values
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioMeterInformation.HardwareSupport">
+            <summary>
+            Hardware Support
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioMeterInformation.MasterPeakValue">
+            <summary>
+            Master Peak Value
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.DeviceState">
+            <summary>
+            Device State
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.DeviceState.Active">
+            <summary>
+            DEVICE_STATE_ACTIVE
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.DeviceState.Disabled">
+            <summary>
+            DEVICE_STATE_DISABLED
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.DeviceState.NotPresent">
+            <summary>
+            DEVICE_STATE_NOTPRESENT 
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.DeviceState.Unplugged">
+            <summary>
+            DEVICE_STATE_UNPLUGGED
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.DeviceState.All">
+            <summary>
+            DEVICE_STATEMASK_ALL
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.EEndpointHardwareSupport">
+            <summary>
+            Endpoint Hardware Support
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.EEndpointHardwareSupport.Volume">
+            <summary>
+            Volume
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.EEndpointHardwareSupport.Mute">
+            <summary>
+            Mute
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.EEndpointHardwareSupport.Meter">
+            <summary>
+            Meter
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.ClsCtx">
+            <summary>
+            is defined in WTypes.h
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.DataFlow">
+            <summary>
+            The EDataFlow enumeration defines constants that indicate the direction 
+            in which audio data flows between an audio endpoint device and an application
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.DataFlow.Render">
+            <summary>
+            Audio rendering stream. 
+            Audio data flows from the application to the audio endpoint device, which renders the stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.DataFlow.Capture">
+            <summary>
+            Audio capture stream. Audio data flows from the audio endpoint device that captures the stream, 
+            to the application
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.DataFlow.All">
+            <summary>
+            Audio rendering or capture stream. Audio data can flow either from the application to the audio 
+            endpoint device, or from the audio endpoint device to the application.
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.IAudioClient">
+            <summary>
+            Windows CoreAudio IAudioClient interface
+            Defined in AudioClient.h
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.IAudioClient.GetBufferSize(System.UInt32@)">
+            <summary>
+            The GetBufferSize method retrieves the size (maximum capacity) of the endpoint buffer.
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.IAudioClient.GetService(System.Guid,System.Object@)">
+            <summary>
+            The GetService method accesses additional services from the audio client object.
+            </summary>
+            <param name="interfaceId">The interface ID for the requested service.</param>
+            <param name="interfacePointer">Pointer to a pointer variable into which the method writes the address of an instance of the requested interface. </param>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.IMMEndpoint">
+            <summary>
+            defined in MMDeviceAPI.h
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.IMMNotificationClient">
+            <summary>
+            IMMNotificationClient
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.IMMNotificationClient.OnDeviceStateChanged(System.String,NAudio.CoreAudioApi.DeviceState)">
+            <summary>
+            Device State Changed
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.IMMNotificationClient.OnDeviceAdded(System.String)">
+            <summary>
+            Device Added
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.IMMNotificationClient.OnDeviceRemoved(System.String)">
+            <summary>
+            Device Removed
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.IMMNotificationClient.OnDefaultDeviceChanged(NAudio.CoreAudioApi.DataFlow,NAudio.CoreAudioApi.Role,System.String)">
+            <summary>
+            Default Device Changed
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.IMMNotificationClient.OnPropertyValueChanged(System.String,NAudio.CoreAudioApi.PropertyKey)">
+            <summary>
+            Property Value Changed
+            </summary>
+            <param name="pwstrDeviceId"></param>
+            <param name="key"></param>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.IPropertyStore">
+            <summary>
+            is defined in propsys.h
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.MMDeviceEnumeratorComObject">
+            <summary>
+            implements IMMDeviceEnumerator
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.StorageAccessMode">
+            <summary>
+            MMDevice STGM enumeration
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.PropertyKey">
+            <summary>
+            PROPERTYKEY is defined in wtypes.h
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKey.formatId">
+            <summary>
+            Format ID
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKey.propertyId">
+            <summary>
+            Property ID
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.PropertyKey.#ctor(System.Guid,System.Int32)">
+            <summary>
+            <param name="formatId"></param>
+            <param name="propertyId"></param>
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.PropVariant">
+            <summary>
+            from Propidl.h.
+            http://msdn.microsoft.com/en-us/library/aa380072(VS.85).aspx
+            contains a union so we have to do an explicit layout
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.PropVariant.FromLong(System.Int64)">
+            <summary>
+            Creates a new PropVariant containing a long value
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.PropVariant.GetBlob">
+            <summary>
+            Helper method to gets blob data
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.PropVariant.GetBlobAsArrayOf``1">
+            <summary>
+            Interprets a blob as an array of structs
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.PropVariant.Clear">
+            <summary>
+            allows freeing up memory, might turn this into a Dispose method?
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.Interfaces.PropVariant.DataType">
+            <summary>
+            Gets the type of data in this PropVariant
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.Interfaces.PropVariant.Value">
+            <summary>
+            Property value
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Role">
+            <summary>
+            The ERole enumeration defines constants that indicate the role 
+            that the system has assigned to an audio endpoint device
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.Role.Console">
+            <summary>
+            Games, system notification sounds, and voice commands.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.Role.Multimedia">
+            <summary>
+            Music, movies, narration, and live music recording
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.Role.Communications">
+            <summary>
+            Voice communications (talking to another person).
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.MMDevice">
+            <summary>
+            MM Device
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.MMDevice.ToString">
+            <summary>
+            To string
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDevice.AudioClient">
+            <summary>
+            Audio Client
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDevice.AudioMeterInformation">
+            <summary>
+            Audio Meter Information
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDevice.AudioEndpointVolume">
+            <summary>
+            Audio Endpoint Volume
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDevice.Properties">
+            <summary>
+            Properties
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDevice.FriendlyName">
+            <summary>
+            Friendly name for the endpoint
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDevice.DeviceFriendlyName">
+            <summary>
+            Friendly name of device
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDevice.ID">
+            <summary>
+            Device ID
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDevice.DataFlow">
+            <summary>
+            Data Flow
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDevice.State">
+            <summary>
+            Device State
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.MMDeviceEnumerator">
+            <summary>
+            MM Device Enumerator
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.MMDeviceEnumerator.#ctor">
+            <summary>
+            Creates a new MM Device Enumerator
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.MMDeviceEnumerator.EnumerateAudioEndPoints(NAudio.CoreAudioApi.DataFlow,NAudio.CoreAudioApi.DeviceState)">
+            <summary>
+            Enumerate Audio Endpoints
+            </summary>
+            <param name="dataFlow">Desired DataFlow</param>
+            <param name="dwStateMask">State Mask</param>
+            <returns>Device Collection</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.MMDeviceEnumerator.GetDefaultAudioEndpoint(NAudio.CoreAudioApi.DataFlow,NAudio.CoreAudioApi.Role)">
+            <summary>
+            Get Default Endpoint
+            </summary>
+            <param name="dataFlow">Data Flow</param>
+            <param name="role">Role</param>
+            <returns>Device</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.MMDeviceEnumerator.GetDevice(System.String)">
+            <summary>
+            Get device by ID
+            </summary>
+            <param name="id">Device ID</param>
+            <returns>Device</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.MMDeviceEnumerator.RegisterEndpointNotificationCallback(NAudio.CoreAudioApi.Interfaces.IMMNotificationClient)">
+            <summary>
+            Registers a call back for Device Events
+            </summary>
+            <param name="client">Object implementing IMMNotificationClient type casted as IMMNotificationClient interface</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.MMDeviceEnumerator.UnregisterEndpointNotificationCallback(NAudio.CoreAudioApi.Interfaces.IMMNotificationClient)">
+            <summary>
+            Unregisters a call back for Device Events
+            </summary>
+            <param name="client">Object implementing IMMNotificationClient type casted as IMMNotificationClient interface </param>
+            <returns></returns>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.PropertyStore">
+            <summary>
+            Property Store class, only supports reading properties at the moment.
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.PropertyStore.Contains(NAudio.CoreAudioApi.PropertyKey)">
+            <summary>
+            Contains property guid
+            </summary>
+            <param name="key">Looks for a specific key</param>
+            <returns>True if found</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.PropertyStore.Get(System.Int32)">
+            <summary>
+            Gets property key at sepecified index
+            </summary>
+            <param name="index">Index</param>
+            <returns>Property key</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.PropertyStore.GetValue(System.Int32)">
+            <summary>
+            Gets property value at specified index
+            </summary>
+            <param name="index">Index</param>
+            <returns>Property value</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.PropertyStore.#ctor(NAudio.CoreAudioApi.Interfaces.IPropertyStore)">
+            <summary>
+            Creates a new property store
+            </summary>
+            <param name="store">IPropertyStore COM interface</param>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.PropertyStore.Count">
+            <summary>
+            Property Count
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.PropertyStore.Item(System.Int32)">
+            <summary>
+            Gets property by index
+            </summary>
+            <param name="index">Property index</param>
+            <returns>The property</returns>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.PropertyStore.Item(NAudio.CoreAudioApi.PropertyKey)">
+            <summary>
+            Indexer by guid
+            </summary>
+            <param name="key">Property Key</param>
+            <returns>Property or null if not found</returns>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.PropertyStoreProperty">
+            <summary>
+            Property Store Property
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.PropertyStoreProperty.Key">
+            <summary>
+            Property Key
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.PropertyStoreProperty.Value">
+            <summary>
+            Property Value
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Asio.ASIODriver">
+            <summary>
+            Main ASIODriver Class. To use this class, you need to query first the GetASIODriverNames() and
+            then use the GetASIODriverByName to instantiate the correct ASIODriver.
+            This is the first ASIODriver binding fully implemented in C#!
+            
+            Contributor: Alexandre Mutel - email: alexandre_mutel at yahoo.fr
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.GetASIODriverNames">
+            <summary>
+            Gets the ASIO driver names installed.
+            </summary>
+            <returns>a list of driver names. Use this name to GetASIODriverByName</returns>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.GetASIODriverByName(System.String)">
+            <summary>
+            Instantiate a ASIODriver given its name.
+            </summary>
+            <param name="name">The name of the driver</param>
+            <returns>an ASIODriver instance</returns>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.GetASIODriverByGuid(System.Guid)">
+            <summary>
+            Instantiate the ASIO driver by GUID.
+            </summary>
+            <param name="guid">The GUID.</param>
+            <returns>an ASIODriver instance</returns>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.init(System.IntPtr)">
+            <summary>
+            Inits the ASIODriver..
+            </summary>
+            <param name="sysHandle">The sys handle.</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.getDriverName">
+            <summary>
+            Gets the name of the driver.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.getDriverVersion">
+            <summary>
+            Gets the driver version.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.getErrorMessage">
+            <summary>
+            Gets the error message.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.start">
+            <summary>
+            Starts this instance.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.stop">
+            <summary>
+            Stops this instance.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.getChannels(System.Int32@,System.Int32@)">
+            <summary>
+            Gets the channels.
+            </summary>
+            <param name="numInputChannels">The num input channels.</param>
+            <param name="numOutputChannels">The num output channels.</param>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.GetLatencies(System.Int32@,System.Int32@)">
+            <summary>
+            Gets the latencies (n.b. does not throw an exception)
+            </summary>
+            <param name="inputLatency">The input latency.</param>
+            <param name="outputLatency">The output latency.</param>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.getBufferSize(System.Int32@,System.Int32@,System.Int32@,System.Int32@)">
+            <summary>
+            Gets the size of the buffer.
+            </summary>
+            <param name="minSize">Size of the min.</param>
+            <param name="maxSize">Size of the max.</param>
+            <param name="preferredSize">Size of the preferred.</param>
+            <param name="granularity">The granularity.</param>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.canSampleRate(System.Double)">
+            <summary>
+            Determines whether this instance can use the specified sample rate.
+            </summary>
+            <param name="sampleRate">The sample rate.</param>
+            <returns>
+            	<c>true</c> if this instance [can sample rate] the specified sample rate; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.getSampleRate">
+            <summary>
+            Gets the sample rate.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.setSampleRate(System.Double)">
+            <summary>
+            Sets the sample rate.
+            </summary>
+            <param name="sampleRate">The sample rate.</param>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.getClockSources(System.Int64@,System.Int32)">
+            <summary>
+            Gets the clock sources.
+            </summary>
+            <param name="clocks">The clocks.</param>
+            <param name="numSources">The num sources.</param>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.setClockSource(System.Int32)">
+            <summary>
+            Sets the clock source.
+            </summary>
+            <param name="reference">The reference.</param>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.getSamplePosition(System.Int64@,NAudio.Wave.Asio.ASIO64Bit@)">
+            <summary>
+            Gets the sample position.
+            </summary>
+            <param name="samplePos">The sample pos.</param>
+            <param name="timeStamp">The time stamp.</param>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.getChannelInfo(System.Int32,System.Boolean)">
+            <summary>
+            Gets the channel info.
+            </summary>
+            <param name="channelNumber">The channel number.</param>
+            <param name="trueForInputInfo">if set to <c>true</c> [true for input info].</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.createBuffers(System.IntPtr,System.Int32,System.Int32,NAudio.Wave.Asio.ASIOCallbacks@)">
+            <summary>
+            Creates the buffers.
+            </summary>
+            <param name="bufferInfos">The buffer infos.</param>
+            <param name="numChannels">The num channels.</param>
+            <param name="bufferSize">Size of the buffer.</param>
+            <param name="callbacks">The callbacks.</param>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.disposeBuffers">
+            <summary>
+            Disposes the buffers.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.controlPanel">
+            <summary>
+            Controls the panel.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.future(System.Int32,System.IntPtr)">
+            <summary>
+            Futures the specified selector.
+            </summary>
+            <param name="selector">The selector.</param>
+            <param name="opt">The opt.</param>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.outputReady">
+            <summary>
+            Notifies OutputReady to the ASIODriver.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.ReleaseComASIODriver">
+            <summary>
+            Releases this instance.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.handleException(NAudio.Wave.Asio.ASIOError,System.String)">
+            <summary>
+            Handles the exception. Throws an exception based on the error.
+            </summary>
+            <param name="error">The error to check.</param>
+            <param name="methodName">Method name</param>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriver.initFromGuid(System.Guid)">
+            <summary>
+            Inits the vTable method from GUID. This is a tricky part of this class.
+            </summary>
+            <param name="ASIOGuid">The ASIO GUID.</param>
+        </member>
+        <member name="T:NAudio.Wave.Asio.ASIODriver.ASIODriverVTable">
+            <summary>
+            Internal VTable structure to store all the delegates to the C++ COM method.
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Asio.ASIOFillBufferCallback">
+            <summary>
+            Callback used by the ASIODriverExt to get wave data
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Asio.ASIODriverExt">
+            <summary>
+            ASIODriverExt is a simplified version of the ASIODriver. It provides an easier
+            way to access the capabilities of the Driver and implement the callbacks necessary 
+            for feeding the driver.
+            Implementation inspired from Rob Philpot's with a managed C++ ASIO wrapper BlueWave.Interop.Asio
+            http://www.codeproject.com/KB/mcpp/Asio.Net.aspx
+            
+            Contributor: Alexandre Mutel - email: alexandre_mutel at yahoo.fr
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriverExt.#ctor(NAudio.Wave.Asio.ASIODriver)">
+            <summary>
+            Initializes a new instance of the <see cref="T:NAudio.Wave.Asio.ASIODriverExt"/> class based on an already
+            instantiated ASIODriver instance.
+            </summary>
+            <param name="driver">A ASIODriver already instantiated.</param>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriverExt.SetChannelOffset(System.Int32,System.Int32)">
+            <summary>
+            Allows adjustment of which is the first output channel we write to
+            </summary>
+            <param name="outputChannelOffset">Output Channel offset</param>
+            <param name="inputChannelOffset">Input Channel offset</param>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriverExt.Start">
+            <summary>
+            Starts playing the buffers.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriverExt.Stop">
+            <summary>
+            Stops playing the buffers.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriverExt.ShowControlPanel">
+            <summary>
+            Shows the control panel.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriverExt.ReleaseDriver">
+            <summary>
+            Releases this instance.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriverExt.IsSampleRateSupported(System.Double)">
+            <summary>
+            Determines whether the specified sample rate is supported.
+            </summary>
+            <param name="sampleRate">The sample rate.</param>
+            <returns>
+            	<c>true</c> if [is sample rate supported]; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriverExt.SetSampleRate(System.Double)">
+            <summary>
+            Sets the sample rate.
+            </summary>
+            <param name="sampleRate">The sample rate.</param>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriverExt.CreateBuffers(System.Int32,System.Int32,System.Boolean)">
+            <summary>
+            Creates the buffers for playing.
+            </summary>
+            <param name="numberOfOutputChannels">The number of outputs channels.</param>
+            <param name="numberOfInputChannels">The number of input channel.</param>
+            <param name="useMaxBufferSize">if set to <c>true</c> [use max buffer size] else use Prefered size</param>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriverExt.BuildCapabilities">
+            <summary>
+            Builds the capabilities internally.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriverExt.BufferSwitchCallBack(System.Int32,System.Boolean)">
+            <summary>
+            Callback called by the ASIODriver on fill buffer demand. Redirect call to external callback.
+            </summary>
+            <param name="doubleBufferIndex">Index of the double buffer.</param>
+            <param name="directProcess">if set to <c>true</c> [direct process].</param>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriverExt.SampleRateDidChangeCallBack(System.Double)">
+            <summary>
+            Callback called by the ASIODriver on event "Samples rate changed".
+            </summary>
+            <param name="sRate">The sample rate.</param>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriverExt.AsioMessageCallBack(NAudio.Wave.Asio.ASIOMessageSelector,System.Int32,System.IntPtr,System.IntPtr)">
+            <summary>
+            Asio message call back.
+            </summary>
+            <param name="selector">The selector.</param>
+            <param name="value">The value.</param>
+            <param name="message">The message.</param>
+            <param name="opt">The opt.</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIODriverExt.BufferSwitchTimeInfoCallBack(System.IntPtr,System.Int32,System.Boolean)">
+            <summary>
+            Buffers switch time info call back.
+            </summary>
+            <param name="asioTimeParam">The asio time param.</param>
+            <param name="doubleBufferIndex">Index of the double buffer.</param>
+            <param name="directProcess">if set to <c>true</c> [direct process].</param>
+            <returns></returns>
+        </member>
+        <member name="P:NAudio.Wave.Asio.ASIODriverExt.Driver">
+            <summary>
+            Gets the driver used.
+            </summary>
+            <value>The ASIOdriver.</value>
+        </member>
+        <member name="P:NAudio.Wave.Asio.ASIODriverExt.FillBufferCallback">
+            <summary>
+            Gets or sets the fill buffer callback.
+            </summary>
+            <value>The fill buffer callback.</value>
+        </member>
+        <member name="P:NAudio.Wave.Asio.ASIODriverExt.Capabilities">
+            <summary>
+            Gets the capabilities of the ASIODriver.
+            </summary>
+            <value>The capabilities.</value>
+        </member>
+        <member name="T:NAudio.Wave.Asio.ASIOSampleConvertor">
+            <summary>
+            This class stores convertors for different interleaved WaveFormat to ASIOSampleType separate channel
+            format.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIOSampleConvertor.SelectSampleConvertor(NAudio.Wave.WaveFormat,NAudio.Wave.Asio.AsioSampleType)">
+            <summary>
+            Selects the sample convertor based on the input WaveFormat and the output ASIOSampleTtype.
+            </summary>
+            <param name="waveFormat">The wave format.</param>
+            <param name="asioType">The type.</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIOSampleConvertor.ConvertorShortToInt2Channels(System.IntPtr,System.IntPtr[],System.Int32,System.Int32)">
+            <summary>
+            Optimized convertor for 2 channels SHORT
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIOSampleConvertor.ConvertorShortToIntGeneric(System.IntPtr,System.IntPtr[],System.Int32,System.Int32)">
+            <summary>
+            Generic convertor for SHORT
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIOSampleConvertor.ConvertorFloatToInt2Channels(System.IntPtr,System.IntPtr[],System.Int32,System.Int32)">
+            <summary>
+            Optimized convertor for 2 channels FLOAT
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIOSampleConvertor.ConvertorFloatToIntGeneric(System.IntPtr,System.IntPtr[],System.Int32,System.Int32)">
+            <summary>
+            Generic convertor SHORT
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIOSampleConvertor.ConvertorShortToShort2Channels(System.IntPtr,System.IntPtr[],System.Int32,System.Int32)">
+            <summary>
+            Optimized convertor for 2 channels SHORT
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIOSampleConvertor.ConvertorShortToShortGeneric(System.IntPtr,System.IntPtr[],System.Int32,System.Int32)">
+            <summary>
+            Generic convertor for SHORT
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIOSampleConvertor.ConvertorFloatToShort2Channels(System.IntPtr,System.IntPtr[],System.Int32,System.Int32)">
+            <summary>
+            Optimized convertor for 2 channels FLOAT
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIOSampleConvertor.ConvertorFloatToShortGeneric(System.IntPtr,System.IntPtr[],System.Int32,System.Int32)">
+            <summary>
+            Generic convertor SHORT
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIOSampleConvertor.ConverterFloatTo24LSBGeneric(System.IntPtr,System.IntPtr[],System.Int32,System.Int32)">
+            <summary>
+            Generic converter 24 LSB
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIOSampleConvertor.ConverterFloatToFloatGeneric(System.IntPtr,System.IntPtr[],System.Int32,System.Int32)">
+            <summary>
+            Generic convertor for float
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Asio.ASIOException">
+            <summary>
+            ASIO common Exception.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Asio.ASIOException.getErrorName(NAudio.Wave.Asio.ASIOError)">
+            <summary>
+            Gets the name of the error.
+            </summary>
+            <param name="error">The error.</param>
+            <returns>the name of the error</returns>
+        </member>
+        <member name="T:NAudio.Wave.Compression.AcmDriver">
+            <summary>
+            Represents an installed ACM Driver
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmDriver.IsCodecInstalled(System.String)">
+            <summary>
+            Helper function to determine whether a particular codec is installed
+            </summary>
+            <param name="shortName">The short name of the function</param>
+            <returns>Whether the codec is installed</returns>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmDriver.AddLocalDriver(System.String)">
+            <summary>
+            Attempts to add a new ACM driver from a file
+            </summary>
+            <param name="driverFile">Full path of the .acm or dll file containing the driver</param>
+            <returns>Handle to the driver</returns>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmDriver.RemoveLocalDriver(NAudio.Wave.Compression.AcmDriver)">
+            <summary>
+            Removes a driver previously added using AddLocalDriver
+            </summary>
+            <param name="localDriver">Local driver to remove</param>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmDriver.ShowFormatChooseDialog(System.IntPtr,System.String,NAudio.Wave.Compression.AcmFormatEnumFlags,NAudio.Wave.WaveFormat,NAudio.Wave.WaveFormat@,System.String@,System.String@)">
+            <summary>
+            Show Format Choose Dialog
+            </summary>
+            <param name="ownerWindowHandle">Owner window handle, can be null</param>
+            <param name="windowTitle">Window title</param>
+            <param name="enumFlags">Enumeration flags. None to get everything</param>
+            <param name="enumFormat">Enumeration format. Only needed with certain enumeration flags</param>
+            <param name="selectedFormat">The selected format</param>
+            <param name="selectedFormatDescription">Textual description of the selected format</param>
+            <param name="selectedFormatTagDescription">Textual description of the selected format tag</param>
+            <returns>True if a format was selected</returns>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmDriver.FindByShortName(System.String)">
+            <summary>
+            Finds a Driver by its short name
+            </summary>
+            <param name="shortName">Short Name</param>
+            <returns>The driver, or null if not found</returns>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmDriver.EnumerateAcmDrivers">
+            <summary>
+            Gets a list of the ACM Drivers installed
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmDriver.DriverEnumCallback(System.IntPtr,System.IntPtr,NAudio.Wave.Compression.AcmDriverDetailsSupportFlags)">
+            <summary>
+            The callback for acmDriverEnum
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmDriver.#ctor(System.IntPtr)">
+            <summary>
+            Creates a new ACM Driver object
+            </summary>
+            <param name="hAcmDriver">Driver handle</param>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmDriver.ToString">
+            <summary>
+            ToString
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmDriver.GetFormats(NAudio.Wave.Compression.AcmFormatTag)">
+            <summary>
+            Gets all the supported formats for a given format tag
+            </summary>
+            <param name="formatTag">Format tag</param>
+            <returns>Supported formats</returns>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmDriver.Open">
+            <summary>
+            Opens this driver
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmDriver.Close">
+            <summary>
+            Closes this driver
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmDriver.Dispose">
+            <summary>
+            Dispose
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmDriver.MaxFormatSize">
+            <summary>
+            Gets the maximum size needed to store a WaveFormat for ACM interop functions
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmDriver.ShortName">
+            <summary>
+            The short name of this driver
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmDriver.LongName">
+            <summary>
+            The full name of this driver
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmDriver.DriverId">
+            <summary>
+            The driver ID
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmDriver.FormatTags">
+            <summary>
+            The list of FormatTags for this ACM Driver
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Compression.AcmDriverDetails">
+            <summary>
+            Interop structure for ACM driver details (ACMDRIVERDETAILS)
+            http://msdn.microsoft.com/en-us/library/dd742889%28VS.85%29.aspx
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.ShortNameChars">
+            <summary>
+            ACMDRIVERDETAILS_SHORTNAME_CHARS
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.LongNameChars">
+            <summary>
+            ACMDRIVERDETAILS_LONGNAME_CHARS
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.CopyrightChars">
+            <summary>
+            ACMDRIVERDETAILS_COPYRIGHT_CHARS
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.LicensingChars">
+            <summary>
+            ACMDRIVERDETAILS_LICENSING_CHARS 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.FeaturesChars">
+            <summary>
+            ACMDRIVERDETAILS_FEATURES_CHARS
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.structureSize">
+            <summary>
+            DWORD cbStruct
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.fccType">
+            <summary>
+            FOURCC fccType
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.fccComp">
+            <summary>
+            FOURCC fccComp
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.manufacturerId">
+            <summary>
+            WORD   wMid; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.productId">
+            <summary>
+            WORD wPid
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.acmVersion">
+            <summary>
+            DWORD vdwACM
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.driverVersion">
+            <summary>
+            DWORD vdwDriver
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.supportFlags">
+            <summary>
+            DWORD  fdwSupport;
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.formatTagsCount">
+            <summary>
+            DWORD cFormatTags
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.filterTagsCount">
+            <summary>
+            DWORD cFilterTags
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.hicon">
+            <summary>
+            HICON hicon
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.shortName">
+            <summary>
+            TCHAR  szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS]; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.longName">
+            <summary>
+            TCHAR  szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.copyright">
+            <summary>
+            TCHAR  szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS]; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.licensing">
+            <summary>
+            TCHAR  szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS]; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetails.features">
+            <summary>
+            TCHAR  szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Compression.AcmDriverDetailsSupportFlags">
+            <summary>
+            Flags indicating what support a particular ACM driver has
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetailsSupportFlags.Codec">
+            <summary>ACMDRIVERDETAILS_SUPPORTF_CODEC - Codec</summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetailsSupportFlags.Converter">
+            <summary>ACMDRIVERDETAILS_SUPPORTF_CONVERTER - Converter</summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetailsSupportFlags.Filter">
+            <summary>ACMDRIVERDETAILS_SUPPORTF_FILTER - Filter</summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetailsSupportFlags.Hardware">
+            <summary>ACMDRIVERDETAILS_SUPPORTF_HARDWARE - Hardware</summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetailsSupportFlags.Async">
+            <summary>ACMDRIVERDETAILS_SUPPORTF_ASYNC - Async</summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetailsSupportFlags.Local">
+            <summary>ACMDRIVERDETAILS_SUPPORTF_LOCAL - Local</summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverDetailsSupportFlags.Disabled">
+            <summary>ACMDRIVERDETAILS_SUPPORTF_DISABLED - Disabled</summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverEnumFlags.NoLocal">
+            <summary>
+            ACM_DRIVERENUMF_NOLOCAL, Only global drivers should be included in the enumeration
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmDriverEnumFlags.Disabled">
+            <summary>
+            ACM_DRIVERENUMF_DISABLED, Disabled ACM drivers should be included in the enumeration
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Compression.AcmFormat">
+            <summary>
+            ACM Format
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmFormat.FormatIndex">
+            <summary>
+            Format Index
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmFormat.FormatTag">
+            <summary>
+            Format Tag
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmFormat.SupportFlags">
+            <summary>
+            Support Flags
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmFormat.WaveFormat">
+            <summary>
+            WaveFormat
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmFormat.WaveFormatByteSize">
+            <summary>
+            WaveFormat Size
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmFormat.FormatDescription">
+            <summary>
+            Format Description
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Compression.AcmFormatChoose">
+            <summary>
+            ACMFORMATCHOOSE
+            http://msdn.microsoft.com/en-us/library/dd742911%28VS.85%29.aspx
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChoose.structureSize">
+            <summary>
+            DWORD cbStruct; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChoose.styleFlags">
+            <summary>
+            DWORD fdwStyle; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChoose.ownerWindowHandle">
+            <summary>
+            HWND hwndOwner; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChoose.selectedWaveFormatPointer">
+            <summary>
+            LPWAVEFORMATEX pwfx; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChoose.selectedWaveFormatByteSize">
+            <summary>
+            DWORD cbwfx; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChoose.title">
+            <summary>
+            LPCTSTR pszTitle; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChoose.formatTagDescription">
+            <summary>
+            TCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChoose.formatDescription">
+            <summary>
+            TCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChoose.name">
+            <summary>
+            LPTSTR pszName; 
+            n.b. can be written into
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChoose.nameByteSize">
+            <summary>
+            DWORD cchName
+            Should be at least 128 unless name is zero
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChoose.formatEnumFlags">
+            <summary>
+            DWORD fdwEnum; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChoose.waveFormatEnumPointer">
+            <summary>
+            LPWAVEFORMATEX pwfxEnum; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChoose.instanceHandle">
+            <summary>
+            HINSTANCE hInstance; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChoose.templateName">
+            <summary>
+            LPCTSTR pszTemplateName; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChoose.customData">
+            <summary>
+            LPARAM lCustData; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChoose.windowCallbackFunction">
+            <summary>
+            ACMFORMATCHOOSEHOOKPROC pfnHook; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChooseStyleFlags.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChooseStyleFlags.ShowHelp">
+            <summary>
+            ACMFORMATCHOOSE_STYLEF_SHOWHELP
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChooseStyleFlags.EnableHook">
+            <summary>
+            ACMFORMATCHOOSE_STYLEF_ENABLEHOOK
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChooseStyleFlags.EnableTemplate">
+            <summary>
+            ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChooseStyleFlags.EnableTemplateHandle">
+            <summary>
+            ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChooseStyleFlags.InitToWfxStruct">
+            <summary>
+            ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatChooseStyleFlags.ContextHelp">
+            <summary>
+            ACMFORMATCHOOSE_STYLEF_CONTEXTHELP
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Compression.AcmFormatDetails">
+            <summary>
+            ACMFORMATDETAILS
+            http://msdn.microsoft.com/en-us/library/dd742913%28VS.85%29.aspx
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatDetails.FormatDescriptionChars">
+            <summary>
+            ACMFORMATDETAILS_FORMAT_CHARS
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatDetails.structSize">
+            <summary>
+            DWORD cbStruct; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatDetails.formatIndex">
+            <summary>
+            DWORD dwFormatIndex; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatDetails.formatTag">
+            <summary>
+            DWORD dwFormatTag; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatDetails.supportFlags">
+            <summary>
+            DWORD fdwSupport; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatDetails.waveFormatPointer">
+            <summary>
+            LPWAVEFORMATEX pwfx; 
+            </summary>    
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatDetails.waveFormatByteSize">
+            <summary>
+            DWORD cbwfx; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatDetails.formatDescription">
+            <summary>
+            TCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Compression.AcmFormatEnumFlags">
+            <summary>
+            Format Enumeration Flags
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatEnumFlags.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatEnumFlags.Convert">
+            <summary>
+            ACM_FORMATENUMF_CONVERT
+            The WAVEFORMATEX structure pointed to by the pwfx member of the ACMFORMATDETAILS structure is valid. The enumerator will only enumerate destination formats that can be converted from the given pwfx format. 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatEnumFlags.Hardware">
+            <summary>
+            ACM_FORMATENUMF_HARDWARE
+            The enumerator should only enumerate formats that are supported as native input or output formats on one or more of the installed waveform-audio devices. This flag provides a way for an application to choose only formats native to an installed waveform-audio device. This flag must be used with one or both of the ACM_FORMATENUMF_INPUT and ACM_FORMATENUMF_OUTPUT flags. Specifying both ACM_FORMATENUMF_INPUT and ACM_FORMATENUMF_OUTPUT will enumerate only formats that can be opened for input or output. This is true regardless of whether this flag is specified. 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatEnumFlags.Input">
+            <summary>
+            ACM_FORMATENUMF_INPUT
+            Enumerator should enumerate only formats that are supported for input (recording). 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatEnumFlags.Channels">
+            <summary>
+            ACM_FORMATENUMF_NCHANNELS 
+            The nChannels member of the WAVEFORMATEX structure pointed to by the pwfx member of the ACMFORMATDETAILS structure is valid. The enumerator will enumerate only a format that conforms to this attribute. 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatEnumFlags.SamplesPerSecond">
+            <summary>
+            ACM_FORMATENUMF_NSAMPLESPERSEC
+            The nSamplesPerSec member of the WAVEFORMATEX structure pointed to by the pwfx member of the ACMFORMATDETAILS structure is valid. The enumerator will enumerate only a format that conforms to this attribute. 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatEnumFlags.Output">
+            <summary>
+            ACM_FORMATENUMF_OUTPUT 
+            Enumerator should enumerate only formats that are supported for output (playback). 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatEnumFlags.Suggest">
+            <summary>
+            ACM_FORMATENUMF_SUGGEST
+            The WAVEFORMATEX structure pointed to by the pwfx member of the ACMFORMATDETAILS structure is valid. The enumerator will enumerate all suggested destination formats for the given pwfx format. This mechanism can be used instead of the acmFormatSuggest function to allow an application to choose the best suggested format for conversion. The dwFormatIndex member will always be set to zero on return. 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatEnumFlags.BitsPerSample">
+            <summary>
+            ACM_FORMATENUMF_WBITSPERSAMPLE
+            The wBitsPerSample member of the WAVEFORMATEX structure pointed to by the pwfx member of the ACMFORMATDETAILS structure is valid. The enumerator will enumerate only a format that conforms to this attribute. 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatEnumFlags.FormatTag">
+            <summary>
+            ACM_FORMATENUMF_WFORMATTAG
+            The wFormatTag member of the WAVEFORMATEX structure pointed to by the pwfx member of the ACMFORMATDETAILS structure is valid. The enumerator will enumerate only a format that conforms to this attribute. The dwFormatTag member of the ACMFORMATDETAILS structure must be equal to the wFormatTag member. 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatSuggestFlags.FormatTag">
+            <summary>
+            ACM_FORMATSUGGESTF_WFORMATTAG
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatSuggestFlags.Channels">
+            <summary>
+            ACM_FORMATSUGGESTF_NCHANNELS
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatSuggestFlags.SamplesPerSecond">
+            <summary>
+            ACM_FORMATSUGGESTF_NSAMPLESPERSEC
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatSuggestFlags.BitsPerSample">
+            <summary>
+            ACM_FORMATSUGGESTF_WBITSPERSAMPLE
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatSuggestFlags.TypeMask">
+            <summary>
+            ACM_FORMATSUGGESTF_TYPEMASK
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Compression.AcmFormatTag">
+            <summary>
+            ACM Format Tag
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmFormatTag.FormatTagIndex">
+            <summary>
+            Format Tag Index
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmFormatTag.FormatTag">
+            <summary>
+            Format Tag
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmFormatTag.FormatSize">
+            <summary>
+            Format Size
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmFormatTag.SupportFlags">
+            <summary>
+            Support Flags
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmFormatTag.StandardFormatsCount">
+            <summary>
+            Standard Formats Count
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmFormatTag.FormatDescription">
+            <summary>
+            Format Description
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatTagDetails.FormatTagDescriptionChars">
+            <summary>
+            ACMFORMATTAGDETAILS_FORMATTAG_CHARS
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatTagDetails.structureSize">
+            <summary>
+            DWORD cbStruct; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatTagDetails.formatTagIndex">
+            <summary>
+            DWORD dwFormatTagIndex; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatTagDetails.formatTag">
+            <summary>
+            DWORD dwFormatTag; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatTagDetails.formatSize">
+            <summary>
+            DWORD cbFormatSize; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatTagDetails.supportFlags">
+            <summary>
+            DWORD fdwSupport;
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatTagDetails.standardFormatsCount">
+            <summary>
+            DWORD cStandardFormats; 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmFormatTagDetails.formatDescription">
+            <summary>
+            TCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]; 
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Compression.AcmInterop">
+            <summary>
+            Interop definitions for Windows ACM (Audio Compression Manager) API
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmInterop.acmFormatSuggest(System.IntPtr,NAudio.Wave.WaveFormat,NAudio.Wave.WaveFormat,System.Int32,NAudio.Wave.Compression.AcmFormatSuggestFlags)">
+            <summary>
+            http://msdn.microsoft.com/en-us/library/dd742916%28VS.85%29.aspx
+            MMRESULT acmFormatSuggest(
+            HACMDRIVER had,          
+            LPWAVEFORMATEX pwfxSrc,  
+            LPWAVEFORMATEX pwfxDst,  
+            DWORD cbwfxDst,          
+            DWORD fdwSuggest);
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmInterop.acmStreamOpen(System.IntPtr@,System.IntPtr,NAudio.Wave.WaveFormat,NAudio.Wave.WaveFormat,NAudio.Wave.Compression.WaveFilter,System.IntPtr,System.IntPtr,NAudio.Wave.Compression.AcmStreamOpenFlags)">
+            <summary>
+            http://msdn.microsoft.com/en-us/library/dd742928%28VS.85%29.aspx
+            MMRESULT acmStreamOpen(
+              LPHACMSTREAM    phas,       
+              HACMDRIVER      had,        
+              LPWAVEFORMATEX  pwfxSrc,    
+              LPWAVEFORMATEX  pwfxDst,    
+              LPWAVEFILTER    pwfltr,     
+              DWORD_PTR       dwCallback, 
+              DWORD_PTR       dwInstance, 
+              DWORD           fdwOpen     
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmInterop.acmStreamOpen2(System.IntPtr@,System.IntPtr,System.IntPtr,System.IntPtr,NAudio.Wave.Compression.WaveFilter,System.IntPtr,System.IntPtr,NAudio.Wave.Compression.AcmStreamOpenFlags)">
+            <summary>
+            A version with pointers for troubleshooting
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Compression.AcmInterop.AcmFormatChooseHookProc">
+            <summary>
+            http://msdn.microsoft.com/en-us/library/dd742910%28VS.85%29.aspx
+            UINT ACMFORMATCHOOSEHOOKPROC acmFormatChooseHookProc(
+              HWND hwnd,     
+              UINT uMsg,     
+              WPARAM wParam, 
+              LPARAM lParam  
+            </summary>        
+        </member>
+        <member name="F:NAudio.Wave.AcmMetrics.CountDrivers">
+            <summary>ACM_METRIC_COUNT_DRIVERS</summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmMetrics.CountCodecs">
+            <summary>ACM_METRIC_COUNT_CODECS</summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmMetrics.CountConverters">
+            <summary>ACM_METRIC_COUNT_CONVERTERS</summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmMetrics.CountFilters">
+            <summary>ACM_METRIC_COUNT_FILTERS</summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmMetrics.CountDisabled">
+            <summary>ACM_METRIC_COUNT_DISABLED</summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmMetrics.CountHardware">
+            <summary>ACM_METRIC_COUNT_HARDWARE</summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmMetrics.CountLocalDrivers">
+            <summary>ACM_METRIC_COUNT_LOCAL_DRIVERS</summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmMetrics.CountLocalCodecs">
+            <summary>ACM_METRIC_COUNT_LOCAL_CODECS</summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmMetrics.CountLocalConverters">
+            <summary>ACM_METRIC_COUNT_LOCAL_CONVERTERS</summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmMetrics.CountLocalFilters">
+            <summary>ACM_METRIC_COUNT_LOCAL_FILTERS</summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmMetrics.CountLocalDisabled">
+            <summary>ACM_METRIC_COUNT_LOCAL_DISABLED</summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmMetrics.HardwareWaveInput">
+            <summary>ACM_METRIC_HARDWARE_WAVE_INPUT</summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmMetrics.HardwareWaveOutput">
+            <summary>ACM_METRIC_HARDWARE_WAVE_OUTPUT</summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmMetrics.MaxSizeFormat">
+            <summary>ACM_METRIC_MAX_SIZE_FORMAT</summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmMetrics.MaxSizeFilter">
+            <summary>ACM_METRIC_MAX_SIZE_FILTER</summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmMetrics.DriverSupport">
+            <summary>ACM_METRIC_DRIVER_SUPPORT</summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmMetrics.DriverPriority">
+            <summary>ACM_METRIC_DRIVER_PRIORITY</summary>
+        </member>
+        <member name="T:NAudio.Wave.Compression.AcmStream">
+            <summary>
+            AcmStream encapsulates an Audio Compression Manager Stream
+            used to convert audio from one format to another
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmStream.#ctor(NAudio.Wave.WaveFormat,NAudio.Wave.WaveFormat)">
+            <summary>
+            Creates a new ACM stream to convert one format to another. Note that
+            not all conversions can be done in one step
+            </summary>
+            <param name="sourceFormat">The source audio format</param>
+            <param name="destFormat">The destination audio format</param>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmStream.#ctor(System.IntPtr,NAudio.Wave.WaveFormat,NAudio.Wave.Compression.WaveFilter)">
+            <summary>
+            Creates a new ACM stream to convert one format to another, using a 
+            specified driver identified and wave filter
+            </summary>
+            <param name="driverId">the driver identifier</param>
+            <param name="sourceFormat">the source format</param>
+            <param name="waveFilter">the wave filter</param>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmStream.SourceToDest(System.Int32)">
+            <summary>
+            Returns the number of output bytes for a given number of input bytes
+            </summary>
+            <param name="source">Number of input bytes</param>
+            <returns>Number of output bytes</returns>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmStream.DestToSource(System.Int32)">
+            <summary>
+            Returns the number of source bytes for a given number of destination bytes
+            </summary>
+            <param name="dest">Number of destination bytes</param>
+            <returns>Number of source bytes</returns>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmStream.SuggestPcmFormat(NAudio.Wave.WaveFormat)">
+            <summary>
+            Suggests an appropriate PCM format that the compressed format can be converted
+            to in one step
+            </summary>
+            <param name="compressedFormat">The compressed format</param>
+            <returns>The PCM format</returns>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmStream.Reposition">
+            <summary>
+            Report that we have repositioned in the source stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmStream.Convert(System.Int32,System.Int32@)">
+            <summary>
+            Converts the contents of the SourceBuffer into the DestinationBuffer
+            </summary>
+            <param name="bytesToConvert">The number of bytes in the SourceBuffer
+            that need to be converted</param>
+            <param name="sourceBytesConverted">The number of source bytes actually converted</param>
+            <returns>The number of converted bytes in the DestinationBuffer</returns>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmStream.Convert(System.Int32)">
+            <summary>
+            Converts the contents of the SourceBuffer into the DestinationBuffer
+            </summary>
+            <param name="bytesToConvert">The number of bytes in the SourceBuffer
+            that need to be converted</param>
+            <returns>The number of converted bytes in the DestinationBuffer</returns>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmStream.Dispose">
+            <summary>
+            Frees resources associated with this ACM Stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmStream.Dispose(System.Boolean)">
+            <summary>
+            Frees resources associated with this ACM Stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Compression.AcmStream.Finalize">
+            <summary>
+            Frees resources associated with this ACM Stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmStream.SourceBuffer">
+            <summary>
+            Returns the Source Buffer. Fill this with data prior to calling convert
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Compression.AcmStream.DestBuffer">
+            <summary>
+            Returns the Destination buffer. This will contain the converted data
+            after a successful call to Convert
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmStreamConvertFlags.BlockAlign">
+            <summary>
+            ACM_STREAMCONVERTF_BLOCKALIGN
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmStreamConvertFlags.Start">
+            <summary>
+            ACM_STREAMCONVERTF_START
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.AcmStreamConvertFlags.End">
+            <summary>
+            ACM_STREAMCONVERTF_END
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmStreamHeaderStatusFlags.Done">
+            <summary>
+            ACMSTREAMHEADER_STATUSF_DONE
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmStreamHeaderStatusFlags.Prepared">
+            <summary>
+            ACMSTREAMHEADER_STATUSF_PREPARED
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmStreamHeaderStatusFlags.InQueue">
+            <summary>
+            ACMSTREAMHEADER_STATUSF_INQUEUE
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Compression.AcmStreamHeaderStruct">
+            <summary>
+            Interop structure for ACM stream headers.
+            ACMSTREAMHEADER 
+            http://msdn.microsoft.com/en-us/library/dd742926%28VS.85%29.aspx
+            </summary>    
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmStreamOpenFlags.Query">
+            <summary>
+            ACM_STREAMOPENF_QUERY, ACM will be queried to determine whether it supports the given conversion. A conversion stream will not be opened, and no handle will be returned in the phas parameter. 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmStreamOpenFlags.Async">
+            <summary>
+            ACM_STREAMOPENF_ASYNC, Stream conversion should be performed asynchronously. If this flag is specified, the application can use a callback function to be notified when the conversion stream is opened and closed and after each buffer is converted. In addition to using a callback function, an application can examine the fdwStatus member of the ACMSTREAMHEADER structure for the ACMSTREAMHEADER_STATUSF_DONE flag. 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmStreamOpenFlags.NonRealTime">
+            <summary>
+            ACM_STREAMOPENF_NONREALTIME, ACM will not consider time constraints when converting the data. By default, the driver will attempt to convert the data in real time. For some formats, specifying this flag might improve the audio quality or other characteristics.
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmStreamOpenFlags.CallbackTypeMask">
+            <summary>
+            CALLBACK_TYPEMASK, callback type mask
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmStreamOpenFlags.CallbackNull">
+            <summary>
+            CALLBACK_NULL, no callback
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmStreamOpenFlags.CallbackWindow">
+            <summary>
+            CALLBACK_WINDOW, dwCallback is a HWND
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmStreamOpenFlags.CallbackTask">
+            <summary>
+            CALLBACK_TASK, dwCallback is a HTASK
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmStreamOpenFlags.CallbackFunction">
+            <summary>
+            CALLBACK_FUNCTION, dwCallback is a FARPROC
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmStreamOpenFlags.CallbackThread">
+            <summary>
+            CALLBACK_THREAD, thread ID replaces 16 bit task
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmStreamOpenFlags.CallbackEvent">
+            <summary>
+            CALLBACK_EVENT, dwCallback is an EVENT Handle
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmStreamSizeFlags.Source">
+            <summary>
+            ACM_STREAMSIZEF_SOURCE
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.AcmStreamSizeFlags.Destination">
+            <summary>
+            ACM_STREAMSIZEF_DESTINATION
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Compression.WaveFilter">
+            <summary>
+            Summary description for WaveFilter.
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.WaveFilter.StructureSize">
+            <summary>
+            cbStruct
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.WaveFilter.FilterTag">
+            <summary>
+            dwFilterTag
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.WaveFilter.Filter">
+            <summary>
+            fdwFilter
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Compression.WaveFilter.Reserved">
+            <summary>
+            reserved
+            </summary>
+        </member>
+        <member name="T:NAudio.Manufacturers">
+            <summary>
+            Manufacturer codes from mmreg.h
+            </summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Microsoft">
+            <summary>Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Creative">
+            <summary>Creative Labs, Inc</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Mediavision">
+            <summary>Media Vision, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Fujitsu">
+            <summary>Fujitsu Corp.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Artisoft">
+            <summary>Artisoft, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.TurtleBeach">
+            <summary>Turtle Beach, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Ibm">
+            <summary>IBM Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Vocaltec">
+            <summary>Vocaltec LTD.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Roland">
+            <summary>Roland</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.DspSolutions">
+            <summary>DSP Solutions, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Nec">
+            <summary>NEC</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Ati">
+            <summary>ATI</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Wanglabs">
+            <summary>Wang Laboratories, Inc</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Tandy">
+            <summary>Tandy Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Voyetra">
+            <summary>Voyetra</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Antex">
+            <summary>Antex Electronics Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.IclPS">
+            <summary>ICL Personal Systems</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Intel">
+            <summary>Intel Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Gravis">
+            <summary>Advanced Gravis</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Val">
+            <summary>Video Associates Labs, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Interactive">
+            <summary>InterActive Inc</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Yamaha">
+            <summary>Yamaha Corporation of America</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Everex">
+            <summary>Everex Systems, Inc</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Echo">
+            <summary>Echo Speech Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Sierra">
+            <summary>Sierra Semiconductor Corp</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Cat">
+            <summary>Computer Aided Technologies</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Apps">
+            <summary>APPS Software International</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.DspGroup">
+            <summary>DSP Group, Inc</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Melabs">
+            <summary>microEngineering Labs</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.ComputerFriends">
+            <summary>Computer Friends, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Ess">
+            <summary>ESS Technology</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Audiofile">
+            <summary>Audio, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Motorola">
+            <summary>Motorola, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Canopus">
+            <summary>Canopus, co., Ltd.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Epson">
+            <summary>Seiko Epson Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Truevision">
+            <summary>Truevision</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Aztech">
+            <summary>Aztech Labs, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Videologic">
+            <summary>Videologic</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Scalacs">
+            <summary>SCALACS</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Korg">
+            <summary>Korg Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Apt">
+            <summary>Audio Processing Technology</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Ics">
+            <summary>Integrated Circuit Systems, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Iteratedsys">
+            <summary>Iterated Systems, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Metheus">
+            <summary>Metheus</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Logitech">
+            <summary>Logitech, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Winnov">
+            <summary>Winnov, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Ncr">
+            <summary>NCR Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Exan">
+            <summary>EXAN</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Ast">
+            <summary>AST Research Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Willowpond">
+            <summary>Willow Pond Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Sonicfoundry">
+            <summary>Sonic Foundry</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Vitec">
+            <summary>Vitec Multimedia</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Moscom">
+            <summary>MOSCOM Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Siliconsoft">
+            <summary>Silicon Soft, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Supermac">
+            <summary>Supermac</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Audiopt">
+            <summary>Audio Processing Technology</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Speechcomp">
+            <summary>Speech Compression</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Ahead">
+            <summary>Ahead, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Dolby">
+            <summary>Dolby Laboratories</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Oki">
+            <summary>OKI</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Auravision">
+            <summary>AuraVision Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Olivetti">
+            <summary>Ing C. Olivetti &amp; C., S.p.A.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Iomagic">
+            <summary>I/O Magic Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Matsushita">
+            <summary>Matsushita Electric Industrial Co., LTD.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Controlres">
+            <summary>Control Resources Limited</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Xebec">
+            <summary>Xebec Multimedia Solutions Limited</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Newmedia">
+            <summary>New Media Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Nms">
+            <summary>Natural MicroSystems</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Lyrrus">
+            <summary>Lyrrus Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Compusic">
+            <summary>Compusic</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Opti">
+            <summary>OPTi Computers Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Adlacc">
+            <summary>Adlib Accessories Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Compaq">
+            <summary>Compaq Computer Corp.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Dialogic">
+            <summary>Dialogic Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Insoft">
+            <summary>InSoft, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Mptus">
+            <summary>M.P. Technologies, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Weitek">
+            <summary>Weitek</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.LernoutAndHauspie">
+            <summary>Lernout &amp; Hauspie</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Qciar">
+            <summary>Quanta Computer Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Apple">
+            <summary>Apple Computer, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Digital">
+            <summary>Digital Equipment Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Motu">
+            <summary>Mark of the Unicorn</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Workbit">
+            <summary>Workbit Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Ositech">
+            <summary>Ositech Communications Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Miro">
+            <summary>miro Computer Products AG</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Cirruslogic">
+            <summary>Cirrus Logic</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Isolution">
+            <summary>ISOLUTION  B.V.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Horizons">
+            <summary>Horizons Technology, Inc</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Concepts">
+            <summary>Computer Concepts Ltd</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Vtg">
+            <summary>Voice Technologies Group, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Radius">
+            <summary>Radius</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Rockwell">
+            <summary>Rockwell International</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Xyz">
+            <summary>Co. XYZ for testing</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Opcode">
+            <summary>Opcode Systems</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Voxware">
+            <summary>Voxware Inc</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.NorthernTelecom">
+            <summary>Northern Telecom Limited</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Apicom">
+            <summary>APICOM</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Grande">
+            <summary>Grande Software</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Addx">
+            <summary>ADDX</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Wildcat">
+            <summary>Wildcat Canyon Software</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Rhetorex">
+            <summary>Rhetorex Inc</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Brooktree">
+            <summary>Brooktree Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Ensoniq">
+            <summary>ENSONIQ Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Fast">
+            <summary>FAST Multimedia AG</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Nvidia">
+            <summary>NVidia Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Oksori">
+            <summary>OKSORI Co., Ltd.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Diacoustics">
+            <summary>DiAcoustics, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Gulbransen">
+            <summary>Gulbransen, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.KayElemetrics">
+            <summary>Kay Elemetrics, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Crystal">
+            <summary>Crystal Semiconductor Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.SplashStudios">
+            <summary>Splash Studios</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Quarterdeck">
+            <summary>Quarterdeck Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Tdk">
+            <summary>TDK Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.DigitalAudioLabs">
+            <summary>Digital Audio Labs, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Seersys">
+            <summary>Seer Systems, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Picturetel">
+            <summary>PictureTel Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.AttMicroelectronics">
+            <summary>AT&amp;T Microelectronics</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Osprey">
+            <summary>Osprey Technologies, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Mediatrix">
+            <summary>Mediatrix Peripherals</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Soundesigns">
+            <summary>SounDesignS M.C.S. Ltd.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Aldigital">
+            <summary>A.L. Digital Ltd.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.SpectrumSignalProcessing">
+            <summary>Spectrum Signal Processing, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Ecs">
+            <summary>Electronic Courseware Systems, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Amd">
+            <summary>AMD</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Coredynamics">
+            <summary>Core Dynamics</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Canam">
+            <summary>CANAM Computers</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Softsound">
+            <summary>Softsound, Ltd.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Norris">
+            <summary>Norris Communications, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Ddd">
+            <summary>Danka Data Devices</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Euphonics">
+            <summary>EuPhonics</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Precept">
+            <summary>Precept Software, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.CrystalNet">
+            <summary>Crystal Net Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Chromatic">
+            <summary>Chromatic Research, Inc</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Voiceinfo">
+            <summary>Voice Information Systems, Inc</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Viennasys">
+            <summary>Vienna Systems</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Connectix">
+            <summary>Connectix Corporation</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Gadgetlabs">
+            <summary>Gadget Labs LLC</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Frontier">
+            <summary>Frontier Design Group LLC</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Viona">
+            <summary>Viona Development GmbH</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Casio">
+            <summary>Casio Computer Co., LTD</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.Diamondmm">
+            <summary>Diamond Multimedia</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.S3">
+            <summary>S3</summary>
+        </member>
+        <member name="F:NAudio.Manufacturers.FraunhoferIis">
+            <summary>Fraunhofer</summary>
+        </member>
+        <member name="T:NAudio.MmException">
+            <summary>
+            Summary description for MmException.
+            </summary>
+        </member>
+        <member name="M:NAudio.MmException.#ctor(NAudio.MmResult,System.String)">
+            <summary>
+            Creates a new MmException
+            </summary>
+            <param name="result">The result returned by the Windows API call</param>
+            <param name="function">The name of the Windows API that failed</param>
+        </member>
+        <member name="M:NAudio.MmException.Try(NAudio.MmResult,System.String)">
+            <summary>
+            Helper function to automatically raise an exception on failure
+            </summary>
+            <param name="result">The result of the API call</param>
+            <param name="function">The API function name</param>
+        </member>
+        <member name="P:NAudio.MmException.Result">
+            <summary>
+            Returns the Windows API result
+            </summary>
+        </member>
+        <member name="T:NAudio.MmResult">
+            <summary>
+            Windows multimedia error codes from mmsystem.h.
+            </summary>
+        </member>
+        <member name="F:NAudio.MmResult.NoError">
+            <summary>no error, MMSYSERR_NOERROR</summary>
+        </member>
+        <member name="F:NAudio.MmResult.UnspecifiedError">
+            <summary>unspecified error, MMSYSERR_ERROR</summary>
+        </member>
+        <member name="F:NAudio.MmResult.BadDeviceId">
+            <summary>device ID out of range, MMSYSERR_BADDEVICEID</summary>
+        </member>
+        <member name="F:NAudio.MmResult.NotEnabled">
+            <summary>driver failed enable, MMSYSERR_NOTENABLED</summary>
+        </member>
+        <member name="F:NAudio.MmResult.AlreadyAllocated">
+            <summary>device already allocated, MMSYSERR_ALLOCATED</summary>
+        </member>
+        <member name="F:NAudio.MmResult.InvalidHandle">
+            <summary>device handle is invalid, MMSYSERR_INVALHANDLE</summary>
+        </member>
+        <member name="F:NAudio.MmResult.NoDriver">
+            <summary>no device driver present, MMSYSERR_NODRIVER</summary>
+        </member>
+        <member name="F:NAudio.MmResult.MemoryAllocationError">
+            <summary>memory allocation error, MMSYSERR_NOMEM</summary>
+        </member>
+        <member name="F:NAudio.MmResult.NotSupported">
+            <summary>function isn't supported, MMSYSERR_NOTSUPPORTED</summary>
+        </member>
+        <member name="F:NAudio.MmResult.BadErrorNumber">
+            <summary>error value out of range, MMSYSERR_BADERRNUM</summary>
+        </member>
+        <member name="F:NAudio.MmResult.InvalidFlag">
+            <summary>invalid flag passed, MMSYSERR_INVALFLAG</summary>
+        </member>
+        <member name="F:NAudio.MmResult.InvalidParameter">
+            <summary>invalid parameter passed, MMSYSERR_INVALPARAM</summary>
+        </member>
+        <member name="F:NAudio.MmResult.HandleBusy">
+            <summary>handle being used simultaneously on another thread (eg callback),MMSYSERR_HANDLEBUSY</summary>
+        </member>
+        <member name="F:NAudio.MmResult.InvalidAlias">
+            <summary>specified alias not found, MMSYSERR_INVALIDALIAS</summary>
+        </member>
+        <member name="F:NAudio.MmResult.BadRegistryDatabase">
+            <summary>bad registry database, MMSYSERR_BADDB</summary>
+        </member>
+        <member name="F:NAudio.MmResult.RegistryKeyNotFound">
+            <summary>registry key not found, MMSYSERR_KEYNOTFOUND</summary>
+        </member>
+        <member name="F:NAudio.MmResult.RegistryReadError">
+            <summary>registry read error, MMSYSERR_READERROR</summary>
+        </member>
+        <member name="F:NAudio.MmResult.RegistryWriteError">
+            <summary>registry write error, MMSYSERR_WRITEERROR</summary>
+        </member>
+        <member name="F:NAudio.MmResult.RegistryDeleteError">
+            <summary>registry delete error, MMSYSERR_DELETEERROR</summary>
+        </member>
+        <member name="F:NAudio.MmResult.RegistryValueNotFound">
+            <summary>registry value not found, MMSYSERR_VALNOTFOUND</summary>
+        </member>
+        <member name="F:NAudio.MmResult.NoDriverCallback">
+            <summary>driver does not call DriverCallback, MMSYSERR_NODRIVERCB</summary>
+        </member>
+        <member name="F:NAudio.MmResult.MoreData">
+            <summary>more data to be returned, MMSYSERR_MOREDATA</summary>
+        </member>
+        <member name="F:NAudio.MmResult.WaveBadFormat">
+            <summary>unsupported wave format, WAVERR_BADFORMAT</summary>
+        </member>
+        <member name="F:NAudio.MmResult.WaveStillPlaying">
+            <summary>still something playing, WAVERR_STILLPLAYING</summary>
+        </member>
+        <member name="F:NAudio.MmResult.WaveHeaderUnprepared">
+            <summary>header not prepared, WAVERR_UNPREPARED</summary>
+        </member>
+        <member name="F:NAudio.MmResult.WaveSync">
+            <summary>device is synchronous, WAVERR_SYNC</summary>
+        </member>
+        <member name="F:NAudio.MmResult.AcmNotPossible">
+            <summary>Conversion not possible (ACMERR_NOTPOSSIBLE)</summary>
+        </member>
+        <member name="F:NAudio.MmResult.AcmBusy">
+            <summary>Busy (ACMERR_BUSY)</summary>
+        </member>
+        <member name="F:NAudio.MmResult.AcmHeaderUnprepared">
+            <summary>Header Unprepared (ACMERR_UNPREPARED)</summary>
+        </member>
+        <member name="F:NAudio.MmResult.AcmCancelled">
+            <summary>Cancelled (ACMERR_CANCELED)</summary>
+        </member>
+        <member name="F:NAudio.MmResult.MixerInvalidLine">
+            <summary>invalid line (MIXERR_INVALLINE)</summary>
+        </member>
+        <member name="F:NAudio.MmResult.MixerInvalidControl">
+            <summary>invalid control (MIXERR_INVALCONTROL)</summary>
+        </member>
+        <member name="F:NAudio.MmResult.MixerInvalidValue">
+            <summary>invalid value (MIXERR_INVALVALUE)</summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveHeader">
+            <summary>
+            WaveHeader interop structure (WAVEHDR)
+            http://msdn.microsoft.com/en-us/library/dd743837%28VS.85%29.aspx
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveHeader.dataBuffer">
+            <summary>pointer to locked data buffer (lpData)</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveHeader.bufferLength">
+            <summary>length of data buffer (dwBufferLength)</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveHeader.bytesRecorded">
+            <summary>used for input only (dwBytesRecorded)</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveHeader.userData">
+            <summary>for client's use (dwUser)</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveHeader.flags">
+            <summary>assorted flags (dwFlags)</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveHeader.loops">
+            <summary>loop control counter (dwLoops)</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveHeader.next">
+            <summary>PWaveHdr, reserved for driver (lpNext)</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveHeader.reserved">
+            <summary>reserved for driver</summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveHeaderFlags">
+            <summary>
+            Wave Header Flags enumeration
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveHeaderFlags.BeginLoop">
+            <summary>
+            WHDR_BEGINLOOP
+            This buffer is the first buffer in a loop.  This flag is used only with output buffers.
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveHeaderFlags.Done">
+            <summary>
+            WHDR_DONE
+            Set by the device driver to indicate that it is finished with the buffer and is returning it to the application.
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveHeaderFlags.EndLoop">
+            <summary>
+            WHDR_ENDLOOP
+            This buffer is the last buffer in a loop.  This flag is used only with output buffers.
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveHeaderFlags.InQueue">
+            <summary>
+            WHDR_INQUEUE
+            Set by Windows to indicate that the buffer is queued for playback.
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveHeaderFlags.Prepared">
+            <summary>
+            WHDR_PREPARED
+            Set by Windows to indicate that the buffer has been prepared with the waveInPrepareHeader or waveOutPrepareHeader function.
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WasapiLoopbackCapture">
+            <summary>
+            WASAPI Loopback Capture
+            based on a contribution from "Pygmy" - http://naudio.codeplex.com/discussions/203605
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WasapiLoopbackCapture.#ctor">
+            <summary>
+            Initialises a new instance of the WASAPI capture class
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WasapiLoopbackCapture.#ctor(NAudio.CoreAudioApi.MMDevice)">
+            <summary>
+            Initialises a new instance of the WASAPI capture class
+            </summary>
+            <param name="captureDevice">Capture device to use</param>
+        </member>
+        <member name="M:NAudio.Wave.WasapiLoopbackCapture.GetDefaultLoopbackCaptureDevice">
+            <summary>
+            Gets the default audio loopback capture device
+            </summary>
+            <returns>The default audio loopback capture device</returns>
+        </member>
+        <member name="M:NAudio.Wave.WasapiLoopbackCapture.GetAudioClientStreamFlags">
+            <summary>
+            Specify loopback
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WasapiLoopbackCapture.WaveFormat">
+            <summary>
+            Recording wave format
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveIn">
+            <summary>
+            Allows recording using the Windows waveIn APIs
+            Events are raised as recorded buffers are made available
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveIn.#ctor">
+            <summary>
+            Prepares a Wave input device for recording
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveIn.#ctor(System.IntPtr)">
+            <summary>
+            Creates a WaveIn device using the specified window handle for callbacks
+            </summary>
+            <param name="windowHandle">A valid window handle</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveIn.#ctor(NAudio.Wave.WaveCallbackInfo)">
+            <summary>
+            Prepares a Wave input device for recording
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveIn.GetCapabilities(System.Int32)">
+            <summary>
+            Retrieves the capabilities of a waveIn device
+            </summary>
+            <param name="devNumber">Device to test</param>
+            <returns>The WaveIn device capabilities</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveIn.Callback(System.IntPtr,NAudio.Wave.WaveInterop.WaveMessage,System.IntPtr,NAudio.Wave.WaveHeader,System.IntPtr)">
+            <summary>
+            Called when we get a new buffer of recorded data
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveIn.StartRecording">
+            <summary>
+            Start recording
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveIn.StopRecording">
+            <summary>
+            Stop recording
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveIn.Dispose(System.Boolean)">
+            <summary>
+            Dispose pattern
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveIn.GetMixerLine">
+            <summary>
+            Microphone Level
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveIn.Dispose">
+            <summary>
+            Dispose method
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.WaveIn.DataAvailable">
+            <summary>
+            Indicates recorded data is available 
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.WaveIn.RecordingStopped">
+            <summary>
+            Indicates that all recorded data has now been received.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveIn.DeviceCount">
+            <summary>
+            Returns the number of Wave In devices available in the system
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveIn.BufferMilliseconds">
+            <summary>
+            Milliseconds for the buffer. Recommended value is 100ms
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveIn.NumberOfBuffers">
+            <summary>
+            Number of Buffers to use (usually 2 or 3)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveIn.DeviceNumber">
+            <summary>
+            The device number to use
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveIn.WaveFormat">
+            <summary>
+            WaveFormat we are recording in
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveInCapabilities">
+            <summary>
+            WaveInCapabilities structure (based on WAVEINCAPS2 from mmsystem.h)
+            http://msdn.microsoft.com/en-us/library/ms713726(VS.85).aspx
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveInCapabilities.manufacturerId">
+            <summary>
+            wMid
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveInCapabilities.productId">
+            <summary>
+            wPid
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveInCapabilities.driverVersion">
+            <summary>
+            vDriverVersion
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveInCapabilities.productName">
+            <summary>
+            Product Name (szPname)
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveInCapabilities.supportedFormats">
+            <summary>
+            Supported formats (bit flags) dwFormats 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveInCapabilities.channels">
+            <summary>
+            Supported channels (1 for mono 2 for stereo) (wChannels)
+            Seems to be set to -1 on a lot of devices
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveInCapabilities.reserved">
+            <summary>
+            wReserved1
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveInCapabilities.SupportsWaveFormat(NAudio.Wave.SupportedWaveFormat)">
+            <summary>
+            Checks to see if a given SupportedWaveFormat is supported
+            </summary>
+            <param name="waveFormat">The SupportedWaveFormat</param>
+            <returns>true if supported</returns>
+        </member>
+        <member name="P:NAudio.Wave.WaveInCapabilities.Channels">
+            <summary>
+            Number of channels supported
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInCapabilities.ProductName">
+            <summary>
+            The product name
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInCapabilities.NameGuid">
+            <summary>
+            The device name Guid (if provided)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInCapabilities.ProductGuid">
+            <summary>
+            The product name Guid (if provided)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInCapabilities.ManufacturerGuid">
+            <summary>
+            The manufacturer guid (if provided)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveCapabilitiesHelpers.GetNameFromGuid(System.Guid)">
+            <summary>
+            The device name from the registry if supported
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveInEventArgs">
+            <summary>
+            Event Args for WaveInStream event
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveInEventArgs.#ctor(System.Byte[],System.Int32)">
+            <summary>
+            Creates new WaveInEventArgs
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInEventArgs.Buffer">
+            <summary>
+            Buffer containing recorded data. Note that it might not be completely
+            full. <seealso cref="P:NAudio.Wave.WaveInEventArgs.BytesRecorded"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInEventArgs.BytesRecorded">
+            <summary>
+            The number of recorded bytes in Buffer. <seealso cref="P:NAudio.Wave.WaveInEventArgs.Buffer"/>
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveInterop">
+            <summary>
+            MME Wave function interop
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveInterop.WaveInOutOpenFlags.CallbackNull">
+            <summary>
+            CALLBACK_NULL
+            No callback
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveInterop.WaveInOutOpenFlags.CallbackFunction">
+            <summary>
+            CALLBACK_FUNCTION
+            dwCallback is a FARPROC 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveInterop.WaveInOutOpenFlags.CallbackEvent">
+            <summary>
+            CALLBACK_EVENT
+            dwCallback is an EVENT handle 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveInterop.WaveInOutOpenFlags.CallbackWindow">
+            <summary>
+            CALLBACK_WINDOW
+            dwCallback is a HWND 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveInterop.WaveInOutOpenFlags.CallbackThread">
+            <summary>
+            CALLBACK_THREAD
+            callback is a thread ID 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveInterop.WaveMessage.WaveInOpen">
+            <summary>
+            WIM_OPEN
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveInterop.WaveMessage.WaveInClose">
+            <summary>
+            WIM_CLOSE
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveInterop.WaveMessage.WaveInData">
+            <summary>
+            WIM_DATA
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveInterop.WaveMessage.WaveOutClose">
+            <summary>
+            WOM_CLOSE
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveInterop.WaveMessage.WaveOutDone">
+            <summary>
+            WOM_DONE
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveInterop.WaveMessage.WaveOutOpen">
+            <summary>
+            WOM_OPEN
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveOutCapabilities">
+            <summary>
+            WaveOutCapabilities structure (based on WAVEOUTCAPS2 from mmsystem.h)
+            http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_waveoutcaps_str.asp
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveOutCapabilities.manufacturerId">
+            <summary>
+            wMid
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveOutCapabilities.productId">
+            <summary>
+            wPid
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveOutCapabilities.driverVersion">
+            <summary>
+            vDriverVersion
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveOutCapabilities.productName">
+            <summary>
+            Product Name (szPname)
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveOutCapabilities.supportedFormats">
+            <summary>
+            Supported formats (bit flags) dwFormats 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveOutCapabilities.channels">
+            <summary>
+            Supported channels (1 for mono 2 for stereo) (wChannels)
+            Seems to be set to -1 on a lot of devices
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveOutCapabilities.reserved">
+            <summary>
+            wReserved1
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveOutCapabilities.support">
+            <summary>
+            Optional functionality supported by the device
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOutCapabilities.SupportsWaveFormat(NAudio.Wave.SupportedWaveFormat)">
+            <summary>
+            Checks to see if a given SupportedWaveFormat is supported
+            </summary>
+            <param name="waveFormat">The SupportedWaveFormat</param>
+            <returns>true if supported</returns>
+        </member>
+        <member name="P:NAudio.Wave.WaveOutCapabilities.Channels">
+            <summary>
+            Number of channels supported
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOutCapabilities.SupportsPlaybackRateControl">
+            <summary>
+            Whether playback control is supported
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOutCapabilities.ProductName">
+            <summary>
+            The product name
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOutCapabilities.NameGuid">
+            <summary>
+            The device name Guid (if provided)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOutCapabilities.ProductGuid">
+            <summary>
+            The product name Guid (if provided)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOutCapabilities.ManufacturerGuid">
+            <summary>
+            The manufacturer guid (if provided)
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SupportedWaveFormat">
+            <summary>
+            Supported wave formats for WaveOutCapabilities
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_1M08">
+            <summary>
+            11.025 kHz, Mono,   8-bit
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_1S08">
+            <summary>
+            11.025 kHz, Stereo, 8-bit
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_1M16">
+            <summary>
+            11.025 kHz, Mono,   16-bit
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_1S16">
+            <summary>
+            11.025 kHz, Stereo, 16-bit
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_2M08">
+            <summary>
+            22.05  kHz, Mono,   8-bit
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_2S08">
+            <summary>
+            22.05  kHz, Stereo, 8-bit 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_2M16">
+            <summary>
+            22.05  kHz, Mono,   16-bit
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_2S16">
+            <summary>
+            22.05  kHz, Stereo, 16-bit
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_4M08">
+            <summary>
+            44.1   kHz, Mono,   8-bit 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_4S08">
+            <summary>
+            44.1   kHz, Stereo, 8-bit 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_4M16">
+            <summary>
+            44.1   kHz, Mono,   16-bit
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_4S16">
+            <summary>
+             44.1   kHz, Stereo, 16-bit
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_44M08">
+            <summary>
+            44.1   kHz, Mono,   8-bit 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_44S08">
+            <summary>
+            44.1   kHz, Stereo, 8-bit 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_44M16">
+            <summary>
+            44.1   kHz, Mono,   16-bit
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_44S16">
+            <summary>
+            44.1   kHz, Stereo, 16-bit
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_48M08">
+            <summary>
+            48     kHz, Mono,   8-bit 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_48S08">
+            <summary>
+             48     kHz, Stereo, 8-bit
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_48M16">
+            <summary>
+            48     kHz, Mono,   16-bit
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_48S16">
+            <summary>
+            48     kHz, Stereo, 16-bit
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_96M08">
+            <summary>
+            96     kHz, Mono,   8-bit 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_96S08">
+            <summary>
+            96     kHz, Stereo, 8-bit
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_96M16">
+            <summary>
+            96     kHz, Mono,   16-bit
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SupportedWaveFormat.WAVE_FORMAT_96S16">
+            <summary>
+            96     kHz, Stereo, 16-bit
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveOutSupport">
+            <summary>
+            Flags indicating what features this WaveOut device supports
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveOutSupport.Pitch">
+            <summary>supports pitch control (WAVECAPS_PITCH)</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveOutSupport.PlaybackRate">
+            <summary>supports playback rate control (WAVECAPS_PLAYBACKRATE)</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveOutSupport.Volume">
+            <summary>supports volume control (WAVECAPS_VOLUME)</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveOutSupport.LRVolume">
+            <summary>supports separate left-right volume control (WAVECAPS_LRVOLUME)</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveOutSupport.Sync">
+            <summary>(WAVECAPS_SYNC)</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveOutSupport.SampleAccurate">
+            <summary>(WAVECAPS_SAMPLEACCURATE)</summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.ISampleChunkConverter">
+            <summary>
+            Sample provider interface to make WaveChannel32 extensible
+            Still a bit ugly, hence internal at the moment - and might even make these into
+            bit depth converting WaveProviders
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.MixingSampleProvider">
+            <summary>
+            A sample provider mixer, allowing inputs to be added and removed
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MixingSampleProvider.#ctor(NAudio.Wave.WaveFormat)">
+            <summary>
+            Creates a new MixingSampleProvider, with no inputs, but a specified WaveFormat
+            </summary>
+            <param name="waveFormat">The WaveFormat of this mixer. All inputs must be in this format</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MixingSampleProvider.#ctor(System.Collections.Generic.IEnumerable{NAudio.Wave.ISampleProvider})">
+            <summary>
+            Creates a new MixingSampleProvider, based on the given inputs
+            </summary>
+            <param name="sources">Mixer inputs - must all have the same waveformat, and must
+            all be of the same WaveFormat. There must be at least one input</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MixingSampleProvider.AddMixerInput(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Adds a WaveProvider as a Mixer input.
+            Must be PCM or IEEE float already
+            </summary>
+            <param name="mixerInput">IWaveProvider mixer input</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MixingSampleProvider.AddMixerInput(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Adds a new mixer input
+            </summary>
+            <param name="mixerInput">Mixer input</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MixingSampleProvider.RemoveMixerInput(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Removes a mixer input
+            </summary>
+            <param name="mixerInput">Mixer input to remove</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MixingSampleProvider.RemoveAllMixerInputs">
+            <summary>
+            Removes all mixer inputs
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MixingSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this sample provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="count">Number of samples required</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.MixingSampleProvider.ReadFully">
+            <summary>
+            When set to true, the Read method always returns the number
+            of samples requested, even if there are no inputs, or if the
+            current inputs reach their end. Setting this to true effectively
+            makes this a never-ending sample provider, so take care if you plan
+            to write it out to a file.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.MixingSampleProvider.WaveFormat">
+            <summary>
+            The output WaveFormat of this sample provider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.PanningSampleProvider">
+            <summary>
+            Converts a mono sample provider to stereo, with a customisable pan strategy
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.PanningSampleProvider.#ctor(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Initialises a new instance of the PanningSampleProvider
+            </summary>
+            <param name="source">Source sample provider, must be mono</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.PanningSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this sample provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="count">Number of samples desired</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.PanningSampleProvider.Pan">
+            <summary>
+            Pan value, must be between -1 (left) and 1 (right)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.PanningSampleProvider.PanStrategy">
+            <summary>
+            The pan strategy currently in use
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.PanningSampleProvider.WaveFormat">
+            <summary>
+            The WaveFormat of this sample provider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.StereoSamplePair">
+            <summary>
+            Pair of floating point values, representing samples or multipliers
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.StereoSamplePair.Left">
+            <summary>
+            Left value
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.StereoSamplePair.Right">
+            <summary>
+            Right value
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.IPanStrategy">
+            <summary>
+            Required Interface for a Panning Strategy
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.IPanStrategy.GetMultipliers(System.Single)">
+            <summary>
+            Gets the left and right multipliers for a given pan value
+            </summary>
+            <param name="pan">Pan value from -1 to 1</param>
+            <returns>Left and right multipliers in a stereo sample pair</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.StereoBalanceStrategy">
+            <summary>
+            Simplistic "balance" control - treating the mono input as if it was stereo
+            In the centre, both channels full volume. Opposite channel decays linearly 
+            as balance is turned to to one side
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.StereoBalanceStrategy.GetMultipliers(System.Single)">
+            <summary>
+            Gets the left and right channel multipliers for this pan value
+            </summary>
+            <param name="pan">Pan value, between -1 and 1</param>
+            <returns>Left and right multipliers</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.SquareRootPanStrategy">
+            <summary>
+            Square Root Pan, thanks to Yuval Naveh
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SquareRootPanStrategy.GetMultipliers(System.Single)">
+            <summary>
+            Gets the left and right channel multipliers for this pan value
+            </summary>
+            <param name="pan">Pan value, between -1 and 1</param>
+            <returns>Left and right multipliers</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.SinPanStrategy">
+            <summary>
+            Sinus Pan, thanks to Yuval Naveh
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SinPanStrategy.GetMultipliers(System.Single)">
+            <summary>
+            Gets the left and right channel multipliers for this pan value
+            </summary>
+            <param name="pan">Pan value, between -1 and 1</param>
+            <returns>Left and right multipliers</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.LinearPanStrategy">
+            <summary>
+            Linear Pan
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.LinearPanStrategy.GetMultipliers(System.Single)">
+            <summary>
+            Gets the left and right channel multipliers for this pan value
+            </summary>
+            <param name="pan">Pan value, between -1 and 1</param>
+            <returns>Left and right multipliers</returns>
+        </member>
+        <member name="T:NAudio.Wave.Gsm610WaveFormat">
+            <summary>
+            GSM 610
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveFormat">
+            <summary>
+            Represents a Wave file format
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormat.waveFormatTag">
+            <summary>format type</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormat.channels">
+            <summary>number of channels</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormat.sampleRate">
+            <summary>sample rate</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormat.averageBytesPerSecond">
+            <summary>for buffer estimation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormat.blockAlign">
+            <summary>block size of data</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormat.bitsPerSample">
+            <summary>number of bits per sample of mono data</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormat.extraSize">
+            <summary>number of following bytes</summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.#ctor">
+            <summary>
+            Creates a new PCM 44.1Khz stereo 16 bit format
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Creates a new 16 bit wave format with the specified sample
+            rate and channel count
+            </summary>
+            <param name="sampleRate">Sample Rate</param>
+            <param name="channels">Number of channels</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.ConvertLatencyToByteSize(System.Int32)">
+            <summary>
+            Gets the size of a wave buffer equivalent to the latency in milliseconds.
+            </summary>
+            <param name="milliseconds">The milliseconds.</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.CreateCustomFormat(NAudio.Wave.WaveFormatEncoding,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a WaveFormat with custom members
+            </summary>
+            <param name="tag">The encoding</param>
+            <param name="sampleRate">Sample Rate</param>
+            <param name="channels">Number of channels</param>
+            <param name="averageBytesPerSecond">Average Bytes Per Second</param>
+            <param name="blockAlign">Block Align</param>
+            <param name="bitsPerSample">Bits Per Sample</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.CreateALawFormat(System.Int32,System.Int32)">
+            <summary>
+            Creates an A-law wave format
+            </summary>
+            <param name="sampleRate">Sample Rate</param>
+            <param name="channels">Number of Channels</param>
+            <returns>Wave Format</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.CreateMuLawFormat(System.Int32,System.Int32)">
+            <summary>
+            Creates a Mu-law wave format
+            </summary>
+            <param name="sampleRate">Sample Rate</param>
+            <param name="channels">Number of Channels</param>
+            <returns>Wave Format</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.#ctor(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a new PCM format with the specified sample rate, bit depth and channels
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.CreateIeeeFloatWaveFormat(System.Int32,System.Int32)">
+            <summary>
+            Creates a new 32 bit IEEE floating point wave format
+            </summary>
+            <param name="sampleRate">sample rate</param>
+            <param name="channels">number of channels</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.MarshalFromPtr(System.IntPtr)">
+            <summary>
+            Helper function to retrieve a WaveFormat structure from a pointer
+            </summary>
+            <param name="pointer">WaveFormat structure</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.MarshalToPtr(NAudio.Wave.WaveFormat)">
+            <summary>
+            Helper function to marshal WaveFormat to an IntPtr
+            </summary>
+            <param name="format">WaveFormat</param>
+            <returns>IntPtr to WaveFormat structure (needs to be freed by callee)</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.FromFormatChunk(System.IO.BinaryReader,System.Int32)">
+            <summary>
+            Reads in a WaveFormat (with extra data) from a fmt chunk (chunk identifier and
+            length should already have been read)
+            </summary>
+            <param name="br">Binary reader</param>
+            <param name="formatChunkLength">Format chunk length</param>
+            <returns>A WaveFormatExtraData</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.#ctor(System.IO.BinaryReader)">
+            <summary>
+            Reads a new WaveFormat object from a stream
+            </summary>
+            <param name="br">A binary reader that wraps the stream</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.ToString">
+            <summary>
+            Reports this WaveFormat as a string
+            </summary>
+            <returns>String describing the wave format</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.Equals(System.Object)">
+            <summary>
+            Compares with another WaveFormat object
+            </summary>
+            <param name="obj">Object to compare to</param>
+            <returns>True if the objects are the same</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.GetHashCode">
+            <summary>
+            Provides a Hashcode for this WaveFormat
+            </summary>
+            <returns>A hashcode</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.Serialize(System.IO.BinaryWriter)">
+            <summary>
+            Writes this WaveFormat object to a stream
+            </summary>
+            <param name="writer">the output stream</param>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormat.Encoding">
+            <summary>
+            Returns the encoding type used
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormat.Channels">
+            <summary>
+            Returns the number of channels (1=mono,2=stereo etc)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormat.SampleRate">
+            <summary>
+            Returns the sample rate (samples per second)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormat.AverageBytesPerSecond">
+            <summary>
+            Returns the average number of bytes used per second
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormat.BlockAlign">
+            <summary>
+            Returns the block alignment
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormat.BitsPerSample">
+            <summary>
+            Returns the number of bits per sample (usually 16 or 32, sometimes 24 or 8)
+            Can be 0 for some codecs
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormat.ExtraSize">
+            <summary>
+            Returns the number of extra bytes used by this waveformat. Often 0,
+            except for compressed formats which store extra data after the WAVEFORMATEX header
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Gsm610WaveFormat.#ctor">
+            <summary>
+            Creates a GSM 610 WaveFormat
+            For now hardcoded to 13kbps
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Gsm610WaveFormat.Serialize(System.IO.BinaryWriter)">
+            <summary>
+            Writes this structure to a BinaryWriter
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Gsm610WaveFormat.SamplesPerBlock">
+            <summary>
+            Samples per block
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.ImaAdpcmWaveFormat">
+            <summary>
+            IMA/DVI ADPCM Wave Format
+            Work in progress
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.ImaAdpcmWaveFormat.#ctor">
+            <summary>
+            parameterless constructor for Marshalling
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.ImaAdpcmWaveFormat.#ctor(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a new IMA / DVI ADPCM Wave Format
+            </summary>
+            <param name="sampleRate">Sample Rate</param>
+            <param name="channels">Number of channels</param>
+            <param name="bitsPerSample">Bits Per Sample</param>
+        </member>
+        <member name="T:NAudio.Wave.Mp3WaveFormat">
+            <summary>
+            MP3 WaveFormat, MPEGLAYER3WAVEFORMAT from mmreg.h
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormat.id">
+            <summary>
+            Wave format ID (wID)
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormat.flags">
+            <summary>
+            Padding flags (fdwFlags)
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormat.blockSize">
+            <summary>
+            Block Size (nBlockSize)
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormat.framesPerBlock">
+            <summary>
+            Frames per block (nFramesPerBlock)
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormat.codecDelay">
+            <summary>
+            Codec Delay (nCodecDelay)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Mp3WaveFormat.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a new MP3 WaveFormat
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Mp3WaveFormatFlags">
+            <summary>
+            Wave Format Padding Flags
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormatFlags.PaddingIso">
+            <summary>
+            MPEGLAYER3_FLAG_PADDING_ISO
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormatFlags.PaddingOn">
+            <summary>
+            MPEGLAYER3_FLAG_PADDING_ON
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormatFlags.PaddingOff">
+            <summary>
+            MPEGLAYER3_FLAG_PADDING_OFF
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Mp3WaveFormatId">
+            <summary>
+            Wave Format ID
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormatId.Unknown">
+            <summary>MPEGLAYER3_ID_UNKNOWN</summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormatId.Mpeg">
+            <summary>MPEGLAYER3_ID_MPEG</summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormatId.ConstantFrameSize">
+            <summary>MPEGLAYER3_ID_CONSTANTFRAMESIZE</summary>
+        </member>
+        <member name="T:NAudio.Wave.TrueSpeechWaveFormat">
+            <summary>
+            DSP Group TrueSpeech
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.TrueSpeechWaveFormat.#ctor">
+            <summary>
+            DSP Group TrueSpeech WaveFormat
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.TrueSpeechWaveFormat.Serialize(System.IO.BinaryWriter)">
+            <summary>
+            Writes this structure to a BinaryWriter
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.AdpcmWaveFormat">
+            <summary>
+            Microsoft ADPCM
+            See http://icculus.org/SDL_sound/downloads/external_documentation/wavecomp.htm
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AdpcmWaveFormat.#ctor">
+            <summary>
+            Empty constructor needed for marshalling from a pointer
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AdpcmWaveFormat.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Microsoft ADPCM  
+            </summary>
+            <param name="sampleRate">Sample Rate</param>
+            <param name="channels">Channels</param>
+        </member>
+        <member name="M:NAudio.Wave.AdpcmWaveFormat.Serialize(System.IO.BinaryWriter)">
+            <summary>
+            Serializes this wave format
+            </summary>
+            <param name="writer">Binary writer</param>
+        </member>
+        <member name="M:NAudio.Wave.AdpcmWaveFormat.ToString">
+            <summary>
+            String Description of this WaveFormat
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AdpcmWaveFormat.SamplesPerBlock">
+            <summary>
+            Samples per block
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AdpcmWaveFormat.NumCoefficients">
+            <summary>
+            Number of coefficients
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AdpcmWaveFormat.Coefficients">
+            <summary>
+            Coefficients
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveFormatCustomMarshaler">
+            <summary>
+            Custom marshaller for WaveFormat structures
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatCustomMarshaler.GetInstance(System.String)">
+            <summary>
+            Gets the instance of this marshaller
+            </summary>
+            <param name="cookie"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatCustomMarshaler.CleanUpManagedData(System.Object)">
+            <summary>
+            Clean up managed data
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatCustomMarshaler.CleanUpNativeData(System.IntPtr)">
+            <summary>
+            Clean up native data
+            </summary>
+            <param name="pNativeData"></param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatCustomMarshaler.GetNativeDataSize">
+            <summary>
+            Get native data size
+            </summary>        
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatCustomMarshaler.MarshalManagedToNative(System.Object)">
+            <summary>
+            Marshal managed to native
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatCustomMarshaler.MarshalNativeToManaged(System.IntPtr)">
+            <summary>
+            Marshal Native to Managed
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveFormatEncoding">
+            <summary>
+            Summary description for WaveFormatEncoding.
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Unknown">
+            <summary>WAVE_FORMAT_UNKNOWN,	Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Pcm">
+            <summary>WAVE_FORMAT_PCM		Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Adpcm">
+            <summary>WAVE_FORMAT_ADPCM		Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.IeeeFloat">
+            <summary>WAVE_FORMAT_IEEE_FLOAT Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Vselp">
+            <summary>WAVE_FORMAT_VSELP		Compaq Computer Corp.</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.IbmCvsd">
+            <summary>WAVE_FORMAT_IBM_CVSD	IBM Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.ALaw">
+            <summary>WAVE_FORMAT_ALAW		Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.MuLaw">
+            <summary>WAVE_FORMAT_MULAW		Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Dts">
+            <summary>WAVE_FORMAT_DTS		Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Drm">
+            <summary>WAVE_FORMAT_DRM		Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WmaVoice9">
+            <summary>WAVE_FORMAT_WMAVOICE9 </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.OkiAdpcm">
+            <summary>WAVE_FORMAT_OKI_ADPCM	OKI</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.DviAdpcm">
+            <summary>WAVE_FORMAT_DVI_ADPCM	Intel Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.ImaAdpcm">
+            <summary>WAVE_FORMAT_IMA_ADPCM  Intel Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.MediaspaceAdpcm">
+            <summary>WAVE_FORMAT_MEDIASPACE_ADPCM Videologic</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.SierraAdpcm">
+            <summary>WAVE_FORMAT_SIERRA_ADPCM Sierra Semiconductor Corp </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.G723Adpcm">
+            <summary>WAVE_FORMAT_G723_ADPCM Antex Electronics Corporation </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.DigiStd">
+            <summary>WAVE_FORMAT_DIGISTD DSP Solutions, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.DigiFix">
+            <summary>WAVE_FORMAT_DIGIFIX DSP Solutions, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.DialogicOkiAdpcm">
+            <summary>WAVE_FORMAT_DIALOGIC_OKI_ADPCM Dialogic Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.MediaVisionAdpcm">
+            <summary>WAVE_FORMAT_MEDIAVISION_ADPCM Media Vision, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.CUCodec">
+            <summary>WAVE_FORMAT_CU_CODEC Hewlett-Packard Company </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.YamahaAdpcm">
+            <summary>WAVE_FORMAT_YAMAHA_ADPCM Yamaha Corporation of America</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.SonarC">
+            <summary>WAVE_FORMAT_SONARC Speech Compression</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.DspGroupTrueSpeech">
+            <summary>WAVE_FORMAT_DSPGROUP_TRUESPEECH DSP Group, Inc </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.EchoSpeechCorporation1">
+            <summary>WAVE_FORMAT_ECHOSC1 Echo Speech Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.AudioFileAf36">
+            <summary>WAVE_FORMAT_AUDIOFILE_AF36, Virtual Music, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Aptx">
+            <summary>WAVE_FORMAT_APTX Audio Processing Technology</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.AudioFileAf10">
+            <summary>WAVE_FORMAT_AUDIOFILE_AF10, Virtual Music, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Prosody1612">
+            <summary>WAVE_FORMAT_PROSODY_1612, Aculab plc</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Lrc">
+            <summary>WAVE_FORMAT_LRC, Merging Technologies S.A. </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.DolbyAc2">
+            <summary>WAVE_FORMAT_DOLBY_AC2, Dolby Laboratories</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Gsm610">
+            <summary>WAVE_FORMAT_GSM610, Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.MsnAudio">
+            <summary>WAVE_FORMAT_MSNAUDIO, Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.AntexAdpcme">
+            <summary>WAVE_FORMAT_ANTEX_ADPCME, Antex Electronics Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.ControlResVqlpc">
+            <summary>WAVE_FORMAT_CONTROL_RES_VQLPC, Control Resources Limited </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.DigiReal">
+            <summary>WAVE_FORMAT_DIGIREAL, DSP Solutions, Inc. </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.DigiAdpcm">
+            <summary>WAVE_FORMAT_DIGIADPCM, DSP Solutions, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.ControlResCr10">
+            <summary>WAVE_FORMAT_CONTROL_RES_CR10, Control Resources Limited</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_NMS_VBXADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_CS_IMAADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_ECHOSC3">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_ROCKWELL_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_ROCKWELL_DIGITALK">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_XEBEC">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_G721_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_G728_CELP">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_MSG723">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Mpeg">
+            <summary>WAVE_FORMAT_MPEG, Microsoft Corporation </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_RT24">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_PAC">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.MpegLayer3">
+            <summary>WAVE_FORMAT_MPEGLAYER3, ISO/MPEG Layer3 Format Tag </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_LUCENT_G723">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_CIRRUS">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_ESPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_CANOPUS_ATRAC">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_G726_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_G722_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_DSAT_DISPLAY">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_BYTE_ALIGNED">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_AC8">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_AC10">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_AC16">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_AC20">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_RT24">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_RT29">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_RT29HW">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_VR12">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_VR18">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_TQ40">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SOFTSOUND">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_TQ60">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_MSRT24">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_G729A">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_MVI_MVI2">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_DF_G726">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_DF_GSM610">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_ISIAUDIO">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_ONLIVE">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SBC24">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_DOLBY_AC3_SPDIF">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_MEDIASONIC_G723">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_PROSODY_8KBPS">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_ZYXEL_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_PHILIPS_LPCBB">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_PACKED">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_MALDEN_PHONYTALK">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Gsm">
+            <summary>WAVE_FORMAT_GSM</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.G729">
+            <summary>WAVE_FORMAT_G729</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.G723">
+            <summary>WAVE_FORMAT_G723</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Acelp">
+            <summary>WAVE_FORMAT_ACELP</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.RawAac">
+            <summary>
+            WAVE_FORMAT_RAW_AAC1
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_RHETOREX_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_IRAT">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VIVO_G723">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VIVO_SIREN">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_DIGITAL_G723">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SANYO_LD_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SIPROLAB_ACEPLNET">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SIPROLAB_ACELP4800">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SIPROLAB_ACELP8V3">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SIPROLAB_G729">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SIPROLAB_G729A">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SIPROLAB_KELVIN">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_G726ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_QUALCOMM_PUREVOICE">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_QUALCOMM_HALFRATE">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_TUBGSM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_MSAUDIO1">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WindowsMediaAudio">
+            <summary>
+            Windows Media Audio, WAVE_FORMAT_WMAUDIO2, Microsoft Corporation
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WindowsMediaAudioProfessional">
+            <summary>
+            Windows Media Audio Professional WAVE_FORMAT_WMAUDIO3, Microsoft Corporation
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WindowsMediaAudioLosseless">
+            <summary>
+            Windows Media Audio Lossless, WAVE_FORMAT_WMAUDIO_LOSSLESS
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WindowsMediaAudioSpdif">
+            <summary>
+            Windows Media Audio Professional over SPDIF WAVE_FORMAT_WMASPDIF (0x0164)
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_UNISYS_NAP_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_UNISYS_NAP_ULAW">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_UNISYS_NAP_ALAW">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_UNISYS_NAP_16K">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_CREATIVE_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_CREATIVE_FASTSPEECH8">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_CREATIVE_FASTSPEECH10">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_UHER_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_QUARTERDECK">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_ILINK_VC">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_RAW_SPORT">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_ESST_AC3">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_IPI_HSX">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_IPI_RPELP">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_CS2">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SONY_SCX">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_FM_TOWNS_SND">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_BTV_DIGITAL">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_QDESIGN_MUSIC">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VME_VMPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_TPC">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_OLIGSM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_OLIADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_OLICELP">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_OLISBC">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_OLIOPR">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_LH_CODEC">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_NORRIS">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.MPEG_ADTS_AAC">
+            <summary>
+            Advanced Audio Coding (AAC) audio in Audio Data Transport Stream (ADTS) format.
+            The format block is a WAVEFORMATEX structure with wFormatTag equal to WAVE_FORMAT_MPEG_ADTS_AAC.
+            </summary>
+            <remarks>
+            The WAVEFORMATEX structure specifies the core AAC-LC sample rate and number of channels, 
+            prior to applying spectral band replication (SBR) or parametric stereo (PS) tools, if present.
+            No additional data is required after the WAVEFORMATEX structure.
+            </remarks>
+            <see>http://msdn.microsoft.com/en-us/library/dd317599%28VS.85%29.aspx</see>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.MPEG_RAW_AAC">
+            <summary></summary>
+            <remarks>Source wmCodec.h</remarks>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.MPEG_LOAS">
+            <summary>
+            MPEG-4 audio transport stream with a synchronization layer (LOAS) and a multiplex layer (LATM).
+            The format block is a WAVEFORMATEX structure with wFormatTag equal to WAVE_FORMAT_MPEG_LOAS.
+            </summary>
+            <remarks>
+            The WAVEFORMATEX structure specifies the core AAC-LC sample rate and number of channels, 
+            prior to applying spectral SBR or PS tools, if present.
+            No additional data is required after the WAVEFORMATEX structure.
+            </remarks>
+            <see>http://msdn.microsoft.com/en-us/library/dd317599%28VS.85%29.aspx</see>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.NOKIA_MPEG_ADTS_AAC">
+            <summary>NOKIA_MPEG_ADTS_AAC</summary>
+            <remarks>Source wmCodec.h</remarks>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.NOKIA_MPEG_RAW_AAC">
+            <summary>NOKIA_MPEG_RAW_AAC</summary>
+            <remarks>Source wmCodec.h</remarks>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.VODAFONE_MPEG_ADTS_AAC">
+            <summary>VODAFONE_MPEG_ADTS_AAC</summary>
+            <remarks>Source wmCodec.h</remarks>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.VODAFONE_MPEG_RAW_AAC">
+            <summary>VODAFONE_MPEG_RAW_AAC</summary>
+            <remarks>Source wmCodec.h</remarks>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.MPEG_HEAAC">
+            <summary>
+            High-Efficiency Advanced Audio Coding (HE-AAC) stream.
+            The format block is an HEAACWAVEFORMAT structure.
+            </summary>
+            <see>http://msdn.microsoft.com/en-us/library/dd317599%28VS.85%29.aspx</see>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_DVM">
+            <summary>WAVE_FORMAT_DVM</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Vorbis1">
+            <summary>WAVE_FORMAT_VORBIS1 "Og" Original stream compatible</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Vorbis2">
+            <summary>WAVE_FORMAT_VORBIS2 "Pg" Have independent header</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Vorbis3">
+            <summary>WAVE_FORMAT_VORBIS3 "Qg" Have no codebook header</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Vorbis1P">
+            <summary>WAVE_FORMAT_VORBIS1P "og" Original stream compatible</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Vorbis2P">
+            <summary>WAVE_FORMAT_VORBIS2P "pg" Have independent headere</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Vorbis3P">
+            <summary>WAVE_FORMAT_VORBIS3P "qg" Have no codebook header</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Extensible">
+            <summary>WAVE_FORMAT_EXTENSIBLE</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_DEVELOPMENT">
+            <summary></summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveFormatExtensible">
+            <summary>
+            WaveFormatExtensible
+            http://www.microsoft.com/whdc/device/audio/multichaud.mspx
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatExtensible.#ctor">
+            <summary>
+            Parameterless constructor for marshalling
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatExtensible.#ctor(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a new WaveFormatExtensible for PCM or IEEE
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatExtensible.ToStandardWaveFormat">
+            <summary>
+            WaveFormatExtensible for PCM or floating point can be awkward to work with
+            This creates a regular WaveFormat structure representing the same audio format
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatExtensible.Serialize(System.IO.BinaryWriter)">
+            <summary>
+            Serialize
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatExtensible.ToString">
+            <summary>
+            String representation
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormatExtensible.SubFormat">
+            <summary>
+            SubFormat (may be one of AudioMediaSubtypes)
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveFormatExtraData">
+            <summary>
+            This class used for marshalling from unmanaged code
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatExtraData.#ctor">
+            <summary>
+            parameterless constructor for marshalling
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatExtraData.#ctor(System.IO.BinaryReader)">
+            <summary>
+            Reads this structure from a BinaryReader
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatExtraData.Serialize(System.IO.BinaryWriter)">
+            <summary>
+            Writes this structure to a BinaryWriter
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormatExtraData.ExtraData">
+            <summary>
+            Allows the extra data to be read
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveFormats.WmaWaveFormat">
+            <summary>
+            The WMA wave format. 
+            May not be much use because WMA codec is a DirectShow DMO not an ACM
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.AiffFileWriter">
+            <summary>
+            This class writes audio data to a .aif file on disk
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileWriter.CreateAiffFile(System.String,NAudio.Wave.WaveStream)">
+            <summary>
+            Creates an Aiff file by reading all the data from a WaveProvider
+            BEWARE: the WaveProvider MUST return 0 from its Read method when it is finished,
+            or the Aiff File will grow indefinitely.
+            </summary>
+            <param name="filename">The filename to use</param>
+            <param name="sourceProvider">The source WaveProvider</param>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileWriter.#ctor(System.IO.Stream,NAudio.Wave.WaveFormat)">
+            <summary>
+            AiffFileWriter that actually writes to a stream
+            </summary>
+            <param name="outStream">Stream to be written to</param>
+            <param name="format">Wave format to use</param>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileWriter.#ctor(System.String,NAudio.Wave.WaveFormat)">
+            <summary>
+            Creates a new AiffFileWriter
+            </summary>
+            <param name="filename">The filename to write to</param>
+            <param name="format">The Wave Format of the output data</param>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileWriter.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Read is not supported for a AiffFileWriter
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileWriter.Seek(System.Int64,System.IO.SeekOrigin)">
+            <summary>
+            Seek is not supported for a AiffFileWriter
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileWriter.SetLength(System.Int64)">
+            <summary>
+            SetLength is not supported for AiffFileWriter
+            </summary>
+            <param name="value"></param>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileWriter.Write(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Appends bytes to the AiffFile (assumes they are already in the correct format)
+            </summary>
+            <param name="data">the buffer containing the wave data</param>
+            <param name="offset">the offset from which to start writing</param>
+            <param name="count">the number of bytes to write</param>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileWriter.WriteSample(System.Single)">
+            <summary>
+            Writes a single sample to the Aiff file
+            </summary>
+            <param name="sample">the sample to write (assumed floating point with 1.0f as max value)</param>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileWriter.WriteSamples(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Writes 32 bit floating point samples to the Aiff file
+            They will be converted to the appropriate bit depth depending on the WaveFormat of the AIF file
+            </summary>
+            <param name="samples">The buffer containing the floating point samples</param>
+            <param name="offset">The offset from which to start writing</param>
+            <param name="count">The number of floating point samples to write</param>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileWriter.WriteSamples(System.Int16[],System.Int32,System.Int32)">
+            <summary>
+            Writes 16 bit samples to the Aiff file
+            </summary>
+            <param name="samples">The buffer containing the 16 bit samples</param>
+            <param name="offset">The offset from which to start writing</param>
+            <param name="count">The number of 16 bit samples to write</param>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileWriter.Flush">
+            <summary>
+            Ensures data is written to disk
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileWriter.Dispose(System.Boolean)">
+            <summary>
+            Actually performs the close,making sure the header contains the correct data
+            </summary>
+            <param name="disposing">True if called from <see>Dispose</see></param>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileWriter.UpdateHeader(System.IO.BinaryWriter)">
+            <summary>
+            Updates the header with file size information
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileWriter.Finalize">
+            <summary>
+            Finaliser - should only be called if the user forgot to close this AiffFileWriter
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AiffFileWriter.Filename">
+            <summary>
+            The aiff file name or null if not applicable
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AiffFileWriter.Length">
+            <summary>
+            Number of bytes of audio in the data chunk
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AiffFileWriter.WaveFormat">
+            <summary>
+            WaveFormat of this aiff file
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AiffFileWriter.CanRead">
+            <summary>
+            Returns false: Cannot read from a AiffFileWriter
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AiffFileWriter.CanWrite">
+            <summary>
+            Returns true: Can write to a AiffFileWriter
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AiffFileWriter.CanSeek">
+            <summary>
+            Returns false: Cannot seek within a AiffFileWriter
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AiffFileWriter.Position">
+            <summary>
+            Gets the Position in the AiffFile (i.e. number of bytes written so far)
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.AsioAudioAvailableEventArgs">
+            <summary>
+            Raised when ASIO data has been recorded.
+            It is important to handle this as quickly as possible as it is in the buffer callback
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AsioAudioAvailableEventArgs.#ctor(System.IntPtr[],System.IntPtr[],System.Int32,NAudio.Wave.Asio.AsioSampleType)">
+            <summary>
+            Initialises a new instance of AsioAudioAvailableEventArgs
+            </summary>
+            <param name="inputBuffers">Pointers to the ASIO buffers for each channel</param>
+            <param name="outputBuffers">Pointers to the ASIO buffers for each channel</param>
+            <param name="samplesPerBuffer">Number of samples in each buffer</param>
+            <param name="asioSampleType">Audio format within each buffer</param>
+        </member>
+        <member name="M:NAudio.Wave.AsioAudioAvailableEventArgs.GetAsInterleavedSamples(System.Single[])">
+            <summary>
+            Converts all the recorded audio into a buffer of 32 bit floating point samples, interleaved by channel
+            </summary>
+            <samples>The samples as 32 bit floating point, interleaved</samples>
+        </member>
+        <member name="M:NAudio.Wave.AsioAudioAvailableEventArgs.GetAsInterleavedSamples">
+            <summary>
+            Gets as interleaved samples, allocating a float array
+            </summary>
+            <returns>The samples as 32 bit floating point values</returns>
+        </member>
+        <member name="P:NAudio.Wave.AsioAudioAvailableEventArgs.InputBuffers">
+            <summary>
+            Pointer to a buffer per input channel
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AsioAudioAvailableEventArgs.OutputBuffers">
+            <summary>
+            Pointer to a buffer per output channel
+            Allows you to write directly to the output buffers
+            If you do so, set SamplesPerBuffer = true,
+            and make sure all buffers are written to with valid data
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AsioAudioAvailableEventArgs.WrittenToOutputBuffers">
+            <summary>
+            Set to true if you have written to the output buffers
+            If so, AsioOut will not read from its source
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AsioAudioAvailableEventArgs.SamplesPerBuffer">
+            <summary>
+            Number of samples in each buffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AsioAudioAvailableEventArgs.AsioSampleType">
+            <summary>
+            Audio format within each buffer
+            Most commonly this will be one of, Int32LSB, Int16LSB, Int24LSB or Float32LSB
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.AsioOut">
+            <summary>
+            ASIO Out Player. New implementation using an internal C# binding.
+            
+            This implementation is only supporting Short16Bit and Float32Bit formats and is optimized 
+            for 2 outputs channels .
+            SampleRate is supported only if ASIODriver is supporting it
+                
+            This implementation is probably the first ASIODriver binding fully implemented in C#!
+            
+            Original Contributor: Mark Heath 
+            New Contributor to C# binding : Alexandre Mutel - email: alexandre_mutel at yahoo.fr
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.IWavePlayer">
+            <summary>
+            Represents the interface to a device that can play a WaveFile
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.IWavePlayer.Play">
+            <summary>
+            Begin playback
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.IWavePlayer.Stop">
+            <summary>
+            Stop playback
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.IWavePlayer.Pause">
+            <summary>
+            Pause Playback
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.IWavePlayer.Init(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initialise playback
+            </summary>
+            <param name="waveProvider">The waveprovider to be played</param>
+        </member>
+        <member name="P:NAudio.Wave.IWavePlayer.PlaybackState">
+            <summary>
+            Current playback state
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.IWavePlayer.Volume">
+            <summary>
+            The volume 1.0 is full scale
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.IWavePlayer.PlaybackStopped">
+            <summary>
+            Indicates that playback has gone into a stopped state due to 
+            reaching the end of the input stream or an error has been encountered during playback
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AsioOut.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:NAudio.Wave.AsioOut"/> class with the first 
+            available ASIO Driver.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AsioOut.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:NAudio.Wave.AsioOut"/> class with the driver name.
+            </summary>
+            <param name="driverName">Name of the device.</param>
+        </member>
+        <member name="M:NAudio.Wave.AsioOut.#ctor(System.Int32)">
+            <summary>
+            Opens an ASIO output device
+            </summary>
+            <param name="driverIndex">Device number (zero based)</param>
+        </member>
+        <member name="M:NAudio.Wave.AsioOut.Finalize">
+            <summary>
+            Releases unmanaged resources and performs other cleanup operations before the
+            <see cref="T:NAudio.Wave.AsioOut"/> is reclaimed by garbage collection.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AsioOut.Dispose">
+            <summary>
+            Dispose
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AsioOut.GetDriverNames">
+            <summary>
+            Gets the names of the installed ASIO Driver.
+            </summary>
+            <returns>an array of driver names</returns>
+        </member>
+        <member name="M:NAudio.Wave.AsioOut.isSupported">
+            <summary>
+            Determines whether ASIO is supported.
+            </summary>
+            <returns>
+                <c>true</c> if ASIO is supported; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:NAudio.Wave.AsioOut.InitFromName(System.String)">
+            <summary>
+            Inits the driver from the asio driver name.
+            </summary>
+            <param name="driverName">Name of the driver.</param>
+        </member>
+        <member name="M:NAudio.Wave.AsioOut.ShowControlPanel">
+            <summary>
+            Shows the control panel
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AsioOut.Play">
+            <summary>
+            Starts playback
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AsioOut.Stop">
+            <summary>
+            Stops playback
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AsioOut.Pause">
+            <summary>
+            Pauses playback
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AsioOut.Init(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initialises to play
+            </summary>
+            <param name="waveProvider">Source wave provider</param>
+        </member>
+        <member name="M:NAudio.Wave.AsioOut.InitRecordAndPlayback(NAudio.Wave.IWaveProvider,System.Int32,System.Int32)">
+            <summary>
+            Initialises to play, with optional recording
+            </summary>
+            <param name="waveProvider">Source wave provider - set to null for record only</param>
+            <param name="recordChannels">Number of channels to record</param>
+            <param name="recordOnlySampleRate">Specify sample rate here if only recording, ignored otherwise</param>
+        </member>
+        <member name="M:NAudio.Wave.AsioOut.driver_BufferUpdate(System.IntPtr[],System.IntPtr[])">
+            <summary>
+            driver buffer update callback to fill the wave buffer.
+            </summary>
+            <param name="inputChannels">The input channels.</param>
+            <param name="outputChannels">The output channels.</param>
+        </member>
+        <member name="M:NAudio.Wave.AsioOut.AsioInputChannelName(System.Int32)">
+            <summary>
+            Get the input channel name
+            </summary>
+            <param name="channel">channel index (zero based)</param>
+            <returns>channel name</returns>
+        </member>
+        <member name="M:NAudio.Wave.AsioOut.AsioOutputChannelName(System.Int32)">
+            <summary>
+            Get the output channel name
+            </summary>
+            <param name="channel">channel index (zero based)</param>
+            <returns>channel name</returns>
+        </member>
+        <member name="E:NAudio.Wave.AsioOut.PlaybackStopped">
+            <summary>
+            Playback Stopped
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.AsioOut.AudioAvailable">
+            <summary>
+            When recording, fires whenever recorded audio is available
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AsioOut.PlaybackLatency">
+            <summary>
+            Gets the latency (in ms) of the playback driver
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AsioOut.PlaybackState">
+            <summary>
+            Playback State
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AsioOut.DriverName">
+            <summary>
+            Driver Name
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AsioOut.NumberOfOutputChannels">
+            <summary>
+            The number of output channels we are currently using for playback
+            (Must be less than or equal to DriverOutputChannelCount)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AsioOut.NumberOfInputChannels">
+            <summary>
+            The number of input channels we are currently recording from
+            (Must be less than or equal to DriverInputChannelCount)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AsioOut.DriverInputChannelCount">
+            <summary>
+            The maximum number of input channels this ASIO driver supports
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AsioOut.DriverOutputChannelCount">
+            <summary>
+            The maximum number of output channels this ASIO driver supports
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AsioOut.ChannelOffset">
+            <summary>
+            By default the first channel on the input WaveProvider is sent to the first ASIO output.
+            This option sends it to the specified channel number.
+            Warning: make sure you don't set it higher than the number of available output channels - 
+            the number of source channels.
+            n.b. Future NAudio may modify this
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AsioOut.InputChannelOffset">
+            <summary>
+            Input channel offset (used when recording), allowing you to choose to record from just one
+            specific input rather than them all
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AsioOut.Volume">
+            <summary>
+            Sets the volume (1.0 is unity gain)
+            Not supported for ASIO Out. Set the volume on the input stream instead
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.CueWaveFileWriter">
+            <summary>
+            A wave file writer that adds cue support
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveFileWriter">
+            <summary>
+            This class writes WAV data to a .wav file on disk
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileWriter.CreateWaveFile16(System.String,NAudio.Wave.ISampleProvider)">
+            <summary>
+            Creates a 16 bit Wave File from an ISampleProvider
+            BEWARE: the source provider must not return data indefinitely
+            </summary>
+            <param name="filename">The filename to write to</param>
+            <param name="sourceProvider">The source sample provider</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileWriter.CreateWaveFile(System.String,NAudio.Wave.IWaveProvider)">
+            <summary>
+            Creates a Wave file by reading all the data from a WaveProvider
+            BEWARE: the WaveProvider MUST return 0 from its Read method when it is finished,
+            or the Wave File will grow indefinitely.
+            </summary>
+            <param name="filename">The filename to use</param>
+            <param name="sourceProvider">The source WaveProvider</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileWriter.#ctor(System.IO.Stream,NAudio.Wave.WaveFormat)">
+            <summary>
+            WaveFileWriter that actually writes to a stream
+            </summary>
+            <param name="outStream">Stream to be written to</param>
+            <param name="format">Wave format to use</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileWriter.#ctor(System.String,NAudio.Wave.WaveFormat)">
+            <summary>
+            Creates a new WaveFileWriter
+            </summary>
+            <param name="filename">The filename to write to</param>
+            <param name="format">The Wave Format of the output data</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileWriter.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Read is not supported for a WaveFileWriter
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileWriter.Seek(System.Int64,System.IO.SeekOrigin)">
+            <summary>
+            Seek is not supported for a WaveFileWriter
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileWriter.SetLength(System.Int64)">
+            <summary>
+            SetLength is not supported for WaveFileWriter
+            </summary>
+            <param name="value"></param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileWriter.WriteData(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Appends bytes to the WaveFile (assumes they are already in the correct format)
+            </summary>
+            <param name="data">the buffer containing the wave data</param>
+            <param name="offset">the offset from which to start writing</param>
+            <param name="count">the number of bytes to write</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileWriter.Write(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Appends bytes to the WaveFile (assumes they are already in the correct format)
+            </summary>
+            <param name="data">the buffer containing the wave data</param>
+            <param name="offset">the offset from which to start writing</param>
+            <param name="count">the number of bytes to write</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileWriter.WriteSample(System.Single)">
+            <summary>
+            Writes a single sample to the Wave file
+            </summary>
+            <param name="sample">the sample to write (assumed floating point with 1.0f as max value)</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileWriter.WriteSamples(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Writes 32 bit floating point samples to the Wave file
+            They will be converted to the appropriate bit depth depending on the WaveFormat of the WAV file
+            </summary>
+            <param name="samples">The buffer containing the floating point samples</param>
+            <param name="offset">The offset from which to start writing</param>
+            <param name="count">The number of floating point samples to write</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileWriter.WriteData(System.Int16[],System.Int32,System.Int32)">
+            <summary>
+            Writes 16 bit samples to the Wave file
+            </summary>
+            <param name="samples">The buffer containing the 16 bit samples</param>
+            <param name="offset">The offset from which to start writing</param>
+            <param name="count">The number of 16 bit samples to write</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileWriter.WriteSamples(System.Int16[],System.Int32,System.Int32)">
+            <summary>
+            Writes 16 bit samples to the Wave file
+            </summary>
+            <param name="samples">The buffer containing the 16 bit samples</param>
+            <param name="offset">The offset from which to start writing</param>
+            <param name="count">The number of 16 bit samples to write</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileWriter.Flush">
+            <summary>
+            Ensures data is written to disk
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileWriter.Dispose(System.Boolean)">
+            <summary>
+            Actually performs the close,making sure the header contains the correct data
+            </summary>
+            <param name="disposing">True if called from <see>Dispose</see></param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileWriter.UpdateHeader(System.IO.BinaryWriter)">
+            <summary>
+            Updates the header with file size information
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileWriter.Finalize">
+            <summary>
+            Finaliser - should only be called if the user forgot to close this WaveFileWriter
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFileWriter.Filename">
+            <summary>
+            The wave file name or null if not applicable
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFileWriter.Length">
+            <summary>
+            Number of bytes of audio in the data chunk
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFileWriter.WaveFormat">
+            <summary>
+            WaveFormat of this wave file
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFileWriter.CanRead">
+            <summary>
+            Returns false: Cannot read from a WaveFileWriter
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFileWriter.CanWrite">
+            <summary>
+            Returns true: Can write to a WaveFileWriter
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFileWriter.CanSeek">
+            <summary>
+            Returns false: Cannot seek within a WaveFileWriter
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFileWriter.Position">
+            <summary>
+            Gets the Position in the WaveFile (i.e. number of bytes written so far)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.CueWaveFileWriter.#ctor(System.String,NAudio.Wave.WaveFormat)">
+            <summary>
+            Writes a wave file, including a cues chunk
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.CueWaveFileWriter.AddCue(System.Int32,System.String)">
+            <summary>
+            Adds a cue to the Wave file
+            </summary>
+            <param name="position">Sample position</param>
+            <param name="label">Label text</param>
+        </member>
+        <member name="M:NAudio.Wave.CueWaveFileWriter.UpdateHeader(System.IO.BinaryWriter)">
+            <summary>
+            Updates the header, and writes the cues out
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.MediaFoundationEncoder">
+            <summary>
+            Media Foundation Encoder class allows you to use Media Foundation to encode an IWaveProvider
+            to any supported encoding format
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationEncoder.GetEncodeBitrates(System.Guid,System.Int32,System.Int32)">
+            <summary>
+            Queries the available bitrates for a given encoding output type, sample rate and number of channels
+            </summary>
+            <param name="audioSubtype">Audio subtype - a value from the AudioSubtypes class</param>
+            <param name="sampleRate">The sample rate of the PCM to encode</param>
+            <param name="channels">The number of channels of the PCM to encode</param>
+            <returns>An array of available bitrates in average bits per second</returns>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationEncoder.GetOutputMediaTypes(System.Guid)">
+            <summary>
+            Gets all the available media types for a particular 
+            </summary>
+            <param name="audioSubtype">Audio subtype - a value from the AudioSubtypes class</param>
+            <returns>An array of available media types that can be encoded with this subtype</returns>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationEncoder.EncodeToWma(NAudio.Wave.IWaveProvider,System.String,System.Int32)">
+            <summary>
+            Helper function to simplify encoding Window Media Audio
+            Should be supported on Vista and above (not tested)
+            </summary>
+            <param name="inputProvider">Input provider, must be PCM</param>
+            <param name="outputFile">Output file path, should end with .wma</param>
+            <param name="desiredBitRate">Desired bitrate. Use GetEncodeBitrates to find the possibilities for your input type</param>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationEncoder.EncodeToMp3(NAudio.Wave.IWaveProvider,System.String,System.Int32)">
+            <summary>
+            Helper function to simplify encoding to MP3
+            By default, will only be available on Windows 8 and above
+            </summary>
+            <param name="inputProvider">Input provider, must be PCM</param>
+            <param name="outputFile">Output file path, should end with .mp3</param>
+            <param name="desiredBitRate">Desired bitrate. Use GetEncodeBitrates to find the possibilities for your input type</param>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationEncoder.EncodeToAac(NAudio.Wave.IWaveProvider,System.String,System.Int32)">
+            <summary>
+            Helper function to simplify encoding to AAC
+            By default, will only be available on Windows 7 and above
+            </summary>
+            <param name="inputProvider">Input provider, must be PCM</param>
+            <param name="outputFile">Output file path, should end with .mp4 (or .aac on Windows 8)</param>
+            <param name="desiredBitRate">Desired bitrate. Use GetEncodeBitrates to find the possibilities for your input type</param>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationEncoder.SelectMediaType(System.Guid,NAudio.Wave.WaveFormat,System.Int32)">
+            <summary>
+            Tries to find the encoding media type with the closest bitrate to that specified
+            </summary>
+            <param name="audioSubtype">Audio subtype, a value from AudioSubtypes</param>
+            <param name="inputFormat">Your encoder input format (used to check sample rate and channel count)</param>
+            <param name="desiredBitRate">Your desired bitrate</param>
+            <returns>The closest media type, or null if none available</returns>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationEncoder.#ctor(NAudio.MediaFoundation.MediaType)">
+            <summary>
+            Creates a new encoder that encodes to the specified output media type
+            </summary>
+            <param name="outputMediaType">Desired output media type</param>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationEncoder.Encode(System.String,NAudio.Wave.IWaveProvider)">
+            <summary>
+            Encodes a file
+            </summary>
+            <param name="outputFile">Output filename (container type is deduced from the filename)</param>
+            <param name="inputProvider">Input provider (should be PCM, some encoders will also allow IEEE float)</param>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationEncoder.Dispose(System.Boolean)">
+            <summary>
+            Disposes this instance
+            </summary>
+            <param name="disposing"></param>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationEncoder.Dispose">
+            <summary>
+            Disposes this instance
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationEncoder.Finalize">
+            <summary>
+            Finalizer
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MediaType">
+            <summary>
+            Media Type helper class, simplifying working with IMFMediaType
+            (will probably change in the future, to inherit from an attributes class)
+            Currently does not release the COM object, so you must do that yourself
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaType.#ctor(NAudio.MediaFoundation.IMFMediaType)">
+            <summary>
+            Wraps an existing IMFMediaType object
+            </summary>
+            <param name="mediaType">The IMFMediaType object</param>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaType.#ctor">
+            <summary>
+            Creates and wraps a new IMFMediaType object
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaType.#ctor(NAudio.Wave.WaveFormat)">
+            <summary>
+            Creates and wraps a new IMFMediaType object based on a WaveFormat
+            </summary>
+            <param name="waveFormat">WaveFormat</param>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaType.TryGetUInt32(System.Guid,System.Int32)">
+            <summary>
+            Tries to get a UINT32 value, returning a default value if it doesn't exist
+            </summary>
+            <param name="key">Attribute key</param>
+            <param name="defaultValue">Default value</param>
+            <returns>Value or default if key doesn't exist</returns>
+        </member>
+        <member name="P:NAudio.MediaFoundation.MediaType.SampleRate">
+            <summary>
+            The Sample Rate (valid for audio media types)
+            </summary>
+        </member>
+        <member name="P:NAudio.MediaFoundation.MediaType.ChannelCount">
+            <summary>
+            The number of Channels (valid for audio media types)
+            </summary>
+        </member>
+        <member name="P:NAudio.MediaFoundation.MediaType.BitsPerSample">
+            <summary>
+            The number of bits per sample (n.b. not always valid for compressed audio types)
+            </summary>
+        </member>
+        <member name="P:NAudio.MediaFoundation.MediaType.AverageBytesPerSecond">
+            <summary>
+            The average bytes per second (valid for audio media types)
+            </summary>
+        </member>
+        <member name="P:NAudio.MediaFoundation.MediaType.SubType">
+            <summary>
+            The Media Subtype. For audio, is a value from the AudioSubtypes class
+            </summary>
+        </member>
+        <member name="P:NAudio.MediaFoundation.MediaType.MajorType">
+            <summary>
+            The Major type, e.g. audio or video (from the MediaTypes class)
+            </summary>
+        </member>
+        <member name="P:NAudio.MediaFoundation.MediaType.MediaFoundationObject">
+            <summary>
+            Access to the actual IMFMediaType object
+            Use to pass to MF APIs or Marshal.ReleaseComObject when you are finished with it
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.StoppedEventArgs">
+            <summary>
+            Stopped Event Args
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.StoppedEventArgs.#ctor(System.Exception)">
+            <summary>
+            Initializes a new instance of StoppedEventArgs
+            </summary>
+            <param name="exception">An exception to report (null if no exception)</param>
+        </member>
+        <member name="P:NAudio.Wave.StoppedEventArgs.Exception">
+            <summary>
+            An exception. Will be null if the playback or record operation stopped
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.IWaveBuffer">
+            <summary>
+            IWaveBuffer interface use to store wave datas. 
+            Data can be manipulated with arrays (<see cref="P:NAudio.Wave.IWaveBuffer.ByteBuffer"/>,<see cref="P:NAudio.Wave.IWaveBuffer.FloatBuffer"/>,
+            <see cref="P:NAudio.Wave.IWaveBuffer.ShortBuffer"/>,<see cref="P:NAudio.Wave.IWaveBuffer.IntBuffer"/> ) that are pointing to the same memory buffer.
+            This is a requirement for all subclasses.
+            
+            Use the associated Count property based on the type of buffer to get the number of data in the 
+            buffer.
+            
+            <see cref="T:NAudio.Wave.WaveBuffer"/> for the standard implementation using C# unions.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.IWaveBuffer.ByteBuffer">
+            <summary>
+            Gets the byte buffer.
+            </summary>
+            <value>The byte buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.IWaveBuffer.FloatBuffer">
+            <summary>
+            Gets the float buffer.
+            </summary>
+            <value>The float buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.IWaveBuffer.ShortBuffer">
+            <summary>
+            Gets the short buffer.
+            </summary>
+            <value>The short buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.IWaveBuffer.IntBuffer">
+            <summary>
+            Gets the int buffer.
+            </summary>
+            <value>The int buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.IWaveBuffer.MaxSize">
+            <summary>
+            Gets the max size in bytes of the byte buffer..
+            </summary>
+            <value>Maximum number of bytes in the buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.IWaveBuffer.ByteBufferCount">
+            <summary>
+            Gets the byte buffer count.
+            </summary>
+            <value>The byte buffer count.</value>
+        </member>
+        <member name="P:NAudio.Wave.IWaveBuffer.FloatBufferCount">
+            <summary>
+            Gets the float buffer count.
+            </summary>
+            <value>The float buffer count.</value>
+        </member>
+        <member name="P:NAudio.Wave.IWaveBuffer.ShortBufferCount">
+            <summary>
+            Gets the short buffer count.
+            </summary>
+            <value>The short buffer count.</value>
+        </member>
+        <member name="P:NAudio.Wave.IWaveBuffer.IntBufferCount">
+            <summary>
+            Gets the int buffer count.
+            </summary>
+            <value>The int buffer count.</value>
+        </member>
+        <member name="T:NAudio.Wave.IWavePosition">
+            <summary>
+            Interface for IWavePlayers that can report position
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.IWavePosition.GetPosition">
+            <summary>
+            Position (in terms of bytes played - does not necessarily)
+            </summary>
+            <returns>Position in bytes</returns>
+        </member>
+        <member name="P:NAudio.Wave.IWavePosition.OutputWaveFormat">
+            <summary>
+            Gets a <see cref="T:NAudio.Wave.WaveFormat"/> instance indicating the format the hardware is using.
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.DirectSoundOut">
+            <summary>
+            NativeDirectSoundOut using DirectSound COM interop.
+            Contact author: Alexandre Mutel - alexandre_mutel at yahoo.fr
+            Modified by: Graham "Gee" Plumb
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:NAudio.Wave.DirectSoundOut"/> class.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.#ctor(System.Guid)">
+            <summary>
+            Initializes a new instance of the <see cref="T:NAudio.Wave.DirectSoundOut"/> class.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.#ctor(System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:NAudio.Wave.DirectSoundOut"/> class.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.#ctor(System.Guid,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:NAudio.Wave.DirectSoundOut"/> class.
+            (40ms seems to work under Vista).
+            </summary>
+            <param name="latency">The latency.</param>
+            <param name="device">Selected device</param>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.Finalize">
+            <summary>
+            Releases unmanaged resources and performs other cleanup operations before the
+            <see cref="T:NAudio.Wave.DirectSoundOut"/> is reclaimed by garbage collection.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.Play">
+            <summary>
+            Begin playback
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.Stop">
+            <summary>
+            Stop playback
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.Pause">
+            <summary>
+            Pause Playback
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.GetPosition">
+            <summary>
+            Gets the current position in bytes from the wave output device.
+            (n.b. this is not the same thing as the position within your reader
+            stream)
+            </summary>
+            <returns>Position in bytes</returns>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.Init(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initialise playback
+            </summary>
+            <param name="waveProvider">The waveprovider to be played</param>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.Dispose">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.IsBufferLost">
+            <summary>
+            Determines whether the SecondaryBuffer is lost.
+            </summary>
+            <returns>
+            	<c>true</c> if [is buffer lost]; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.MsToBytes(System.Int32)">
+            <summary>
+            Convert ms to bytes size according to WaveFormat
+            </summary>
+            <param name="ms">The ms</param>
+            <returns>number of byttes</returns>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.PlaybackThreadFunc">
+            <summary>
+            Processes the samples in a separate thread.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.StopPlayback">
+            <summary>
+            Stop playback
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.Feed(System.Int32)">
+            <summary>
+            Feeds the SecondaryBuffer with the WaveStream
+            </summary>
+            <param name="bytesToCopy">number of bytes to feed</param>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.DirectSoundCreate(System.Guid@,NAudio.Wave.DirectSoundOut.IDirectSound@,System.IntPtr)">
+            <summary>
+            Instanciate DirectSound from the DLL
+            </summary>
+            <param name="GUID">The GUID.</param>
+            <param name="directSound">The direct sound.</param>
+            <param name="pUnkOuter">The p unk outer.</param>
+        </member>
+        <member name="F:NAudio.Wave.DirectSoundOut.DSDEVID_DefaultPlayback">
+            <summary>
+            DirectSound default playback device GUID 
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.DirectSoundOut.DSDEVID_DefaultCapture">
+            <summary>
+            DirectSound default capture device GUID
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.DirectSoundOut.DSDEVID_DefaultVoicePlayback">
+            <summary>
+            DirectSound default device for voice playback
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.DirectSoundOut.DSDEVID_DefaultVoiceCapture">
+            <summary>
+            DirectSound default device for voice capture
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.DirectSoundEnumerate(NAudio.Wave.DirectSoundOut.DSEnumCallback,System.IntPtr)">
+            <summary>
+            The DirectSoundEnumerate function enumerates the DirectSound drivers installed in the system.
+            </summary>
+            <param name="lpDSEnumCallback">callback function</param>
+            <param name="lpContext">User context</param>
+        </member>
+        <member name="M:NAudio.Wave.DirectSoundOut.GetDesktopWindow">
+            <summary>
+            Gets the HANDLE of the desktop window.
+            </summary>
+            <returns>HANDLE of the Desktop window</returns>
+        </member>
+        <member name="E:NAudio.Wave.DirectSoundOut.PlaybackStopped">
+            <summary>
+            Playback Stopped
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.DirectSoundOut.Devices">
+            <summary>
+            Gets the DirectSound output devices in the system
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.DirectSoundOut.PlaybackPosition">
+            <summary>
+            Gets the current position from the wave output device.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.DirectSoundOut.PlaybackState">
+            <summary>
+            Current playback state
+            </summary>
+            <value></value>
+        </member>
+        <member name="P:NAudio.Wave.DirectSoundOut.Volume">
+            <summary>
+            The volume 1.0 is full scale
+            </summary>
+            <value></value>
+        </member>
+        <member name="T:NAudio.Wave.DirectSoundOut.IDirectSound">
+            <summary>
+            IDirectSound interface
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.DirectSoundOut.IDirectSoundBuffer">
+            <summary>
+            IDirectSoundBuffer interface
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.DirectSoundOut.IDirectSoundNotify">
+            <summary>
+            IDirectSoundNotify interface
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.DirectSoundOut.DSEnumCallback">
+            <summary>
+            The DSEnumCallback function is an application-defined callback function that enumerates the DirectSound drivers. 
+            The system calls this function in response to the application's call to the DirectSoundEnumerate or DirectSoundCaptureEnumerate function.
+            </summary>
+            <param name="lpGuid">Address of the GUID that identifies the device being enumerated, or NULL for the primary device. This value can be passed to the DirectSoundCreate8 or DirectSoundCaptureCreate8 function to create a device object for that driver. </param>
+            <param name="lpcstrDescription">Address of a null-terminated string that provides a textual description of the DirectSound device. </param>
+            <param name="lpcstrModule">Address of a null-terminated string that specifies the module name of the DirectSound driver corresponding to this device. </param>
+            <param name="lpContext">Address of application-defined data. This is the pointer passed to DirectSoundEnumerate or DirectSoundCaptureEnumerate as the lpContext parameter. </param>
+            <returns>Returns TRUE to continue enumerating drivers, or FALSE to stop.</returns>
+        </member>
+        <member name="T:NAudio.Wave.DirectSoundDeviceInfo">
+            <summary>
+            Class for enumerating DirectSound devices
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.DirectSoundDeviceInfo.Guid">
+            <summary>
+            The device identifier
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.DirectSoundDeviceInfo.Description">
+            <summary>
+            Device description
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.DirectSoundDeviceInfo.ModuleName">
+            <summary>
+            Device module name
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.PlaybackState">
+            <summary>
+            Playback State
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.PlaybackState.Stopped">
+            <summary>
+            Stopped
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.PlaybackState.Playing">
+            <summary>
+            Playing
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.PlaybackState.Paused">
+            <summary>
+            Paused
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WasapiOut">
+            <summary>
+            Support for playback using Wasapi
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WasapiOut.#ctor(NAudio.CoreAudioApi.AudioClientShareMode,System.Int32)">
+            <summary>
+            WASAPI Out using default audio endpoint
+            </summary>
+            <param name="shareMode">ShareMode - shared or exclusive</param>
+            <param name="latency">Desired latency in milliseconds</param>
+        </member>
+        <member name="M:NAudio.Wave.WasapiOut.#ctor(NAudio.CoreAudioApi.AudioClientShareMode,System.Boolean,System.Int32)">
+            <summary>
+            WASAPI Out using default audio endpoint
+            </summary>
+            <param name="shareMode">ShareMode - shared or exclusive</param>
+            <param name="useEventSync">true if sync is done with event. false use sleep.</param>
+            <param name="latency">Desired latency in milliseconds</param>
+        </member>
+        <member name="M:NAudio.Wave.WasapiOut.#ctor(NAudio.CoreAudioApi.MMDevice,NAudio.CoreAudioApi.AudioClientShareMode,System.Boolean,System.Int32)">
+            <summary>
+            Creates a new WASAPI Output
+            </summary>
+            <param name="device">Device to use</param>
+            <param name="shareMode"></param>
+            <param name="useEventSync">true if sync is done with event. false use sleep.</param>
+            <param name="latency"></param>
+        </member>
+        <member name="M:NAudio.Wave.WasapiOut.GetPosition">
+            <summary>
+            Gets the current position in bytes from the wave output device.
+            (n.b. this is not the same thing as the position within your reader
+            stream)
+            </summary>
+            <returns>Position in bytes</returns>
+        </member>
+        <member name="M:NAudio.Wave.WasapiOut.Play">
+            <summary>
+            Begin Playback
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WasapiOut.Stop">
+            <summary>
+            Stop playback and flush buffers
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WasapiOut.Pause">
+            <summary>
+            Stop playback without flushing buffers
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WasapiOut.Init(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initialize for playing the specified wave stream
+            </summary>
+            <param name="waveProvider">IWaveProvider to play</param>
+        </member>
+        <member name="M:NAudio.Wave.WasapiOut.Dispose">
+            <summary>
+            Dispose
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.WasapiOut.PlaybackStopped">
+            <summary>
+            Playback Stopped
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WasapiOut.OutputWaveFormat">
+            <summary>
+            Gets a <see cref="T:NAudio.Wave.WaveFormat"/> instance indicating the format the hardware is using.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WasapiOut.PlaybackState">
+            <summary>
+            Playback State
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WasapiOut.Volume">
+            <summary>
+            Volume
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveBuffer">
+            <summary>
+            WaveBuffer class use to store wave datas. Data can be manipulated with arrays
+            (<see cref="P:NAudio.Wave.WaveBuffer.ByteBuffer"/>,<see cref="P:NAudio.Wave.WaveBuffer.FloatBuffer"/>,<see cref="P:NAudio.Wave.WaveBuffer.ShortBuffer"/>,<see cref="P:NAudio.Wave.WaveBuffer.IntBuffer"/> ) that are pointing to the
+            same memory buffer. Use the associated Count property based on the type of buffer to get the number of 
+            data in the buffer.
+            Implicit casting is now supported to float[], byte[], int[], short[].
+            You must not use Length on returned arrays.
+            
+            n.b. FieldOffset is 8 now to allow it to work natively on 64 bit
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveBuffer.numberOfBytes">
+            <summary>
+            Number of Bytes
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.#ctor(System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:NAudio.Wave.WaveBuffer"/> class.
+            </summary>
+            <param name="sizeToAllocateInBytes">The number of bytes. The size of the final buffer will be aligned on 4 Bytes (upper bound)</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.#ctor(System.Byte[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:NAudio.Wave.WaveBuffer"/> class binded to a specific byte buffer.
+            </summary>
+            <param name="bufferToBoundTo">A byte buffer to bound the WaveBuffer to.</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.BindTo(System.Byte[])">
+            <summary>
+            Binds this WaveBuffer instance to a specific byte buffer.
+            </summary>
+            <param name="bufferToBoundTo">A byte buffer to bound the WaveBuffer to.</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.op_Implicit(NAudio.Wave.WaveBuffer)~System.Byte[]">
+            <summary>
+            Performs an implicit conversion from <see cref="T:NAudio.Wave.WaveBuffer"/> to <see cref="T:System.Byte"/>.
+            </summary>
+            <param name="waveBuffer">The wave buffer.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.op_Implicit(NAudio.Wave.WaveBuffer)~System.Single[]">
+            <summary>
+            Performs an implicit conversion from <see cref="T:NAudio.Wave.WaveBuffer"/> to <see cref="T:System.Single"/>.
+            </summary>
+            <param name="waveBuffer">The wave buffer.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.op_Implicit(NAudio.Wave.WaveBuffer)~System.Int32[]">
+            <summary>
+            Performs an implicit conversion from <see cref="T:NAudio.Wave.WaveBuffer"/> to <see cref="T:System.Int32"/>.
+            </summary>
+            <param name="waveBuffer">The wave buffer.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.op_Implicit(NAudio.Wave.WaveBuffer)~System.Int16[]">
+            <summary>
+            Performs an implicit conversion from <see cref="T:NAudio.Wave.WaveBuffer"/> to <see cref="T:System.Int16"/>.
+            </summary>
+            <param name="waveBuffer">The wave buffer.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.Clear">
+            <summary>
+            Clears the associated buffer.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.Copy(System.Array)">
+            <summary>
+            Copy this WaveBuffer to a destination buffer up to ByteBufferCount bytes.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.CheckValidityCount(System.String,System.Int32,System.Int32)">
+            <summary>
+            Checks the validity of the count parameters.
+            </summary>
+            <param name="argName">Name of the arg.</param>
+            <param name="value">The value.</param>
+            <param name="sizeOfValue">The size of value.</param>
+        </member>
+        <member name="P:NAudio.Wave.WaveBuffer.ByteBuffer">
+            <summary>
+            Gets the byte buffer.
+            </summary>
+            <value>The byte buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.WaveBuffer.FloatBuffer">
+            <summary>
+            Gets the float buffer.
+            </summary>
+            <value>The float buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.WaveBuffer.ShortBuffer">
+            <summary>
+            Gets the short buffer.
+            </summary>
+            <value>The short buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.WaveBuffer.IntBuffer">
+            <summary>
+            Gets the int buffer.
+            </summary>
+            <value>The int buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.WaveBuffer.MaxSize">
+            <summary>
+            Gets the max size in bytes of the byte buffer..
+            </summary>
+            <value>Maximum number of bytes in the buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.WaveBuffer.ByteBufferCount">
+            <summary>
+            Gets or sets the byte buffer count.
+            </summary>
+            <value>The byte buffer count.</value>
+        </member>
+        <member name="P:NAudio.Wave.WaveBuffer.FloatBufferCount">
+            <summary>
+            Gets or sets the float buffer count.
+            </summary>
+            <value>The float buffer count.</value>
+        </member>
+        <member name="P:NAudio.Wave.WaveBuffer.ShortBufferCount">
+            <summary>
+            Gets or sets the short buffer count.
+            </summary>
+            <value>The short buffer count.</value>
+        </member>
+        <member name="P:NAudio.Wave.WaveBuffer.IntBufferCount">
+            <summary>
+            Gets or sets the int buffer count.
+            </summary>
+            <value>The int buffer count.</value>
+        </member>
+        <member name="T:NAudio.Wave.WaveCallbackInfo">
+            <summary>
+            Wave Callback Info
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveCallbackInfo.FunctionCallback">
+            <summary>
+            Sets up a new WaveCallbackInfo for function callbacks
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveCallbackInfo.NewWindow">
+            <summary>
+            Sets up a new WaveCallbackInfo to use a New Window
+            IMPORTANT: only use this on the GUI thread
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveCallbackInfo.ExistingWindow(System.IntPtr)">
+            <summary>
+            Sets up a new WaveCallbackInfo to use an existing window
+            IMPORTANT: only use this on the GUI thread
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveCallbackInfo.Strategy">
+            <summary>
+            Callback Strategy
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveCallbackInfo.Handle">
+            <summary>
+            Window Handle (if applicable)
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveCallbackStrategy">
+            <summary>
+            Wave Callback Strategy
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveCallbackStrategy.FunctionCallback">
+            <summary>
+            Use a function
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveCallbackStrategy.NewWindow">
+            <summary>
+            Create a new window (should only be done if on GUI thread)
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveCallbackStrategy.ExistingWindow">
+            <summary>
+            Use an existing window handle
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveCallbackStrategy.Event">
+            <summary>
+            Use an event handle
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveOut">
+            <summary>
+            Represents a wave out device
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOut.GetCapabilities(System.Int32)">
+            <summary>
+            Retrieves the capabilities of a waveOut device
+            </summary>
+            <param name="devNumber">Device to test</param>
+            <returns>The WaveOut device capabilities</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveOut.#ctor">
+            <summary>
+            Creates a default WaveOut device
+            Will use window callbacks if called from a GUI thread, otherwise function
+            callbacks
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOut.#ctor(System.IntPtr)">
+            <summary>
+            Creates a WaveOut device using the specified window handle for callbacks
+            </summary>
+            <param name="windowHandle">A valid window handle</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveOut.#ctor(NAudio.Wave.WaveCallbackInfo)">
+            <summary>
+            Opens a WaveOut device
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOut.Init(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initialises the WaveOut device
+            </summary>
+            <param name="waveProvider">WaveProvider to play</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveOut.Play">
+            <summary>
+            Start playing the audio from the WaveStream
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOut.Pause">
+            <summary>
+            Pause the audio
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOut.Resume">
+            <summary>
+            Resume playing after a pause from the same position
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOut.Stop">
+            <summary>
+            Stop and reset the WaveOut device
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOut.GetPosition">
+            <summary>
+            Gets the current position in bytes from the wave output device.
+            (n.b. this is not the same thing as the position within your reader
+            stream - it calls directly into waveOutGetPosition)
+            </summary>
+            <returns>Position in bytes</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveOut.Dispose">
+            <summary>
+            Closes this WaveOut device
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOut.Dispose(System.Boolean)">
+            <summary>
+            Closes the WaveOut device and disposes of buffers
+            </summary>
+            <param name="disposing">True if called from <see>Dispose</see></param>
+        </member>
+        <member name="M:NAudio.Wave.WaveOut.Finalize">
+            <summary>
+            Finalizer. Only called when user forgets to call <see>Dispose</see>
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.WaveOut.PlaybackStopped">
+            <summary>
+            Indicates playback has stopped automatically
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOut.DeviceCount">
+            <summary>
+            Returns the number of Wave Out devices available in the system
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOut.DesiredLatency">
+            <summary>
+            Gets or sets the desired latency in milliseconds
+            Should be set before a call to Init
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOut.NumberOfBuffers">
+            <summary>
+            Gets or sets the number of buffers used
+            Should be set before a call to Init
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOut.DeviceNumber">
+            <summary>
+            Gets or sets the device number
+            Should be set before a call to Init
+            This must be between 0 and <see>DeviceCount</see> - 1.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOut.OutputWaveFormat">
+            <summary>
+            Gets a <see cref="T:NAudio.Wave.WaveFormat"/> instance indicating the format the hardware is using.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOut.PlaybackState">
+            <summary>
+            Playback State
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOut.Volume">
+            <summary>
+            Volume for this device 1.0 is full scale
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveOutEvent">
+            <summary>
+            Alternative WaveOut class, making use of the Event callback
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOutEvent.#ctor">
+            <summary>
+            Opens a WaveOut device
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOutEvent.Init(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initialises the WaveOut device
+            </summary>
+            <param name="waveProvider">WaveProvider to play</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveOutEvent.Play">
+            <summary>
+            Start playing the audio from the WaveStream
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOutEvent.Pause">
+            <summary>
+            Pause the audio
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOutEvent.Resume">
+            <summary>
+            Resume playing after a pause from the same position
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOutEvent.Stop">
+            <summary>
+            Stop and reset the WaveOut device
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOutEvent.GetPosition">
+            <summary>
+            Gets the current position in bytes from the wave output device.
+            (n.b. this is not the same thing as the position within your reader
+            stream - it calls directly into waveOutGetPosition)
+            </summary>
+            <returns>Position in bytes</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveOutEvent.Dispose">
+            <summary>
+            Closes this WaveOut device
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOutEvent.Dispose(System.Boolean)">
+            <summary>
+            Closes the WaveOut device and disposes of buffers
+            </summary>
+            <param name="disposing">True if called from <see>Dispose</see></param>
+        </member>
+        <member name="M:NAudio.Wave.WaveOutEvent.Finalize">
+            <summary>
+            Finalizer. Only called when user forgets to call <see>Dispose</see>
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.WaveOutEvent.PlaybackStopped">
+            <summary>
+            Indicates playback has stopped automatically
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOutEvent.DesiredLatency">
+            <summary>
+            Gets or sets the desired latency in milliseconds
+            Should be set before a call to Init
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOutEvent.NumberOfBuffers">
+            <summary>
+            Gets or sets the number of buffers used
+            Should be set before a call to Init
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOutEvent.DeviceNumber">
+            <summary>
+            Gets or sets the device number
+            Should be set before a call to Init
+            This must be between 0 and <see>DeviceCount</see> - 1.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOutEvent.OutputWaveFormat">
+            <summary>
+            Gets a <see cref="T:NAudio.Wave.WaveFormat"/> instance indicating the format the hardware is using.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOutEvent.PlaybackState">
+            <summary>
+            Playback State
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOutEvent.Volume">
+            <summary>
+            Obsolete property
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.MeteringSampleProvider">
+            <summary>
+            Simple SampleProvider that passes through audio unchanged and raises
+            an event every n samples with the maximum sample value from the period
+            for metering purposes
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MeteringSampleProvider.#ctor(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Initialises a new instance of MeteringSampleProvider that raises 10 stream volume
+            events per second
+            </summary>
+            <param name="source">Source sample provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MeteringSampleProvider.#ctor(NAudio.Wave.ISampleProvider,System.Int32)">
+            <summary>
+            Initialises a new instance of MeteringSampleProvider 
+            </summary>
+            <param name="source">source sampler provider</param>
+            <param name="samplesPerNotification">Number of samples between notifications</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MeteringSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this Sample Provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="count">Number of samples required</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.MeteringSampleProvider.SamplesPerNotification">
+            <summary>
+            Number of Samples per notification
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.SampleProviders.MeteringSampleProvider.StreamVolume">
+            <summary>
+            Raised periodically to inform the user of the max volume
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.MeteringSampleProvider.WaveFormat">
+            <summary>
+            The WaveFormat of this sample provider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.StreamVolumeEventArgs">
+            <summary>
+            Event args for aggregated stream volume
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.StreamVolumeEventArgs.MaxSampleValues">
+            <summary>
+            Max sample values array (one for each channel)
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.NotifyingSampleProvider">
+            <summary>
+            Simple class that raises an event on every sample
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.ISampleNotifier">
+            <summary>
+            An interface for WaveStreams which can report notification of individual samples
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.ISampleNotifier.Sample">
+            <summary>
+            A sample has been detected
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.NotifyingSampleProvider.#ctor(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Initializes a new instance of NotifyingSampleProvider
+            </summary>
+            <param name="source">Source Sample Provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.NotifyingSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this sample provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="sampleCount">Number of samples desired</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.NotifyingSampleProvider.WaveFormat">
+            <summary>
+            WaveFormat
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.SampleProviders.NotifyingSampleProvider.Sample">
+            <summary>
+            Sample notifier
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.VolumeSampleProvider">
+            <summary>
+            Very simple sample provider supporting adjustable gain
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.VolumeSampleProvider.#ctor(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Initializes a new instance of VolumeSampleProvider
+            </summary>
+            <param name="source">Source Sample Provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.VolumeSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this sample provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="sampleCount">Number of samples desired</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.VolumeSampleProvider.WaveFormat">
+            <summary>
+            WaveFormat
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.VolumeSampleProvider.Volume">
+            <summary>
+            Allows adjusting the volume, 1.0f = full volume
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.SampleToWaveProvider">
+            <summary>
+            Helper class for when you need to convert back to an IWaveProvider from
+            an ISampleProvider. Keeps it as IEEE float
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleToWaveProvider.#ctor(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Initializes a new instance of the WaveProviderFloatToWaveProvider class
+            </summary>
+            <param name="source">Source wave provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleToWaveProvider.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads from this provider
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SampleToWaveProvider.WaveFormat">
+            <summary>
+            The waveformat of this WaveProvider (same as the source)
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.BufferedWaveProvider">
+            <summary>
+            Provides a buffered store of samples
+            Read method will return queued samples or fill buffer with zeroes
+            Now backed by a circular buffer
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.BufferedWaveProvider.#ctor(NAudio.Wave.WaveFormat)">
+            <summary>
+            Creates a new buffered WaveProvider
+            </summary>
+            <param name="waveFormat">WaveFormat</param>
+        </member>
+        <member name="M:NAudio.Wave.BufferedWaveProvider.AddSamples(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Adds samples. Takes a copy of buffer, so that buffer can be reused if necessary
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.BufferedWaveProvider.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads from this WaveProvider
+            Will always return count bytes, since we will zero-fill the buffer if not enough available
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.BufferedWaveProvider.ClearBuffer">
+            <summary>
+            Discards all audio from the buffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.BufferedWaveProvider.BufferLength">
+            <summary>
+            Buffer length in bytes
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.BufferedWaveProvider.BufferDuration">
+            <summary>
+            Buffer duration
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.BufferedWaveProvider.DiscardOnBufferOverflow">
+            <summary>
+            If true, when the buffer is full, start throwing away data
+            if false, AddSamples will throw an exception when buffer is full
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.BufferedWaveProvider.BufferedBytes">
+            <summary>
+            The number of buffered bytes
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.BufferedWaveProvider.BufferedDuration">
+            <summary>
+            Buffered Duration
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.BufferedWaveProvider.WaveFormat">
+            <summary>
+            Gets the WaveFormat
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.MonoToStereoSampleProvider">
+            <summary>
+            No nonsense mono to stereo provider, no volume adjustment,
+            just copies input to left and right. 
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MonoToStereoSampleProvider.#ctor(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Initializes a new instance of MonoToStereoSampleProvider
+            </summary>
+            <param name="source">Source sample provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MonoToStereoSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="count">Number of samples required</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.MonoToStereoSampleProvider.WaveFormat">
+            <summary>
+            WaveFormat of this provider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.MediaFoundationResampler">
+            <summary>
+            The Media Foundation Resampler Transform
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MediaFoundationTransform">
+            <summary>
+            An abstract base class for simplifying working with Media Foundation Transforms
+            You need to override the method that actually creates and configures the transform
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransform.sourceProvider">
+            <summary>
+            The Source Provider
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransform.outputWaveFormat">
+            <summary>
+            The Output WaveFormat
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationTransform.#ctor(NAudio.Wave.IWaveProvider,NAudio.Wave.WaveFormat)">
+            <summary>
+            Constructs a new MediaFoundationTransform wrapper
+            Will read one second at a time
+            </summary>
+            <param name="sourceProvider">The source provider for input data to the transform</param>
+            <param name="outputFormat">The desired output format</param>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationTransform.CreateTransform">
+            <summary>
+            To be implemented by overriding classes. Create the transform object, set up its input and output types,
+            and configure any custom properties in here
+            </summary>
+            <returns>An object implementing IMFTrasform</returns>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationTransform.Dispose(System.Boolean)">
+            <summary>
+            Disposes this MediaFoundation transform
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationTransform.Dispose">
+            <summary>
+            Disposes this Media Foundation Transform
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationTransform.Finalize">
+            <summary>
+            Destructor
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationTransform.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads data out of the source, passing it through the transform
+            </summary>
+            <param name="buffer">Output buffer</param>
+            <param name="offset">Offset within buffer to write to</param>
+            <param name="count">Desired byte count</param>
+            <returns>Number of bytes read</returns>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationTransform.ReadFromTransform">
+            <summary>
+            Attempts to read from the transform
+            Some useful info here:
+            http://msdn.microsoft.com/en-gb/library/windows/desktop/aa965264%28v=vs.85%29.aspx#process_data
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationTransform.Reposition">
+            <summary>
+            Indicate that the source has been repositioned and completely drain out the transforms buffers
+            </summary>
+        </member>
+        <member name="P:NAudio.MediaFoundation.MediaFoundationTransform.WaveFormat">
+            <summary>
+            The output WaveFormat of this Media Foundation Transform
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationResampler.#ctor(NAudio.Wave.IWaveProvider,NAudio.Wave.WaveFormat)">
+            <summary>
+            Creates the Media Foundation Resampler, allowing modifying of sample rate, bit depth and channel count
+            </summary>
+            <param name="sourceProvider">Source provider, must be PCM</param>
+            <param name="outputFormat">Output format, must also be PCM</param>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationResampler.#ctor(NAudio.Wave.IWaveProvider,System.Int32)">
+            <summary>
+            Creates a resampler with a specified target output sample rate
+            </summary>
+            <param name="sourceProvider">Source provider</param>
+            <param name="outputSampleRate">Output sample rate</param>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationResampler.CreateTransform">
+            <summary>
+            Creates and configures the actual Resampler transform
+            </summary>
+            <returns>A newly created and configured resampler MFT</returns>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationResampler.Dispose(System.Boolean)">
+            <summary>
+            Disposes this resampler
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MediaFoundationResampler.ResamplerQuality">
+            <summary>
+            Gets or sets the Resampler quality. n.b. set the quality before starting to resample.
+            1 is lowest quality (linear interpolation) and 60 is best quality
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.MixingWaveProvider32">
+            <summary>
+            WaveProvider that can mix together multiple 32 bit floating point input provider
+            All channels must have the same number of inputs and same sample rate
+            n.b. Work in Progress - not tested yet
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.MixingWaveProvider32.#ctor">
+            <summary>
+            Creates a new MixingWaveProvider32
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.MixingWaveProvider32.#ctor(System.Collections.Generic.IEnumerable{NAudio.Wave.IWaveProvider})">
+            <summary>
+            Creates a new 32 bit MixingWaveProvider32
+            </summary>
+            <param name="inputs">inputs - must all have the same format.</param>
+            <exception cref="T:System.ArgumentException">Thrown if the input streams are not 32 bit floating point,
+            or if they have different formats to each other</exception>
+        </member>
+        <member name="M:NAudio.Wave.MixingWaveProvider32.AddInputStream(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Add a new input to the mixer
+            </summary>
+            <param name="waveProvider">The wave input to add</param>
+        </member>
+        <member name="M:NAudio.Wave.MixingWaveProvider32.RemoveInputStream(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Remove an input from the mixer
+            </summary>
+            <param name="waveProvider">waveProvider to remove</param>
+        </member>
+        <member name="M:NAudio.Wave.MixingWaveProvider32.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this wave stream
+            </summary>
+            <param name="buffer">buffer to read into</param>
+            <param name="offset">offset into buffer</param>
+            <param name="count">number of bytes required</param>
+            <returns>Number of bytes read.</returns>
+            <exception cref="T:System.ArgumentException">Thrown if an invalid number of bytes requested</exception>
+        </member>
+        <member name="M:NAudio.Wave.MixingWaveProvider32.Sum32BitAudio(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+            <summary>
+            Actually performs the mixing
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MixingWaveProvider32.InputCount">
+            <summary>
+            The number of inputs to this mixer
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MixingWaveProvider32.WaveFormat">
+            <summary>
+            <see cref="P:NAudio.Wave.WaveStream.WaveFormat"/>
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.MultiplexingWaveProvider">
+            <summary>
+            Allows any number of inputs to be patched to outputs
+            Uses could include swapping left and right channels, turning mono into stereo,
+            feeding different input sources to different soundcard outputs etc
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.MultiplexingWaveProvider.#ctor(System.Collections.Generic.IEnumerable{NAudio.Wave.IWaveProvider},System.Int32)">
+            <summary>
+            Creates a multiplexing wave provider, allowing re-patching of input channels to different
+            output channels
+            </summary>
+            <param name="inputs">Input wave providers. Must all be of the same format, but can have any number of channels</param>
+            <param name="numberOfOutputChannels">Desired number of output channels.</param>
+        </member>
+        <member name="F:NAudio.Wave.MultiplexingWaveProvider.inputBuffer">
+            <summary>
+            persistent temporary buffer to prevent creating work for garbage collector
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.MultiplexingWaveProvider.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads data from this WaveProvider
+            </summary>
+            <param name="buffer">Buffer to be filled with sample data</param>
+            <param name="offset">Offset to write to within buffer, usually 0</param>
+            <param name="count">Number of bytes required</param>
+            <returns>Number of bytes read</returns>
+        </member>
+        <member name="M:NAudio.Wave.MultiplexingWaveProvider.ConnectInputToOutput(System.Int32,System.Int32)">
+            <summary>
+            Connects a specified input channel to an output channel
+            </summary>
+            <param name="inputChannel">Input Channel index (zero based). Must be less than InputChannelCount</param>
+            <param name="outputChannel">Output Channel index (zero based). Must be less than OutputChannelCount</param>
+        </member>
+        <member name="P:NAudio.Wave.MultiplexingWaveProvider.WaveFormat">
+            <summary>
+            The WaveFormat of this WaveProvider
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MultiplexingWaveProvider.InputChannelCount">
+            <summary>
+            The number of input channels. Note that this is not the same as the number of input wave providers. If you pass in
+            one stereo and one mono input provider, the number of input channels is three.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MultiplexingWaveProvider.OutputChannelCount">
+            <summary>
+            The number of output channels, as specified in the constructor.
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.StereoToMonoProvider16">
+            <summary>
+            Takes a stereo 16 bit input and turns it mono, allowing you to select left or right channel only or mix them together
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.StereoToMonoProvider16.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Creates a new mono waveprovider based on a stereo input
+            </summary>
+            <param name="sourceProvider">Stereo 16 bit PCM input</param>
+        </member>
+        <member name="M:NAudio.Wave.StereoToMonoProvider16.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this WaveProvider
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.StereoToMonoProvider16.LeftVolume">
+            <summary>
+            1.0 to mix the mono source entirely to the left channel
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.StereoToMonoProvider16.RightVolume">
+            <summary>
+            1.0 to mix the mono source entirely to the right channel
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.StereoToMonoProvider16.WaveFormat">
+            <summary>
+            Output Wave Format
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.MonoToStereoProvider16">
+            <summary>
+            Converts from mono to stereo, allowing freedom to route all, some, or none of the incoming signal to left or right channels
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.MonoToStereoProvider16.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Creates a new stereo waveprovider based on a mono input
+            </summary>
+            <param name="sourceProvider">Mono 16 bit PCM input</param>
+        </member>
+        <member name="M:NAudio.Wave.MonoToStereoProvider16.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this WaveProvider
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MonoToStereoProvider16.LeftVolume">
+            <summary>
+            1.0 to copy the mono stream to the left channel without adjusting volume
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MonoToStereoProvider16.RightVolume">
+            <summary>
+            1.0 to copy the mono stream to the right channel without adjusting volume
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MonoToStereoProvider16.WaveFormat">
+            <summary>
+            Output Wave Format
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.VolumeWaveProvider16">
+            <summary>
+            Helper class allowing us to modify the volume of a 16 bit stream without converting to IEEE float
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.VolumeWaveProvider16.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Constructs a new VolumeWaveProvider16
+            </summary>
+            <param name="sourceProvider">Source provider, must be 16 bit PCM</param>
+        </member>
+        <member name="M:NAudio.Wave.VolumeWaveProvider16.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Read bytes from this WaveProvider
+            </summary>
+            <param name="buffer">Buffer to read into</param>
+            <param name="offset">Offset within buffer to read to</param>
+            <param name="count">Bytes desired</param>
+            <returns>Bytes read</returns>
+        </member>
+        <member name="P:NAudio.Wave.VolumeWaveProvider16.Volume">
+            <summary>
+            Gets or sets volume. 
+            1.0 is full scale, 0.0 is silence, anything over 1.0 will amplify but potentially clip
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.VolumeWaveProvider16.WaveFormat">
+            <summary>
+            WaveFormat of this WaveProvider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveFloatTo16Provider">
+            <summary>
+            Converts IEEE float to 16 bit PCM, optionally clipping and adjusting volume along the way
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFloatTo16Provider.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Creates a new WaveFloatTo16Provider
+            </summary>
+            <param name="sourceProvider">the source provider</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFloatTo16Provider.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this wave stream
+            </summary>
+            <param name="destBuffer">The destination buffer</param>
+            <param name="offset">Offset into the destination buffer</param>
+            <param name="numBytes">Number of bytes read</param>
+            <returns>Number of bytes read.</returns>
+        </member>
+        <member name="P:NAudio.Wave.WaveFloatTo16Provider.WaveFormat">
+            <summary>
+            <see cref="P:NAudio.Wave.IWaveProvider.WaveFormat"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFloatTo16Provider.Volume">
+            <summary>
+            Volume of this channel. 1.0 = full scale
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Wave16ToFloatProvider">
+            <summary>
+            Converts 16 bit PCM to IEEE float, optionally adjusting volume along the way
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Wave16ToFloatProvider.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Creates a new Wave16toFloatProvider
+            </summary>
+            <param name="sourceProvider">the source provider</param>
+        </member>
+        <member name="M:NAudio.Wave.Wave16ToFloatProvider.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this wave stream
+            </summary>
+            <param name="destBuffer">The destination buffer</param>
+            <param name="offset">Offset into the destination buffer</param>
+            <param name="numBytes">Number of bytes read</param>
+            <returns>Number of bytes read.</returns>
+        </member>
+        <member name="P:NAudio.Wave.Wave16ToFloatProvider.WaveFormat">
+            <summary>
+            <see cref="P:NAudio.Wave.IWaveProvider.WaveFormat"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Wave16ToFloatProvider.Volume">
+            <summary>
+            Volume of this channel. 1.0 = full scale
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveInProvider">
+            <summary>
+            Buffered WaveProvider taking source data from WaveIn
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveInProvider.#ctor(NAudio.Wave.IWaveIn)">
+            <summary>
+            Creates a new WaveInProvider
+            n.b. Should make sure the WaveFormat is set correctly on IWaveIn before calling
+            </summary>
+            <param name="waveIn">The source of wave data</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveInProvider.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads data from the WaveInProvider
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInProvider.WaveFormat">
+            <summary>
+            The WaveFormat
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveProvider16">
+            <summary>
+            Base class for creating a 16 bit wave provider
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider16.#ctor">
+            <summary>
+            Initializes a new instance of the WaveProvider16 class 
+            defaulting to 44.1kHz mono
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider16.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the WaveProvider16 class with the specified
+            sample rate and number of channels
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider16.SetWaveFormat(System.Int32,System.Int32)">
+            <summary>
+            Allows you to specify the sample rate and channels for this WaveProvider
+            (should be initialised before you pass it to a wave player)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider16.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Implements the Read method of IWaveProvider by delegating to the abstract
+            Read method taking a short array
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider16.Read(System.Int16[],System.Int32,System.Int32)">
+            <summary>
+            Method to override in derived classes
+            Supply the requested number of samples into the buffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveProvider16.WaveFormat">
+            <summary>
+            The Wave Format
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveProvider32">
+            <summary>
+            Base class for creating a 32 bit floating point wave provider
+            Can also be used as a base class for an ISampleProvider that can 
+            be plugged straight into anything requiring an IWaveProvider
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider32.#ctor">
+            <summary>
+            Initializes a new instance of the WaveProvider32 class 
+            defaulting to 44.1kHz mono
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider32.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the WaveProvider32 class with the specified
+            sample rate and number of channels
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider32.SetWaveFormat(System.Int32,System.Int32)">
+            <summary>
+            Allows you to specify the sample rate and channels for this WaveProvider
+            (should be initialised before you pass it to a wave player)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider32.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Implements the Read method of IWaveProvider by delegating to the abstract
+            Read method taking a float array
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider32.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Method to override in derived classes
+            Supply the requested number of samples into the buffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveProvider32.WaveFormat">
+            <summary>
+            The Wave Format
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.WaveToSampleProvider">
+            <summary>
+            Helper class turning an already 32 bit floating point IWaveProvider
+            into an ISampleProvider - hopefully not needed for most applications
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.WaveToSampleProvider.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initializes a new instance of the WaveToSampleProvider class
+            </summary>
+            <param name="source">Source wave provider, must be IEEE float</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.WaveToSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads from this provider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveRecorder">
+            <summary>
+            Utility class to intercept audio from an IWaveProvider and
+            save it to disk
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveRecorder.#ctor(NAudio.Wave.IWaveProvider,System.String)">
+            <summary>
+            Constructs a new WaveRecorder
+            </summary>
+            <param name="destination">The location to write the WAV file to</param>
+            <param name="source">The Source Wave Provider</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveRecorder.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Read simply returns what the source returns, but writes to disk along the way
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveRecorder.Dispose">
+            <summary>
+            Closes the WAV file
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveRecorder.WaveFormat">
+            <summary>
+            The WaveFormat
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.AiffFileReader">
+            <summary>A read-only stream of AIFF data based on an aiff file
+            with an associated WaveFormat
+            originally contributed to NAudio by Giawa
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveStream">
+            <summary>
+            Base class for all WaveStream classes. Derives from stream.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveStream.Flush">
+            <summary>
+            Flush does not need to do anything
+            See <see cref="M:System.IO.Stream.Flush"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveStream.Seek(System.Int64,System.IO.SeekOrigin)">
+            <summary>
+            An alternative way of repositioning.
+            See <see cref="M:System.IO.Stream.Seek(System.Int64,System.IO.SeekOrigin)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveStream.SetLength(System.Int64)">
+            <summary>
+            Sets the length of the WaveStream. Not Supported.
+            </summary>
+            <param name="length"></param>
+        </member>
+        <member name="M:NAudio.Wave.WaveStream.Write(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Writes to the WaveStream. Not Supported.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveStream.Skip(System.Int32)">
+            <summary>
+            Moves forward or backwards the specified number of seconds in the stream
+            </summary>
+            <param name="seconds">Number of seconds to move, can be negative</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveStream.HasData(System.Int32)">
+            <summary>
+            Whether the WaveStream has non-zero sample data at the current position for the 
+            specified count
+            </summary>
+            <param name="count">Number of bytes to read</param>
+        </member>
+        <member name="P:NAudio.Wave.WaveStream.WaveFormat">
+            <summary>
+            Retrieves the WaveFormat for this stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveStream.CanRead">
+            <summary>
+            We can read from this stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveStream.CanSeek">
+            <summary>
+            We can seek within this stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveStream.CanWrite">
+            <summary>
+            We can't write to this stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveStream.BlockAlign">
+            <summary>
+            The block alignment for this wavestream. Do not modify the Position
+            to anything that is not a whole multiple of this value
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveStream.CurrentTime">
+            <summary>
+            The current position in the stream in Time format
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveStream.TotalTime">
+            <summary>
+            Total length in real-time of the stream (may be an estimate for compressed files)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileReader.#ctor(System.String)">
+            <summary>Supports opening a AIF file</summary>
+            <remarks>The AIF is of similar nastiness to the WAV format.
+            This supports basic reading of uncompressed PCM AIF files,
+            with 8, 16, 24 and 32 bit PCM data.
+            </remarks>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileReader.#ctor(System.IO.Stream)">
+            <summary>
+            Creates an Aiff File Reader based on an input stream
+            </summary>
+            <param name="inputStream">The input stream containing a AIF file including header</param>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileReader.ReadAiffHeader(System.IO.Stream,NAudio.Wave.WaveFormat@,System.Int64@,System.Int32@,System.Collections.Generic.List{NAudio.Wave.AiffFileReader.AiffChunk})">
+            <summary>
+            Ensures valid AIFF header and then finds data offset.
+            </summary>
+            <param name="stream">The stream, positioned at the start of audio data</param>
+            <param name="format">The format found</param>
+            <param name="dataChunkPosition">The position of the data chunk</param>
+            <param name="dataChunkLength">The length of the data chunk</param>
+            <param name="chunks">Additional chunks found</param>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileReader.Dispose(System.Boolean)">
+            <summary>
+            Cleans up the resources associated with this AiffFileReader
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileReader.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from the AIFF File
+            <see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AiffFileReader.WaveFormat">
+            <summary>
+            <see cref="P:NAudio.Wave.WaveStream.WaveFormat"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AiffFileReader.Length">
+            <summary>
+            <see cref="P:NAudio.Wave.WaveStream.WaveFormat"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AiffFileReader.SampleCount">
+            <summary>
+            Number of Samples (if possible to calculate)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AiffFileReader.Position">
+            <summary>
+            Position in the AIFF file
+            <see cref="P:System.IO.Stream.Position"/>
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.AiffFileReader.AiffChunk">
+            <summary>
+            AIFF Chunk
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.AiffFileReader.AiffChunk.ChunkName">
+            <summary>
+            Chunk Name
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.AiffFileReader.AiffChunk.ChunkLength">
+            <summary>
+            Chunk Length
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.AiffFileReader.AiffChunk.ChunkStart">
+            <summary>
+            Chunk start
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AiffFileReader.AiffChunk.#ctor(System.UInt32,System.String,System.UInt32)">
+            <summary>
+            Creates a new AIFF Chunk
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.AudioFileReader">
+            <summary>
+            AudioFileReader simplifies opening an audio file in NAudio
+            Simply pass in the filename, and it will attempt to open the
+            file and set up a conversion path that turns into PCM IEEE float.
+            ACM codecs will be used for conversion.
+            It provides a volume property and implements both WaveStream and
+            ISampleProvider, making it possibly the only stage in your audio
+            pipeline necessary for simple playback scenarios
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AudioFileReader.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of AudioFileReader
+            </summary>
+            <param name="fileName">The file to open</param>
+        </member>
+        <member name="M:NAudio.Wave.AudioFileReader.CreateReaderStream(System.String)">
+            <summary>
+            Creates the reader stream, supporting all filetypes in the core NAudio library,
+            and ensuring we are in PCM format
+            </summary>
+            <param name="fileName">File Name</param>
+        </member>
+        <member name="M:NAudio.Wave.AudioFileReader.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads from this wave stream
+            </summary>
+            <param name="buffer">Audio buffer</param>
+            <param name="offset">Offset into buffer</param>
+            <param name="count">Number of bytes required</param>
+            <returns>Number of bytes read</returns>
+        </member>
+        <member name="M:NAudio.Wave.AudioFileReader.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads audio from this sample provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="count">Number of samples required</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="M:NAudio.Wave.AudioFileReader.SourceToDest(System.Int64)">
+            <summary>
+            Helper to convert source to dest bytes
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AudioFileReader.DestToSource(System.Int64)">
+            <summary>
+            Helper to convert dest to source bytes
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AudioFileReader.Dispose(System.Boolean)">
+            <summary>
+            Disposes this AudioFileReader
+            </summary>
+            <param name="disposing">True if called from Dispose</param>
+        </member>
+        <member name="P:NAudio.Wave.AudioFileReader.WaveFormat">
+            <summary>
+            WaveFormat of this stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AudioFileReader.Length">
+            <summary>
+            Length of this stream (in bytes)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AudioFileReader.Position">
+            <summary>
+            Position of this stream (in bytes)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AudioFileReader.Volume">
+            <summary>
+            Gets or Sets the Volume of this AudioFileReader. 1.0f is full volume
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.BlockAlignReductionStream">
+            <summary>
+            Helper stream that lets us read from compressed audio files with large block alignment
+            as though we could read any amount and reposition anywhere
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.BlockAlignReductionStream.#ctor(NAudio.Wave.WaveStream)">
+            <summary>
+            Creates a new BlockAlignReductionStream
+            </summary>
+            <param name="sourceStream">the input stream</param>
+        </member>
+        <member name="M:NAudio.Wave.BlockAlignReductionStream.Dispose(System.Boolean)">
+            <summary>
+            Disposes this WaveStream
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.BlockAlignReductionStream.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads data from this stream
+            </summary>
+            <param name="buffer"></param>
+            <param name="offset"></param>
+            <param name="count"></param>
+            <returns></returns>
+        </member>
+        <member name="P:NAudio.Wave.BlockAlignReductionStream.BlockAlign">
+            <summary>
+            Block alignment of this stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.BlockAlignReductionStream.WaveFormat">
+            <summary>
+            Wave Format
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.BlockAlignReductionStream.Length">
+            <summary>
+            Length of this Stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.BlockAlignReductionStream.Position">
+            <summary>
+            Current position within stream
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Cue">
+            <summary>
+            Holds information on a cue: a labeled position within a Wave file
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Cue.#ctor(System.Int32,System.String)">
+            <summary>
+            Creates a Cue based on a sample position and label 
+            </summary>
+            <param name="position"></param>
+            <param name="label"></param>
+        </member>
+        <member name="P:NAudio.Wave.Cue.Position">
+            <summary>
+            Cue position in samples
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Cue.Label">
+            <summary>
+            Label of the cue
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.CueList">
+             <summary>
+             Holds a list of cues
+             </summary>
+             <remarks>
+             The specs for reading and writing cues from the cue and list RIFF chunks 
+             are from http://www.sonicspot.com/guide/wavefiles.html and http://www.wotsit.org/
+             ------------------------------
+             The cues are stored like this:
+             ------------------------------
+             struct CuePoint
+             {
+              Int32 dwIdentifier;
+              Int32 dwPosition;
+              Int32 fccChunk;
+              Int32 dwChunkStart;
+              Int32 dwBlockStart;
+              Int32 dwSampleOffset;
+             } 
+            
+             struct CueChunk
+             {
+              Int32 chunkID;
+              Int32 chunkSize;
+              Int32 dwCuePoints;
+              CuePoint[] points;
+             }
+             ------------------------------
+             Labels look like this:
+             ------------------------------
+             struct ListHeader 
+             {
+               Int32 listID;      /* 'list' */
+               Int32 chunkSize;   /* includes the Type ID below */
+               Int32 typeID;      /* 'adtl' */
+             } 
+            
+             struct LabelChunk 
+             {
+               Int32 chunkID;
+               Int32 chunkSize;
+               Int32 dwIdentifier;
+               Char[] dwText;  /* Encoded with extended ASCII */
+             } LabelChunk;
+             </remarks>
+        </member>
+        <member name="M:NAudio.Wave.CueList.#ctor">
+            <summary>
+            Creates an empty cue list
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.CueList.Add(NAudio.Wave.Cue)">
+            <summary>
+            Adds an item to the list
+            </summary>
+            <param name="cue">Cue</param>
+        </member>
+        <member name="M:NAudio.Wave.CueList.#ctor(System.Byte[],System.Byte[])">
+            <summary>
+            Creates a cue list from the cue RIFF chunk and the list RIFF chunk
+            </summary>
+            <param name="cueChunkData">The data contained in the cue chunk</param>
+            <param name="listChunkData">The data contained in the list chunk</param>
+        </member>
+        <member name="M:NAudio.Wave.CueList.GetRIFFChunks">
+            <summary>
+            Gets the cues as the concatenated cue and list RIFF chunks.
+            </summary>
+            <returns>RIFF chunks containing the cue data</returns>
+        </member>
+        <member name="M:NAudio.Wave.CueList.FromChunks(NAudio.Wave.WaveFileReader)">
+            <summary>
+            Checks if the cue and list chunks exist and if so, creates a cue list
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.CueList.CuePositions">
+            <summary>
+            Gets sample positions for the embedded cues
+            </summary>
+            <returns>Array containing the cue positions</returns>
+        </member>
+        <member name="P:NAudio.Wave.CueList.CueLabels">
+            <summary>
+            Gets labels for the embedded cues
+            </summary>
+            <returns>Array containing the labels</returns>
+        </member>
+        <member name="P:NAudio.Wave.CueList.Count">
+            <summary>
+            Number of cues
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.CueList.Item(System.Int32)">
+            <summary>
+            Accesses the cue at the specified index
+            </summary>
+            <param name="index"></param>
+            <returns></returns>
+        </member>
+        <member name="T:NAudio.Wave.CueWaveFileReader">
+            <summary>
+            A wave file reader supporting cue reading
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveFileReader">
+            <summary>This class supports the reading of WAV files,
+            providing a repositionable WaveStream that returns the raw data
+            contained in the WAV file
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileReader.#ctor(System.String)">
+            <summary>Supports opening a WAV file</summary>
+            <remarks>The WAV file format is a real mess, but we will only
+            support the basic WAV file format which actually covers the vast
+            majority of WAV files out there. For more WAV file format information
+            visit www.wotsit.org. If you have a WAV file that can't be read by
+            this class, email it to the NAudio project and we will probably
+            fix this reader to support it
+            </remarks>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileReader.#ctor(System.IO.Stream)">
+            <summary>
+            Creates a Wave File Reader based on an input stream
+            </summary>
+            <param name="inputStream">The input stream containing a WAV file including header</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileReader.GetChunkData(NAudio.Wave.RiffChunk)">
+            <summary>
+            Gets the data for the specified chunk
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileReader.Dispose(System.Boolean)">
+            <summary>
+            Cleans up the resources associated with this WaveFileReader
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileReader.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from the Wave File
+            <see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileReader.ReadNextSampleFrame">
+            <summary>
+            Attempts to read the next sample or group of samples as floating point normalised into the range -1.0f to 1.0f
+            </summary>
+            <returns>An array of samples, 1 for mono, 2 for stereo etc. Null indicates end of file reached
+            </returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFileReader.TryReadFloat(System.Single@)">
+            <summary>
+            Attempts to read a sample into a float. n.b. only applicable for uncompressed formats
+            Will normalise the value read into the range -1.0f to 1.0f if it comes from a PCM encoding
+            </summary>
+            <returns>False if the end of the WAV data chunk was reached</returns>
+        </member>
+        <member name="P:NAudio.Wave.WaveFileReader.ExtraChunks">
+            <summary>
+            Gets a list of the additional chunks found in this file
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFileReader.WaveFormat">
+            <summary>
+            <see cref="P:NAudio.Wave.WaveStream.WaveFormat"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFileReader.Length">
+            <summary>
+            This is the length of audio data contained in this WAV file, in bytes
+            (i.e. the byte length of the data chunk, not the length of the WAV file itself)
+            <see cref="P:NAudio.Wave.WaveStream.WaveFormat"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFileReader.SampleCount">
+            <summary>
+            Number of Samples (if possible to calculate)
+            This currently does not take into account number of channels, so
+            divide again by number of channels if you want the number of 
+            audio 'frames'
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFileReader.Position">
+            <summary>
+            Position in the WAV data chunk.
+            <see cref="P:System.IO.Stream.Position"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.CueWaveFileReader.#ctor(System.String)">
+            <summary>
+            Loads a wavefile and supports reading cues
+            </summary>
+            <param name="fileName"></param>
+        </member>
+        <member name="P:NAudio.Wave.CueWaveFileReader.Cues">
+            <summary>
+            Cue List (can be null if cues not present)
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleEventArgs">
+            <summary>
+            Sample event arguments
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleEventArgs.#ctor(System.Single,System.Single)">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleEventArgs.Left">
+            <summary>
+            Left sample
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleEventArgs.Right">
+            <summary>
+            Right sample
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.MediaFoundationReader">
+            <summary>
+            Class for reading any file that Media Foundation can play
+            Will only work in Windows Vista and above
+            Automatically converts to PCM
+            If it is a video file with multiple audio streams, it will pick out the first audio stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationReader.#ctor(System.String)">
+            <summary>
+            Creates a new MediaFoundationReader based on the supplied file
+            </summary>
+            <param name="file">Filename (can also be a URL  e.g. http:// mms:// file://)</param>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationReader.#ctor(System.String,NAudio.Wave.MediaFoundationReader.MediaFoundationReaderSettings)">
+            <summary>
+            Creates a new MediaFoundationReader based on the supplied file
+            </summary>
+            <param name="file">Filename</param>
+            <param name="settings">Advanced settings</param>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationReader.CreateReader(NAudio.Wave.MediaFoundationReader.MediaFoundationReaderSettings)">
+            <summary>
+            Creates the reader (overridable by )
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationReader.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads from this wave stream
+            </summary>
+            <param name="buffer">Buffer to read into</param>
+            <param name="offset">Offset in buffer</param>
+            <param name="count">Bytes required</param>
+            <returns>Number of bytes read; 0 indicates end of stream</returns>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationReader.Dispose(System.Boolean)">
+            <summary>
+            Cleans up after finishing with this reader
+            </summary>
+            <param name="disposing">true if called from Dispose</param>
+        </member>
+        <member name="P:NAudio.Wave.MediaFoundationReader.WaveFormat">
+            <summary>
+            WaveFormat of this stream (n.b. this is after converting to PCM)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MediaFoundationReader.Length">
+            <summary>
+            The bytesRequired of this stream in bytes (n.b may not be accurate)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MediaFoundationReader.Position">
+            <summary>
+            Current position within this stream
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.MediaFoundationReader.WaveFormatChanged">
+            <summary>
+            WaveFormat has changed
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.MediaFoundationReader.MediaFoundationReaderSettings">
+            <summary>
+            Allows customisation of this reader class
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationReader.MediaFoundationReaderSettings.#ctor">
+            <summary>
+            Sets up the default settings for MediaFoundationReader
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MediaFoundationReader.MediaFoundationReaderSettings.RequestFloatOutput">
+            <summary>
+            Allows us to request IEEE float output (n.b. no guarantee this will be accepted)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MediaFoundationReader.MediaFoundationReaderSettings.SingleReaderObject">
+            <summary>
+            If true, the reader object created in the constructor is used in Read
+            Should only be set to true if you are working entirely on an STA thread, or 
+            entirely with MTA threads.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MediaFoundationReader.MediaFoundationReaderSettings.RepositionInRead">
+            <summary>
+            If true, the reposition does not happen immediately, but waits until the
+            next call to read to be processed.
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Mp3FileReader">
+            <summary>
+            Class for reading from MP3 files
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Mp3FileReader.#ctor(System.String)">
+            <summary>Supports opening a MP3 file</summary>
+        </member>
+        <member name="M:NAudio.Wave.Mp3FileReader.#ctor(System.String,NAudio.Wave.Mp3FileReader.FrameDecompressorBuilder)">
+            <summary>Supports opening a MP3 file</summary>
+            <param name="mp3FileName">MP3 File name</param>
+            <param name="frameDecompressorBuilder">Factory method to build a frame decompressor</param>
+        </member>
+        <member name="M:NAudio.Wave.Mp3FileReader.#ctor(System.IO.Stream)">
+            <summary>
+            Opens MP3 from a stream rather than a file
+            Will not dispose of this stream itself
+            </summary>
+            <param name="inputStream">The incoming stream containing MP3 data</param>
+        </member>
+        <member name="M:NAudio.Wave.Mp3FileReader.#ctor(System.IO.Stream,NAudio.Wave.Mp3FileReader.FrameDecompressorBuilder)">
+            <summary>
+            Opens MP3 from a stream rather than a file
+            Will not dispose of this stream itself
+            </summary>
+            <param name="inputStream">The incoming stream containing MP3 data</param>
+            <param name="frameDecompressorBuilder">Factory method to build a frame decompressor</param>
+        </member>
+        <member name="M:NAudio.Wave.Mp3FileReader.CreateAcmFrameDecompressor(NAudio.Wave.WaveFormat)">
+            <summary>
+            Creates an ACM MP3 Frame decompressor. This is the default with NAudio
+            </summary>
+            <param name="mp3Format">A WaveFormat object based </param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.Mp3FileReader.TotalSeconds">
+            <summary>
+            Gets the total length of this file in milliseconds.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Mp3FileReader.ReadNextFrame">
+            <summary>
+            Reads the next mp3 frame
+            </summary>
+            <returns>Next mp3 frame, or null if EOF</returns>
+        </member>
+        <member name="M:NAudio.Wave.Mp3FileReader.ReadNextFrame(System.Boolean)">
+            <summary>
+            Reads the next mp3 frame
+            </summary>
+            <returns>Next mp3 frame, or null if EOF</returns>
+        </member>
+        <member name="M:NAudio.Wave.Mp3FileReader.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads decompressed PCM data from our MP3 file.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Mp3FileReader.Dispose(System.Boolean)">
+            <summary>
+            Disposes this WaveStream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3FileReader.Mp3WaveFormat">
+            <summary>
+            The MP3 wave format (n.b. NOT the output format of this stream - see the WaveFormat property)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3FileReader.Id3v2Tag">
+            <summary>
+            ID3v2 tag if present
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3FileReader.Id3v1Tag">
+            <summary>
+            ID3v1 tag if present
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3FileReader.Length">
+            <summary>
+            This is the length in bytes of data available to be read out from the Read method
+            (i.e. the decompressed MP3 length)
+            n.b. this may return 0 for files whose length is unknown
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3FileReader.WaveFormat">
+            <summary>
+            <see cref="P:NAudio.Wave.WaveStream.WaveFormat"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3FileReader.Position">
+            <summary>
+            <see cref="P:System.IO.Stream.Position"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3FileReader.XingHeader">
+            <summary>
+            Xing header if present
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Mp3FileReader.FrameDecompressorBuilder">
+            <summary>
+            Function that can create an MP3 Frame decompressor
+            </summary>
+            <param name="mp3Format">A WaveFormat object describing the MP3 file format</param>
+            <returns>An MP3 Frame decompressor</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.Pcm16BitToSampleProvider">
+            <summary>
+            Converts an IWaveProvider containing 16 bit PCM to an
+            ISampleProvider
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.Pcm16BitToSampleProvider.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initialises a new instance of Pcm16BitToSampleProvider
+            </summary>
+            <param name="source">Source wave provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.Pcm16BitToSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this sample provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="count">Samples required</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.Pcm24BitToSampleProvider">
+            <summary>
+            Converts an IWaveProvider containing 24 bit PCM to an
+            ISampleProvider
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.Pcm24BitToSampleProvider.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initialises a new instance of Pcm24BitToSampleProvider
+            </summary>
+            <param name="source">Source Wave Provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.Pcm24BitToSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads floating point samples from this sample provider
+            </summary>
+            <param name="buffer">sample buffer</param>
+            <param name="offset">offset within sample buffer to write to</param>
+            <param name="count">number of samples required</param>
+            <returns>number of samples provided</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.Pcm8BitToSampleProvider">
+            <summary>
+            Converts an IWaveProvider containing 8 bit PCM to an
+            ISampleProvider
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.Pcm8BitToSampleProvider.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initialises a new instance of Pcm8BitToSampleProvider
+            </summary>
+            <param name="source">Source wave provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.Pcm8BitToSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this sample provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="count">Number of samples to read</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="T:NAudio.Wave.RawSourceWaveStream">
+            <summary>
+            WaveStream that simply passes on data from its source stream
+            (e.g. a MemoryStream)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.RawSourceWaveStream.#ctor(System.IO.Stream,NAudio.Wave.WaveFormat)">
+            <summary>
+            Initialises a new instance of RawSourceWaveStream
+            </summary>
+            <param name="sourceStream">The source stream containing raw audio</param>
+            <param name="waveFormat">The waveformat of the audio in the source stream</param>
+        </member>
+        <member name="M:NAudio.Wave.RawSourceWaveStream.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads data from the stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.RawSourceWaveStream.WaveFormat">
+            <summary>
+            The WaveFormat of this stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.RawSourceWaveStream.Length">
+            <summary>
+            The length in bytes of this stream (if supported)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.RawSourceWaveStream.Position">
+            <summary>
+            The current position in this stream
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.ResamplerDmoStream">
+            <summary>
+            Wave Stream for converting between sample rates
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.ResamplerDmoStream.#ctor(NAudio.Wave.IWaveProvider,NAudio.Wave.WaveFormat)">
+            <summary>
+            WaveStream to resample using the DMO Resampler
+            </summary>
+            <param name="inputProvider">Input Stream</param>
+            <param name="outputFormat">Desired Output Format</param>
+        </member>
+        <member name="M:NAudio.Wave.ResamplerDmoStream.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads data from input stream
+            </summary>
+            <param name="buffer">buffer</param>
+            <param name="offset">offset into buffer</param>
+            <param name="count">Bytes required</param>
+            <returns>Number of bytes read</returns>
+        </member>
+        <member name="M:NAudio.Wave.ResamplerDmoStream.Dispose(System.Boolean)">
+            <summary>
+            Dispose
+            </summary>
+            <param name="disposing">True if disposing (not from finalizer)</param>
+        </member>
+        <member name="P:NAudio.Wave.ResamplerDmoStream.WaveFormat">
+            <summary>
+            Stream Wave Format
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.ResamplerDmoStream.Length">
+            <summary>
+            Stream length in bytes
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.ResamplerDmoStream.Position">
+            <summary>
+            Stream position in bytes
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.RiffChunk">
+            <summary>
+            Holds information about a RIFF file chunk
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.RiffChunk.#ctor(System.Int32,System.Int32,System.Int64)">
+            <summary>
+            Creates a RiffChunk object
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.RiffChunk.Identifier">
+            <summary>
+            The chunk identifier
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.RiffChunk.IdentifierAsString">
+            <summary>
+            The chunk identifier converted to a string
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.RiffChunk.Length">
+            <summary>
+            The chunk length
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.RiffChunk.StreamPosition">
+            <summary>
+            The stream position this chunk is located at
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SimpleCompressorStream">
+            <summary>
+            A simple compressor
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SimpleCompressorStream.#ctor(NAudio.Wave.WaveStream)">
+            <summary>
+            Create a new simple compressor stream
+            </summary>
+            <param name="sourceStream">Source stream</param>
+        </member>
+        <member name="M:NAudio.Wave.SimpleCompressorStream.HasData(System.Int32)">
+            <summary>
+            Determine whether the stream has the required amount of data.
+            </summary>
+            <param name="count">Number of bytes of data required from the stream.</param>
+            <returns>Flag indicating whether the required amount of data is avialable.</returns>
+        </member>
+        <member name="M:NAudio.Wave.SimpleCompressorStream.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this stream
+            </summary>
+            <param name="array">Buffer to read into</param>
+            <param name="offset">Offset in array to read into</param>
+            <param name="count">Number of bytes to read</param>
+            <returns>Number of bytes read</returns>
+        </member>
+        <member name="M:NAudio.Wave.SimpleCompressorStream.Dispose(System.Boolean)">
+            <summary>
+            Disposes this stream
+            </summary>
+            <param name="disposing">true if the user called this</param>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.MakeUpGain">
+            <summary>
+            Make-up Gain
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.Threshold">
+            <summary>
+            Threshold
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.Ratio">
+            <summary>
+            Ratio
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.Attack">
+            <summary>
+            Attack time
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.Release">
+            <summary>
+            Release time
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.Enabled">
+            <summary>
+            Turns gain on or off
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.Length">
+            <summary>
+            Returns the stream length
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.Position">
+            <summary>
+            Gets or sets the current position in the stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.WaveFormat">
+            <summary>
+            Gets the WaveFormat of this stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.BlockAlign">
+            <summary>
+            Gets the block alignment for this stream
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Wave32To16Stream">
+            <summary>
+            WaveStream that converts 32 bit audio back down to 16 bit, clipping if necessary
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Wave32To16Stream.#ctor(NAudio.Wave.WaveStream)">
+            <summary>
+            Creates a new Wave32To16Stream
+            </summary>
+            <param name="sourceStream">the source stream</param>
+        </member>
+        <member name="M:NAudio.Wave.Wave32To16Stream.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this wave stream
+            </summary>
+            <param name="destBuffer">Destination buffer</param>
+            <param name="offset">Offset into destination buffer</param>
+            <param name="numBytes"></param>
+            <returns>Number of bytes read.</returns>
+        </member>
+        <member name="M:NAudio.Wave.Wave32To16Stream.Convert32To16(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+            <summary>
+            Conversion to 16 bit and clipping
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Wave32To16Stream.Dispose(System.Boolean)">
+            <summary>
+            Disposes this WaveStream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Wave32To16Stream.Volume">
+            <summary>
+            Sets the volume for this stream. 1.0f is full scale
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Wave32To16Stream.BlockAlign">
+            <summary>
+            <see cref="P:NAudio.Wave.WaveStream.BlockAlign"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Wave32To16Stream.Length">
+            <summary>
+            Returns the stream length
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Wave32To16Stream.Position">
+            <summary>
+            Gets or sets the current position in the stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Wave32To16Stream.WaveFormat">
+            <summary>
+            <see cref="P:NAudio.Wave.WaveStream.WaveFormat"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Wave32To16Stream.Clip">
+            <summary>
+            Clip indicator. Can be reset.
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveChannel32">
+            <summary>
+            Represents Channel for the WaveMixerStream
+            32 bit output and 16 bit input
+            It's output is always stereo
+            The input stream can be panned
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveChannel32.#ctor(NAudio.Wave.WaveStream,System.Single,System.Single)">
+            <summary>
+            Creates a new WaveChannel32
+            </summary>
+            <param name="sourceStream">the source stream</param>
+            <param name="volume">stream volume (1 is 0dB)</param>
+            <param name="pan">pan control (-1 to 1)</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveChannel32.#ctor(NAudio.Wave.WaveStream)">
+            <summary>
+            Creates a WaveChannel32 with default settings
+            </summary>
+            <param name="sourceStream">The source stream</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveChannel32.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this wave stream
+            </summary>
+            <param name="destBuffer">The destination buffer</param>
+            <param name="offset">Offset into the destination buffer</param>
+            <param name="numBytes">Number of bytes read</param>
+            <returns>Number of bytes read.</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveChannel32.HasData(System.Int32)">
+            <summary>
+            Determines whether this channel has any data to play
+            to allow optimisation to not read, but bump position forward
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveChannel32.Dispose(System.Boolean)">
+            <summary>
+            Disposes this WaveStream
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveChannel32.RaiseSample(System.Single,System.Single)">
+            <summary>
+            Raise the sample event (no check for null because it has already been done)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveChannel32.BlockAlign">
+            <summary>
+            Gets the block alignment for this WaveStream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveChannel32.Length">
+            <summary>
+            Returns the stream length
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveChannel32.Position">
+            <summary>
+            Gets or sets the current position in the stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveChannel32.PadWithZeroes">
+            <summary>
+            If true, Read always returns the number of bytes requested
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveChannel32.WaveFormat">
+            <summary>
+            <see cref="P:NAudio.Wave.WaveStream.WaveFormat"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveChannel32.Volume">
+            <summary>
+            Volume of this channel. 1.0 = full scale
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveChannel32.Pan">
+            <summary>
+            Pan of this channel (from -1 to 1)
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.WaveChannel32.Sample">
+            <summary>
+            Sample
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.SampleChannel">
+            <summary>
+            Utility class that takes an IWaveProvider input at any bit depth
+            and exposes it as an ISampleProvider. Can turn mono inputs into stereo,
+            and allows adjusting of volume
+            (The eventual successor to WaveChannel32)
+            This class also serves as an example of how you can link together several simple 
+            Sample Providers to form a more useful class.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleChannel.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initialises a new instance of SampleChannel
+            </summary>
+            <param name="waveProvider">Source wave provider, must be PCM or IEEE</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleChannel.#ctor(NAudio.Wave.IWaveProvider,System.Boolean)">
+            <summary>
+            Initialises a new instance of SampleChannel
+            </summary>
+            <param name="waveProvider">Source wave provider, must be PCM or IEEE</param>
+            <param name="forceStereo">force mono inputs to become stereo</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleChannel.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this sample provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="sampleCount">Number of samples desired</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SampleChannel.WaveFormat">
+            <summary>
+            The WaveFormat of this Sample Provider
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SampleChannel.Volume">
+            <summary>
+            Allows adjusting the volume, 1.0f = full volume
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.SampleProviders.SampleChannel.PreVolumeMeter">
+            <summary>
+            Raised periodically to inform the user of the max volume
+            (before the volume meter)
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveFormatConversionStream">
+            <summary>
+            WaveStream that passes through an ACM Codec
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatConversionStream.CreatePcmStream(NAudio.Wave.WaveStream)">
+            <summary>
+            Creates a stream that can convert to PCM
+            </summary>
+            <param name="sourceStream">The source stream</param>
+            <returns>A PCM stream</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatConversionStream.#ctor(NAudio.Wave.WaveFormat,NAudio.Wave.WaveStream)">
+            <summary>
+            Create a new WaveFormat conversion stream
+            </summary>
+            <param name="targetFormat">Desired output format</param>
+            <param name="sourceStream">Source stream</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatConversionStream.SourceToDest(System.Int32)">
+            <summary>
+            Converts source bytes to destination bytes
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatConversionStream.DestToSource(System.Int32)">
+            <summary>
+            Converts destination bytes to source bytes
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatConversionStream.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this stream
+            </summary>
+            <param name="buffer">Buffer to read into</param>
+            <param name="offset">Offset in buffer to read into</param>
+            <param name="count">Number of bytes to read</param>
+            <returns>Number of bytes read</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatConversionStream.Dispose(System.Boolean)">
+            <summary>
+            Disposes this stream
+            </summary>
+            <param name="disposing">true if the user called this</param>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormatConversionStream.Length">
+            <summary>
+            Returns the stream length
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormatConversionStream.Position">
+            <summary>
+            Gets or sets the current position in the stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormatConversionStream.WaveFormat">
+            <summary>
+            Gets the WaveFormat of this stream
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveInBuffer">
+            <summary>
+            A buffer of Wave samples
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveInBuffer.#ctor(System.IntPtr,System.Int32)">
+            <summary>
+            creates a new wavebuffer
+            </summary>
+            <param name="waveInHandle">WaveIn device to write to</param>
+            <param name="bufferSize">Buffer size in bytes</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveInBuffer.Reuse">
+            <summary>
+            Place this buffer back to record more audio
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveInBuffer.Finalize">
+            <summary>
+            Finalizer for this wave buffer
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveInBuffer.Dispose">
+            <summary>
+            Releases resources held by this WaveBuffer
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveInBuffer.Dispose(System.Boolean)">
+            <summary>
+            Releases resources held by this WaveBuffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInBuffer.Data">
+            <summary>
+            Provides access to the actual record buffer (for reading only)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInBuffer.Done">
+            <summary>
+            Indicates whether the Done flag is set on this buffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInBuffer.InQueue">
+            <summary>
+            Indicates whether the InQueue flag is set on this buffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInBuffer.BytesRecorded">
+            <summary>
+            Number of bytes recorded
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInBuffer.BufferSize">
+            <summary>
+            The buffer size in bytes
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveMixerStream32">
+            <summary>
+            WaveStream that can mix together multiple 32 bit input streams
+            (Normally used with stereo input channels)
+            All channels must have the same number of inputs
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveMixerStream32.#ctor">
+            <summary>
+            Creates a new 32 bit WaveMixerStream
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveMixerStream32.#ctor(System.Collections.Generic.IEnumerable{NAudio.Wave.WaveStream},System.Boolean)">
+            <summary>
+            Creates a new 32 bit WaveMixerStream
+            </summary>
+            <param name="inputStreams">An Array of WaveStreams - must all have the same format.
+            Use WaveChannel is designed for this purpose.</param>
+            <param name="autoStop">Automatically stop when all inputs have been read</param>
+            <exception cref="T:System.ArgumentException">Thrown if the input streams are not 32 bit floating point,
+            or if they have different formats to each other</exception>
+        </member>
+        <member name="M:NAudio.Wave.WaveMixerStream32.AddInputStream(NAudio.Wave.WaveStream)">
+            <summary>
+            Add a new input to the mixer
+            </summary>
+            <param name="waveStream">The wave input to add</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveMixerStream32.RemoveInputStream(NAudio.Wave.WaveStream)">
+            <summary>
+            Remove a WaveStream from the mixer
+            </summary>
+            <param name="waveStream">waveStream to remove</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveMixerStream32.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this wave stream
+            </summary>
+            <param name="buffer">buffer to read into</param>
+            <param name="offset">offset into buffer</param>
+            <param name="count">number of bytes required</param>
+            <returns>Number of bytes read.</returns>
+            <exception cref="T:System.ArgumentException">Thrown if an invalid number of bytes requested</exception>
+        </member>
+        <member name="M:NAudio.Wave.WaveMixerStream32.Sum32BitAudio(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+            <summary>
+            Actually performs the mixing
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveMixerStream32.Dispose(System.Boolean)">
+            <summary>
+            Disposes this WaveStream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveMixerStream32.InputCount">
+            <summary>
+            The number of inputs to this mixer
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveMixerStream32.AutoStop">
+            <summary>
+            Automatically stop when all inputs have been read
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveMixerStream32.BlockAlign">
+            <summary>
+            <see cref="P:NAudio.Wave.WaveStream.BlockAlign"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveMixerStream32.Length">
+            <summary>
+            Length of this Wave Stream (in bytes)
+            <see cref="P:System.IO.Stream.Length"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveMixerStream32.Position">
+            <summary>
+            Position within this Wave Stream (in bytes)
+            <see cref="P:System.IO.Stream.Position"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveMixerStream32.WaveFormat">
+            <summary>
+            <see cref="P:NAudio.Wave.WaveStream.WaveFormat"/>
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveOffsetStream">
+            <summary>
+            Simply shifts the input stream in time, optionally
+            clipping its start and end.
+            (n.b. may include looping in the future)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOffsetStream.#ctor(NAudio.Wave.WaveStream,System.TimeSpan,System.TimeSpan,System.TimeSpan)">
+            <summary>
+            Creates a new WaveOffsetStream
+            </summary>
+            <param name="sourceStream">the source stream</param>
+            <param name="startTime">the time at which we should start reading from the source stream</param>
+            <param name="sourceOffset">amount to trim off the front of the source stream</param>
+            <param name="sourceLength">length of time to play from source stream</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveOffsetStream.#ctor(NAudio.Wave.WaveStream)">
+            <summary>
+            Creates a WaveOffsetStream with default settings (no offset or pre-delay,
+            and whole length of source stream)
+            </summary>
+            <param name="sourceStream">The source stream</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveOffsetStream.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this wave stream
+            </summary>
+            <param name="destBuffer">The destination buffer</param>
+            <param name="offset">Offset into the destination buffer</param>
+            <param name="numBytes">Number of bytes read</param>
+            <returns>Number of bytes read.</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveOffsetStream.HasData(System.Int32)">
+            <summary>
+            Determines whether this channel has any data to play
+            to allow optimisation to not read, but bump position forward
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOffsetStream.Dispose(System.Boolean)">
+            <summary>
+            Disposes this WaveStream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOffsetStream.StartTime">
+            <summary>
+            The length of time before which no audio will be played
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOffsetStream.SourceOffset">
+            <summary>
+            An offset into the source stream from which to start playing
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOffsetStream.SourceLength">
+            <summary>
+            Length of time to read from the source stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOffsetStream.BlockAlign">
+            <summary>
+            Gets the block alignment for this WaveStream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOffsetStream.Length">
+            <summary>
+            Returns the stream length
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOffsetStream.Position">
+            <summary>
+            Gets or sets the current position in the stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOffsetStream.WaveFormat">
+            <summary>
+            <see cref="P:NAudio.Wave.WaveStream.WaveFormat"/>
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveOutBuffer">
+            <summary>
+            A buffer of Wave samples for streaming to a Wave Output device
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOutBuffer.#ctor(System.IntPtr,System.Int32,NAudio.Wave.IWaveProvider,System.Object)">
+            <summary>
+            creates a new wavebuffer
+            </summary>
+            <param name="hWaveOut">WaveOut device to write to</param>
+            <param name="bufferSize">Buffer size in bytes</param>
+            <param name="bufferFillStream">Stream to provide more data</param>
+            <param name="waveOutLock">Lock to protect WaveOut API's from being called on >1 thread</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveOutBuffer.Finalize">
+            <summary>
+            Finalizer for this wave buffer
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOutBuffer.Dispose">
+            <summary>
+            Releases resources held by this WaveBuffer
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOutBuffer.Dispose(System.Boolean)">
+            <summary>
+            Releases resources held by this WaveBuffer
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOutBuffer.OnDone">
+            this is called by the WAVE callback and should be used to refill the buffer
+        </member>
+        <member name="P:NAudio.Wave.WaveOutBuffer.InQueue">
+            <summary>
+            Whether the header's in queue flag is set
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOutBuffer.BufferSize">
+            <summary>
+            The buffer size in bytes
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.DmoInputDataBufferFlags">
+            <summary>
+            DMO Input Data Buffer Flags
+            </summary>
+        </member>
+        <member name="F:NAudio.Dmo.DmoInputDataBufferFlags.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.Dmo.DmoInputDataBufferFlags.SyncPoint">
+            <summary>
+            DMO_INPUT_DATA_BUFFERF_SYNCPOINT
+            </summary>
+        </member>
+        <member name="F:NAudio.Dmo.DmoInputDataBufferFlags.Time">
+            <summary>
+            DMO_INPUT_DATA_BUFFERF_TIME
+            </summary>
+        </member>
+        <member name="F:NAudio.Dmo.DmoInputDataBufferFlags.TimeLength">
+            <summary>
+            DMO_INPUT_DATA_BUFFERF_TIMELENGTH
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.DmoMediaType">
+            <summary>
+            http://msdn.microsoft.com/en-us/library/aa929922.aspx
+            DMO_MEDIA_TYPE 
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.DmoMediaType.GetWaveFormat">
+            <summary>
+            Gets the structure as a Wave format (if it is one)
+            </summary>        
+        </member>
+        <member name="M:NAudio.Dmo.DmoMediaType.SetWaveFormat(NAudio.Wave.WaveFormat)">
+            <summary>
+            Sets this object up to point to a wave format
+            </summary>
+            <param name="waveFormat">Wave format structure</param>
+        </member>
+        <member name="P:NAudio.Dmo.DmoMediaType.MajorType">
+            <summary>
+            Major type
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.DmoMediaType.MajorTypeName">
+            <summary>
+            Major type name
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.DmoMediaType.SubType">
+            <summary>
+            Subtype
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.DmoMediaType.SubTypeName">
+            <summary>
+            Subtype name
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.DmoMediaType.FixedSizeSamples">
+            <summary>
+            Fixed size samples
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.DmoMediaType.SampleSize">
+            <summary>
+            Sample size
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.DmoMediaType.FormatType">
+            <summary>
+            Format type
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.DmoMediaType.FormatTypeName">
+            <summary>
+            Format type name
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.DmoOutputDataBuffer">
+            <summary>
+            DMO Output Data Buffer
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.DmoOutputDataBuffer.#ctor(System.Int32)">
+            <summary>
+            Creates a new DMO Output Data Buffer structure
+            </summary>
+            <param name="maxBufferSize">Maximum buffer size</param>
+        </member>
+        <member name="M:NAudio.Dmo.DmoOutputDataBuffer.Dispose">
+            <summary>
+            Dispose
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.DmoOutputDataBuffer.RetrieveData(System.Byte[],System.Int32)">
+            <summary>
+            Retrives the data in this buffer
+            </summary>
+            <param name="data">Buffer to receive data</param>
+            <param name="offset">Offset into buffer</param>
+        </member>
+        <member name="P:NAudio.Dmo.DmoOutputDataBuffer.MediaBuffer">
+            <summary>
+            Media Buffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.DmoOutputDataBuffer.Length">
+            <summary>
+            Length of data in buffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.DmoOutputDataBuffer.StatusFlags">
+            <summary>
+            Status Flags
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.DmoOutputDataBuffer.Timestamp">
+            <summary>
+            Timestamp
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.DmoOutputDataBuffer.Duration">
+            <summary>
+            Duration
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.DmoOutputDataBuffer.MoreDataAvailable">
+            <summary>
+            Is more data available
+            If true, ProcessOuput should be called again
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.DmoOutputDataBufferFlags">
+            <summary>
+            DMO Output Data Buffer Flags
+            </summary>
+        </member>
+        <member name="F:NAudio.Dmo.DmoOutputDataBufferFlags.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.Dmo.DmoOutputDataBufferFlags.SyncPoint">
+            <summary>
+            DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT
+            </summary>
+        </member>
+        <member name="F:NAudio.Dmo.DmoOutputDataBufferFlags.Time">
+            <summary>
+            DMO_OUTPUT_DATA_BUFFERF_TIME
+            </summary>
+        </member>
+        <member name="F:NAudio.Dmo.DmoOutputDataBufferFlags.TimeLength">
+            <summary>
+            DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH
+            </summary>
+        </member>
+        <member name="F:NAudio.Dmo.DmoOutputDataBufferFlags.Incomplete">
+            <summary>
+            DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.DmoProcessOutputFlags">
+            <summary>
+            DMO Process Output Flags
+            </summary>
+        </member>
+        <member name="F:NAudio.Dmo.DmoProcessOutputFlags.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.Dmo.DmoProcessOutputFlags.DiscardWhenNoBuffer">
+            <summary>
+            DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.IMediaObject">
+            <summary>
+            defined in mediaobj.h
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.ResamplerMediaComObject">
+            <summary>
+            From wmcodecsdp.h
+            Implements:
+            - IMediaObject 
+            - IMFTransform (Media foundation - we will leave this for now as there is loads of MF stuff)
+            - IPropertyStore 
+            - IWMResamplerProps 
+            Can resample PCM or IEEE
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.DmoResampler">
+            <summary>
+            DMO Resampler
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.DmoResampler.#ctor">
+            <summary>
+            Creates a new Resampler based on the DMO Resampler
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.DmoResampler.Dispose">
+            <summary>
+            Dispose code - experimental at the moment
+            Was added trying to track down why Resampler crashes NUnit
+            This code not currently being called by ResamplerDmoStream
+            </summary>
+        </member>
+        <member name="P:NAudio.Dmo.DmoResampler.MediaObject">
+            <summary>
+            Media Object
+            </summary>
+        </member>
+    </members>
+</doc>
Index: other-projects/fft-ddr/summer-2014/trunk/packages/NAudio.1.7.2/lib/windows8/NAudio.Win8.XML
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/packages/NAudio.1.7.2/lib/windows8/NAudio.Win8.XML	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/packages/NAudio.1.7.2/lib/windows8/NAudio.Win8.XML	(revision 29735)
@@ -0,0 +1,12360 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>NAudio.Win8</name>
+    </assembly>
+    <members>
+        <member name="T:NAudio.Codecs.ALawDecoder">
+            <summary>
+            a-law decoder
+            based on code from:
+            http://hazelware.luggle.com/tutorials/mulawcompression.html
+            </summary>
+        </member>
+        <member name="F:NAudio.Codecs.ALawDecoder.ALawDecompressTable">
+            <summary>
+            only 512 bytes required, so just use a lookup
+            </summary>
+        </member>
+        <member name="M:NAudio.Codecs.ALawDecoder.ALawToLinearSample(System.Byte)">
+            <summary>
+            Converts an a-law encoded byte to a 16 bit linear sample
+            </summary>
+            <param name="aLaw">a-law encoded byte</param>
+            <returns>Linear sample</returns>
+        </member>
+        <member name="T:NAudio.Codecs.ALawEncoder">
+            <summary>
+            A-law encoder
+            </summary>
+        </member>
+        <member name="M:NAudio.Codecs.ALawEncoder.LinearToALawSample(System.Int16)">
+            <summary>
+            Encodes a single 16 bit sample to a-law
+            </summary>
+            <param name="sample">16 bit PCM sample</param>
+            <returns>a-law encoded byte</returns>
+        </member>
+        <member name="T:NAudio.Codecs.G722Codec">
+            <summary>
+            SpanDSP - a series of DSP components for telephony
+            
+            g722_decode.c - The ITU G.722 codec, decode part.
+            
+            Written by Steve Underwood &lt;steveu@coppice.org&gt;
+            
+            Copyright (C) 2005 Steve Underwood
+            Ported to C# by Mark Heath 2011
+            
+            Despite my general liking of the GPL, I place my own contributions 
+            to this code in the public domain for the benefit of all mankind -
+            even the slimy ones who might try to proprietize my work and use it
+            to my detriment.
+             
+            Based in part on a single channel G.722 codec which is:
+            Copyright (c) CMU 1993
+            Computer Science, Speech Group
+            Chengxiang Lu and Alex Hauptmann
+            </summary>
+        </member>
+        <member name="M:NAudio.Codecs.G722Codec.Saturate(System.Int32)">
+            <summary>
+            hard limits to 16 bit samples
+            </summary>
+        </member>
+        <member name="M:NAudio.Codecs.G722Codec.Decode(NAudio.Codecs.G722CodecState,System.Int16[],System.Byte[],System.Int32)">
+            <summary>
+            Decodes a buffer of G722
+            </summary>
+            <param name="state">Codec state</param>
+            <param name="outputBuffer">Output buffer (to contain decompressed PCM samples)</param>
+            <param name="inputG722Data"></param>
+            <param name="inputLength">Number of bytes in input G722 data to decode</param>
+            <returns>Number of samples written into output buffer</returns>
+        </member>
+        <member name="M:NAudio.Codecs.G722Codec.Encode(NAudio.Codecs.G722CodecState,System.Byte[],System.Int16[],System.Int32)">
+            <summary>
+            Encodes a buffer of G722
+            </summary>
+            <param name="state">Codec state</param>
+            <param name="outputBuffer">Output buffer (to contain encoded G722)</param>
+            <param name="inputBuffer">PCM 16 bit samples to encode</param>
+            <param name="inputBufferCount">Number of samples in the input buffer to encode</param>
+            <returns>Number of encoded bytes written into output buffer</returns>
+        </member>
+        <member name="T:NAudio.Codecs.G722CodecState">
+            <summary>
+            Stores state to be used between calls to Encode or Decode
+            </summary>
+        </member>
+        <member name="M:NAudio.Codecs.G722CodecState.#ctor(System.Int32,NAudio.Codecs.G722Flags)">
+            <summary>
+            Creates a new instance of G722 Codec State for a 
+            new encode or decode session
+            </summary>
+            <param name="rate">Bitrate (typically 64000)</param>
+            <param name="options">Special options</param>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.ItuTestMode">
+            <summary>
+            ITU Test Mode
+            TRUE if the operating in the special ITU test mode, with the band split filters disabled.
+            </summary>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.Packed">
+            <summary>
+            TRUE if the G.722 data is packed
+            </summary>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.EncodeFrom8000Hz">
+            <summary>
+            8kHz Sampling
+            TRUE if encode from 8k samples/second
+            </summary>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.BitsPerSample">
+            <summary>
+            Bits Per Sample
+            6 for 48000kbps, 7 for 56000kbps, or 8 for 64000kbps.
+            </summary>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.QmfSignalHistory">
+            <summary>
+            Signal history for the QMF (x)
+            </summary>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.Band">
+            <summary>
+            Band
+            </summary>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.InBuffer">
+            <summary>
+            In bit buffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.InBits">
+            <summary>
+            Number of bits in InBuffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.OutBuffer">
+            <summary>
+            Out bit buffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Codecs.G722CodecState.OutBits">
+            <summary>
+            Number of bits in OutBuffer
+            </summary>
+        </member>
+        <member name="T:NAudio.Codecs.Band">
+            <summary>
+            Band data for G722 Codec
+            </summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.s">
+            <summary>s</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.sp">
+            <summary>sp</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.sz">
+            <summary>sz</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.r">
+            <summary>r</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.a">
+            <summary>a</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.ap">
+            <summary>ap</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.p">
+            <summary>p</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.d">
+            <summary>d</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.b">
+            <summary>b</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.bp">
+            <summary>bp</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.sg">
+            <summary>sg</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.nb">
+            <summary>nb</summary>
+        </member>
+        <member name="F:NAudio.Codecs.Band.det">
+            <summary>det</summary>
+        </member>
+        <member name="T:NAudio.Codecs.G722Flags">
+            <summary>
+            G722 Flags
+            </summary>
+        </member>
+        <member name="F:NAudio.Codecs.G722Flags.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.Codecs.G722Flags.SampleRate8000">
+            <summary>
+            Using a G722 sample rate of 8000
+            </summary>
+        </member>
+        <member name="F:NAudio.Codecs.G722Flags.Packed">
+            <summary>
+            Packed
+            </summary>
+        </member>
+        <member name="T:NAudio.Codecs.MuLawDecoder">
+            <summary>
+            mu-law decoder
+            based on code from:
+            http://hazelware.luggle.com/tutorials/mulawcompression.html
+            </summary>
+        </member>
+        <member name="F:NAudio.Codecs.MuLawDecoder.MuLawDecompressTable">
+            <summary>
+            only 512 bytes required, so just use a lookup
+            </summary>
+        </member>
+        <member name="M:NAudio.Codecs.MuLawDecoder.MuLawToLinearSample(System.Byte)">
+            <summary>
+            Converts a mu-law encoded byte to a 16 bit linear sample
+            </summary>
+            <param name="muLaw">mu-law encoded byte</param>
+            <returns>Linear sample</returns>
+        </member>
+        <member name="T:NAudio.Codecs.MuLawEncoder">
+            <summary>
+            mu-law encoder
+            based on code from:
+            http://hazelware.luggle.com/tutorials/mulawcompression.html
+            </summary>
+        </member>
+        <member name="M:NAudio.Codecs.MuLawEncoder.LinearToMuLawSample(System.Int16)">
+            <summary>
+            Encodes a single 16 bit sample to mu-law
+            </summary>
+            <param name="sample">16 bit PCM sample</param>
+            <returns>mu-law encoded byte</returns>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioCaptureClient">
+            <summary>
+            Audio Capture Client
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioCaptureClient.GetBuffer(System.Int32@,NAudio.CoreAudioApi.AudioClientBufferFlags@,System.Int64@,System.Int64@)">
+            <summary>
+            Gets a pointer to the buffer
+            </summary>
+            <returns>Pointer to the buffer</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioCaptureClient.GetBuffer(System.Int32@,NAudio.CoreAudioApi.AudioClientBufferFlags@)">
+            <summary>
+            Gets a pointer to the buffer
+            </summary>
+            <param name="numFramesToRead">Number of frames to read</param>
+            <param name="bufferFlags">Buffer flags</param>
+            <returns>Pointer to the buffer</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioCaptureClient.GetNextPacketSize">
+            <summary>
+            Gets the size of the next packet
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioCaptureClient.ReleaseBuffer(System.Int32)">
+            <summary>
+            Release buffer
+            </summary>
+            <param name="numFramesWritten">Number of frames written</param>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioCaptureClient.Dispose">
+            <summary>
+            Release the COM object
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioClient">
+            <summary>
+            Windows CoreAudio AudioClient
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClient.Initialize(NAudio.CoreAudioApi.AudioClientShareMode,NAudio.CoreAudioApi.AudioClientStreamFlags,System.Int64,System.Int64,NAudio.Wave.WaveFormat,System.Guid)">
+            <summary>
+            Initializes the Audio Client
+            </summary>
+            <param name="shareMode">Share Mode</param>
+            <param name="streamFlags">Stream Flags</param>
+            <param name="bufferDuration">Buffer Duration</param>
+            <param name="periodicity">Periodicity</param>
+            <param name="waveFormat">Wave Format</param>
+            <param name="audioSessionGuid">Audio Session GUID (can be null)</param>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClient.IsFormatSupported(NAudio.CoreAudioApi.AudioClientShareMode,NAudio.Wave.WaveFormat)">
+            <summary>
+            Determines whether if the specified output format is supported
+            </summary>
+            <param name="shareMode">The share mode.</param>
+            <param name="desiredFormat">The desired format.</param>
+            <returns>True if the format is supported</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClient.IsFormatSupported(NAudio.CoreAudioApi.AudioClientShareMode,NAudio.Wave.WaveFormat,NAudio.Wave.WaveFormatExtensible@)">
+            <summary>
+            Determines if the specified output format is supported in shared mode
+            </summary>
+            <param name="shareMode">Share Mode</param>
+            <param name="desiredFormat">Desired Format</param>
+            <param name="closestMatchFormat">Output The closest match format.</param>
+            <returns>True if the format is supported</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClient.Start">
+            <summary>
+            Starts the audio stream
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClient.Stop">
+            <summary>
+            Stops the audio stream.
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClient.SetEventHandle(System.IntPtr)">
+            <summary>
+            Set the Event Handle for buffer synchro.
+            </summary>
+            <param name="eventWaitHandle">The Wait Handle to setup</param>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClient.Reset">
+            <summary>
+            Resets the audio stream
+            Reset is a control method that the client calls to reset a stopped audio stream. 
+            Resetting the stream flushes all pending data and resets the audio clock stream 
+            position to 0. This method fails if it is called on a stream that is not stopped
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClient.Dispose">
+            <summary>
+            Dispose
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClient.MixFormat">
+            <summary>
+            Retrieves the stream format that the audio engine uses for its internal processing of shared-mode streams.
+            Can be called before initialize
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClient.BufferSize">
+            <summary>
+            Retrieves the size (maximum capacity) of the audio buffer associated with the endpoint. (must initialize first)
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClient.StreamLatency">
+            <summary>
+            Retrieves the maximum latency for the current stream and can be called any time after the stream has been initialized.
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClient.CurrentPadding">
+            <summary>
+            Retrieves the number of frames of padding in the endpoint buffer (must initialize first)
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClient.DefaultDevicePeriod">
+            <summary>
+            Retrieves the length of the periodic interval separating successive processing passes by the audio engine on the data in the endpoint buffer.
+            (can be called before initialize)
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClient.MinimumDevicePeriod">
+            <summary>
+            Gets the minimum device period 
+            (can be called before initialize)
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClient.AudioClockClient">
+            <summary>
+            Gets the AudioClockClient service
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClient.AudioRenderClient">
+            <summary>
+            Gets the AudioRenderClient service
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClient.AudioCaptureClient">
+            <summary>
+            Gets the AudioCaptureClient service
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioClientBufferFlags">
+            <summary>
+            Audio Client Buffer Flags
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientBufferFlags.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientBufferFlags.DataDiscontinuity">
+            <summary>
+            AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientBufferFlags.Silent">
+            <summary>
+            AUDCLNT_BUFFERFLAGS_SILENT
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientBufferFlags.TimestampError">
+            <summary>
+            AUDCLNT_BUFFERFLAGS_TIMESTAMP_ERROR
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioClientProperties">
+            <summary>
+            The AudioClientProperties structure is used to set the parameters that describe the properties of the client's audio stream.
+            </summary>
+            <remarks>http://msdn.microsoft.com/en-us/library/windows/desktop/hh968105(v=vs.85).aspx</remarks>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientProperties.cbSize">
+            <summary>
+            The size of the buffer for the audio stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientProperties.bIsOffload">
+            <summary>
+            Boolean value to indicate whether or not the audio stream is hardware-offloaded
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientProperties.eCategory">
+            <summary>
+            An enumeration that is used to specify the category of the audio stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientProperties.Options">
+            <summary>
+            A bit-field describing the characteristics of the stream. Supported in Windows 8.1 and later.
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioClientShareMode">
+            <summary>
+            AUDCLNT_SHAREMODE
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientShareMode.Shared">
+            <summary>
+            AUDCLNT_SHAREMODE_SHARED,
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientShareMode.Exclusive">
+            <summary>
+            AUDCLNT_SHAREMODE_EXCLUSIVE
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioClientStreamFlags">
+            <summary>
+            AUDCLNT_STREAMFLAGS
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientStreamFlags.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientStreamFlags.CrossProcess">
+            <summary>
+            AUDCLNT_STREAMFLAGS_CROSSPROCESS
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientStreamFlags.Loopback">
+            <summary>
+            AUDCLNT_STREAMFLAGS_LOOPBACK
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientStreamFlags.EventCallback">
+            <summary>
+            AUDCLNT_STREAMFLAGS_EVENTCALLBACK 
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientStreamFlags.NoPersist">
+            <summary>
+            AUDCLNT_STREAMFLAGS_NOPERSIST     
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioClientStreamOptions">
+            <summary>
+            Defines values that describe the characteristics of an audio stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientStreamOptions.None">
+            <summary>
+            No stream options.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioClientStreamOptions.Raw">
+            <summary>
+            The audio stream is a 'raw' stream that bypasses all signal processing except for endpoint specific, always-on processing in the APO, driver, and hardware.
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioClockClient">
+            <summary>
+            Audio Clock Client
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClockClient.GetPosition(System.UInt64@,System.UInt64@)">
+            <summary>
+            Get Position
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioClockClient.Dispose">
+            <summary>
+            Dispose
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClockClient.Characteristics">
+            <summary>
+            Characteristics
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClockClient.Frequency">
+            <summary>
+            Frequency
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClockClient.AdjustedPosition">
+            <summary>
+            Adjusted Position
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioClockClient.CanAdjustPosition">
+            <summary>
+            Can Adjust Position
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioEndpointVolume">
+            <summary>
+            Audio Endpoint Volume
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioEndpointVolume.VolumeStepUp">
+            <summary>
+            Volume Step Up
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioEndpointVolume.VolumeStepDown">
+            <summary>
+            Volume Step Down
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioEndpointVolume.#ctor(NAudio.CoreAudioApi.Interfaces.IAudioEndpointVolume)">
+            <summary>
+            Creates a new Audio endpoint volume
+            </summary>
+            <param name="realEndpointVolume">IAudioEndpointVolume COM interface</param>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioEndpointVolume.Dispose">
+            <summary>
+            Dispose
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioEndpointVolume.Finalize">
+            <summary>
+            Finalizer
+            </summary>
+        </member>
+        <member name="E:NAudio.CoreAudioApi.AudioEndpointVolume.OnVolumeNotification">
+            <summary>
+            On Volume Notification
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolume.VolumeRange">
+            <summary>
+            Volume Range
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolume.HardwareSupport">
+            <summary>
+            Hardware Support
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolume.StepInformation">
+            <summary>
+            Step Information
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolume.Channels">
+            <summary>
+            Channels
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolume.MasterVolumeLevel">
+            <summary>
+            Master Volume Level
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolume.MasterVolumeLevelScalar">
+            <summary>
+            Master Volume Level Scalar
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolume.Mute">
+            <summary>
+            Mute
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioEndpointVolumeChannel">
+            <summary>
+            Audio Endpoint Volume Channel
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolumeChannel.VolumeLevel">
+            <summary>
+            Volume Level
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolumeChannel.VolumeLevelScalar">
+            <summary>
+            Volume Level Scalar
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioEndpointVolumeChannels">
+            <summary>
+            Audio Endpoint Volume Channels
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolumeChannels.Count">
+            <summary>
+            Channel Count
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolumeChannels.Item(System.Int32)">
+            <summary>
+            Indexer - get a specific channel
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioEndpointVolumeNotificationDelegate">
+            <summary>
+            Audio Endpoint Volume Notifiaction Delegate
+            </summary>
+            <param name="data">Audio Volume Notification Data</param>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioEndpointVolumeStepInformation">
+            <summary>
+            Audio Endpoint Volume Step Information
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolumeStepInformation.Step">
+            <summary>
+            Step
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolumeStepInformation.StepCount">
+            <summary>
+            StepCount
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioEndpointVolumeVolumeRange">
+            <summary>
+            Audio Endpoint Volume Volume Range
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolumeVolumeRange.MinDecibels">
+            <summary>
+            Minimum Decibels
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolumeVolumeRange.MaxDecibels">
+            <summary>
+            Maximum Decibels
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioEndpointVolumeVolumeRange.IncrementDecibels">
+            <summary>
+            Increment Decibels
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioMeterInformation">
+            <summary>
+            Audio Meter Information
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioMeterInformation.PeakValues">
+            <summary>
+            Peak Values
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioMeterInformation.HardwareSupport">
+            <summary>
+            Hardware Support
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioMeterInformation.MasterPeakValue">
+            <summary>
+            Master Peak Value
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioMeterInformationChannels">
+            <summary>
+            Audio Meter Information Channels
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioMeterInformationChannels.Count">
+            <summary>
+            Metering Channel Count
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioMeterInformationChannels.Item(System.Int32)">
+            <summary>
+            Get Peak value
+            </summary>
+            <param name="index">Channel index</param>
+            <returns>Peak value</returns>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioRenderClient">
+            <summary>
+            Audio Render Client
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioRenderClient.GetBuffer(System.Int32)">
+            <summary>
+            Gets a pointer to the buffer
+            </summary>
+            <param name="numFramesRequested">Number of frames requested</param>
+            <returns>Pointer to the buffer</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioRenderClient.ReleaseBuffer(System.Int32,NAudio.CoreAudioApi.AudioClientBufferFlags)">
+            <summary>
+            Release buffer
+            </summary>
+            <param name="numFramesWritten">Number of frames written</param>
+            <param name="bufferFlags">Buffer flags</param>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioRenderClient.Dispose">
+            <summary>
+            Release the COM object
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioStreamCategory">
+            <summary>
+            Specifies the category of an audio stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioStreamCategory.Other">
+            <summary>
+            Other audio stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioStreamCategory.ForegroundOnlyMedia">
+            <summary>
+            Media that will only stream when the app is in the foreground.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioStreamCategory.BackgroundCapableMedia">
+            <summary>
+            Media that can be streamed when the app is in the background.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioStreamCategory.Communications">
+            <summary>
+            Real-time communications, such as VOIP or chat.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioStreamCategory.Alerts">
+            <summary>
+            Alert sounds.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioStreamCategory.SoundEffects">
+            <summary>
+            Sound effects.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioStreamCategory.GameEffects">
+            <summary>
+            Game sound effects.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.AudioStreamCategory.GameMedia">
+            <summary>
+            Background audio for games.
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.AudioVolumeNotificationData">
+            <summary>
+            Audio Volume Notification Data
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.AudioVolumeNotificationData.#ctor(System.Guid,System.Boolean,System.Single,System.Single[])">
+            <summary>
+            Audio Volume Notification Data
+            </summary>
+            <param name="eventContext"></param>
+            <param name="muted"></param>
+            <param name="masterVolume"></param>
+            <param name="channelVolume"></param>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioVolumeNotificationData.EventContext">
+            <summary>
+            Event Context
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioVolumeNotificationData.Muted">
+            <summary>
+            Muted
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioVolumeNotificationData.MasterVolume">
+            <summary>
+            Master Volume
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioVolumeNotificationData.Channels">
+            <summary>
+            Channels
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.AudioVolumeNotificationData.ChannelVolume">
+            <summary>
+            Channel Volume
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.DataFlow">
+            <summary>
+            The EDataFlow enumeration defines constants that indicate the direction 
+            in which audio data flows between an audio endpoint device and an application
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.DataFlow.Render">
+            <summary>
+            Audio rendering stream. 
+            Audio data flows from the application to the audio endpoint device, which renders the stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.DataFlow.Capture">
+            <summary>
+            Audio capture stream. Audio data flows from the audio endpoint device that captures the stream, 
+            to the application
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.DataFlow.All">
+            <summary>
+            Audio rendering or capture stream. Audio data can flow either from the application to the audio 
+            endpoint device, or from the audio endpoint device to the application.
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.DeviceState">
+            <summary>
+            Device State
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.DeviceState.Active">
+            <summary>
+            DEVICE_STATE_ACTIVE
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.DeviceState.Disabled">
+            <summary>
+            DEVICE_STATE_DISABLED
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.DeviceState.NotPresent">
+            <summary>
+            DEVICE_STATE_NOTPRESENT 
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.DeviceState.Unplugged">
+            <summary>
+            DEVICE_STATE_UNPLUGGED
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.DeviceState.All">
+            <summary>
+            DEVICE_STATEMASK_ALL
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.EEndpointHardwareSupport">
+            <summary>
+            Endpoint Hardware Support
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.EEndpointHardwareSupport.Volume">
+            <summary>
+            Volume
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.EEndpointHardwareSupport.Mute">
+            <summary>
+            Mute
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.EEndpointHardwareSupport.Meter">
+            <summary>
+            Meter
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.ClsCtx">
+            <summary>
+            is defined in WTypes.h
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.Interfaces.AudioClientErrors.NotInitialized">
+            <summary>
+            AUDCLNT_E_NOT_INITIALIZED
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.Interfaces.AudioClientErrors.UnsupportedFormat">
+            <summary>
+            AUDCLNT_E_UNSUPPORTED_FORMAT
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.Interfaces.AudioClientErrors.DeviceInUse">
+            <summary>
+            AUDCLNT_E_DEVICE_IN_USE
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.IAudioClient">
+            <summary>
+            Windows CoreAudio IAudioClient interface
+            Defined in AudioClient.h
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.IAudioClient.GetBufferSize(System.UInt32@)">
+            <summary>
+            The GetBufferSize method retrieves the size (maximum capacity) of the endpoint buffer.
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.IAudioClient.GetService(System.Guid,System.Object@)">
+            <summary>
+            The GetService method accesses additional services from the audio client object.
+            </summary>
+            <param name="interfaceId">The interface ID for the requested service.</param>
+            <param name="interfacePointer">Pointer to a pointer variable into which the method writes the address of an instance of the requested interface. </param>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.IAudioClock">
+            <summary>
+            Defined in AudioClient.h
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.IAudioClock2">
+            <summary>
+            Defined in AudioClient.h
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.IMMEndpoint">
+            <summary>
+            defined in MMDeviceAPI.h
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.IMMNotificationClient">
+            <summary>
+            IMMNotificationClient
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.IMMNotificationClient.OnDeviceStateChanged(System.String,NAudio.CoreAudioApi.DeviceState)">
+            <summary>
+            Device State Changed
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.IMMNotificationClient.OnDeviceAdded(System.String)">
+            <summary>
+            Device Added
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.IMMNotificationClient.OnDeviceRemoved(System.String)">
+            <summary>
+            Device Removed
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.IMMNotificationClient.OnDefaultDeviceChanged(NAudio.CoreAudioApi.DataFlow,NAudio.CoreAudioApi.Role,System.String)">
+            <summary>
+            Default Device Changed
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.IMMNotificationClient.OnPropertyValueChanged(System.String,NAudio.CoreAudioApi.PropertyKey)">
+            <summary>
+            Property Value Changed
+            </summary>
+            <param name="pwstrDeviceId"></param>
+            <param name="key"></param>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.IPropertyStore">
+            <summary>
+            is defined in propsys.h
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.MMDeviceEnumeratorComObject">
+            <summary>
+            implements IMMDeviceEnumerator
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.StorageAccessMode">
+            <summary>
+            MMDevice STGM enumeration
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.MMDevice">
+            <summary>
+            MM Device
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.MMDevice.ToString">
+            <summary>
+            To string
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDevice.AudioClient">
+            <summary>
+            Audio Client
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDevice.AudioMeterInformation">
+            <summary>
+            Audio Meter Information
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDevice.AudioEndpointVolume">
+            <summary>
+            Audio Endpoint Volume
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDevice.Properties">
+            <summary>
+            Properties
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDevice.FriendlyName">
+            <summary>
+            Friendly name for the endpoint
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDevice.DeviceFriendlyName">
+            <summary>
+            Friendly name of device
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDevice.ID">
+            <summary>
+            Device ID
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDevice.DataFlow">
+            <summary>
+            Data Flow
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDevice.State">
+            <summary>
+            Device State
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.MMDeviceCollection">
+            <summary>
+            Multimedia Device Collection
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.MMDeviceCollection.GetEnumerator">
+            <summary>
+            Get Enumerator
+            </summary>
+            <returns>Device enumerator</returns>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDeviceCollection.Count">
+            <summary>
+            Device count
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.MMDeviceCollection.Item(System.Int32)">
+            <summary>
+            Get device by index
+            </summary>
+            <param name="index">Device index</param>
+            <returns>Device at the specified index</returns>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.MMDeviceEnumerator">
+            <summary>
+            MM Device Enumerator
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.MMDeviceEnumerator.#ctor">
+            <summary>
+            Creates a new MM Device Enumerator
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.MMDeviceEnumerator.EnumerateAudioEndPoints(NAudio.CoreAudioApi.DataFlow,NAudio.CoreAudioApi.DeviceState)">
+            <summary>
+            Enumerate Audio Endpoints
+            </summary>
+            <param name="dataFlow">Desired DataFlow</param>
+            <param name="dwStateMask">State Mask</param>
+            <returns>Device Collection</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.MMDeviceEnumerator.GetDefaultAudioEndpoint(NAudio.CoreAudioApi.DataFlow,NAudio.CoreAudioApi.Role)">
+            <summary>
+            Get Default Endpoint
+            </summary>
+            <param name="dataFlow">Data Flow</param>
+            <param name="role">Role</param>
+            <returns>Device</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.MMDeviceEnumerator.GetDevice(System.String)">
+            <summary>
+            Get device by ID
+            </summary>
+            <param name="id">Device ID</param>
+            <returns>Device</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.MMDeviceEnumerator.RegisterEndpointNotificationCallback(NAudio.CoreAudioApi.Interfaces.IMMNotificationClient)">
+            <summary>
+            Registers a call back for Device Events
+            </summary>
+            <param name="client">Object implementing IMMNotificationClient type casted as IMMNotificationClient interface</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.MMDeviceEnumerator.UnregisterEndpointNotificationCallback(NAudio.CoreAudioApi.Interfaces.IMMNotificationClient)">
+            <summary>
+            Unregisters a call back for Device Events
+            </summary>
+            <param name="client">Object implementing IMMNotificationClient type casted as IMMNotificationClient interface </param>
+            <returns></returns>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.PropertyKey">
+            <summary>
+            PROPERTYKEY is defined in wtypes.h
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKey.formatId">
+            <summary>
+            Format ID
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKey.propertyId">
+            <summary>
+            Property ID
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.PropertyKey.#ctor(System.Guid,System.Int32)">
+            <summary>
+            <param name="formatId"></param>
+            <param name="propertyId"></param>
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.PropertyKeys">
+            <summary>
+            Property Keys
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_DeviceInterface_FriendlyName">
+            <summary>
+            PKEY_DeviceInterface_FriendlyName
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEndpoint_FormFactor">
+            <summary>
+            PKEY_AudioEndpoint_FormFactor
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEndpoint_ControlPanelPageProvider">
+            <summary>
+            PKEY_AudioEndpoint_ControlPanelPageProvider
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEndpoint_Association">
+            <summary>
+            PKEY_AudioEndpoint_Association
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEndpoint_PhysicalSpeakers">
+            <summary>
+            PKEY_AudioEndpoint_PhysicalSpeakers
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEndpoint_GUID">
+            <summary>
+            PKEY_AudioEndpoint_GUID
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEndpoint_Disable_SysFx">
+            <summary>
+            PKEY_AudioEndpoint_Disable_SysFx 
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEndpoint_FullRangeSpeakers">
+            <summary>
+            PKEY_AudioEndpoint_FullRangeSpeakers 
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEndpoint_Supports_EventDriven_Mode">
+            <summary>
+            PKEY_AudioEndpoint_Supports_EventDriven_Mode 
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEndpoint_JackSubType">
+            <summary>
+            PKEY_AudioEndpoint_JackSubType
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEngine_DeviceFormat">
+            <summary>
+            PKEY_AudioEngine_DeviceFormat 
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_AudioEngine_OEMFormat">
+            <summary>
+            PKEY_AudioEngine_OEMFormat
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.PropertyKeys.PKEY_Device_FriendlyName">
+            <summary>
+            PKEY _Devie_FriendlyName
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.PropertyStore">
+            <summary>
+            Property Store class, only supports reading properties at the moment.
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.PropertyStore.Contains(NAudio.CoreAudioApi.PropertyKey)">
+            <summary>
+            Contains property guid
+            </summary>
+            <param name="key">Looks for a specific key</param>
+            <returns>True if found</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.PropertyStore.Get(System.Int32)">
+            <summary>
+            Gets property key at sepecified index
+            </summary>
+            <param name="index">Index</param>
+            <returns>Property key</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.PropertyStore.GetValue(System.Int32)">
+            <summary>
+            Gets property value at specified index
+            </summary>
+            <param name="index">Index</param>
+            <returns>Property value</returns>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.PropertyStore.#ctor(NAudio.CoreAudioApi.Interfaces.IPropertyStore)">
+            <summary>
+            Creates a new property store
+            </summary>
+            <param name="store">IPropertyStore COM interface</param>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.PropertyStore.Count">
+            <summary>
+            Property Count
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.PropertyStore.Item(System.Int32)">
+            <summary>
+            Gets property by index
+            </summary>
+            <param name="index">Property index</param>
+            <returns>The property</returns>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.PropertyStore.Item(NAudio.CoreAudioApi.PropertyKey)">
+            <summary>
+            Indexer by guid
+            </summary>
+            <param name="key">Property Key</param>
+            <returns>Property or null if not found</returns>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.PropertyStoreProperty">
+            <summary>
+            Property Store Property
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.PropertyStoreProperty.Key">
+            <summary>
+            Property Key
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.PropertyStoreProperty.Value">
+            <summary>
+            Property Value
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Interfaces.PropVariant">
+            <summary>
+            from Propidl.h.
+            http://msdn.microsoft.com/en-us/library/aa380072(VS.85).aspx
+            contains a union so we have to do an explicit layout
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.PropVariant.FromLong(System.Int64)">
+            <summary>
+            Creates a new PropVariant containing a long value
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.PropVariant.GetBlob">
+            <summary>
+            Helper method to gets blob data
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.PropVariant.GetBlobAsArrayOf``1">
+            <summary>
+            Interprets a blob as an array of structs
+            </summary>
+        </member>
+        <member name="M:NAudio.CoreAudioApi.Interfaces.PropVariant.Clear">
+            <summary>
+            allows freeing up memory, might turn this into a Dispose method?
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.Interfaces.PropVariant.DataType">
+            <summary>
+            Gets the type of data in this PropVariant
+            </summary>
+        </member>
+        <member name="P:NAudio.CoreAudioApi.Interfaces.PropVariant.Value">
+            <summary>
+            Property value
+            </summary>
+        </member>
+        <member name="T:NAudio.CoreAudioApi.Role">
+            <summary>
+            The ERole enumeration defines constants that indicate the role 
+            that the system has assigned to an audio endpoint device
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.Role.Console">
+            <summary>
+            Games, system notification sounds, and voice commands.
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.Role.Multimedia">
+            <summary>
+            Music, movies, narration, and live music recording
+            </summary>
+        </member>
+        <member name="F:NAudio.CoreAudioApi.Role.Communications">
+            <summary>
+            Voice communications (talking to another person).
+            </summary>
+        </member>
+        <member name="T:NAudio.Dmo.IWMResamplerProps">
+            <summary>
+            Windows Media Resampler Props
+            wmcodecdsp.h
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.IWMResamplerProps.SetHalfFilterLength(System.Int32)">
+            <summary>
+            Range is 1 to 60
+            </summary>
+        </member>
+        <member name="M:NAudio.Dmo.IWMResamplerProps.SetUserChannelMtx(System.Single[])">
+            <summary>
+             Specifies the channel matrix.
+            </summary>
+        </member>
+        <member name="T:NAudio.Dsp.BiQuadFilter">
+            <summary>
+            BiQuad filter
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.Transform(System.Single)">
+            <summary>
+            Passes a single sample through the filter
+            </summary>
+            <param name="inSample">Input sample</param>
+            <returns>Output sample</returns>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.SetLowPassFilter(System.Single,System.Single,System.Single)">
+            <summary>
+            Set this up as a low pass filter
+            </summary>
+            <param name="sampleRate">Sample Rate</param>
+            <param name="cutoffFrequency">Cut-off Frequency</param>
+            <param name="q">Bandwidth</param>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.SetPeakingEq(System.Single,System.Single,System.Single,System.Single)">
+            <summary>
+            Set this up as a peaking EQ
+            </summary>
+            <param name="sampleRate">Sample Rate</param>
+            <param name="centreFrequency">Centre Frequency</param>
+            <param name="q">Bandwidth (Q)</param>
+            <param name="dbGain">Gain in decibels</param>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.SetHighPassFilter(System.Single,System.Single,System.Single)">
+            <summary>
+            Set this as a high pass filter
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.LowPassFilter(System.Single,System.Single,System.Single)">
+            <summary>
+            Create a low pass filter
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.HighPassFilter(System.Single,System.Single,System.Single)">
+            <summary>
+            Create a High pass filter
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.BandPassFilterConstantSkirtGain(System.Single,System.Single,System.Single)">
+            <summary>
+            Create a bandpass filter with constant skirt gain
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.BandPassFilterConstantPeakGain(System.Single,System.Single,System.Single)">
+            <summary>
+            Create a bandpass filter with constant peak gain
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.NotchFilter(System.Single,System.Single,System.Single)">
+            <summary>
+            Creates a notch filter
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.AllPassFilter(System.Single,System.Single,System.Single)">
+            <summary>
+            Creaes an all pass filter
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.PeakingEQ(System.Single,System.Single,System.Single,System.Single)">
+            <summary>
+            Create a Peaking EQ
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.LowShelf(System.Single,System.Single,System.Single,System.Single)">
+            <summary>
+            H(s) = A * (s^2 + (sqrt(A)/Q)*s + A)/(A*s^2 + (sqrt(A)/Q)*s + 1)
+            </summary>
+            <param name="sampleRate"></param>
+            <param name="cutoffFrequency"></param>
+            <param name="shelfSlope">a "shelf slope" parameter (for shelving EQ only).  
+            When S = 1, the shelf slope is as steep as it can be and remain monotonically
+            increasing or decreasing gain with frequency.  The shelf slope, in dB/octave, 
+            remains proportional to S for all other values for a fixed f0/Fs and dBgain.</param>
+            <param name="dbGain">Gain in decibels</param>
+        </member>
+        <member name="M:NAudio.Dsp.BiQuadFilter.HighShelf(System.Single,System.Single,System.Single,System.Single)">
+            <summary>
+            H(s) = A * (A*s^2 + (sqrt(A)/Q)*s + 1)/(s^2 + (sqrt(A)/Q)*s + A)
+            </summary>
+            <param name="sampleRate"></param>
+            <param name="cutoffFrequency"></param>
+            <param name="shelfSlope"></param>
+            <param name="dbGain"></param>
+            <returns></returns>
+        </member>
+        <member name="T:NAudio.Dsp.Complex">
+            <summary>
+            Type to represent complex number
+            </summary>
+        </member>
+        <member name="F:NAudio.Dsp.Complex.X">
+            <summary>
+            Real Part
+            </summary>
+        </member>
+        <member name="F:NAudio.Dsp.Complex.Y">
+            <summary>
+            Imaginary Part
+            </summary>
+        </member>
+        <member name="T:NAudio.Dsp.EnvelopeGenerator">
+            <summary>
+            Envelope generator (ADSR)
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.EnvelopeGenerator.#ctor">
+            <summary>
+            Creates and Initializes an Envelope Generator
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.EnvelopeGenerator.SetTargetRatioAttack(System.Single)">
+            <summary>
+            Sets the attack curve
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.EnvelopeGenerator.SetTargetRatioDecayRelease(System.Single)">
+            <summary>
+            Sets the decay release curve
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.EnvelopeGenerator.Process">
+            <summary>
+            Read the next volume multiplier from the envelope generator
+            </summary>
+            <returns>A volume multiplier</returns>
+        </member>
+        <member name="M:NAudio.Dsp.EnvelopeGenerator.Gate(System.Boolean)">
+            <summary>
+            Trigger the gate
+            </summary>
+            <param name="gate">If true, enter attack phase, if false enter release phase (unless already idle)</param>
+        </member>
+        <member name="M:NAudio.Dsp.EnvelopeGenerator.Reset">
+            <summary>
+            Reset to idle state
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.EnvelopeGenerator.GetOutput">
+            <summary>
+            Get the current output level
+            </summary>
+        </member>
+        <member name="P:NAudio.Dsp.EnvelopeGenerator.AttackRate">
+            <summary>
+            Attack Rate (seconds * SamplesPerSecond)
+            </summary>
+        </member>
+        <member name="P:NAudio.Dsp.EnvelopeGenerator.DecayRate">
+            <summary>
+            Decay Rate (seconds * SamplesPerSecond)
+            </summary>
+        </member>
+        <member name="P:NAudio.Dsp.EnvelopeGenerator.ReleaseRate">
+            <summary>
+            Release Rate (seconds * SamplesPerSecond)
+            </summary>
+        </member>
+        <member name="P:NAudio.Dsp.EnvelopeGenerator.SustainLevel">
+            <summary>
+            Sustain Level (1 = 100%)
+            </summary>
+        </member>
+        <member name="P:NAudio.Dsp.EnvelopeGenerator.State">
+            <summary>
+            Current envelope state
+            </summary>
+        </member>
+        <member name="T:NAudio.Dsp.EnvelopeGenerator.EnvelopeState">
+            <summary>
+            Envelope State
+            </summary>
+        </member>
+        <member name="F:NAudio.Dsp.EnvelopeGenerator.EnvelopeState.Idle">
+            <summary>
+            Idle
+            </summary>
+        </member>
+        <member name="F:NAudio.Dsp.EnvelopeGenerator.EnvelopeState.Attack">
+            <summary>
+            Attack
+            </summary>
+        </member>
+        <member name="F:NAudio.Dsp.EnvelopeGenerator.EnvelopeState.Decay">
+            <summary>
+            Decay
+            </summary>
+        </member>
+        <member name="F:NAudio.Dsp.EnvelopeGenerator.EnvelopeState.Sustain">
+            <summary>
+            Sustain
+            </summary>
+        </member>
+        <member name="F:NAudio.Dsp.EnvelopeGenerator.EnvelopeState.Release">
+            <summary>
+            Release
+            </summary>
+        </member>
+        <member name="T:NAudio.Dsp.FastFourierTransform">
+            <summary>
+            Summary description for FastFourierTransform.
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.FastFourierTransform.FFT(System.Boolean,System.Int32,NAudio.Dsp.Complex[])">
+            <summary>
+            This computes an in-place complex-to-complex FFT 
+            x and y are the real and imaginary arrays of 2^m points.
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.FastFourierTransform.HammingWindow(System.Int32,System.Int32)">
+            <summary>
+            Applies a Hamming Window
+            </summary>
+            <param name="n">Index into frame</param>
+            <param name="frameSize">Frame size (e.g. 1024)</param>
+            <returns>Multiplier for Hamming window</returns>
+        </member>
+        <member name="M:NAudio.Dsp.FastFourierTransform.HannWindow(System.Int32,System.Int32)">
+            <summary>
+            Applies a Hann Window
+            </summary>
+            <param name="n">Index into frame</param>
+            <param name="frameSize">Frame size (e.g. 1024)</param>
+            <returns>Multiplier for Hann window</returns>
+        </member>
+        <member name="M:NAudio.Dsp.FastFourierTransform.BlackmannHarrisWindow(System.Int32,System.Int32)">
+            <summary>
+            Applies a Blackman-Harris Window
+            </summary>
+            <param name="n">Index into frame</param>
+            <param name="frameSize">Frame size (e.g. 1024)</param>
+            <returns>Multiplier for Blackmann-Harris window</returns>
+        </member>
+        <member name="T:NAudio.Dsp.ImpulseResponseConvolution">
+            <summary>
+            Summary description for ImpulseResponseConvolution.
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.ImpulseResponseConvolution.Convolve(System.Single[],System.Single[])">
+            <summary>
+            A very simple mono convolution algorithm
+            </summary>
+            <remarks>
+            This will be very slow
+            </remarks>
+        </member>
+        <member name="M:NAudio.Dsp.ImpulseResponseConvolution.Normalize(System.Single[])">
+            <summary>
+            This is actually a downwards normalize for data that will clip
+            </summary>
+        </member>
+        <member name="T:NAudio.Dsp.WdlResampler">
+            <summary>
+            Fully managed resampler, based on Cockos WDL Resampler
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.WdlResampler.#ctor">
+            <summary>
+            Creates a new Resampler
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.WdlResampler.SetMode(System.Boolean,System.Int32,System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            sets the mode
+            if sinc set, it overrides interp or filtercnt
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.WdlResampler.SetFilterParms(System.Single,System.Single)">
+            <summary>
+            Sets the filter parameters
+            used for filtercnt>0 but not sinc
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.WdlResampler.SetFeedMode(System.Boolean)">
+            <summary>
+            Set feed mode
+            </summary>
+            <param name="wantInputDriven">if true, that means the first parameter to ResamplePrepare will specify however much input you have, not how much you want</param>
+        </member>
+        <member name="M:NAudio.Dsp.WdlResampler.Reset(System.Double)">
+            <summary>
+            Reset
+            </summary>
+        </member>
+        <member name="M:NAudio.Dsp.WdlResampler.ResamplePrepare(System.Int32,System.Int32,System.Single[]@,System.Int32@)">
+            <summary>
+            Prepare
+            note that it is safe to call ResamplePrepare without calling ResampleOut (the next call of ResamplePrepare will function as normal)
+            nb inbuffer was WDL_ResampleSample **, returning a place to put the in buffer, so we return a buffer and offset
+            </summary>
+            <param name="out_samples">req_samples is output samples desired if !wantInputDriven, or if wantInputDriven is input samples that we have</param>
+            <param name="nch"></param>
+            <param name="inbuffer"></param>
+            <param name="inbufferOffset"></param>
+            <returns>returns number of samples desired (put these into *inbuffer)</returns>
+        </member>
+        <member name="T:NAudio.Wave.ChannelMode">
+            <summary>
+            Channel Mode
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.ChannelMode.Stereo">
+            <summary>
+            Stereo
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.ChannelMode.JointStereo">
+            <summary>
+            Joint Stereo
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.ChannelMode.DualChannel">
+            <summary>
+            Dual Channel
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.ChannelMode.Mono">
+            <summary>
+            Mono
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Id3v2Tag">
+            <summary>
+            An ID3v2 Tag
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Id3v2Tag.ReadTag(System.IO.Stream)">
+            <summary>
+            Reads an ID3v2 tag from a stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Id3v2Tag.Create(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}})">
+            <summary>
+            Creates a new ID3v2 tag from a collection of key-value pairs.
+            </summary>
+            <param name="tags">A collection of key-value pairs containing the tags to include in the ID3v2 tag.</param>
+            <returns>A new ID3v2 tag</returns>
+        </member>
+        <member name="M:NAudio.Wave.Id3v2Tag.FrameSizeToBytes(System.Int32)">
+            <summary>
+            Convert the frame size to a byte array.
+            </summary>
+            <param name="n">The frame body size.</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.Id3v2Tag.CreateId3v2Frame(System.String,System.String)">
+            <summary>
+            Creates an ID3v2 frame for the given key-value pair.
+            </summary>
+            <param name="key"></param>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.Id3v2Tag.GetId3TagHeaderSize(System.Int32)">
+            <summary>
+            Gets the Id3v2 Header size. The size is encoded so that only 7 bits per byte are actually used.
+            </summary>
+            <param name="size"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.Id3v2Tag.CreateId3v2TagHeader(System.Collections.Generic.IEnumerable{System.Byte[]})">
+            <summary>
+            Creates the Id3v2 tag header and returns is as a byte array.
+            </summary>
+            <param name="frames">The Id3v2 frames that will be included in the file. This is used to calculate the ID3v2 tag size.</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.Id3v2Tag.CreateId3v2TagStream(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}})">
+            <summary>
+            Creates the Id3v2 tag for the given key-value pairs and returns it in the a stream.
+            </summary>
+            <param name="tags"></param>
+            <returns></returns>
+        </member>
+        <member name="P:NAudio.Wave.Id3v2Tag.RawData">
+            <summary>
+            Raw data from this tag
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.IMp3FrameDecompressor">
+            <summary>
+            Interface for MP3 frame by frame decoder
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.IMp3FrameDecompressor.DecompressFrame(NAudio.Wave.Mp3Frame,System.Byte[],System.Int32)">
+            <summary>
+            Decompress a single MP3 frame
+            </summary>
+            <param name="frame">Frame to decompress</param>
+            <param name="dest">Output buffer</param>
+            <param name="destOffset">Offset within output buffer</param>
+            <returns>Bytes written to output buffer</returns>
+        </member>
+        <member name="M:NAudio.Wave.IMp3FrameDecompressor.Reset">
+            <summary>
+            Tell the decoder that we have repositioned
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.IMp3FrameDecompressor.OutputFormat">
+            <summary>
+            PCM format that we are converting into
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Mp3Frame">
+            <summary>
+            Represents an MP3 Frame
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Mp3Frame.LoadFromStream(System.IO.Stream)">
+            <summary>
+            Reads an MP3 frame from a stream
+            </summary>
+            <param name="input">input stream</param>
+            <returns>A valid MP3 frame, or null if none found</returns>
+        </member>
+        <member name="M:NAudio.Wave.Mp3Frame.LoadFromStream(System.IO.Stream,System.Boolean)">
+            <summary>Reads an MP3Frame from a stream</summary>
+            <remarks>http://mpgedit.org/mpgedit/mpeg_format/mpeghdr.htm has some good info
+            also see http://www.codeproject.com/KB/audio-video/mpegaudioinfo.aspx
+            </remarks>
+            <returns>A valid MP3 frame, or null if none found</returns>
+        </member>
+        <member name="M:NAudio.Wave.Mp3Frame.#ctor">
+            <summary>
+            Constructs an MP3 frame
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Mp3Frame.IsValidHeader(System.Byte[],NAudio.Wave.Mp3Frame)">
+            <summary>
+            checks if the four bytes represent a valid header,
+            if they are, will parse the values into Mp3Frame
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.SampleRate">
+            <summary>
+            Sample rate of this frame
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.FrameLength">
+            <summary>
+            Frame length in bytes
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.BitRate">
+            <summary>
+            Bit Rate
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.RawData">
+            <summary>
+            Raw frame data (includes header bytes)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.MpegVersion">
+            <summary>
+            MPEG Version
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.MpegLayer">
+            <summary>
+            MPEG Layer
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.ChannelMode">
+            <summary>
+            Channel Mode
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.SampleCount">
+            <summary>
+            The number of samples in this frame
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.ChannelExtension">
+            <summary>
+            The channel extension bits
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.BitRateIndex">
+            <summary>
+            The bitrate index (directly from the header)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.Copyright">
+            <summary>
+            Whether the Copyright bit is set
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.CrcPresent">
+            <summary>
+            Whether a CRC is present
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Mp3Frame.FileOffset">
+            <summary>
+            Not part of the MP3 frame itself - indicates where in the stream we found this header
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.MpegLayer">
+            <summary>
+            MPEG Layer flags
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.MpegLayer.Reserved">
+            <summary>
+            Reserved
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.MpegLayer.Layer3">
+            <summary>
+            Layer 3
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.MpegLayer.Layer2">
+            <summary>
+            Layer 2
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.MpegLayer.Layer1">
+            <summary>
+            Layer 1
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.MpegVersion">
+            <summary>
+            MPEG Version Flags
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.MpegVersion.Version25">
+            <summary>
+            Version 2.5
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.MpegVersion.Reserved">
+            <summary>
+            Reserved
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.MpegVersion.Version2">
+            <summary>
+            Version 2
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.MpegVersion.Version1">
+            <summary>
+            Version 1
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.XingHeader">
+            <summary>
+            Represents a Xing VBR header
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.XingHeader.LoadXingHeader(NAudio.Wave.Mp3Frame)">
+            <summary>
+            Load Xing Header
+            </summary>
+            <param name="frame">Frame</param>
+            <returns>Xing Header</returns>
+        </member>
+        <member name="M:NAudio.Wave.XingHeader.#ctor">
+            <summary>
+            Sees if a frame contains a Xing header
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.XingHeader.Frames">
+            <summary>
+            Number of frames
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.XingHeader.Bytes">
+            <summary>
+            Number of bytes
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.XingHeader.VbrScale">
+            <summary>
+            VBR Scale property
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.XingHeader.Mp3Frame">
+            <summary>
+            The MP3 frame
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.Generator">
+            <summary>
+            Soundfont generator
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.Generator.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Generator.GeneratorType">
+            <summary>
+            Gets the generator type
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Generator.UInt16Amount">
+            <summary>
+            Generator amount as an unsigned short
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Generator.Int16Amount">
+            <summary>
+            Generator amount as a signed short
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Generator.LowByteAmount">
+            <summary>
+            Low byte amount
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Generator.HighByteAmount">
+            <summary>
+            High byte amount
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Generator.Instrument">
+            <summary>
+            Instrument
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Generator.SampleHeader">
+            <summary>
+            Sample Header
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.StructureBuilder`1">
+            <summary>
+            base class for structures that can read themselves
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.GeneratorEnum">
+            <summary>
+            Generator types
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.StartAddressOffset">
+            <summary>Start address offset</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.EndAddressOffset">
+            <summary>End address offset</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.StartLoopAddressOffset">
+            <summary>Start loop address offset</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.EndLoopAddressOffset">
+            <summary>End loop address offset</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.StartAddressCoarseOffset">
+            <summary>Start address coarse offset</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ModulationLFOToPitch">
+            <summary>Modulation LFO to pitch</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.VibratoLFOToPitch">
+            <summary>Vibrato LFO to pitch</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ModulationEnvelopeToPitch">
+            <summary>Modulation envelope to pitch</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.InitialFilterCutoffFrequency">
+            <summary>Initial filter cutoff frequency</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.InitialFilterQ">
+            <summary>Initial filter Q</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ModulationLFOToFilterCutoffFrequency">
+            <summary>Modulation LFO to filter Cutoff frequency</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ModulationEnvelopeToFilterCutoffFrequency">
+            <summary>Modulation envelope to filter cutoff frequency</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.EndAddressCoarseOffset">
+            <summary>End address coarse offset</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ModulationLFOToVolume">
+            <summary>Modulation LFO to volume</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Unused1">
+            <summary>Unused</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ChorusEffectsSend">
+            <summary>Chorus effects send</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ReverbEffectsSend">
+            <summary>Reverb effects send</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Pan">
+            <summary>Pan</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Unused2">
+            <summary>Unused</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Unused3">
+            <summary>Unused</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Unused4">
+            <summary>Unused</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.DelayModulationLFO">
+            <summary>Delay modulation LFO</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.FrequencyModulationLFO">
+            <summary>Frequency modulation LFO</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.DelayVibratoLFO">
+            <summary>Delay vibrato LFO</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.FrequencyVibratoLFO">
+            <summary>Frequency vibrato LFO</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.DelayModulationEnvelope">
+            <summary>Delay modulation envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.AttackModulationEnvelope">
+            <summary>Attack modulation envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.HoldModulationEnvelope">
+            <summary>Hold modulation envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.DecayModulationEnvelope">
+            <summary>Decay modulation envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.SustainModulationEnvelope">
+            <summary>Sustain modulation envelop</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ReleaseModulationEnvelope">
+            <summary>Release modulation envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.KeyNumberToModulationEnvelopeHold">
+            <summary>Key number to modulation envelope hold</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.KeyNumberToModulationEnvelopeDecay">
+            <summary>Key number to modulation envelope decay</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.DelayVolumeEnvelope">
+            <summary>Delay volume envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.AttackVolumeEnvelope">
+            <summary>Attack volume envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.HoldVolumeEnvelope">
+            <summary>Hold volume envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.DecayVolumeEnvelope">
+            <summary>Decay volume envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.SustainVolumeEnvelope">
+            <summary>Sustain volume envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ReleaseVolumeEnvelope">
+            <summary>Release volume envelope</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.KeyNumberToVolumeEnvelopeHold">
+            <summary>Key number to volume envelope hold</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.KeyNumberToVolumeEnvelopeDecay">
+            <summary>Key number to volume envelope decay</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Instrument">
+            <summary>Instrument</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Reserved1">
+            <summary>Reserved</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.KeyRange">
+            <summary>Key range</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.VelocityRange">
+            <summary>Velocity range</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.StartLoopAddressCoarseOffset">
+            <summary>Start loop address coarse offset</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.KeyNumber">
+            <summary>Key number</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Velocity">
+            <summary>Velocity</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.InitialAttenuation">
+            <summary>Initial attenuation</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Reserved2">
+            <summary>Reserved</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.EndLoopAddressCoarseOffset">
+            <summary>End loop address coarse offset</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.CoarseTune">
+            <summary>Coarse tune</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.FineTune">
+            <summary>Fine tune</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.SampleID">
+            <summary>Sample ID</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.SampleModes">
+            <summary>Sample modes</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Reserved3">
+            <summary>Reserved</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ScaleTuning">
+            <summary>Scale tuning</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.ExclusiveClass">
+            <summary>Exclusive class</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.OverridingRootKey">
+            <summary>Overriding root key</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.Unused5">
+            <summary>Unused</summary>
+        </member>
+        <member name="F:NAudio.SoundFont.GeneratorEnum.UnusedEnd">
+            <summary>Unused</summary>
+        </member>
+        <member name="T:NAudio.SoundFont.InfoChunk">
+            <summary>
+            A soundfont info chunk
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.InfoChunk.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.SoundFontVersion">
+            <summary>
+            SoundFont Version
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.WaveTableSoundEngine">
+            <summary>
+            WaveTable sound engine
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.BankName">
+            <summary>
+            Bank name
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.DataROM">
+            <summary>
+            Data ROM
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.CreationDate">
+            <summary>
+            Creation Date
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.Author">
+            <summary>
+            Author
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.TargetProduct">
+            <summary>
+            Target Product
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.Copyright">
+            <summary>
+            Copyright
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.Comments">
+            <summary>
+            Comments
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.Tools">
+            <summary>
+            Tools
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.InfoChunk.ROMVersion">
+            <summary>
+            ROM Version
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.Instrument">
+            <summary>
+            SoundFont instrument
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.Instrument.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Instrument.Name">
+            <summary>
+            instrument name
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Instrument.Zones">
+            <summary>
+            Zones
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.InstrumentBuilder">
+            <summary>
+            Instrument Builder
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.TransformEnum">
+            <summary>
+            Transform Types
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.TransformEnum.Linear">
+            <summary>
+            Linear
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.Modulator">
+            <summary>
+            Modulator
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.Modulator.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Modulator.SourceModulationData">
+            <summary>
+            Source Modulation data type
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Modulator.DestinationGenerator">
+            <summary>
+            Destination generator type
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Modulator.Amount">
+            <summary>
+            Amount
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Modulator.SourceModulationAmount">
+            <summary>
+            Source Modulation Amount Type
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Modulator.SourceTransform">
+            <summary>
+            Source Transform Type
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.ControllerSourceEnum">
+            <summary>
+            Controller Sources
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.ControllerSourceEnum.NoController">
+            <summary>
+            No Controller
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.ControllerSourceEnum.NoteOnVelocity">
+            <summary>
+            Note On Velocity
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.ControllerSourceEnum.NoteOnKeyNumber">
+            <summary>
+            Note On Key Number
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.ControllerSourceEnum.PolyPressure">
+            <summary>
+            Poly Pressure
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.ControllerSourceEnum.ChannelPressure">
+            <summary>
+            Channel Pressure
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.ControllerSourceEnum.PitchWheel">
+            <summary>
+            Pitch Wheel
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.ControllerSourceEnum.PitchWheelSensitivity">
+            <summary>
+            Pitch Wheel Sensitivity
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.SourceTypeEnum">
+            <summary>
+            Source Types
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SourceTypeEnum.Linear">
+            <summary>
+            Linear
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SourceTypeEnum.Concave">
+            <summary>
+            Concave
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SourceTypeEnum.Convex">
+            <summary>
+            Convex
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SourceTypeEnum.Switch">
+            <summary>
+            Switch
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.ModulatorType">
+            <summary>
+            Modulator Type
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.ModulatorType.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:NAudio.SoundFont.Preset">
+            <summary>
+            A SoundFont Preset
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.Preset.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Preset.Name">
+            <summary>
+            Preset name
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Preset.PatchNumber">
+            <summary>
+            Patch Number
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Preset.Bank">
+            <summary>
+            Bank number
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Preset.Zones">
+            <summary>
+            Zones
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.PresetsChunk">
+            <summary>
+            Class to read the SoundFont file presets chunk
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.PresetsChunk.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.PresetsChunk.Presets">
+            <summary>
+            The Presets contained in this chunk
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.PresetsChunk.Instruments">
+            <summary>
+            The instruments contained in this chunk
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.PresetsChunk.SampleHeaders">
+            <summary>
+            The sample headers contained in this chunk
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.RiffChunk.ReadChunkID">
+            <summary>
+            just reads a chunk ID at the current position
+            </summary>
+            <returns>chunk ID</returns>
+        </member>
+        <member name="M:NAudio.SoundFont.RiffChunk.ReadChunk">
+            <summary>
+            reads a chunk at the current position
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.RiffChunk.GetNextSubChunk">
+            <summary>
+            creates a new riffchunk from current position checking that we're not
+            at the end of this chunk first
+            </summary>
+            <returns>the new chunk</returns>
+        </member>
+        <member name="M:NAudio.SoundFont.RiffChunk.GetDataAsString">
+            <summary>
+            useful for chunks that just contain a string
+            </summary>
+            <returns>chunk as string</returns>
+        </member>
+        <member name="T:NAudio.SoundFont.SampleHeader">
+            <summary>
+            A SoundFont Sample Header
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.SampleName">
+            <summary>
+            The sample name
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.Start">
+            <summary>
+            Start offset
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.End">
+            <summary>
+            End offset
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.StartLoop">
+            <summary>
+            Start loop point
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.EndLoop">
+            <summary>
+            End loop point
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.SampleRate">
+            <summary>
+            Sample Rate
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.OriginalPitch">
+            <summary>
+            Original pitch
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.PitchCorrection">
+            <summary>
+            Pitch correction
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.SampleLink">
+            <summary>
+            Sample Link
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleHeader.SFSampleLink">
+            <summary>
+            SoundFont Sample Link Type
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.SampleHeader.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.SampleMode">
+            <summary>
+            SoundFont sample modes
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleMode.NoLoop">
+            <summary>
+            No loop
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleMode.LoopContinuously">
+            <summary>
+            Loop Continuously
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleMode.ReservedNoLoop">
+            <summary>
+            Reserved no loop
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SampleMode.LoopAndContinue">
+            <summary>
+            Loop and continue
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.SFSampleLink">
+            <summary>
+            Sample Link Type
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SFSampleLink.MonoSample">
+            <summary>
+            Mono Sample
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SFSampleLink.RightSample">
+            <summary>
+            Right Sample
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SFSampleLink.LeftSample">
+            <summary>
+            Left Sample
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SFSampleLink.LinkedSample">
+            <summary>
+            Linked Sample
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SFSampleLink.RomMonoSample">
+            <summary>
+            ROM Mono Sample
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SFSampleLink.RomRightSample">
+            <summary>
+            ROM Right Sample
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SFSampleLink.RomLeftSample">
+            <summary>
+            ROM Left Sample
+            </summary>
+        </member>
+        <member name="F:NAudio.SoundFont.SFSampleLink.RomLinkedSample">
+            <summary>
+            ROM Linked Sample
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.SFVersion">
+            <summary>
+            SoundFont Version Structure
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.SFVersion.Major">
+            <summary>
+            Major Version
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.SFVersion.Minor">
+            <summary>
+            Minor Version
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.SFVersionBuilder">
+            <summary>
+            Builds a SoundFont version
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.SFVersionBuilder.Read(System.IO.BinaryReader)">
+            <summary>
+            Reads a SoundFont Version structure
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.SFVersionBuilder.Write(System.IO.BinaryWriter,NAudio.SoundFont.SFVersion)">
+            <summary>
+            Writes a SoundFont Version structure
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.SFVersionBuilder.Length">
+            <summary>
+            Gets the length of this structure
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.SoundFont">
+            <summary>
+            Represents a SoundFont
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.SoundFont.#ctor(System.IO.Stream)">
+            <summary>
+            Loads a SoundFont from a stream
+            </summary>
+            <param name="sfFile">stream</param>
+        </member>
+        <member name="M:NAudio.SoundFont.SoundFont.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.SoundFont.FileInfo">
+            <summary>
+            The File Info Chunk
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.SoundFont.Presets">
+            <summary>
+            The Presets
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.SoundFont.Instruments">
+            <summary>
+            The Instruments
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.SoundFont.SampleHeaders">
+            <summary>
+            The Sample Headers
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.SoundFont.SampleData">
+            <summary>
+            The Sample Data
+            </summary>
+        </member>
+        <member name="T:NAudio.SoundFont.Zone">
+            <summary>
+            A SoundFont zone
+            </summary>
+        </member>
+        <member name="M:NAudio.SoundFont.Zone.ToString">
+            <summary>
+            <see cref="M:System.Object.ToString"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Zone.Modulators">
+            <summary>
+            Modulators for this Zone
+            </summary>
+        </member>
+        <member name="P:NAudio.SoundFont.Zone.Generators">
+            <summary>
+            Generators for this Zone
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.AudioSubtypes">
+            <summary>
+            Audio Subtype GUIDs
+            http://msdn.microsoft.com/en-us/library/windows/desktop/aa372553%28v=vs.85%29.aspx
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_AAC">
+            <summary>
+            Advanced Audio Coding (AAC).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_ADTS">
+            <summary>
+            Not used
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_Dolby_AC3_SPDIF">
+            <summary>
+            Dolby AC-3 audio over Sony/Philips Digital Interface (S/PDIF).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_DRM">
+            <summary>
+            Encrypted audio data used with secure audio path.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_DTS">
+            <summary>
+            Digital Theater Systems (DTS) audio.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_Float">
+            <summary>
+            Uncompressed IEEE floating-point audio.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_MP3">
+            <summary>
+            MPEG Audio Layer-3 (MP3).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_MPEG">
+            <summary>
+            MPEG-1 audio payload.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_MSP1">
+            <summary>
+            Windows Media Audio 9 Voice codec.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_PCM">
+            <summary>
+            Uncompressed PCM audio.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_WMASPDIF">
+            <summary>
+            Windows Media Audio 9 Professional codec over S/PDIF.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_WMAudio_Lossless">
+            <summary>
+            Windows Media Audio 9 Lossless codec or Windows Media Audio 9.1 codec.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_WMAudioV8">
+            <summary>
+            Windows Media Audio 8 codec, Windows Media Audio 9 codec, or Windows Media Audio 9.1 codec.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_WMAudioV9">
+            <summary>
+            Windows Media Audio 9 Professional codec or Windows Media Audio 9.1 Professional codec.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_Dolby_AC3">
+            <summary>
+            Dolby Digital (AC-3).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MEDIASUBTYPE_RAW_AAC1">
+            <summary>
+            MPEG-4 and AAC Audio Types
+            http://msdn.microsoft.com/en-us/library/windows/desktop/dd317599(v=vs.85).aspx
+            Reference : wmcodecdsp.h
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MEDIASUBTYPE_DVM">
+            <summary>
+            Dolby Audio Types
+            http://msdn.microsoft.com/en-us/library/windows/desktop/dd317599(v=vs.85).aspx
+            Reference : wmcodecdsp.h
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MEDIASUBTYPE_DOLBY_DDPLUS">
+            <summary>
+            Dolby Audio Types
+            http://msdn.microsoft.com/en-us/library/windows/desktop/dd317599(v=vs.85).aspx
+            Reference : wmcodecdsp.h
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.KSDATAFORMAT_SUBTYPE_MULAW">
+            <summary>
+            ÎŒ-law coding
+            http://msdn.microsoft.com/en-us/library/windows/desktop/dd390971(v=vs.85).aspx
+            Reference : Ksmedia.h
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.KSDATAFORMAT_SUBTYPE_ADPCM">
+            <summary>
+            Adaptive delta pulse code modulation (ADPCM)
+            http://msdn.microsoft.com/en-us/library/windows/desktop/dd390971(v=vs.85).aspx
+            Reference : Ksmedia.h
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL_PLUS">
+            <summary>
+            Dolby Digital Plus formatted for HDMI output.
+            http://msdn.microsoft.com/en-us/library/windows/hardware/ff538392(v=vs.85).aspx
+            Reference : internet
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.MEDIASUBTYPE_MSAUDIO1">
+            <summary>
+            MSAudio1 - unknown meaning
+            Reference : wmcodecdsp.h
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.ImaAdpcm">
+            <summary>
+            IMA ADPCM ACM Wrapper
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.AudioSubtypes.WMMEDIASUBTYPE_WMSP2">
+            <summary>
+            WMSP2 - unknown meaning
+            Reference: wmsdkidl.h
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFActivate">
+            <summary>
+            IMFActivate, defined in mfobjects.h
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFAttributes">
+            <summary>
+            Provides a generic way to store key/value pairs on an object.
+            http://msdn.microsoft.com/en-gb/library/windows/desktop/ms704598%28v=vs.85%29.aspx
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetItem(System.Guid,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetItemType(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the data type of the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.CompareItem(System.Guid,System.IntPtr,System.Boolean@)">
+            <summary>
+            Queries whether a stored attribute value equals a specified PROPVARIANT.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.Compare(NAudio.MediaFoundation.IMFAttributes,System.Int32,System.Boolean@)">
+            <summary>
+            Compares the attributes on this object with the attributes on another object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetUINT32(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves a UINT32 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetUINT64(System.Guid,System.Int64@)">
+            <summary>
+            Retrieves a UINT64 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetDouble(System.Guid,System.Double@)">
+            <summary>
+            Retrieves a double value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetGUID(System.Guid,System.Guid@)">
+            <summary>
+            Retrieves a GUID value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetStringLength(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a string value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetString(System.Guid,System.Text.StringBuilder,System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetAllocatedString(System.Guid,System.String@,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key. This method allocates the memory for the string.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetBlobSize(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetBlob(System.Guid,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetAllocatedBlob(System.Guid,System.IntPtr@,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key. This method allocates the memory for the array.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetUnknown(System.Guid,System.Guid,System.Object@)">
+            <summary>
+            Retrieves an interface pointer associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.SetItem(System.Guid,System.IntPtr)">
+            <summary>
+            Associates an attribute value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.DeleteItem(System.Guid)">
+            <summary>
+            Removes a key/value pair from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.DeleteAllItems">
+            <summary>
+            Removes all key/value pairs from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.SetUINT32(System.Guid,System.Int32)">
+            <summary>
+            Associates a UINT32 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.SetUINT64(System.Guid,System.Int64)">
+            <summary>
+            Associates a UINT64 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.SetDouble(System.Guid,System.Double)">
+            <summary>
+            Associates a double value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.SetGUID(System.Guid,System.Guid)">
+            <summary>
+            Associates a GUID value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.SetString(System.Guid,System.String)">
+            <summary>
+            Associates a wide-character string with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.SetBlob(System.Guid,System.Byte[],System.Int32)">
+            <summary>
+            Associates a byte array with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.SetUnknown(System.Guid,System.Object)">
+            <summary>
+            Associates an IUnknown pointer with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.LockStore">
+            <summary>
+            Locks the attribute store so that no other thread can access it.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.UnlockStore">
+            <summary>
+            Unlocks the attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetCount(System.Int32@)">
+            <summary>
+            Retrieves the number of attributes that are set on this object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.GetItemByIndex(System.Int32,System.Guid@,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves an attribute at the specified index.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFAttributes.CopyAllItems(NAudio.MediaFoundation.IMFAttributes)">
+            <summary>
+            Copies all of the attributes from this object into another attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetItem(System.Guid,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetItemType(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the data type of the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.CompareItem(System.Guid,System.IntPtr,System.Boolean@)">
+            <summary>
+            Queries whether a stored attribute value equals a specified PROPVARIANT.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.Compare(NAudio.MediaFoundation.IMFAttributes,System.Int32,System.Boolean@)">
+            <summary>
+            Compares the attributes on this object with the attributes on another object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetUINT32(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves a UINT32 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetUINT64(System.Guid,System.Int64@)">
+            <summary>
+            Retrieves a UINT64 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetDouble(System.Guid,System.Double@)">
+            <summary>
+            Retrieves a double value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetGUID(System.Guid,System.Guid@)">
+            <summary>
+            Retrieves a GUID value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetStringLength(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a string value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetString(System.Guid,System.Text.StringBuilder,System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetAllocatedString(System.Guid,System.String@,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key. This method allocates the memory for the string.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetBlobSize(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetBlob(System.Guid,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetAllocatedBlob(System.Guid,System.IntPtr@,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key. This method allocates the memory for the array.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetUnknown(System.Guid,System.Guid,System.Object@)">
+            <summary>
+            Retrieves an interface pointer associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.SetItem(System.Guid,System.IntPtr)">
+            <summary>
+            Associates an attribute value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.DeleteItem(System.Guid)">
+            <summary>
+            Removes a key/value pair from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.DeleteAllItems">
+            <summary>
+            Removes all key/value pairs from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.SetUINT32(System.Guid,System.Int32)">
+            <summary>
+            Associates a UINT32 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.SetUINT64(System.Guid,System.Int64)">
+            <summary>
+            Associates a UINT64 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.SetDouble(System.Guid,System.Double)">
+            <summary>
+            Associates a double value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.SetGUID(System.Guid,System.Guid)">
+            <summary>
+            Associates a GUID value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.SetString(System.Guid,System.String)">
+            <summary>
+            Associates a wide-character string with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.SetBlob(System.Guid,System.Byte[],System.Int32)">
+            <summary>
+            Associates a byte array with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.SetUnknown(System.Guid,System.Object)">
+            <summary>
+            Associates an IUnknown pointer with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.LockStore">
+            <summary>
+            Locks the attribute store so that no other thread can access it.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.UnlockStore">
+            <summary>
+            Unlocks the attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetCount(System.Int32@)">
+            <summary>
+            Retrieves the number of attributes that are set on this object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.GetItemByIndex(System.Int32,System.Guid@,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves an attribute at the specified index.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.CopyAllItems(NAudio.MediaFoundation.IMFAttributes)">
+            <summary>
+            Copies all of the attributes from this object into another attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.ActivateObject(System.Guid,System.Object@)">
+            <summary>
+            Creates the object associated with this activation object. 
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.ShutdownObject">
+            <summary>
+            Shuts down the created object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFActivate.DetachObject">
+            <summary>
+            Detaches the created object from the activation object.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFByteStream">
+            <summary>
+            IMFByteStream 
+            http://msdn.microsoft.com/en-gb/library/windows/desktop/ms698720%28v=vs.85%29.aspx
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.GetCapabilities(System.Int32@)">
+            <summary>
+            Retrieves the characteristics of the byte stream. 
+            virtual HRESULT STDMETHODCALLTYPE GetCapabilities(/*[out]*/ __RPC__out DWORD *pdwCapabilities) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.GetLength(System.Int64@)">
+            <summary>
+            Retrieves the length of the stream. 
+            virtual HRESULT STDMETHODCALLTYPE GetLength(/*[out]*/ __RPC__out QWORD *pqwLength) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.SetLength(System.Int64)">
+            <summary>
+            Sets the length of the stream. 
+            virtual HRESULT STDMETHODCALLTYPE SetLength(/*[in]*/ QWORD qwLength) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.GetCurrentPosition(System.Int64@)">
+            <summary>
+            Retrieves the current read or write position in the stream. 
+            virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition(/*[out]*/ __RPC__out QWORD *pqwPosition) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.SetCurrentPosition(System.Int64)">
+            <summary>
+            Sets the current read or write position. 
+            virtual HRESULT STDMETHODCALLTYPE SetCurrentPosition(/*[in]*/ QWORD qwPosition) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.IsEndOfStream(System.Boolean@)">
+            <summary>
+            Queries whether the current position has reached the end of the stream. 
+            virtual HRESULT STDMETHODCALLTYPE IsEndOfStream(/*[out]*/ __RPC__out BOOL *pfEndOfStream) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.Read(System.IntPtr,System.Int32,System.Int32@)">
+            <summary>
+            Reads data from the stream. 
+            virtual HRESULT STDMETHODCALLTYPE Read(/*[size_is][out]*/ __RPC__out_ecount_full(cb) BYTE *pb, /*[in]*/ ULONG cb, /*[out]*/ __RPC__out ULONG *pcbRead) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.BeginRead(System.IntPtr,System.Int32,System.IntPtr,System.IntPtr)">
+            <summary>
+            Begins an asynchronous read operation from the stream. 
+            virtual /*[local]*/ HRESULT STDMETHODCALLTYPE BeginRead(/*[out]*/ _Out_writes_bytes_(cb)  BYTE *pb, /*[in]*/ ULONG cb, /*[in]*/ IMFAsyncCallback *pCallback, /*[in]*/ IUnknown *punkState) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.EndRead(System.IntPtr,System.Int32@)">
+            <summary>
+            Completes an asynchronous read operation. 
+            virtual /*[local]*/ HRESULT STDMETHODCALLTYPE EndRead(/*[in]*/ IMFAsyncResult *pResult, /*[out]*/ _Out_  ULONG *pcbRead) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.Write(System.IntPtr,System.Int32,System.Int32@)">
+            <summary>
+            Writes data to the stream. 
+            virtual HRESULT STDMETHODCALLTYPE Write(/*[size_is][in]*/ __RPC__in_ecount_full(cb) const BYTE *pb, /*[in]*/ ULONG cb, /*[out]*/ __RPC__out ULONG *pcbWritten) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.BeginWrite(System.IntPtr,System.Int32,System.IntPtr,System.IntPtr)">
+            <summary>
+            Begins an asynchronous write operation to the stream. 
+            virtual /*[local]*/ HRESULT STDMETHODCALLTYPE BeginWrite(/*[in]*/ _In_reads_bytes_(cb)  const BYTE *pb, /*[in]*/ ULONG cb, /*[in]*/ IMFAsyncCallback *pCallback, /*[in]*/ IUnknown *punkState) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.EndWrite(System.IntPtr,System.Int32@)">
+            <summary>
+            Completes an asynchronous write operation. 
+            virtual /*[local]*/ HRESULT STDMETHODCALLTYPE EndWrite(/*[in]*/ IMFAsyncResult *pResult, /*[out]*/ _Out_  ULONG *pcbWritten) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.Seek(System.Int32,System.Int64,System.Int32,System.Int64@)">
+            <summary>
+            Moves the current position in the stream by a specified offset. 
+            virtual HRESULT STDMETHODCALLTYPE Seek(/*[in]*/ MFBYTESTREAM_SEEK_ORIGIN SeekOrigin, /*[in]*/ LONGLONG llSeekOffset, /*[in]*/ DWORD dwSeekFlags, /*[out]*/ __RPC__out QWORD *pqwCurrentPosition) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.Flush">
+            <summary>
+            Clears any internal buffers used by the stream. 
+            virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0;
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFByteStream.Close">
+            <summary>
+            Closes the stream and releases any resources associated with the stream. 
+            virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFCollection">
+            <summary>
+            Represents a generic collection of IUnknown pointers. 
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFCollection.GetElementCount(System.Int32@)">
+            <summary>
+            Retrieves the number of objects in the collection.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFCollection.GetElement(System.Int32,System.Object@)">
+            <summary>
+            Retrieves an object in the collection.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFCollection.AddElement(System.Object)">
+            <summary>
+            Adds an object to the collection.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFCollection.RemoveElement(System.Int32,System.Object@)">
+            <summary>
+            Removes an object from the collection.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFCollection.InsertElementAt(System.Int32,System.Object)">
+            <summary>
+            Removes an object from the collection.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFCollection.RemoveAllElements">
+            <summary>
+            Removes all items from the collection.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFMediaBuffer">
+            <summary>
+            IMFMediaBuffer
+            http://msdn.microsoft.com/en-gb/library/windows/desktop/ms696261%28v=vs.85%29.aspx
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaBuffer.Lock(System.IntPtr@,System.Int32@,System.Int32@)">
+            <summary>
+            Gives the caller access to the memory in the buffer.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaBuffer.Unlock">
+            <summary>
+            Unlocks a buffer that was previously locked.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaBuffer.GetCurrentLength(System.Int32@)">
+            <summary>
+            Retrieves the length of the valid data in the buffer.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaBuffer.SetCurrentLength(System.Int32)">
+            <summary>
+            Sets the length of the valid data in the buffer.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaBuffer.GetMaxLength(System.Int32@)">
+            <summary>
+            Retrieves the allocated size of the buffer.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFMediaEvent">
+            <summary>
+            IMFMediaEvent - Represents an event generated by a Media Foundation object. Use this interface to get information about the event.
+            http://msdn.microsoft.com/en-us/library/windows/desktop/ms702249%28v=vs.85%29.aspx
+            Mfobjects.h
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetItem(System.Guid,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetItemType(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the data type of the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.CompareItem(System.Guid,System.IntPtr,System.Boolean@)">
+            <summary>
+            Queries whether a stored attribute value equals a specified PROPVARIANT.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.Compare(NAudio.MediaFoundation.IMFAttributes,System.Int32,System.Boolean@)">
+            <summary>
+            Compares the attributes on this object with the attributes on another object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetUINT32(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves a UINT32 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetUINT64(System.Guid,System.Int64@)">
+            <summary>
+            Retrieves a UINT64 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetDouble(System.Guid,System.Double@)">
+            <summary>
+            Retrieves a double value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetGUID(System.Guid,System.Guid@)">
+            <summary>
+            Retrieves a GUID value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetStringLength(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a string value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetString(System.Guid,System.Text.StringBuilder,System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetAllocatedString(System.Guid,System.String@,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key. This method allocates the memory for the string.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetBlobSize(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetBlob(System.Guid,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetAllocatedBlob(System.Guid,System.IntPtr@,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key. This method allocates the memory for the array.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetUnknown(System.Guid,System.Guid,System.Object@)">
+            <summary>
+            Retrieves an interface pointer associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.SetItem(System.Guid,System.IntPtr)">
+            <summary>
+            Associates an attribute value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.DeleteItem(System.Guid)">
+            <summary>
+            Removes a key/value pair from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.DeleteAllItems">
+            <summary>
+            Removes all key/value pairs from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.SetUINT32(System.Guid,System.Int32)">
+            <summary>
+            Associates a UINT32 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.SetUINT64(System.Guid,System.Int64)">
+            <summary>
+            Associates a UINT64 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.SetDouble(System.Guid,System.Double)">
+            <summary>
+            Associates a double value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.SetGUID(System.Guid,System.Guid)">
+            <summary>
+            Associates a GUID value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.SetString(System.Guid,System.String)">
+            <summary>
+            Associates a wide-character string with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.SetBlob(System.Guid,System.Byte[],System.Int32)">
+            <summary>
+            Associates a byte array with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.SetUnknown(System.Guid,System.Object)">
+            <summary>
+            Associates an IUnknown pointer with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.LockStore">
+            <summary>
+            Locks the attribute store so that no other thread can access it.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.UnlockStore">
+            <summary>
+            Unlocks the attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetCount(System.Int32@)">
+            <summary>
+            Retrieves the number of attributes that are set on this object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetItemByIndex(System.Int32,System.Guid@,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves an attribute at the specified index.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.CopyAllItems(NAudio.MediaFoundation.IMFAttributes)">
+            <summary>
+            Copies all of the attributes from this object into another attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetType(NAudio.MediaFoundation.MediaEventType@)">
+            <summary>
+            Retrieves the event type. 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetType( 
+                /* [out] */ __RPC__out MediaEventType *pmet) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetExtendedType(System.Guid@)">
+            <summary>
+            Retrieves the extended type of the event.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetExtendedType( 
+                /* [out] */ __RPC__out GUID *pguidExtendedType) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetStatus(System.Int32@)">
+            <summary>
+            Retrieves an HRESULT that specifies the event status.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetStatus( 
+                /* [out] */ __RPC__out HRESULT *phrStatus) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaEvent.GetValue(NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves the value associated with the event, if any. 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetValue( 
+                /* [out] */ __RPC__out PROPVARIANT *pvValue) = 0;
+            </remarks>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFMediaType">
+            <summary>
+            Represents a description of a media format. 
+            http://msdn.microsoft.com/en-us/library/windows/desktop/ms704850%28v=vs.85%29.aspx
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetItem(System.Guid,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetItemType(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the data type of the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.CompareItem(System.Guid,System.IntPtr,System.Boolean@)">
+            <summary>
+            Queries whether a stored attribute value equals a specified PROPVARIANT.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.Compare(NAudio.MediaFoundation.IMFAttributes,System.Int32,System.Boolean@)">
+            <summary>
+            Compares the attributes on this object with the attributes on another object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetUINT32(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves a UINT32 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetUINT64(System.Guid,System.Int64@)">
+            <summary>
+            Retrieves a UINT64 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetDouble(System.Guid,System.Double@)">
+            <summary>
+            Retrieves a double value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetGUID(System.Guid,System.Guid@)">
+            <summary>
+            Retrieves a GUID value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetStringLength(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a string value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetString(System.Guid,System.Text.StringBuilder,System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetAllocatedString(System.Guid,System.String@,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key. This method allocates the memory for the string.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetBlobSize(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetBlob(System.Guid,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetAllocatedBlob(System.Guid,System.IntPtr@,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key. This method allocates the memory for the array.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetUnknown(System.Guid,System.Guid,System.Object@)">
+            <summary>
+            Retrieves an interface pointer associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.SetItem(System.Guid,System.IntPtr)">
+            <summary>
+            Associates an attribute value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.DeleteItem(System.Guid)">
+            <summary>
+            Removes a key/value pair from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.DeleteAllItems">
+            <summary>
+            Removes all key/value pairs from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.SetUINT32(System.Guid,System.Int32)">
+            <summary>
+            Associates a UINT32 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.SetUINT64(System.Guid,System.Int64)">
+            <summary>
+            Associates a UINT64 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.SetDouble(System.Guid,System.Double)">
+            <summary>
+            Associates a double value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.SetGUID(System.Guid,System.Guid)">
+            <summary>
+            Associates a GUID value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.SetString(System.Guid,System.String)">
+            <summary>
+            Associates a wide-character string with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.SetBlob(System.Guid,System.Byte[],System.Int32)">
+            <summary>
+            Associates a byte array with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.SetUnknown(System.Guid,System.Object)">
+            <summary>
+            Associates an IUnknown pointer with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.LockStore">
+            <summary>
+            Locks the attribute store so that no other thread can access it.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.UnlockStore">
+            <summary>
+            Unlocks the attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetCount(System.Int32@)">
+            <summary>
+            Retrieves the number of attributes that are set on this object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetItemByIndex(System.Int32,System.Guid@,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves an attribute at the specified index.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.CopyAllItems(NAudio.MediaFoundation.IMFAttributes)">
+            <summary>
+            Copies all of the attributes from this object into another attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetMajorType(System.Guid@)">
+            <summary>
+            Retrieves the major type of the format.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.IsCompressedFormat(System.Boolean@)">
+            <summary>
+            Queries whether the media type is a compressed format.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.IsEqual(NAudio.MediaFoundation.IMFMediaType,System.Int32@)">
+            <summary>
+            Compares two media types and determines whether they are identical.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.GetRepresentation(System.Guid,System.IntPtr@)">
+            <summary>
+            Retrieves an alternative representation of the media type.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFMediaType.FreeRepresentation(System.Guid,System.IntPtr)">
+            <summary>
+            Frees memory that was allocated by the GetRepresentation method.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFReadWriteClassFactory">
+            <summary>
+            Creates an instance of either the sink writer or the source reader.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFReadWriteClassFactory.CreateInstanceFromURL(System.Guid,System.String,NAudio.MediaFoundation.IMFAttributes,System.Guid,System.Object@)">
+            <summary>
+            Creates an instance of the sink writer or source reader, given a URL.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFReadWriteClassFactory.CreateInstanceFromObject(System.Guid,System.Object,NAudio.MediaFoundation.IMFAttributes,System.Guid,System.Object@)">
+            <summary>
+            Creates an instance of the sink writer or source reader, given an IUnknown pointer. 
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MFReadWriteClassFactory">
+            <summary>
+            CLSID_MFReadWriteClassFactory
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFSample">
+            <summary>
+            http://msdn.microsoft.com/en-gb/library/windows/desktop/ms702192%28v=vs.85%29.aspx
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetItem(System.Guid,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetItemType(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the data type of the value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.CompareItem(System.Guid,System.IntPtr,System.Boolean@)">
+            <summary>
+            Queries whether a stored attribute value equals a specified PROPVARIANT.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.Compare(NAudio.MediaFoundation.IMFAttributes,System.Int32,System.Boolean@)">
+            <summary>
+            Compares the attributes on this object with the attributes on another object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetUINT32(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves a UINT32 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetUINT64(System.Guid,System.Int64@)">
+            <summary>
+            Retrieves a UINT64 value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetDouble(System.Guid,System.Double@)">
+            <summary>
+            Retrieves a double value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetGUID(System.Guid,System.Guid@)">
+            <summary>
+            Retrieves a GUID value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetStringLength(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a string value associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetString(System.Guid,System.Text.StringBuilder,System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetAllocatedString(System.Guid,System.String@,System.Int32@)">
+            <summary>
+            Retrieves a wide-character string associated with a key. This method allocates the memory for the string.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetBlobSize(System.Guid,System.Int32@)">
+            <summary>
+            Retrieves the length of a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetBlob(System.Guid,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetAllocatedBlob(System.Guid,System.IntPtr@,System.Int32@)">
+            <summary>
+            Retrieves a byte array associated with a key. This method allocates the memory for the array.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetUnknown(System.Guid,System.Guid,System.Object@)">
+            <summary>
+            Retrieves an interface pointer associated with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetItem(System.Guid,System.IntPtr)">
+            <summary>
+            Associates an attribute value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.DeleteItem(System.Guid)">
+            <summary>
+            Removes a key/value pair from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.DeleteAllItems">
+            <summary>
+            Removes all key/value pairs from the object's attribute list.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetUINT32(System.Guid,System.Int32)">
+            <summary>
+            Associates a UINT32 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetUINT64(System.Guid,System.Int64)">
+            <summary>
+            Associates a UINT64 value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetDouble(System.Guid,System.Double)">
+            <summary>
+            Associates a double value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetGUID(System.Guid,System.Guid)">
+            <summary>
+            Associates a GUID value with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetString(System.Guid,System.String)">
+            <summary>
+            Associates a wide-character string with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetBlob(System.Guid,System.Byte[],System.Int32)">
+            <summary>
+            Associates a byte array with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetUnknown(System.Guid,System.Object)">
+            <summary>
+            Associates an IUnknown pointer with a key.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.LockStore">
+            <summary>
+            Locks the attribute store so that no other thread can access it.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.UnlockStore">
+            <summary>
+            Unlocks the attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetCount(System.Int32@)">
+            <summary>
+            Retrieves the number of attributes that are set on this object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetItemByIndex(System.Int32,System.Guid@,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Retrieves an attribute at the specified index.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.CopyAllItems(NAudio.MediaFoundation.IMFAttributes)">
+            <summary>
+            Copies all of the attributes from this object into another attribute store.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetSampleFlags(System.Int32@)">
+            <summary>
+            Retrieves flags associated with the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetSampleFlags(System.Int32)">
+            <summary>
+            Sets flags associated with the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetSampleTime(System.Int64@)">
+            <summary>
+            Retrieves the presentation time of the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetSampleTime(System.Int64)">
+            <summary>
+            Sets the presentation time of the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetSampleDuration(System.Int64@)">
+            <summary>
+            Retrieves the duration of the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.SetSampleDuration(System.Int64)">
+            <summary>
+            Sets the duration of the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetBufferCount(System.Int32@)">
+            <summary>
+            Retrieves the number of buffers in the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetBufferByIndex(System.Int32,NAudio.MediaFoundation.IMFMediaBuffer@)">
+            <summary>
+            Retrieves a buffer from the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.ConvertToContiguousBuffer(NAudio.MediaFoundation.IMFMediaBuffer@)">
+            <summary>
+            Converts a sample with multiple buffers into a sample with a single buffer.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.AddBuffer(NAudio.MediaFoundation.IMFMediaBuffer)">
+            <summary>
+             Adds a buffer to the end of the list of buffers in the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.RemoveBufferByIndex(System.Int32)">
+            <summary>
+            Removes a buffer at a specified index from the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.RemoveAllBuffers">
+            <summary>
+            Removes all buffers from the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.GetTotalLength(System.Int32@)">
+            <summary>
+            Retrieves the total length of the valid data in all of the buffers in the sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSample.CopyToBuffer(NAudio.MediaFoundation.IMFMediaBuffer)">
+            <summary>
+            Copies the sample data to a buffer.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFSinkWriter">
+            <summary>
+            Implemented by the Microsoft Media Foundation sink writer object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.AddStream(NAudio.MediaFoundation.IMFMediaType,System.Int32@)">
+            <summary>
+            Adds a stream to the sink writer.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.SetInputMediaType(System.Int32,NAudio.MediaFoundation.IMFMediaType,NAudio.MediaFoundation.IMFAttributes)">
+            <summary>
+            Sets the input format for a stream on the sink writer.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.BeginWriting">
+            <summary>
+            Initializes the sink writer for writing.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.WriteSample(System.Int32,NAudio.MediaFoundation.IMFSample)">
+            <summary>
+            Delivers a sample to the sink writer.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.SendStreamTick(System.Int32,System.Int64)">
+            <summary>
+            Indicates a gap in an input stream.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.PlaceMarker(System.Int32,System.IntPtr)">
+            <summary>
+            Places a marker in the specified stream.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.NotifyEndOfSegment(System.Int32)">
+            <summary>
+            Notifies the media sink that a stream has reached the end of a segment.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.Flush(System.Int32)">
+            <summary>
+            Flushes one or more streams.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.DoFinalize">
+            <summary>
+            (Finalize) Completes all writing operations on the sink writer.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.GetServiceForStream(System.Int32,System.Guid@,System.Guid@,System.IntPtr@)">
+            <summary>
+            Queries the underlying media sink or encoder for an interface.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSinkWriter.GetStatistics(System.Int32,NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS)">
+            <summary>
+            Gets statistics about the performance of the sink writer.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFSourceReader">
+            <summary>
+            IMFSourceReader interface
+            http://msdn.microsoft.com/en-us/library/windows/desktop/dd374655%28v=vs.85%29.aspx
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.GetStreamSelection(System.Int32,System.Boolean@)">
+            <summary>
+            Queries whether a stream is selected.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.SetStreamSelection(System.Int32,System.Boolean)">
+            <summary>
+            Selects or deselects one or more streams.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.GetNativeMediaType(System.Int32,System.Int32,NAudio.MediaFoundation.IMFMediaType@)">
+            <summary>
+            Gets a format that is supported natively by the media source.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.GetCurrentMediaType(System.Int32,NAudio.MediaFoundation.IMFMediaType@)">
+            <summary>
+            Gets the current media type for a stream.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.SetCurrentMediaType(System.Int32,System.IntPtr,NAudio.MediaFoundation.IMFMediaType)">
+            <summary>
+            Sets the media type for a stream.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.SetCurrentPosition(System.Guid,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Seeks to a new position in the media source.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.ReadSample(System.Int32,System.Int32,System.Int32@,NAudio.MediaFoundation.MF_SOURCE_READER_FLAG@,System.UInt64@,NAudio.MediaFoundation.IMFSample@)">
+            <summary>
+            Reads the next sample from the media source.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.Flush(System.Int32)">
+            <summary>
+            Flushes one or more streams.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.GetServiceForStream(System.Int32,System.Guid,System.Guid,System.IntPtr@)">
+            <summary>
+            Queries the underlying media source or decoder for an interface.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFSourceReader.GetPresentationAttribute(System.Int32,System.Guid,NAudio.CoreAudioApi.Interfaces.PropVariant@)">
+            <summary>
+            Gets an attribute from the underlying media source.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MF_SOURCE_READER_FLAG">
+            <summary>
+            Contains flags that indicate the status of the IMFSourceReader::ReadSample method
+            http://msdn.microsoft.com/en-us/library/windows/desktop/dd375773(v=vs.85).aspx
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SOURCE_READER_FLAG.None">
+            <summary>
+            No Error
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SOURCE_READER_FLAG.MF_SOURCE_READERF_ERROR">
+            <summary>
+            An error occurred. If you receive this flag, do not make any further calls to IMFSourceReader methods.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SOURCE_READER_FLAG.MF_SOURCE_READERF_ENDOFSTREAM">
+            <summary>
+            The source reader reached the end of the stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SOURCE_READER_FLAG.MF_SOURCE_READERF_NEWSTREAM">
+            <summary>
+            One or more new streams were created
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SOURCE_READER_FLAG.MF_SOURCE_READERF_NATIVEMEDIATYPECHANGED">
+            <summary>
+            The native format has changed for one or more streams. The native format is the format delivered by the media source before any decoders are inserted.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SOURCE_READER_FLAG.MF_SOURCE_READERF_CURRENTMEDIATYPECHANGED">
+            <summary>
+            The current media has type changed for one or more streams. To get the current media type, call the IMFSourceReader::GetCurrentMediaType method.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SOURCE_READER_FLAG.MF_SOURCE_READERF_STREAMTICK">
+            <summary>
+            There is a gap in the stream. This flag corresponds to an MEStreamTick event from the media source.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SOURCE_READER_FLAG.MF_SOURCE_READERF_ALLEFFECTSREMOVED">
+            <summary>
+            All transforms inserted by the application have been removed for a particular stream.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.IMFTransform">
+            <summary>
+            IMFTransform, defined in mftransform.h
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetStreamLimits(System.Int32@,System.Int32@,System.Int32@,System.Int32@)">
+            <summary>
+            Retrieves the minimum and maximum number of input and output streams.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetStreamLimits( 
+                /* [out] */ __RPC__out DWORD *pdwInputMinimum,
+                /* [out] */ __RPC__out DWORD *pdwInputMaximum,
+                /* [out] */ __RPC__out DWORD *pdwOutputMinimum,
+                /* [out] */ __RPC__out DWORD *pdwOutputMaximum) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetStreamCount(System.Int32@,System.Int32@)">
+            <summary>
+            Retrieves the current number of input and output streams on this MFT.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetStreamCount( 
+                /* [out] */ __RPC__out DWORD *pcInputStreams,
+                /* [out] */ __RPC__out DWORD *pcOutputStreams) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetStreamIds(System.Int32,System.Int32[],System.Int32,System.Int32[])">
+            <summary>
+            Retrieves the stream identifiers for the input and output streams on this MFT.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetStreamIDs( 
+                DWORD dwInputIDArraySize,
+                /* [size_is][out] */ __RPC__out_ecount_full(dwInputIDArraySize) DWORD *pdwInputIDs,
+                DWORD dwOutputIDArraySize,
+                /* [size_is][out] */ __RPC__out_ecount_full(dwOutputIDArraySize) DWORD *pdwOutputIDs) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetInputStreamInfo(System.Int32,NAudio.MediaFoundation.MFT_INPUT_STREAM_INFO@)">
+            <summary>
+            Gets the buffer requirements and other information for an input stream on this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetInputStreamInfo( 
+                DWORD dwInputStreamID,
+                /* [out] */ __RPC__out MFT_INPUT_STREAM_INFO *pStreamInfo) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetOutputStreamInfo(System.Int32,NAudio.MediaFoundation.MFT_OUTPUT_STREAM_INFO@)">
+            <summary>
+            Gets the buffer requirements and other information for an output stream on this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetOutputStreamInfo( 
+                DWORD dwOutputStreamID,
+                /* [out] */ __RPC__out MFT_OUTPUT_STREAM_INFO *pStreamInfo) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetAttributes(NAudio.MediaFoundation.IMFAttributes@)">
+            <summary>
+            Gets the global attribute store for this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+             virtual HRESULT STDMETHODCALLTYPE GetAttributes( 
+                /* [out] */ __RPC__deref_out_opt IMFAttributes **pAttributes) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetInputStreamAttributes(System.Int32,NAudio.MediaFoundation.IMFAttributes@)">
+            <summary>
+            Retrieves the attribute store for an input stream on this MFT.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetInputStreamAttributes( 
+                DWORD dwInputStreamID,
+                /* [out] */ __RPC__deref_out_opt IMFAttributes **pAttributes) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetOutputStreamAttributes(System.Int32,NAudio.MediaFoundation.IMFAttributes@)">
+            <summary>
+            Retrieves the attribute store for an output stream on this MFT.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetOutputStreamAttributes( 
+                DWORD dwOutputStreamID,
+                /* [out] */ __RPC__deref_out_opt IMFAttributes **pAttributes) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.DeleteInputStream(System.Int32)">
+            <summary>
+            Removes an input stream from this MFT.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE DeleteInputStream( 
+                DWORD dwStreamID) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.AddInputStreams(System.Int32,System.Int32[])">
+            <summary>
+            Adds one or more new input streams to this MFT.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE AddInputStreams( 
+                DWORD cStreams,
+                /* [in] */ __RPC__in DWORD *adwStreamIDs) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetInputAvailableType(System.Int32,System.Int32,NAudio.MediaFoundation.IMFMediaType@)">
+            <summary>
+            Gets an available media type for an input stream on this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetInputAvailableType( 
+                DWORD dwInputStreamID,
+                DWORD dwTypeIndex,
+                /* [out] */ __RPC__deref_out_opt IMFMediaType **ppType) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetOutputAvailableType(System.Int32,System.Int32,NAudio.MediaFoundation.IMFMediaType@)">
+            <summary>
+            Retrieves an available media type for an output stream on this MFT.
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetOutputAvailableType( 
+                DWORD dwOutputStreamID,
+                DWORD dwTypeIndex,
+                /* [out] */ __RPC__deref_out_opt IMFMediaType **ppType) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.SetInputType(System.Int32,NAudio.MediaFoundation.IMFMediaType,NAudio.MediaFoundation._MFT_SET_TYPE_FLAGS)">
+            <summary>
+            Sets, tests, or clears the media type for an input stream on this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE SetInputType( 
+                DWORD dwInputStreamID,
+                /* [in] */ __RPC__in_opt IMFMediaType *pType,
+                DWORD dwFlags) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.SetOutputType(System.Int32,NAudio.MediaFoundation.IMFMediaType,NAudio.MediaFoundation._MFT_SET_TYPE_FLAGS)">
+            <summary>
+            Sets, tests, or clears the media type for an output stream on this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE SetOutputType( 
+                DWORD dwOutputStreamID,
+                /* [in] */ __RPC__in_opt IMFMediaType *pType,
+                DWORD dwFlags) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetInputCurrentType(System.Int32,NAudio.MediaFoundation.IMFMediaType@)">
+            <summary>
+            Gets the current media type for an input stream on this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetInputCurrentType( 
+                DWORD dwInputStreamID,
+                /* [out] */ __RPC__deref_out_opt IMFMediaType **ppType) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetOutputCurrentType(System.Int32,NAudio.MediaFoundation.IMFMediaType@)">
+            <summary>
+            Gets the current media type for an output stream on this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetOutputCurrentType( 
+                DWORD dwOutputStreamID,
+                /* [out] */ __RPC__deref_out_opt IMFMediaType **ppType) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetInputStatus(System.Int32,NAudio.MediaFoundation._MFT_INPUT_STATUS_FLAGS@)">
+            <summary>
+            Queries whether an input stream on this Media Foundation transform (MFT) can accept more data. 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetInputStatus( 
+                DWORD dwInputStreamID,
+                /* [out] */ __RPC__out DWORD *pdwFlags) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.GetOutputStatus(System.Int32,NAudio.MediaFoundation._MFT_OUTPUT_STATUS_FLAGS@)">
+            <summary>
+            Queries whether the Media Foundation transform (MFT) is ready to produce output data. 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE GetOutputStatus( 
+                /* [out] */ __RPC__out DWORD *pdwFlags) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.SetOutputBounds(System.Int64,System.Int64)">
+            <summary>
+            Sets the range of time stamps the client needs for output. 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE SetOutputBounds( 
+                LONGLONG hnsLowerBound,
+                LONGLONG hnsUpperBound) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.ProcessEvent(System.Int32,NAudio.MediaFoundation.IMFMediaEvent)">
+            <summary>
+            Sends an event to an input stream on this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE ProcessEvent( 
+                DWORD dwInputStreamID,
+                /* [in] */ __RPC__in_opt IMFMediaEvent *pEvent) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.ProcessMessage(NAudio.MediaFoundation.MFT_MESSAGE_TYPE,System.IntPtr)">
+            <summary>
+            Sends a message to the Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual HRESULT STDMETHODCALLTYPE ProcessMessage( 
+                MFT_MESSAGE_TYPE eMessage,
+                ULONG_PTR ulParam) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.ProcessInput(System.Int32,NAudio.MediaFoundation.IMFSample,System.Int32)">
+            <summary>
+            Delivers data to an input stream on this Media Foundation transform (MFT). 
+            </summary>
+            <remarks>
+            virtual /* [local] */ HRESULT STDMETHODCALLTYPE ProcessInput( 
+                DWORD dwInputStreamID,
+                IMFSample *pSample,
+                DWORD dwFlags) = 0;
+            </remarks>
+        </member>
+        <member name="M:NAudio.MediaFoundation.IMFTransform.ProcessOutput(NAudio.MediaFoundation._MFT_PROCESS_OUTPUT_FLAGS,System.Int32,NAudio.MediaFoundation.MFT_OUTPUT_DATA_BUFFER[],NAudio.MediaFoundation._MFT_PROCESS_OUTPUT_STATUS@)">
+            <summary>
+            Generates output from the current input data. 
+            </summary>
+            <remarks>
+            virtual /* [local] */ HRESULT STDMETHODCALLTYPE ProcessOutput( 
+                DWORD dwFlags,
+                DWORD cOutputBufferCount,
+                /* [size_is][out][in] */ MFT_OUTPUT_DATA_BUFFER *pOutputSamples,
+                /* [out] */ DWORD *pdwStatus) = 0;
+            </remarks>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MediaEventType">
+            <summary>
+            See mfobjects.h
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEUnknown">
+            <summary>
+            Unknown event type.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEError">
+            <summary>
+            Signals a serious error.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEExtendedType">
+            <summary>
+            Custom event type.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MENonFatalError">
+            <summary>
+            A non-fatal error occurred during streaming.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionUnknown">
+            <summary>
+            Session Unknown
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionTopologySet">
+            <summary>
+            Raised after the IMFMediaSession::SetTopology method completes asynchronously
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionTopologiesCleared">
+            <summary>
+            Raised by the Media Session when the IMFMediaSession::ClearTopologies method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionStarted">
+            <summary>
+            Raised when the IMFMediaSession::Start method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionPaused">
+            <summary>
+            Raised when the IMFMediaSession::Pause method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionStopped">
+            <summary>
+            Raised when the IMFMediaSession::Stop method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionClosed">
+            <summary>
+            Raised when the IMFMediaSession::Close method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionEnded">
+            <summary>
+            Raised by the Media Session when it has finished playing the last presentation in the playback queue.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionRateChanged">
+            <summary>
+            Raised by the Media Session when the playback rate changes.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionScrubSampleComplete">
+            <summary>
+            Raised by the Media Session when it completes a scrubbing request.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionCapabilitiesChanged">
+            <summary>
+            Raised by the Media Session when the session capabilities change.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionTopologyStatus">
+            <summary>
+            Raised by the Media Session when the status of a topology changes.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionNotifyPresentationTime">
+            <summary>
+            Raised by the Media Session when a new presentation starts.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MENewPresentation">
+            <summary>
+            Raised by a media source a new presentation is ready.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MELicenseAcquisitionStart">
+            <summary>
+            License acquisition is about to begin.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MELicenseAcquisitionCompleted">
+            <summary>
+            License acquisition is complete.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEIndividualizationStart">
+            <summary>
+            Individualization is about to begin.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEIndividualizationCompleted">
+            <summary>
+            Individualization is complete.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEEnablerProgress">
+            <summary>
+            Signals the progress of a content enabler object.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEEnablerCompleted">
+            <summary>
+            A content enabler object's action is complete.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEPolicyError">
+            <summary>
+            Raised by a trusted output if an error occurs while enforcing the output policy.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEPolicyReport">
+            <summary>
+            Contains status information about the enforcement of an output policy.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEBufferingStarted">
+            <summary>
+            A media source started to buffer data.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEBufferingStopped">
+            <summary>
+            A media source stopped buffering data.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEConnectStart">
+            <summary>
+            The network source started opening a URL.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEConnectEnd">
+            <summary>
+            The network source finished opening a URL.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEReconnectStart">
+            <summary>
+            Raised by a media source at the start of a reconnection attempt.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEReconnectEnd">
+            <summary>
+            Raised by a media source at the end of a reconnection attempt.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MERendererEvent">
+            <summary>
+            Raised by the enhanced video renderer (EVR) when it receives a user event from the presenter.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESessionStreamSinkFormatChanged">
+            <summary>
+            Raised by the Media Session when the format changes on a media sink.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESourceUnknown">
+            <summary>
+            Source Unknown
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESourceStarted">
+            <summary>
+            Raised when a media source starts without seeking.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamStarted">
+            <summary>
+            Raised by a media stream when the source starts without seeking.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESourceSeeked">
+            <summary>
+            Raised when a media source seeks to a new position.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSeeked">
+            <summary>
+            Raised by a media stream after a call to IMFMediaSource::Start causes a seek in the stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MENewStream">
+            <summary>
+            Raised by a media source when it starts a new stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEUpdatedStream">
+            <summary>
+            Raised by a media source when it restarts or seeks a stream that is already active.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESourceStopped">
+            <summary>
+            Raised by a media source when the IMFMediaSource::Stop method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamStopped">
+            <summary>
+            Raised by a media stream when the IMFMediaSource::Stop method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESourcePaused">
+            <summary>
+            Raised by a media source when the IMFMediaSource::Pause method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamPaused">
+            <summary>
+            Raised by a media stream when the IMFMediaSource::Pause method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEEndOfPresentation">
+            <summary>
+            Raised by a media source when a presentation ends.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEEndOfStream">
+            <summary>
+            Raised by a media stream when the stream ends.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEMediaSample">
+            <summary>
+            Raised when a media stream delivers a new sample.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamTick">
+            <summary>
+            Signals that a media stream does not have data available at a specified time.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamThinMode">
+            <summary>
+            Raised by a media stream when it starts or stops thinning the stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamFormatChanged">
+            <summary>
+            Raised by a media stream when the media type of the stream changes.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESourceRateChanged">
+            <summary>
+            Raised by a media source when the playback rate changes.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEEndOfPresentationSegment">
+            <summary>
+            Raised by the sequencer source when a segment is completed and is followed by another segment.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESourceCharacteristicsChanged">
+            <summary>
+            Raised by a media source when the source's characteristics change.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESourceRateChangeRequested">
+            <summary>
+            Raised by a media source to request a new playback rate.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESourceMetadataChanged">
+            <summary>
+            Raised by a media source when it updates its metadata.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESequencerSourceTopologyUpdated">
+            <summary>
+            Raised by the sequencer source when the IMFSequencerSource::UpdateTopology method completes asynchronously.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESinkUnknown">
+            <summary>
+            Sink Unknown
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkStarted">
+            <summary>
+            Raised by a stream sink when it completes the transition to the running state.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkStopped">
+            <summary>
+            Raised by a stream sink when it completes the transition to the stopped state.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkPaused">
+            <summary>
+            Raised by a stream sink when it completes the transition to the paused state.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkRateChanged">
+            <summary>
+            Raised by a stream sink when the rate has changed.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkRequestSample">
+            <summary>
+            Raised by a stream sink to request a new media sample from the pipeline.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkMarker">
+            <summary>
+            Raised by a stream sink after the IMFStreamSink::PlaceMarker method is called.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkPrerolled">
+            <summary>
+            Raised by a stream sink when the stream has received enough preroll data to begin rendering.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkScrubSampleComplete">
+            <summary>
+            Raised by a stream sink when it completes a scrubbing request.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkFormatChanged">
+            <summary>
+            Raised by a stream sink when the sink's media type is no longer valid.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEStreamSinkDeviceChanged">
+            <summary>
+            Raised by the stream sinks of the EVR if the video device changes.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEQualityNotify">
+            <summary>
+            Provides feedback about playback quality to the quality manager.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MESinkInvalidated">
+            <summary>
+            Raised when a media sink becomes invalid.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEAudioSessionNameChanged">
+            <summary>
+            The audio session display name changed.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEAudioSessionVolumeChanged">
+            <summary>
+            The volume or mute state of the audio session changed
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEAudioSessionDeviceRemoved">
+            <summary>
+            The audio device was removed.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEAudioSessionServerShutdown">
+            <summary>
+            The Windows audio server system was shut down.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEAudioSessionGroupingParamChanged">
+            <summary>
+            The grouping parameters changed for the audio session.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEAudioSessionIconChanged">
+            <summary>
+            The audio session icon changed.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEAudioSessionFormatChanged">
+            <summary>
+            The default audio format for the audio device changed.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEAudioSessionDisconnected">
+            <summary>
+            The audio session was disconnected from a Windows Terminal Services session
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEAudioSessionExclusiveModeOverride">
+            <summary>
+            The audio session was preempted by an exclusive-mode connection.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.METrustUnknown">
+            <summary>
+            Trust Unknown
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEPolicyChanged">
+            <summary>
+            The output policy for a stream changed.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEContentProtectionMessage">
+            <summary>
+            Content protection message
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEPolicySet">
+            <summary>
+            The IMFOutputTrustAuthority::SetPolicy method completed.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMLicenseBackupCompleted">
+            <summary>
+            DRM License Backup Completed
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMLicenseBackupProgress">
+            <summary>
+            DRM License Backup Progress
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMLicenseRestoreCompleted">
+            <summary>
+            DRM License Restore Completed
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMLicenseRestoreProgress">
+            <summary>
+            DRM License Restore Progress
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMLicenseAcquisitionCompleted">
+            <summary>
+            DRM License Acquisition Completed
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMIndividualizationCompleted">
+            <summary>
+            DRM Individualization Completed
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMIndividualizationProgress">
+            <summary>
+            DRM Individualization Progress
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMProximityCompleted">
+            <summary>
+            DRM Proximity Completed
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMLicenseStoreCleaned">
+            <summary>
+            DRM License Store Cleaned
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.MEWMDRMRevocationDownloadCompleted">
+            <summary>
+            DRM Revocation Download Completed
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.METransformUnknown">
+            <summary>
+            Transform Unknown
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.METransformNeedInput">
+            <summary>
+            Sent by an asynchronous MFT to request a new input sample.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.METransformHaveOutput">
+            <summary>
+            Sent by an asynchronous MFT when new output data is available from the MFT.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.METransformDrainComplete">
+            <summary>
+            Sent by an asynchronous Media Foundation transform (MFT) when a drain operation is complete.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaEventType.METransformMarker">
+            <summary>
+            Sent by an asynchronous MFT in response to an MFT_MESSAGE_COMMAND_MARKER message.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MediaFoundationAttributes">
+            <summary>
+            Media Foundation attribute guids
+            http://msdn.microsoft.com/en-us/library/windows/desktop/ms696989%28v=vs.85%29.aspx
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_TRANSFORM_ASYNC">
+            <summary>
+            Specifies whether an MFT performs asynchronous processing.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_TRANSFORM_ASYNC_UNLOCK">
+            <summary>
+            Enables the use of an asynchronous MFT.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_TRANSFORM_FLAGS_Attribute">
+            <summary>
+            Contains flags for an MFT activation object.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_TRANSFORM_CATEGORY_Attribute">
+            <summary>
+            Specifies the category for an MFT.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_TRANSFORM_CLSID_Attribute">
+            <summary>
+            Contains the class identifier (CLSID) of an MFT.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_INPUT_TYPES_Attributes">
+            <summary>
+            Contains the registered input types for a Media Foundation transform (MFT).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_OUTPUT_TYPES_Attributes">
+            <summary>
+            Contains the registered output types for a Media Foundation transform (MFT).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_ENUM_HARDWARE_URL_Attribute">
+            <summary>
+            Contains the symbolic link for a hardware-based MFT.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_FRIENDLY_NAME_Attribute">
+            <summary>
+            Contains the display name for a hardware-based MFT.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_CONNECTED_STREAM_ATTRIBUTE">
+            <summary>
+            Contains a pointer to the stream attributes of the connected stream on a hardware-based MFT.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_CONNECTED_TO_HW_STREAM">
+            <summary>
+            Specifies whether a hardware-based MFT is connected to another hardware-based MFT.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_PREFERRED_OUTPUTTYPE_Attribute">
+            <summary>
+            Specifies the preferred output format for an encoder.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_PROCESS_LOCAL_Attribute">
+            <summary>
+            Specifies whether an MFT is registered only in the application's process.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_PREFERRED_ENCODER_PROFILE">
+            <summary>
+            Contains configuration properties for an encoder.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_HW_TIMESTAMP_WITH_QPC_Attribute">
+            <summary>
+            Specifies whether a hardware device source uses the system time for time stamps.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_FIELDOFUSE_UNLOCK_Attribute">
+            <summary>
+            Contains an IMFFieldOfUseMFTUnlock pointer, which can be used to unlock the MFT.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_CODEC_MERIT_Attribute">
+            <summary>
+            Contains the merit value of a hardware codec.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MFT_ENUM_TRANSCODE_ONLY_ATTRIBUTE">
+            <summary>
+            Specifies whether a decoder is optimized for transcoding rather than for playback.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_PMPHOST_CONTEXT">
+            <summary>
+            Contains a pointer to the proxy object for the application's presentation descriptor.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_APP_CONTEXT">
+            <summary>
+            Contains a pointer to the presentation descriptor from the protected media path (PMP).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_DURATION">
+            <summary>
+            Specifies the duration of a presentation, in 100-nanosecond units.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_TOTAL_FILE_SIZE">
+            <summary>
+            Specifies the total size of the source file, in bytes. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_AUDIO_ENCODING_BITRATE">
+            <summary>
+            Specifies the audio encoding bit rate for the presentation, in bits per second.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_VIDEO_ENCODING_BITRATE">
+            <summary>
+            Specifies the video encoding bit rate for the presentation, in bits per second.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_MIME_TYPE">
+            <summary>
+            Specifies the MIME type of the content.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_LAST_MODIFIED_TIME">
+            <summary>
+            Specifies when a presentation was last modified.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_PLAYBACK_ELEMENT_ID">
+            <summary>
+            The identifier of the playlist element in the presentation.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_PREFERRED_LANGUAGE">
+            <summary>
+            Contains the preferred RFC 1766 language of the media source.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_PLAYBACK_BOUNDARY_TIME">
+            <summary>
+            The time at which the presentation must begin, relative to the start of the media source.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_PD_AUDIO_ISVARIABLEBITRATE">
+            <summary>
+            Specifies whether the audio streams in the presentation have a variable bit rate.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_MAJOR_TYPE">
+            <summary>
+            Media type Major Type
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_SUBTYPE">
+            <summary>
+            Media Type subtype
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AUDIO_BLOCK_ALIGNMENT">
+            <summary>
+            Audio block alignment
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AUDIO_AVG_BYTES_PER_SECOND">
+            <summary>
+            Audio average bytes per second
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AUDIO_NUM_CHANNELS">
+            <summary>
+            Audio number of channels
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AUDIO_SAMPLES_PER_SECOND">
+            <summary>
+            Audio samples per second
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AUDIO_BITS_PER_SAMPLE">
+            <summary>
+            Audio bits per sample
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_READWRITE_ENABLE_HARDWARE_TRANSFORMS">
+            <summary>
+            Enables the source reader or sink writer to use hardware-based Media Foundation transforms (MFTs).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_USER_DATA">
+            <summary>
+            Contains additional format data for a media type. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_ALL_SAMPLES_INDEPENDENT">
+            <summary>
+            Specifies for a media type whether each sample is independent of the other samples in the stream. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_FIXED_SIZE_SAMPLES">
+            <summary>
+            Specifies for a media type whether the samples have a fixed size. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AM_FORMAT_TYPE">
+            <summary>
+            Contains a DirectShow format GUID for a media type. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AUDIO_PREFER_WAVEFORMATEX">
+            <summary>
+            Specifies the preferred legacy format structure to use when converting an audio media type. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_COMPRESSED">
+            <summary>
+            Specifies for a media type whether the media data is compressed. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AVG_BITRATE">
+            <summary>
+            Approximate data rate of the video stream, in bits per second, for a video media type. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AAC_PAYLOAD_TYPE">
+            <summary>
+            Specifies the payload type of an Advanced Audio Coding (AAC) stream.
+            0 - The stream contains raw_data_block elements only
+            1 - Audio Data Transport Stream (ADTS). The stream contains an adts_sequence, as defined by MPEG-2.
+            2 - Audio Data Interchange Format (ADIF). The stream contains an adif_sequence, as defined by MPEG-2.
+            3 - The stream contains an MPEG-4 audio transport stream with a synchronization layer (LOAS) and a multiplex layer (LATM).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationAttributes.MF_MT_AAC_AUDIO_PROFILE_LEVEL_INDICATION">
+            <summary>
+            Specifies the audio profile and level of an Advanced Audio Coding (AAC) stream, as defined by ISO/IEC 14496-3.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MediaFoundationErrors">
+            <summary>
+            Media Foundation Errors
+            
+            </summary>
+            <remarks>
+             RANGES
+             14000 - 14999 = General Media Foundation errors
+             15000 - 15999 = ASF parsing errors
+             16000 - 16999 = Media Source errors
+             17000 - 17999 = MEDIAFOUNDATION Network Error Events
+             18000 - 18999 = MEDIAFOUNDATION WMContainer Error Events
+             19000 - 19999 = MEDIAFOUNDATION Media Sink Error Events
+             20000 - 20999 = Renderer errors
+             21000 - 21999 = Topology Errors
+             25000 - 25999 = Timeline Errors
+             26000 - 26999 = Unused
+             28000 - 28999 = Transform errors
+             29000 - 29999 = Content Protection errors
+             40000 - 40999 = Clock errors
+             41000 - 41999 = MF Quality Management Errors
+             42000 - 42999 = MF Transcode API Errors
+            </remarks>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PLATFORM_NOT_INITIALIZED">
+            
+             MessageId: MF_E_PLATFORM_NOT_INITIALIZED
+            
+             MessageText:
+            
+             Platform not initialized. Please call MFStartup().%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_BUFFERTOOSMALL">
+            
+             MessageId: MF_E_BUFFERTOOSMALL
+            
+             MessageText:
+            
+             The buffer was too small to carry out the requested action.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALIDREQUEST">
+            
+             MessageId: MF_E_INVALIDREQUEST
+            
+             MessageText:
+            
+             The request is invalid in the current state.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALIDSTREAMNUMBER">
+            
+             MessageId: MF_E_INVALIDSTREAMNUMBER
+            
+             MessageText:
+            
+             The stream number provided was invalid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALIDMEDIATYPE">
+            
+             MessageId: MF_E_INVALIDMEDIATYPE
+            
+             MessageText:
+            
+             The data specified for the media type is invalid, inconsistent, or not supported by this object.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NOTACCEPTING">
+            
+             MessageId: MF_E_NOTACCEPTING
+            
+             MessageText:
+            
+             The callee is currently not accepting further input.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NOT_INITIALIZED">
+            
+             MessageId: MF_E_NOT_INITIALIZED
+            
+             MessageText:
+            
+             This object needs to be initialized before the requested operation can be carried out.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_REPRESENTATION">
+            
+             MessageId: MF_E_UNSUPPORTED_REPRESENTATION
+            
+             MessageText:
+            
+             The requested representation is not supported by this object.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_MORE_TYPES">
+            
+             MessageId: MF_E_NO_MORE_TYPES
+            
+             MessageText:
+            
+             An object ran out of media types to suggest therefore the requested chain of streaming objects cannot be completed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_SERVICE">
+            
+             MessageId: MF_E_UNSUPPORTED_SERVICE
+            
+             MessageText:
+            
+             The object does not support the specified service.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNEXPECTED">
+            
+             MessageId: MF_E_UNEXPECTED
+            
+             MessageText:
+            
+             An unexpected error has occurred in the operation requested.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALIDNAME">
+            
+             MessageId: MF_E_INVALIDNAME
+            
+             MessageText:
+            
+             Invalid name.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALIDTYPE">
+            
+             MessageId: MF_E_INVALIDTYPE
+            
+             MessageText:
+            
+             Invalid type.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_FILE_FORMAT">
+            
+             MessageId: MF_E_INVALID_FILE_FORMAT
+            
+             MessageText:
+            
+             The file does not conform to the relevant file format specification.
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALIDINDEX">
+            
+             MessageId: MF_E_INVALIDINDEX
+            
+             MessageText:
+            
+             Invalid index.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_TIMESTAMP">
+            
+             MessageId: MF_E_INVALID_TIMESTAMP
+            
+             MessageText:
+            
+             An invalid timestamp was given.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_SCHEME">
+            
+             MessageId: MF_E_UNSUPPORTED_SCHEME
+            
+             MessageText:
+            
+             The scheme of the given URL is unsupported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_BYTESTREAM_TYPE">
+            
+             MessageId: MF_E_UNSUPPORTED_BYTESTREAM_TYPE
+            
+             MessageText:
+            
+             The byte stream type of the given URL is unsupported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_TIME_FORMAT">
+            
+             MessageId: MF_E_UNSUPPORTED_TIME_FORMAT
+            
+             MessageText:
+            
+             The given time format is unsupported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_SAMPLE_TIMESTAMP">
+            
+             MessageId: MF_E_NO_SAMPLE_TIMESTAMP
+            
+             MessageText:
+            
+             The Media Sample does not have a timestamp.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_SAMPLE_DURATION">
+            
+             MessageId: MF_E_NO_SAMPLE_DURATION
+            
+             MessageText:
+            
+             The Media Sample does not have a duration.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_STREAM_DATA">
+            
+             MessageId: MF_E_INVALID_STREAM_DATA
+            
+             MessageText:
+            
+             The request failed because the data in the stream is corrupt.%0\n.
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_RT_UNAVAILABLE">
+            
+             MessageId: MF_E_RT_UNAVAILABLE
+            
+             MessageText:
+            
+             Real time services are not available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_RATE">
+            
+             MessageId: MF_E_UNSUPPORTED_RATE
+            
+             MessageText:
+            
+             The specified rate is not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_THINNING_UNSUPPORTED">
+            
+             MessageId: MF_E_THINNING_UNSUPPORTED
+            
+             MessageText:
+            
+             This component does not support stream-thinning.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_REVERSE_UNSUPPORTED">
+            
+             MessageId: MF_E_REVERSE_UNSUPPORTED
+            
+             MessageText:
+            
+             The call failed because no reverse playback rates are available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_RATE_TRANSITION">
+            
+             MessageId: MF_E_UNSUPPORTED_RATE_TRANSITION
+            
+             MessageText:
+            
+             The requested rate transition cannot occur in the current state.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_RATE_CHANGE_PREEMPTED">
+            
+             MessageId: MF_E_RATE_CHANGE_PREEMPTED
+            
+             MessageText:
+            
+             The requested rate change has been pre-empted and will not occur.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NOT_FOUND">
+            
+             MessageId: MF_E_NOT_FOUND
+            
+             MessageText:
+            
+             The specified object or value does not exist.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NOT_AVAILABLE">
+            
+             MessageId: MF_E_NOT_AVAILABLE
+            
+             MessageText:
+            
+             The requested value is not available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_CLOCK">
+            
+             MessageId: MF_E_NO_CLOCK
+            
+             MessageText:
+            
+             The specified operation requires a clock and no clock is available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_MULTIPLE_BEGIN">
+            
+             MessageId: MF_S_MULTIPLE_BEGIN
+            
+             MessageText:
+            
+             This callback and state had already been passed in to this event generator earlier.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MULTIPLE_BEGIN">
+            
+             MessageId: MF_E_MULTIPLE_BEGIN
+            
+             MessageText:
+            
+             This callback has already been passed in to this event generator.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MULTIPLE_SUBSCRIBERS">
+            
+             MessageId: MF_E_MULTIPLE_SUBSCRIBERS
+            
+             MessageText:
+            
+             Some component is already listening to events on this event generator.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TIMER_ORPHANED">
+            
+             MessageId: MF_E_TIMER_ORPHANED
+            
+             MessageText:
+            
+             This timer was orphaned before its callback time arrived.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_STATE_TRANSITION_PENDING">
+            
+             MessageId: MF_E_STATE_TRANSITION_PENDING
+            
+             MessageText:
+            
+             A state transition is already pending.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_STATE_TRANSITION">
+            
+             MessageId: MF_E_UNSUPPORTED_STATE_TRANSITION
+            
+             MessageText:
+            
+             The requested state transition is unsupported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNRECOVERABLE_ERROR_OCCURRED">
+            
+             MessageId: MF_E_UNRECOVERABLE_ERROR_OCCURRED
+            
+             MessageText:
+            
+             An unrecoverable error has occurred.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SAMPLE_HAS_TOO_MANY_BUFFERS">
+            
+             MessageId: MF_E_SAMPLE_HAS_TOO_MANY_BUFFERS
+            
+             MessageText:
+            
+             The provided sample has too many buffers.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SAMPLE_NOT_WRITABLE">
+            
+             MessageId: MF_E_SAMPLE_NOT_WRITABLE
+            
+             MessageText:
+            
+             The provided sample is not writable.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_KEY">
+            
+             MessageId: MF_E_INVALID_KEY
+            
+             MessageText:
+            
+             The specified key is not valid.
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_BAD_STARTUP_VERSION">
+            
+             MessageId: MF_E_BAD_STARTUP_VERSION
+            
+             MessageText:
+            
+             You are calling MFStartup with the wrong MF_VERSION. Mismatched bits?
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_CAPTION">
+            
+             MessageId: MF_E_UNSUPPORTED_CAPTION
+            
+             MessageText:
+            
+             The caption of the given URL is unsupported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_POSITION">
+            
+             MessageId: MF_E_INVALID_POSITION
+            
+             MessageText:
+            
+             The operation on the current offset is not permitted.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ATTRIBUTENOTFOUND">
+            
+             MessageId: MF_E_ATTRIBUTENOTFOUND
+            
+             MessageText:
+            
+             The requested attribute was not found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROPERTY_TYPE_NOT_ALLOWED">
+            
+             MessageId: MF_E_PROPERTY_TYPE_NOT_ALLOWED
+            
+             MessageText:
+            
+             The specified property type is not allowed in this context.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROPERTY_TYPE_NOT_SUPPORTED">
+            
+             MessageId: MF_E_PROPERTY_TYPE_NOT_SUPPORTED
+            
+             MessageText:
+            
+             The specified property type is not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROPERTY_EMPTY">
+            
+             MessageId: MF_E_PROPERTY_EMPTY
+            
+             MessageText:
+            
+             The specified property is empty.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROPERTY_NOT_EMPTY">
+            
+             MessageId: MF_E_PROPERTY_NOT_EMPTY
+            
+             MessageText:
+            
+             The specified property is not empty.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROPERTY_VECTOR_NOT_ALLOWED">
+            
+             MessageId: MF_E_PROPERTY_VECTOR_NOT_ALLOWED
+            
+             MessageText:
+            
+             The vector property specified is not allowed in this context.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROPERTY_VECTOR_REQUIRED">
+            
+             MessageId: MF_E_PROPERTY_VECTOR_REQUIRED
+            
+             MessageText:
+            
+             A vector property is required in this context.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_OPERATION_CANCELLED">
+            
+             MessageId: MF_E_OPERATION_CANCELLED
+            
+             MessageText:
+            
+             The operation is cancelled.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_BYTESTREAM_NOT_SEEKABLE">
+            
+             MessageId: MF_E_BYTESTREAM_NOT_SEEKABLE
+            
+             MessageText:
+            
+             The provided bytestream was expected to be seekable and it is not.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_DISABLED_IN_SAFEMODE">
+            
+             MessageId: MF_E_DISABLED_IN_SAFEMODE
+            
+             MessageText:
+            
+             The Media Foundation platform is disabled when the system is running in Safe Mode.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_CANNOT_PARSE_BYTESTREAM">
+            
+             MessageId: MF_E_CANNOT_PARSE_BYTESTREAM
+            
+             MessageText:
+            
+             The Media Source could not parse the byte stream.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS">
+            
+             MessageId: MF_E_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS
+            
+             MessageText:
+            
+             Mutually exclusive flags have been specified to source resolver. This flag combination is invalid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MEDIAPROC_WRONGSTATE">
+            
+             MessageId: MF_E_MEDIAPROC_WRONGSTATE
+            
+             MessageText:
+            
+             MediaProc is in the wrong state%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_RT_THROUGHPUT_NOT_AVAILABLE">
+            
+             MessageId: MF_E_RT_THROUGHPUT_NOT_AVAILABLE
+            
+             MessageText:
+            
+             Real time I/O service can not provide requested throughput.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_RT_TOO_MANY_CLASSES">
+            
+             MessageId: MF_E_RT_TOO_MANY_CLASSES
+            
+             MessageText:
+            
+             The workqueue cannot be registered with more classes.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_RT_WOULDBLOCK">
+            
+             MessageId: MF_E_RT_WOULDBLOCK
+            
+             MessageText:
+            
+             This operation cannot succeed because another thread owns this object.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_BITPUMP">
+            
+             MessageId: MF_E_NO_BITPUMP
+            
+             MessageText:
+            
+             Internal. Bitpump not found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_RT_OUTOFMEMORY">
+            
+             MessageId: MF_E_RT_OUTOFMEMORY
+            
+             MessageText:
+            
+             No more RT memory available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_RT_WORKQUEUE_CLASS_NOT_SPECIFIED">
+            
+             MessageId: MF_E_RT_WORKQUEUE_CLASS_NOT_SPECIFIED
+            
+             MessageText:
+            
+             An MMCSS class has not been set for this work queue.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INSUFFICIENT_BUFFER">
+            
+             MessageId: MF_E_INSUFFICIENT_BUFFER
+            
+             MessageText:
+            
+             Insufficient memory for response.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_CANNOT_CREATE_SINK">
+            
+             MessageId: MF_E_CANNOT_CREATE_SINK
+            
+             MessageText:
+            
+             Activate failed to create mediasink. Call OutputNode::GetUINT32(MF_TOPONODE_MAJORTYPE) for more information. %0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_BYTESTREAM_UNKNOWN_LENGTH">
+            
+             MessageId: MF_E_BYTESTREAM_UNKNOWN_LENGTH
+            
+             MessageText:
+            
+             The length of the provided bytestream is unknown.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SESSION_PAUSEWHILESTOPPED">
+            
+             MessageId: MF_E_SESSION_PAUSEWHILESTOPPED
+            
+             MessageText:
+            
+             The media session cannot pause from a stopped state.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_ACTIVATE_REPLACED">
+            
+             MessageId: MF_S_ACTIVATE_REPLACED
+            
+             MessageText:
+            
+             The activate could not be created in the remote process for some reason it was replaced with empty one.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_FORMAT_CHANGE_NOT_SUPPORTED">
+            
+             MessageId: MF_E_FORMAT_CHANGE_NOT_SUPPORTED
+            
+             MessageText:
+            
+             The data specified for the media type is supported, but would require a format change, which is not supported by this object.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_WORKQUEUE">
+            
+             MessageId: MF_E_INVALID_WORKQUEUE
+            
+             MessageText:
+            
+             The operation failed because an invalid combination of workqueue ID and flags was specified.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_DRM_UNSUPPORTED">
+            
+             MessageId: MF_E_DRM_UNSUPPORTED
+            
+             MessageText:
+            
+             No DRM support is available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNAUTHORIZED">
+            
+             MessageId: MF_E_UNAUTHORIZED
+            
+             MessageText:
+            
+             This operation is not authorized.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_OUT_OF_RANGE">
+            
+             MessageId: MF_E_OUT_OF_RANGE
+            
+             MessageText:
+            
+             The value is not in the specified or valid range.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_CODEC_MERIT">
+            
+             MessageId: MF_E_INVALID_CODEC_MERIT
+            
+             MessageText:
+            
+             The registered codec merit is not valid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_HW_MFT_FAILED_START_STREAMING">
+            
+             MessageId: MF_E_HW_MFT_FAILED_START_STREAMING
+            
+             MessageText:
+            
+             Hardware MFT failed to start streaming due to lack of hardware resources.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_ASF_PARSEINPROGRESS">
+            
+             MessageId: MF_S_ASF_PARSEINPROGRESS
+            
+             MessageText:
+            
+             Parsing is still in progress and is not yet complete.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_PARSINGINCOMPLETE">
+            
+             MessageId: MF_E_ASF_PARSINGINCOMPLETE
+            
+             MessageText:
+            
+             Not enough data have been parsed to carry out the requested action.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_MISSINGDATA">
+            
+             MessageId: MF_E_ASF_MISSINGDATA
+            
+             MessageText:
+            
+             There is a gap in the ASF data provided.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_INVALIDDATA">
+            
+             MessageId: MF_E_ASF_INVALIDDATA
+            
+             MessageText:
+            
+             The data provided are not valid ASF.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_OPAQUEPACKET">
+            
+             MessageId: MF_E_ASF_OPAQUEPACKET
+            
+             MessageText:
+            
+             The packet is opaque, so the requested information cannot be returned.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_NOINDEX">
+            
+             MessageId: MF_E_ASF_NOINDEX
+            
+             MessageText:
+            
+             The requested operation failed since there is no appropriate ASF index.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_OUTOFRANGE">
+            
+             MessageId: MF_E_ASF_OUTOFRANGE
+            
+             MessageText:
+            
+             The value supplied is out of range for this operation.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_INDEXNOTLOADED">
+            
+             MessageId: MF_E_ASF_INDEXNOTLOADED
+            
+             MessageText:
+            
+             The index entry requested needs to be loaded before it can be available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_TOO_MANY_PAYLOADS">
+            
+             MessageId: MF_E_ASF_TOO_MANY_PAYLOADS
+            
+             MessageText:
+            
+             The packet has reached the maximum number of payloads.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_UNSUPPORTED_STREAM_TYPE">
+            
+             MessageId: MF_E_ASF_UNSUPPORTED_STREAM_TYPE
+            
+             MessageText:
+            
+             Stream type is not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_DROPPED_PACKET">
+            
+             MessageId: MF_E_ASF_DROPPED_PACKET
+            
+             MessageText:
+            
+             One or more ASF packets were dropped.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_EVENTS_AVAILABLE">
+            
+             MessageId: MF_E_NO_EVENTS_AVAILABLE
+            
+             MessageText:
+            
+             There are no events available in the queue.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_STATE_TRANSITION">
+            
+             MessageId: MF_E_INVALID_STATE_TRANSITION
+            
+             MessageText:
+            
+             A media source cannot go from the stopped state to the paused state.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_END_OF_STREAM">
+            
+             MessageId: MF_E_END_OF_STREAM
+            
+             MessageText:
+            
+             The media stream cannot process any more samples because there are no more samples in the stream.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SHUTDOWN">
+            
+             MessageId: MF_E_SHUTDOWN
+            
+             MessageText:
+            
+             The request is invalid because Shutdown() has been called.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MP3_NOTFOUND">
+            
+             MessageId: MF_E_MP3_NOTFOUND
+            
+             MessageText:
+            
+             The MP3 object was not found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MP3_OUTOFDATA">
+            
+             MessageId: MF_E_MP3_OUTOFDATA
+            
+             MessageText:
+            
+             The MP3 parser ran out of data before finding the MP3 object.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MP3_NOTMP3">
+            
+             MessageId: MF_E_MP3_NOTMP3
+            
+             MessageText:
+            
+             The file is not really a MP3 file.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MP3_NOTSUPPORTED">
+            
+             MessageId: MF_E_MP3_NOTSUPPORTED
+            
+             MessageText:
+            
+             The MP3 file is not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_DURATION">
+            
+             MessageId: MF_E_NO_DURATION
+            
+             MessageText:
+            
+             The Media stream has no duration.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_FORMAT">
+            
+             MessageId: MF_E_INVALID_FORMAT
+            
+             MessageText:
+            
+             The Media format is recognized but is invalid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROPERTY_NOT_FOUND">
+            
+             MessageId: MF_E_PROPERTY_NOT_FOUND
+            
+             MessageText:
+            
+             The property requested was not found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROPERTY_READ_ONLY">
+            
+             MessageId: MF_E_PROPERTY_READ_ONLY
+            
+             MessageText:
+            
+             The property is read only.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROPERTY_NOT_ALLOWED">
+            
+             MessageId: MF_E_PROPERTY_NOT_ALLOWED
+            
+             MessageText:
+            
+             The specified property is not allowed in this context.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MEDIA_SOURCE_NOT_STARTED">
+            
+             MessageId: MF_E_MEDIA_SOURCE_NOT_STARTED
+            
+             MessageText:
+            
+             The media source is not started.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_FORMAT">
+            
+             MessageId: MF_E_UNSUPPORTED_FORMAT
+            
+             MessageText:
+            
+             The Media format is recognized but not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MP3_BAD_CRC">
+            
+             MessageId: MF_E_MP3_BAD_CRC
+            
+             MessageText:
+            
+             The MPEG frame has bad CRC.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NOT_PROTECTED">
+            
+             MessageId: MF_E_NOT_PROTECTED
+            
+             MessageText:
+            
+             The file is not protected.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MEDIA_SOURCE_WRONGSTATE">
+            
+             MessageId: MF_E_MEDIA_SOURCE_WRONGSTATE
+            
+             MessageText:
+            
+             The media source is in the wrong state%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED">
+            
+             MessageId: MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED
+            
+             MessageText:
+            
+             No streams are selected in source presentation descriptor.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_CANNOT_FIND_KEYFRAME_SAMPLE">
+            
+             MessageId: MF_E_CANNOT_FIND_KEYFRAME_SAMPLE
+            
+             MessageText:
+            
+             No key frame sample was found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NETWORK_RESOURCE_FAILURE">
+            
+             MessageId: MF_E_NETWORK_RESOURCE_FAILURE
+            
+             MessageText:
+            
+             An attempt to acquire a network resource failed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_WRITE">
+            
+             MessageId: MF_E_NET_WRITE
+            
+             MessageText:
+            
+             Error writing to the network.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_READ">
+            
+             MessageId: MF_E_NET_READ
+            
+             MessageText:
+            
+             Error reading from the network.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_REQUIRE_NETWORK">
+            
+             MessageId: MF_E_NET_REQUIRE_NETWORK
+            
+             MessageText:
+            
+             Internal. Entry cannot complete operation without network.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_REQUIRE_ASYNC">
+            
+             MessageId: MF_E_NET_REQUIRE_ASYNC
+            
+             MessageText:
+            
+             Internal. Async op is required.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_BWLEVEL_NOT_SUPPORTED">
+            
+             MessageId: MF_E_NET_BWLEVEL_NOT_SUPPORTED
+            
+             MessageText:
+            
+             Internal. Bandwidth levels are not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_STREAMGROUPS_NOT_SUPPORTED">
+            
+             MessageId: MF_E_NET_STREAMGROUPS_NOT_SUPPORTED
+            
+             MessageText:
+            
+             Internal. Stream groups are not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_MANUALSS_NOT_SUPPORTED">
+            
+             MessageId: MF_E_NET_MANUALSS_NOT_SUPPORTED
+            
+             MessageText:
+            
+             Manual stream selection is not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_INVALID_PRESENTATION_DESCRIPTOR">
+            
+             MessageId: MF_E_NET_INVALID_PRESENTATION_DESCRIPTOR
+            
+             MessageText:
+            
+             Invalid presentation descriptor.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_CACHESTREAM_NOT_FOUND">
+            
+             MessageId: MF_E_NET_CACHESTREAM_NOT_FOUND
+            
+             MessageText:
+            
+             Cannot find cache stream.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_I_MANUAL_PROXY">
+            
+             MessageId: MF_I_MANUAL_PROXY
+            
+             MessageText:
+            
+             The proxy setting is manual.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_REQUIRE_INPUT">
+            duplicate removed
+            MessageId=17011 Severity=Informational Facility=MEDIAFOUNDATION SymbolicName=MF_E_INVALID_REQUEST
+            Language=English
+            The request is invalid in the current state.%0
+            .
+            
+             MessageId: MF_E_NET_REQUIRE_INPUT
+            
+             MessageText:
+            
+             Internal. Entry cannot complete operation without input.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_REDIRECT">
+            
+             MessageId: MF_E_NET_REDIRECT
+            
+             MessageText:
+            
+             The client redirected to another server.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_REDIRECT_TO_PROXY">
+            
+             MessageId: MF_E_NET_REDIRECT_TO_PROXY
+            
+             MessageText:
+            
+             The client is redirected to a proxy server.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_TOO_MANY_REDIRECTS">
+            
+             MessageId: MF_E_NET_TOO_MANY_REDIRECTS
+            
+             MessageText:
+            
+             The client reached maximum redirection limit.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_TIMEOUT">
+            
+             MessageId: MF_E_NET_TIMEOUT
+            
+             MessageText:
+            
+             The server, a computer set up to offer multimedia content to other computers, could not handle your request for multimedia content in a timely manner.  Please try again later.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_CLIENT_CLOSE">
+            
+             MessageId: MF_E_NET_CLIENT_CLOSE
+            
+             MessageText:
+            
+             The control socket is closed by the client.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_BAD_CONTROL_DATA">
+            
+             MessageId: MF_E_NET_BAD_CONTROL_DATA
+            
+             MessageText:
+            
+             The server received invalid data from the client on the control connection.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_INCOMPATIBLE_SERVER">
+            
+             MessageId: MF_E_NET_INCOMPATIBLE_SERVER
+            
+             MessageText:
+            
+             The server is not a compatible streaming media server.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_UNSAFE_URL">
+            
+             MessageId: MF_E_NET_UNSAFE_URL
+            
+             MessageText:
+            
+             Url.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_CACHE_NO_DATA">
+            
+             MessageId: MF_E_NET_CACHE_NO_DATA
+            
+             MessageText:
+            
+             Data is not available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_EOL">
+            
+             MessageId: MF_E_NET_EOL
+            
+             MessageText:
+            
+             End of line.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_BAD_REQUEST">
+            
+             MessageId: MF_E_NET_BAD_REQUEST
+            
+             MessageText:
+            
+             The request could not be understood by the server.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_INTERNAL_SERVER_ERROR">
+            
+             MessageId: MF_E_NET_INTERNAL_SERVER_ERROR
+            
+             MessageText:
+            
+             The server encountered an unexpected condition which prevented it from fulfilling the request.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_SESSION_NOT_FOUND">
+            
+             MessageId: MF_E_NET_SESSION_NOT_FOUND
+            
+             MessageText:
+            
+             Session not found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_NOCONNECTION">
+            
+             MessageId: MF_E_NET_NOCONNECTION
+            
+             MessageText:
+            
+             There is no connection established with the Windows Media server. The operation failed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_CONNECTION_FAILURE">
+            
+             MessageId: MF_E_NET_CONNECTION_FAILURE
+            
+             MessageText:
+            
+             The network connection has failed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_INCOMPATIBLE_PUSHSERVER">
+            
+             MessageId: MF_E_NET_INCOMPATIBLE_PUSHSERVER
+            
+             MessageText:
+            
+             The Server service that received the HTTP push request is not a compatible version of Windows Media Services (WMS).  This error may indicate the push request was received by IIS instead of WMS.  Ensure WMS is started and has the HTTP Server control protocol properly enabled and try again.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_SERVER_ACCESSDENIED">
+            
+             MessageId: MF_E_NET_SERVER_ACCESSDENIED
+            
+             MessageText:
+            
+             The Windows Media server is denying access.  The username and/or password might be incorrect.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_PROXY_ACCESSDENIED">
+            
+             MessageId: MF_E_NET_PROXY_ACCESSDENIED
+            
+             MessageText:
+            
+             The proxy server is denying access.  The username and/or password might be incorrect.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_CANNOTCONNECT">
+            
+             MessageId: MF_E_NET_CANNOTCONNECT
+            
+             MessageText:
+            
+             Unable to establish a connection to the server.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_INVALID_PUSH_TEMPLATE">
+            
+             MessageId: MF_E_NET_INVALID_PUSH_TEMPLATE
+            
+             MessageText:
+            
+             The specified push template is invalid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_INVALID_PUSH_PUBLISHING_POINT">
+            
+             MessageId: MF_E_NET_INVALID_PUSH_PUBLISHING_POINT
+            
+             MessageText:
+            
+             The specified push publishing point is invalid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_BUSY">
+            
+             MessageId: MF_E_NET_BUSY
+            
+             MessageText:
+            
+             The requested resource is in use.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_RESOURCE_GONE">
+            
+             MessageId: MF_E_NET_RESOURCE_GONE
+            
+             MessageText:
+            
+             The Publishing Point or file on the Windows Media Server is no longer available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_ERROR_FROM_PROXY">
+            
+             MessageId: MF_E_NET_ERROR_FROM_PROXY
+            
+             MessageText:
+            
+             The proxy experienced an error while attempting to contact the media server.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_PROXY_TIMEOUT">
+            
+             MessageId: MF_E_NET_PROXY_TIMEOUT
+            
+             MessageText:
+            
+             The proxy did not receive a timely response while attempting to contact the media server.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_SERVER_UNAVAILABLE">
+            
+             MessageId: MF_E_NET_SERVER_UNAVAILABLE
+            
+             MessageText:
+            
+             The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_TOO_MUCH_DATA">
+            
+             MessageId: MF_E_NET_TOO_MUCH_DATA
+            
+             MessageText:
+            
+             The encoding process was unable to keep up with the amount of supplied data.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_SESSION_INVALID">
+            
+             MessageId: MF_E_NET_SESSION_INVALID
+            
+             MessageText:
+            
+             Session not found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_OFFLINE_MODE">
+            
+             MessageId: MF_E_OFFLINE_MODE
+            
+             MessageText:
+            
+             The requested URL is not available in offline mode.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_UDP_BLOCKED">
+            
+             MessageId: MF_E_NET_UDP_BLOCKED
+            
+             MessageText:
+            
+             A device in the network is blocking UDP traffic.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_UNSUPPORTED_CONFIGURATION">
+            
+             MessageId: MF_E_NET_UNSUPPORTED_CONFIGURATION
+            
+             MessageText:
+            
+             The specified configuration value is not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NET_PROTOCOL_DISABLED">
+            
+             MessageId: MF_E_NET_PROTOCOL_DISABLED
+            
+             MessageText:
+            
+             The networking protocol is disabled.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ALREADY_INITIALIZED">
+            
+             MessageId: MF_E_ALREADY_INITIALIZED
+            
+             MessageText:
+            
+             This object has already been initialized and cannot be re-initialized at this time.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_BANDWIDTH_OVERRUN">
+            
+             MessageId: MF_E_BANDWIDTH_OVERRUN
+            
+             MessageText:
+            
+             The amount of data passed in exceeds the given bitrate and buffer window.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_LATE_SAMPLE">
+            
+             MessageId: MF_E_LATE_SAMPLE
+            
+             MessageText:
+            
+             The sample was passed in too late to be correctly processed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_FLUSH_NEEDED">
+            
+             MessageId: MF_E_FLUSH_NEEDED
+            
+             MessageText:
+            
+             The requested action cannot be carried out until the object is flushed and the queue is emptied.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_PROFILE">
+            
+             MessageId: MF_E_INVALID_PROFILE
+            
+             MessageText:
+            
+             The profile is invalid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INDEX_NOT_COMMITTED">
+            
+             MessageId: MF_E_INDEX_NOT_COMMITTED
+            
+             MessageText:
+            
+             The index that is being generated needs to be committed before the requested action can be carried out.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_INDEX">
+            
+             MessageId: MF_E_NO_INDEX
+            
+             MessageText:
+            
+             The index that is necessary for the requested action is not found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_CANNOT_INDEX_IN_PLACE">
+            
+             MessageId: MF_E_CANNOT_INDEX_IN_PLACE
+            
+             MessageText:
+            
+             The requested index cannot be added in-place to the specified ASF content.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_MISSING_ASF_LEAKYBUCKET">
+            
+             MessageId: MF_E_MISSING_ASF_LEAKYBUCKET
+            
+             MessageText:
+            
+             The ASF leaky bucket parameters must be specified in order to carry out this request.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_ASF_STREAMID">
+            
+             MessageId: MF_E_INVALID_ASF_STREAMID
+            
+             MessageText:
+            
+             The stream id is invalid. The valid range for ASF stream id is from 1 to 127.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_STREAMSINK_REMOVED">
+            
+             MessageId: MF_E_STREAMSINK_REMOVED
+            
+             MessageText:
+            
+             The requested Stream Sink has been removed and cannot be used.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_STREAMSINKS_OUT_OF_SYNC">
+            
+             MessageId: MF_E_STREAMSINKS_OUT_OF_SYNC
+            
+             MessageText:
+            
+             The various Stream Sinks in this Media Sink are too far out of sync for the requested action to take place.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_STREAMSINKS_FIXED">
+            
+             MessageId: MF_E_STREAMSINKS_FIXED
+            
+             MessageText:
+            
+             Stream Sinks cannot be added to or removed from this Media Sink because its set of streams is fixed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_STREAMSINK_EXISTS">
+            
+             MessageId: MF_E_STREAMSINK_EXISTS
+            
+             MessageText:
+            
+             The given Stream Sink already exists.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SAMPLEALLOCATOR_CANCELED">
+            
+             MessageId: MF_E_SAMPLEALLOCATOR_CANCELED
+            
+             MessageText:
+            
+             Sample allocations have been canceled.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SAMPLEALLOCATOR_EMPTY">
+            
+             MessageId: MF_E_SAMPLEALLOCATOR_EMPTY
+            
+             MessageText:
+            
+             The sample allocator is currently empty, due to outstanding requests.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SINK_ALREADYSTOPPED">
+            
+             MessageId: MF_E_SINK_ALREADYSTOPPED
+            
+             MessageText:
+            
+             When we try to sopt a stream sink, it is already stopped %0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ASF_FILESINK_BITRATE_UNKNOWN">
+            
+             MessageId: MF_E_ASF_FILESINK_BITRATE_UNKNOWN
+            
+             MessageText:
+            
+             The ASF file sink could not reserve AVIO because the bitrate is unknown.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SINK_NO_STREAMS">
+            
+             MessageId: MF_E_SINK_NO_STREAMS
+            
+             MessageText:
+            
+             No streams are selected in sink presentation descriptor.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_SINK_NOT_FINALIZED">
+            
+             MessageId: MF_S_SINK_NOT_FINALIZED
+            
+             MessageText:
+            
+             The sink has not been finalized before shut down. This may cause sink generate a corrupted content.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_METADATA_TOO_LONG">
+            
+             MessageId: MF_E_METADATA_TOO_LONG
+            
+             MessageText:
+            
+             A metadata item was too long to write to the output container.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SINK_NO_SAMPLES_PROCESSED">
+            
+             MessageId: MF_E_SINK_NO_SAMPLES_PROCESSED
+            
+             MessageText:
+            
+             The operation failed because no samples were processed by the sink.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_VIDEO_REN_NO_PROCAMP_HW">
+            
+             MessageId: MF_E_VIDEO_REN_NO_PROCAMP_HW
+            
+             MessageText:
+            
+             There is no available procamp hardware with which to perform color correction.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_VIDEO_REN_NO_DEINTERLACE_HW">
+            
+             MessageId: MF_E_VIDEO_REN_NO_DEINTERLACE_HW
+            
+             MessageText:
+            
+             There is no available deinterlacing hardware with which to deinterlace the video stream.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_VIDEO_REN_COPYPROT_FAILED">
+            
+             MessageId: MF_E_VIDEO_REN_COPYPROT_FAILED
+            
+             MessageText:
+            
+             A video stream requires copy protection to be enabled, but there was a failure in attempting to enable copy protection.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_VIDEO_REN_SURFACE_NOT_SHARED">
+            
+             MessageId: MF_E_VIDEO_REN_SURFACE_NOT_SHARED
+            
+             MessageText:
+            
+             A component is attempting to access a surface for sharing that is not shared.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_VIDEO_DEVICE_LOCKED">
+            
+             MessageId: MF_E_VIDEO_DEVICE_LOCKED
+            
+             MessageText:
+            
+             A component is attempting to access a shared device that is already locked by another component.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NEW_VIDEO_DEVICE">
+            
+             MessageId: MF_E_NEW_VIDEO_DEVICE
+            
+             MessageText:
+            
+             The device is no longer available. The handle should be closed and a new one opened.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_VIDEO_SAMPLE_AVAILABLE">
+            
+             MessageId: MF_E_NO_VIDEO_SAMPLE_AVAILABLE
+            
+             MessageText:
+            
+             A video sample is not currently queued on a stream that is required for mixing.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_AUDIO_PLAYBACK_DEVICE">
+            
+             MessageId: MF_E_NO_AUDIO_PLAYBACK_DEVICE
+            
+             MessageText:
+            
+             No audio playback device was found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_AUDIO_PLAYBACK_DEVICE_IN_USE">
+            
+             MessageId: MF_E_AUDIO_PLAYBACK_DEVICE_IN_USE
+            
+             MessageText:
+            
+             The requested audio playback device is currently in use.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_AUDIO_PLAYBACK_DEVICE_INVALIDATED">
+            
+             MessageId: MF_E_AUDIO_PLAYBACK_DEVICE_INVALIDATED
+            
+             MessageText:
+            
+             The audio playback device is no longer present.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_AUDIO_SERVICE_NOT_RUNNING">
+            
+             MessageId: MF_E_AUDIO_SERVICE_NOT_RUNNING
+            
+             MessageText:
+            
+             The audio service is not running.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_INVALID_OPTIONAL_NODE">
+            
+             MessageId: MF_E_TOPO_INVALID_OPTIONAL_NODE
+            
+             MessageText:
+            
+             The topology contains an invalid optional node.  Possible reasons are incorrect number of outputs and inputs or optional node is at the beginning or end of a segment. %0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_CANNOT_FIND_DECRYPTOR">
+            
+             MessageId: MF_E_TOPO_CANNOT_FIND_DECRYPTOR
+            
+             MessageText:
+            
+             No suitable transform was found to decrypt the content. %0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_CODEC_NOT_FOUND">
+            
+             MessageId: MF_E_TOPO_CODEC_NOT_FOUND
+            
+             MessageText:
+            
+             No suitable transform was found to encode or decode the content. %0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_CANNOT_CONNECT">
+            
+             MessageId: MF_E_TOPO_CANNOT_CONNECT
+            
+             MessageText:
+            
+             Unable to find a way to connect nodes%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_UNSUPPORTED">
+            
+             MessageId: MF_E_TOPO_UNSUPPORTED
+            
+             MessageText:
+            
+             Unsupported operations in topoloader%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_INVALID_TIME_ATTRIBUTES">
+            
+             MessageId: MF_E_TOPO_INVALID_TIME_ATTRIBUTES
+            
+             MessageText:
+            
+             The topology or its nodes contain incorrectly set time attributes%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_LOOPS_IN_TOPOLOGY">
+            
+             MessageId: MF_E_TOPO_LOOPS_IN_TOPOLOGY
+            
+             MessageText:
+            
+             The topology contains loops, which are unsupported in media foundation topologies%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_MISSING_PRESENTATION_DESCRIPTOR">
+            
+             MessageId: MF_E_TOPO_MISSING_PRESENTATION_DESCRIPTOR
+            
+             MessageText:
+            
+             A source stream node in the topology does not have a presentation descriptor%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_MISSING_STREAM_DESCRIPTOR">
+            
+             MessageId: MF_E_TOPO_MISSING_STREAM_DESCRIPTOR
+            
+             MessageText:
+            
+             A source stream node in the topology does not have a stream descriptor%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_STREAM_DESCRIPTOR_NOT_SELECTED">
+            
+             MessageId: MF_E_TOPO_STREAM_DESCRIPTOR_NOT_SELECTED
+            
+             MessageText:
+            
+             A stream descriptor was set on a source stream node but it was not selected on the presentation descriptor%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_MISSING_SOURCE">
+            
+             MessageId: MF_E_TOPO_MISSING_SOURCE
+            
+             MessageText:
+            
+             A source stream node in the topology does not have a source%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPO_SINK_ACTIVATES_UNSUPPORTED">
+            
+             MessageId: MF_E_TOPO_SINK_ACTIVATES_UNSUPPORTED
+            
+             MessageText:
+            
+             The topology loader does not support sink activates on output nodes.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SEQUENCER_UNKNOWN_SEGMENT_ID">
+            
+             MessageId: MF_E_SEQUENCER_UNKNOWN_SEGMENT_ID
+            
+             MessageText:
+            
+             The sequencer cannot find a segment with the given ID.%0\n.
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_SEQUENCER_CONTEXT_CANCELED">
+            
+             MessageId: MF_S_SEQUENCER_CONTEXT_CANCELED
+            
+             MessageText:
+            
+             The context was canceled.%0\n.
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_SOURCE_IN_CACHE">
+            
+             MessageId: MF_E_NO_SOURCE_IN_CACHE
+            
+             MessageText:
+            
+             Cannot find source in source cache.%0\n.
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_SEQUENCER_SEGMENT_AT_END_OF_STREAM">
+            
+             MessageId: MF_S_SEQUENCER_SEGMENT_AT_END_OF_STREAM
+            
+             MessageText:
+            
+             Cannot update topology flags.%0\n.
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_TYPE_NOT_SET">
+            
+             MessageId: MF_E_TRANSFORM_TYPE_NOT_SET
+            
+             MessageText:
+            
+             A valid type has not been set for this stream or a stream that it depends on.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_STREAM_CHANGE">
+            
+             MessageId: MF_E_TRANSFORM_STREAM_CHANGE
+            
+             MessageText:
+            
+             A stream change has occurred. Output cannot be produced until the streams have been renegotiated.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_INPUT_REMAINING">
+            
+             MessageId: MF_E_TRANSFORM_INPUT_REMAINING
+            
+             MessageText:
+            
+             The transform cannot take the requested action until all of the input data it currently holds is processed or flushed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROFILE_MISSING">
+            
+             MessageId: MF_E_TRANSFORM_PROFILE_MISSING
+            
+             MessageText:
+            
+             The transform requires a profile but no profile was supplied or found.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROFILE_INVALID_OR_CORRUPT">
+            
+             MessageId: MF_E_TRANSFORM_PROFILE_INVALID_OR_CORRUPT
+            
+             MessageText:
+            
+             The transform requires a profile but the supplied profile was invalid or corrupt.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROFILE_TRUNCATED">
+            
+             MessageId: MF_E_TRANSFORM_PROFILE_TRUNCATED
+            
+             MessageText:
+            
+             The transform requires a profile but the supplied profile ended unexpectedly while parsing.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROPERTY_PID_NOT_RECOGNIZED">
+            
+             MessageId: MF_E_TRANSFORM_PROPERTY_PID_NOT_RECOGNIZED
+            
+             MessageText:
+            
+             The property ID does not match any property supported by the transform.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROPERTY_VARIANT_TYPE_WRONG">
+            
+             MessageId: MF_E_TRANSFORM_PROPERTY_VARIANT_TYPE_WRONG
+            
+             MessageText:
+            
+             The variant does not have the type expected for this property ID.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROPERTY_NOT_WRITEABLE">
+            
+             MessageId: MF_E_TRANSFORM_PROPERTY_NOT_WRITEABLE
+            
+             MessageText:
+            
+             An attempt was made to set the value on a read-only property.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROPERTY_ARRAY_VALUE_WRONG_NUM_DIM">
+            
+             MessageId: MF_E_TRANSFORM_PROPERTY_ARRAY_VALUE_WRONG_NUM_DIM
+            
+             MessageText:
+            
+             The array property value has an unexpected number of dimensions.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROPERTY_VALUE_SIZE_WRONG">
+            
+             MessageId: MF_E_TRANSFORM_PROPERTY_VALUE_SIZE_WRONG
+            
+             MessageText:
+            
+             The array or blob property value has an unexpected size.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROPERTY_VALUE_OUT_OF_RANGE">
+            
+             MessageId: MF_E_TRANSFORM_PROPERTY_VALUE_OUT_OF_RANGE
+            
+             MessageText:
+            
+             The property value is out of range for this transform.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_PROPERTY_VALUE_INCOMPATIBLE">
+            
+             MessageId: MF_E_TRANSFORM_PROPERTY_VALUE_INCOMPATIBLE
+            
+             MessageText:
+            
+             The property value is incompatible with some other property or mediatype set on the transform.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_OUTPUT_MEDIATYPE">
+            
+             MessageId: MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_OUTPUT_MEDIATYPE
+            
+             MessageText:
+            
+             The requested operation is not supported for the currently set output mediatype.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_INPUT_MEDIATYPE">
+            
+             MessageId: MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_INPUT_MEDIATYPE
+            
+             MessageText:
+            
+             The requested operation is not supported for the currently set input mediatype.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_MEDIATYPE_COMBINATION">
+            
+             MessageId: MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_MEDIATYPE_COMBINATION
+            
+             MessageText:
+            
+             The requested operation is not supported for the currently set combination of mediatypes.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_CONFLICTS_WITH_OTHER_CURRENTLY_ENABLED_FEATURES">
+            
+             MessageId: MF_E_TRANSFORM_CONFLICTS_WITH_OTHER_CURRENTLY_ENABLED_FEATURES
+            
+             MessageText:
+            
+             The requested feature is not supported in combination with some other currently enabled feature.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_NEED_MORE_INPUT">
+            
+             MessageId: MF_E_TRANSFORM_NEED_MORE_INPUT
+            
+             MessageText:
+            
+             The transform cannot produce output until it gets more input samples.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_SPKR_CONFIG">
+            
+             MessageId: MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_SPKR_CONFIG
+            
+             MessageText:
+            
+             The requested operation is not supported for the current speaker configuration.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_CANNOT_CHANGE_MEDIATYPE_WHILE_PROCESSING">
+            
+             MessageId: MF_E_TRANSFORM_CANNOT_CHANGE_MEDIATYPE_WHILE_PROCESSING
+            
+             MessageText:
+            
+             The transform cannot accept mediatype changes in the middle of processing.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_TRANSFORM_DO_NOT_PROPAGATE_EVENT">
+            
+             MessageId: MF_S_TRANSFORM_DO_NOT_PROPAGATE_EVENT
+            
+             MessageText:
+            
+             The caller should not propagate this event to downstream components.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_UNSUPPORTED_D3D_TYPE">
+            
+             MessageId: MF_E_UNSUPPORTED_D3D_TYPE
+            
+             MessageText:
+            
+             The input type is not supported for D3D device.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_ASYNC_LOCKED">
+            
+             MessageId: MF_E_TRANSFORM_ASYNC_LOCKED
+            
+             MessageText:
+            
+             The caller does not appear to support this transform's asynchronous capabilities.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSFORM_CANNOT_INITIALIZE_ACM_DRIVER">
+            
+             MessageId: MF_E_TRANSFORM_CANNOT_INITIALIZE_ACM_DRIVER
+            
+             MessageText:
+            
+             An audio compression manager driver could not be initialized by the transform.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_LICENSE_INCORRECT_RIGHTS">
+            
+             MessageId: MF_E_LICENSE_INCORRECT_RIGHTS
+            
+             MessageText:
+            
+             You are not allowed to open this file. Contact the content provider for further assistance.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_LICENSE_OUTOFDATE">
+            
+             MessageId: MF_E_LICENSE_OUTOFDATE
+            
+             MessageText:
+            
+             The license for this media file has expired. Get a new license or contact the content provider for further assistance.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_LICENSE_REQUIRED">
+            
+             MessageId: MF_E_LICENSE_REQUIRED
+            
+             MessageText:
+            
+             You need a license to perform the requested operation on this media file.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_DRM_HARDWARE_INCONSISTENT">
+            
+             MessageId: MF_E_DRM_HARDWARE_INCONSISTENT
+            
+             MessageText:
+            
+             The licenses for your media files are corrupted. Contact Microsoft product support.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_CONTENT_PROTECTION_MANAGER">
+            
+             MessageId: MF_E_NO_CONTENT_PROTECTION_MANAGER
+            
+             MessageText:
+            
+             The APP needs to provide IMFContentProtectionManager callback to access the protected media file.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_LICENSE_RESTORE_NO_RIGHTS">
+            
+             MessageId: MF_E_LICENSE_RESTORE_NO_RIGHTS
+            
+             MessageText:
+            
+             Client does not have rights to restore licenses.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_BACKUP_RESTRICTED_LICENSE">
+            
+             MessageId: MF_E_BACKUP_RESTRICTED_LICENSE
+            
+             MessageText:
+            
+             Licenses are restricted and hence can not be backed up.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_LICENSE_RESTORE_NEEDS_INDIVIDUALIZATION">
+            
+             MessageId: MF_E_LICENSE_RESTORE_NEEDS_INDIVIDUALIZATION
+            
+             MessageText:
+            
+             License restore requires machine to be individualized.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_PROTECTION_NOT_REQUIRED">
+            
+             MessageId: MF_S_PROTECTION_NOT_REQUIRED
+            
+             MessageText:
+            
+             Protection for stream is not required.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_COMPONENT_REVOKED">
+            
+             MessageId: MF_E_COMPONENT_REVOKED
+            
+             MessageText:
+            
+             Component is revoked.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRUST_DISABLED">
+            
+             MessageId: MF_E_TRUST_DISABLED
+            
+             MessageText:
+            
+             Trusted functionality is currently disabled on this component.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_WMDRMOTA_NO_ACTION">
+            
+             MessageId: MF_E_WMDRMOTA_NO_ACTION
+            
+             MessageText:
+            
+             No Action is set on WMDRM Output Trust Authority.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_WMDRMOTA_ACTION_ALREADY_SET">
+            
+             MessageId: MF_E_WMDRMOTA_ACTION_ALREADY_SET
+            
+             MessageText:
+            
+             Action is already set on WMDRM Output Trust Authority.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_WMDRMOTA_DRM_HEADER_NOT_AVAILABLE">
+            
+             MessageId: MF_E_WMDRMOTA_DRM_HEADER_NOT_AVAILABLE
+            
+             MessageText:
+            
+             DRM Heaader is not available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_WMDRMOTA_DRM_ENCRYPTION_SCHEME_NOT_SUPPORTED">
+            
+             MessageId: MF_E_WMDRMOTA_DRM_ENCRYPTION_SCHEME_NOT_SUPPORTED
+            
+             MessageText:
+            
+             Current encryption scheme is not supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_WMDRMOTA_ACTION_MISMATCH">
+            
+             MessageId: MF_E_WMDRMOTA_ACTION_MISMATCH
+            
+             MessageText:
+            
+             Action does not match with current configuration.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_WMDRMOTA_INVALID_POLICY">
+            
+             MessageId: MF_E_WMDRMOTA_INVALID_POLICY
+            
+             MessageText:
+            
+             Invalid policy for WMDRM Output Trust Authority.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_POLICY_UNSUPPORTED">
+            
+             MessageId: MF_E_POLICY_UNSUPPORTED
+            
+             MessageText:
+            
+             The policies that the Input Trust Authority requires to be enforced are unsupported by the outputs.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_OPL_NOT_SUPPORTED">
+            
+             MessageId: MF_E_OPL_NOT_SUPPORTED
+            
+             MessageText:
+            
+             The OPL that the license requires to be enforced are not supported by the Input Trust Authority.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TOPOLOGY_VERIFICATION_FAILED">
+            
+             MessageId: MF_E_TOPOLOGY_VERIFICATION_FAILED
+            
+             MessageText:
+            
+             The topology could not be successfully verified.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_SIGNATURE_VERIFICATION_FAILED">
+            
+             MessageId: MF_E_SIGNATURE_VERIFICATION_FAILED
+            
+             MessageText:
+            
+             Signature verification could not be completed successfully for this component.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_DEBUGGING_NOT_ALLOWED">
+            
+             MessageId: MF_E_DEBUGGING_NOT_ALLOWED
+            
+             MessageText:
+            
+             Running this process under a debugger while using protected content is not allowed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_CODE_EXPIRED">
+            
+             MessageId: MF_E_CODE_EXPIRED
+            
+             MessageText:
+            
+             MF component has expired.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_GRL_VERSION_TOO_LOW">
+            
+             MessageId: MF_E_GRL_VERSION_TOO_LOW
+            
+             MessageText:
+            
+             The current GRL on the machine does not meet the minimum version requirements.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_GRL_RENEWAL_NOT_FOUND">
+            
+             MessageId: MF_E_GRL_RENEWAL_NOT_FOUND
+            
+             MessageText:
+            
+             The current GRL on the machine does not contain any renewal entries for the specified revocation.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_GRL_EXTENSIBLE_ENTRY_NOT_FOUND">
+            
+             MessageId: MF_E_GRL_EXTENSIBLE_ENTRY_NOT_FOUND
+            
+             MessageText:
+            
+             The current GRL on the machine does not contain any extensible entries for the specified extension GUID.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_KERNEL_UNTRUSTED">
+            
+             MessageId: MF_E_KERNEL_UNTRUSTED
+            
+             MessageText:
+            
+             The kernel isn't secure for high security level content.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PEAUTH_UNTRUSTED">
+            
+             MessageId: MF_E_PEAUTH_UNTRUSTED
+            
+             MessageText:
+            
+             The response from protected environment driver isn't valid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NON_PE_PROCESS">
+            
+             MessageId: MF_E_NON_PE_PROCESS
+            
+             MessageText:
+            
+             A non-PE process tried to talk to PEAuth.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_REBOOT_REQUIRED">
+            
+             MessageId: MF_E_REBOOT_REQUIRED
+            
+             MessageText:
+            
+             We need to reboot the machine.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_WAIT_FOR_POLICY_SET">
+            
+             MessageId: MF_S_WAIT_FOR_POLICY_SET
+            
+             MessageText:
+            
+             Protection for this stream is not guaranteed to be enforced until the MEPolicySet event is fired.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_VIDEO_DISABLED_WITH_UNKNOWN_SOFTWARE_OUTPUT">
+            
+             MessageId: MF_S_VIDEO_DISABLED_WITH_UNKNOWN_SOFTWARE_OUTPUT
+            
+             MessageText:
+            
+             This video stream is disabled because it is being sent to an unknown software output.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_GRL_INVALID_FORMAT">
+            
+             MessageId: MF_E_GRL_INVALID_FORMAT
+            
+             MessageText:
+            
+             The GRL file is not correctly formed, it may have been corrupted or overwritten.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_GRL_UNRECOGNIZED_FORMAT">
+            
+             MessageId: MF_E_GRL_UNRECOGNIZED_FORMAT
+            
+             MessageText:
+            
+             The GRL file is in a format newer than those recognized by this GRL Reader.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ALL_PROCESS_RESTART_REQUIRED">
+            
+             MessageId: MF_E_ALL_PROCESS_RESTART_REQUIRED
+            
+             MessageText:
+            
+             The GRL was reloaded and required all processes that can run protected media to restart.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PROCESS_RESTART_REQUIRED">
+            
+             MessageId: MF_E_PROCESS_RESTART_REQUIRED
+            
+             MessageText:
+            
+             The GRL was reloaded and the current process needs to restart.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_USERMODE_UNTRUSTED">
+            
+             MessageId: MF_E_USERMODE_UNTRUSTED
+            
+             MessageText:
+            
+             The user space is untrusted for protected content play.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PEAUTH_SESSION_NOT_STARTED">
+            
+             MessageId: MF_E_PEAUTH_SESSION_NOT_STARTED
+            
+             MessageText:
+            
+             PEAuth communication session hasn't been started.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PEAUTH_PUBLICKEY_REVOKED">
+            
+             MessageId: MF_E_PEAUTH_PUBLICKEY_REVOKED
+            
+             MessageText:
+            
+             PEAuth's public key is revoked.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_GRL_ABSENT">
+            
+             MessageId: MF_E_GRL_ABSENT
+            
+             MessageText:
+            
+             The GRL is absent.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_PE_TRUSTED">
+            
+             MessageId: MF_S_PE_TRUSTED
+            
+             MessageText:
+            
+             The Protected Environment is trusted.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PE_UNTRUSTED">
+            
+             MessageId: MF_E_PE_UNTRUSTED
+            
+             MessageText:
+            
+             The Protected Environment is untrusted.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PEAUTH_NOT_STARTED">
+            
+             MessageId: MF_E_PEAUTH_NOT_STARTED
+            
+             MessageText:
+            
+             The Protected Environment Authorization service (PEAUTH) has not been started.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INCOMPATIBLE_SAMPLE_PROTECTION">
+            
+             MessageId: MF_E_INCOMPATIBLE_SAMPLE_PROTECTION
+            
+             MessageText:
+            
+             The sample protection algorithms supported by components are not compatible.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_PE_SESSIONS_MAXED">
+            
+             MessageId: MF_E_PE_SESSIONS_MAXED
+            
+             MessageText:
+            
+             No more protected environment sessions can be supported.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_HIGH_SECURITY_LEVEL_CONTENT_NOT_ALLOWED">
+            
+             MessageId: MF_E_HIGH_SECURITY_LEVEL_CONTENT_NOT_ALLOWED
+            
+             MessageText:
+            
+             WMDRM ITA does not allow protected content with high security level for this release.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TEST_SIGNED_COMPONENTS_NOT_ALLOWED">
+            
+             MessageId: MF_E_TEST_SIGNED_COMPONENTS_NOT_ALLOWED
+            
+             MessageText:
+            
+             WMDRM ITA cannot allow the requested action for the content as one or more components is not properly signed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ITA_UNSUPPORTED_ACTION">
+            
+             MessageId: MF_E_ITA_UNSUPPORTED_ACTION
+            
+             MessageText:
+            
+             WMDRM ITA does not support the requested action.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ITA_ERROR_PARSING_SAP_PARAMETERS">
+            
+             MessageId: MF_E_ITA_ERROR_PARSING_SAP_PARAMETERS
+            
+             MessageText:
+            
+             WMDRM ITA encountered an error in parsing the Secure Audio Path parameters.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_POLICY_MGR_ACTION_OUTOFBOUNDS">
+            
+             MessageId: MF_E_POLICY_MGR_ACTION_OUTOFBOUNDS
+            
+             MessageText:
+            
+             The Policy Manager action passed in is invalid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_BAD_OPL_STRUCTURE_FORMAT">
+            
+             MessageId: MF_E_BAD_OPL_STRUCTURE_FORMAT
+            
+             MessageText:
+            
+             The structure specifying Output Protection Level is not the correct format.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ITA_UNRECOGNIZED_ANALOG_VIDEO_PROTECTION_GUID">
+            
+             MessageId: MF_E_ITA_UNRECOGNIZED_ANALOG_VIDEO_PROTECTION_GUID
+            
+             MessageText:
+            
+             WMDRM ITA does not recognize the Explicite Analog Video Output Protection guid specified in the license.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_PMP_HOST">
+            
+             MessageId: MF_E_NO_PMP_HOST
+            
+             MessageText:
+            
+             IMFPMPHost object not available.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ITA_OPL_DATA_NOT_INITIALIZED">
+            
+             MessageId: MF_E_ITA_OPL_DATA_NOT_INITIALIZED
+            
+             MessageText:
+            
+             WMDRM ITA could not initialize the Output Protection Level data.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ITA_UNRECOGNIZED_ANALOG_VIDEO_OUTPUT">
+            
+             MessageId: MF_E_ITA_UNRECOGNIZED_ANALOG_VIDEO_OUTPUT
+            
+             MessageText:
+            
+             WMDRM ITA does not recognize the Analog Video Output specified by the OTA.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ITA_UNRECOGNIZED_DIGITAL_VIDEO_OUTPUT">
+            
+             MessageId: MF_E_ITA_UNRECOGNIZED_DIGITAL_VIDEO_OUTPUT
+            
+             MessageText:
+            
+             WMDRM ITA does not recognize the Digital Video Output specified by the OTA.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_CLOCK_INVALID_CONTINUITY_KEY">
+            
+             MessageId: MF_E_CLOCK_INVALID_CONTINUITY_KEY
+            
+             MessageText:
+            
+             The continuity key supplied is not currently valid.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_CLOCK_NO_TIME_SOURCE">
+            
+             MessageId: MF_E_CLOCK_NO_TIME_SOURCE
+            
+             MessageText:
+            
+             No Presentation Time Source has been specified.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_CLOCK_STATE_ALREADY_SET">
+            
+             MessageId: MF_E_CLOCK_STATE_ALREADY_SET
+            
+             MessageText:
+            
+             The clock is already in the requested state.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_CLOCK_NOT_SIMPLE">
+            
+             MessageId: MF_E_CLOCK_NOT_SIMPLE
+            
+             MessageText:
+            
+             The clock has too many advanced features to carry out the request.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_S_CLOCK_STOPPED">
+            
+             MessageId: MF_S_CLOCK_STOPPED
+            
+             MessageText:
+            
+             Timer::SetTimer returns this success code if called happened while timer is stopped. Timer is not going to be dispatched until clock is running%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_MORE_DROP_MODES">
+            
+             MessageId: MF_E_NO_MORE_DROP_MODES
+            
+             MessageText:
+            
+             The component does not support any more drop modes.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_NO_MORE_QUALITY_LEVELS">
+            
+             MessageId: MF_E_NO_MORE_QUALITY_LEVELS
+            
+             MessageText:
+            
+             The component does not support any more quality levels.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_DROPTIME_NOT_SUPPORTED">
+            
+             MessageId: MF_E_DROPTIME_NOT_SUPPORTED
+            
+             MessageText:
+            
+             The component does not support drop time functionality.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_QUALITYKNOB_WAIT_LONGER">
+            
+             MessageId: MF_E_QUALITYKNOB_WAIT_LONGER
+            
+             MessageText:
+            
+             Quality Manager needs to wait longer before bumping the Quality Level up.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_QM_INVALIDSTATE">
+            
+             MessageId: MF_E_QM_INVALIDSTATE
+            
+             MessageText:
+            
+             Quality Manager is in an invalid state. Quality Management is off at this moment.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSCODE_NO_CONTAINERTYPE">
+            
+             MessageId: MF_E_TRANSCODE_NO_CONTAINERTYPE
+            
+             MessageText:
+            
+             No transcode output container type is specified.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSCODE_PROFILE_NO_MATCHING_STREAMS">
+            
+             MessageId: MF_E_TRANSCODE_PROFILE_NO_MATCHING_STREAMS
+            
+             MessageText:
+            
+             The profile does not have a media type configuration for any selected source streams.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_TRANSCODE_NO_MATCHING_ENCODER">
+            
+             MessageId: MF_E_TRANSCODE_NO_MATCHING_ENCODER
+            
+             MessageText:
+            
+             Cannot find an encoder MFT that accepts the user preferred output type.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ALLOCATOR_NOT_INITIALIZED">
+            
+             MessageId: MF_E_ALLOCATOR_NOT_INITIALIZED
+            
+             MessageText:
+            
+             Memory allocator is not initialized.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ALLOCATOR_NOT_COMMITED">
+            
+             MessageId: MF_E_ALLOCATOR_NOT_COMMITED
+            
+             MessageText:
+            
+             Memory allocator is not committed yet.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_ALLOCATOR_ALREADY_COMMITED">
+            
+             MessageId: MF_E_ALLOCATOR_ALREADY_COMMITED
+            
+             MessageText:
+            
+             Memory allocator has already been committed.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_STREAM_ERROR">
+            
+             MessageId: MF_E_STREAM_ERROR
+            
+             MessageText:
+            
+             An error occurred in media stream.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_INVALID_STREAM_STATE">
+            
+             MessageId: MF_E_INVALID_STREAM_STATE
+            
+             MessageText:
+            
+             Stream is not in a state to handle the request.%0
+            
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationErrors.MF_E_HW_STREAM_NOT_CONNECTED">
+            
+             MessageId: MF_E_HW_STREAM_NOT_CONNECTED
+            
+             MessageText:
+            
+             Hardware stream is not connected yet.%0
+            
+        </member>
+        <member name="T:NAudio.MediaFoundation.MediaFoundationApi">
+            <summary>
+            Main interface for using Media Foundation with NAudio
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.Startup">
+            <summary>
+            initializes MediaFoundation - only needs to be called once per process
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.Shutdown">
+            <summary>
+            uninitializes MediaFoundation
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.CreateMediaType">
+            <summary>
+            Creates a Media type
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.CreateMediaTypeFromWaveFormat(NAudio.Wave.WaveFormat)">
+            <summary>
+            Creates a media type from a WaveFormat
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.CreateMemoryBuffer(System.Int32)">
+            <summary>
+            Creates a memory buffer of the specified size
+            </summary>
+            <param name="bufferSize">Memory buffer size in bytes</param>
+            <returns>The memory buffer</returns>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.CreateSample">
+            <summary>
+            Creates a sample object
+            </summary>
+            <returns>The sample object</returns>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.CreateAttributes(System.Int32)">
+            <summary>
+            Creates a new attributes store
+            </summary>
+            <param name="initialSize">Initial size</param>
+            <returns>The attributes store</returns>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.CreateByteStream(System.Object)">
+            <summary>
+            Creates a media foundation byte stream based on a stream object
+            (usable with WinRT streams)
+            </summary>
+            <param name="stream">The input stream</param>
+            <returns>A media foundation byte stream</returns>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationApi.CreateSourceReaderFromByteStream(NAudio.MediaFoundation.IMFByteStream)">
+            <summary>
+            Creates a source reader based on a byte stream
+            </summary>
+            <param name="byteStream">The byte stream</param>
+            <returns>A media foundation source reader</returns>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MediaFoundationInterop">
+            <summary>
+            Interop definitions for MediaFoundation
+            thanks to Lucian Wischik for the initial work on many of these definitions (also various interfaces)
+            n.b. the goal is to make as much of this internal as possible, and provide
+            better .NET APIs using the MediaFoundationApi class instead
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationInterop.MF_SOURCE_READER_ALL_STREAMS">
+            <summary>
+            All streams
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationInterop.MF_SOURCE_READER_FIRST_AUDIO_STREAM">
+            <summary>
+            First audio stream
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationInterop.MF_SOURCE_READER_FIRST_VIDEO_STREAM">
+            <summary>
+            First video stream
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationInterop.MF_SOURCE_READER_MEDIASOURCE">
+            <summary>
+            Media source
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationInterop.MF_SDK_VERSION">
+            <summary>
+            Media Foundation SDK Version
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationInterop.MF_API_VERSION">
+            <summary>
+            Media Foundation API Version
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationInterop.MF_VERSION">
+            <summary>
+            Media Foundation Version
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFStartup(System.Int32,System.Int32)">
+            <summary>
+            Initializes Microsoft Media Foundation.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFShutdown">
+            <summary>
+            Shuts down the Microsoft Media Foundation platform
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFCreateMediaType(NAudio.MediaFoundation.IMFMediaType@)">
+            <summary>
+            Creates an empty media type.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFInitMediaTypeFromWaveFormatEx(NAudio.MediaFoundation.IMFMediaType,NAudio.Wave.WaveFormat,System.Int32)">
+            <summary>
+            Initializes a media type from a WAVEFORMATEX structure. 
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFCreateWaveFormatExFromMFMediaType(NAudio.MediaFoundation.IMFMediaType,System.IntPtr@,System.Int32@,System.Int32)">
+            <summary>
+            Converts a Media Foundation audio media type to a WAVEFORMATEX structure.
+            </summary>
+            TODO: try making second parameter out WaveFormatExtraData
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFCreateSourceReaderFromURL(System.String,NAudio.MediaFoundation.IMFAttributes,NAudio.MediaFoundation.IMFSourceReader@)">
+            <summary>
+            Creates the source reader from a URL.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFCreateSourceReaderFromByteStream(NAudio.MediaFoundation.IMFByteStream,NAudio.MediaFoundation.IMFAttributes,NAudio.MediaFoundation.IMFSourceReader@)">
+            <summary>
+            Creates the source reader from a byte stream.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFCreateSinkWriterFromURL(System.String,NAudio.MediaFoundation.IMFByteStream,NAudio.MediaFoundation.IMFAttributes,NAudio.MediaFoundation.IMFSinkWriter@)">
+            <summary>
+            Creates the sink writer from a URL or byte stream.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFCreateMFByteStreamOnStreamEx(System.Object,NAudio.MediaFoundation.IMFByteStream@)">
+            <summary>
+            Creates a Microsoft Media Foundation byte stream that wraps an IRandomAccessStream object.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFCreateSample(NAudio.MediaFoundation.IMFSample@)">
+            <summary>
+            Creates an empty media sample.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFCreateMemoryBuffer(System.Int32,NAudio.MediaFoundation.IMFMediaBuffer@)">
+            <summary>
+            Allocates system memory and creates a media buffer to manage it.
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationInterop.MFCreateAttributes(NAudio.MediaFoundation.IMFAttributes@,System.Int32)">
+            <summary>
+            Creates an empty attribute store. 
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MediaFoundationTransform">
+            <summary>
+            An abstract base class for simplifying working with Media Foundation Transforms
+            You need to override the method that actually creates and configures the transform
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.IWaveProvider">
+            <summary>
+            Generic interface for all WaveProviders.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.IWaveProvider.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Fill the specified buffer with wave data.
+            </summary>
+            <param name="buffer">The buffer to fill of wave data.</param>
+            <param name="offset">Offset into buffer</param>
+            <param name="count">The number of bytes to read</param>
+            <returns>the number of bytes written to the buffer.</returns>
+        </member>
+        <member name="P:NAudio.Wave.IWaveProvider.WaveFormat">
+            <summary>
+            Gets the WaveFormat of this WaveProvider.
+            </summary>
+            <value>The wave format.</value>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransform.sourceProvider">
+            <summary>
+            The Source Provider
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransform.outputWaveFormat">
+            <summary>
+            The Output WaveFormat
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationTransform.#ctor(NAudio.Wave.IWaveProvider,NAudio.Wave.WaveFormat)">
+            <summary>
+            Constructs a new MediaFoundationTransform wrapper
+            Will read one second at a time
+            </summary>
+            <param name="sourceProvider">The source provider for input data to the transform</param>
+            <param name="outputFormat">The desired output format</param>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationTransform.CreateTransform">
+            <summary>
+            To be implemented by overriding classes. Create the transform object, set up its input and output types,
+            and configure any custom properties in here
+            </summary>
+            <returns>An object implementing IMFTrasform</returns>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationTransform.Dispose(System.Boolean)">
+            <summary>
+            Disposes this MediaFoundation transform
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationTransform.Dispose">
+            <summary>
+            Disposes this Media Foundation Transform
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationTransform.Finalize">
+            <summary>
+            Destructor
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationTransform.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads data out of the source, passing it through the transform
+            </summary>
+            <param name="buffer">Output buffer</param>
+            <param name="offset">Offset within buffer to write to</param>
+            <param name="count">Desired byte count</param>
+            <returns>Number of bytes read</returns>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationTransform.ReadFromTransform">
+            <summary>
+            Attempts to read from the transform
+            Some useful info here:
+            http://msdn.microsoft.com/en-gb/library/windows/desktop/aa965264%28v=vs.85%29.aspx#process_data
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaFoundationTransform.Reposition">
+            <summary>
+            Indicate that the source has been repositioned and completely drain out the transforms buffers
+            </summary>
+        </member>
+        <member name="P:NAudio.MediaFoundation.MediaFoundationTransform.WaveFormat">
+            <summary>
+            The output WaveFormat of this Media Foundation Transform
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MediaFoundationTransformCategories">
+            <summary>
+            Media Foundation Transform Categories
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.VideoDecoder">
+            <summary>
+            MFT_CATEGORY_VIDEO_DECODER
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.VideoEncoder">
+            <summary>
+            MFT_CATEGORY_VIDEO_ENCODER
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.VideoEffect">
+            <summary>
+            MFT_CATEGORY_VIDEO_EFFECT
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.Multiplexer">
+            <summary>
+            MFT_CATEGORY_MULTIPLEXER
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.Demultiplexer">
+            <summary>
+            MFT_CATEGORY_DEMULTIPLEXER
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.AudioDecoder">
+            <summary>
+            MFT_CATEGORY_AUDIO_DECODER
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.AudioEncoder">
+            <summary>
+            MFT_CATEGORY_AUDIO_ENCODER
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.AudioEffect">
+            <summary>
+            MFT_CATEGORY_AUDIO_EFFECT
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.VideoProcessor">
+            <summary>
+            MFT_CATEGORY_VIDEO_PROCESSOR
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaFoundationTransformCategories.Other">
+            <summary>
+            MFT_CATEGORY_OTHER
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MediaType">
+            <summary>
+            Media Type helper class, simplifying working with IMFMediaType
+            (will probably change in the future, to inherit from an attributes class)
+            Currently does not release the COM object, so you must do that yourself
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaType.#ctor(NAudio.MediaFoundation.IMFMediaType)">
+            <summary>
+            Wraps an existing IMFMediaType object
+            </summary>
+            <param name="mediaType">The IMFMediaType object</param>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaType.#ctor">
+            <summary>
+            Creates and wraps a new IMFMediaType object
+            </summary>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaType.#ctor(NAudio.Wave.WaveFormat)">
+            <summary>
+            Creates and wraps a new IMFMediaType object based on a WaveFormat
+            </summary>
+            <param name="waveFormat">WaveFormat</param>
+        </member>
+        <member name="M:NAudio.MediaFoundation.MediaType.TryGetUInt32(System.Guid,System.Int32)">
+            <summary>
+            Tries to get a UINT32 value, returning a default value if it doesn't exist
+            </summary>
+            <param name="key">Attribute key</param>
+            <param name="defaultValue">Default value</param>
+            <returns>Value or default if key doesn't exist</returns>
+        </member>
+        <member name="P:NAudio.MediaFoundation.MediaType.SampleRate">
+            <summary>
+            The Sample Rate (valid for audio media types)
+            </summary>
+        </member>
+        <member name="P:NAudio.MediaFoundation.MediaType.ChannelCount">
+            <summary>
+            The number of Channels (valid for audio media types)
+            </summary>
+        </member>
+        <member name="P:NAudio.MediaFoundation.MediaType.BitsPerSample">
+            <summary>
+            The number of bits per sample (n.b. not always valid for compressed audio types)
+            </summary>
+        </member>
+        <member name="P:NAudio.MediaFoundation.MediaType.AverageBytesPerSecond">
+            <summary>
+            The average bytes per second (valid for audio media types)
+            </summary>
+        </member>
+        <member name="P:NAudio.MediaFoundation.MediaType.SubType">
+            <summary>
+            The Media Subtype. For audio, is a value from the AudioSubtypes class
+            </summary>
+        </member>
+        <member name="P:NAudio.MediaFoundation.MediaType.MajorType">
+            <summary>
+            The Major type, e.g. audio or video (from the MediaTypes class)
+            </summary>
+        </member>
+        <member name="P:NAudio.MediaFoundation.MediaType.MediaFoundationObject">
+            <summary>
+            Access to the actual IMFMediaType object
+            Use to pass to MF APIs or Marshal.ReleaseComObject when you are finished with it
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MediaTypes">
+            <summary>
+            Major Media Types
+            http://msdn.microsoft.com/en-us/library/windows/desktop/aa367377%28v=vs.85%29.aspx
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_Default">
+            <summary>
+            Default
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_Audio">
+            <summary>
+            Audio
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_Video">
+            <summary>
+            Video
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_Protected">
+            <summary>
+            Protected Media
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_SAMI">
+            <summary>
+            Synchronized Accessible Media Interchange (SAMI) captions.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_Script">
+            <summary>
+            Script stream
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_Image">
+            <summary>
+            Still image stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_HTML">
+            <summary>
+            HTML stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_Binary">
+            <summary>
+            Binary stream.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MediaTypes.MFMediaType_FileTransfer">
+            <summary>
+            A stream that contains data files.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MFT_INPUT_STREAM_INFO">
+            <summary>
+            Contains information about an input stream on a Media Foundation transform (MFT)
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_INPUT_STREAM_INFO.hnsMaxLatency">
+            <summary>
+            Maximum amount of time between an input sample and the corresponding output sample, in 100-nanosecond units.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_INPUT_STREAM_INFO.dwFlags">
+            <summary>
+            Bitwise OR of zero or more flags from the _MFT_INPUT_STREAM_INFO_FLAGS enumeration.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_INPUT_STREAM_INFO.cbSize">
+            <summary>
+            The minimum size of each input buffer, in bytes.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_INPUT_STREAM_INFO.cbMaxLookahead">
+            <summary>
+            Maximum amount of input data, in bytes, that the MFT holds to perform lookahead.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_INPUT_STREAM_INFO.cbAlignment">
+            <summary>
+            The memory alignment required for input buffers. If the MFT does not require a specific alignment, the value is zero.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MFT_MESSAGE_TYPE">
+            <summary>
+            Defines messages for a Media Foundation transform (MFT).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_COMMAND_FLUSH">
+            <summary>
+            Requests the MFT to flush all stored data. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_COMMAND_DRAIN">
+            <summary>
+            Requests the MFT to drain any stored data.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_SET_D3D_MANAGER">
+            <summary>
+            Sets or clears the Direct3D Device Manager for DirectX Video Accereration (DXVA). 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_DROP_SAMPLES">
+            <summary>
+            Drop samples - requires Windows 7
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_COMMAND_TICK">
+            <summary>
+            Command Tick - requires Windows 8
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_NOTIFY_BEGIN_STREAMING">
+            <summary>
+            Notifies the MFT that streaming is about to begin. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_NOTIFY_END_STREAMING">
+            <summary>
+            Notifies the MFT that streaming is about to end. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_NOTIFY_END_OF_STREAM">
+            <summary>
+            Notifies the MFT that an input stream has ended. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_NOTIFY_START_OF_STREAM">
+            <summary>
+            Notifies the MFT that the first sample is about to be processed. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_MESSAGE_TYPE.MFT_MESSAGE_COMMAND_MARKER">
+            <summary>
+            Marks a point in the stream. This message applies only to asynchronous MFTs. Requires Windows 7 
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MFT_OUTPUT_DATA_BUFFER">
+            <summary>
+            Contains information about an output buffer for a Media Foundation transform. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_OUTPUT_DATA_BUFFER.dwStreamID">
+            <summary>
+            Output stream identifier.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_OUTPUT_DATA_BUFFER.pSample">
+            <summary>
+            Pointer to the IMFSample interface. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_OUTPUT_DATA_BUFFER.dwStatus">
+            <summary>
+            Before calling ProcessOutput, set this member to zero.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_OUTPUT_DATA_BUFFER.pEvents">
+            <summary>
+            Before calling ProcessOutput, set this member to NULL.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MFT_OUTPUT_STREAM_INFO">
+            <summary>
+            Contains information about an output stream on a Media Foundation transform (MFT).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_OUTPUT_STREAM_INFO.dwFlags">
+            <summary>
+            Bitwise OR of zero or more flags from the _MFT_OUTPUT_STREAM_INFO_FLAGS enumeration.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_OUTPUT_STREAM_INFO.cbSize">
+            <summary>
+            Minimum size of each output buffer, in bytes.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_OUTPUT_STREAM_INFO.cbAlignment">
+            <summary>
+            The memory alignment required for output buffers.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MFT_REGISTER_TYPE_INFO">
+            <summary>
+            Contains media type information for registering a Media Foundation transform (MFT). 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_REGISTER_TYPE_INFO.guidMajorType">
+            <summary>
+            The major media type.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MFT_REGISTER_TYPE_INFO.guidSubtype">
+            <summary>
+            The Media Subtype
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS">
+            <summary>
+            Contains statistics about the performance of the sink writer.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.cb">
+            <summary>
+            The size of the structure, in bytes.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.llLastTimestampReceived">
+            <summary>
+            The time stamp of the most recent sample given to the sink writer.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.llLastTimestampEncoded">
+            <summary>
+            The time stamp of the most recent sample to be encoded.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.llLastTimestampProcessed">
+            <summary>
+            The time stamp of the most recent sample given to the media sink.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.llLastStreamTickReceived">
+            <summary>
+            The time stamp of the most recent stream tick. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.llLastSinkSampleRequest">
+            <summary>
+            The system time of the most recent sample request from the media sink. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.qwNumSamplesReceived">
+            <summary>
+            The number of samples received.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.qwNumSamplesEncoded">
+            <summary>
+            The number of samples encoded.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.qwNumSamplesProcessed">
+            <summary>
+            The number of samples given to the media sink.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.qwNumStreamTicksReceived">
+            <summary>
+            The number of stream ticks received.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.dwByteCountQueued">
+            <summary>
+            The amount of data, in bytes, currently waiting to be processed. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.qwByteCountProcessed">
+            <summary>
+            The total amount of data, in bytes, that has been sent to the media sink.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.dwNumOutstandingSinkSampleRequests">
+            <summary>
+            The number of pending sample requests.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.dwAverageSampleRateReceived">
+            <summary>
+            The average rate, in media samples per 100-nanoseconds, at which the application sent samples to the sink writer.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.dwAverageSampleRateEncoded">
+            <summary>
+            The average rate, in media samples per 100-nanoseconds, at which the sink writer sent samples to the encoder
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation.MF_SINK_WRITER_STATISTICS.dwAverageSampleRateProcessed">
+            <summary>
+            The average rate, in media samples per 100-nanoseconds, at which the sink writer sent samples to the media sink.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation._MFT_ENUM_FLAG">
+            <summary>
+            Contains flags for registering and enumeration Media Foundation transforms (MFTs).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_ENUM_FLAG.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_ENUM_FLAG.MFT_ENUM_FLAG_SYNCMFT">
+            <summary>
+            The MFT performs synchronous data processing in software. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_ENUM_FLAG.MFT_ENUM_FLAG_ASYNCMFT">
+            <summary>
+            The MFT performs asynchronous data processing in software.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_ENUM_FLAG.MFT_ENUM_FLAG_HARDWARE">
+            <summary>
+            The MFT performs hardware-based data processing, using either the AVStream driver or a GPU-based proxy MFT. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_ENUM_FLAG.MFT_ENUM_FLAG_FIELDOFUSE">
+            <summary>
+            The MFT that must be unlocked by the application before use.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_ENUM_FLAG.MFT_ENUM_FLAG_LOCALMFT">
+            <summary>
+            For enumeration, include MFTs that were registered in the caller's process.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_ENUM_FLAG.MFT_ENUM_FLAG_TRANSCODE_ONLY">
+            <summary>
+            The MFT is optimized for transcoding rather than playback.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_ENUM_FLAG.MFT_ENUM_FLAG_SORTANDFILTER">
+            <summary>
+            For enumeration, sort and filter the results.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_ENUM_FLAG.MFT_ENUM_FLAG_ALL">
+            <summary>
+            Bitwise OR of all the flags, excluding MFT_ENUM_FLAG_SORTANDFILTER.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation._MFT_INPUT_STATUS_FLAGS">
+            <summary>
+            Indicates the status of an input stream on a Media Foundation transform (MFT).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STATUS_FLAGS.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STATUS_FLAGS.MFT_INPUT_STATUS_ACCEPT_DATA">
+            <summary>
+            The input stream can receive more data at this time.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS">
+            <summary>
+            Describes an input stream on a Media Foundation transform (MFT).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS.None">
+            <summary>
+            No flags set
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS.MFT_INPUT_STREAM_WHOLE_SAMPLES">
+            <summary>
+            Each media sample (IMFSample interface) of input data must contain complete, unbroken units of data. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS.MFT_INPUT_STREAM_SINGLE_SAMPLE_PER_BUFFER">
+            <summary>
+            Each media sample that the client provides as input must contain exactly one unit of data, as defined for the MFT_INPUT_STREAM_WHOLE_SAMPLES flag.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS.MFT_INPUT_STREAM_FIXED_SAMPLE_SIZE">
+            <summary>
+            All input samples must be the same size.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS.MFT_INPUT_STREAM_HOLDS_BUFFERS">
+            <summary>
+            MTF Input Stream Holds buffers
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS.MFT_INPUT_STREAM_DOES_NOT_ADDREF">
+            <summary>
+            The MFT does not hold input samples after the IMFTransform::ProcessInput method returns.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS.MFT_INPUT_STREAM_REMOVABLE">
+            <summary>
+            This input stream can be removed by calling IMFTransform::DeleteInputStream.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS.MFT_INPUT_STREAM_OPTIONAL">
+            <summary>
+            This input stream is optional. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_INPUT_STREAM_INFO_FLAGS.MFT_INPUT_STREAM_PROCESSES_IN_PLACE">
+            <summary>
+            The MFT can perform in-place processing.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation._MFT_OUTPUT_DATA_BUFFER_FLAGS">
+            <summary>
+            Defines flags for the IMFTransform::ProcessOutput method. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_DATA_BUFFER_FLAGS.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_DATA_BUFFER_FLAGS.MFT_OUTPUT_DATA_BUFFER_INCOMPLETE">
+            <summary>
+            The MFT can still generate output from this stream without receiving any more input. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_DATA_BUFFER_FLAGS.MFT_OUTPUT_DATA_BUFFER_FORMAT_CHANGE">
+            <summary>
+            The format has changed on this output stream, or there is a new preferred format for this stream. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_DATA_BUFFER_FLAGS.MFT_OUTPUT_DATA_BUFFER_STREAM_END">
+            <summary>
+            The MFT has removed this output stream. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_DATA_BUFFER_FLAGS.MFT_OUTPUT_DATA_BUFFER_NO_SAMPLE">
+            <summary>
+            There is no sample ready for this stream.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation._MFT_OUTPUT_STATUS_FLAGS">
+            <summary>
+            Indicates whether a Media Foundation transform (MFT) can produce output data.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STATUS_FLAGS.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STATUS_FLAGS.MFT_OUTPUT_STATUS_SAMPLE_READY">
+            <summary>
+            There is a sample available for at least one output stream.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS">
+            <summary>
+            Describes an output stream on a Media Foundation transform (MFT).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.None">
+            <summary>
+            No flags set
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.MFT_OUTPUT_STREAM_WHOLE_SAMPLES">
+            <summary>
+            Each media sample (IMFSample interface) of output data from the MFT contains complete, unbroken units of data.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.MFT_OUTPUT_STREAM_SINGLE_SAMPLE_PER_BUFFER">
+            <summary>
+            Each output sample contains exactly one unit of data, as defined for the MFT_OUTPUT_STREAM_WHOLE_SAMPLES flag.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.MFT_OUTPUT_STREAM_FIXED_SAMPLE_SIZE">
+            <summary>
+            All output samples are the same size.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.MFT_OUTPUT_STREAM_DISCARDABLE">
+            <summary>
+            The MFT can discard the output data from this output stream, if requested by the client.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.MFT_OUTPUT_STREAM_OPTIONAL">
+            <summary>
+            This output stream is optional.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.MFT_OUTPUT_STREAM_PROVIDES_SAMPLES">
+            <summary>
+            The MFT provides the output samples for this stream, either by allocating them internally or by operating directly on the input samples.
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.MFT_OUTPUT_STREAM_CAN_PROVIDE_SAMPLES">
+            <summary>
+            The MFT can either provide output samples for this stream or it can use samples that the client allocates. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.MFT_OUTPUT_STREAM_LAZY_READ">
+            <summary>
+            The MFT does not require the client to process the output for this stream. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_OUTPUT_STREAM_INFO_FLAGS.MFT_OUTPUT_STREAM_REMOVABLE">
+            <summary>
+            The MFT might remove this output stream during streaming.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation._MFT_PROCESS_OUTPUT_FLAGS">
+            <summary>
+            Defines flags for processing output samples in a Media Foundation transform (MFT).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_PROCESS_OUTPUT_FLAGS.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_PROCESS_OUTPUT_FLAGS.MFT_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER">
+            <summary>
+            Do not produce output for streams in which the pSample member of the MFT_OUTPUT_DATA_BUFFER structure is NULL. 
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_PROCESS_OUTPUT_FLAGS.MFT_PROCESS_OUTPUT_REGENERATE_LAST_OUTPUT">
+            <summary>
+            Regenerates the last output sample.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation._MFT_PROCESS_OUTPUT_STATUS">
+            <summary>
+            Process Output Status flags
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_PROCESS_OUTPUT_STATUS.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_PROCESS_OUTPUT_STATUS.MFT_PROCESS_OUTPUT_STATUS_NEW_STREAMS">
+            <summary>
+            The Media Foundation transform (MFT) has created one or more new output streams.
+            </summary>
+        </member>
+        <member name="T:NAudio.MediaFoundation._MFT_SET_TYPE_FLAGS">
+            <summary>
+            Defines flags for the setting or testing the media type on a Media Foundation transform (MFT).
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_SET_TYPE_FLAGS.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:NAudio.MediaFoundation._MFT_SET_TYPE_FLAGS.MFT_SET_TYPE_TEST_ONLY">
+            <summary>
+            Test the proposed media type, but do not set it.
+            </summary>
+        </member>
+        <member name="T:NAudio.Utils.BufferHelpers">
+            <summary>
+            Helper methods for working with audio buffers
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.BufferHelpers.Ensure(System.Byte[],System.Int32)">
+            <summary>
+            Ensures the buffer is big enough
+            </summary>
+            <param name="buffer"></param>
+            <param name="bytesRequired"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Utils.BufferHelpers.Ensure(System.Single[],System.Int32)">
+            <summary>
+            Ensures the buffer is big enough
+            </summary>
+            <param name="buffer"></param>
+            <param name="samplesRequired"></param>
+            <returns></returns>
+        </member>
+        <member name="T:NAudio.Utils.ByteArrayExtensions">
+            <summary>
+            these will become extension methods once we move to .NET 3.5
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteArrayExtensions.IsEntirelyNull(System.Byte[])">
+            <summary>
+            Checks if the buffer passed in is entirely full of nulls
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteArrayExtensions.DescribeAsHex(System.Byte[],System.String,System.Int32)">
+            <summary>
+            Converts to a string containing the buffer described in hex
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteArrayExtensions.DecodeAsString(System.Byte[],System.Int32,System.Int32,System.Text.Encoding)">
+            <summary>
+            Decodes the buffer using the specified encoding, stopping at the first null
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteArrayExtensions.Concat(System.Byte[][])">
+            <summary>
+            Concatenates the given arrays into a single array.
+            </summary>
+            <param name="byteArrays">The arrays to concatenate</param>
+            <returns>The concatenated resulting array.</returns>
+        </member>
+        <member name="T:NAudio.Utils.ByteEncoding">
+            <summary>
+            An encoding for use with file types that have one byte per character
+            </summary>
+        </member>
+        <member name="F:NAudio.Utils.ByteEncoding.Instance">
+            <summary>
+            The one and only instance of this class
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteEncoding.GetByteCount(System.Char[],System.Int32,System.Int32)">
+            <summary>
+            <see cref="M:System.Text.Encoding.GetByteCount(System.Char[],System.Int32,System.Int32)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteEncoding.GetBytes(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+            <summary>
+            <see cref="M:System.Text.Encoding.GetBytes(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteEncoding.GetCharCount(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            <see cref="M:System.Text.Encoding.GetCharCount(System.Byte[],System.Int32,System.Int32)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteEncoding.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)">
+            <summary>
+            <see cref="M:System.Text.Encoding.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteEncoding.GetMaxCharCount(System.Int32)">
+            <summary>
+            <see cref="M:System.Text.Encoding.GetMaxCharCount(System.Int32)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.ByteEncoding.GetMaxByteCount(System.Int32)">
+            <summary>
+            <see cref="M:System.Text.Encoding.GetMaxByteCount(System.Int32)"/>
+            </summary>
+        </member>
+        <member name="T:NAudio.Utils.CircularBuffer">
+            <summary>
+            A very basic circular buffer implementation
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.CircularBuffer.#ctor(System.Int32)">
+            <summary>
+            Create a new circular buffer
+            </summary>
+            <param name="size">Max buffer size in bytes</param>
+        </member>
+        <member name="M:NAudio.Utils.CircularBuffer.Write(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Write data to the buffer
+            </summary>
+            <param name="data">Data to write</param>
+            <param name="offset">Offset into data</param>
+            <param name="count">Number of bytes to write</param>
+            <returns>number of bytes written</returns>
+        </member>
+        <member name="M:NAudio.Utils.CircularBuffer.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Read from the buffer
+            </summary>
+            <param name="data">Buffer to read into</param>
+            <param name="offset">Offset into read buffer</param>
+            <param name="count">Bytes to read</param>
+            <returns>Number of bytes actually read</returns>
+        </member>
+        <member name="M:NAudio.Utils.CircularBuffer.Reset">
+            <summary>
+            Resets the buffer
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.CircularBuffer.Advance(System.Int32)">
+            <summary>
+            Advances the buffer, discarding bytes
+            </summary>
+            <param name="count">Bytes to advance</param>
+        </member>
+        <member name="P:NAudio.Utils.CircularBuffer.MaxLength">
+            <summary>
+            Maximum length of this circular buffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Utils.CircularBuffer.Count">
+            <summary>
+            Number of bytes currently stored in the circular buffer
+            </summary>
+        </member>
+        <member name="T:NAudio.Utils.Decibels">
+            <summary>
+            A util class for conversions
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.Decibels.LinearToDecibels(System.Double)">
+            <summary>
+            linear to dB conversion
+            </summary>
+            <param name="lin">linear value</param>
+            <returns>decibel value</returns>
+        </member>
+        <member name="M:NAudio.Utils.Decibels.DecibelsToLinear(System.Double)">
+            <summary>
+            dB to linear conversion
+            </summary>
+            <param name="dB">decibel value</param>
+            <returns>linear value</returns>
+        </member>
+        <member name="T:NAudio.Utils.FieldDescriptionAttribute">
+            <summary>
+            Allows us to add descriptions to interop members
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.FieldDescriptionAttribute.#ctor(System.String)">
+            <summary>
+            Field description
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.FieldDescriptionAttribute.ToString">
+            <summary>
+            String representation
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:NAudio.Utils.FieldDescriptionAttribute.Description">
+            <summary>
+            The description
+            </summary>
+        </member>
+        <member name="T:NAudio.Utils.FieldDescriptionHelper">
+            <summary>
+            Helper to get descriptions
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.FieldDescriptionHelper.Describe(System.Type,System.Guid)">
+            <summary>
+            Describes the Guid  by looking for a FieldDescription attribute on the specified class
+            </summary>
+        </member>
+        <member name="T:NAudio.Utils.HResult">
+            <summary>
+            HResult
+            </summary>
+        </member>
+        <member name="F:NAudio.Utils.HResult.S_OK">
+            <summary>
+            S_OK
+            </summary>
+        </member>
+        <member name="F:NAudio.Utils.HResult.S_FALSE">
+            <summary>
+            S_FALSE
+            </summary>
+        </member>
+        <member name="F:NAudio.Utils.HResult.E_INVALIDARG">
+            <summary>
+            E_INVALIDARG (from winerror.h)
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.HResult.MAKE_HRESULT(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            MAKE_HRESULT macro
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.HResult.GetHResult(System.Runtime.InteropServices.COMException)">
+            <summary>
+            Helper to deal with the fact that in Win Store apps,
+            the HResult property name has changed
+            </summary>
+            <param name="exception">COM Exception</param>
+            <returns>The HResult</returns>
+        </member>
+        <member name="T:NAudio.Utils.IEEE">
+            <summary>
+            Methods for converting between IEEE 80-bit extended double precision
+            and standard C# double precision.
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.IEEE.ConvertToIeeeExtended(System.Double)">
+            <summary>
+            Converts a C# double precision number to an 80-bit
+            IEEE extended double precision number (occupying 10 bytes).
+            </summary>
+            <param name="num">The double precision number to convert to IEEE extended.</param>
+            <returns>An array of 10 bytes containing the IEEE extended number.</returns>
+        </member>
+        <member name="M:NAudio.Utils.IEEE.ConvertFromIeeeExtended(System.Byte[])">
+            <summary>
+            Converts an IEEE 80-bit extended precision number to a
+            C# double precision number.
+            </summary>
+            <param name="bytes">The 80-bit IEEE extended number (as an array of 10 bytes).</param>
+            <returns>A C# double precision number that is a close representation of the IEEE extended number.</returns>
+        </member>
+        <member name="T:NAudio.Utils.IgnoreDisposeStream">
+            <summary>
+            Pass-through stream that ignores Dispose
+            Useful for dealing with MemoryStreams that you want to re-use
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.IgnoreDisposeStream.#ctor(System.IO.Stream)">
+            <summary>
+            Creates a new IgnoreDisposeStream
+            </summary>
+            <param name="sourceStream">The source stream</param>
+        </member>
+        <member name="M:NAudio.Utils.IgnoreDisposeStream.Flush">
+            <summary>
+            Flushes the underlying stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.IgnoreDisposeStream.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads from the underlying stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.IgnoreDisposeStream.Seek(System.Int64,System.IO.SeekOrigin)">
+            <summary>
+            Seeks on the underlying stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.IgnoreDisposeStream.SetLength(System.Int64)">
+            <summary>
+            Sets the length of the underlying stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.IgnoreDisposeStream.Write(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Writes to the underlying stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.IgnoreDisposeStream.Dispose(System.Boolean)">
+            <summary>
+            Dispose - by default (IgnoreDispose = true) will do nothing,
+            leaving the underlying stream undisposed
+            </summary>
+        </member>
+        <member name="P:NAudio.Utils.IgnoreDisposeStream.SourceStream">
+            <summary>
+            The source stream all other methods fall through to
+            </summary>
+        </member>
+        <member name="P:NAudio.Utils.IgnoreDisposeStream.IgnoreDispose">
+            <summary>
+            If true the Dispose will be ignored, if false, will pass through to the SourceStream
+            Set to true by default
+            </summary>
+        </member>
+        <member name="P:NAudio.Utils.IgnoreDisposeStream.CanRead">
+            <summary>
+            Can Read
+            </summary>
+        </member>
+        <member name="P:NAudio.Utils.IgnoreDisposeStream.CanSeek">
+            <summary>
+            Can Seek
+            </summary>
+        </member>
+        <member name="P:NAudio.Utils.IgnoreDisposeStream.CanWrite">
+            <summary>
+            Can write to the underlying stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Utils.IgnoreDisposeStream.Length">
+            <summary>
+            Gets the length of the underlying stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Utils.IgnoreDisposeStream.Position">
+            <summary>
+            Gets or sets the position of the underlying stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.MergeSort.Sort``1(System.Collections.Generic.IList{``0},System.Int32,System.Int32,System.Collections.Generic.IComparer{``0})">
+            <summary>
+            In-place and stable implementation of MergeSort
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.MergeSort.Sort``1(System.Collections.Generic.IList{``0})">
+            <summary>
+            MergeSort a list of comparable items
+            </summary>
+        </member>
+        <member name="M:NAudio.Utils.MergeSort.Sort``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IComparer{``0})">
+            <summary>
+            MergeSort a list 
+            </summary>
+        </member>
+        <member name="T:NAudio.Utils.NativeMethods">
+            <summary>
+            General purpose native methods for internal NAudio use
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveInEventArgs">
+            <summary>
+            Event Args for WaveInStream event
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveInEventArgs.#ctor(System.Byte[],System.Int32)">
+            <summary>
+            Creates new WaveInEventArgs
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInEventArgs.Buffer">
+            <summary>
+            Buffer containing recorded data. Note that it might not be completely
+            full. <seealso cref="P:NAudio.Wave.WaveInEventArgs.BytesRecorded"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInEventArgs.BytesRecorded">
+            <summary>
+            The number of recorded bytes in Buffer. <seealso cref="P:NAudio.Wave.WaveInEventArgs.Buffer"/>
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.ISampleChunkConverter">
+            <summary>
+            Sample provider interface to make WaveChannel32 extensible
+            Still a bit ugly, hence internal at the moment - and might even make these into
+            bit depth converting WaveProviders
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.FadeInOutSampleProvider">
+            <summary>
+            Sample Provider to allow fading in and out
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.ISampleProvider">
+            <summary>
+            Like IWaveProvider, but makes it much simpler to put together a 32 bit floating
+            point mixing engine
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.ISampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Fill the specified buffer with 32 bit floating point samples
+            </summary>
+            <param name="buffer">The buffer to fill with samples.</param>
+            <param name="offset">Offset into buffer</param>
+            <param name="count">The number of samples to read</param>
+            <returns>the number of samples written to the buffer.</returns>
+        </member>
+        <member name="P:NAudio.Wave.ISampleProvider.WaveFormat">
+            <summary>
+            Gets the WaveFormat of this Sample Provider.
+            </summary>
+            <value>The wave format.</value>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.FadeInOutSampleProvider.#ctor(NAudio.Wave.ISampleProvider,System.Boolean)">
+            <summary>
+            Creates a new FadeInOutSampleProvider
+            </summary>
+            <param name="source">The source stream with the audio to be faded in or out</param>
+            <param name="initiallySilent">If true, we start faded out</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.FadeInOutSampleProvider.BeginFadeIn(System.Double)">
+            <summary>
+            Requests that a fade-in begins (will start on the next call to Read)
+            </summary>
+            <param name="fadeDurationInMilliseconds">Duration of fade in milliseconds</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.FadeInOutSampleProvider.BeginFadeOut(System.Double)">
+            <summary>
+            Requests that a fade-out begins (will start on the next call to Read)
+            </summary>
+            <param name="fadeDurationInMilliseconds">Duration of fade in milliseconds</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.FadeInOutSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this sample provider
+            </summary>
+            <param name="buffer">Buffer to read into</param>
+            <param name="offset">Offset within buffer to write to</param>
+            <param name="count">Number of samples desired</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.FadeInOutSampleProvider.WaveFormat">
+            <summary>
+            WaveFormat of this SampleProvider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.MeteringSampleProvider">
+            <summary>
+            Simple SampleProvider that passes through audio unchanged and raises
+            an event every n samples with the maximum sample value from the period
+            for metering purposes
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MeteringSampleProvider.#ctor(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Initialises a new instance of MeteringSampleProvider that raises 10 stream volume
+            events per second
+            </summary>
+            <param name="source">Source sample provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MeteringSampleProvider.#ctor(NAudio.Wave.ISampleProvider,System.Int32)">
+            <summary>
+            Initialises a new instance of MeteringSampleProvider 
+            </summary>
+            <param name="source">source sampler provider</param>
+            <param name="samplesPerNotification">Number of samples between notifications</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MeteringSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this Sample Provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="count">Number of samples required</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.MeteringSampleProvider.SamplesPerNotification">
+            <summary>
+            Number of Samples per notification
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.SampleProviders.MeteringSampleProvider.StreamVolume">
+            <summary>
+            Raised periodically to inform the user of the max volume
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.MeteringSampleProvider.WaveFormat">
+            <summary>
+            The WaveFormat of this sample provider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.StreamVolumeEventArgs">
+            <summary>
+            Event args for aggregated stream volume
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.StreamVolumeEventArgs.MaxSampleValues">
+            <summary>
+            Max sample values array (one for each channel)
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.MixingSampleProvider">
+            <summary>
+            A sample provider mixer, allowing inputs to be added and removed
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MixingSampleProvider.#ctor(NAudio.Wave.WaveFormat)">
+            <summary>
+            Creates a new MixingSampleProvider, with no inputs, but a specified WaveFormat
+            </summary>
+            <param name="waveFormat">The WaveFormat of this mixer. All inputs must be in this format</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MixingSampleProvider.#ctor(System.Collections.Generic.IEnumerable{NAudio.Wave.ISampleProvider})">
+            <summary>
+            Creates a new MixingSampleProvider, based on the given inputs
+            </summary>
+            <param name="sources">Mixer inputs - must all have the same waveformat, and must
+            all be of the same WaveFormat. There must be at least one input</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MixingSampleProvider.AddMixerInput(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Adds a WaveProvider as a Mixer input.
+            Must be PCM or IEEE float already
+            </summary>
+            <param name="mixerInput">IWaveProvider mixer input</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MixingSampleProvider.AddMixerInput(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Adds a new mixer input
+            </summary>
+            <param name="mixerInput">Mixer input</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MixingSampleProvider.RemoveMixerInput(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Removes a mixer input
+            </summary>
+            <param name="mixerInput">Mixer input to remove</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MixingSampleProvider.RemoveAllMixerInputs">
+            <summary>
+            Removes all mixer inputs
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MixingSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this sample provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="count">Number of samples required</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.MixingSampleProvider.ReadFully">
+            <summary>
+            When set to true, the Read method always returns the number
+            of samples requested, even if there are no inputs, or if the
+            current inputs reach their end. Setting this to true effectively
+            makes this a never-ending sample provider, so take care if you plan
+            to write it out to a file.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.MixingSampleProvider.WaveFormat">
+            <summary>
+            The output WaveFormat of this sample provider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.MonoToStereoSampleProvider">
+            <summary>
+            No nonsense mono to stereo provider, no volume adjustment,
+            just copies input to left and right. 
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MonoToStereoSampleProvider.#ctor(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Initializes a new instance of MonoToStereoSampleProvider
+            </summary>
+            <param name="source">Source sample provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MonoToStereoSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="count">Number of samples required</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.MonoToStereoSampleProvider.WaveFormat">
+            <summary>
+            WaveFormat of this provider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.MultiplexingSampleProvider">
+            <summary>
+            Allows any number of inputs to be patched to outputs
+            Uses could include swapping left and right channels, turning mono into stereo,
+            feeding different input sources to different soundcard outputs etc
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MultiplexingSampleProvider.#ctor(System.Collections.Generic.IEnumerable{NAudio.Wave.ISampleProvider},System.Int32)">
+            <summary>
+            Creates a multiplexing sample provider, allowing re-patching of input channels to different
+            output channels
+            </summary>
+            <param name="inputs">Input sample providers. Must all be of the same sample rate, but can have any number of channels</param>
+            <param name="numberOfOutputChannels">Desired number of output channels.</param>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.MultiplexingSampleProvider.inputBuffer">
+            <summary>
+            persistent temporary buffer to prevent creating work for garbage collector
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MultiplexingSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this sample provider
+            </summary>
+            <param name="buffer">Buffer to be filled with sample data</param>
+            <param name="offset">Offset into buffer to start writing to, usually 0</param>
+            <param name="count">Number of samples required</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.MultiplexingSampleProvider.ConnectInputToOutput(System.Int32,System.Int32)">
+            <summary>
+            Connects a specified input channel to an output channel
+            </summary>
+            <param name="inputChannel">Input Channel index (zero based). Must be less than InputChannelCount</param>
+            <param name="outputChannel">Output Channel index (zero based). Must be less than OutputChannelCount</param>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.MultiplexingSampleProvider.WaveFormat">
+            <summary>
+            The output WaveFormat for this SampleProvider
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.MultiplexingSampleProvider.InputChannelCount">
+            <summary>
+            The number of input channels. Note that this is not the same as the number of input wave providers. If you pass in
+            one stereo and one mono input provider, the number of input channels is three.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.MultiplexingSampleProvider.OutputChannelCount">
+            <summary>
+            The number of output channels, as specified in the constructor.
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.NotifyingSampleProvider">
+            <summary>
+            Simple class that raises an event on every sample
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.ISampleNotifier">
+            <summary>
+            An interface for WaveStreams which can report notification of individual samples
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.ISampleNotifier.Sample">
+            <summary>
+            A sample has been detected
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.NotifyingSampleProvider.#ctor(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Initializes a new instance of NotifyingSampleProvider
+            </summary>
+            <param name="source">Source Sample Provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.NotifyingSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this sample provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="sampleCount">Number of samples desired</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.NotifyingSampleProvider.WaveFormat">
+            <summary>
+            WaveFormat
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.SampleProviders.NotifyingSampleProvider.Sample">
+            <summary>
+            Sample notifier
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.OffsetSampleProvider">
+            <summary>
+            Allows you to:
+            1. insert a pre-delay of silence before the source begins
+            2. skip over a certain amount of the beginning of the source
+            3. only play a set amount from the source
+            4. insert silence at the end after the source is complete
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.OffsetSampleProvider.#ctor(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Creates a new instance of offsetSampleProvider
+            </summary>
+            <param name="sourceProvider">The Source Sample Provider to read from</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.OffsetSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads from this sample provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset within sample buffer to read to</param>
+            <param name="count">Number of samples required</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.OffsetSampleProvider.DelayBySamples">
+            <summary>
+            Number of samples of silence to insert before playing source
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.OffsetSampleProvider.DelayBy">
+            <summary>
+            Amount of silence to insert before playing
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.OffsetSampleProvider.SkipOverSamples">
+            <summary>
+            Number of samples in source to discard
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.OffsetSampleProvider.SkipOver">
+            <summary>
+            Amount of audio to skip over from the source before beginning playback
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.OffsetSampleProvider.TakeSamples">
+            <summary>
+            Number of samples to read from source (if 0, then read it all)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.OffsetSampleProvider.Take">
+            <summary>
+            Amount of audio to take from the source (TimeSpan.Zero means play to end)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.OffsetSampleProvider.LeadOutSamples">
+            <summary>
+            Number of samples of silence to insert after playing source
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.OffsetSampleProvider.LeadOut">
+            <summary>
+            Amount of silence to insert after playing source
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.OffsetSampleProvider.WaveFormat">
+            <summary>
+            The WaveFormat of this SampleProvider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.PanningSampleProvider">
+            <summary>
+            Converts a mono sample provider to stereo, with a customisable pan strategy
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.PanningSampleProvider.#ctor(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Initialises a new instance of the PanningSampleProvider
+            </summary>
+            <param name="source">Source sample provider, must be mono</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.PanningSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this sample provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="count">Number of samples desired</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.PanningSampleProvider.Pan">
+            <summary>
+            Pan value, must be between -1 (left) and 1 (right)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.PanningSampleProvider.PanStrategy">
+            <summary>
+            The pan strategy currently in use
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.PanningSampleProvider.WaveFormat">
+            <summary>
+            The WaveFormat of this sample provider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.StereoSamplePair">
+            <summary>
+            Pair of floating point values, representing samples or multipliers
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.StereoSamplePair.Left">
+            <summary>
+            Left value
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.StereoSamplePair.Right">
+            <summary>
+            Right value
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.IPanStrategy">
+            <summary>
+            Required Interface for a Panning Strategy
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.IPanStrategy.GetMultipliers(System.Single)">
+            <summary>
+            Gets the left and right multipliers for a given pan value
+            </summary>
+            <param name="pan">Pan value from -1 to 1</param>
+            <returns>Left and right multipliers in a stereo sample pair</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.StereoBalanceStrategy">
+            <summary>
+            Simplistic "balance" control - treating the mono input as if it was stereo
+            In the centre, both channels full volume. Opposite channel decays linearly 
+            as balance is turned to to one side
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.StereoBalanceStrategy.GetMultipliers(System.Single)">
+            <summary>
+            Gets the left and right channel multipliers for this pan value
+            </summary>
+            <param name="pan">Pan value, between -1 and 1</param>
+            <returns>Left and right multipliers</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.SquareRootPanStrategy">
+            <summary>
+            Square Root Pan, thanks to Yuval Naveh
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SquareRootPanStrategy.GetMultipliers(System.Single)">
+            <summary>
+            Gets the left and right channel multipliers for this pan value
+            </summary>
+            <param name="pan">Pan value, between -1 and 1</param>
+            <returns>Left and right multipliers</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.SinPanStrategy">
+            <summary>
+            Sinus Pan, thanks to Yuval Naveh
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SinPanStrategy.GetMultipliers(System.Single)">
+            <summary>
+            Gets the left and right channel multipliers for this pan value
+            </summary>
+            <param name="pan">Pan value, between -1 and 1</param>
+            <returns>Left and right multipliers</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.LinearPanStrategy">
+            <summary>
+            Linear Pan
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.LinearPanStrategy.GetMultipliers(System.Single)">
+            <summary>
+            Gets the left and right channel multipliers for this pan value
+            </summary>
+            <param name="pan">Pan value, between -1 and 1</param>
+            <returns>Left and right multipliers</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.Pcm16BitToSampleProvider">
+            <summary>
+            Converts an IWaveProvider containing 16 bit PCM to an
+            ISampleProvider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.SampleProviderConverterBase">
+            <summary>
+            Helper base class for classes converting to ISampleProvider
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.SampleProviderConverterBase.source">
+            <summary>
+            Source Wave Provider
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.SampleProviderConverterBase.sourceBuffer">
+            <summary>
+            Source buffer (to avoid constantly creating small buffers during playback)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleProviderConverterBase.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initialises a new instance of SampleProviderConverterBase
+            </summary>
+            <param name="source">Source Wave provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleProviderConverterBase.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from the source wave provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="count">Number of samples required</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleProviderConverterBase.EnsureSourceBuffer(System.Int32)">
+            <summary>
+            Ensure the source buffer exists and is big enough
+            </summary>
+            <param name="sourceBytesRequired">Bytes required</param>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SampleProviderConverterBase.WaveFormat">
+            <summary>
+            Wave format of this wave provider
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.Pcm16BitToSampleProvider.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initialises a new instance of Pcm16BitToSampleProvider
+            </summary>
+            <param name="source">Source wave provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.Pcm16BitToSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this sample provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="count">Samples required</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.Pcm24BitToSampleProvider">
+            <summary>
+            Converts an IWaveProvider containing 24 bit PCM to an
+            ISampleProvider
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.Pcm24BitToSampleProvider.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initialises a new instance of Pcm24BitToSampleProvider
+            </summary>
+            <param name="source">Source Wave Provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.Pcm24BitToSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads floating point samples from this sample provider
+            </summary>
+            <param name="buffer">sample buffer</param>
+            <param name="offset">offset within sample buffer to write to</param>
+            <param name="count">number of samples required</param>
+            <returns>number of samples provided</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.Pcm32BitToSampleProvider">
+            <summary>
+            Converts an IWaveProvider containing 32 bit PCM to an
+            ISampleProvider
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.Pcm32BitToSampleProvider.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initialises a new instance of Pcm32BitToSampleProvider
+            </summary>
+            <param name="source">Source Wave Provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.Pcm32BitToSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads floating point samples from this sample provider
+            </summary>
+            <param name="buffer">sample buffer</param>
+            <param name="offset">offset within sample buffer to write to</param>
+            <param name="count">number of samples required</param>
+            <returns>number of samples provided</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.Pcm8BitToSampleProvider">
+            <summary>
+            Converts an IWaveProvider containing 8 bit PCM to an
+            ISampleProvider
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.Pcm8BitToSampleProvider.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initialises a new instance of Pcm8BitToSampleProvider
+            </summary>
+            <param name="source">Source wave provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.Pcm8BitToSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this sample provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="count">Number of samples to read</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.SampleChannel">
+            <summary>
+            Utility class that takes an IWaveProvider input at any bit depth
+            and exposes it as an ISampleProvider. Can turn mono inputs into stereo,
+            and allows adjusting of volume
+            (The eventual successor to WaveChannel32)
+            This class also serves as an example of how you can link together several simple 
+            Sample Providers to form a more useful class.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleChannel.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initialises a new instance of SampleChannel
+            </summary>
+            <param name="waveProvider">Source wave provider, must be PCM or IEEE</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleChannel.#ctor(NAudio.Wave.IWaveProvider,System.Boolean)">
+            <summary>
+            Initialises a new instance of SampleChannel
+            </summary>
+            <param name="waveProvider">Source wave provider, must be PCM or IEEE</param>
+            <param name="forceStereo">force mono inputs to become stereo</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleChannel.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this sample provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="sampleCount">Number of samples desired</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SampleChannel.WaveFormat">
+            <summary>
+            The WaveFormat of this Sample Provider
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SampleChannel.Volume">
+            <summary>
+            Allows adjusting the volume, 1.0f = full volume
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.SampleProviders.SampleChannel.PreVolumeMeter">
+            <summary>
+            Raised periodically to inform the user of the max volume
+            (before the volume meter)
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.SampleProviderConverters">
+            <summary>
+            Utility class for converting to SampleProvider
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleProviderConverters.ConvertWaveProviderIntoSampleProvider(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Helper function to go from IWaveProvider to a SampleProvider
+            Must already be PCM or IEEE float
+            </summary>
+            <param name="waveProvider">The WaveProvider to convert</param>
+            <returns>A sample provider</returns>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.SampleToWaveProvider">
+            <summary>
+            Helper class for when you need to convert back to an IWaveProvider from
+            an ISampleProvider. Keeps it as IEEE float
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleToWaveProvider.#ctor(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Initializes a new instance of the WaveProviderFloatToWaveProvider class
+            </summary>
+            <param name="source">Source wave provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleToWaveProvider.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads from this provider
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SampleToWaveProvider.WaveFormat">
+            <summary>
+            The waveformat of this WaveProvider (same as the source)
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.SampleToWaveProvider16">
+            <summary>
+            Converts a sample provider to 16 bit PCM, optionally clipping and adjusting volume along the way
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleToWaveProvider16.#ctor(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Creates a new SampleToWaveProvider16
+            </summary>
+            <param name="sourceProvider">the source provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SampleToWaveProvider16.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this wave stream
+            </summary>
+            <param name="destBuffer">The destination buffer</param>
+            <param name="offset">Offset into the destination buffer</param>
+            <param name="numBytes">Number of bytes read</param>
+            <returns>Number of bytes read.</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SampleToWaveProvider16.WaveFormat">
+            <summary>
+            <see cref="P:NAudio.Wave.IWaveProvider.WaveFormat"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SampleToWaveProvider16.Volume">
+            <summary>
+            Volume of this channel. 1.0 = full scale
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.SignalGenerator">
+            <summary>
+            Signal Generator
+            Sin, Square, Triangle, SawTooth, White Noise, Pink Noise, Sweep.
+            </summary>
+            <remarks>
+            Posibility to change ISampleProvider
+            Example :
+            ---------
+            WaveOut _waveOutGene = new WaveOut();
+            WaveGenerator wg = new SignalGenerator();
+            wg.Type = ...
+            wg.Frequency = ...
+            wg ...
+            _waveOutGene.Init(wg);
+            _waveOutGene.Play();
+            </remarks>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SignalGenerator.#ctor">
+            <summary>
+            Initializes a new instance for the Generator (Default :: 44.1Khz, 2 channels, Sinus, Frequency = 440, Gain = 1)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SignalGenerator.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance for the Generator (UserDef SampleRate &amp; Channels)
+            </summary>
+            <param name="sampleRate">Desired sample rate</param>
+            <param name="channel">Number of channels</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SignalGenerator.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads from this provider.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.SignalGenerator.NextRandomTwo">
+            <summary>
+            Private :: Random for WhiteNoise &amp; Pink Noise (Value form -1 to 1)
+            </summary>
+            <returns>Random value from -1 to +1</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SignalGenerator.WaveFormat">
+            <summary>
+            The waveformat of this WaveProvider (same as the source)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SignalGenerator.Frequency">
+            <summary>
+            Frequency for the Generator. (20.0 - 20000.0 Hz)
+            Sin, Square, Triangle, SawTooth, Sweep (Start Frequency).
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SignalGenerator.FrequencyLog">
+            <summary>
+            Return Log of Frequency Start (Read only)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SignalGenerator.FrequencyEnd">
+            <summary>
+            End Frequency for the Sweep Generator. (Start Frequency in Frequency)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SignalGenerator.FrequencyEndLog">
+            <summary>
+            Return Log of Frequency End (Read only)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SignalGenerator.Gain">
+            <summary>
+            Gain for the Generator. (0.0 to 1.0)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SignalGenerator.PhaseReverse">
+            <summary>
+            Channel PhaseReverse
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SignalGenerator.Type">
+            <summary>
+            Type of Generator.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.SignalGenerator.SweepLengthSecs">
+            <summary>
+            Length Seconds for the Sweep Generator.
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.SignalGeneratorType">
+            <summary>
+            Signal Generator type
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.SignalGeneratorType.Pink">
+            <summary>
+            Pink noise
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.SignalGeneratorType.White">
+            <summary>
+            White noise
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.SignalGeneratorType.Sweep">
+            <summary>
+            Sweep
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.SignalGeneratorType.Sin">
+            <summary>
+            Sine wave
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.SignalGeneratorType.Square">
+            <summary>
+            Square wave
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.SignalGeneratorType.Triangle">
+            <summary>
+            Triangle Wave
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.SampleProviders.SignalGeneratorType.SawTooth">
+            <summary>
+            Sawtooth wave
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.VolumeSampleProvider">
+            <summary>
+            Very simple sample provider supporting adjustable gain
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.VolumeSampleProvider.#ctor(NAudio.Wave.ISampleProvider)">
+            <summary>
+            Initializes a new instance of VolumeSampleProvider
+            </summary>
+            <param name="source">Source Sample Provider</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.VolumeSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads samples from this sample provider
+            </summary>
+            <param name="buffer">Sample buffer</param>
+            <param name="offset">Offset into sample buffer</param>
+            <param name="sampleCount">Number of samples desired</param>
+            <returns>Number of samples read</returns>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.VolumeSampleProvider.WaveFormat">
+            <summary>
+            WaveFormat
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.VolumeSampleProvider.Volume">
+            <summary>
+            Allows adjusting the volume, 1.0f = full volume
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.WaveToSampleProvider">
+            <summary>
+            Helper class turning an already 32 bit floating point IWaveProvider
+            into an ISampleProvider - hopefully not needed for most applications
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.WaveToSampleProvider.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initializes a new instance of the WaveToSampleProvider class
+            </summary>
+            <param name="source">Source wave provider, must be IEEE float</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.WaveToSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads from this provider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.WaveToSampleProvider64">
+            <summary>
+            Helper class turning an already 64 bit floating point IWaveProvider
+            into an ISampleProvider - hopefully not needed for most applications
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.WaveToSampleProvider64.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Initializes a new instance of the WaveToSampleProvider class
+            </summary>
+            <param name="source">Source wave provider, must be IEEE float</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.WaveToSampleProvider64.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads from this provider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleProviders.WdlResamplingSampleProvider">
+            <summary>
+            Fully managed resampling sample provider, based on the WDL Resampler
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.WdlResamplingSampleProvider.#ctor(NAudio.Wave.ISampleProvider,System.Int32)">
+            <summary>
+            Constructs a new resampler
+            </summary>
+            <param name="source">Source to resample</param>
+            <param name="newSampleRate">Desired output sample rate</param>
+        </member>
+        <member name="M:NAudio.Wave.SampleProviders.WdlResamplingSampleProvider.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Reads from this sample provider
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleProviders.WdlResamplingSampleProvider.WaveFormat">
+            <summary>
+            Output WaveFormat
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.AdpcmWaveFormat">
+            <summary>
+            Microsoft ADPCM
+            See http://icculus.org/SDL_sound/downloads/external_documentation/wavecomp.htm
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveFormat">
+            <summary>
+            Represents a Wave file format
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormat.waveFormatTag">
+            <summary>format type</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormat.channels">
+            <summary>number of channels</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormat.sampleRate">
+            <summary>sample rate</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormat.averageBytesPerSecond">
+            <summary>for buffer estimation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormat.blockAlign">
+            <summary>block size of data</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormat.bitsPerSample">
+            <summary>number of bits per sample of mono data</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormat.extraSize">
+            <summary>number of following bytes</summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.#ctor">
+            <summary>
+            Creates a new PCM 44.1Khz stereo 16 bit format
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Creates a new 16 bit wave format with the specified sample
+            rate and channel count
+            </summary>
+            <param name="sampleRate">Sample Rate</param>
+            <param name="channels">Number of channels</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.ConvertLatencyToByteSize(System.Int32)">
+            <summary>
+            Gets the size of a wave buffer equivalent to the latency in milliseconds.
+            </summary>
+            <param name="milliseconds">The milliseconds.</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.CreateCustomFormat(NAudio.Wave.WaveFormatEncoding,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a WaveFormat with custom members
+            </summary>
+            <param name="tag">The encoding</param>
+            <param name="sampleRate">Sample Rate</param>
+            <param name="channels">Number of channels</param>
+            <param name="averageBytesPerSecond">Average Bytes Per Second</param>
+            <param name="blockAlign">Block Align</param>
+            <param name="bitsPerSample">Bits Per Sample</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.CreateALawFormat(System.Int32,System.Int32)">
+            <summary>
+            Creates an A-law wave format
+            </summary>
+            <param name="sampleRate">Sample Rate</param>
+            <param name="channels">Number of Channels</param>
+            <returns>Wave Format</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.CreateMuLawFormat(System.Int32,System.Int32)">
+            <summary>
+            Creates a Mu-law wave format
+            </summary>
+            <param name="sampleRate">Sample Rate</param>
+            <param name="channels">Number of Channels</param>
+            <returns>Wave Format</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.#ctor(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a new PCM format with the specified sample rate, bit depth and channels
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.CreateIeeeFloatWaveFormat(System.Int32,System.Int32)">
+            <summary>
+            Creates a new 32 bit IEEE floating point wave format
+            </summary>
+            <param name="sampleRate">sample rate</param>
+            <param name="channels">number of channels</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.MarshalFromPtr(System.IntPtr)">
+            <summary>
+            Helper function to retrieve a WaveFormat structure from a pointer
+            </summary>
+            <param name="pointer">WaveFormat structure</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.MarshalToPtr(NAudio.Wave.WaveFormat)">
+            <summary>
+            Helper function to marshal WaveFormat to an IntPtr
+            </summary>
+            <param name="format">WaveFormat</param>
+            <returns>IntPtr to WaveFormat structure (needs to be freed by callee)</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.FromFormatChunk(System.IO.BinaryReader,System.Int32)">
+            <summary>
+            Reads in a WaveFormat (with extra data) from a fmt chunk (chunk identifier and
+            length should already have been read)
+            </summary>
+            <param name="br">Binary reader</param>
+            <param name="formatChunkLength">Format chunk length</param>
+            <returns>A WaveFormatExtraData</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.#ctor(System.IO.BinaryReader)">
+            <summary>
+            Reads a new WaveFormat object from a stream
+            </summary>
+            <param name="br">A binary reader that wraps the stream</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.ToString">
+            <summary>
+            Reports this WaveFormat as a string
+            </summary>
+            <returns>String describing the wave format</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.Equals(System.Object)">
+            <summary>
+            Compares with another WaveFormat object
+            </summary>
+            <param name="obj">Object to compare to</param>
+            <returns>True if the objects are the same</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.GetHashCode">
+            <summary>
+            Provides a Hashcode for this WaveFormat
+            </summary>
+            <returns>A hashcode</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormat.Serialize(System.IO.BinaryWriter)">
+            <summary>
+            Writes this WaveFormat object to a stream
+            </summary>
+            <param name="writer">the output stream</param>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormat.Encoding">
+            <summary>
+            Returns the encoding type used
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormat.Channels">
+            <summary>
+            Returns the number of channels (1=mono,2=stereo etc)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormat.SampleRate">
+            <summary>
+            Returns the sample rate (samples per second)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormat.AverageBytesPerSecond">
+            <summary>
+            Returns the average number of bytes used per second
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormat.BlockAlign">
+            <summary>
+            Returns the block alignment
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormat.BitsPerSample">
+            <summary>
+            Returns the number of bits per sample (usually 16 or 32, sometimes 24 or 8)
+            Can be 0 for some codecs
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormat.ExtraSize">
+            <summary>
+            Returns the number of extra bytes used by this waveformat. Often 0,
+            except for compressed formats which store extra data after the WAVEFORMATEX header
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AdpcmWaveFormat.#ctor">
+            <summary>
+            Empty constructor needed for marshalling from a pointer
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.AdpcmWaveFormat.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Microsoft ADPCM  
+            </summary>
+            <param name="sampleRate">Sample Rate</param>
+            <param name="channels">Channels</param>
+        </member>
+        <member name="M:NAudio.Wave.AdpcmWaveFormat.Serialize(System.IO.BinaryWriter)">
+            <summary>
+            Serializes this wave format
+            </summary>
+            <param name="writer">Binary writer</param>
+        </member>
+        <member name="M:NAudio.Wave.AdpcmWaveFormat.ToString">
+            <summary>
+            String Description of this WaveFormat
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AdpcmWaveFormat.SamplesPerBlock">
+            <summary>
+            Samples per block
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AdpcmWaveFormat.NumCoefficients">
+            <summary>
+            Number of coefficients
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.AdpcmWaveFormat.Coefficients">
+            <summary>
+            Coefficients
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Gsm610WaveFormat">
+            <summary>
+            GSM 610
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Gsm610WaveFormat.#ctor">
+            <summary>
+            Creates a GSM 610 WaveFormat
+            For now hardcoded to 13kbps
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Gsm610WaveFormat.Serialize(System.IO.BinaryWriter)">
+            <summary>
+            Writes this structure to a BinaryWriter
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Gsm610WaveFormat.SamplesPerBlock">
+            <summary>
+            Samples per block
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.ImaAdpcmWaveFormat">
+            <summary>
+            IMA/DVI ADPCM Wave Format
+            Work in progress
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.ImaAdpcmWaveFormat.#ctor">
+            <summary>
+            parameterless constructor for Marshalling
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.ImaAdpcmWaveFormat.#ctor(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a new IMA / DVI ADPCM Wave Format
+            </summary>
+            <param name="sampleRate">Sample Rate</param>
+            <param name="channels">Number of channels</param>
+            <param name="bitsPerSample">Bits Per Sample</param>
+        </member>
+        <member name="T:NAudio.Wave.Mp3WaveFormat">
+            <summary>
+            MP3 WaveFormat, MPEGLAYER3WAVEFORMAT from mmreg.h
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormat.id">
+            <summary>
+            Wave format ID (wID)
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormat.flags">
+            <summary>
+            Padding flags (fdwFlags)
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormat.blockSize">
+            <summary>
+            Block Size (nBlockSize)
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormat.framesPerBlock">
+            <summary>
+            Frames per block (nFramesPerBlock)
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormat.codecDelay">
+            <summary>
+            Codec Delay (nCodecDelay)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Mp3WaveFormat.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a new MP3 WaveFormat
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Mp3WaveFormatFlags">
+            <summary>
+            Wave Format Padding Flags
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormatFlags.PaddingIso">
+            <summary>
+            MPEGLAYER3_FLAG_PADDING_ISO
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormatFlags.PaddingOn">
+            <summary>
+            MPEGLAYER3_FLAG_PADDING_ON
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormatFlags.PaddingOff">
+            <summary>
+            MPEGLAYER3_FLAG_PADDING_OFF
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Mp3WaveFormatId">
+            <summary>
+            Wave Format ID
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormatId.Unknown">
+            <summary>MPEGLAYER3_ID_UNKNOWN</summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormatId.Mpeg">
+            <summary>MPEGLAYER3_ID_MPEG</summary>
+        </member>
+        <member name="F:NAudio.Wave.Mp3WaveFormatId.ConstantFrameSize">
+            <summary>MPEGLAYER3_ID_CONSTANTFRAMESIZE</summary>
+        </member>
+        <member name="T:NAudio.Wave.TrueSpeechWaveFormat">
+            <summary>
+            DSP Group TrueSpeech
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.TrueSpeechWaveFormat.#ctor">
+            <summary>
+            DSP Group TrueSpeech WaveFormat
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.TrueSpeechWaveFormat.Serialize(System.IO.BinaryWriter)">
+            <summary>
+            Writes this structure to a BinaryWriter
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveFormatEncoding">
+            <summary>
+            Summary description for WaveFormatEncoding.
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Unknown">
+            <summary>WAVE_FORMAT_UNKNOWN,	Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Pcm">
+            <summary>WAVE_FORMAT_PCM		Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Adpcm">
+            <summary>WAVE_FORMAT_ADPCM		Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.IeeeFloat">
+            <summary>WAVE_FORMAT_IEEE_FLOAT Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Vselp">
+            <summary>WAVE_FORMAT_VSELP		Compaq Computer Corp.</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.IbmCvsd">
+            <summary>WAVE_FORMAT_IBM_CVSD	IBM Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.ALaw">
+            <summary>WAVE_FORMAT_ALAW		Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.MuLaw">
+            <summary>WAVE_FORMAT_MULAW		Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Dts">
+            <summary>WAVE_FORMAT_DTS		Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Drm">
+            <summary>WAVE_FORMAT_DRM		Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WmaVoice9">
+            <summary>WAVE_FORMAT_WMAVOICE9 </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.OkiAdpcm">
+            <summary>WAVE_FORMAT_OKI_ADPCM	OKI</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.DviAdpcm">
+            <summary>WAVE_FORMAT_DVI_ADPCM	Intel Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.ImaAdpcm">
+            <summary>WAVE_FORMAT_IMA_ADPCM  Intel Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.MediaspaceAdpcm">
+            <summary>WAVE_FORMAT_MEDIASPACE_ADPCM Videologic</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.SierraAdpcm">
+            <summary>WAVE_FORMAT_SIERRA_ADPCM Sierra Semiconductor Corp </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.G723Adpcm">
+            <summary>WAVE_FORMAT_G723_ADPCM Antex Electronics Corporation </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.DigiStd">
+            <summary>WAVE_FORMAT_DIGISTD DSP Solutions, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.DigiFix">
+            <summary>WAVE_FORMAT_DIGIFIX DSP Solutions, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.DialogicOkiAdpcm">
+            <summary>WAVE_FORMAT_DIALOGIC_OKI_ADPCM Dialogic Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.MediaVisionAdpcm">
+            <summary>WAVE_FORMAT_MEDIAVISION_ADPCM Media Vision, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.CUCodec">
+            <summary>WAVE_FORMAT_CU_CODEC Hewlett-Packard Company </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.YamahaAdpcm">
+            <summary>WAVE_FORMAT_YAMAHA_ADPCM Yamaha Corporation of America</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.SonarC">
+            <summary>WAVE_FORMAT_SONARC Speech Compression</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.DspGroupTrueSpeech">
+            <summary>WAVE_FORMAT_DSPGROUP_TRUESPEECH DSP Group, Inc </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.EchoSpeechCorporation1">
+            <summary>WAVE_FORMAT_ECHOSC1 Echo Speech Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.AudioFileAf36">
+            <summary>WAVE_FORMAT_AUDIOFILE_AF36, Virtual Music, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Aptx">
+            <summary>WAVE_FORMAT_APTX Audio Processing Technology</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.AudioFileAf10">
+            <summary>WAVE_FORMAT_AUDIOFILE_AF10, Virtual Music, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Prosody1612">
+            <summary>WAVE_FORMAT_PROSODY_1612, Aculab plc</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Lrc">
+            <summary>WAVE_FORMAT_LRC, Merging Technologies S.A. </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.DolbyAc2">
+            <summary>WAVE_FORMAT_DOLBY_AC2, Dolby Laboratories</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Gsm610">
+            <summary>WAVE_FORMAT_GSM610, Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.MsnAudio">
+            <summary>WAVE_FORMAT_MSNAUDIO, Microsoft Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.AntexAdpcme">
+            <summary>WAVE_FORMAT_ANTEX_ADPCME, Antex Electronics Corporation</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.ControlResVqlpc">
+            <summary>WAVE_FORMAT_CONTROL_RES_VQLPC, Control Resources Limited </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.DigiReal">
+            <summary>WAVE_FORMAT_DIGIREAL, DSP Solutions, Inc. </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.DigiAdpcm">
+            <summary>WAVE_FORMAT_DIGIADPCM, DSP Solutions, Inc.</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.ControlResCr10">
+            <summary>WAVE_FORMAT_CONTROL_RES_CR10, Control Resources Limited</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_NMS_VBXADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_CS_IMAADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_ECHOSC3">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_ROCKWELL_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_ROCKWELL_DIGITALK">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_XEBEC">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_G721_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_G728_CELP">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_MSG723">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Mpeg">
+            <summary>WAVE_FORMAT_MPEG, Microsoft Corporation </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_RT24">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_PAC">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.MpegLayer3">
+            <summary>WAVE_FORMAT_MPEGLAYER3, ISO/MPEG Layer3 Format Tag </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_LUCENT_G723">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_CIRRUS">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_ESPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_CANOPUS_ATRAC">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_G726_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_G722_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_DSAT_DISPLAY">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_BYTE_ALIGNED">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_AC8">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_AC10">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_AC16">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_AC20">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_RT24">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_RT29">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_RT29HW">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_VR12">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_VR18">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_TQ40">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SOFTSOUND">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VOXWARE_TQ60">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_MSRT24">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_G729A">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_MVI_MVI2">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_DF_G726">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_DF_GSM610">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_ISIAUDIO">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_ONLIVE">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SBC24">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_DOLBY_AC3_SPDIF">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_MEDIASONIC_G723">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_PROSODY_8KBPS">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_ZYXEL_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_PHILIPS_LPCBB">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_PACKED">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_MALDEN_PHONYTALK">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Gsm">
+            <summary>WAVE_FORMAT_GSM</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.G729">
+            <summary>WAVE_FORMAT_G729</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.G723">
+            <summary>WAVE_FORMAT_G723</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Acelp">
+            <summary>WAVE_FORMAT_ACELP</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.RawAac">
+            <summary>
+            WAVE_FORMAT_RAW_AAC1
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_RHETOREX_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_IRAT">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VIVO_G723">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VIVO_SIREN">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_DIGITAL_G723">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SANYO_LD_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SIPROLAB_ACEPLNET">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SIPROLAB_ACELP4800">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SIPROLAB_ACELP8V3">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SIPROLAB_G729">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SIPROLAB_G729A">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SIPROLAB_KELVIN">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_G726ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_QUALCOMM_PUREVOICE">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_QUALCOMM_HALFRATE">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_TUBGSM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_MSAUDIO1">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WindowsMediaAudio">
+            <summary>
+            Windows Media Audio, WAVE_FORMAT_WMAUDIO2, Microsoft Corporation
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WindowsMediaAudioProfessional">
+            <summary>
+            Windows Media Audio Professional WAVE_FORMAT_WMAUDIO3, Microsoft Corporation
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WindowsMediaAudioLosseless">
+            <summary>
+            Windows Media Audio Lossless, WAVE_FORMAT_WMAUDIO_LOSSLESS
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WindowsMediaAudioSpdif">
+            <summary>
+            Windows Media Audio Professional over SPDIF WAVE_FORMAT_WMASPDIF (0x0164)
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_UNISYS_NAP_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_UNISYS_NAP_ULAW">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_UNISYS_NAP_ALAW">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_UNISYS_NAP_16K">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_CREATIVE_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_CREATIVE_FASTSPEECH8">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_CREATIVE_FASTSPEECH10">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_UHER_ADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_QUARTERDECK">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_ILINK_VC">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_RAW_SPORT">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_ESST_AC3">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_IPI_HSX">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_IPI_RPELP">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_CS2">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SONY_SCX">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_FM_TOWNS_SND">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_BTV_DIGITAL">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_QDESIGN_MUSIC">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_VME_VMPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_TPC">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_OLIGSM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_OLIADPCM">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_OLICELP">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_OLISBC">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_OLIOPR">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_LH_CODEC">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_NORRIS">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS">
+            <summary></summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.MPEG_ADTS_AAC">
+            <summary>
+            Advanced Audio Coding (AAC) audio in Audio Data Transport Stream (ADTS) format.
+            The format block is a WAVEFORMATEX structure with wFormatTag equal to WAVE_FORMAT_MPEG_ADTS_AAC.
+            </summary>
+            <remarks>
+            The WAVEFORMATEX structure specifies the core AAC-LC sample rate and number of channels, 
+            prior to applying spectral band replication (SBR) or parametric stereo (PS) tools, if present.
+            No additional data is required after the WAVEFORMATEX structure.
+            </remarks>
+            <see>http://msdn.microsoft.com/en-us/library/dd317599%28VS.85%29.aspx</see>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.MPEG_RAW_AAC">
+            <summary></summary>
+            <remarks>Source wmCodec.h</remarks>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.MPEG_LOAS">
+            <summary>
+            MPEG-4 audio transport stream with a synchronization layer (LOAS) and a multiplex layer (LATM).
+            The format block is a WAVEFORMATEX structure with wFormatTag equal to WAVE_FORMAT_MPEG_LOAS.
+            </summary>
+            <remarks>
+            The WAVEFORMATEX structure specifies the core AAC-LC sample rate and number of channels, 
+            prior to applying spectral SBR or PS tools, if present.
+            No additional data is required after the WAVEFORMATEX structure.
+            </remarks>
+            <see>http://msdn.microsoft.com/en-us/library/dd317599%28VS.85%29.aspx</see>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.NOKIA_MPEG_ADTS_AAC">
+            <summary>NOKIA_MPEG_ADTS_AAC</summary>
+            <remarks>Source wmCodec.h</remarks>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.NOKIA_MPEG_RAW_AAC">
+            <summary>NOKIA_MPEG_RAW_AAC</summary>
+            <remarks>Source wmCodec.h</remarks>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.VODAFONE_MPEG_ADTS_AAC">
+            <summary>VODAFONE_MPEG_ADTS_AAC</summary>
+            <remarks>Source wmCodec.h</remarks>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.VODAFONE_MPEG_RAW_AAC">
+            <summary>VODAFONE_MPEG_RAW_AAC</summary>
+            <remarks>Source wmCodec.h</remarks>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.MPEG_HEAAC">
+            <summary>
+            High-Efficiency Advanced Audio Coding (HE-AAC) stream.
+            The format block is an HEAACWAVEFORMAT structure.
+            </summary>
+            <see>http://msdn.microsoft.com/en-us/library/dd317599%28VS.85%29.aspx</see>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_DVM">
+            <summary>WAVE_FORMAT_DVM</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Vorbis1">
+            <summary>WAVE_FORMAT_VORBIS1 "Og" Original stream compatible</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Vorbis2">
+            <summary>WAVE_FORMAT_VORBIS2 "Pg" Have independent header</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Vorbis3">
+            <summary>WAVE_FORMAT_VORBIS3 "Qg" Have no codebook header</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Vorbis1P">
+            <summary>WAVE_FORMAT_VORBIS1P "og" Original stream compatible</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Vorbis2P">
+            <summary>WAVE_FORMAT_VORBIS2P "pg" Have independent headere</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Vorbis3P">
+            <summary>WAVE_FORMAT_VORBIS3P "qg" Have no codebook header</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.Extensible">
+            <summary>WAVE_FORMAT_EXTENSIBLE</summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveFormatEncoding.WAVE_FORMAT_DEVELOPMENT">
+            <summary></summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveFormatExtensible">
+            <summary>
+            WaveFormatExtensible
+            http://www.microsoft.com/whdc/device/audio/multichaud.mspx
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatExtensible.#ctor">
+            <summary>
+            Parameterless constructor for marshalling
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatExtensible.#ctor(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a new WaveFormatExtensible for PCM or IEEE
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatExtensible.ToStandardWaveFormat">
+            <summary>
+            WaveFormatExtensible for PCM or floating point can be awkward to work with
+            This creates a regular WaveFormat structure representing the same audio format
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatExtensible.Serialize(System.IO.BinaryWriter)">
+            <summary>
+            Serialize
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatExtensible.ToString">
+            <summary>
+            String representation
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormatExtensible.SubFormat">
+            <summary>
+            SubFormat (may be one of AudioMediaSubtypes)
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveFormatExtraData">
+            <summary>
+            This class used for marshalling from unmanaged code
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatExtraData.#ctor">
+            <summary>
+            parameterless constructor for marshalling
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatExtraData.#ctor(System.IO.BinaryReader)">
+            <summary>
+            Reads this structure from a BinaryReader
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFormatExtraData.Serialize(System.IO.BinaryWriter)">
+            <summary>
+            Writes this structure to a BinaryWriter
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFormatExtraData.ExtraData">
+            <summary>
+            Allows the extra data to be read
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveFormats.WmaWaveFormat">
+            <summary>
+            The WMA wave format. 
+            May not be much use because WMA codec is a DirectShow DMO not an ACM
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.IWaveIn">
+            <summary>
+            Generic interface for wave recording
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.IWaveIn.StartRecording">
+            <summary>
+            Start Recording
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.IWaveIn.StopRecording">
+            <summary>
+            Stop Recording
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.IWaveIn.WaveFormat">
+            <summary>
+            Recording WaveFormat
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.IWaveIn.DataAvailable">
+            <summary>
+            Indicates recorded data is available 
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.IWaveIn.RecordingStopped">
+            <summary>
+            Indicates that all recorded data has now been received.
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.IWaveBuffer">
+            <summary>
+            IWaveBuffer interface use to store wave datas. 
+            Data can be manipulated with arrays (<see cref="P:NAudio.Wave.IWaveBuffer.ByteBuffer"/>,<see cref="P:NAudio.Wave.IWaveBuffer.FloatBuffer"/>,
+            <see cref="P:NAudio.Wave.IWaveBuffer.ShortBuffer"/>,<see cref="P:NAudio.Wave.IWaveBuffer.IntBuffer"/> ) that are pointing to the same memory buffer.
+            This is a requirement for all subclasses.
+            
+            Use the associated Count property based on the type of buffer to get the number of data in the 
+            buffer.
+            
+            <see cref="T:NAudio.Wave.WaveBuffer"/> for the standard implementation using C# unions.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.IWaveBuffer.ByteBuffer">
+            <summary>
+            Gets the byte buffer.
+            </summary>
+            <value>The byte buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.IWaveBuffer.FloatBuffer">
+            <summary>
+            Gets the float buffer.
+            </summary>
+            <value>The float buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.IWaveBuffer.ShortBuffer">
+            <summary>
+            Gets the short buffer.
+            </summary>
+            <value>The short buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.IWaveBuffer.IntBuffer">
+            <summary>
+            Gets the int buffer.
+            </summary>
+            <value>The int buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.IWaveBuffer.MaxSize">
+            <summary>
+            Gets the max size in bytes of the byte buffer..
+            </summary>
+            <value>Maximum number of bytes in the buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.IWaveBuffer.ByteBufferCount">
+            <summary>
+            Gets the byte buffer count.
+            </summary>
+            <value>The byte buffer count.</value>
+        </member>
+        <member name="P:NAudio.Wave.IWaveBuffer.FloatBufferCount">
+            <summary>
+            Gets the float buffer count.
+            </summary>
+            <value>The float buffer count.</value>
+        </member>
+        <member name="P:NAudio.Wave.IWaveBuffer.ShortBufferCount">
+            <summary>
+            Gets the short buffer count.
+            </summary>
+            <value>The short buffer count.</value>
+        </member>
+        <member name="P:NAudio.Wave.IWaveBuffer.IntBufferCount">
+            <summary>
+            Gets the int buffer count.
+            </summary>
+            <value>The int buffer count.</value>
+        </member>
+        <member name="T:NAudio.Wave.PlaybackState">
+            <summary>
+            Playback State
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.PlaybackState.Stopped">
+            <summary>
+            Stopped
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.PlaybackState.Playing">
+            <summary>
+            Playing
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.PlaybackState.Paused">
+            <summary>
+            Paused
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.StoppedEventArgs">
+            <summary>
+            Stopped Event Args
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.StoppedEventArgs.#ctor(System.Exception)">
+            <summary>
+            Initializes a new instance of StoppedEventArgs
+            </summary>
+            <param name="exception">An exception to report (null if no exception)</param>
+        </member>
+        <member name="P:NAudio.Wave.StoppedEventArgs.Exception">
+            <summary>
+            An exception. Will be null if the playback or record operation stopped
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveBuffer">
+            <summary>
+            WaveBuffer class use to store wave datas. Data can be manipulated with arrays
+            (<see cref="P:NAudio.Wave.WaveBuffer.ByteBuffer"/>,<see cref="P:NAudio.Wave.WaveBuffer.FloatBuffer"/>,<see cref="P:NAudio.Wave.WaveBuffer.ShortBuffer"/>,<see cref="P:NAudio.Wave.WaveBuffer.IntBuffer"/> ) that are pointing to the
+            same memory buffer. Use the associated Count property based on the type of buffer to get the number of 
+            data in the buffer.
+            Implicit casting is now supported to float[], byte[], int[], short[].
+            You must not use Length on returned arrays.
+            
+            n.b. FieldOffset is 8 now to allow it to work natively on 64 bit
+            </summary>
+        </member>
+        <member name="F:NAudio.Wave.WaveBuffer.numberOfBytes">
+            <summary>
+            Number of Bytes
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.#ctor(System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:NAudio.Wave.WaveBuffer"/> class.
+            </summary>
+            <param name="sizeToAllocateInBytes">The number of bytes. The size of the final buffer will be aligned on 4 Bytes (upper bound)</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.#ctor(System.Byte[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:NAudio.Wave.WaveBuffer"/> class binded to a specific byte buffer.
+            </summary>
+            <param name="bufferToBoundTo">A byte buffer to bound the WaveBuffer to.</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.BindTo(System.Byte[])">
+            <summary>
+            Binds this WaveBuffer instance to a specific byte buffer.
+            </summary>
+            <param name="bufferToBoundTo">A byte buffer to bound the WaveBuffer to.</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.op_Implicit(NAudio.Wave.WaveBuffer)~System.Byte[]">
+            <summary>
+            Performs an implicit conversion from <see cref="T:NAudio.Wave.WaveBuffer"/> to <see cref="T:System.Byte"/>.
+            </summary>
+            <param name="waveBuffer">The wave buffer.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.op_Implicit(NAudio.Wave.WaveBuffer)~System.Single[]">
+            <summary>
+            Performs an implicit conversion from <see cref="T:NAudio.Wave.WaveBuffer"/> to <see cref="T:System.Single"/>.
+            </summary>
+            <param name="waveBuffer">The wave buffer.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.op_Implicit(NAudio.Wave.WaveBuffer)~System.Int32[]">
+            <summary>
+            Performs an implicit conversion from <see cref="T:NAudio.Wave.WaveBuffer"/> to <see cref="T:System.Int32"/>.
+            </summary>
+            <param name="waveBuffer">The wave buffer.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.op_Implicit(NAudio.Wave.WaveBuffer)~System.Int16[]">
+            <summary>
+            Performs an implicit conversion from <see cref="T:NAudio.Wave.WaveBuffer"/> to <see cref="T:System.Int16"/>.
+            </summary>
+            <param name="waveBuffer">The wave buffer.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.Clear">
+            <summary>
+            Clears the associated buffer.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.Copy(System.Array)">
+            <summary>
+            Copy this WaveBuffer to a destination buffer up to ByteBufferCount bytes.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveBuffer.CheckValidityCount(System.String,System.Int32,System.Int32)">
+            <summary>
+            Checks the validity of the count parameters.
+            </summary>
+            <param name="argName">Name of the arg.</param>
+            <param name="value">The value.</param>
+            <param name="sizeOfValue">The size of value.</param>
+        </member>
+        <member name="P:NAudio.Wave.WaveBuffer.ByteBuffer">
+            <summary>
+            Gets the byte buffer.
+            </summary>
+            <value>The byte buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.WaveBuffer.FloatBuffer">
+            <summary>
+            Gets the float buffer.
+            </summary>
+            <value>The float buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.WaveBuffer.ShortBuffer">
+            <summary>
+            Gets the short buffer.
+            </summary>
+            <value>The short buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.WaveBuffer.IntBuffer">
+            <summary>
+            Gets the int buffer.
+            </summary>
+            <value>The int buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.WaveBuffer.MaxSize">
+            <summary>
+            Gets the max size in bytes of the byte buffer..
+            </summary>
+            <value>Maximum number of bytes in the buffer.</value>
+        </member>
+        <member name="P:NAudio.Wave.WaveBuffer.ByteBufferCount">
+            <summary>
+            Gets or sets the byte buffer count.
+            </summary>
+            <value>The byte buffer count.</value>
+        </member>
+        <member name="P:NAudio.Wave.WaveBuffer.FloatBufferCount">
+            <summary>
+            Gets or sets the float buffer count.
+            </summary>
+            <value>The float buffer count.</value>
+        </member>
+        <member name="P:NAudio.Wave.WaveBuffer.ShortBufferCount">
+            <summary>
+            Gets or sets the short buffer count.
+            </summary>
+            <value>The short buffer count.</value>
+        </member>
+        <member name="P:NAudio.Wave.WaveBuffer.IntBufferCount">
+            <summary>
+            Gets or sets the int buffer count.
+            </summary>
+            <value>The int buffer count.</value>
+        </member>
+        <member name="T:NAudio.Wave.BufferedWaveProvider">
+            <summary>
+            Provides a buffered store of samples
+            Read method will return queued samples or fill buffer with zeroes
+            Now backed by a circular buffer
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.BufferedWaveProvider.#ctor(NAudio.Wave.WaveFormat)">
+            <summary>
+            Creates a new buffered WaveProvider
+            </summary>
+            <param name="waveFormat">WaveFormat</param>
+        </member>
+        <member name="M:NAudio.Wave.BufferedWaveProvider.AddSamples(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Adds samples. Takes a copy of buffer, so that buffer can be reused if necessary
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.BufferedWaveProvider.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads from this WaveProvider
+            Will always return count bytes, since we will zero-fill the buffer if not enough available
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.BufferedWaveProvider.ClearBuffer">
+            <summary>
+            Discards all audio from the buffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.BufferedWaveProvider.BufferLength">
+            <summary>
+            Buffer length in bytes
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.BufferedWaveProvider.BufferDuration">
+            <summary>
+            Buffer duration
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.BufferedWaveProvider.DiscardOnBufferOverflow">
+            <summary>
+            If true, when the buffer is full, start throwing away data
+            if false, AddSamples will throw an exception when buffer is full
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.BufferedWaveProvider.BufferedBytes">
+            <summary>
+            The number of buffered bytes
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.BufferedWaveProvider.BufferedDuration">
+            <summary>
+            Buffered Duration
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.BufferedWaveProvider.WaveFormat">
+            <summary>
+            Gets the WaveFormat
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.MonoToStereoProvider16">
+            <summary>
+            Converts from mono to stereo, allowing freedom to route all, some, or none of the incoming signal to left or right channels
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.MonoToStereoProvider16.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Creates a new stereo waveprovider based on a mono input
+            </summary>
+            <param name="sourceProvider">Mono 16 bit PCM input</param>
+        </member>
+        <member name="M:NAudio.Wave.MonoToStereoProvider16.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this WaveProvider
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MonoToStereoProvider16.LeftVolume">
+            <summary>
+            1.0 to copy the mono stream to the left channel without adjusting volume
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MonoToStereoProvider16.RightVolume">
+            <summary>
+            1.0 to copy the mono stream to the right channel without adjusting volume
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MonoToStereoProvider16.WaveFormat">
+            <summary>
+            Output Wave Format
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.MultiplexingWaveProvider">
+            <summary>
+            Allows any number of inputs to be patched to outputs
+            Uses could include swapping left and right channels, turning mono into stereo,
+            feeding different input sources to different soundcard outputs etc
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.MultiplexingWaveProvider.#ctor(System.Collections.Generic.IEnumerable{NAudio.Wave.IWaveProvider},System.Int32)">
+            <summary>
+            Creates a multiplexing wave provider, allowing re-patching of input channels to different
+            output channels
+            </summary>
+            <param name="inputs">Input wave providers. Must all be of the same format, but can have any number of channels</param>
+            <param name="numberOfOutputChannels">Desired number of output channels.</param>
+        </member>
+        <member name="F:NAudio.Wave.MultiplexingWaveProvider.inputBuffer">
+            <summary>
+            persistent temporary buffer to prevent creating work for garbage collector
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.MultiplexingWaveProvider.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads data from this WaveProvider
+            </summary>
+            <param name="buffer">Buffer to be filled with sample data</param>
+            <param name="offset">Offset to write to within buffer, usually 0</param>
+            <param name="count">Number of bytes required</param>
+            <returns>Number of bytes read</returns>
+        </member>
+        <member name="M:NAudio.Wave.MultiplexingWaveProvider.ConnectInputToOutput(System.Int32,System.Int32)">
+            <summary>
+            Connects a specified input channel to an output channel
+            </summary>
+            <param name="inputChannel">Input Channel index (zero based). Must be less than InputChannelCount</param>
+            <param name="outputChannel">Output Channel index (zero based). Must be less than OutputChannelCount</param>
+        </member>
+        <member name="P:NAudio.Wave.MultiplexingWaveProvider.WaveFormat">
+            <summary>
+            The WaveFormat of this WaveProvider
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MultiplexingWaveProvider.InputChannelCount">
+            <summary>
+            The number of input channels. Note that this is not the same as the number of input wave providers. If you pass in
+            one stereo and one mono input provider, the number of input channels is three.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MultiplexingWaveProvider.OutputChannelCount">
+            <summary>
+            The number of output channels, as specified in the constructor.
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.StereoToMonoProvider16">
+            <summary>
+            Takes a stereo 16 bit input and turns it mono, allowing you to select left or right channel only or mix them together
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.StereoToMonoProvider16.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Creates a new mono waveprovider based on a stereo input
+            </summary>
+            <param name="sourceProvider">Stereo 16 bit PCM input</param>
+        </member>
+        <member name="M:NAudio.Wave.StereoToMonoProvider16.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this WaveProvider
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.StereoToMonoProvider16.LeftVolume">
+            <summary>
+            1.0 to mix the mono source entirely to the left channel
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.StereoToMonoProvider16.RightVolume">
+            <summary>
+            1.0 to mix the mono source entirely to the right channel
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.StereoToMonoProvider16.WaveFormat">
+            <summary>
+            Output Wave Format
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.VolumeWaveProvider16">
+            <summary>
+            Helper class allowing us to modify the volume of a 16 bit stream without converting to IEEE float
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.VolumeWaveProvider16.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Constructs a new VolumeWaveProvider16
+            </summary>
+            <param name="sourceProvider">Source provider, must be 16 bit PCM</param>
+        </member>
+        <member name="M:NAudio.Wave.VolumeWaveProvider16.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Read bytes from this WaveProvider
+            </summary>
+            <param name="buffer">Buffer to read into</param>
+            <param name="offset">Offset within buffer to read to</param>
+            <param name="count">Bytes desired</param>
+            <returns>Bytes read</returns>
+        </member>
+        <member name="P:NAudio.Wave.VolumeWaveProvider16.Volume">
+            <summary>
+            Gets or sets volume. 
+            1.0 is full scale, 0.0 is silence, anything over 1.0 will amplify but potentially clip
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.VolumeWaveProvider16.WaveFormat">
+            <summary>
+            WaveFormat of this WaveProvider
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.Wave16ToFloatProvider">
+            <summary>
+            Converts 16 bit PCM to IEEE float, optionally adjusting volume along the way
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.Wave16ToFloatProvider.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Creates a new Wave16toFloatProvider
+            </summary>
+            <param name="sourceProvider">the source provider</param>
+        </member>
+        <member name="M:NAudio.Wave.Wave16ToFloatProvider.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this wave stream
+            </summary>
+            <param name="destBuffer">The destination buffer</param>
+            <param name="offset">Offset into the destination buffer</param>
+            <param name="numBytes">Number of bytes read</param>
+            <returns>Number of bytes read.</returns>
+        </member>
+        <member name="P:NAudio.Wave.Wave16ToFloatProvider.WaveFormat">
+            <summary>
+            <see cref="P:NAudio.Wave.IWaveProvider.WaveFormat"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.Wave16ToFloatProvider.Volume">
+            <summary>
+            Volume of this channel. 1.0 = full scale
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveFloatTo16Provider">
+            <summary>
+            Converts IEEE float to 16 bit PCM, optionally clipping and adjusting volume along the way
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveFloatTo16Provider.#ctor(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Creates a new WaveFloatTo16Provider
+            </summary>
+            <param name="sourceProvider">the source provider</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveFloatTo16Provider.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this wave stream
+            </summary>
+            <param name="destBuffer">The destination buffer</param>
+            <param name="offset">Offset into the destination buffer</param>
+            <param name="numBytes">Number of bytes read</param>
+            <returns>Number of bytes read.</returns>
+        </member>
+        <member name="P:NAudio.Wave.WaveFloatTo16Provider.WaveFormat">
+            <summary>
+            <see cref="P:NAudio.Wave.IWaveProvider.WaveFormat"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveFloatTo16Provider.Volume">
+            <summary>
+            Volume of this channel. 1.0 = full scale
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveInProvider">
+            <summary>
+            Buffered WaveProvider taking source data from WaveIn
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveInProvider.#ctor(NAudio.Wave.IWaveIn)">
+            <summary>
+            Creates a new WaveInProvider
+            n.b. Should make sure the WaveFormat is set correctly on IWaveIn before calling
+            </summary>
+            <param name="waveIn">The source of wave data</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveInProvider.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads data from the WaveInProvider
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveInProvider.WaveFormat">
+            <summary>
+            The WaveFormat
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveProvider16">
+            <summary>
+            Base class for creating a 16 bit wave provider
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider16.#ctor">
+            <summary>
+            Initializes a new instance of the WaveProvider16 class 
+            defaulting to 44.1kHz mono
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider16.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the WaveProvider16 class with the specified
+            sample rate and number of channels
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider16.SetWaveFormat(System.Int32,System.Int32)">
+            <summary>
+            Allows you to specify the sample rate and channels for this WaveProvider
+            (should be initialised before you pass it to a wave player)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider16.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Implements the Read method of IWaveProvider by delegating to the abstract
+            Read method taking a short array
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider16.Read(System.Int16[],System.Int32,System.Int32)">
+            <summary>
+            Method to override in derived classes
+            Supply the requested number of samples into the buffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveProvider16.WaveFormat">
+            <summary>
+            The Wave Format
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveProvider32">
+            <summary>
+            Base class for creating a 32 bit floating point wave provider
+            Can also be used as a base class for an ISampleProvider that can 
+            be plugged straight into anything requiring an IWaveProvider
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider32.#ctor">
+            <summary>
+            Initializes a new instance of the WaveProvider32 class 
+            defaulting to 44.1kHz mono
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider32.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the WaveProvider32 class with the specified
+            sample rate and number of channels
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider32.SetWaveFormat(System.Int32,System.Int32)">
+            <summary>
+            Allows you to specify the sample rate and channels for this WaveProvider
+            (should be initialised before you pass it to a wave player)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider32.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Implements the Read method of IWaveProvider by delegating to the abstract
+            Read method taking a float array
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveProvider32.Read(System.Single[],System.Int32,System.Int32)">
+            <summary>
+            Method to override in derived classes
+            Supply the requested number of samples into the buffer
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveProvider32.WaveFormat">
+            <summary>
+            The Wave Format
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.BlockAlignReductionStream">
+            <summary>
+            Helper stream that lets us read from compressed audio files with large block alignment
+            as though we could read any amount and reposition anywhere
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveStream">
+            <summary>
+            Base class for all WaveStream classes. Derives from stream.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveStream.Flush">
+            <summary>
+            Flush does not need to do anything
+            See <see cref="M:System.IO.Stream.Flush"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveStream.Seek(System.Int64,System.IO.SeekOrigin)">
+            <summary>
+            An alternative way of repositioning.
+            See <see cref="M:System.IO.Stream.Seek(System.Int64,System.IO.SeekOrigin)"/>
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveStream.SetLength(System.Int64)">
+            <summary>
+            Sets the length of the WaveStream. Not Supported.
+            </summary>
+            <param name="length"></param>
+        </member>
+        <member name="M:NAudio.Wave.WaveStream.Write(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Writes to the WaveStream. Not Supported.
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveStream.Skip(System.Int32)">
+            <summary>
+            Moves forward or backwards the specified number of seconds in the stream
+            </summary>
+            <param name="seconds">Number of seconds to move, can be negative</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveStream.HasData(System.Int32)">
+            <summary>
+            Whether the WaveStream has non-zero sample data at the current position for the 
+            specified count
+            </summary>
+            <param name="count">Number of bytes to read</param>
+        </member>
+        <member name="P:NAudio.Wave.WaveStream.WaveFormat">
+            <summary>
+            Retrieves the WaveFormat for this stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveStream.CanRead">
+            <summary>
+            We can read from this stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveStream.CanSeek">
+            <summary>
+            We can seek within this stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveStream.CanWrite">
+            <summary>
+            We can't write to this stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveStream.BlockAlign">
+            <summary>
+            The block alignment for this wavestream. Do not modify the Position
+            to anything that is not a whole multiple of this value
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveStream.CurrentTime">
+            <summary>
+            The current position in the stream in Time format
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveStream.TotalTime">
+            <summary>
+            Total length in real-time of the stream (may be an estimate for compressed files)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.BlockAlignReductionStream.#ctor(NAudio.Wave.WaveStream)">
+            <summary>
+            Creates a new BlockAlignReductionStream
+            </summary>
+            <param name="sourceStream">the input stream</param>
+        </member>
+        <member name="M:NAudio.Wave.BlockAlignReductionStream.Dispose(System.Boolean)">
+            <summary>
+            Disposes this WaveStream
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.BlockAlignReductionStream.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads data from this stream
+            </summary>
+            <param name="buffer"></param>
+            <param name="offset"></param>
+            <param name="count"></param>
+            <returns></returns>
+        </member>
+        <member name="P:NAudio.Wave.BlockAlignReductionStream.BlockAlign">
+            <summary>
+            Block alignment of this stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.BlockAlignReductionStream.WaveFormat">
+            <summary>
+            Wave Format
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.BlockAlignReductionStream.Length">
+            <summary>
+            Length of this Stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.BlockAlignReductionStream.Position">
+            <summary>
+            Current position within stream
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SampleEventArgs">
+            <summary>
+            Sample event arguments
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SampleEventArgs.#ctor(System.Single,System.Single)">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleEventArgs.Left">
+            <summary>
+            Left sample
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SampleEventArgs.Right">
+            <summary>
+            Right sample
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.MediaFoundationReader">
+            <summary>
+            Class for reading any file that Media Foundation can play
+            Will only work in Windows Vista and above
+            Automatically converts to PCM
+            If it is a video file with multiple audio streams, it will pick out the first audio stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationReader.#ctor(System.String)">
+            <summary>
+            Creates a new MediaFoundationReader based on the supplied file
+            </summary>
+            <param name="file">Filename (can also be a URL  e.g. http:// mms:// file://)</param>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationReader.#ctor(System.String,NAudio.Wave.MediaFoundationReader.MediaFoundationReaderSettings)">
+            <summary>
+            Creates a new MediaFoundationReader based on the supplied file
+            </summary>
+            <param name="file">Filename</param>
+            <param name="settings">Advanced settings</param>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationReader.CreateReader(NAudio.Wave.MediaFoundationReader.MediaFoundationReaderSettings)">
+            <summary>
+            Creates the reader (overridable by )
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationReader.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads from this wave stream
+            </summary>
+            <param name="buffer">Buffer to read into</param>
+            <param name="offset">Offset in buffer</param>
+            <param name="count">Bytes required</param>
+            <returns>Number of bytes read; 0 indicates end of stream</returns>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationReader.Dispose(System.Boolean)">
+            <summary>
+            Cleans up after finishing with this reader
+            </summary>
+            <param name="disposing">true if called from Dispose</param>
+        </member>
+        <member name="P:NAudio.Wave.MediaFoundationReader.WaveFormat">
+            <summary>
+            WaveFormat of this stream (n.b. this is after converting to PCM)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MediaFoundationReader.Length">
+            <summary>
+            The bytesRequired of this stream in bytes (n.b may not be accurate)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MediaFoundationReader.Position">
+            <summary>
+            Current position within this stream
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.MediaFoundationReader.WaveFormatChanged">
+            <summary>
+            WaveFormat has changed
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.MediaFoundationReader.MediaFoundationReaderSettings">
+            <summary>
+            Allows customisation of this reader class
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.MediaFoundationReader.MediaFoundationReaderSettings.#ctor">
+            <summary>
+            Sets up the default settings for MediaFoundationReader
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MediaFoundationReader.MediaFoundationReaderSettings.RequestFloatOutput">
+            <summary>
+            Allows us to request IEEE float output (n.b. no guarantee this will be accepted)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MediaFoundationReader.MediaFoundationReaderSettings.SingleReaderObject">
+            <summary>
+            If true, the reader object created in the constructor is used in Read
+            Should only be set to true if you are working entirely on an STA thread, or 
+            entirely with MTA threads.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.MediaFoundationReader.MediaFoundationReaderSettings.RepositionInRead">
+            <summary>
+            If true, the reposition does not happen immediately, but waits until the
+            next call to read to be processed.
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.RawSourceWaveStream">
+            <summary>
+            WaveStream that simply passes on data from its source stream
+            (e.g. a MemoryStream)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.RawSourceWaveStream.#ctor(System.IO.Stream,NAudio.Wave.WaveFormat)">
+            <summary>
+            Initialises a new instance of RawSourceWaveStream
+            </summary>
+            <param name="sourceStream">The source stream containing raw audio</param>
+            <param name="waveFormat">The waveformat of the audio in the source stream</param>
+        </member>
+        <member name="M:NAudio.Wave.RawSourceWaveStream.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads data from the stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.RawSourceWaveStream.WaveFormat">
+            <summary>
+            The WaveFormat of this stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.RawSourceWaveStream.Length">
+            <summary>
+            The length in bytes of this stream (if supported)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.RawSourceWaveStream.Position">
+            <summary>
+            The current position in this stream
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.SimpleCompressorStream">
+            <summary>
+            A simple compressor
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.SimpleCompressorStream.#ctor(NAudio.Wave.WaveStream)">
+            <summary>
+            Create a new simple compressor stream
+            </summary>
+            <param name="sourceStream">Source stream</param>
+        </member>
+        <member name="M:NAudio.Wave.SimpleCompressorStream.HasData(System.Int32)">
+            <summary>
+            Determine whether the stream has the required amount of data.
+            </summary>
+            <param name="count">Number of bytes of data required from the stream.</param>
+            <returns>Flag indicating whether the required amount of data is avialable.</returns>
+        </member>
+        <member name="M:NAudio.Wave.SimpleCompressorStream.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this stream
+            </summary>
+            <param name="array">Buffer to read into</param>
+            <param name="offset">Offset in array to read into</param>
+            <param name="count">Number of bytes to read</param>
+            <returns>Number of bytes read</returns>
+        </member>
+        <member name="M:NAudio.Wave.SimpleCompressorStream.Dispose(System.Boolean)">
+            <summary>
+            Disposes this stream
+            </summary>
+            <param name="disposing">true if the user called this</param>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.MakeUpGain">
+            <summary>
+            Make-up Gain
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.Threshold">
+            <summary>
+            Threshold
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.Ratio">
+            <summary>
+            Ratio
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.Attack">
+            <summary>
+            Attack time
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.Release">
+            <summary>
+            Release time
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.Enabled">
+            <summary>
+            Turns gain on or off
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.Length">
+            <summary>
+            Returns the stream length
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.Position">
+            <summary>
+            Gets or sets the current position in the stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.WaveFormat">
+            <summary>
+            Gets the WaveFormat of this stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.SimpleCompressorStream.BlockAlign">
+            <summary>
+            Gets the block alignment for this stream
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveChannel32">
+            <summary>
+            Represents Channel for the WaveMixerStream
+            32 bit output and 16 bit input
+            It's output is always stereo
+            The input stream can be panned
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveChannel32.#ctor(NAudio.Wave.WaveStream,System.Single,System.Single)">
+            <summary>
+            Creates a new WaveChannel32
+            </summary>
+            <param name="sourceStream">the source stream</param>
+            <param name="volume">stream volume (1 is 0dB)</param>
+            <param name="pan">pan control (-1 to 1)</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveChannel32.#ctor(NAudio.Wave.WaveStream)">
+            <summary>
+            Creates a WaveChannel32 with default settings
+            </summary>
+            <param name="sourceStream">The source stream</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveChannel32.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this wave stream
+            </summary>
+            <param name="destBuffer">The destination buffer</param>
+            <param name="offset">Offset into the destination buffer</param>
+            <param name="numBytes">Number of bytes read</param>
+            <returns>Number of bytes read.</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveChannel32.HasData(System.Int32)">
+            <summary>
+            Determines whether this channel has any data to play
+            to allow optimisation to not read, but bump position forward
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveChannel32.Dispose(System.Boolean)">
+            <summary>
+            Disposes this WaveStream
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveChannel32.RaiseSample(System.Single,System.Single)">
+            <summary>
+            Raise the sample event (no check for null because it has already been done)
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveChannel32.BlockAlign">
+            <summary>
+            Gets the block alignment for this WaveStream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveChannel32.Length">
+            <summary>
+            Returns the stream length
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveChannel32.Position">
+            <summary>
+            Gets or sets the current position in the stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveChannel32.PadWithZeroes">
+            <summary>
+            If true, Read always returns the number of bytes requested
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveChannel32.WaveFormat">
+            <summary>
+            <see cref="P:NAudio.Wave.WaveStream.WaveFormat"/>
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveChannel32.Volume">
+            <summary>
+            Volume of this channel. 1.0 = full scale
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveChannel32.Pan">
+            <summary>
+            Pan of this channel (from -1 to 1)
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.WaveChannel32.Sample">
+            <summary>
+            Sample
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveOffsetStream">
+            <summary>
+            Simply shifts the input stream in time, optionally
+            clipping its start and end.
+            (n.b. may include looping in the future)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOffsetStream.#ctor(NAudio.Wave.WaveStream,System.TimeSpan,System.TimeSpan,System.TimeSpan)">
+            <summary>
+            Creates a new WaveOffsetStream
+            </summary>
+            <param name="sourceStream">the source stream</param>
+            <param name="startTime">the time at which we should start reading from the source stream</param>
+            <param name="sourceOffset">amount to trim off the front of the source stream</param>
+            <param name="sourceLength">length of time to play from source stream</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveOffsetStream.#ctor(NAudio.Wave.WaveStream)">
+            <summary>
+            Creates a WaveOffsetStream with default settings (no offset or pre-delay,
+            and whole length of source stream)
+            </summary>
+            <param name="sourceStream">The source stream</param>
+        </member>
+        <member name="M:NAudio.Wave.WaveOffsetStream.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads bytes from this wave stream
+            </summary>
+            <param name="destBuffer">The destination buffer</param>
+            <param name="offset">Offset into the destination buffer</param>
+            <param name="numBytes">Number of bytes read</param>
+            <returns>Number of bytes read.</returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveOffsetStream.HasData(System.Int32)">
+            <summary>
+            Determines whether this channel has any data to play
+            to allow optimisation to not read, but bump position forward
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveOffsetStream.Dispose(System.Boolean)">
+            <summary>
+            Disposes this WaveStream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOffsetStream.StartTime">
+            <summary>
+            The length of time before which no audio will be played
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOffsetStream.SourceOffset">
+            <summary>
+            An offset into the source stream from which to start playing
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOffsetStream.SourceLength">
+            <summary>
+            Length of time to read from the source stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOffsetStream.BlockAlign">
+            <summary>
+            Gets the block alignment for this WaveStream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOffsetStream.Length">
+            <summary>
+            Returns the stream length
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOffsetStream.Position">
+            <summary>
+            Gets or sets the current position in the stream
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WaveOffsetStream.WaveFormat">
+            <summary>
+            <see cref="P:NAudio.Wave.WaveStream.WaveFormat"/>
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.WaveExtensionMethods">
+            <summary>
+            Useful extension methods to make switching between WaveAndSampleProvider easier
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WaveExtensionMethods.ToSampleProvider(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Converts a WaveProvider into a SampleProvider (only works for PCM)
+            </summary>
+            <param name="waveProvider">WaveProvider to convert</param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.WaveExtensionMethods.Init(NAudio.Wave.IWavePlayer,NAudio.Wave.ISampleProvider,System.Boolean)">
+            <summary>
+            Allows sending a SampleProvider directly to an IWavePlayer without needing to convert
+            back to an IWaveProvider
+            </summary>
+            <param name="wavePlayer">The WavePlayer</param>
+            <param name="sampleProvider"></param>
+            <param name="convertTo16Bit"></param>
+        </member>
+        <member name="T:NAudio.Wave.WasapiCaptureRT">
+            <summary>
+            Audio Capture using Wasapi
+            See http://msdn.microsoft.com/en-us/library/dd370800%28VS.85%29.aspx
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WasapiCaptureRT.#ctor">
+            <summary>
+            Initialises a new instance of the WASAPI capture class
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WasapiCaptureRT.#ctor(System.String)">
+            <summary>
+            Initialises a new instance of the WASAPI capture class
+            </summary>
+            <param name="device">Capture device to use</param>
+        </member>
+        <member name="M:NAudio.Wave.WasapiCaptureRT.GetCaptureDevices">
+            <summary>
+            Way of enumerating all the audio capture devices available on the system
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.WasapiCaptureRT.GetDefaultCaptureDevice">
+            <summary>
+            Gets the default audio capture device
+            </summary>
+            <returns>The default audio capture device</returns>
+        </member>
+        <member name="M:NAudio.Wave.WasapiCaptureRT.GetAudioClientStreamFlags">
+            <summary>
+            To allow overrides to specify different flags (e.g. loopback)
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WasapiCaptureRT.StartRecording">
+            <summary>
+            Start Recording
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WasapiCaptureRT.StopRecording">
+            <summary>
+            Stop Recording
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.WasapiCaptureRT.Dispose">
+            <summary>
+            Dispose
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.WasapiCaptureRT.DataAvailable">
+            <summary>
+            Indicates recorded data is available 
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.WasapiCaptureRT.RecordingStopped">
+            <summary>
+            Indicates that all recorded data has now been received.
+            </summary>
+        </member>
+        <member name="P:NAudio.Wave.WasapiCaptureRT.WaveFormat">
+            <summary>
+            Recording wave format
+            </summary>
+        </member>
+        <member name="T:NAudio.Wave.IWavePlayer">
+            <summary>
+            Represents the interface to a device that can play audio
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.IWavePlayer.Play">
+            <summary>
+            Begin playback
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.IWavePlayer.Stop">
+            <summary>
+            Stop playback
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.IWavePlayer.Pause">
+            <summary>
+            Pause Playback
+            </summary>
+        </member>
+        <member name="M:NAudio.Wave.IWavePlayer.Init(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Obsolete init method
+            </summary>
+            <param name="waveProvider"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Wave.IWavePlayer.Init(System.Func{NAudio.Wave.IWaveProvider})">
+            <summary>
+            Initialise playback
+            </summary>
+            <param name="waveProviderFunc">Function to create the waveprovider to be played
+            Called on the playback thread</param>
+        </member>
+        <member name="P:NAudio.Wave.IWavePlayer.PlaybackState">
+            <summary>
+            Current playback state
+            </summary>
+        </member>
+        <member name="E:NAudio.Wave.IWavePlayer.PlaybackStopped">
+            <summary>
+            Indicates that playback has gone into a stopped state due to 
+            reaching the end of the input stream or an error has been encountered during playback
+            </summary>
+        </member>
+        <member name="T:NAudio.Win8.Wave.WaveOutputs.WasapiOutRT">
+            <summary>
+            WASAPI Out for Windows RT
+            </summary>
+        </member>
+        <member name="M:NAudio.Win8.Wave.WaveOutputs.WasapiOutRT.#ctor(NAudio.CoreAudioApi.AudioClientShareMode,System.Int32)">
+            <summary>
+            WASAPI Out using default audio endpoint
+            </summary>
+            <param name="shareMode">ShareMode - shared or exclusive</param>
+            <param name="latency">Desired latency in milliseconds</param>
+        </member>
+        <member name="M:NAudio.Win8.Wave.WaveOutputs.WasapiOutRT.#ctor(System.String,NAudio.CoreAudioApi.AudioClientShareMode,System.Int32)">
+            <summary>
+            Creates a new WASAPI Output
+            </summary>
+            <param name="device">Device to use</param>
+            <param name="shareMode"></param>
+            <param name="latency"></param>
+        </member>
+        <member name="F:NAudio.Win8.Wave.WaveOutputs.WasapiOutRT.audioClientProperties">
+            <summary>
+            Properties of the client's audio stream.
+            Set before calling init
+            </summary>
+        </member>
+        <member name="M:NAudio.Win8.Wave.WaveOutputs.WasapiOutRT.SetClientProperties(System.Boolean,NAudio.CoreAudioApi.AudioStreamCategory,NAudio.CoreAudioApi.AudioClientStreamOptions)">
+            <summary>
+            Sets the parameters that describe the properties of the client's audio stream.
+            </summary>
+            <param name="useHardwareOffload">Boolean value to indicate whether or not the audio stream is hardware-offloaded.</param>
+            <param name="category">An enumeration that is used to specify the category of the audio stream.</param>
+            <param name="options">A bit-field describing the characteristics of the stream. Supported in Windows 8.1 and later.</param>
+        </member>
+        <member name="M:NAudio.Win8.Wave.WaveOutputs.WasapiOutRT.Play">
+            <summary>
+            Begin Playback
+            </summary>
+        </member>
+        <member name="M:NAudio.Win8.Wave.WaveOutputs.WasapiOutRT.Stop">
+            <summary>
+            Stop playback and flush buffers
+            </summary>
+        </member>
+        <member name="M:NAudio.Win8.Wave.WaveOutputs.WasapiOutRT.Pause">
+            <summary>
+            Stop playback without flushing buffers
+            </summary>
+        </member>
+        <member name="M:NAudio.Win8.Wave.WaveOutputs.WasapiOutRT.Init(NAudio.Wave.IWaveProvider)">
+            <summary>
+            Old init implementation. Use the func one
+            </summary>
+            <param name="provider"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NAudio.Win8.Wave.WaveOutputs.WasapiOutRT.Init(System.Func{NAudio.Wave.IWaveProvider})">
+            <summary>
+            Initializes with a function to create the provider that is made on the playback thread
+            </summary>
+            <param name="waveProviderFunc">Creates the wave provider</param>
+        </member>
+        <member name="M:NAudio.Win8.Wave.WaveOutputs.WasapiOutRT.Init">
+            <summary>
+            Initialize for playing the specified wave stream
+            </summary>
+        </member>
+        <member name="M:NAudio.Win8.Wave.WaveOutputs.WasapiOutRT.Dispose">
+            <summary>
+            Dispose
+            </summary>
+        </member>
+        <member name="E:NAudio.Win8.Wave.WaveOutputs.WasapiOutRT.PlaybackStopped">
+            <summary>
+            Playback Stopped
+            </summary>
+        </member>
+        <member name="P:NAudio.Win8.Wave.WaveOutputs.WasapiOutRT.PlaybackState">
+            <summary>
+            Playback State
+            </summary>
+        </member>
+        <member name="T:NAudio.Win8.Wave.WaveOutputs.NativeMethods">
+            <summary>
+            Come useful native methods for Windows 8 support
+            </summary>
+        </member>
+        <member name="M:NAudio.Win8.Wave.WaveOutputs.NativeMethods.ActivateAudioInterfaceAsync(System.String,System.Guid,System.IntPtr,NAudio.Win8.Wave.WaveOutputs.IActivateAudioInterfaceCompletionHandler,NAudio.Win8.Wave.WaveOutputs.IActivateAudioInterfaceAsyncOperation@)">
+            <summary>
+            Enables Windows Store apps to access preexisting Component Object Model (COM) interfaces in the WASAPI family.
+            </summary>
+            <param name="deviceInterfacePath">A device interface ID for an audio device. This is normally retrieved from a DeviceInformation object or one of the methods of the MediaDevice class.</param>
+            <param name="riid">The IID of a COM interface in the WASAPI family, such as IAudioClient.</param>
+            <param name="activationParams">Interface-specific activation parameters. For more information, see the pActivationParams parameter in IMMDevice::Activate. </param>
+            <param name="completionHandler"></param>
+            <param name="activationOperation"></param>
+        </member>
+        <member name="M:NAudio.Win8.Wave.WaveOutputs.IAudioClient2.GetBufferSize(System.UInt32@)">
+            <summary>
+            The GetBufferSize method retrieves the size (maximum capacity) of the endpoint buffer.
+            </summary>
+        </member>
+        <member name="M:NAudio.Win8.Wave.WaveOutputs.IAudioClient2.GetService(System.Guid,System.Object@)">
+            <summary>
+            The GetService method accesses additional services from the audio client object.
+            </summary>
+            <param name="interfaceId">The interface ID for the requested service.</param>
+            <param name="interfacePointer">Pointer to a pointer variable into which the method writes the address of an instance of the requested interface. </param>
+        </member>
+    </members>
+</doc>
Index: other-projects/fft-ddr/summer-2014/trunk/packages/NAudio.1.7.2/license.txt
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/packages/NAudio.1.7.2/license.txt	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/packages/NAudio.1.7.2/license.txt	(revision 29735)
@@ -0,0 +1,31 @@
+Microsoft Public License (Ms-PL)
+
+This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.
+
+1. Definitions
+
+The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law.
+
+A "contribution" is the original software, or any additions or changes to the software.
+
+A "contributor" is any person that distributes its contribution under this license.
+
+"Licensed patents" are a contributor's patent claims that read directly on its contribution.
+
+2. Grant of Rights
+
+(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
+
+(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
+
+3. Conditions and Limitations
+
+(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
+
+(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically.
+
+(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.
+
+(D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.
+
+(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. 
Index: other-projects/fft-ddr/summer-2014/trunk/packages/NAudio.1.7.2/readme.txt
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/packages/NAudio.1.7.2/readme.txt	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/packages/NAudio.1.7.2/readme.txt	(revision 29735)
@@ -0,0 +1,82 @@
+NAudio is an open source .NET audio library written by Mark Heath (mark.heath@gmail.com)
+For more information, visit http://naudio.codeplex.com
+
+THANKS
+======
+The following list includes some of the people who have contributed in various ways to NAudio, such as code contributions,
+bug fixes, documentation, helping out on the forums and even donations. I haven't finished compiling this list yet, so
+if your name should be on it but isn't please let me know and I will include it. Also, some people I only know by their forum
+id, so if you want me to put your full name here, please also get in touch.
+
+in alphabetical order:
+Alexandre Mutel
+Alexander Binkert
+AmandaTarafaMas
+balistof
+biermeester
+borman11
+bradb
+Brandon Hansen (kg6ypi)
+csechet
+ChunkWare Music Software
+CKing
+DaMacc
+Du10
+eejake52
+Florian Rosmann (filoe)
+Giawa
+Harald Petrovitsch
+Hfuy
+Iain McCowan
+Idael Cardaso 
+ioctlLR
+Jamie Michael Ewins
+jannera
+jbaker8935
+jcameron23
+JoeGaggler
+jonahoffmann
+jontdelorme
+Justin Frankel
+K24A3
+Kassoul
+kevinxxx
+kzych
+LionCash
+Lustild
+Lucian Wischik (ljw1004)
+ManuN
+MeelMarcel
+Michael Feld 
+Michael J
+Michael Lehenbauer
+myrkle
+nelsonkidd
+Nigel Redmon
+Nikolaos Georgiou
+Owen Skriloff
+owoudenb
+painmailer
+PPavan
+Pygmy
+Ray Molenkamp
+Robert Bristow-Johnson
+Scott Fleischman 
+Simon Clark
+Sirish Bajpai
+sporn
+Steve Underwood
+Ted Murphy
+Tiny Simple Tools
+Tobias Fleming
+TomBogle
+Tony Cabello
+Tony Sistemas
+TuneBlade
+topher3683
+volmart
+Vladimir Rokovanov
+Ville Koskinen
+Wyatt Rice
+Yuval Naveh
+Zsb
Index: other-projects/fft-ddr/summer-2014/trunk/packages/repositories.config
===================================================================
--- other-projects/fft-ddr/summer-2014/trunk/packages/repositories.config	(revision 29735)
+++ other-projects/fft-ddr/summer-2014/trunk/packages/repositories.config	(revision 29735)
@@ -0,0 +1,4 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<repositories>
+  <repository path="..\FFDDR\packages.config" />
+</repositories>
