About

Everything that goes on in Robert's life is recorded here. Well, not everything.

Navigation

Home
Books and Stories
Building a MAME cabinet
Build a Light Box
Sword of Omens
Mass Effect Gun
Zombie Apocalypse Team
Photography
Miscellaneous Projects
2013 Florida Trip
Mac Programs
Matching Seasons
Code Snippets
Blog
Dino Comic
Tremorworks
Comic Archive
Solar Air Engine
Gates of Shadow
E-Mail

Current

Book: Random stuff on my kindle.

Game: Working through my steam list of Sakura games. Don't judge me.


Computers:
Lenovo thin notebook (carried in briefcase)
M1 Mac Mini (Main machine)
Early 2008 8-core Mac Pro (downstairs machine)
2017 MacBook Pro (used for tabletop gaming)
Custom Built 6-core Intel Gaming PC
iMac from a customer (Bedroom, not used much honestly)

Blog Archive

2010-01-03
2010-01-04
2010-01-05
2010-01-06
2010-01-07
2010-01-10
2010-01-11
2010-01-13
2010-01-14
2010-01-18
2010-01-19
2010-01-20
2010-01-21
2010-01-24
2010-01-25
2010-01-26
2010-01-27
2010-01-28
2010-01-31
2010-02-02
2010-02-03
2010-02-04
2010-02-07
2010-02-08
2010-02-10
2010-02-11
2010-02-14
2010-02-15
2010-02-16
2010-02-19
2010-02-21
2010-02-22
2010-02-23
2010-02-24
2010-02-25
2010-02-28
2010-03-01
2010-03-03
2010-03-04
2010-03-08
2010-03-09
2010-03-10
2010-03-11
2010-03-14
2010-03-15
2010-03-16
2010-03-17
2010-03-18
2010-03-21
2010-03-22
2010-03-23
2010-03-24
2010-03-28
2010-03-29
2010-03-30
2010-03-31
2010-04-01
2010-04-05
2010-04-06
2010-04-08
2010-04-11
2010-04-12
2010-04-13
2010-04-14
2010-04-15
2010-04-19
2010-04-20
2010-04-21
2010-04-22
2010-04-25
2010-04-26
2010-04-27
2010-04-29
2010-05-03
2010-05-04
2010-05-05
2010-05-09
2010-05-10
2010-05-12
2010-05-18
2010-05-19
2010-05-20
2010-05-23
2010-05-24
2010-05-25
2010-05-26
2010-05-27
2010-05-30
2010-05-31
2010-06-02
2010-06-06
2010-06-07
2010-06-08
2010-06-09
2010-06-10
2010-06-14
2010-06-16
2010-06-20
2010-06-21
2010-06-22
2010-06-24
2010-06-27
2010-06-29
2010-06-30
2010-07-01
2010-07-03
2010-07-06
2010-07-07
2010-07-11
2010-07-13
2010-07-14
2010-07-18
2010-07-19
2010-07-21
2010-07-22
2010-07-25
2010-07-26
2010-07-27
2010-07-28
2010-07-29
2010-08-01
2010-08-02
2010-08-03
2010-08-04
2010-08-06
2010-08-08
2010-08-10
2010-08-16
2010-08-18
2010-08-23
2010-08-26
2010-08-31
2010-09-02
2010-09-07
2010-09-08
2010-09-12
2010-09-13
2010-09-20
2010-09-23
2010-09-26
2010-09-29
2010-10-03
2010-10-06
2010-10-14
2010-10-20
2010-10-23
2010-10-24
2010-10-26
2010-10-27
2010-10-31
2010-11-03
2010-11-07
2010-11-08
2010-11-09
2010-11-10
2010-11-11
2010-11-14
2010-11-16
2010-11-18
2010-11-22
2010-11-24
2010-11-29
2010-12-01
2010-12-05
2010-12-06
2010-12-12
2010-12-16
2010-12-19
2010-12-21
2010-12-27
2010-12-30
2011-01-04
2011-01-05
2011-01-09
2011-01-10
2011-01-16
2011-01-21
2011-01-23
2011-01-24
2011-01-26
2011-01-27
2011-01-30
2011-02-02
2011-02-03
2011-02-04
2011-02-06
2011-02-07
2011-02-08
2011-02-10
2011-02-13
2011-02-14
2011-02-15
2011-02-16
2011-02-17
2011-02-20
2011-02-21
2011-02-22
2011-02-23
2011-02-24
2011-02-28
2011-03-01
2011-03-02
2011-03-04
2011-03-05
2011-03-06
2011-03-07
2011-03-08
2011-03-09
2011-03-11
2011-03-13
2011-03-14
2011-03-15
2011-03-16
2011-03-17
2011-03-18
2011-03-21
2011-03-22
2011-03-23
2011-03-27
2011-03-29
2011-03-31
2011-04-04
2011-04-05
2011-04-07
2011-04-10
2011-04-12
2011-04-13
2011-04-14
2011-04-17
2011-04-18
2011-04-20
2011-04-24
2011-04-25
2011-04-26
2011-04-28
2011-05-01
2011-05-03
2011-05-08
2011-05-09
2011-05-11
2011-05-15
2011-05-16
2011-05-18
2011-05-19
2011-05-22
2011-05-23
2011-05-25
2011-05-30
2011-05-31
2011-06-01
2011-06-02
2011-06-06
2011-06-07
2011-06-08
2011-06-09
2011-06-12
2011-06-15
2011-06-16
2011-06-20
2011-06-21
2011-06-23
2011-06-26
2011-06-27
2011-06-28
2011-06-29
2011-06-30
2011-07-05
2011-07-06
2011-07-07
2011-07-10
2011-07-11
2011-07-12
2011-07-13
2011-07-14
2011-07-18
2011-07-19
2011-07-21
2011-07-26
2011-07-27
2011-07-31
2011-08-01
2011-08-03
2011-08-04
2011-08-05
2011-08-08
2011-08-09
2011-08-11
2011-08-17
2011-08-21
2011-08-22
2011-08-23
2011-08-24
2011-08-25
2011-08-29
2011-08-30
2011-08-31
2011-09-01
2011-09-05
2011-09-06
2011-09-07
2011-09-08
2011-09-11
2011-09-12
2011-09-13
2011-09-15
2011-09-25
2011-09-27
2011-09-28
2011-09-29
2011-10-03
2011-10-07
2011-10-11
2011-10-13
2011-10-16
2011-10-17
2011-10-18
2011-10-19
2011-10-20
2011-10-23
2011-10-26
2011-10-31
2011-11-03
2011-11-07
2011-11-08
2011-11-10
2011-11-13
2011-11-16
2011-11-22
2011-11-27
2011-11-29
2011-11-30
2011-12-01
2011-12-06
2011-12-07
2011-12-11
2011-12-12
2011-12-15
2011-12-22
2011-12-27
2011-12-29

