The GUI is now made of a stack which has two boxes in it. One box contains all the normal GUI elements, the other contains a file chooser button and a normal button to call an update routine. This box is only displayed if an issue is found. I decided to track the install status via a preference boolean, rather than calling df_check_if_bin_exists at startup every time. I do this because on my windows PC I was starting to get slow startups with too many scripts installed and many many flashing CMD windows at startup as well, which was a nuisance.
I have added comments throughout, mainly to the functions
I improved the performance of the CleanSpaces() function
Improved communication to user via dt.print()
After experiencing some issues after upgrading to dt2.6 I decided it would be worthwhile to refactor the code for more reliable performance. Specifically the script would crash dt when attempting to apply a style on import and sometimes just fail to run. I have refactored this in a manor that should make it more logical for future users to add/maintain as applicable.
Refactored script has only been tested on Windows 10 w/ dt2.6. Hopefullt all cross-platform aspects have been maintained.
Now only checks for binary proper install once the functionality of the program is actually utilized. This avoids to many external command calls at dt startup just to check if certain things are installed.
1) Moved check_if_bin installed to run only once, when script first loaded (rather than every time it is called)
2) Changed executable path preferences per Bill's suggestions
dt.preferences.register("executable_paths", "align_image_stack",
dt.preferences.register("executable_paths", "enfuse",
dt.preferences.register("executable_paths", "exiftool",
3) Replaced custom block of code with df.create_unique_filename
4) Quoted paths in run commands for linux and MacOS (I still experience failures if I quote anything in the run command aside from the .exe path on windows)
5) Changed LUA API compatability check for 5.0.0 only
Tested on Windows and MacOS
HDRMerge: Add easy access to HDRMerge from within dt
enfuse_pro_2: Updated version of Holger Klemm's popular enfuse plug-in. Adds some features and cross-platform compatability
OpenInPS: add ability to open or export selected file with Photoshop
* added checkbox to allow user to launch hugin in gui mode
* changed the logic so hugin will write temp files to tmp directory and then move the final result to the directory of original source files. this improves speed when original source files are on network mapped drive
* added some additional error messages
* added preference requiring user to specify the paths for hugin, hugin_executor and pto_gen needed for this plguin
* added preference to allow user to choose to launch hugin in GUI mode
* minor fix to the way files are handled; due to some versions of hugin_executor not writing out to the path specified in --prefix, assume we are working in the tmp directory and then move the file afterwards
* handle stiching all from hugin_executor without the gui
* automatically create the panorama file name based on first selected file plus _pano
* automatically detects if output file exists, if so use an unique name
* delete temporarily exported file