static void inlet_symbol(t_inlet *x, t_symbol *s) { if (x->i_symfrom == &s_symbol) pd_vmess(x->i_dest, x->i_symto, "s", s); else if (!x->i_symfrom) pd_symbol(x->i_dest, s); else inlet_wrong(x, &s_symbol); }
static void new_inlet_float(t_inlet *x, t_float f) { if (x->i_symfrom == &s_float) pd_vmess(x->i_dest, x->i_un.iu_symto, "f", (t_floatarg)f); else if (*x->i_dest == eproxy_class) { t_atom a; t_eproxy* proxy = (t_eproxy *)x->i_dest; t_eobj *z = (t_eobj *)proxy->p_owner; z->o_current_proxy = proxy->p_index; SETFLOAT(&a, f); pd_typedmess((t_pd *)x->i_dest, &s_float, 1, &a); z->o_current_proxy = 0; } else if (x->i_symfrom == &s_signal) x->i_un.iu_floatsignalvalue = f; else if (!x->i_symfrom) pd_float(x->i_dest, f); else if (x->i_symfrom == &s_list) { t_atom a; SETFLOAT(&a, f); new_inlet_list(x, &s_float, 1, &a); } else inlet_wrong(x, &s_float); }
static void inlet_pointer(t_inlet *x, t_gpointer *gp) { if (x->i_symfrom == &s_pointer) pd_vmess(x->i_dest, x->i_symto, "p", gp); else if (!x->i_symfrom) pd_pointer(x->i_dest, gp); else inlet_wrong(x, &s_pointer); }
/* LATER figure out how to make these efficient: */ static void inlet_bang(t_inlet *x) { if (x->i_symfrom == &s_bang) pd_vmess(x->i_dest, x->i_symto, ""); else if (!x->i_symfrom) pd_bang(x->i_dest); else inlet_wrong(x, &s_bang); }
static void inlet_float(t_inlet *x, t_float f) { if (x->i_symfrom == &s_float) pd_vmess(x->i_dest, x->i_symto, "f", (t_floatarg)f); else if (x->i_symfrom == &s_signal) x->i_un.iu_floatsignalvalue = ftofix(f); else if (!x->i_symfrom) pd_float(x->i_dest, f); else inlet_wrong(x, &s_float); }
static void inlet_pointer(t_inlet *x, t_gpointer *gp) { if (x->i_symfrom == &s_pointer) pd_vmess(x->i_dest, x->i_symto, "p", gp); else if (!x->i_symfrom) pd_pointer(x->i_dest, gp); else if (x->i_symfrom == &s_list) { t_atom a; SETPOINTER(&a, gp); inlet_list(x, &s_pointer, 1, &a); } else inlet_wrong(x, &s_pointer); }
static void inlet_symbol(t_inlet *x, t_symbol *s) { if (x->i_symfrom == &s_symbol) pd_vmess(x->i_dest, x->i_symto, "s", s); else if (!x->i_symfrom) pd_symbol(x->i_dest, s); else if (x->i_symfrom == &s_list) { t_atom a; SETSYMBOL(&a, s); inlet_list(x, &s_symbol, 1, &a); } else inlet_wrong(x, &s_symbol); }
static void inlet_float(t_inlet *x, t_float f) { if (x->i_symfrom == &s_float) pd_vmess(x->i_dest, x->i_symto, "f", (t_floatarg)f); else if (x->i_symfrom == &s_signal) x->i_un.iu_floatsignalvalue = f; else if (!x->i_symfrom) pd_float(x->i_dest, f); else if (x->i_symfrom == &s_list) { t_atom a; SETFLOAT(&a, f); inlet_list(x, &s_float, 1, &a); } else inlet_wrong(x, &s_float); }
static void new_inlet_bang(t_inlet *x) { if (x->i_symfrom == &s_bang) pd_vmess(x->i_dest, x->i_un.iu_symto, ""); else if (!x->i_symfrom) pd_bang(x->i_dest); else if (x->i_symfrom == &s_list) new_inlet_list(x, &s_bang, 0, 0); else if (*x->i_dest == eproxy_class) { t_eproxy* proxy = (t_eproxy *)x->i_dest; t_eobj *z = (t_eobj *)proxy->p_owner; z->o_current_proxy = proxy->p_index; pd_typedmess((t_pd *)proxy->p_owner, &s_bang, 0, NULL); z->o_current_proxy = 0; } else inlet_wrong(x, &s_bang); }
static void inlet_blob(t_inlet *x, t_blob *st) /* MP20061226 blob type */ { /*post("inlet_blob (%p): st %p", &inlet_blob, st);*/ if (x->i_symfrom == &s_blob) { /*post("inlet_blob calling pd_vmess");*/ pd_vmess(x->i_dest, x->i_symto, "t", st); } else if (!x->i_symfrom) { /*post("inlet_blob calling pd_blob");*/ pd_blob(x->i_dest, st); } else { /*post("inlet_blob calling inlet_wrong");*/ inlet_wrong(x, &s_blob); } }
static void new_inlet_symbol(t_inlet *x, t_symbol *s) { if (x->i_symfrom == &s_symbol) pd_vmess(x->i_dest, x->i_un.iu_symto, "s", s); else if (!x->i_symfrom) pd_symbol(x->i_dest, s); else if (x->i_symfrom == &s_list) { t_atom a; SETSYMBOL(&a, s); new_inlet_list(x, &s_symbol, 1, &a); } else if (*x->i_dest == eproxy_class) { t_atom a; t_eproxy* proxy = (t_eproxy *)x->i_dest; t_eobj *z = (t_eobj *)proxy->p_owner; z->o_current_proxy = proxy->p_index; SETSYMBOL(&a, s); pd_typedmess((t_pd *)x->i_dest, &s_symbol, 1, &a); z->o_current_proxy = 0; } else inlet_wrong(x, &s_symbol); }
static void new_inlet_pointer(t_inlet *x, t_gpointer *gp) { if (x->i_symfrom == &s_pointer) pd_vmess(x->i_dest, x->i_un.iu_symto, "p", gp); else if (!x->i_symfrom) pd_pointer(x->i_dest, gp); else if (x->i_symfrom == &s_list) { t_atom a; SETPOINTER(&a, gp); new_inlet_list(x, &s_pointer, 1, &a); } else if (*x->i_dest == eproxy_class) { t_atom a; t_eproxy* proxy = (t_eproxy *)x->i_dest; t_eobj *z = (t_eobj *)proxy->p_owner; z->o_current_proxy = proxy->p_index; SETPOINTER(&a, gp); pd_typedmess((t_pd *)x->i_dest, &s_pointer, 1, &a); z->o_current_proxy = 0; } else inlet_wrong(x, &s_pointer); }
void pd_doloadbang(void) { if (lastpopped) pd_vmess(lastpopped, gensym("loadbang"), ""); lastpopped = 0; }