diff --git a/src/WavFile/WavChannel.cs b/src/WavFile/WavChannel.cs
index 903daa8..fabb312 100644
--- a/src/WavFile/WavChannel.cs
+++ b/src/WavFile/WavChannel.cs
@@ -12,15 +12,32 @@ namespace WavFile
private readonly string _shortName;
private readonly WavChannelMask _mask;
+ ///
+ ///
+ ///
+ public string LongName { get { return _longName; } }
+
+ ///
+ ///
+ ///
+ public string ShortName { get { return _shortName; } }
+
+ ///
+ ///
+ ///
+ public WavChannelMask Mask { get { return _mask; } }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
public WavChannel(string longName, string shortName, WavChannelMask mask)
{
_longName = longName;
_shortName = shortName;
_mask = mask;
}
-
- public string LongName { get { return _longName; } }
- public string ShortName { get { return _shortName; } }
- public WavChannelMask Mask { get { return _mask; } }
}
}
diff --git a/src/WavFile/WavChannelMask.cs b/src/WavFile/WavChannelMask.cs
index 5ee7338..9753251 100644
--- a/src/WavFile/WavChannelMask.cs
+++ b/src/WavFile/WavChannelMask.cs
@@ -8,23 +8,94 @@ namespace WavFile
///
public enum WavChannelMask
{
+ ///
+ ///
+ ///
SPEAKER_FRONT_LEFT = 0x1,
+
+ ///
+ ///
+ ///
SPEAKER_FRONT_RIGHT = 0x2,
+
+ ///
+ ///
+ ///
SPEAKER_FRONT_CENTER = 0x4,
+
+ ///
+ ///
+ ///
SPEAKER_LOW_FREQUENCY = 0x8,
+
+ ///
+ ///
+ ///
SPEAKER_BACK_LEFT = 0x10,
+
+ ///
+ ///
+ ///
SPEAKER_BACK_RIGHT = 0x20,
+
+ ///
+ ///
+ ///
SPEAKER_FRONT_LEFT_OF_CENTER = 0x40,
+
+ ///
+ ///
+ ///
SPEAKER_FRONT_RIGHT_OF_CENTER = 0x80,
+
+ ///
+ ///
+ ///
SPEAKER_BACK_CENTER = 0x100,
+
+ ///
+ ///
+ ///
SPEAKER_SIDE_LEFT = 0x200,
+
+ ///
+ ///
+ ///
SPEAKER_SIDE_RIGHT = 0x400,
+
+ ///
+ ///
+ ///
SPEAKER_TOP_CENTER = 0x800,
+
+ ///
+ ///
+ ///
SPEAKER_TOP_FRONT_LEFT = 0x1000,
+
+ ///
+ ///
+ ///
SPEAKER_TOP_FRONT_CENTER = 0x2000,
+
+ ///
+ ///
+ ///
SPEAKER_TOP_FRONT_RIGHT = 0x4000,
+
+ ///
+ ///
+ ///
SPEAKER_TOP_BACK_LEFT = 0x8000,
+
+ ///
+ ///
+ ///
SPEAKER_TOP_BACK_CENTER = 0x10000,
+
+ ///
+ ///
+ ///
SPEAKER_TOP_BACK_RIGHT = 0x20000
}
}
diff --git a/src/WavFile/WavFile.csproj b/src/WavFile/WavFile.csproj
index dca55b3..e97c298 100644
--- a/src/WavFile/WavFile.csproj
+++ b/src/WavFile/WavFile.csproj
@@ -23,6 +23,7 @@
prompt
4
false
+ bin\Debug\WavFile.XML
pdbonly
@@ -32,6 +33,7 @@
prompt
4
false
+ bin\Release\WavFile.XML
diff --git a/src/WavFile/WavFileHeader.cs b/src/WavFile/WavFileHeader.cs
index dfb73db..a9f18d3 100644
--- a/src/WavFile/WavFileHeader.cs
+++ b/src/WavFile/WavFileHeader.cs
@@ -16,46 +16,139 @@ namespace WavFile
//
// WAVE bytes=12
//
+
+ ///
+ ///
+ ///
public UInt32 ChunkID; // bytes=4
+
+ ///
+ ///
+ ///
public UInt32 ChunkSize; // bytes=4
+
+ ///
+ ///
+ ///
public UInt32 Format; // bytes=4
//
// fmt bytes=24
//
+
+ ///
+ ///
+ ///
public UInt32 Subchunk1ID; // bytes=4
+
+ ///
+ ///
+ ///
public UInt32 Subchunk1Size; // bytes=4
+
+ ///
+ ///
+ ///
public UInt16 AudioFormat; // bytes=2
+
+ ///
+ ///
+ ///
public UInt16 NumChannels; // bytes=2
+
+ ///
+ ///
+ ///
public UInt32 SampleRate; // bytes=4
+
+ ///
+ ///
+ ///
public UInt32 ByteRate; // bytes=4
+
+ ///
+ ///
+ ///
public UInt16 BlockAlign; // bytes=2
+
+ ///
+ ///
+ ///
public UInt16 BitsPerSample; // bytes=2
+
//
// extra bytes=2
// if h.Subchunk1Size > 16
//
+
+ ///
+ ///
+ ///
public UInt16 ExtraParamSize; // bytes=2
+
//
// extensible bytes=22
//
+
+ ///
+ ///
+ ///
public UInt16 Samples; // bytes=2
+
+ ///
+ ///
+ ///
public UInt32 ChannelMask; // bytes=4
+
+ ///
+ ///
+ ///
public Guid GuidSubFormat; // bytes=16
+
//
// data bytes=8
//
+
+ ///
+ ///
+ ///
public UInt32 Subchunk2ID; // bytes=4
+
+ ///
+ ///
+ ///
public UInt32 Subchunk2Size; // bytes=4
+
//
// info
//
+
+ ///
+ ///
+ ///
public bool IsExtensible;
+
+ ///
+ ///
+ ///
public int HeaderSize; // normal WAV = 44 bytes, extensible WAV = 44 + 24 = 68 bytes (without extra chunks)
+
+ ///
+ ///
+ ///
public double Duration; // duration in seconds
+
+ ///
+ ///
+ ///
public long TotalSamples;
+
//
// channel types
//
+
+ ///
+ ///
+ ///
public static readonly IList WavChannelTypes = new ReadOnlyCollection(
new[]
{
@@ -67,6 +160,10 @@ namespace WavFile
//
// multi-channel types
//
+
+ ///
+ ///
+ ///
public static readonly IList WavMultiChannelTypes = new ReadOnlyCollection(
new[]
{
@@ -91,9 +188,21 @@ namespace WavFile
});
// WAVEFORMATEXTENSIBLE sub-formats
+
+ ///
+ ///
+ ///
public static readonly Guid subTypePCM = new Guid("00000001-0000-0010-8000-00aa00389b71");
+
+ ///
+ ///
+ ///
public static readonly Guid subTypeIEEE_FLOAT = new Guid("00000003-0000-0010-8000-00aa00389b71");
+ ///
+ ///
+ ///
+ ///
public override string ToString()
{
return String.Format(