Re: [Bug-gnupod] 4th generation iPod Nano

2009-05-29 Thread H. Langos
On Thu, May 28, 2009 at 09:13:08PM +0200, Richard van den Berg wrote:
 On 5/27/09 11:47 PM, Richard van den Berg wrote:
 I'll post a full patch including the documentation side later.
   

 Here is the patch to make the artwork work for the 4th generation iPod Nano.


Thank you very much! I tried to commit the patch to CVS but savannah seems 
to be down at this moment.

cheers
-henrik



___
Bug-gnupod mailing list
Bug-gnupod@nongnu.org
http://lists.nongnu.org/mailman/listinfo/bug-gnupod


Re: [Bug-gnupod] 4th generation iPod Nano

2009-05-29 Thread Richard van den Berg
On Fri, May 29, 2009 14:16, H. Langos wrote:
 It certainly wouldn't hurt to put some iTunesDB files away to have some
 data for verification if somebody sits down to reverse engineer that part
 of the iTunesDB format.

I don't have the Nano anymore (it's on a plane to a sunny destination),
but I can always borrow it later and make the dumps you suggested (my own
approach was rather limited). It's rather interesting that the Nano didn't
seem to mind the type 32 mhods were missing from the iTunesDB.

Cheers,

Richard



___
Bug-gnupod mailing list
Bug-gnupod@nongnu.org
http://lists.nongnu.org/mailman/listinfo/bug-gnupod


Re: [Bug-gnupod] 4th generation iPod Nano

2009-05-28 Thread Richard van den Berg

On 5/27/09 11:47 PM, Richard van den Berg wrote:

I'll post a full patch including the documentation side later.
  


Here is the patch to make the artwork work for the 4th generation iPod Nano.

Cheers,

Richard
? .gnupod_version
? Makefile
? autom4te.cache
? config.log
? config.status
? configure
? nano_4g
Index: doc/gnupod.html
===
RCS file: /sources/gnupod/gnupod/doc/gnupod.html,v
retrieving revision 1.34
diff -u -r1.34 gnupod.html
--- doc/gnupod.html 17 Feb 2008 09:14:04 -  1.34
+++ doc/gnupod.html 28 May 2009 19:11:42 -
@@ -943,7 +943,7 @@
 !--docid::SEC17::--
 P
 
-GNUpod can write cover artwork for video, nano and late 2007-nano iPods. The 
internal image format is model specific, so you should give 
+GNUpod can write cover artwork for video and nano iPods. The internal image 
format is model specific, so you should give 
 GNUpod a hint about the image format it should use.
 /PP
 
@@ -954,6 +954,8 @@
 TABLEtrtdnbsp;/tdtd class=examplepremodel = nano
 /pre/td/tr/tableLate 2007-nanos need this setting:
 TABLEtrtdnbsp;/tdtd class=examplepremodel = nano_3g
+/pre/td/tr/tableLate 2008-nanos need this setting:
+TABLEtrtdnbsp;/tdtd class=examplepremodel = nano_4g
 /pre/td/tr/table/PP
 
 To specify a cover while adding files you'd use the CODE--artwork/CODE 
switch of CODEgnupod_addsong.pl/CODE. Example:
Index: doc/gnupod.info
===
RCS file: /sources/gnupod/gnupod/doc/gnupod.info,v
retrieving revision 1.33
diff -u -r1.33 gnupod.info
--- doc/gnupod.info 17 Feb 2008 09:14:04 -  1.33
+++ doc/gnupod.info 28 May 2009 19:11:42 -
@@ -667,6 +667,8 @@
  model = nano
Late 2007-nanos need this setting:
  model = nano_3g
+   Late 2008-nanos need this setting:
+ model = nano_4g
 
