banshee r3180 - in trunk/musicbrainz-sharp: . docs/en docs/en/MusicBrainz src/MusicBrainz src/MusicBrainz/MusicBrainz



Author: scottp
Date: Sat Feb  9 06:16:49 2008
New Revision: 3180
URL: http://svn.gnome.org/viewvc/banshee?rev=3180&view=rev

Log:
* docs/en/*: Updated Docs
* src/MusicBrainz/MusicBrainz/MusicBrainzObject.cs: Fixed bug when
  query returns no results.
* src/MusicBrainz/MusicBrainz/Label.cs,
  src/MusicBrainz/MusicBrainz/Release.cs,
  src/MusicBrainz/MusicBrainz/Track.cs,
  src/MusicBrainz/MusicBrainz/Artist.cs: Whitespace fixes
* src/MusicBrainz/MusicBrainz/Disc.cs,
  src/MusicBrainz/MusicBrainz/DiscWin32.cs: Rejiggered
* src/MusicBrainz/MusicBrainz/DiscLinux.cs: Added linux DiscId
  implementation

Added:
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/DiscLinux.cs
Modified:
   trunk/musicbrainz-sharp/ChangeLog
   trunk/musicbrainz-sharp/docs/en/MusicBrainz/Artist.xml
   trunk/musicbrainz-sharp/docs/en/MusicBrainz/ArtistReleaseType.xml
   trunk/musicbrainz-sharp/docs/en/MusicBrainz/ArtistType.xml
   trunk/musicbrainz-sharp/docs/en/MusicBrainz/Disc.xml
   trunk/musicbrainz-sharp/docs/en/MusicBrainz/Event.xml
   trunk/musicbrainz-sharp/docs/en/MusicBrainz/Label.xml
   trunk/musicbrainz-sharp/docs/en/MusicBrainz/LabelType.xml
   trunk/musicbrainz-sharp/docs/en/MusicBrainz/MusicBrainzInvalidParameterException.xml
   trunk/musicbrainz-sharp/docs/en/MusicBrainz/MusicBrainzNotFoundException.xml
   trunk/musicbrainz-sharp/docs/en/MusicBrainz/MusicBrainzUnauthorizedException.xml
   trunk/musicbrainz-sharp/docs/en/MusicBrainz/Query`1.xml
   trunk/musicbrainz-sharp/docs/en/MusicBrainz/Release.xml
   trunk/musicbrainz-sharp/docs/en/MusicBrainz/ReleaseFormat.xml
   trunk/musicbrainz-sharp/docs/en/MusicBrainz/ReleaseStatus.xml
   trunk/musicbrainz-sharp/docs/en/MusicBrainz/ReleaseType.xml
   trunk/musicbrainz-sharp/docs/en/index.xml
   trunk/musicbrainz-sharp/src/MusicBrainz/ChangeLog
   trunk/musicbrainz-sharp/src/MusicBrainz/Makefile.am
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz.mdp
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Artist.cs
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Disc.cs
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/DiscWin32.cs
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Label.cs
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/MusicBrainzObject.cs
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Release.cs
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Track.cs

Modified: trunk/musicbrainz-sharp/docs/en/MusicBrainz/Artist.xml
==============================================================================
--- trunk/musicbrainz-sharp/docs/en/MusicBrainz/Artist.xml	(original)
+++ trunk/musicbrainz-sharp/docs/en/MusicBrainz/Artist.xml	Sat Feb  9 06:16:49 2008
@@ -2,7 +2,7 @@
   <TypeSignature Language="C#" Value="public sealed class Artist : MusicBrainz.MusicBrainzEntity" />
   <AssemblyInfo>
     <AssemblyName>MusicBrainz</AssemblyName>
-    <AssemblyVersion>1.0.0.0</AssemblyVersion>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
   </AssemblyInfo>
   <Base>
     <BaseTypeName>MusicBrainz.MusicBrainzEntity</BaseTypeName>
@@ -17,58 +17,18 @@
     </remarks>
   </Docs>
   <Members>
-    <Member MemberName="Get">
-      <MemberSignature Language="C#" Value="public static MusicBrainz.Artist Get (string mbid);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue><ReturnType>MusicBrainz.Artist</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="mbid" Type="System.String" /></Parameters>
-      <Docs><param name="mbid">The MusicBrainz ID; a universal identifier.</param><summary>Retrieve an Artist by universal identifier.</summary><returns>The Artist with the specified MBID.</returns><remarks>
-          <block subset="none" type="note">
-See http://wiki.musicbrainz.org/ArtistID
-</block>
-        </remarks></Docs>
-    </Member>
-    <Member MemberName="Query">
-      <MemberSignature Language="C#" Value="public static MusicBrainz.Query&lt;MusicBrainz.Artist&gt; Query (string name);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue><ReturnType>MusicBrainz.Query&lt;MusicBrainz.Artist&gt;</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="name" Type="System.String" /></Parameters>
-      <Docs><param name="name">The name of an artist.</param><summary>Query for Artists by name.</summary><returns>An enumerable Query of results.</returns><remarks>To be added.</remarks></Docs>
-    </Member>
-    <Member MemberName="QueryLucene">
-      <MemberSignature Language="C#" Value="public static MusicBrainz.Query&lt;MusicBrainz.Artist&gt; QueryLucene (string lucene_query);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue><ReturnType>MusicBrainz.Query&lt;MusicBrainz.Artist&gt;</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="lucene_query" Type="System.String" /></Parameters>
-      <Docs><param name="lucene_query">A lucene text query.</param><summary>Query for Artists by lucene text query.</summary><returns>An enumerable Query of results.</returns><remarks>
-          <block subset="none" type="note">
-See http://wiki.musicbrainz.org/TextSearchSyntax
-</block>
-        </remarks></Docs>
-    </Member>
-    <Member MemberName="Releases">
-      <MemberSignature Language="C#" Value="public System.Collections.Generic.List&lt;MusicBrainz.Release&gt; Releases { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>System.Collections.Generic.List&lt;MusicBrainz.Release&gt;</ReturnType></ReturnValue>
-      <Docs><summary>A list of the Artist's Releases. The Releases in the list will be determined by the Artist's <see cref="M:MusicBrainz.Artist.ArtistReleaseType" />.</summary><value>A List of <see cref="T:MusicBrainz.Release" />s. If there are no releases, an empty List.</value><remarks>This property will never be null.</remarks></Docs>
-    </Member>
-    <Member MemberName="Type">
-      <MemberSignature Language="C#" Value="public MusicBrainz.ArtistType Type { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>MusicBrainz.ArtistType</ReturnType></ReturnValue>
-      <Docs><summary>The Type of the Artist.</summary><value>To be added.</value><remarks>
-          <block subset="none" type="note">
-See http://wiki.musicbrainz.org/ArtistType
-</block>
-        </remarks></Docs>
-    </Member>
-    <Member MemberName="url_extension">
-      <MemberSignature Language="C#" Value="protected override string url_extension { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>System.String</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    </Member>
-    <Member MemberName="ArtistReleaseType">
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+  <Member MemberName="ArtistReleaseType">
       <MemberSignature Language="C#" Value="public MusicBrainz.ArtistReleaseType ArtistReleaseType { set; get; };" />
       <MemberType>Property</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ArtistReleaseType</ReturnType></ReturnValue>
@@ -93,8 +53,7 @@
     {...}
   </code></example></para>
         </remarks></Docs>
-    </Member>
-    <Member MemberName="DefaultArtistReleaseType">
+    </Member><Member MemberName="DefaultArtistReleaseType">
       <MemberSignature Language="C#" Value="public static MusicBrainz.ArtistReleaseType DefaultArtistReleaseType;" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ArtistReleaseType</ReturnType></ReturnValue>
@@ -102,26 +61,17 @@
 <example><code lang="C#">new ArtistReleaseType(ReleaseStatus.Official, false)
   </code></example>
 This means Official Releases which are authored by the Artist alone.</remarks></Docs>
-    </Member>
-    <Member MemberName="QueryLuceneSingle">
-      <MemberSignature Language="C#" Value="public static MusicBrainz.Artist QueryLuceneSingle (string lucene_query);" />
+    </Member><Member MemberName="Get">
+      <MemberSignature Language="C#" Value="public static MusicBrainz.Artist Get (string mbid);" />
       <MemberType>Method</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.Artist</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="lucene_query" Type="System.String" /></Parameters>
-      <Docs><param name="lucene_query">A lucene text query.</param><summary>Query for an Artist by lucene text query.</summary><returns>The first (most relevant) result from the query. If no results are returned, null.</returns><remarks>
+      <Parameters><Parameter Name="mbid" Type="System.String" /></Parameters>
+      <Docs><param name="mbid">The MusicBrainz ID; a universal identifier.</param><summary>Retrieve an Artist by universal identifier.</summary><returns>The Artist with the specified MBID.</returns><remarks>
           <block subset="none" type="note">
-See http://wiki.musicbrainz.org/TextSearchSyntax
+See http://wiki.musicbrainz.org/ArtistID
 </block>
         </remarks></Docs>
-    </Member>
-    <Member MemberName="QuerySingle">
-      <MemberSignature Language="C#" Value="public static MusicBrainz.Artist QuerySingle (string name);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue><ReturnType>MusicBrainz.Artist</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="name" Type="System.String" /></Parameters>
-      <Docs><param name="name">The name of the artist.</param><summary>Query for an Artist by name.</summary><returns>The first (most relevant) result from the query. If no results are returned, null.</returns><remarks>To be added.</remarks></Docs>
-    </Member>
-    <Member MemberName="op_Implicit">
+    </Member><Member MemberName="op_Implicit">
       <MemberSignature Language="C#" Value="public static string op_Implicit (MusicBrainz.Artist a);" />
       <MemberType>Method</MemberType>
       <ReturnValue><ReturnType>System.String</ReturnType></ReturnValue>
@@ -154,6 +104,56 @@
 These two queries are substantively different. See http://wiki.musicbrainz.org/TextSearchSyntax for more information.
 </para>
         </remarks></Docs>
-    </Member>
-  </Members>
+    </Member><Member MemberName="Query">
+      <MemberSignature Language="C#" Value="public static MusicBrainz.Query&lt;MusicBrainz.Artist&gt; Query (string name);" />
+      <MemberType>Method</MemberType>
+      <ReturnValue><ReturnType>MusicBrainz.Query&lt;MusicBrainz.Artist&gt;</ReturnType></ReturnValue>
+      <Parameters><Parameter Name="name" Type="System.String" /></Parameters>
+      <Docs><param name="name">The name of an artist.</param><summary>Query for Artists by name.</summary><returns>An enumerable Query of results.</returns><remarks>To be added.</remarks></Docs>
+    </Member><Member MemberName="QueryLucene">
+      <MemberSignature Language="C#" Value="public static MusicBrainz.Query&lt;MusicBrainz.Artist&gt; QueryLucene (string lucene_query);" />
+      <MemberType>Method</MemberType>
+      <ReturnValue><ReturnType>MusicBrainz.Query&lt;MusicBrainz.Artist&gt;</ReturnType></ReturnValue>
+      <Parameters><Parameter Name="lucene_query" Type="System.String" /></Parameters>
+      <Docs><param name="lucene_query">A lucene text query.</param><summary>Query for Artists by lucene text query.</summary><returns>An enumerable Query of results.</returns><remarks>
+          <block subset="none" type="note">
+See http://wiki.musicbrainz.org/TextSearchSyntax
+</block>
+        </remarks></Docs>
+    </Member><Member MemberName="QueryLuceneSingle">
+      <MemberSignature Language="C#" Value="public static MusicBrainz.Artist QueryLuceneSingle (string lucene_query);" />
+      <MemberType>Method</MemberType>
+      <ReturnValue><ReturnType>MusicBrainz.Artist</ReturnType></ReturnValue>
+      <Parameters><Parameter Name="lucene_query" Type="System.String" /></Parameters>
+      <Docs><param name="lucene_query">A lucene text query.</param><summary>Query for an Artist by lucene text query.</summary><returns>The first (most relevant) result from the query. If no results are returned, null.</returns><remarks>
+          <block subset="none" type="note">
+See http://wiki.musicbrainz.org/TextSearchSyntax
+</block>
+        </remarks></Docs>
+    </Member><Member MemberName="QuerySingle">
+      <MemberSignature Language="C#" Value="public static MusicBrainz.Artist QuerySingle (string name);" />
+      <MemberType>Method</MemberType>
+      <ReturnValue><ReturnType>MusicBrainz.Artist</ReturnType></ReturnValue>
+      <Parameters><Parameter Name="name" Type="System.String" /></Parameters>
+      <Docs><param name="name">The name of the artist.</param><summary>Query for an Artist by name.</summary><returns>The first (most relevant) result from the query. If no results are returned, null.</returns><remarks>To be added.</remarks></Docs>
+    </Member><Member MemberName="Releases">
+      <MemberSignature Language="C#" Value="public System.Collections.Generic.List&lt;MusicBrainz.Release&gt; Releases { get; };" />
+      <MemberType>Property</MemberType>
+      <ReturnValue><ReturnType>System.Collections.Generic.List&lt;MusicBrainz.Release&gt;</ReturnType></ReturnValue>
+      <Docs><summary>A list of the Artist's Releases. The Releases in the list will be determined by the Artist's <see cref="M:MusicBrainz.Artist.ArtistReleaseType" />.</summary><value>A List of <see cref="T:MusicBrainz.Release" />s. If there are no releases, an empty List.</value><remarks>This property will never be null.</remarks></Docs>
+    </Member><Member MemberName="Type">
+      <MemberSignature Language="C#" Value="public MusicBrainz.ArtistType Type { get; };" />
+      <MemberType>Property</MemberType>
+      <ReturnValue><ReturnType>MusicBrainz.ArtistType</ReturnType></ReturnValue>
+      <Docs><summary>The Type of the Artist.</summary><value>To be added.</value><remarks>
+          <block subset="none" type="note">
+See http://wiki.musicbrainz.org/ArtistType
+</block>
+        </remarks></Docs>
+    </Member><Member MemberName="url_extension">
+      <MemberSignature Language="C#" Value="protected override string url_extension { get; };" />
+      <MemberType>Property</MemberType>
+      <ReturnValue><ReturnType>System.String</ReturnType></ReturnValue>
+      <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
+    </Member><Member MemberName="UrlExtension"><MemberSignature Language="C#" Value="protected override string UrlExtension { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member></Members>
 </Type>

Modified: trunk/musicbrainz-sharp/docs/en/MusicBrainz/ArtistReleaseType.xml
==============================================================================
--- trunk/musicbrainz-sharp/docs/en/MusicBrainz/ArtistReleaseType.xml	(original)
+++ trunk/musicbrainz-sharp/docs/en/MusicBrainz/ArtistReleaseType.xml	Sat Feb  9 06:16:49 2008
@@ -2,13 +2,21 @@
   <TypeSignature Language="C#" Value="public sealed class ArtistReleaseType" />
   <AssemblyInfo>
     <AssemblyName>MusicBrainz</AssemblyName>
-    <AssemblyVersion>1.0.0.0</AssemblyVersion>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
   </AssemblyInfo>
   <Base>
     <BaseTypeName>System.Object</BaseTypeName>
   </Base>
   <Interfaces />
+  <Docs>
+    <summary>An ArtistReleaseType determins the Releses that will appear in an <see cref="T:MusicBrainz.Artist" />'s <see cref="M:MusicBrainz.Artist.Releases" />.</summary>
+    <remarks>The MusicBrainz XMLWebService requires that a request for an <see cref="T:MusicBrainz.Artist" />'s list of <see cref="T:MusicBrainz.Release" />s include a constraint of the type of releases to return. The constraint must specify both 1) whether to return releases which are solely the product of the Artist (single artist) or releases with multiple artists, of which the Artist is one (various artists)*, and 2) either the <see cref="T:MusicBrainz.ReleaseType" /> or <see cref="T:MusicBrainz.ReleaseStatus" /> of the releases to return. The ArtistReleaseType class encapsulates this constraint.
+<block subset="none" type="note">
+*See http://wiki.musicbrainz.org/SingleArtistRelease and http://wiki.musicbrainz.org/VariousArtistsRelease
+</block></remarks>
+  </Docs>
   <Members>
+    
     <Member MemberName=".ctor">
       <MemberSignature Language="C#" Value="public ArtistReleaseType (MusicBrainz.ReleaseStatus status, bool various);" />
       <MemberType>Constructor</MemberType>
@@ -17,8 +25,7 @@
 <block subset="none" type="note">
 See http://wiki.musicbrainz.org/SingleArtistRelease and http://wiki.musicbrainz.org/VariousArtistsRelease
 </block></param><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
-    </Member>
-    <Member MemberName=".ctor">
+    </Member><Member MemberName=".ctor">
       <MemberSignature Language="C#" Value="public ArtistReleaseType (MusicBrainz.ReleaseType type, bool various);" />
       <MemberType>Constructor</MemberType>
       <Parameters><Parameter Name="type" Type="MusicBrainz.ReleaseType" /><Parameter Name="various" Type="System.Boolean" /></Parameters>
@@ -28,11 +35,4 @@
 </block></param><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
     </Member>
   </Members>
-  <Docs>
-    <summary>An ArtistReleaseType determins the Releses that will appear in an <see cref="T:MusicBrainz.Artist" />'s <see cref="M:MusicBrainz.Artist.Releases" />.</summary>
-    <remarks>The MusicBrainz XMLWebService requires that a request for an <see cref="T:MusicBrainz.Artist" />'s list of <see cref="T:MusicBrainz.Release" />s include a constraint of the type of releases to return. The constraint must specify both 1) whether to return releases which are solely the product of the Artist (single artist) or releases with multiple artists, of which the Artist is one (various artists)*, and 2) either the <see cref="T:MusicBrainz.ReleaseType" /> or <see cref="T:MusicBrainz.ReleaseStatus" /> of the releases to return. The ArtistReleaseType class encapsulates this constraint.
-<block subset="none" type="note">
-*See http://wiki.musicbrainz.org/SingleArtistRelease and http://wiki.musicbrainz.org/VariousArtistsRelease
-</block></remarks>
-  </Docs>
 </Type>

Modified: trunk/musicbrainz-sharp/docs/en/MusicBrainz/ArtistType.xml
==============================================================================
--- trunk/musicbrainz-sharp/docs/en/MusicBrainz/ArtistType.xml	(original)
+++ trunk/musicbrainz-sharp/docs/en/MusicBrainz/ArtistType.xml	Sat Feb  9 06:16:49 2008
@@ -2,7 +2,7 @@
   <TypeSignature Language="C#" Value="public enum ArtistType" />
   <AssemblyInfo>
     <AssemblyName>MusicBrainz</AssemblyName>
-    <AssemblyVersion>1.0.0.0</AssemblyVersion>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
   </AssemblyInfo>
   <Base>
     <BaseTypeName>System.Enum</BaseTypeName>
@@ -16,19 +16,19 @@
     </remarks>
   </Docs>
   <Members>
+    
+    
     <Member MemberName="Group">
       <MemberSignature Language="C#" Value="Group" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ArtistType</ReturnType></ReturnValue>
       <Docs><summary>A group of people such as a band.</summary></Docs>
-    </Member>
-    <Member MemberName="Person">
+    </Member><Member MemberName="Person">
       <MemberSignature Language="C#" Value="Person" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ArtistType</ReturnType></ReturnValue>
       <Docs><summary>A single person.</summary></Docs>
-    </Member>
-    <Member MemberName="Unknown">
+    </Member><Member MemberName="Unknown">
       <MemberSignature Language="C#" Value="Unknown" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ArtistType</ReturnType></ReturnValue>

Modified: trunk/musicbrainz-sharp/docs/en/MusicBrainz/Disc.xml
==============================================================================
--- trunk/musicbrainz-sharp/docs/en/MusicBrainz/Disc.xml	(original)
+++ trunk/musicbrainz-sharp/docs/en/MusicBrainz/Disc.xml	Sat Feb  9 06:16:49 2008
@@ -44,7 +44,7 @@
 <block subset="none" type="note">
 See http://wiki.musicbrainz.org/DiscID
 </block></remarks></Docs>
-    </Member><Member MemberName="LastTrack">
+    </Member><Member MemberName="Init"><MemberSignature Language="C#" Value="protected void Init ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="LastTrack">
       <MemberSignature Language="C#" Value="protected byte LastTrack { set; get; };" />
       <MemberType>Property</MemberType>
       <ReturnValue><ReturnType>System.Byte</ReturnType></ReturnValue>

Modified: trunk/musicbrainz-sharp/docs/en/MusicBrainz/Event.xml
==============================================================================
--- trunk/musicbrainz-sharp/docs/en/MusicBrainz/Event.xml	(original)
+++ trunk/musicbrainz-sharp/docs/en/MusicBrainz/Event.xml	Sat Feb  9 06:16:49 2008
@@ -1,5 +1,5 @@
 <Type Name="Event" FullName="MusicBrainz.Event">
-  <TypeSignature Language="C#" Value="public class Event" />
+  <TypeSignature Language="C#" Value="public sealed class Event" />
   <AssemblyInfo>
     <AssemblyName>MusicBrainz</AssemblyName>
     <AssemblyVersion>0.0.0.0</AssemblyVersion>

Modified: trunk/musicbrainz-sharp/docs/en/MusicBrainz/Label.xml
==============================================================================
--- trunk/musicbrainz-sharp/docs/en/MusicBrainz/Label.xml	(original)
+++ trunk/musicbrainz-sharp/docs/en/MusicBrainz/Label.xml	Sat Feb  9 06:16:49 2008
@@ -2,7 +2,7 @@
   <TypeSignature Language="C#" Value="public sealed class Label : MusicBrainz.MusicBrainzEntity" />
   <AssemblyInfo>
     <AssemblyName>MusicBrainz</AssemblyName>
-    <AssemblyVersion>1.0.0.0</AssemblyVersion>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
   </AssemblyInfo>
   <Base>
     <BaseTypeName>MusicBrainz.MusicBrainzEntity</BaseTypeName>
@@ -17,7 +17,16 @@
     </remarks>
   </Docs>
   <Members>
-    <Member MemberName="Country">
+    
+    
+    
+    
+    
+    
+    
+    
+    
+  <Member MemberName="Country">
       <MemberSignature Language="C#" Value="public string Country { get; };" />
       <MemberType>Property</MemberType>
       <ReturnValue><ReturnType>System.String</ReturnType></ReturnValue>
@@ -26,8 +35,7 @@
 See http://wiki.musicbrainz.org/LabelCountry
 </block>
         </remarks></Docs>
-    </Member>
-    <Member MemberName="Get">
+    </Member><Member MemberName="Get">
       <MemberSignature Language="C#" Value="public static MusicBrainz.Label Get (string mbid);" />
       <MemberType>Method</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.Label</ReturnType></ReturnValue>
@@ -37,60 +45,7 @@
 See http://wiki.musicbrainz.org/LabelID
 </block>
         </remarks></Docs>
-    </Member>
-    <Member MemberName="Query">
-      <MemberSignature Language="C#" Value="public static MusicBrainz.Query&lt;MusicBrainz.Label&gt; Query (string name);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue><ReturnType>MusicBrainz.Query&lt;MusicBrainz.Label&gt;</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="name" Type="System.String" /></Parameters>
-      <Docs><param name="name">The name of a label.</param><summary>Query for Labels by name.</summary><returns>An enumerable Query of results.</returns><remarks>To be added.</remarks></Docs>
-    </Member>
-    <Member MemberName="QueryLucene">
-      <MemberSignature Language="C#" Value="public static MusicBrainz.Query&lt;MusicBrainz.Label&gt; QueryLucene (string lucene_query);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue><ReturnType>MusicBrainz.Query&lt;MusicBrainz.Label&gt;</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="lucene_query" Type="System.String" /></Parameters>
-      <Docs><param name="lucene_query">A lucene text query.</param><summary>Query for Labels by lucene text query.</summary><returns>An enumerable Query of results.</returns><remarks>
-          <block subset="none" type="note">
-See http://wiki.musicbrainz.org/TextSearchSyntax
-</block>
-        </remarks></Docs>
-    </Member>
-    <Member MemberName="Type">
-      <MemberSignature Language="C#" Value="public MusicBrainz.LabelType Type { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>MusicBrainz.LabelType</ReturnType></ReturnValue>
-      <Docs><summary>The Type of the Label.</summary><value>To be added.</value><remarks>
-          <block subset="none" type="note">
-See http://wiki.musicbrainz.org/LabelType
-</block>
-        </remarks></Docs>
-    </Member>
-    <Member MemberName="url_extension">
-      <MemberSignature Language="C#" Value="protected override string url_extension { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>System.String</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    </Member>
-    <Member MemberName="QueryLuceneSingle">
-      <MemberSignature Language="C#" Value="public static MusicBrainz.Label QueryLuceneSingle (string lucene_query);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue><ReturnType>MusicBrainz.Label</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="lucene_query" Type="System.String" /></Parameters>
-      <Docs><param name="lucene_query">A lucene text query.</param><summary>Query for a Label by lucene text query.</summary><returns>The first (most relevant) result from the query. If no results are returned, null.</returns><remarks>
-          <block subset="none" type="note">
-See http://wiki.musicbrainz.org/TextSearchSyntax
-</block>
-        </remarks></Docs>
-    </Member>
-    <Member MemberName="QuerySingle">
-      <MemberSignature Language="C#" Value="public static MusicBrainz.Label QuerySingle (string name);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue><ReturnType>MusicBrainz.Label</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="name" Type="System.String" /></Parameters>
-      <Docs><param name="name">The name of the label.</param><summary>Query for a Label by name.</summary><returns>The first (most relevant) result from the query. If no results are returned, null.</returns><remarks>To be added.</remarks></Docs>
-    </Member>
-    <Member MemberName="op_Implicit">
+    </Member><Member MemberName="op_Implicit">
       <MemberSignature Language="C#" Value="public static string op_Implicit (MusicBrainz.Label l);" />
       <MemberType>Method</MemberType>
       <ReturnValue><ReturnType>System.String</ReturnType></ReturnValue>
@@ -123,6 +78,51 @@
 These two queries are substantively different. See http://wiki.musicbrainz.org/TextSearchSyntax for more information.
 </para>
         </remarks></Docs>
-    </Member>
-  </Members>
+    </Member><Member MemberName="Query">
+      <MemberSignature Language="C#" Value="public static MusicBrainz.Query&lt;MusicBrainz.Label&gt; Query (string name);" />
+      <MemberType>Method</MemberType>
+      <ReturnValue><ReturnType>MusicBrainz.Query&lt;MusicBrainz.Label&gt;</ReturnType></ReturnValue>
+      <Parameters><Parameter Name="name" Type="System.String" /></Parameters>
+      <Docs><param name="name">The name of a label.</param><summary>Query for Labels by name.</summary><returns>An enumerable Query of results.</returns><remarks>To be added.</remarks></Docs>
+    </Member><Member MemberName="QueryLucene">
+      <MemberSignature Language="C#" Value="public static MusicBrainz.Query&lt;MusicBrainz.Label&gt; QueryLucene (string lucene_query);" />
+      <MemberType>Method</MemberType>
+      <ReturnValue><ReturnType>MusicBrainz.Query&lt;MusicBrainz.Label&gt;</ReturnType></ReturnValue>
+      <Parameters><Parameter Name="lucene_query" Type="System.String" /></Parameters>
+      <Docs><param name="lucene_query">A lucene text query.</param><summary>Query for Labels by lucene text query.</summary><returns>An enumerable Query of results.</returns><remarks>
+          <block subset="none" type="note">
+See http://wiki.musicbrainz.org/TextSearchSyntax
+</block>
+        </remarks></Docs>
+    </Member><Member MemberName="QueryLuceneSingle">
+      <MemberSignature Language="C#" Value="public static MusicBrainz.Label QueryLuceneSingle (string lucene_query);" />
+      <MemberType>Method</MemberType>
+      <ReturnValue><ReturnType>MusicBrainz.Label</ReturnType></ReturnValue>
+      <Parameters><Parameter Name="lucene_query" Type="System.String" /></Parameters>
+      <Docs><param name="lucene_query">A lucene text query.</param><summary>Query for a Label by lucene text query.</summary><returns>The first (most relevant) result from the query. If no results are returned, null.</returns><remarks>
+          <block subset="none" type="note">
+See http://wiki.musicbrainz.org/TextSearchSyntax
+</block>
+        </remarks></Docs>
+    </Member><Member MemberName="QuerySingle">
+      <MemberSignature Language="C#" Value="public static MusicBrainz.Label QuerySingle (string name);" />
+      <MemberType>Method</MemberType>
+      <ReturnValue><ReturnType>MusicBrainz.Label</ReturnType></ReturnValue>
+      <Parameters><Parameter Name="name" Type="System.String" /></Parameters>
+      <Docs><param name="name">The name of the label.</param><summary>Query for a Label by name.</summary><returns>The first (most relevant) result from the query. If no results are returned, null.</returns><remarks>To be added.</remarks></Docs>
+    </Member><Member MemberName="Type">
+      <MemberSignature Language="C#" Value="public MusicBrainz.LabelType Type { get; };" />
+      <MemberType>Property</MemberType>
+      <ReturnValue><ReturnType>MusicBrainz.LabelType</ReturnType></ReturnValue>
+      <Docs><summary>The Type of the Label.</summary><value>To be added.</value><remarks>
+          <block subset="none" type="note">
+See http://wiki.musicbrainz.org/LabelType
+</block>
+        </remarks></Docs>
+    </Member><Member MemberName="url_extension">
+      <MemberSignature Language="C#" Value="protected override string url_extension { get; };" />
+      <MemberType>Property</MemberType>
+      <ReturnValue><ReturnType>System.String</ReturnType></ReturnValue>
+      <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
+    </Member><Member MemberName="UrlExtension"><MemberSignature Language="C#" Value="protected override string UrlExtension { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member></Members>
 </Type>

Modified: trunk/musicbrainz-sharp/docs/en/MusicBrainz/LabelType.xml
==============================================================================
--- trunk/musicbrainz-sharp/docs/en/MusicBrainz/LabelType.xml	(original)
+++ trunk/musicbrainz-sharp/docs/en/MusicBrainz/LabelType.xml	Sat Feb  9 06:16:49 2008
@@ -2,7 +2,7 @@
   <TypeSignature Language="C#" Value="public enum LabelType" />
   <AssemblyInfo>
     <AssemblyName>MusicBrainz</AssemblyName>
-    <AssemblyVersion>1.0.0.0</AssemblyVersion>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
   </AssemblyInfo>
   <Base>
     <BaseTypeName>System.Enum</BaseTypeName>
@@ -16,37 +16,37 @@
     </remarks>
   </Docs>
   <Members>
+    
+    
+    
+    
+    
     <Member MemberName="BootlegProduction">
       <MemberSignature Language="C#" Value="BootlegProduction" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.LabelType</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="Distributor">
+    </Member><Member MemberName="Distributor">
       <MemberSignature Language="C#" Value="Distributor" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.LabelType</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="Holding">
+    </Member><Member MemberName="Holding">
       <MemberSignature Language="C#" Value="Holding" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.LabelType</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="OriginalProduction">
+    </Member><Member MemberName="OriginalProduction">
       <MemberSignature Language="C#" Value="OriginalProduction" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.LabelType</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="ReissueProduction">
+    </Member><Member MemberName="ReissueProduction">
       <MemberSignature Language="C#" Value="ReissueProduction" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.LabelType</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="Unspecified">
+    </Member><Member MemberName="Unspecified">
       <MemberSignature Language="C#" Value="Unspecified" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.LabelType</ReturnType></ReturnValue>

Modified: trunk/musicbrainz-sharp/docs/en/MusicBrainz/MusicBrainzInvalidParameterException.xml
==============================================================================
--- trunk/musicbrainz-sharp/docs/en/MusicBrainz/MusicBrainzInvalidParameterException.xml	(original)
+++ trunk/musicbrainz-sharp/docs/en/MusicBrainz/MusicBrainzInvalidParameterException.xml	Sat Feb  9 06:16:49 2008
@@ -1,5 +1,5 @@
 <Type Name="MusicBrainzInvalidParameterException" FullName="MusicBrainz.MusicBrainzInvalidParameterException">
-  <TypeSignature Language="C#" Value="public class MusicBrainzInvalidParameterException : Exception" />
+  <TypeSignature Language="C#" Value="public sealed class MusicBrainzInvalidParameterException : Exception" />
   <AssemblyInfo>
     <AssemblyName>MusicBrainz</AssemblyName>
     <AssemblyVersion>0.0.0.0</AssemblyVersion>

Modified: trunk/musicbrainz-sharp/docs/en/MusicBrainz/MusicBrainzNotFoundException.xml
==============================================================================
--- trunk/musicbrainz-sharp/docs/en/MusicBrainz/MusicBrainzNotFoundException.xml	(original)
+++ trunk/musicbrainz-sharp/docs/en/MusicBrainz/MusicBrainzNotFoundException.xml	Sat Feb  9 06:16:49 2008
@@ -1,5 +1,5 @@
 <Type Name="MusicBrainzNotFoundException" FullName="MusicBrainz.MusicBrainzNotFoundException">
-  <TypeSignature Language="C#" Value="public class MusicBrainzNotFoundException : Exception" />
+  <TypeSignature Language="C#" Value="public sealed class MusicBrainzNotFoundException : Exception" />
   <AssemblyInfo>
     <AssemblyName>MusicBrainz</AssemblyName>
     <AssemblyVersion>0.0.0.0</AssemblyVersion>

Modified: trunk/musicbrainz-sharp/docs/en/MusicBrainz/MusicBrainzUnauthorizedException.xml
==============================================================================
--- trunk/musicbrainz-sharp/docs/en/MusicBrainz/MusicBrainzUnauthorizedException.xml	(original)
+++ trunk/musicbrainz-sharp/docs/en/MusicBrainz/MusicBrainzUnauthorizedException.xml	Sat Feb  9 06:16:49 2008
@@ -1,5 +1,5 @@
 <Type Name="MusicBrainzUnauthorizedException" FullName="MusicBrainz.MusicBrainzUnauthorizedException">
-  <TypeSignature Language="C#" Value="public class MusicBrainzUnauthorizedException : Exception" />
+  <TypeSignature Language="C#" Value="public sealed class MusicBrainzUnauthorizedException : Exception" />
   <AssemblyInfo>
     <AssemblyName>MusicBrainz</AssemblyName>
     <AssemblyVersion>0.0.0.0</AssemblyVersion>

Modified: trunk/musicbrainz-sharp/docs/en/MusicBrainz/Query`1.xml
==============================================================================
--- trunk/musicbrainz-sharp/docs/en/MusicBrainz/Query`1.xml	(original)
+++ trunk/musicbrainz-sharp/docs/en/MusicBrainz/Query`1.xml	Sat Feb  9 06:16:49 2008
@@ -1,5 +1,5 @@
 <Type Name="Query&lt;T&gt;" FullName="MusicBrainz.Query&lt;T&gt;">
-  <TypeSignature Language="C#" Value="public class Query&lt;T&gt; : System.Collections.Generic.IEnumerable&lt;T&gt;" />
+  <TypeSignature Language="C#" Value="public sealed class Query&lt;T&gt; : System.Collections.Generic.IEnumerable&lt;T&gt;" />
   <AssemblyInfo>
     <AssemblyName>MusicBrainz</AssemblyName>
     <AssemblyVersion>0.0.0.0</AssemblyVersion>

Modified: trunk/musicbrainz-sharp/docs/en/MusicBrainz/Release.xml
==============================================================================
--- trunk/musicbrainz-sharp/docs/en/MusicBrainz/Release.xml	(original)
+++ trunk/musicbrainz-sharp/docs/en/MusicBrainz/Release.xml	Sat Feb  9 06:16:49 2008
@@ -2,7 +2,7 @@
   <TypeSignature Language="C#" Value="public sealed class Release : MusicBrainz.MusicBrainzItem" />
   <AssemblyInfo>
     <AssemblyName>MusicBrainz</AssemblyName>
-    <AssemblyVersion>1.0.0.0</AssemblyVersion>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
   </AssemblyInfo>
   <Base>
     <BaseTypeName>MusicBrainz.MusicBrainzItem</BaseTypeName>
@@ -17,7 +17,27 @@
     </remarks>
   </Docs>
   <Members>
-    <Member MemberName="Asin">
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+  <Member MemberName="Asin">
       <MemberSignature Language="C#" Value="public string Asin { get; };" />
       <MemberType>Property</MemberType>
       <ReturnValue><ReturnType>System.String</ReturnType></ReturnValue>
@@ -26,20 +46,17 @@
 See http://wiki.musicbrainz.org/ASIN
 </block>
         </remarks></Docs>
-    </Member>
-    <Member MemberName="Discs">
+    </Member><Member MemberName="Discs">
       <MemberSignature Language="C#" Value="public System.Collections.Generic.List&lt;MusicBrainz.Disc&gt; Discs { get; };" />
       <MemberType>Property</MemberType>
       <ReturnValue><ReturnType>System.Collections.Generic.List&lt;MusicBrainz.Disc&gt;</ReturnType></ReturnValue>
       <Docs><summary>A list of Discs on which the Release appears.</summary><value>A list of <see cref="T:MusicBrainz.Disc" />s. If there are no Discs, an empy list.</value><remarks>This property will never be null.</remarks></Docs>
-    </Member>
-    <Member MemberName="Events">
+    </Member><Member MemberName="Events">
       <MemberSignature Language="C#" Value="public System.Collections.Generic.List&lt;MusicBrainz.Event&gt; Events { get; };" />
       <MemberType>Property</MemberType>
       <ReturnValue><ReturnType>System.Collections.Generic.List&lt;MusicBrainz.Event&gt;</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    </Member>
-    <Member MemberName="Get">
+    </Member><Member MemberName="Get">
       <MemberSignature Language="C#" Value="public static MusicBrainz.Release Get (string mbid);" />
       <MemberType>Method</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.Release</ReturnType></ReturnValue>
@@ -49,8 +66,7 @@
 See http://wiki.musicbrainz.org/ReleaseID
 </block>
         </remarks></Docs>
-    </Member>
-    <Member MemberName="Language">
+    </Member><Member MemberName="Language">
       <MemberSignature Language="C#" Value="public string Language { get; };" />
       <MemberType>Property</MemberType>
       <ReturnValue><ReturnType>System.String</ReturnType></ReturnValue>
@@ -59,15 +75,46 @@
 See http://wiki.musicbrainz.org/ReleaseLanguage and http://en.wikipedia.org/wiki/ISO_639
 </block>
         </remarks></Docs>
-    </Member>
-    <Member MemberName="Query">
+    </Member><Member MemberName="op_Implicit">
+      <MemberSignature Language="C#" Value="public static string op_Implicit (MusicBrainz.Release r);" />
+      <MemberType>Method</MemberType>
+      <ReturnValue><ReturnType>System.String</ReturnType></ReturnValue>
+      <Parameters><Parameter Name="r" Type="MusicBrainz.Release" /></Parameters>
+      <Docs><param name="r">To be added.</param><summary>This operator is provided for the benefit of LINQ syntax. See remarks for details.</summary><returns>r.ToString()</returns><remarks>
+          <para>The purpose of providing this operator is to allow for the following LINQ syntax:
+<example><code lang="C#">
+var q = from r in MB.Releases
+         where r == "Are a Drag"
+         select r;
+  </code></example></para>
+          <para>
+This syntax is beneficial for the following reason: LINQ queries are translated into Lucene queries and executed using the <see cref="M:MusicBrainz.Release.QueryLucene" /> method. Given the following LINQ query:
+<example><code lang="C#">
+var q = from r in MB.Releases
+         where r.Title == "Are a Drag"
+         select r;
+  </code></example></para>
+          <para>
+the LINQ provider will make the following call:
+<example><code lang="C#">
+Release.QueryLucene(@"release:""Are a Drag""");
+  </code></example></para>
+          <para>
+However, given the first query mentioned above, the LINQ provider will make this call:
+<example><code lang="C#">
+Release.QueryLucene("Are a Drag");
+  </code></example></para>
+          <para>
+These two queries ARE NOT substantively different, but the syntax is provided to remain consistant with <see cref="M:MusicBrainz.Artist.Conversion" />. See http://wiki.musicbrainz.org/TextSearchSyntax for more information.
+</para>
+        </remarks></Docs>
+    </Member><Member MemberName="Query">
       <MemberSignature Language="C#" Value="public static MusicBrainz.Query&lt;MusicBrainz.Release&gt; Query (MusicBrainz.ReleaseQueryParameters parameters);" />
       <MemberType>Method</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.Query&lt;MusicBrainz.Release&gt;</ReturnType></ReturnValue>
       <Parameters><Parameter Name="parameters" Type="MusicBrainz.ReleaseQueryParameters" /></Parameters>
       <Docs><param name="parameters">The parameters of the query.</param><summary>Query for Releases parametrically.</summary><returns>An enumerable Query of results.</returns><remarks>To be added.</remarks></Docs>
-    </Member>
-    <Member MemberName="Query">
+    </Member><Member MemberName="Query">
       <MemberSignature Language="C#" Value="public static MusicBrainz.Query&lt;MusicBrainz.Release&gt; Query (string title);" />
       <MemberType>Method</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.Query&lt;MusicBrainz.Release&gt;</ReturnType></ReturnValue>
@@ -78,8 +125,7 @@
 p.Title = "some title";
 Release.Query(p);
   </code></example></remarks></Docs>
-    </Member>
-    <Member MemberName="Query">
+    </Member><Member MemberName="Query">
       <MemberSignature Language="C#" Value="public static MusicBrainz.Query&lt;MusicBrainz.Release&gt; Query (string title, string artist);" />
       <MemberType>Method</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.Query&lt;MusicBrainz.Release&gt;</ReturnType></ReturnValue>
@@ -91,61 +137,7 @@
 p.Artist = "some artist";
 Release.Query(p);
   </code></example></remarks></Docs>
-    </Member>
-    <Member MemberName="QueryLucene">
-      <MemberSignature Language="C#" Value="public static MusicBrainz.Query&lt;MusicBrainz.Release&gt; QueryLucene (string lucene_query);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue><ReturnType>MusicBrainz.Query&lt;MusicBrainz.Release&gt;</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="lucene_query" Type="System.String" /></Parameters>
-      <Docs><param name="lucene_query">A lucene text query.</param><summary>Query for Releases by lucene text query.</summary><returns>An enumerable Query of results.</returns><remarks>
-          <block subset="none" type="note">
-See http://wiki.musicbrainz.org/TextSearchSyntax
-</block>
-        </remarks></Docs>
-    </Member>
-    <Member MemberName="Script">
-      <MemberSignature Language="C#" Value="public string Script { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>System.String</ReturnType></ReturnValue>
-      <Docs><summary>The script of the Release title and track titles.</summary><value>An ISO 15924 script code. null if MusicBrainz does not have script data for a given Release.</value><remarks>
-          <block subset="none" type="note">
-See http://wiki.musicbrainz.org/ReleaseLanguage and http://www.unicode.org/iso15924/iso15924-codes.html
-</block>
-        </remarks></Docs>
-    </Member>
-    <Member MemberName="Status">
-      <MemberSignature Language="C#" Value="public MusicBrainz.ReleaseStatus Status { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>MusicBrainz.ReleaseStatus</ReturnType></ReturnValue>
-      <Docs><summary>The Status of the Release.</summary><value>To be added.</value><remarks>
-          <block subset="none" type="note">
-See http://wiki.musicbrainz.org/ReleaseStatus
-</block>
-        </remarks></Docs>
-    </Member>
-    <Member MemberName="Tracks">
-      <MemberSignature Language="C#" Value="public System.Collections.Generic.List&lt;MusicBrainz.Track&gt; Tracks { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>System.Collections.Generic.List&lt;MusicBrainz.Track&gt;</ReturnType></ReturnValue>
-      <Docs><summary>The list of the Tracks that are included in the Release.</summary><value>A list of <see cref="T:MusicBrainz.Track" />s. If there are no Tracks, an empty list.</value><remarks>This property will never be null.</remarks></Docs>
-    </Member>
-    <Member MemberName="Type">
-      <MemberSignature Language="C#" Value="public MusicBrainz.ReleaseType Type { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>MusicBrainz.ReleaseType</ReturnType></ReturnValue>
-      <Docs><summary>The Type of the Release.</summary><value>To be added.</value><remarks>
-          <block subset="none" type="note">
-See http://wiki.musicbrainz.org/ReleaseType
-</block>
-        </remarks></Docs>
-    </Member>
-    <Member MemberName="url_extension">
-      <MemberSignature Language="C#" Value="protected override string url_extension { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>System.String</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    </Member>
-    <Member MemberName="QueryFromDeviceSingle">
+    </Member><Member MemberName="QueryFromDeviceSingle">
       <MemberSignature Language="C#" Value="public static MusicBrainz.Release QueryFromDeviceSingle (string device);" />
       <MemberType>Method</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.Release</ReturnType></ReturnValue>
@@ -156,8 +148,17 @@
 p.DiscID = Disc.GetFromDevice(@"E:\").ID; // Where E:\ is the path to a CDRom drive
 Release.QuerySingle(p);
   </code></example></remarks></Docs>
-    </Member>
-    <Member MemberName="QueryLuceneSingle">
+    </Member><Member MemberName="QueryLucene">
+      <MemberSignature Language="C#" Value="public static MusicBrainz.Query&lt;MusicBrainz.Release&gt; QueryLucene (string lucene_query);" />
+      <MemberType>Method</MemberType>
+      <ReturnValue><ReturnType>MusicBrainz.Query&lt;MusicBrainz.Release&gt;</ReturnType></ReturnValue>
+      <Parameters><Parameter Name="lucene_query" Type="System.String" /></Parameters>
+      <Docs><param name="lucene_query">A lucene text query.</param><summary>Query for Releases by lucene text query.</summary><returns>An enumerable Query of results.</returns><remarks>
+          <block subset="none" type="note">
+See http://wiki.musicbrainz.org/TextSearchSyntax
+</block>
+        </remarks></Docs>
+    </Member><Member MemberName="QueryLuceneSingle">
       <MemberSignature Language="C#" Value="public static MusicBrainz.Release QueryLuceneSingle (string lucene_query);" />
       <MemberType>Method</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.Release</ReturnType></ReturnValue>
@@ -167,15 +168,13 @@
 See http://wiki.musicbrainz.org/TextSearchSyntax
 </block>
         </remarks></Docs>
-    </Member>
-    <Member MemberName="QuerySingle">
+    </Member><Member MemberName="QuerySingle">
       <MemberSignature Language="C#" Value="public static MusicBrainz.Release QuerySingle (MusicBrainz.ReleaseQueryParameters parameters);" />
       <MemberType>Method</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.Release</ReturnType></ReturnValue>
       <Parameters><Parameter Name="parameters" Type="MusicBrainz.ReleaseQueryParameters" /></Parameters>
       <Docs><param name="parameters">The parameters of the query.</param><summary>Query for a Release parametrically.</summary><returns>The first (most relevant) result from the query. If no results are returned, null.</returns><remarks>To be added.</remarks></Docs>
-    </Member>
-    <Member MemberName="QuerySingle">
+    </Member><Member MemberName="QuerySingle">
       <MemberSignature Language="C#" Value="public static MusicBrainz.Release QuerySingle (string title);" />
       <MemberType>Method</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.Release</ReturnType></ReturnValue>
@@ -186,8 +185,7 @@
 p.Title = "title";
 Release.QuerySingle(p);
   </code></example></remarks></Docs>
-    </Member>
-    <Member MemberName="QuerySingle">
+    </Member><Member MemberName="QuerySingle">
       <MemberSignature Language="C#" Value="public static MusicBrainz.Release QuerySingle (string title, string artist);" />
       <MemberType>Method</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.Release</ReturnType></ReturnValue>
@@ -199,40 +197,42 @@
 p.Artist = "artist";
 Release.QuerySingle(p);
  </code></example></remarks></Docs>
-    </Member>
-    <Member MemberName="op_Implicit">
-      <MemberSignature Language="C#" Value="public static string op_Implicit (MusicBrainz.Release r);" />
-      <MemberType>Method</MemberType>
+    </Member><Member MemberName="Script">
+      <MemberSignature Language="C#" Value="public string Script { get; };" />
+      <MemberType>Property</MemberType>
       <ReturnValue><ReturnType>System.String</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="r" Type="MusicBrainz.Release" /></Parameters>
-      <Docs><param name="r">To be added.</param><summary>This operator is provided for the benefit of LINQ syntax. See remarks for details.</summary><returns>r.ToString()</returns><remarks>
-          <para>The purpose of providing this operator is to allow for the following LINQ syntax:
-<example><code lang="C#">
-var q = from r in MB.Releases
-         where r == "Are a Drag"
-         select r;
-  </code></example></para>
-          <para>
-This syntax is beneficial for the following reason: LINQ queries are translated into Lucene queries and executed using the <see cref="M:MusicBrainz.Release.QueryLucene" /> method. Given the following LINQ query:
-<example><code lang="C#">
-var q = from r in MB.Releases
-         where r.Title == "Are a Drag"
-         select r;
-  </code></example></para>
-          <para>
-the LINQ provider will make the following call:
-<example><code lang="C#">
-Release.QueryLucene(@"release:""Are a Drag""");
-  </code></example></para>
-          <para>
-However, given the first query mentioned above, the LINQ provider will make this call:
-<example><code lang="C#">
-Release.QueryLucene("Are a Drag");
-  </code></example></para>
-          <para>
-These two queries ARE NOT substantively different, but the syntax is provided to remain consistant with <see cref="M:MusicBrainz.Artist.Conversion" />. See http://wiki.musicbrainz.org/TextSearchSyntax for more information.
-</para>
+      <Docs><summary>The script of the Release title and track titles.</summary><value>An ISO 15924 script code. null if MusicBrainz does not have script data for a given Release.</value><remarks>
+          <block subset="none" type="note">
+See http://wiki.musicbrainz.org/ReleaseLanguage and http://www.unicode.org/iso15924/iso15924-codes.html
+</block>
         </remarks></Docs>
-    </Member>
-  </Members>
+    </Member><Member MemberName="Status">
+      <MemberSignature Language="C#" Value="public MusicBrainz.ReleaseStatus Status { get; };" />
+      <MemberType>Property</MemberType>
+      <ReturnValue><ReturnType>MusicBrainz.ReleaseStatus</ReturnType></ReturnValue>
+      <Docs><summary>The Status of the Release.</summary><value>To be added.</value><remarks>
+          <block subset="none" type="note">
+See http://wiki.musicbrainz.org/ReleaseStatus
+</block>
+        </remarks></Docs>
+    </Member><Member MemberName="Tracks">
+      <MemberSignature Language="C#" Value="public System.Collections.Generic.List&lt;MusicBrainz.Track&gt; Tracks { get; };" />
+      <MemberType>Property</MemberType>
+      <ReturnValue><ReturnType>System.Collections.Generic.List&lt;MusicBrainz.Track&gt;</ReturnType></ReturnValue>
+      <Docs><summary>The list of the Tracks that are included in the Release.</summary><value>A list of <see cref="T:MusicBrainz.Track" />s. If there are no Tracks, an empty list.</value><remarks>This property will never be null.</remarks></Docs>
+    </Member><Member MemberName="Type">
+      <MemberSignature Language="C#" Value="public MusicBrainz.ReleaseType Type { get; };" />
+      <MemberType>Property</MemberType>
+      <ReturnValue><ReturnType>MusicBrainz.ReleaseType</ReturnType></ReturnValue>
+      <Docs><summary>The Type of the Release.</summary><value>To be added.</value><remarks>
+          <block subset="none" type="note">
+See http://wiki.musicbrainz.org/ReleaseType
+</block>
+        </remarks></Docs>
+    </Member><Member MemberName="url_extension">
+      <MemberSignature Language="C#" Value="protected override string url_extension { get; };" />
+      <MemberType>Property</MemberType>
+      <ReturnValue><ReturnType>System.String</ReturnType></ReturnValue>
+      <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
+    </Member><Member MemberName="UrlExtension"><MemberSignature Language="C#" Value="protected override string UrlExtension { get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member></Members>
 </Type>

Modified: trunk/musicbrainz-sharp/docs/en/MusicBrainz/ReleaseFormat.xml
==============================================================================
--- trunk/musicbrainz-sharp/docs/en/MusicBrainz/ReleaseFormat.xml	(original)
+++ trunk/musicbrainz-sharp/docs/en/MusicBrainz/ReleaseFormat.xml	Sat Feb  9 06:16:49 2008
@@ -2,7 +2,7 @@
   <TypeSignature Language="C#" Value="public enum ReleaseFormat" />
   <AssemblyInfo>
     <AssemblyName>MusicBrainz</AssemblyName>
-    <AssemblyVersion>1.0.0.0</AssemblyVersion>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
   </AssemblyInfo>
   <Base>
     <BaseTypeName>System.Enum</BaseTypeName>
@@ -16,89 +16,89 @@
     </remarks>
   </Docs>
   <Members>
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
     <Member MemberName="Cartridge">
       <MemberSignature Language="C#" Value="Cartridge" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseFormat</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="CD">
+    </Member><Member MemberName="Cassette">
+      <MemberSignature Language="C#" Value="Cassette" />
+      <MemberType>Field</MemberType>
+      <ReturnValue><ReturnType>MusicBrainz.ReleaseFormat</ReturnType></ReturnValue>
+      <Docs><summary>To be added.</summary></Docs>
+    </Member><Member MemberName="CD">
       <MemberSignature Language="C#" Value="CD" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseFormat</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="DAT">
+    </Member><Member MemberName="DAT">
       <MemberSignature Language="C#" Value="DAT" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseFormat</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="Digital">
+    </Member><Member MemberName="Digital">
       <MemberSignature Language="C#" Value="Digital" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseFormat</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="DualDisc">
+    </Member><Member MemberName="DualDisc">
       <MemberSignature Language="C#" Value="DualDisc" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseFormat</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="DVD">
+    </Member><Member MemberName="DVD">
       <MemberSignature Language="C#" Value="DVD" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseFormat</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="LaserDisc">
+    </Member><Member MemberName="LaserDisc">
       <MemberSignature Language="C#" Value="LaserDisc" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseFormat</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="MiniDisc">
+    </Member><Member MemberName="MiniDisc">
       <MemberSignature Language="C#" Value="MiniDisc" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseFormat</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="None">
+    </Member><Member MemberName="None">
       <MemberSignature Language="C#" Value="None" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseFormat</ReturnType></ReturnValue>
       <Docs><summary>MusicBrainz does not have Format information.</summary></Docs>
-    </Member>
-    <Member MemberName="Other">
+    </Member><Member MemberName="Other">
       <MemberSignature Language="C#" Value="Other" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseFormat</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="ReelToReel">
+    </Member><Member MemberName="ReelToReel">
       <MemberSignature Language="C#" Value="ReelToReel" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseFormat</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="SACD">
+    </Member><Member MemberName="SACD">
       <MemberSignature Language="C#" Value="SACD" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseFormat</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="Vinyl">
+    </Member><Member MemberName="Vinyl">
       <MemberSignature Language="C#" Value="Vinyl" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseFormat</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
     </Member>
-    <Member MemberName="Cassette">
-      <MemberSignature Language="C#" Value="Cassette" />
-      <MemberType>Field</MemberType>
-      <ReturnValue><ReturnType>MusicBrainz.ReleaseFormat</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary></Docs>
-    </Member>
+    
   </Members>
 </Type>

Modified: trunk/musicbrainz-sharp/docs/en/MusicBrainz/ReleaseStatus.xml
==============================================================================
--- trunk/musicbrainz-sharp/docs/en/MusicBrainz/ReleaseStatus.xml	(original)
+++ trunk/musicbrainz-sharp/docs/en/MusicBrainz/ReleaseStatus.xml	Sat Feb  9 06:16:49 2008
@@ -2,7 +2,7 @@
   <TypeSignature Language="C#" Value="public enum ReleaseStatus" />
   <AssemblyInfo>
     <AssemblyName>MusicBrainz</AssemblyName>
-    <AssemblyVersion>1.0.0.0</AssemblyVersion>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
   </AssemblyInfo>
   <Base>
     <BaseTypeName>System.Enum</BaseTypeName>
@@ -16,31 +16,31 @@
     </remarks>
   </Docs>
   <Members>
+    
+    
+    
+    
     <Member MemberName="Bootleg">
       <MemberSignature Language="C#" Value="Bootleg" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseStatus</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="None">
+    </Member><Member MemberName="None">
       <MemberSignature Language="C#" Value="None" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseStatus</ReturnType></ReturnValue>
       <Docs><summary>MusicBrainz does not have a Status for the Release.</summary></Docs>
-    </Member>
-    <Member MemberName="Official">
+    </Member><Member MemberName="Official">
       <MemberSignature Language="C#" Value="Official" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseStatus</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="Promotion">
+    </Member><Member MemberName="Promotion">
       <MemberSignature Language="C#" Value="Promotion" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseStatus</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="PsudoRelease">
+    </Member><Member MemberName="PsudoRelease">
       <MemberSignature Language="C#" Value="PsudoRelease" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseStatus</ReturnType></ReturnValue>

Modified: trunk/musicbrainz-sharp/docs/en/MusicBrainz/ReleaseType.xml
==============================================================================
--- trunk/musicbrainz-sharp/docs/en/MusicBrainz/ReleaseType.xml	(original)
+++ trunk/musicbrainz-sharp/docs/en/MusicBrainz/ReleaseType.xml	Sat Feb  9 06:16:49 2008
@@ -2,7 +2,7 @@
   <TypeSignature Language="C#" Value="public enum ReleaseType" />
   <AssemblyInfo>
     <AssemblyName>MusicBrainz</AssemblyName>
-    <AssemblyVersion>1.0.0.0</AssemblyVersion>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
   </AssemblyInfo>
   <Base>
     <BaseTypeName>System.Enum</BaseTypeName>
@@ -16,73 +16,73 @@
     </remarks>
   </Docs>
   <Members>
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
     <Member MemberName="Album">
       <MemberSignature Language="C#" Value="Album" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseType</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="Audiobook">
+    </Member><Member MemberName="Audiobook">
       <MemberSignature Language="C#" Value="Audiobook" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseType</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="Compilation">
+    </Member><Member MemberName="Compilation">
       <MemberSignature Language="C#" Value="Compilation" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseType</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="EP">
+    </Member><Member MemberName="EP">
       <MemberSignature Language="C#" Value="EP" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseType</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="Interview">
+    </Member><Member MemberName="Interview">
       <MemberSignature Language="C#" Value="Interview" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseType</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="Live">
+    </Member><Member MemberName="Live">
       <MemberSignature Language="C#" Value="Live" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseType</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="None">
+    </Member><Member MemberName="None">
       <MemberSignature Language="C#" Value="None" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseType</ReturnType></ReturnValue>
       <Docs><summary>MusicBrainz does not have a Type for the Release.</summary></Docs>
-    </Member>
-    <Member MemberName="Other">
+    </Member><Member MemberName="Other">
       <MemberSignature Language="C#" Value="Other" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseType</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="Remix">
+    </Member><Member MemberName="Remix">
       <MemberSignature Language="C#" Value="Remix" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseType</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="Single">
+    </Member><Member MemberName="Single">
       <MemberSignature Language="C#" Value="Single" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseType</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="Soundtrack">
+    </Member><Member MemberName="Soundtrack">
       <MemberSignature Language="C#" Value="Soundtrack" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseType</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary></Docs>
-    </Member>
-    <Member MemberName="Spokenword">
+    </Member><Member MemberName="Spokenword">
       <MemberSignature Language="C#" Value="Spokenword" />
       <MemberType>Field</MemberType>
       <ReturnValue><ReturnType>MusicBrainz.ReleaseType</ReturnType></ReturnValue>

Modified: trunk/musicbrainz-sharp/docs/en/index.xml
==============================================================================
--- trunk/musicbrainz-sharp/docs/en/index.xml	(original)
+++ trunk/musicbrainz-sharp/docs/en/index.xml	Sat Feb  9 06:16:49 2008
@@ -20,7 +20,6 @@
       <Type Name="ItemQueryParameters" />
       <Type Name="Label" />
       <Type Name="LabelType" />
-      <Type Name="LabelTypes" />
       <Type Name="MusicBrainzEntity" />
       <Type Name="MusicBrainzInvalidParameterException" />
       <Type Name="MusicBrainzItem" />
@@ -33,7 +32,6 @@
       <Type Name="RelationPrimative`1" DisplayName="RelationPrimative&lt;T&gt;" />
       <Type Name="Release" />
       <Type Name="ReleaseFormat" />
-      <Type Name="ReleaseFormats" />
       <Type Name="ReleaseQueryParameters" />
       <Type Name="ReleaseStatus" />
       <Type Name="ReleaseStatuses" />

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/Makefile.am
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/Makefile.am	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/Makefile.am	Sat Feb  9 06:16:49 2008
@@ -1,21 +1,23 @@
 ASSEMBLY = MusicBrainz.dll
-REFERENCES = -r:System -r:System.Xml
-SOURCES = \
-	$(srcdir)/MusicBrainz/Artist.cs \
-	$(srcdir)/MusicBrainz/Disc.cs \
-	$(srcdir)/MusicBrainz/DiscWin32.cs \
-	$(srcdir)/MusicBrainz/Event.cs \
-	$(srcdir)/MusicBrainz/Label.cs \
-	$(srcdir)/MusicBrainz/MusicBrainzEntity.cs \
-	$(srcdir)/MusicBrainz/MusicBrainzException.cs \
-	$(srcdir)/MusicBrainz/MusicBrainzItem.cs \
-	$(srcdir)/MusicBrainz/MusicBrainzObject.cs \
-	$(srcdir)/MusicBrainz/Query.cs \
-	$(srcdir)/MusicBrainz/Relation.cs \
-	$(srcdir)/MusicBrainz/Release.cs \
-	$(srcdir)/MusicBrainz/Track.cs \
-	$(srcdir)/MusicBrainz/Utilities.cs \
-	$(srcdir)/MusicBrainz/Properties/AssemblyInfo.cs
+REFERENCES =  \
+	-r:System \
+	-r:System.Xml
+SOURCES =  \
+	MusicBrainz/Artist.cs \
+	MusicBrainz/Disc.cs \
+	MusicBrainz/DiscLinux.cs \
+	MusicBrainz/DiscWin32.cs \
+	MusicBrainz/Event.cs \
+	MusicBrainz/Label.cs \
+	MusicBrainz/MusicBrainzEntity.cs \
+	MusicBrainz/MusicBrainzException.cs \
+	MusicBrainz/MusicBrainzItem.cs \
+	MusicBrainz/MusicBrainzObject.cs \
+	MusicBrainz/Query.cs \
+	MusicBrainz/Relation.cs \
+	MusicBrainz/Release.cs \
+	MusicBrainz/Track.cs \
+	MusicBrainz/Utilities.cs
 
 instdir = $(prefix)/lib/musicbrainz-sharp
 inst_SCRIPTS = $(ASSEMBLY) $(ASSEMBLY).mdb

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz.mdp
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz.mdp	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz.mdp	Sat Feb  9 06:16:49 2008
@@ -28,10 +28,20 @@
     <File name="MusicBrainz/Release.cs" subtype="Code" buildaction="Compile" />
     <File name="MusicBrainz/Track.cs" subtype="Code" buildaction="Compile" />
     <File name="MusicBrainz/Utilities.cs" subtype="Code" buildaction="Compile" />
+    <File name="MusicBrainz/DiscLinux.cs" subtype="Code" buildaction="Compile" />
   </Contents>
   <References>
     <ProjectReference type="Gac" localcopy="True" refto="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
     <ProjectReference type="Gac" localcopy="True" refto="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
   </References>
+  <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="True" RelativeMakefileName="Makefile.am" SyncReferences="True" IsAutotoolsProject="True" RelativeConfigureInPath="../..">
+    <BuildFilesVar Sync="True" Name="SOURCES" />
+    <DeployFilesVar />
+    <ResourcesVar Sync="True" Name="REFERENCES" />
+    <OthersVar />
+    <GacRefVar Sync="True" Name="REFERENCES" Prefix="-r:" />
+    <AsmRefVar Sync="True" Name="REFERENCES" Prefix="-r:" />
+    <ProjectRefVar Sync="True" Name="REFERENCES" Prefix="-r:" />
+  </MonoDevelop.Autotools.MakefileInfo>
   <MonoDevelop.ChangeLogAddIn.ChangeLogInfo policy="UseParentPolicy" />
 </Project>
\ No newline at end of file

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Artist.cs
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Artist.cs	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Artist.cs	Sat Feb  9 06:16:49 2008
@@ -178,6 +178,7 @@
         {
             if(mbid == null)
                 throw new ArgumentNullException("mbid");
+            
             return new Artist(mbid);
         }
 
@@ -187,6 +188,7 @@
         {
             if(name == null)
                 throw new ArgumentNullException("name");
+            
             return new Query<Artist>(EXTENSION, QueryLimit, CreateNameParameter(name));
         }
 
@@ -194,6 +196,7 @@
         {
             if(name == null)
                 throw new ArgumentNullException("name");
+            
             Query<Artist> artists = new Query<Artist>(EXTENSION, 1, CreateNameParameter(name));
             return artists.Count > 0 ? artists[0] : null;
         }
@@ -202,6 +205,7 @@
         {
             if(lucene_query == null)
                 throw new ArgumentNullException("lucene_query");
+            
             return new Query<Artist>(EXTENSION, QueryLimit, CreateLuceneParameter(lucene_query));
         }
 
@@ -209,6 +213,7 @@
         {
             if(lucene_query == null)
                 throw new ArgumentNullException("lucene_query");
+            
             Query<Artist> artists = new Query<Artist>(EXTENSION, 1, CreateLuceneParameter(lucene_query));
             return artists.Count > 0 ? artists[0] : null;
         }

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Disc.cs
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Disc.cs	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Disc.cs	Sat Feb  9 06:16:49 2008
@@ -19,6 +19,7 @@
         int sectors;
         byte first_track;
         byte last_track;
+        int[] track_durations;
         int[] track_offsets = new int[100];
 
         protected Disc()
@@ -34,6 +35,42 @@
             id = reader["id"];
             reader.Close();
         }
+        
+        protected void Init()
+        {
+            track_durations = new int[last_track];
+            for(int i = 1; i <= last_track; i++) {
+                track_durations[i - 1] = i < last_track
+                    ? track_offsets[i + 1] - track_offsets[i]
+                    : track_offsets[0] - track_offsets[i];
+                track_durations[i - 1] /= 75; // 75 frames in a second
+            }
+            GenerateId();
+        }
+        
+        void GenerateId()
+        {
+            StringBuilder input_builder = new StringBuilder(804);
+            input_builder.Append(string.Format("{0:X2}", FirstTrack));
+            input_builder.Append(string.Format("{0:X2}", LastTrack));
+            for(int i = 0; i < 100; i++)
+                input_builder.Append(string.Format("{0:X8}", track_offsets[i]));
+
+            // MB uses a slightly modified RFC822 for reasons of URL happiness.
+            string base64 = Convert.ToBase64String(SHA1.Create()
+                .ComputeHash(Encoding.ASCII.GetBytes(input_builder.ToString())));
+            StringBuilder hash_builder = new StringBuilder(base64.Length);
+            foreach(char c in base64)
+                if(c == '+')
+                    hash_builder.Append('.');
+                else if(c == '/')
+                    hash_builder.Append('_');
+                else if(c == '=')
+                    hash_builder.Append('-');
+                else
+                    hash_builder.Append(c);
+            id = hash_builder.ToString();
+        }
 
         public string ID
         {
@@ -63,54 +100,20 @@
             get { return track_offsets; }
         }
 
-        int[] track_durations;
         public int[] TrackDurations
         {
             get { return track_durations; }
         }
 
-        void GenerateId()
-        {
-            StringBuilder input_builder = new StringBuilder(804);
-            input_builder.Append(string.Format("{0:X2}", FirstTrack));
-            input_builder.Append(string.Format("{0:X2}", LastTrack));
-            for(int i = 0; i < 100; i++)
-                input_builder.Append(string.Format("{0:X8}", track_offsets[i]));
-
-            // MB uses a slightly modified RFC822 for reasons of URL happiness.
-            string base64 = Convert.ToBase64String(SHA1.Create()
-                .ComputeHash(Encoding.ASCII.GetBytes(input_builder.ToString())));
-            StringBuilder hash_builder = new StringBuilder(base64.Length);
-            foreach(char c in base64)
-                if(c == '+')
-                    hash_builder.Append('.');
-                else if(c == '/')
-                    hash_builder.Append('_');
-                else if(c == '=')
-                    hash_builder.Append('-');
-                else
-                    hash_builder.Append(c);
-            id = hash_builder.ToString();
-        }
-
         public static Disc GetFromDevice(string device)
         {
             if(device == null)
                 throw new ArgumentNullException("device");
-            Disc result = null;
-
+            
             if(Environment.OSVersion.Platform != PlatformID.Unix)
-                result = new DiscWin32(device);
-
-            result.track_durations = new int[result.last_track];
-            for(int i = 1; i <= result.last_track; i++) {
-                result.track_durations[i - 1] = i < result.last_track
-                    ? result.track_offsets[i + 1] - result.track_offsets[i]
-                    : result.track_offsets[0] - result.track_offsets[i];
-                result.track_durations[i - 1] /= 75; // 75 frames in a second
-            }
-            result.GenerateId();
-            return result;
+                return new DiscWin32(device);
+            else
+                return new DiscLinux(device);
         }
     }
 }

Added: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/DiscLinux.cs
==============================================================================
--- (empty file)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/DiscLinux.cs	Sat Feb  9 06:16:49 2008
@@ -0,0 +1,174 @@
+/***************************************************************************
+ *  DiscLinux.cs
+ *
+ *  Authored by Scott Peterson <lunchtimemama gmail com>
+ * 
+ *  The author disclaims copyright to this source code.
+ ****************************************************************************/
+
+// This is based on $Id: disc_linux.c 8505 2006-09-30 00:02:18Z luks $
+
+using System;
+using System.Runtime.InteropServices;
+
+namespace MusicBrainz
+{
+    internal sealed class DiscLinux : Disc
+    {
+        const int O_RDONLY = 0x0;
+        const int O_NONBLOCK = 0x4000;
+        const int CDROMREADTOCHDR = 0x5305;
+        const int CDROMREADTOCENTRY = 0x5306;
+        const int CDROMMULTISESSION = 0x5310;
+        const int CDROM_LBA = 0x01;
+        const int CDROM_LEADOUT = 0xAA;
+        const int CD_FRAMES = 75;
+        const int XA_INTERVAL = ((60 + 90 + 2) * CD_FRAMES);
+        
+        [DllImport("libc.so.6")]
+        static extern int open(string path, int flags);
+        
+        [DllImport("libc.so.6")]
+        static extern int close(int fd);
+        
+        [DllImport("libc.so.6", EntryPoint = "ioctl")]
+        static extern int get_toc_header(int fd, int request, ref cdrom_tochdr header);
+        static int GetTocHeader(int fd, ref cdrom_tochdr header)
+        {
+            return get_toc_header(fd, CDROMREADTOCHDR, ref header);
+        }
+        
+        [DllImport("libc.so.6", EntryPoint = "ioctl")]
+        static extern int get_multisession(int fd, int request, ref cdrom_multisession multisession);
+        static int GetMultisession(int fd, ref cdrom_multisession multisession)
+        {
+            return get_multisession(fd, CDROMMULTISESSION, ref multisession);
+        }
+        
+        [DllImport("libc.so.6", EntryPoint = "ioctl")]
+        static extern int get_entry(int fd, int request, ref cdrom_tocentry entry);
+        static int GetEntry(int fd, ref cdrom_tocentry entry)
+        {
+            return get_entry(fd, CDROMREADTOCENTRY, ref entry);
+        }
+        
+        struct cdrom_tochdr
+        {
+            public byte cdth_trk0; // start track
+            public byte cdth_trk1; // end track
+        }
+        
+        struct cdrom_tocentry
+        {
+            public byte cdte_track;
+            public byte cdte_adr;
+            public byte cdte_ctrl;
+            public byte cdte_format;
+            public cdrom_addr cdte_addr;
+            public byte cdte_datamode;
+        }
+        
+        struct cdrom_multisession
+        {
+            public cdrom_addr addr;
+            public byte xa_flag;
+            public byte addr_format;
+        }
+        
+        [StructLayout(LayoutKind.Explicit)]
+        struct cdrom_addr
+        {
+            [FieldOffset(0)] public cdrom_msf0 msf;
+            [FieldOffset(0)] public int lba;
+        }
+        
+        struct cdrom_msf0
+        {
+            public byte minute;
+            public byte second;
+            public byte frame;
+        }
+        
+        int ReadTocHeader(int fd)
+        {
+            cdrom_tochdr th = new cdrom_tochdr();
+            cdrom_multisession ms = new cdrom_multisession();
+            
+            int ret = GetTocHeader(fd, ref th);
+            
+            if(ret < 0)
+                return ret; // error
+            
+            FirstTrack = th.cdth_trk0;
+            LastTrack = th.cdth_trk1;
+            
+            ms.addr_format = CDROM_LBA;
+            ret = GetMultisession(fd, ref ms);
+            
+            if(ms.xa_flag != 0)
+                LastTrack--;
+            
+            return ret;
+        }
+        
+        int ReadTocEntry(int fd, byte track_number, ref ulong lba)
+        {
+            cdrom_tocentry te = new cdrom_tocentry();
+            te.cdte_track = track_number;
+            te.cdte_format = CDROM_LBA;
+            
+            int ret = GetEntry(fd, ref te);
+            
+            if(ret == 0)
+                lba = (ulong)te.cdte_addr.lba;
+            
+            return ret;
+        }
+        
+        int ReadLeadout(int fd, ref ulong lba)
+        {
+            cdrom_multisession ms = new cdrom_multisession();
+            ms.addr_format = CDROM_LBA;
+            
+            int ret = GetMultisession(fd, ref ms);
+            
+            if(ms.xa_flag != 0) {
+                lba = (ulong)(ms.addr.lba - XA_INTERVAL);
+                return ret;
+            }
+            
+            return ReadTocEntry(fd, CDROM_LEADOUT, ref lba);
+        }
+        
+        internal DiscLinux(string device)
+        {
+            int fd = open(device, O_RDONLY | O_NONBLOCK);
+
+            if(fd < 0)
+                throw new Exception(String.Format("Cannot open device '{0}'", device));
+            
+            if(ReadTocHeader(fd) < 0) {
+                close(fd);
+                throw new Exception("Cannot read table of contents");
+            }
+            
+            if(LastTrack == 0) {
+                close(fd);
+                throw new Exception("This disc has no tracks");
+            }
+            
+            ulong lba = 0;
+            ReadLeadout(fd, ref lba);
+            TrackOffsets[0] = (int)lba + 150;
+            
+            for(byte i = FirstTrack; i <= LastTrack; i++) {
+                ReadTocEntry(fd, i, ref lba);
+                TrackOffsets[i] = (int)lba + 150;
+            }
+            
+            close(fd);
+            
+            Init();
+        }
+    }
+}

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/DiscWin32.cs
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/DiscWin32.cs	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/DiscWin32.cs	Sat Feb  9 06:16:49 2008
@@ -18,10 +18,10 @@
 {
     internal sealed class DiscWin32 : Disc
     {
-        [DllImport("winmm.dll")]
+        [DllImport("winmm")]
         static extern Int32 mciSendString(String command, StringBuilder buffer, Int32 bufferSize, IntPtr hwndCallback);
 
-        [DllImport("winmm.dll")]
+        [DllImport("winmm")]
         static extern Int32 mciGetErrorString(Int32 errorCode, StringBuilder errorText, Int32 errorTextSize);
 
         internal DiscWin32(string device)
@@ -85,6 +85,8 @@
                 string.Format("close {0} wait", alias),
                 string.Format("Could not close device {0}", device),
                 null);
+            
+            Init();
         }
 
         static StringBuilder mci_result = new StringBuilder(128);

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Label.cs
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Label.cs	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Label.cs	Sat Feb  9 06:16:49 2008
@@ -97,6 +97,7 @@
         {
             if(mbid == null)
                 throw new ArgumentNullException("mbid");
+            
             return new Label(mbid);
         }
 
