FastPhotoTagger
About v4.1








FastPhotoTagger is open Source Software.

http://fastphototagger.sourceforge.net
Copyright (c) Dennis Damico, dennis508@yahoo.com
GNU General Public License
http://www.opensource.org/licenses/gpl-2.0.php

The FastPhotoTagger for PCs home page is here.
The FastPhotoTagger for Android home page is here.





PC Installation Notes:
You need
o Java Runtime Environment Version 7 or later.
o ExifTool version 8.69 or later
o dcraw (optional)
o ImageMagick (optional)
o FFMPEG (optional)
o VLC (optional)

Quick Links
o Installing FastPhotoTagger, ExifTool, and Java
o Running FastPhotoTagger
o Viewing various image types
o Known problems
o Testing notes
o Uninstalling


                            

To install FastPhotoTagger open the distribution file, move FastPhotoTagger.jar to a location of your choice. If you wish, you may use an icon file to create a desktop shortcut to the jar file. (Windows users: Move FastPhotoTagger.exe and FastPhotoTagger.jar to a location of your choice. Always keep these two files in the same location.)


FastPhotoTagger requires the Java Runtime Environment Version 7 or later. You may obtain it from: https://www.java.com. If you have a 64-bit computer system install 64-bit Java.

Be sure that .jar files are executable, i.e., double-clickable, on your system. If you are not sure how to do this see: http://www.wikihow.com/Run-a-.Jar-Java-File or search the Internet for "how to double click a jar file". Many Windows users have successfully employed the JarFix tool to make jar files double-clickable.


FastPhotoTagger requires that ExifTool is installed on your system. Install ExifTool from https://exiftool.org/.
(Windows users:
o download the Windows Executable zip file, NOT the tar.gz file.
o Extract all files from the zip.
o Rename exiftool(-k).exe to exiftool.exe.
o You may move exiftool.exe and the exiftool_files folder to another location; keep them together.)

The first time you execute FastPhotoTagger it will attempt to locate the ExifTool executable file. If that file cannot be located you will be asked to locate and select it. The executable should be named exiftool.exe or exiftool.

If you make a mistake you can force FastPhotoTagger to re-search for ExifTool by executing from the command line in the FastPhotoTagger folder:
java -jar FastPhotoTagger.jar -exiftool


Run FastPhotoTagger by double-clicking FastPhotoTagger.jar. (Windows users: alternatively you may execute FastPhotoTagger.exe.)

You may start in a particular folder by executing from the command line in the FastPhotoTagger folder:
java -jar FastPhotoTagger.jar -path fullpathtofolder

FastPhotoTagger is multi-lingual. When first executed, select a language for the user interface. You may change this selection in the "Program Settings / Other" panel.

Windows users: read the known problem below relating to Unicode pathnames. If you are not using the Unicode workaround you may delete fastphototagger_temp.txt.

Windows users of High-Contrast Themes: Screens will look better if you execute FastPhotoTagger from the command line as follows:
java -jar FastPhotoTagger.jar -look com.sun.java.swing.plaf.windows.WindowsLookAndFeel


To enable viewing of DNG and RAW images, you need the dcraw executable:
o Windows: Download the dcraw program from https://cdn.fastpictureviewer.com/bin/dcraw.zip?v=201605100 or http://fastphototagger.sourceforge.net/dcraw.zip.
Extract the .exe files from the .zip file.
On 64-bit systems delete dcraw.exe and rename dcraw64.exe to dcraw.exe.
Move dcraw.exe to the folder that contains exiftool.exe.

o LINUX: Install the dcraw program using your system's package manager. Be sure it is installed in a location such that the "which" program can find it. Example:
$ which dcraw
/usr/bin/dcraw

o Also, see limitations section below.

To enable viewing of TIFF, WEBP, AVIF, HEIC and JXL images, you need the ImageMagick executable and a recent version of ExifTool:
Important: There is a known problem in ImageMagick 7.0.11-5-Q8 that prevents its use with FastPhotoTagger. Please choose a newer version.
o Windows: Download the ImageMagick program from http://www.imagemagick.org/script/index.php.
You may install the program anywhere on your system.
Then, in the folder containing exiftool.exe, create a symbolic link (not a shortcut) named "convert.exe" to ImageMagick's magick.exe program in its installed location.
Example from the command line prompt: (You may need to do this as an administrator.)
mklink convert.exe "C:\Program Files\ImageMagick-9.9.9\magick.exe"

o LINUX: Install the imageMagick program using your system's package manager or download the portable Linux "magick" program.
If your version contains the "convert" program, be sure it is installed in a location such that the "which" program can find it. Example:
$ which convert
/usr/bin/convert
If your version contains the "magick" program but not the "convert" program, create a link named "convert" to it. The "which convert" command must be able to find it.

o Also, see limitations section below.

To enable viewing of Video and Audio thumbnails, you need the FFMPEG executable:
o Windows: Download the FFMPEG program from https://ffmpeg.org/.
You may install the program anywhere on your system.
Then, in the folder containing exiftool.exe, create a symbolic link (not a shortcut) named "ffmpeg.exe" to the FFMPEG program of the same name.
Example from the command prompt: (You may need to do this as an administrator.)
mklink ffmpeg.exe "C:\Program Files\ffmpeg-4.0.2-win64-static\bin\ffmpeg.exe"

o LINUX: Install the FFMPEG program using your system's package manager. Be sure it is installed in a location such that the "which" program can find the ffmpeg executable. Example:
$ which ffmpeg
/usr/bin/ffmpeg

