I have a couple of questions about plugins.
Registering File I/O Plugins
The documentation is not clear about this point, and I couldn’t actually test it since I don’t have nay file i/o plugins to experiment with — the sample
file_io_plugin_samples.zip doesn’t actually contain the DLL binaries, although the documentation says so!
So, do these DLLs need to be registered in the
plugins.ini file too? (i.e., like DDE plugins) or is it just enough to drop them inside Pro Motion
plugins/ subfolder? (i.e., PM automatically loads and initializes any DLLs found therein)
NOTE — If you could add the precompiled sample DLLs to the downloadable Zip archive it would be really useful. I don’t have MSVS, and the sample project only comes with MS-style solution files, no makefile (so I’m not sure how to compile it with GCC).
PM NG, DLLs and Bitness
Because file I/O plugins are DLLs, unlike DDE plugins they need to match the bitness of the Pro Motion application. Currently, PM NG is only available as a 32-bit app; are there plans for x64 version too, in the future?
If this was the case, then 32-bit DLL plugins won’t work with the x64 version, this being the reason I’m asking this.
File I/O Functions
A couple of questions about the DLL plugin functions.
The documentation states:
void __stdcall setProgressCallback( ProgressCallback progressCallback );
Use this function to define a progress callback that is called by the plugin to give user feedback about the progress of loading/saving image data. A percent value of 0 should make the progress display to hide and values between 1 and 100 should make the display visible.
progressCallback— A function to be called when progress changes.
I just need a confirmation on this. If I’ve understood correctly, PM calls the DLL function
setProgressCallback() during initialization to provide the plugin with a pointer to the
progressCallback() function used to show (or hide) some progress status bar during file I/O (or data manipulation) operations.
progressCallback() function resides in (and is handled by) Pro Motion, right? The plugin only has to invoke this function whenever it needs to update the user on the progress status, by passing the appropriate integer value.
How does it work, PM shows a progress bar (1-100)? Does it appear inside the file I/O dialog, or is it a windows on its own? Does it show some text relating to the plugin it refers to?