aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormescalinum <mescalinum@users.sourceforge.net>2011-10-13 23:54:03 +0000
committermescalinum <mescalinum@users.sourceforge.net>2011-10-13 23:54:03 +0000
commit41a929df365c8d025c3be97c6e4068275c908faf (patch)
tree848bfd09b0c5734d30f3321685a1bb87a859539c
parent8303218509a59630ec4c3a31aed0b5264e977500 (diff)
binbuf now fully working
svn path=/trunk/externals/loaders/tclpd/; revision=15593
-rw-r--r--tcl_typemap.c25
1 files changed, 21 insertions, 4 deletions
diff --git a/tcl_typemap.c b/tcl_typemap.c
index 94c3aa0..65f3872 100644
--- a/tcl_typemap.c
+++ b/tcl_typemap.c
@@ -30,14 +30,31 @@ int tcl_to_pd(Tcl_Obj *input, t_atom *output) {
const char* atom_type_string(t_atom* a) {
switch(a->a_type) {
- case A_FLOAT: return "float";
- case A_SYMBOL: return "symbol";
- case A_POINTER: return "pointer";
- default: return "???";
+ case A_FLOAT:
+ case A_DEFFLOAT:
+ return "float";
+ case A_SYMBOL:
+ case A_DEFSYM:
+ case A_DOLLAR:
+ case A_DOLLSYM:
+ case A_SEMI:
+ case A_COMMA:
+ return "symbol";
+ case A_POINTER:
+ return "pointer";
+ default:
+ post("atom_type_string: unsupported/unknown selector: %d", a->a_type);
+ return "???";
}
}
const char* atom_symbol_value(t_atom* a) {
+ if(a->a_type == A_DOLLAR) {
+ char buf[6];
+ snprintf(buf, 6, "$%d", a->a_w.w_index);
+ t_symbol* s = gensym(buf);
+ return s->s_name;
+ }
return a->a_w.w_symbol->s_name;
}