void *howbigisyourp_new(t_symbol *s, long argc, t_atom *argv) { t_howbigisyourp *x = NULL; if ((x = (t_howbigisyourp *)object_alloc(howbigisyourp_class))) { x->subpatchername = gensym(""); x->out = outlet_new(x, NULL); x->hash = hashtab_new(0); hashtab_flags(x->hash, OBJ_FLAG_DATA); } return (x); }
void *dbviewer_new(t_symbol *s, short argc, t_atom *argv) { t_dbviewer *x; long flags; t_dictionary *d = NULL; if (!(d=object_dictionaryarg(argc, argv))) return NULL; x = (t_dbviewer*)object_alloc(s_dbviewer_class); if(x){ flags = 0 | JBOX_DRAWFIRSTIN | JBOX_NODRAWBOX | JBOX_DRAWINLAST // | JBOX_TRANSPARENT // | JBOX_NOGROW // | JBOX_GROWY | JBOX_GROWBOTH // | JBOX_IGNORELOCKCLICK | JBOX_HILITE // | JBOX_BACKGROUND // | JBOX_NOFLOATINSPECTOR // | JBOX_TEXTFIELD ; jbox_new(&x->d_box, flags, argc, argv); x->d_box.b_firstin = (t_object*)x; object_obex_store((void *)x, _sym_dumpout, (t_object*)outlet_new(x, NULL)); x->d_columns = hashtab_new(13); hashtab_flags(x->d_columns, OBJ_FLAG_DATA); x->d_query = _sym_nothing; dbviewer_initdataview(x); attr_dictionary_process(x, d); jbox_ready(&x->d_box); // object_notify(x->d_view, ps_dbview_update, NULL); } return(x); }
void *cc_new(t_symbol *msg, short argc, t_atom *argv){ t_cc *x; if(x = (t_cc *)object_alloc(cc_class)){ #if defined(CC_JBOX) t_dictionary *d = NULL; long boxflags; if(!(d = object_dictionaryarg(argc, argv))){ return NULL; } boxflags = 0 | JBOX_DRAWFIRSTIN //| JBOX_NODRAWBOX | JBOX_DRAWINLAST //| JBOX_TRANSPARENT // | JBOX_NOGROW //| JBOX_GROWY | JBOX_GROWBOTH // | JBOX_HILITE | JBOX_BACKGROUND | JBOX_DRAWBACKGROUND // | JBOX_NOFLOATINSPECTOR // | JBOX_MOUSEDRAGDELTA // | JBOX_TEXTFIELD ; jbox_new((t_jbox *)x, boxflags, argc, argv); #if defined(CC_MSP) x->ob.z_box.b_firstin = (void *)x; #else x->ob.b_firstin = (void *)x; #endif #endif x->ht = (t_hashtab *)hashtab_new(0); hashtab_flags(x->ht, OBJ_FLAG_DATA); x->ok_to_compile = 1; x->compiling = 0; x->have_valid_filename = 0; x->build_path_is_tmp = 1; x->ed = NULL; x->code_buf_len = BUFSIZE; x->code_buf = (char *)calloc(BUFSIZE, sizeof(char)); x->cfile_path = (char *)calloc(MAX_FILENAME_CHARS, sizeof(char)); x->build_path = (char *)calloc(MAX_FILENAME_CHARS, sizeof(char)); x->basename = (char *)calloc(MAX_FILENAME_CHARS, sizeof(char)); x->cfile_fullpath = (char *)calloc(MAX_PATH_CHARS, sizeof(char)); x->ofile_fullpath = (char *)calloc(MAX_PATH_CHARS, sizeof(char)); x->dfile_fullpath = (char *)calloc(MAX_PATH_CHARS, sizeof(char)); x->logfile_fullpath = (char *)calloc(MAX_PATH_CHARS, sizeof(char)); x->path_to_maxsdk = gensym(""); x->user_obj = (char *)calloc(OBJSIZE, sizeof(char)); x->verbose = 0; long ic = (long)(ps_cc_instance_count->s_thing); ic += 1; ps_cc_instance_count->s_thing = (void *)ic; #if defined(CC_MSP) && defined(CC_JBOX) sprintf(x->basename, "cc_jbox~_%ld", (long)ps_cc_instance_count->s_thing); #elif defined(CC_MSP) sprintf(x->basename, "cc~_%ld", (long)ps_cc_instance_count->s_thing); #elif defined(CC_JBOX) sprintf(x->basename, "cc_jbox_%ld", (long)ps_cc_instance_count->s_thing); #else sprintf(x->basename, "cc_%ld", (long)ps_cc_instance_count->s_thing); #endif short tmpdir; sprintf(x->build_path, "/private/var/tmp"); char fn[512]; path_frompathname(x->build_path, &tmpdir, fn); x->build_path_id = tmpdir; //sprintf(x->cfile_fullpath, "%s/%s.c", x->build_path, x->basename); sprintf(x->ofile_fullpath, "%s/%s.o", x->build_path, x->basename); sprintf(x->dfile_fullpath, "%s/%s.dylib", x->build_path, x->basename); sprintf(x->logfile_fullpath, "%s/%s.log", x->build_path, x->basename); x->code_len = cc_write_template(x, x->code_buf); x->function_names = (t_symbol **)calloc(128, sizeof(t_symbol *)); x->ninlets = 1; x->noutlets = 1; x->def_cflags = (char *)calloc(4096, sizeof(char)); x->def_ldflags = (char *)calloc(4096, sizeof(char)); char *sdk = x->path_to_maxsdk->s_name; #if defined(CC_MSP) sprintf(x->def_cflags, CFLAGS, sdk, sdk, sdk, sdk, sdk); sprintf(x->def_ldflags, LDFLAGS, sdk, sdk); #else sprintf(x->def_cflags, CFLAGS, sdk, sdk, sdk); sprintf(x->def_ldflags, LDFLAGS, sdk); #endif x->user_cflags = gensym(""); x->user_ldflags = gensym(""); #ifdef CC_JBOX x->user_paint = NULL; #endif #if !defined(CC_JBOX) attr_args_process(x, argc, argv); #else attr_dictionary_process(x, d); #endif int i; #if defined(CC_MSP) #if defined(CC_JBOX) dsp_setupjbox((t_pxjbox *)x, x->nsiginlets); #else dsp_setup((t_pxobject *)x, x->nsiginlets); #endif for(i = 0; i < x->nsigoutlets; i++){ outlet_new((t_object *)x, "signal"); } x->svin = (t_float **)calloc(x->nsiginlets, sizeof(t_float *)); x->svout = (t_float **)calloc(x->nsigoutlets, sizeof(t_float *)); #endif x->proxies = (void **)calloc(x->ninlets - 1, sizeof(void *)); for(i = 0; i < x->ninlets - 1; i++){ x->proxies[0] = proxy_new((t_object *)x, x->ninlets - (i + 1), &(x->inlet)); } #if !defined(CC_MSP) x->outlets = (void **)calloc(x->noutlets, sizeof(void *)); for(i = x->noutlets - 1; i >= 0; i--){ x->outlets[i] = outlet_new((t_object *)x, NULL); } #endif x->handle = NULL; object_attach_byptr_register(x, x, CLASS_BOX); #ifdef CC_JBOX jbox_ready((t_jbox *)x); #endif return x; } return NULL; }