@@ -106,6 +107,7 @@
         {
             if(name == null)
                 throw new ArgumentNullException("name");
+            
             return new Query<Label>(EXTENSION, QueryLimit, CreateNameParameter(name));
         }
 
@@ -113,6 +115,7 @@
         {
             if(name == null)
                 throw new ArgumentNullException("name");
+            
             Query<Label> labels = new Query<Label>(EXTENSION, 1, CreateNameParameter(name));
             return labels.Count > 0 ? labels[0] : null;
         }
@@ -121,6 +124,7 @@
         {
             if(lucene_query == null)
                 throw new ArgumentNullException("lucene_query");
+            
             return new Query<Label>(EXTENSION, QueryLimit, CreateLuceneParameter(lucene_query));
         }
 
@@ -128,6 +132,7 @@
         {
             if(lucene_query == null)
                 throw new ArgumentNullException("lucene_query");
+            
             Query<Label> labels = new Query<Label>(EXTENSION, 1, CreateLuceneParameter(lucene_query));
             return labels.Count > 0 ? labels[0] : null;
         }

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/MusicBrainzObject.cs
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/MusicBrainzObject.cs	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/MusicBrainzObject.cs	Sat Feb  9 06:16:49 2008
@@ -391,12 +391,10 @@
                 CreateUrl(url_extension, limit, offset, parameters),
                 delegate(XmlReader reader) {
                     reader.ReadToFollowing("metadata");
-                    if(!reader.Read() || reader.NodeType == XmlNodeType.EndElement)
-                        return;
-                    int.TryParse(reader["count"], out count_value);
                     reader.Read();
-                    do results.Add(ConstructMusicBrainzObjectFromXml<T>(reader.ReadSubtree()));
-                    while(reader.Read() && reader.NodeType == XmlNodeType.Element);
+                    int.TryParse(reader["count"], out count_value);
+                    while(reader.Read() && reader.NodeType == XmlNodeType.Element)
+                        results.Add(ConstructMusicBrainzObjectFromXml<T>(reader.ReadSubtree()));
                     reader.Close();
                 }
             );

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Release.cs
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Release.cs	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Release.cs	Sat Feb  9 06:16:49 2008
@@ -340,6 +340,7 @@
         {
             if(mbid == null)
                 throw new ArgumentNullException("mbid");
+            
             return new Release(mbid);
         }
 
