aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/dynext/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/dynext/src/main.cpp')
-rw-r--r--externals/grill/dynext/src/main.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/externals/grill/dynext/src/main.cpp b/externals/grill/dynext/src/main.cpp
index 72220ede..f81532e5 100644
--- a/externals/grill/dynext/src/main.cpp
+++ b/externals/grill/dynext/src/main.cpp
@@ -829,7 +829,15 @@ void dyn::m_send(int argc,const t_atom *argv)
post("%s - send: object \"%s\" not found",thisName(),GetString(argv[0]));
else if(!canvasmsg && o->AsGlist())
post("%s - send: object \"%s\" is an abstraction, please create proxy",thisName(),GetString(argv[0]));
+ else if(IsSymbol(argv[1])) {
+ const t_symbol *s = GetSymbol(argv[1]);
+ if(s == sym_list)
+ pd_forwardmess((t_pd *)o->object,argc-2,(t_atom *)argv+2);
+ else
+ pd_typedmess((t_pd *)o->object,(t_symbol *)s,argc-2,(t_atom *)argv+2);
+ }
else
+ // assume it's a list
pd_forwardmess((t_pd *)o->object,argc-1,(t_atom *)argv+1);
}
}