/* create new instance of object... MUST send it an int even if you do nothing with this int!! */ void *def_ls_new(t_symbol *s, int ac, t_atom *av) { // s is object name (we ignore it) t_def_ls *x = (t_def_ls *) object_alloc((t_class*) (def_ls_class)); x->x_outlet0 = outlet_new(x, 0L); /* create a (list) outlet */ initContent_ls_directions(x,ac,av); // Initialize object internal data from a ls-directions list return x; /* return a reference to the object instance */ }
/* create new instance of object... MUST send it an int even if you do nothing with this int!! */ static void *def_ls_new(t_symbol *s, int ac, Atom *av) { // s is object name (we ignore it) t_def_ls *x = (t_def_ls *)newobject(def_ls_class); #ifdef PD x->x_outlet0 = outlet_new(&x->x_obj, gensym("list")); /* create a (list) outlet */ #else /* Max */ x->x_outlet0 = outlet_new(x, 0L); /* create a (list) outlet */ #endif /* PD */ initContent_ls_directions(x,ac,av); // Initialize object internal data from a ls-directions list return x; /* return a reference to the object instance */ }
static void def_ls_read_directions(t_def_ls *x, t_symbol *s, int ac, Atom *av) // when loudspeaker directions come in a message { if (x->x_ls_read) { // Remove old matrices t_ls_set* trip_ptr = x->x_ls_set; while (trip_ptr != NULL) { // remove old matrices t_ls_set* tmp_ptr = trip_ptr; trip_ptr = trip_ptr->next; freebytes(tmp_ptr, sizeof (struct t_ls_set)); } } x->x_ls_set = NULL; initContent_ls_directions(x,ac,av); }
/* define-loudspeakers message integrated into vbap object */ void vbap_def_ls(t_def_ls *x, t_symbol *s, int ac, Atom *av) { initContent_ls_directions(x,ac,av); // Initialize object internal data from a ls-directions list def_ls_bang(x); // calculate and send matrix to vbap }