To specify a cover while adding files you'd use the `--artwork'
 switch of `gnupod_addsong.pl'. Example:
Index: doc/gnupod.texi
===
RCS file: /sources/gnupod/gnupod/doc/gnupod.texi,v
retrieving revision 1.41
diff -u -r1.41 gnupod.texi
--- doc/gnupod.texi 24 Mar 2009 16:54:41 -  1.41
+++ doc/gnupod.texi 28 May 2009 19:11:43 -
@@ -684,7 +684,7 @@
 @node Adding cover artwork
 @section Adding cover artwork
 
-GNUpod can write cover artwork for video, nano and late 2007-nano iPods. The 
internal image format is model specific, so you should give 
+GNUpod can write cover artwork for video and nano iPods. The internal image 
format is model specific, so you should give 
 GNUpod a hint about the image format it should use.
 
 If you own a video (compatible) iPod, set:
@@ -700,6 +700,10 @@
 @example
 model = nano_3g
 @end example
+Late 2008-nanos need this setting:
+...@example
+model = nano_4g
+...@end example
 
 
 To specify a cover while adding files you'd use the @co...@w{--artwork}} 
switch of @co...@w{gnupod_addsong.pl}}. Example:
Index: doc/gnupodrc.example
===
RCS file: /sources/gnupod/gnupod/doc/gnupodrc.example,v
retrieving revision 1.6
diff -u -r1.6 gnupodrc.example
--- doc/gnupodrc.example28 Nov 2007 06:21:19 -  1.6
+++ doc/gnupodrc.example28 May 2009 19:11:43 -
@@ -19,6 +19,7 @@
 ## * video   (default)
 ## * nano(pre-2007 nanos)
 ## * nano_3g (the late 2007 nano)
+## * nano_4g (the late 2008 nano)
 # model = video
 
 ## Let GNUpod call mktunes.pl itself.
Index: src/ext/ArtworkDB.pm
===
RCS file: /sources/gnupod/gnupod/src/ext/ArtworkDB.pm,v
retrieving revision 1.21
diff -u -r1.21 ArtworkDB.pm
--- src/ext/ArtworkDB.pm2 Feb 2008 11:30:38 -   1.21
+++ src/ext/ArtworkDB.pm28 May 2009 19:11:43 -
@@ -35,7 +35,10 @@
 use constant MODE_PARSED= 300;
 
# Artwork profiles:
-   my $profiles = { 'nano_3g' = [ { height=320, width=320, 
storage_id=1060, bpp=16,  },  { height=128, width=128, storage_id=1055, 
bpp=16, },
+   my $profiles = { 'nano_4g' = [ { height=128, width=128, 
storage_id=1055, bpp=16,  }, { height=128, width=128, storage_id=1068, 
bpp=16,  },
+   { height=240, width=240, 
storage_id=1071, bpp=16,  }, { height=50,  width=50,  storage_id=1074, 
bpp=16,  },
+   { height=80,  width=80,  
storage_id=1078, bpp=16,  }, { height=240, width=240, storage_id=1084, 
bpp=16,  },  ],
+'nano_3g' = [ { height=320, width=320, 
storage_id=1060, bpp=16,  }, { height=128, width=128, storage_id=1055, 
bpp=16,  },
{ height=56,  width=56,  
storage_id=1061, bpp=16, drop=112}   
  ],
 'classic' = [ { height=320, width=320, 
storage_id=1060, bpp=16,  },  { height=128, width=128, 

Re: [Bug-gnupod] 4th generation iPod Nano

2009-05-28 Thread Richard van den Berg

On 5/27/09 11:48 AM, H. Langos wrote:

On Wed, May 27, 2009 at 07:29:11AM +0200, Richard van den Berg wrote:
  
I temporarily have access to a 4th generation iPod Nano. During the  
gnupod_INIT I see a bunch of:


/usr/bin/tunes2pod: skipping unknown entry of type '32'

Should I see where these warnings come from, or is that harmless?



Dunno. I'd look into it. And see how gtkpod/libgpod handles it.
  


Type 32 mhod is related to video files (one appears for each file). This 
is confirmed by some posts on ipodlinux.org I found in the google cache 
(www.ipodlinux.org is down).


It seems no one knows what type 32 mhod is exactly. Libgpod does not 
have support for it. I don't know how it handles unknown mhod types 
though. Gnupod removes them, which doesn't seem to bother my iPod Nano.


I made some backups of the iTunesDB before and after loading video files 
with iTunes. A hex editor doesn't give me much insight. Let me know if 
you want to take a peek yourself.


Cheers,

Richard




___
Bug-gnupod mailing list
Bug-gnupod@nongnu.org
http://lists.nongnu.org/mailman/listinfo/bug-gnupod


Re: [Bug-gnupod] 4th generation iPod Nano

2009-05-27 Thread Richard van den Berg
On 27-5-2009 11:48, H. Langos wrote:
 Here's a commit email regarding new artwork formats for the nano4g from 
 libgpod:

 http://sourceforge.net/mailarchive/message.php?msg_id=E1LB8Vz-0005Dh-9Y%40d5vjzd1.ch3.sourceforge.com
 which has been fixed a little later
 http://gtkpod.svn.sourceforge.net/viewvc/gtkpod/libgpod/trunk/src/itdb_device.c?r1=2184r2=2187
   

Great research, thanks. I took the values from that last post and they
worked just fine. The nano_4g is an awesome looking iPod.. too bad it's
only 16GB. I'll post a full patch including the documentation side later.

Cheers,

Richard


___
Bug-gnupod mailing list
Bug-gnupod@nongnu.org
http://lists.nongnu.org/mailman/listinfo/bug-gnupod


[Bug-gnupod] 4th generation iPod Nano

2009-05-26 Thread Richard van den Berg
I temporarily have access to a 4th generation iPod Nano. During the 
gnupod_INIT I see a bunch of:


/usr/bin/tunes2pod: skipping unknown entry of type '32'

Should I see where these warnings come from, or is that harmless?

One thing I will look into is the artwork. Setting the model to nano_3g 
makes the coverflow work (awesome!), but does not display the artwork 
during all other views. In ArtworkDB.pm I see:


 # Artwork profiles:
 my $profiles = { 'nano_3g' = [ { height=320, width=320, 
storage_id=1060, bpp=16,  },  { height=128, width=128, 
storage_id=1055, bpp=16, },
 { height=56,  width=56,  
storage_id=1061, bpp=16, 
drop=112} ],
  'classic' = [ { height=320, width=320, 
storage_id=1060, bpp=16,  },  { height=128, width=128, 
storage_id=1055, bpp=16, },
 { height=56,  width=56,  
storage_id=1061, bpp=16, 
drop=112} ],
  'nano'= [ { height=100, width=100, 
storage_id=1027, bpp=16,  },  { height= 42, width= 42, 
storage_id=1031, bpp=16, },  ],
  'video'   = [ { height=200, width=200, 
storage_id=1029, bpp=16,  },  { height=100, width=100, 
storage_id=1028, bpp=16,  }, ],

};

Is there an easy way to figure out the right values for the nano_4g ? Or 
will I have to hexdump the ArtworkDB myself?


Cheers,

Richard


___
Bug-gnupod mailing list
Bug-gnupod@nongnu.org
http://lists.nongnu.org/mailman/listinfo/bug-gnupod