banshee r3182 - in trunk/musicbrainz-sharp/src/MusicBrainz: . MusicBrainz



Author: scottp
Date: Sat Feb  9 09:00:32 2008
New Revision: 3182
URL: http://svn.gnome.org/viewvc/banshee?rev=3182&view=rev

Log:
* src/MusicBrainz/MusicBrainz/Disc.cs,
  src/MusicBrainz/MusicBrainz/DiscLinux.cs: More work on the linux
  discid. Still not there yet. Damn marshaling.

Modified:
   trunk/musicbrainz-sharp/src/MusicBrainz/ChangeLog
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz.mdp
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Disc.cs
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/DiscLinux.cs

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 09:00:32 2008
@@ -37,7 +37,7 @@
   <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="True" RelativeMakefileName="Makefile.am" SyncReferences="True" IsAutotoolsProject="True" RelativeConfigureInPath="../..">
     <BuildFilesVar Sync="True" Name="SOURCES" />
     <DeployFilesVar />
-    <ResourcesVar Sync="True" Name="REFERENCES" />
+    <ResourcesVar Name="REFERENCES" />
     <OthersVar />
     <GacRefVar Sync="True" Name="REFERENCES" Prefix="-r:" />
     <AsmRefVar Sync="True" Name="REFERENCES" Prefix="-r:" />

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 09:00:32 2008
@@ -53,7 +53,7 @@
             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++)
+            for(int i = 0; i < track_offsets.Length; i++)
                 input_builder.Append(string.Format("{0:X8}", track_offsets[i]));
 
             // MB uses a slightly modified RFC822 for reasons of URL happiness.

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/DiscLinux.cs
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/DiscLinux.cs	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/DiscLinux.cs	Sat Feb  9 09:00:32 2008
@@ -46,17 +46,32 @@
         }
         
         [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)
+        static extern int get_toc_entry(int fd, int request, ref cdrom_tocentry entry);
+        static int GetTocEntry(int fd, ref cdrom_tocentry entry)
         {
-            return get_entry(fd, CDROMREADTOCENTRY, ref entry);
+            return get_toc_entry(fd, CDROMREADTOCENTRY, ref entry);
         }
         
         [StructLayout(LayoutKind.Sequential)]
         struct cdrom_tochdr
         {
-            public byte cdth_trk0; // start track
-            public byte cdth_trk1; // end track
+            public byte cdth_trk0;
+            public byte cdth_trk1;
+        }
+        
+        [StructLayout(LayoutKind.Sequential)]
+        struct cdrom_msf0
+        {
+            public byte minute;
+            public byte second;
+            public byte frame;
+        }
+        
+        [StructLayout(LayoutKind.Explicit)]
+        struct cdrom_addr
+        {
+            [FieldOffset(0)] public cdrom_msf0 msf;
+            [FieldOffset(0)] public int lba;
         }
         
         [StructLayout(LayoutKind.Explicit)]
@@ -66,13 +81,13 @@
             public byte cdte_track;
             [FieldOffset(1)]
             public byte cdte_adr;
-            [FieldOffset(1)]
+            [FieldOffset(5)]
             public byte cdte_ctrl;
-            [FieldOffset(2)]
+            [FieldOffset(6)]
             public byte cdte_format;
-            [FieldOffset(3)]
-            public cdrom_addr cdte_addr;
             [FieldOffset(7)]
+            public cdrom_addr cdte_addr;
+            [FieldOffset(11)]
             public byte cdte_datamode;
         }
         
@@ -84,21 +99,6 @@
             public byte addr_format;
         }
         
-        [StructLayout(LayoutKind.Explicit)]
-        struct cdrom_addr
-        {
-            [FieldOffset(0)] public cdrom_msf0 msf;
-            [FieldOffset(0)] public int lba;
-        }
-        
-        [StructLayout(LayoutKind.Sequential)]
-        struct cdrom_msf0
-        {
-            public byte minute;
-            public byte second;
-            public byte frame;
-        }
-        
         int ReadTocHeader(int fd)
         {
             cdrom_tochdr th = new cdrom_tochdr();
@@ -107,7 +107,7 @@
             int ret = GetTocHeader(fd, ref th);
             
             if(ret < 0)
-                return ret; // error
+                return ret;
             
             FirstTrack = th.cdth_trk0;
             LastTrack = th.cdth_trk1;
@@ -127,7 +127,7 @@
             te.cdte_track = track_number;
             te.cdte_format = CDROM_LBA;
             
-            int ret = GetEntry(fd, ref te);
+            int ret = GetTocEntry(fd, ref te);
             
             if(ret == 0)
                 lba = (ulong)te.cdte_addr.lba;



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