]> Nishi Git Mirror - gwion.git/commitdiff
:art: Introduce get_module
authorfennecdjay <astor.jeremie@wanadoo.fr>
Fri, 4 Oct 2019 10:53:36 +0000 (12:53 +0200)
committerfennecdjay <astor.jeremie@wanadoo.fr>
Fri, 4 Oct 2019 10:53:36 +0000 (12:53 +0200)
include/plug.h
src/plug.c

index e668cca39b9cdb6b91b57f3a76668f371e240337..06c922b18445db46045d69e57bfd54cb544566d5 100644 (file)
@@ -16,7 +16,7 @@ typedef struct PlugInfo_ {
 ANN PlugInfo* new_plug(MemPool, Vector);
 ANN void plug_run(const Gwion gwion, const Vector);
 ANN void free_plug(const Gwion gwion);
-
+ANN void* get_module(const Gwion, const m_str);
 #define GWIMPORT_NAME    import
 #define GWMODSTR_NAME  gwmodstr
 #define GWMODINI_NAME  gwmodini
index 19313806cb579bda5dd19c61b27aad722668f08b..c0dd2193af3a8f4301a6c3586660934309035652 100644 (file)
@@ -152,3 +152,13 @@ void plug_run(const Gwion gwion, const Vector args) {
     }
   }
 }
+
+ANN void* get_module(const Gwion gwion, const m_str name) {
+  const Vector v = &gwion->plug->vec[GWPLUG_MODULE];
+  for(m_uint i = 0; i < vector_size(v); ++i) {
+    struct Plug_ *plug = (struct Plug_*)vector_at(v, i);
+    if(!strcmp(name, plug->name))
+      return plug->self;
+  }
+  return NULL;
+}