RSS Feed


Search

Enter Search:



2011-02-04:

All I want to do is easily grab the iPhoto library information so I can load the pictures in iPhoto into Comic Maker. Does Apple make this easy? Not so much. I've looked and looked for a solution, but didn't find much. Then I found imediabrowser which is a framework for getting at the various iLife programs outside those programs. Sorta. It doesn't return them, it puts them into a window. Okay, that's... helpful? So I download the code thinking maybe I can just strip out what makes the iPhoto part work and toss the rest. I open it up, and there's a folder with 317 objects in it. Fully 198 of the files are code, meaning 99 header files and 99 .m files. Uh, what? So I find the one related to iPhoto, and try delving into it. I read it. I study it. I... feel confused. Can reading out the iPhoto library REALLY require all this code? I decide to see if I can modify it slightly to return an array of the picture locations. I pull the file out and put it into my own project. It needs certain support files to work. I put them in. Those support files need further support files to work. I put them in. They need further, further support files... I gave up. Honestly, do I need thousands of lines of code to say "iPhoto, what pictures do you know about?" and get a "oh, hi, here you go" answer? Really? 
 
But it does show me one important thing. How to ask where the AlbumData.xml file lives, and load it in. Of course it's a gibberish file
 

<?xml version="1.0" encoding="UTF-8"?>

