Can't add files to geotag

persep's picture

Hi,

I wanted to try to geotag my photos. I open bt747, I convert to "Table in gui" so I can see my track on the Map, then I go to files to tag. I click on "add files ", select my photos, hit OK and nothing happens. No file is listed.In win xp works fine.

Below are informational messages that can help during debug.
------------------------------------------------
12618 - BT747 2.X.1800 Build:BT747_mdeweerd.1800.20101102222013398
12620 - Initial: 1063x547  Screen: 1280x1024 Final: 1063x547
12621 - Mac OS X
12623 - ppc
12624 - 10.5.8
12626 - 1.5.0_26
12628 - 32
12629 - Fail javax.swing.plaf.mac.MacLookAndFeel
Fail com.apple.mrj.swing.MacLookAndFeel
Success apple.laf.AquaLookAndFeel
javax.swing.plaf.metal.MetalLookAndFeel
com.sun.java.swing.plaf.motif.MotifLookAndFeel
apple.laf.AquaLookAndFeel

Conversion done
22763 - Time to convert: 688ms

persep's picture

I've found out that if I open

I've found out that if I open the picture file ( a jpg) with mac's Preview and save it again as jpg then bt747 can open the file and it appears in the bottom window. But when I click on tag from file nothing happens, and this is the same thing I did on win xp

mdeweerd's picture

Hi You need to hit 'save

Hi

You need to hit 'save tagged files'.

