Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Is iPhoto's storage format known? I read somewhere that starting with Keynote (and following up on the preferences and stuff), Apple was to use XML as the storage format for an increasing number of its apps. Not to over-pitch XML (especially as Keynote's format could be much improved upon, notably by using SVG instead of copying it) but it would make export trivial, could be used directly in AxKit's image gallery, would allow one to search for pics using Find::File::Rule::XPath, etc.

    robin, who's to

    --

    -- Robin Berjon [berjon.com]

    • It looks like most, but not all, of the info I need is in AlbumData.xml, including a list of all the images, with title, date, filename, comment, and unique iPhoto ID.

      It does not include heigh/width, though, which is important for my use; however, I could get all the info from the XML and from there query iPhoto via Apple events for the dimensions. Actually, what I really need is not dimensions, but degrees of clockwise rotation. It looks like iPhoto does not store that information at all, or at least no
      • Is there any chance that the rotation would be in the EXIF data? There's a field for orientation [perl.org] so there could well be more info.

        For my needs I don't mind throwing in a small SAX filter to add the dimensions, it's cool to know that it's XML so that I can think about building drop in apps for AxKit and that kind of stuff I use. Thanks for the info, hopefully I'll have my iBook soon enough to play with that kind of stuff :)

        --

        -- Robin Berjon [berjon.com]

        • by pudge (1) on 2003.02.03 9:26 (#16652) Homepage Journal
          A good idea, but apparently not.
          $ exifdump ./iPhoto\ Library/2001/07/23/Originals/DSCN0357.JPG | grep Orientation
          Orientation -> top_left
          $ exifdump ./iPhoto\ Library/2001/07/23/DSCN0357.JPG | grep Orientation
          Orientation -> [top_left,top_left]
          $ exifdump ./iPhoto\ Library/2001/07/23/Thumbs/10.jpg | grep Orientation
          So even in iPhoto's copy of this image, which was flipped upside down in iPhoto, the orientation remains unchanged in the EXIF data (for some value of "unchanged" ... it rewrites the EXIF data, but doesn't properly modify the Orientation field). Both my camera, and iPhoto, apparently ignore this data. It does properly modify the height and width tags, but not the Orientation tag.

          Also, iPhoto throws away my CoolPix-$foo tags from the EXIF. These don't matter a LOT, but it sucks to lose them. Right now I don't care much, since I am using the originals, but in the future I might want to use iPhoto also to modify the images themselves, and in that case, I lose the data. Of course, if I do go this route, I don't have to worry about orientation, since the version I will be using online will be oriented properly already. But that's all down the road.