<plist version="1.0">

<dict>

<key>Application Version</key>

<string>6.0.6 (322)</string>

<key>Archive Path</key>

<string>/Users/*username*/Pictures/iPhoto Library</string>

<key>ArchiveId</key>

<string>1</string>

<key>List of Albums</key>

<array>

<dict>

<key>AlbumId</key>

<integer>999000</integer>

<key>AlbumName</key>

<string>Library</string>

<key>KeyList</key>

<array>

<string>15</string>

 
 not a nice neat listing, but whatever.  This I guess I can work with. I can see, in the file, where my albums are:
 

<dict>

<key>AlbumId</key>

<integer>48</integer>

<key>AlbumName</key>

<string>an albmum</string>

<key>KeyList</key>

<array>

<string>15</string>

</array>

<key>Album Type</key>

 
but under that there is no way to see what pictures are associated with that album. Helpful.
 
But at the very end of the file is this:
 

<real>0.000000</real>

<key>ImagePath</key>

<string>/Users/*un*/Pictures/iPhoto Library/Originals/2008/Roll 22/78af08d6-e97d-43b3-8071-247d05753fac.jpg</string>

<key>ThumbPath</key>

<string>/Users/*un*/Pictures/iPhoto Library/Data/2008/Roll 22/78af08d6-e97d-43b3-8071-247d05753fac.jpg</string>

</dict>

</dict>

 
Ah, the very thing I'm looking for, the path to the file name. So I strip out all the rest of the crap in the file leaving just the line with the ImagePath and load that in. Success! Of a sort. It will only load the entire library, so if someone had an album and that album alone they wanted to import, can't do it. I'm sure there is a way to, other programs seem to. Heck, even the screensaver module shows the album name. But I don't really want to write over NINE THOUSAND lines of code, so maybe "all or nothing" will be fine. 
 
Really, the more I think about it, the more I might just gear it towards sprite comics still, and forget the iPhoto stuff. The more I look at it, the less I believe I can actually compete with Comic Life, after all, they've been around for years and have a team, rather then just one person.
 
Of course, all this would be a moot point if iPhoto wasn't so crappy. Do you know how Picasa works? It imports your photos into the photos folder, and gives it a name of... whatever you want. You can open your pictures folder, and it's right there! But iPhoto? NOooooo it has to (in the later versions) copy everything into a folder disguised as a document, so forget ever actually looking at anything... expect through iPhoto.  That's why I never use it, and give everyone Picasa and tell them to stay far, far away from the crappy iPhoto universe. It's about control, and you keeping control of your pictures, rather then handing control off and never seeing them again.
 
So what did you do today?
 
Anyway, saw Bruce, filthy place as usual. I mean, okay, he's an amputee (one leg) (he was "going to" get a prosthetic years ago, another lie?) so he has no furniture, because I guess no one wants to visit him anyway, so it's just a room, with absolute crap pushed up against every wall leaving a big hole in the middle. What a useless person.
 
Then over to a person with a BSOD which I guess turned out to be Avast! related? The BS message said something about a certain .sys file (amazing) which I tracked down to avast!. Huh. So I removed it, and luckily her machine was a dual core so I gave her Microsoft Security Essentials instead, (forget running that on single processor machines, learned that the hard way) and everything was fine. Ordered her a backup drive too, so at least something good came of it. 
 
Then to grandma, who can't figure out how old she is, and gave Dad his present. OH, oh, which I can show you now!
 
[[popup:clock.jpg:(thumbnail):Click the Clock:center:1]]
 
and his card
 
[[popup:2-1-11-inside-card.jpg:(thumbnail):Click the Card:center:1]]
 
Which was basically me cutting apart two of Sean's old (1999!) Darkbolt comics and changing the dialog to show how he saved the earth, just by doing his job. It happened, true story!
 
Then I came back here and got the iPhoto thing working (to the extent it will work) and then wrote my rant about it.
 
Now it's ten o'clock so Sean will either call in a few minutes to play something or I'll.....
 
yeah.