diff options
Diffstat (limited to 'Gem/develop/include')
-rw-r--r-- | Gem/develop/include/Gem/Gem/Loaders.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/Gem/develop/include/Gem/Gem/Loaders.h b/Gem/develop/include/Gem/Gem/Loaders.h index 2a3e1c0..ccc5769 100644 --- a/Gem/develop/include/Gem/Gem/Loaders.h +++ b/Gem/develop/include/Gem/Gem/Loaders.h @@ -18,8 +18,20 @@ LOG #include "Gem/RTE.h" extern "C" { - typedef int (*gem_loader_t)(t_canvas *canvas, char *classname); + /* search for a class <classname> in <path> + * if <path> is NULL, search all paths yourself + * Only on Pd>=0.47 will <path> have a value */ + typedef int (*gem_loader_t)(const t_canvas *canvas, const char *classname, const char *path); + /* register a loader that respects the path (any file-based loader) + * In Pd<0.47 this loader will be called with a path==NULL, and the loader needs to iterate + * over the paths on its own (e.g. using canvas_open()) + * In Pd>=0.47 this loader will only be called with path!=NULL + */ void gem_register_loader(gem_loader_t loader); + /* registers a loader that ignores the path (path will always be set to NULL) + * for Pd>=0.47 this loader will be called after all the path-accepting loaders + */ + void gem_register_loader_nopath(gem_loader_t loader); } #endif |