You can solve this by adding a "postdir" file to the folder of the skin you use. A "postdir" file is executed after the processing of each directory during a make album process. If it's a JavaScript based skin like Tiger or Lucid for instance, then put this code inside "postdir.js":
var IO = Java.type("se.datadosen.util.IO")
for each (var f in imageDirectory.listFiles()) {
if (f.getName().endsWith(".kml") || f.getName().endsWith(".gpx")) {
IO.copyFile(f, outputDirectory, false);
}
}
The IO.copyFile(src, dest, false); call will ensure that the file is only copied if it hasn't already been copied. It looks at file dates to determine whether the source file needs to be copied again.
If the skin you use is BeanShell based (scripted Java), then you can use this code instead:
for (f : imageDirectory.listFiles()) {
if (f.getName().endsWith(".kml") || f.getName().endsWith(".gpx")) {
IO.copyFile(f, outputDirectory, false);
}
}
You can determine whether the skin is JavaScript based or BeanShell based by the extension of the "init" file of the skin. If it's "init.js", then it's JavaScript based, if it's "init.bsh" then it's BeanShell based.