To enable viewing of Videos and playing of Audio, you need the VLC executable:
o Windows: Download the VLC program from https://www.videolan.org/vlc/index.html.
You may install the program anywhere on your system.
Then, in the folder containing exiftool.exe, create a symbolic link (not a shortcut) named "vlc.exe" to the VLC program of the same name.
Example from the command prompt: (You may need to do this as an administrator.)
mklink vlc.exe "C:\Program Files (x86)\VideoLAN\vlc.exe"

o LINUX: Install the VLC program using your system's package manager. Be sure it is installed in a location such that the "which" program can find the vlc executable. Example:
$ which vlc
/usr/bin/vlc

                             


Limitations, warnings, and known problems:
-Your RAW file may not be recognized by FastPhotoTagger: There are hundreds of RAW formats. It may be a simple matter for FastPhotoTagger to recognize your format. Send email to the author.

-Your TIFF file may not be viewable; FastPhotoTagger is limited by 3rd party software capability. See user guide. Some versions of ImageMagick do not correctly apply the Exif Orientation tag.

-Your HEIC file may not be viewable or writable.
--ImageMagick versions for Windows have heic support; versions for other systems may not. From the command line, look for "heic" in the output of "convert --version".
--Not all metadata tags are writable; see ExifTool's documentation and search "exiftool heic" for recent news.

-Your WEBP file may not be viewable or writable.
--ImageMagick versions for Windows have webp support; versions for other systems may not. From the command line, look for "webp" in the output of "convert --version".
--ExifTool does NOT write metadata to webp files.

-Images with transparency, such as PNG, TIFF, WEBP, are displayed with different colored backgrounds depending on the function being performed.

-Unicode in pathnames: On Windows, ExifTool will not process files with non-ASCII Unicode characters in the filename or pathname. (This includes accented characters such as ä, é, è, ö, ü, and other non-English characters.) This is due to an underlying lack of support for Unicode filenames in the Windows standard C I/O libraries. (This problem does not exist on Linux.) ExifTool 9.79 addresses this problem but FastPhotoTagger has not been modified to support the ExifTool solution.

FastPhotoTagger provides a "workaround" to avoid this problem, but with a performance cost. The workaround causes FastPhotoTagger to copy files containing non-ASCII pathname characters to a simple ASCII temporary path, perform the ExifTool operation there, then copy the file back to its original location. To use this workaround, follow these steps.
1. Move the file fastphototagger_temp.txt from the distribution file to your home folder. Your home folder will be something like "C:\Users\Dennis".
2. Edit fastphototagger_temp.txt to contain a simple ASCII path to a folder for which you have read and write access. For example, "C:\temp".
When you use this workaround, the File attributes of metadata will reflect the temporary location, not the real location. However, the temporary attributes will never be written to the image file.

-Memory management: In extreme cases, such as folders or searches with thousands of images, FastPhotoTagger may be unable to show the images or you may notice missing thumbnail images or FastPhotoTagger slowing down drastically or even hanging. This indicates that FastPhotoTagger needs more memory to operate. You may supply more memory by executing the program from the command line like this:
java  -Xmx1024m  -Xms1024m  -jar FastPhotoTagger.jar
or change the 1024 values to any value greater than 1024. (32-bit Java systems have hard limits that cannot be exceeded. 64-bit Java systems have higher limits.)
Likewise you can constrain the program to use less memory by changing 1024 to any value less than 1024 that does not cause the insufficient memory condition.
Alternatively, you may decrease the size of thumbnail images in "Program Settings / Change Thumbnail Size". Smaller thumbnails use less memory than larger thumbnails.
You must use FastPhotoTagger.jar for this, not FastPhotoTagger.exe.

-Windows Security Alert: On some Windows systems you may encounter a firewall warning ("Windows Firewall has blocked some features of this app") when opening the Search window. This warning is benign. FastPhotoTagger does not use network connections of any kind; you may deny access to private and public networks. The author believes this warning stems from hyper vigilance on the part of Microsoft and not from any threat in FastPhotoTagger or Java.

-ß (Sharp s): The metadata database is inconsistent when searching for ß (Sharp s), sometimes treating it as the equivalent of "ss" and sometimes not. The metadata explorer does consistently treat ß as "ss".

-Process hangs: If ExifTool or the interprocess communication hangs then FastPhotoTagger will also hang. Use a system Task Manager or System Monitor to terminate the ExifTool process. A corrupt image file may cause this.

-ExifTool temporary files: On Windows, ExifTool creates a folder named par<SOMETHING> in C:\Users\<USERNAME>\AppData\Local\Temp. Various security programs and file cleaners may think it is a good idea to delete these files; it is not. This folder should be protected from deletion in whatever security/anti-virus/cleaner programs that you use. Otherwise you will encounter ExifTool slowness and/or FastPhotoTagger errors.

-When importing settings from the Android version of FastPhotoTagger, labels will not be imported unless (on Android) the Screen Label exactly matches a Metadata Screen Label.


This version of FastPhotoTagger was tested with:
-Windows 10
-Java version "1.8.0_351"
-Java(TM) SE Runtime Environment (build 1.8.0_351-b10)
-ExifTool 12.50

-Kubuntu 20.04
-Java version "11.0.17" 2022-10-18
-OpenJDK Runtime Environment (build 11.0.17+8-post-Ubuntu-1ubuntu220.04)
-ExifTool 12.45


To uninstall FastPhotoTagger, delete these files if they exist:
-FastPhotoTagger.jar from its location.
-FastPhotoTagger.exe from its location.
-fastphototagger_files.txt from its location.
-fastphototagger_ps.txt from its location.
-The .fastphototagger folder from your user folder.
-fastphototagger_log.txt from your user folder.
-fastphototagger_temp.txt from your user folder.
-The FastPhotoTagger icon files.