Basically:

  1. You use BT747 to determine the positions of the pictures;
  2. You check if the determined position is ok.  If not, you can adjust the time offset and start from 1, or, you can adjust manually certain positions (click and hold on a waypoint, then drag);
  3. When you are satisfied, you 'commit to disk' by doing 'save tagged files'.  At that moment, BT747 will read the files, change the EXIF header and save it.  By default it will rename the originals to the same filename extended with '_original'.  You can  change that behaviour and use short codes for filename determination (like %p for the original path, %f for the file's basename, %e for the file's original extension.

I did it like that because other tagging software committed changes to disk immediately while I observed that the tagged location has an incorrect offset due to an error in the camera time.  Disk operations are slow, so I avoid them by limiting the amount of information read from the file before tagging and reading/writing the entire file only once I am really happy with the result.

mdeweerd's picture

And I should improve the GUI

And I should improve the GUI here, but I have a lot of things to do (volunteer(s) are welcome).

persep's picture

I can't click on Save if it

I can't click on Save if it doesn't load the jpg files

persep's picture

The GUI is ok, it's just that

The GUI is ok, it's just that it's not working as it doesn't load the jpg files. The functionality is well designed and i followed it ans it's working in Xp but not mac

mdeweerd's picture

OK - I misunderstood :-( So

OK - I misunderstood :-(

So this is a problem you have on Mac.

Is it possible to drag and drop the files to BT747?

It looks like this will require some specific debugging.

persep's picture

No dragging doesn't work

No dragging doesn't work

persep's picture

Sorry, answered to quick. If

Sorry, answered to quick.

If a drag a gpx file it loads in to the top left window.If a drag a kmz it loads into the bottom window. If a drag a jpg copied from my camera it doesn´t load.

mdeweerd's picture

Ok, some good news the: at

Ok, some good news the: at least some files can get in the right list.  However the interesting files do not get to be anywhere.

What is the full path for one of these jpg files?  I'll try to figure out if there is a reason that can be determined from the code for this behaviour - otherwise, I'll devise some tests.

persep's picture

I have tried many paths as

I have tried many paths as the original folder where the pictures are conteined a blank but didn't change things. For example one of them is in: /Users/persep/Desktop/Ruta/DSC03490.jpg

mdeweerd's picture

The purpose of my question is

The purpose of my question is to reduce the number of 'variables' to a low number.

I've had a user using '%' or '*' or '~' in his path on windows.  I can assure you that there was no definitive solution - he ended up changing the path name while maintaining some of these tokens (the issue was related to having them at the start or at the end of the directory as a 'double' token).

Your path looks 'normal' ;-)

mdeweerd's picture

The application got updated

The application got updated to report errors that currently were ignored - if any, they should be displayed in the 'Info' tab in 2.X.1801.

persep's picture

More tests. I decided to use

More tests.

I decided to use the tests files from the source file, that is: BT747_2.X.1801_full/src_test/net/sf/bt747/test/files:

i load my track, it converts to map and shows without errors.

In "Files to tag" -> "add files", try to load P4180001.JPG and it doesn't show up in the bottom window. Errors in the info tab: none

In "Files to tag" -> "add files", try to load IMG_8511_canon.jpg and it doesn't show up in the bottom window. Errors in the info tab: none

In "Files to tag" -> "add files", try to load IMG_0307_tagged.jpg and it  shows up in the bottom window. Errors in the info tab: none. You can see it in the picture below:

I use jhead to change the exif date and time to match one of my photos.

I click on clear in the "Files to tag" windows and nothing happens, I change the size of the bt747 windows and the file is not listed anymore,ie: I forced a redraw of the program window changing it's sizes and it workes clearing the file list.

I load the modified IMG_0307_tagged.jpg file and loads ok, remember this has a date that matches my track.

I click on "Tag from file"

Something strange happens: the map gets update with the new location but on the bottom window it still displays the old gps coordinates, see picture:

An no error in the info tab.

If I save the tagged file I get a file with the name IMG_0307_tagged_tagged.jpg, if I try to load it it doesn't work.

I decide to remove the exif header to delete the original files gps info with jhead -de, make a basic exif header with the option:

jhead  -mkexif

and now the same picture with a different exif info doesn't load Laughing. So i thing it has something to do with the exif routines.

But why it works ok in xp but not mac still puzzles me. Hope this info helps.

mdeweerd's picture

Just to make sure: the info

Just to make sure: the info window corresponds to where you get when you click on the blue 'i' icon on the left.

Funny that you show a position in Praz-sur-Arly - I've added many OSM tracks there ;-).

I am puzzled too why it is ok on PC and not on Mac.  It could have to do with some Java library not being available on your mac, in which case we have to find out which.

In a canon specific file some unused libraries were referenced - I removed those.  I've looked for other error catching blocks that did not report the catched error - I found some and added the message report - not sure that these are the right ones though. 2.X.1802 is online.

Maybe you can send me an ok JPG and a bad JPG and hopefully I'll see some difference in XP.

persep's picture

Yes the info window

Yes the info window corresponds to where you get when you click on the blue 'i' icon on the left.

The picture about Praz-sur-Arly was taken from your source code so maybe it was taken by you?

Files sent

mdeweerd's picture

Ok - I thought that it was a

Ok - I thought that it was a picture from you - I guess that you took one of the pictures for my tests.

mdeweerd's picture

Hi I have some success in

Hi

I have some success in reproducing the issue: by running BT747 under J2SE 1.5 on Windows.

So now I can debug.

mdeweerd's picture

The issue is fixed and the

The issue is fixed and the new build (1803) is available.

The error was not catched in BT747 and happened in a thread while keeping BT747 alive.  It was visible in the java console.

I added an exception catcher in the concerned location for the future and I configured my environment to use Java 1.5 as a reference and not Java 1.6 - that is one of the things I forget to reconfigure when I get a copy of the project.

persep's picture

Now it wont even start, this

Now it wont even start, this is what i get from the macs console:

11/4/10 4 Nov 1:36:15 PM [0x0-0x5b05b].com.apple.jnlp-http___soft.bt747.org_BT747_J2SE_Latest_AutoUpdate.jnlp[618]  at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
11/4/10 4 Nov 1:37:41 PM [0x0-0x5c05c].com.apple.jnlp-http___soft.bt747.org_BT747_J2SE_Latest_AutoUpdate.jnlp[623] /Applications/BT747 Desktop AutoUpdate.app/Contents/Resources/Java:/System/Library/PrivateFrameworks/JavaApplicationLauncher.framework/Resources:.:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
11/4/10 4 Nov 1:37:41 PM [0x0-0x5c05c].com.apple.jnlp-http___soft.bt747.org_BT747_J2SE_Latest_AutoUpdate.jnlp[623] PATH = /usr/bin:/bin:/usr/sbin:/sbin
11/4/10 4 Nov 1:37:57 PM [0x0-0x5c05c].com.apple.jnlp-http___soft.bt747.org_BT747_J2SE_Latest_AutoUpdate.jnlp[623] Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: setSelectedIndex: 54 out of bounds
11/4/10 4 Nov 1:37:57 PM [0x0-0x5c05c].com.apple.jnlp-http___soft.bt747.org_BT747_J2SE_Latest_AutoUpdate.jnlp[623]  at javax.swing.JComboBox.setSelectedIndex(JComboBox.java:595)
11/4/10 4 Nov 1:37:57 PM [0x0-0x5c05c].com.apple.jnlp-http___soft.bt747.org_BT747_J2SE_Latest_AutoUpdate.jnlp[623]  at bt747.j2se_view.OutputSettingsPanel.init(Unknown Source)
11/4/10 4 Nov 1:37:57 PM [0x0-0x5c05c].com.apple.jnlp-http___soft.bt747.org_BT747_J2SE_Latest_AutoUpdate.jnlp[623]  at bt747.j2se_view.BT747Main.initAppData(Unknown Source)
11/4/10 4 Nov 1:37:57 PM [0x0-0x5c05c].com.apple.jnlp-http___soft.bt747.org_BT747_J2SE_Latest_AutoUpdate.jnlp[623]  at bt747.j2se_view.BT747Main.<init>(Unknown Source)
11/4/10 4 Nov 1:37:57 PM [0x0-0x5c05c].com.apple.jnlp-http___soft.bt747.org_BT747_J2SE_Latest_AutoUpdate.jnlp[623]  at bt747.j2se_view.BT747Main$45.run(Unknown Source)
11/4/10 4 Nov 1:37:57 PM [0x0-0x5c05c].com.apple.jnlp-http___soft.bt747.org_BT747_J2SE_Latest_AutoUpdate.jnlp[623]  at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
11/4/10 4 Nov 1:37:57 PM [0x0-0x5c05c].com.apple.jnlp-http___soft.bt747.org_BT747_J2SE_Latest_AutoUpdate.jnlp[623]  at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
11/4/10 4 Nov 1:37:57 PM [0x0-0x5c05c].com.apple.jnlp-http___soft.bt747.org_BT747_J2SE_Latest_AutoUpdate.jnlp[623]  at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
11/4/10 4 Nov 1:37:57 PM [0x0-0x5c05c].com.apple.jnlp-http___soft.bt747.org_BT747_J2SE_Latest_AutoUpdate.jnlp[623]  at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
11/4/10 4 Nov 1:37:57 PM [0x0-0x5c05c].com.apple.jnlp-http___soft.bt747.org_BT747_J2SE_Latest_AutoUpdate.jnlp[623]  at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
11/4/10 4 Nov 1:37:57 PM [0x0-0x5c05c].com.apple.jnlp-http___soft.bt747.org_BT747_J2SE_Latest_AutoUpdate.jnlp[623]  at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
11/4/10 4 Nov 1:37:57 PM [0x0-0x5c05c].com.apple.jnlp-http___soft.bt747.org_BT747_J2SE_Latest_AutoUpdate.jnlp[623]  at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

mdeweerd's picture

Hi Apparently switching to

Hi

Apparently switching to Java 1.5 did not do any good to the build process.

Changing another build tool did not do any good either (in either 1.5 or 1.6 to try and solve the issue in 1.5).

So switched back to building using 1.6 and using the old optimisation tool.  It should work in 1.5 too (because the issue was related to an unavailable library function).

The version is called 1804M.  It will become 1805.

persep's picture

Yes, it works now, no errors.

Yes, it works now, no errors. But i've noticed that it doesn't  rename the taged file if it's already called xxx_tagged like the previous version:ie you stil get xxx_tagged.jpg instead of xxx_tagged_tagged.jpg no matter how many times you save the file, but it's ok like that.

Maybe you could explain the build process or give some instructions on how to build bt747??

mdeweerd's picture

Hi I've written something in

Hi

I've written something in 'dev/README.txt'.  Basically I build with the 'build.xml' file which is an 'ant' script in which I use the 'all.package' target which builds, packages and uploads BT747 for me.  For others, 'build.j2se' or 'run.j2se'.

I have a setup in Eclipse (my main environment) and Netbeans (essentially for the GUI layout).