@@ -349,6 +350,7 @@
         {
             if(title == null)
                 throw new ArgumentNullException("title");
+            
             ReleaseQueryParameters parameters = new ReleaseQueryParameters();
             parameters.Title = title;
             return Query(parameters);
@@ -358,8 +360,10 @@
         {
             if(title == null)
                 throw new ArgumentNullException("title");
+            
             if(artist == null)
                 throw new ArgumentNullException("artist");
+            
             ReleaseQueryParameters parameters = new ReleaseQueryParameters();
             parameters.Title = title;
             parameters.Artist = artist;
@@ -370,6 +374,7 @@
         {
             if(parameters == null)
                 throw new ArgumentNullException("parameters");
+            
             return new Query<Release>(EXTENSION, QueryLimit, parameters.ToString());
         }
 
@@ -377,6 +382,7 @@
         {
             if(title == null)
                 throw new ArgumentNullException("title");
+            
             ReleaseQueryParameters parameters = new ReleaseQueryParameters();
             parameters.Title = title;
             return QuerySingle(parameters);
@@ -386,8 +392,10 @@
         {
             if(title == null)
                 throw new ArgumentNullException("title");
+            
             if(artist == null)
                 throw new ArgumentNullException("artist");
+            
             ReleaseQueryParameters parameters = new ReleaseQueryParameters();
             parameters.Title = title;
             parameters.Artist = artist;
@@ -398,6 +406,7 @@
         {
             if(parameters == null)
                 throw new ArgumentNullException("parameters");
+            
             Query<Release> releases = new Query<Release>(EXTENSION, 1, parameters.ToString());
             return releases.Count > 0 ? releases[0] : null;
         }
@@ -406,6 +415,7 @@
         {
             if(device == null)
                 throw new ArgumentNullException("device");
+            
             ReleaseQueryParameters parameters = new ReleaseQueryParameters();
             parameters.DiscID = Disc.GetFromDevice(device).ID;
             return QuerySingle(parameters);
@@ -415,6 +425,7 @@
         {
             if(lucene_query == null)
                 throw new ArgumentNullException("lucene_query");
+            
             return new Query<Release>(EXTENSION, QueryLimit, CreateLuceneParameter(lucene_query));
         }
 
@@ -422,6 +433,7 @@
         {
             if(lucene_query == null)
                 throw new ArgumentNullException("lucene_query");
+            
             Query<Release> releases = new Query<Release>(EXTENSION, 1, CreateLuceneParameter(lucene_query));
             return releases.Count > 0 ? releases[0] : null;
         }

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Track.cs
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Track.cs	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Track.cs	Sat Feb  9 06:16:49 2008
@@ -218,6 +218,7 @@
         {
             if(mbid == null)
                 throw new ArgumentNullException("mbid");
+            
             return new Track(mbid);
         }
 
@@ -227,6 +228,7 @@
         {
             if(title == null)
                 throw new ArgumentNullException("title");
+            
             TrackQueryParameters parameters = new TrackQueryParameters();
             parameters.Title = title;
             return Query(parameters);
@@ -236,8 +238,10 @@
         {
             if(title == null)
                 throw new ArgumentNullException("title");
+            
             if(artist == null)
                 throw new ArgumentNullException("artist");
+            
             TrackQueryParameters parameters = new TrackQueryParameters();
             parameters.Artist = artist;
             parameters.Title = title;
@@ -248,6 +252,7 @@
         {
             if(parameters == null)
                 throw new ArgumentNullException("parameters");
+            
             return new Query<Track>(EXTENSION, QueryLimit, parameters.ToString());
         }
 
@@ -255,6 +260,7 @@
         {
             if(title == null)
                 throw new ArgumentNullException("title");
+            
             TrackQueryParameters parameters = new TrackQueryParameters();
             parameters.Title = title;
             return QuerySingle(parameters);
@@ -264,8 +270,10 @@
         {
             if(title == null)
                 throw new ArgumentNullException("title");
+            
             if(artist == null)
                 throw new ArgumentNullException("artist");
+            
             TrackQueryParameters parameters = new TrackQueryParameters();
             parameters.Artist = artist;
             parameters.Title = title;
@@ -276,6 +284,7 @@
         {
             if(parameters == null)
                 throw new ArgumentNullException("parameters");
+            
             Query<Track> tracks = new Query<Track>(EXTENSION, 1, parameters.ToString());
             return tracks.Count > 0 ? tracks[0] : null;
         }
@@ -284,6 +293,7 @@
         {
             if(lucene_query == null)
                 throw new ArgumentNullException("lucene_query");
+            
             return new Query<Track>(EXTENSION, QueryLimit, CreateLuceneParameter(lucene_query));
         }
 
@@ -291,6 +301,7 @@
         {
             if(lucene_query == null)
                 throw new ArgumentNullException("lucene_query");
+            
             Query<Track> tracks = new Query<Track>(EXTENSION, 1, CreateLuceneParameter(lucene_query));
             return tracks.Count > 0 ? tracks[0] : null;
         }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]