Programer Wanted.
I have atached a Java program I wrote to rename pictures based on the time they where taken.
It assumes the cameras time is set to UTC time.
You need to enter what time zone the picture was taken in and it will name the file in such a way that windows will properly sort but humans can easily read even if crossing time zones.
Bug: You need to encode your computers time zone in before compiling.
What I would like is a nice GUI for it and if possible for it to try and figure out what time zone the picture was taken in by using encoded GPS information. I encode most pictures with the location they were taken at but not all so if not there it would have to guess based on time and most recent location stamp and ask user to verify.
Is anyone interested? If so what would you want for it? I just need finished program you are welcome to use and sell in anyway if you chose to write this.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
24 bit LCD Breakout Board coming soon. $21.99 has backlight driver and touch sensitive decoder.
It assumes the cameras time is set to UTC time.
You need to enter what time zone the picture was taken in and it will name the file in such a way that windows will properly sort but humans can easily read even if crossing time zones.
Bug: You need to encode your computers time zone in before compiling.
What I would like is a nice GUI for it and if possible for it to try and figure out what time zone the picture was taken in by using encoded GPS information. I encode most pictures with the location they were taken at but not all so if not there it would have to guess based on time and most recent location stamp and ask user to verify.
Is anyone interested? If so what would you want for it? I just need finished program you are welcome to use and sell in anyway if you chose to write this.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
24 bit LCD Breakout Board coming soon. $21.99 has backlight driver and touch sensitive decoder.
java
![](/plugins/FileUpload/images/file.png)
6K
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
24 bit LCD Breakout Board coming soon. $21.99 has backlight driver and touch sensitive decoder.
Could you be clear on the exact format for the filename? (like "YYYY_MM_DD___HH_MM_SS")?
Are you looking to move the dates and time from local to UTC or UTC to local?
[url=http://uploads.propmodule.com/mctrivia___[2008101000] - Event.zip][noparse][[/noparse]2008101000] - Event(Archive - 8.9MB)[/url]
Here is an extract of the EXIF Data. GPS Stuff is at the bottom.
[noparse][[/noparse]Image]
Make = NIKON CORPORATION
Model = NIKON D200
Orientation = top/left
X Resolution = 300
Y Resolution = 300
Resolution Unit = inch
Software = Ver.2.00
Date Time = 2008-10-10 21:30:49
YCbCr Positioning = co-sited
Exif IFD Pointer = Offset: 228
GPS Info IFD Pointer = Offset: 28720
[noparse][[/noparse]Camera]
Exposure Time = 1/30"
F Number = F7.1
Exposure Program = Aperture priority
ISO Speed Ratings = 200
Exif Version = Version 2.21
Date Time Original = 2008-10-10 21:30:49
Date Time Digitized = 2008-10-10 21:30:49
Components Configuration = YCbcr
Compressed Bits Per Pixel = 4
Exposure Bias Value = +0.33EV
Max Aperture Value = F2.83
Metering Mode = Pattern
Light Source = unknown
Flash = Off
Focal Length = 24mm
Maker Note = 27826 Byte
User Comment =
Subsec Time = 0.39"
Subsec Time Original = 0.39"
Subsec Time Digitized = 0.39"
Flashpix Version = Version 1.0
Color Space = sRGB
Exif Image Width = 1936
Exif Image Height = 1296
Interoperability IFD Pointer = Offset: 28690
Sensing Method = One-chip color area sensor
File Source = DSC
Scene Type = A directly photographed image
CFA Pattern = [noparse][[/noparse]G,R],
[noparse][[/noparse]B,G]
Custom Rendered = Normal process
Exposure Mode = Auto exposure
White Balance = Auto white balance
Digital Zoom Ratio = 1x
Focal Length In 35mm Film = 36mm
Scene Capture Type = Normal
Gain Control = None
Contrast = Normal
Saturation = Normal
Sharpness = Normal
Subject Distance Range = unknown
[noparse][[/noparse]Interoperability]
Interoperability Index = ExifR98
Interoperability Version = Version 1.0
[noparse][[/noparse]Thumbnail Info]
Compression = JPEG Compressed (Thumbnail)
X Resolution = 300
Y Resolution = 300
Resolution Unit = inch
JPEG Interchange Format = Offset: 29068
JPEG Interchange Format Length = Length: 9327
YCbCr Positioning = co-sited
[noparse][[/noparse]Thumbnail]
Thumbnail = 160 x 120
[noparse][[/noparse]MakerNote (Nikon)]
Makernote Version = 0210
ISO Speed Used = 200
Colour Mode = COLOR
Quality = FINE
White Balance = AUTO
Sharpening = AUTO
Focus Mode = AF-C
Flash Setting = NORMAL
Auto Flash Mode =
White Balance Bias Value = 0
White Balance Red, Blue Coefficients = 476/256, 339/256, 256/256, 256/256
000D = 00, 01, 06, 00
Exposure Diff = 00, 01, 0C, 00
ThumbOffset = 2366
Flash Compensation = E2, 01, 06, 00
ISO Speed Requested = 200
Photo corner coordinates = 0, 0, 1936, 1296
0017 = 00, 01, 06, 00
Flash Bracket Compensation Applied = 02, 01, 06, 00
AE Bracket Compensation Applied = +0.33EV
001B = 0, 3904, 2616, 3904, 2616, 0, 0
001C = 00, 01, 06
001D =
001E = 1
0020 = 0
Tone Compensation (Contrast) = AUTO
Lens Type = 2
Lens Min/Max Focal Length, Max Aperture = 240/10, 700/10, 28/10, 28/10
Flash Used = Flash Not Used
Auto Focus Area = 00, 0A, 04, 00
Bracketing & Shooting Mode = 17
008A = 1
008B = 54, 01, 0C, 00
Colour Mode = MODE1
Lighting Type = NATURAL
0091 = 30, 32, 30, 37, 6D, 6E, 58, B5, E3, 72, FD, FD, 70, C7, 57, 76, B2, 0B, 81, 14, C4, 91, 7B, 82, A6, E7, 45, C0, 58, 0D, DF, CE, DA, 03, 49, AC, 2C, C9, 83, 5A, 4E, 5F, 8D, D8, 40, C5, 67, 26, 02, FB, 11, 44, 94, 01, 8B, 32, F6, D7, D5, F0, 28, 7D, EF, 7E, 2A, F3, D9, DC, FC, 39, 93, 0A, 9E, 4F, 1D, 08, 90, 2B, 55, 9E, 52, E8, EA, 70, 64, F1, D5, 00, 4F, C7, 2D, 3D, DA, BE, 54, CF, 6E, E3, 69, 0C, CC, E2, A7, BA, F3, 3F, AD, 3A, E3, A7, 85, 86, A2, B5, 06, A3, 44, E1, AB, 92, BC, 83, 8D, 69, C0, AE, 1F, 1A, CA, 3F, F9, 3C, 2B, D0, 03, 6A, 3E, E5, 44, 68, B0, C4, 97, 36, 45, CB, C1, D4, 04, 40, AA, 53, F5, 65, 40, 42, 5D, CD, 1F, CC, DF, C3, 89, F2, 6C, 89, 5D, 1A, 8E, CE, CD, 98, 2D, 51, 77, 32, 92, 16, 61, 20, FA, 08, 05, 3B, B8, 5E, 4A, 78, 73, 34, 2F, 17, 6B, F3, 19, 9C, 3C, F9, D3, CA, DC, 0F, 58, D3, 4B, F4, C7, DE, D2, AB, E1, 34, A4, 25, BB, B7, A2, 80, A5, E5, 56, 9A, 58, BA, 8D, FF, 8D, E8, 10, 4D, FD, 28, 38, AD, ED, F8, 20, 65, C7, 46, E2, 9B, 33, 66, 74, 86, 8B, 52, D6, 77, 35, 29, AA, 5D, 4F, A7, 9A, 93, 30, F5, D5, F9, F3, 8A, 36, EE, 7D, 28, F0, D5, D5, F6, 32, 8B, 01, 94, 44, 01, FB, 02, 26, 67, C5, 40, D8, 8D, 5E, 4F, 5A, 82, C9, 3B, AC, 76, 03, EA, CE, D0, 0D, 30, C0, 45, E7, A7, 82, 64, 91, C4, 14, 81, 0B, B2, 62, 57, 95, 70, A8, FD, 6F, FE, AA, 79, 59, BC, 7C, B9, 13, 8A, 1E, CF, 81, 88, 9F, B5, F7, 56, E2, 6B, 21, F4, 18, F1, 1C, 62, C6, 47, E5, A0, 78, 6D, 83, AE, F9, 63, E9, 8C, 4C, 29, 23, 3A, 6E, BF, 2D, B8, 60, 25, 07, 52, 22, 5B, B1, 24, EB, 61, 2B, 12, 58, 63, 74, 61, FF, 76, 10, C3, 4A, 06, 79, 2E, 1C, 47, 33, 34, BE, 25, BD, 79, 30, F2, 17, 8D, 72, 4F, 41, 54, 84, D1, 3B, 5D, 66, 24, 05, 01, 18, 4E, 9F, CF, 9A, 7B, 0D, E9, B8, 5A, 16, CF, 0E, 9F, 4D, 18, 00, 05, 27, 66, 35, 3B, C2, C3, 62, 5A, 16, 9C, FC, 59, D8, 63, E8, BD, AF, BE, FB, 22, 88, 13, 97, F8, 22, 61, 5D, 8C, DE, 4B, D0, 75, 37, 16, 12, 2B, 61, B4, 24, A8, 5B, 3B, 06, 1E, 25, 79, BA, 2F, BE, 6D, 93, 8A, 80, E5, 8C, E9, 63, FA, AE, 7F, 6D, 78, A0, E5, 47, C6, 62, 1B, F1, E4, E4, A3, ED, DB, 46, 75, 33, 99, 98, 1F, 49, 17, 9A, 91, 3F, 74, 0B, 08, 22, FC, EE, ED, 7B, A1, 70, 55, 57, 55, B2, 40, 81, 27, C4, A7, 7B, BD, A6, CC, 45, DB, 58, 0D, DF, DC, DA, 19, 49, 81, 2C, E7, 83, C2, 4E, D5, 8D, E1, 40, F6, 67, 0C, 02, E3, 11, 5F, 94, 25, 8B, 07, F7, F0, D4, 79, 28, DF, EF, FF, 2A, 73, D9, C8, FC, 26, 93, 27, 9F, 05, 18, 96, 15, 3F, 75, 78, 50, 1F, A3, 54, 64, 71, 9B, C2, 46, FC, 61, 24, FF, BD, F9, F2, 7F, 70, 6D, 4A, CC, A9, A3, EF, EE, 3F, 52, C7, 1F, 5A, 78, 79, 5D, 24, CE, 5B, 34, E3, 4C, FA, 96, B5, 12, D6, C8, 5F, E7, CE, CA, D1, 11, 2C, 9C, 1B, 5B, 00, 3E, 2B, DB, 68, B0, 15, 92, BC, F2, CB, C1, D4, 04, 51, BB, 42, E6, A7, 85, 80, 98, CD, 1F, 8E, 1A, C3, 89, 6C, 6C, 96, EC, 4C, 8E, 1F, CD, 98, 80, 85, A7, E6, 42, BB, 51, 04, D4, C1, CB, F2, 36, 97, 15, B0, 68, 3D, 2F, 33, 5B, A9, 2B, 99, 3E, E6, E2, D0, EC, 0A, 5F, D7, 61, F0, B5, 89, 92, A9, 07, 25, A4, 33, 3D, CB, 86, 85, 43, 89, 38, AF, D9, 6B, BA, A1, 4F, 49, 0C, 6B, 05, FF, 2E, FD, 0B, 11, 20, 67, 20, 07, E2, 99, 96, 25, 74, A3, 0C, 38, D6, 75, D2, 7A, 08, 1F, A8, F4, 0A, 91, DE, 32, DC, DB, 16, 87, 7E, ED, 98, 85, F0, D7, 32, 5B
Hue Adjustmen = 0
Noise Reduction = OFF
0097 = 30, 32, 30, 37, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 5C, 59, 73, AA, FE, 6F, FC, 74, 71, 55, 56, 76, B3, 58, 98, 0D, C4, 91, 7B, 82, A6, E7, 45, C0, 58, 0D, DF, CE, D8, CA, 4D, 64, 28, C8, 87, 40, 4C, 3B, 89, 92, 44, CD, 63, 00, 00, D5, 11, 08, 94, 96, 8B, 2F, F4, E5, D7, 72, 28, C9, EF, E1, 28, 81, DB, F1, BD, 7B, D0, 48, DC, 0F, 5E, 48, 12, B6, 77, D6, 52, EB, A1, D9, 64, 71, 9B, E2, 46, C7, 65, 20, F8, 31, FF, 2E, 7A, E3, 69, 0C, CC, A9, A3, BA, EE, 3F, AD, 38, E0, A5, 87, 86, A2, DB, 31, A4, 34, E1, AB, 92, 96, B7, F5, 50, C8, 5D, 0E, DE, CB, D3, F8, 3C, 9D, 19, B3, 99, 3E, DA, 3D, 8A, B0, DF, 96, 36, F3, CB, C1, 37, 04, BB, BA, 42, E7, A7, 84, 80, 99, CD, 1F, 8E, 1A, C3, 89, 6C, 6C, 89, C1, 12, 8C, 41, CF, BD, 80, 86, A7, E6, 42, BB, 53, 09, D6, C9, CB, F2, 36, 97, 15, B0, 68, 3D, 2F, 3E, 6A, B3, 19, 9C, 3C, F9, D1, CB, DC, 01, 5F, DF, 52, DB, B7, 96, 92, AB, E3, 3B, A6, 69, DB, A2, 86, 87, A5, E0, 38, AD, 3E, EE, BB, A3, A8, CC, 0D, 69, E3, AA, 2E, 12, ED, 2C, 20, 80, C6, 46, E3, 9B, 71, 8B, 74, 7A, EA, 52, D7, 77, 34, 10, 09, 1D, 4E, 42, 0B, 93, 38, FC, DD, 8A, F3, 21, 7C, EF, 7F, 2A, F9, D4, D7, F4, 78, 8A, 2A, 97, 44, 11, E1, FD, 26, 67, C5, 64, D8, AD, 5F, 4F, 5A, A3, C8, 28, AC, A3, 07, DE, CA, DB, 6B, 5E, CC, 49, B2, A6, 8E, 77, 8D, CB, 10, 8C, 0F, B6, 76, 51, 5C, 23, A8, FE, 6F, FE, A2, 73, 59, 5C, 83, 46, EC, 75
0098 = 30, 32, 30, 31, 49, 7D, 74, AA, FB, 01, CA, CF, 24, 62, 0B, 52, 96, 17, A5, 0A, 96, 87, 29, 82, A6, E7, 45, C0, 58, 0D, DF
009A = 605/100, 605/100
00A2 = 2043145
00A3 = 0
00A5 = 1403773204
00A6 = 0
Total Number of Shutter Releases for Camera = 1403773204
00A8 = 30, 31, 30, 31, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00
Image optimisation = NORMAL
Saturation = AUTO
00B0 = 30, 31, 30, 30, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00
00B1 = 0
[noparse][[/noparse]GPS]
GPS Version ID = Version 2.2
GPS Latitude Ref = North latitude
GPS Latitude = 50°58.78'
GPS Longitude Ref = West longitude
GPS Longitude = 115°19.16'
GPS Altitude Ref = Sea level
GPS Altitude = 1775m
GPS Time Stamp = 21:30:04 UTC
GPS Satellites = 05
GPS Map Datum = WGS 84
GPS Date Stamp = 2008-10-10 UTC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
24 bit LCD Breakout Board coming soon. $21.99 has backlight driver and touch sensitive decoder.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
24 bit LCD Breakout Board coming soon. $21.99 has backlight driver and touch sensitive decoder.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
24 bit LCD Breakout Board coming soon. $21.99 has backlight driver and touch sensitive decoder.
the first 2 functions are the important ones
decTo21 - converts a number into base21 number. all versions of windows can properly sort base21 but not true of decimal. Also base 21 has no characters that look alike so makes for easy human referencing.
dateTo21 - converts a time to 100th of a second into a 10 digit base21 number with GBBBBBBBBB being the start of 2000.
I understand if no one is interested I have little to offer other then some electronics a bit of cash and the rights to use any of the posted code.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
24 bit LCD Breakout Board coming soon. $21.99 has backlight driver and touch sensitive decoder.
Anyway, the GUI part is pretty easy in Java. All you have to do is create various instances of the GUI elements, and set up an action function. It's nice because it is already built into Java: you don't need to bring classes from anywhere.