f-spot r4140 - in trunk/dpap-sharp: launcher lib
- From: apart svn gnome org
- To: svn-commits-list gnome org
- Subject: f-spot r4140 - in trunk/dpap-sharp: launcher lib
- Date: Thu, 3 Jul 2008 08:18:50 +0000 (UTC)
Author: apart
Date: Thu Jul 3 08:18:49 2008
New Revision: 4140
URL: http://svn.gnome.org/viewvc/f-spot?rev=4140&view=rev
Log:
Downloading files from DPAP server
Modified:
trunk/dpap-sharp/launcher/Main.cs
trunk/dpap-sharp/lib/Database.cs
trunk/dpap-sharp/lib/Track.cs
Modified: trunk/dpap-sharp/launcher/Main.cs
==============================================================================
--- trunk/dpap-sharp/launcher/Main.cs (original)
+++ trunk/dpap-sharp/launcher/Main.cs Thu Jul 3 08:18:49 2008
@@ -46,9 +46,14 @@
foreach (Playlist pl in d.Playlists)
Console.WriteLine("\tAlbum: "+pl.Name + ", id=" + pl.getId() + " number of items:" + pl.Tracks.Count);
- foreach (Track tr in d.Tracks)
+ foreach (Track tr in d.Tracks)
+ {
if(tr != null)
- Console.WriteLine("\t\tFile: " + tr.Title);
+ {
+ Console.WriteLine("\t\tFile: " + tr.FileName + " format = " + tr.Format + "size=" + tr.Width +"x" +tr.Height + " ID=" + tr.Id);
+ d.DownloadTrack(tr,"./"+tr.FileName);
+ }
+ }
}
client.Logout();
Modified: trunk/dpap-sharp/lib/Database.cs
==============================================================================
--- trunk/dpap-sharp/lib/Database.cs (original)
+++ trunk/dpap-sharp/lib/Database.cs Thu Jul 3 08:18:49 2008
@@ -398,8 +398,10 @@
}
private HttpWebResponse FetchTrack (Track track, long offset) {
- return client.Fetcher.FetchFile (String.Format ("/databases/{0}/items/{1}.{2}", id, track.Id, track.Format),
- offset);
+ return client.Fetcher.FetchResponse (String.Format ("/databases/{0}/items",id), offset,
+ String.Format("meta=dpap.filedata&query=('dmap.itemid:{0}')",track.Id),
+ null, 1, true);
+
}
public Stream StreamTrack (Track track, out long length) {
@@ -422,6 +424,11 @@
int count = 0;
byte[] buf = new byte[ChunkLength];
+ count = reader.Read(buf,0,89);
+
+ if(count < 89)
+ count+=reader.Read(buf,0,89-count);
+
do {
count = reader.Read (buf, 0, ChunkLength);
writer.Write (buf, 0, count);
Modified: trunk/dpap-sharp/lib/Track.cs
==============================================================================
--- trunk/dpap-sharp/lib/Track.cs (original)
+++ trunk/dpap-sharp/lib/Track.cs Thu Jul 3 08:18:49 2008
@@ -32,6 +32,8 @@
private TimeSpan duration;
private int id;
private int size;
+ private int width;
+ private int height;
private string genre;
private int trackNumber;
private int trackCount;
@@ -134,6 +136,22 @@
}
}
+ public int Width {
+ get { return width; }
+ set {
+ width = value;
+ EmitUpdated ();
+ }
+ }
+
+ public int Height {
+ get { return height; }
+ set {
+ height = value;
+ EmitUpdated ();
+ }
+ }
+
public DateTime DateAdded {
get { return dateAdded; }
set {
@@ -315,42 +333,24 @@
case "dmap.itemid":
track.id = (int) field.Value;
break;
- case "daap.songartist":
- track.artist = (string) field.Value;
- break;
case "dmap.itemname":
track.title = (string) field.Value;
break;
- case "daap.songalbum":
- track.album = (string) field.Value;
- break;
- case "daap.songtime":
- track.duration = TimeSpan.FromMilliseconds ((int) field.Value);
- break;
- case "daap.songformat":
+ case "dpap.imageformat":
track.format = (string) field.Value;
break;
- case "daap.songgenre":
- track.genre = (string) field.Value;
- break;
- case "daap.songsize":
+ case "dpap.imagefilename":
+ track.fileName = (string) field.Value;
+ break;
+ case "dpap.imagefilesize":
track.size = (int) field.Value;
break;
- case "daap.songtrackcount":
- track.trackCount = (short) field.Value;
- break;
- case "daap.songtracknumber":
- track.trackNumber = (short) field.Value;
- break;
- case "daap.bitrate":
- track.bitrate = (short) field.Value;
- break;
- case "daap.songdateadded":
- track.dateAdded = (DateTime) field.Value;
- break;
- case "daap.songdatemodified":
- track.dateModified = (DateTime) field.Value;
- break;
+ case "dpap.imagepixelwidth":
+ track.width = (int) field.Value;
+ break;
+ case "dpap.imagepixelheight":
+ track.height = (int) field.Value;
+ break;
default:
break;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]