Data Process Plug-ins — Data processing by external programs
When the plug-in is called with register
as
its first argument it should dump following information about self to
standard output (each on a separate line) and terminate:
This information correspond to similar data process module information. All fields are case-sensitive. The run modes line consists of a space-separated sublist of:
interactive |
noninteractive |
modal |
with_defaults |
Note however, truly interactive plug-ins are not supported (and maybe they never will, because it is hard to do this without making plug-ins derived works of Gwyddion), only modal ones.
So the output of plugin my_plugin when run as my_plugin register could look:
1 2 3 |
my_plugin /_Plug-ins/My Plug-in noninteractive with_defaults |
When the plug-in is called with run
as its first
argument then the second argument is equal to actual run mode (one of
those it printed during registration) and the third one is the name
of a dump file to process.
The plug-in reads the data from dump file, mangles them at its pleasure
and then overwrite the very same file with the result (do not forget to
use ftruncate()
first or its Win32 equivalent to
avoid surprises).
The plug-in does not need to write back fields it didn't modify, values from the original data are used then. E.g., when the resolution does not change, it is enough to dump the data alone. This also means it can safely ignore anything it does not understand in the dump file.