aboutsummaryrefslogtreecommitdiff
path: root/Gem/develop/include/Gem/Gem/Loaders.h
diff options
context:
space:
mode:
Diffstat (limited to 'Gem/develop/include/Gem/Gem/Loaders.h')
-rw-r--r--Gem/develop/include/Gem/Gem/Loaders.h14
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