MUPhotoView 1.2

At long last, I’ve updated MUPhotoView to version 1.2. This version incorporates several changes from a coworker - Cameron Esfehani - to update the selection behavior to be more like iPhoto.

But that’s not all! I made several other additions and fixes:

  • Fixed a bug where the view would either stop drawing permanently, or would not draw photos until resized. I made the major cocoa mistake of, during my -init method, calling a method that eventually looked for connected items in the nib. That, of course, is a bad idea during -init, where the nib hasn’t loaded yet.
  • Some minor speedups around selection. When selection is complete, the view will now only redraw the photo cells that need redrawing instead of redrawing the entire visible area. Inspired by Cameron Esfehani, but modified to work with bindings and delegation.
  • Some minor speedups around calculating the photo grid. I previously sprinkled calls to the grid calculations throughout the code in an effort to not do the calculation at every -drawRect call. However, since the view allows connection via bindings or delegate, -drawRect is really the only safe place to do this - I removed all the other calls.
  • Fixed a bug where the selection rectangle wasn’t updated properly when the mouse was outside the view (i.e. during autoscroll).
  • Fixed an issue where using bindings would cause the view to load all images at launch just so it could calculate the “fast” versions. It now calculates them lazily, which is generally better, but could cause some stutters during the first scroll through all the images.
  • And last, but certainly not least, I changed the license to an MIT-style license. The MIT license is more appropriate than the previous license.

There’s one major thing I really hoped to fix for this release of MUPhotoView: performance during drag-selection. I haven’t quite come up with the best solution yet, so I’m releasing 1.2 now and will hopefully update the code again when I have something ready. If you’re drawing small or medium photos, performance is good now. However, if you’re drawing large (or very large) photos (like RAW, TIFF, etc.), drag-selection is still a performance bottleneck, and you may want to turn on “fast” photo drawing during drag selection.

Click here to download the latest release.

Additionally, I’ve made the Subversion repository for MUPhotoView available here. I will eventually publish all my code there - including Sniper and any future code - but it will take me some time to get public-ready versions done.

Enjoy.

7 Responses to “MUPhotoView 1.2”


  1. 1 Brooke Oct 15th, 2006 at 10:51 pm

    MUPhotoView1.2.zip is a 0k file.

  2. 2 blake Oct 16th, 2006 at 7:18 am

    I just re-uploaded the file - should be fixed now.

  3. 3 Juan Oct 17th, 2006 at 4:55 am

    This is great! Thanks. I am a noob developer and it helps quite a bit to have work like this.

  4. 4 Michael Nordmeyer Nov 2nd, 2006 at 3:33 am

    Seems the subversion stuff is broken. svn is missing on the server or the path is wrong.

  5. 5 Article XP Nov 3rd, 2006 at 2:53 am

    Thanks

  6. 6 blake Nov 4th, 2006 at 2:44 pm

    Michael - try again, it’s working for me.

  7. 7 Real Articles Nov 13th, 2006 at 5:17 am

    path is wrong

Leave a Reply