While writing a GIMP 2.0 plugin via Python and gimpfu, I've run into pdb procedures such as file_raw_save(...). There arguments are laid out in the GIMP Procedure Browser (Help->Procedure Browser). But when calling them I receive very unhelpful output. My code and output is as follows:
Plugin code:
def save_aci(save_img, filename):
img = save_img
filename = filename.strip()
pdb.file_raw_save(img, img.layers[0], filename, filename)
register(
"python_fu_save_aci",
"Exports to ACI file",
"Exports image to ACI file, with LODs if they are present",
"Author",
"Author",
"2023",
"Save ACI File",
"GRAYA", # Currently only support export from Grayscale image (with alpha) to (RG_88) .aci format
[
(PF_IMAGE, "save_img", "Image to Save", None),
(PF_FILE, "filename", "Filename Fullpath", None),
],
[],
save_aci, menu="<Image>/File/")
main()
Output when running GIMP plugin:
/home/astro/.gimp-2.8/plug-ins/testplugin.py: fatal error: Segmentation fault
^C/usr/lib64/gimp/2.0/plug-ins/script-fu terminated: Interrupt
gimp: terminated: Interrupt
/home/astro/.gimp-2.8/plug-ins/testplugin.py terminated: Interrupt
/home/astro/.gimp-2.8/plug-ins/testplugin.py terminated: Interrupt
[astro@cobalt-vm plug-ins]$ gimp
Traceback (most recent call last):
File "/usr/lib64/gimp/2.0/python/gimpfu.py", line 736, in response
dialog.res = run_script(params)
File "/usr/lib64/gimp/2.0/python/gimpfu.py", line 361, in run_script
return apply(function, params)
File "/home/astro/.gimp-2.8/plug-ins/testplugin.py", line 128, in save_aci
pdb.file_raw_save(img, img.layers[0], filename, filename)
RuntimeError: calling error
After messing around with the filename arguments (perhaps one expected a path, and the other just a filename), the same output occurs. I was unable to find any documentation on this issue either.
My GIMP version is 2.8 and GIMP is running the script via Python 2.7.
Any suggestions?