Photo Manager Version Released

Photo Manager Version Released – Translucency

Photo Manager version is up for download! The most notable change is the addition of the \”Fix Dates\” feature in the Advanced interface. Allow me to explain its purpose…

If the date setting on a digital camera is incorrect, all the pictures it takes will have an inaccurate timestamp. There’s no way to tell (electronically speaking) that the picture was not in fact taken on that incorrect date. The only way to know would be because you took the picture and you remember when it was. But after a handful of years, will you still remember?

That’s where this feature comes in. You point it at a folder, and it loads all pictures into a spreadsheet-type window. On the left, you see the file name, the camera that took the picture (extracted from metadata), and when it was supposedly taken. If the date’s wrong, you can select the actual date from a calendar, and it will fix the date for you in the metadata. It will also prompt you if you want to fix other pictures automatically that were taken by the same camera. It won’t use the exact date you picked, but instead compute the number of days that the camera’s date is off by and apply that difference to all the pictures.

The code I used to write the metadata was a bit tricky, and it was difficult to find good references online, so I’ll share a snippet here. I think I’ll do a full discussion on this in another post.


var SourcePath = ThisRow.Cells[\"FullPath\"].Value.ToString();
System.Drawing.Imaging.PropertyItem DateTaken = null;

TimeSpan DateDifference = dateFixDates.Value - DateTime.Parse(ThisRow.Cells[\"DateTaken\"].Value.ToString());
Image ImageObj = Image.FromFile(SourcePath);

    DateTaken = ImageObj.GetPropertyItem(36867);
    DateTaken.Value = Encoding.Default.GetBytes(dateFixDates.Value.ToString(\"yyyy:MMd HH:mm:ss\"));
    DateTaken = ImageObj.PropertyItems[0];
    DateTaken.Id = 36867;
    DateTaken.Value = Encoding.Default.GetBytes(dateFixDates.Value.ToString(\"yyyy:MMd HH:mm:ss\"));



ImageObj.Save(SourcePath + \".fixed\");


ImageObj = null;


File.Move(SourcePath + \".fixed\", SourcePath);

ThisRow.Cells[\"FixedDate\"].Value = dateFixDates.Value;

Photo Manager Version Released – Translucency

IFFY (I’ll Find Files for You) and Translucent PE are finished and will be up for download soon. I’ll explain those later.

Also, I’m using this new blogging system called Chyrp, which I’m really loving. Feel free to register or leave comments!



“Undo Last Sort” Feature Added

“Undo Last Sort” Feature Added – Translucency

I released Version, which includes an “Undo Last Sort” feature that’s accessible in the File menu. It works for both the Advanced and Basic interfaces. The Basic interface will now also prompt you if the picture location (source) contains subfolders, and you’ll have the option of sorting them within each subfolder or pulling them out of the subfolders.

The Advanced interface now has a Current Directory property that can be added to the target path, addressing the same subfolder issue as the basic interface’s new prompt. I released this update quickly because I felt those were some key features that I overlooked. I’d like to release future updates at less frequent intervals. Less for people to keep up on.

Also, I may be switching web hosts soon. If so, hopefully everything will transfer over smooth and seamlessly. If not, I’ll keep updates posted on Facebook.



Feedback on Photo Manager

Feedback on Photo Manager – Translucency

I’ve gotten some good feedback on Photo Manager already. One of the major suggestions to leave files in their current subdirectory without pulling them out. I had it doing this by design, but it poses a problem when someone doesn’t know this behavior will occur, and they sort a folder that has pictures organized into subfolders by topic.

Instead, I’ll have it create the date-named folders within the subdirectories. Or I’ll try to find a non-confusing way of prompting for a selection.

This also led me to a few more thoughts. I could create an “Undo Last Sort” button. It’ll be a little tricky to create, but I think I can do it. I also realized I should include a “current directory” property in the Advanced mode, which would give the option to control the above behavior.

Lastly, I’m testing the ClickOnce technology for application installations. What it would mean is that the applications would require an install, but there wouldn’t be any security issues, and the applications would auto-update when I release new versions.


The Beginnings

The Beginnings – Translucency

Finally, the site is almost functional. I have all the main pieces laid down. The CSS stylesheet and external JavaScripts are done, all the pages are created (if not fully fleshed out), and the contact form is was working. I’ll use an embedded FoxyForm until I figure out what’s going on.

Also, Photo Manager is ready for beta testing and is available for download! While it may seem a little sad that there’s a whole website sitting here for one application, I know I’ll be whipping out more stuff in no time. Check out the Projects page for the ideas I have cooking.

Please let me know if you have any suggestions or find any bugs in Photo Manager (and any future applications). Feedback helps a lot!

– Jared