banshee r3182 - in trunk/musicbrainz-sharp/src/MusicBrainz: . MusicBrainz
- From: scottp svn gnome org
- To: svn-commits-list gnome org
- Subject: banshee r3182 - in trunk/musicbrainz-sharp/src/MusicBrainz: . MusicBrainz
- Date: Sat, 9 Feb 2008 09:00:32 +0000 (GMT)
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]