static void scope_free(t_scope *x) { ebox_free((t_ebox *)x); clock_free(x->f_clock); free(x->f_buffer_x); free(x->f_buffer_y); }
void hoa_space_free(t_hoa_space *x) { ebox_free((t_ebox *)x); delete x->f_viewer; delete x->f_recomposer; clock_free(x->f_defer); }
void hoa_scope_free(t_hoa_scope *x) { ebox_free((t_ebox *)x); clock_free(x->f_clock); delete x->f_scope; delete [] x->f_signals; }
void hoa_meter_free(t_hoa_meter *x) { ebox_free((t_ebox *)x); clock_free(x->f_clock); delete x->f_meter; delete x->f_vector; delete [] x->f_signals; delete [] x->f_over_leds; }
/* Read a file, parse, render back, etc. */ void dofile(char *filename) { FILE *f;long len;char *data; f=fopen(filename,"rb");fseek(f,0,SEEK_END);len=ftell(f);fseek(f,0,SEEK_SET); data=(char*)ebox_malloc(len+1);fread(data,1,len,f);fclose(f); doit(data); ebox_free(data); }
static void preset_free(t_presetobj *x) { for(int i = 0; i < CREAM_MAXITEMS; i++) { binbuf_free(x->f_binbuf[i]); } free(x->f_binbuf); ebox_free((t_ebox *)x); }
static void blackboard_free(t_blackboard *x) { ebox_free((t_ebox *)x); for(int i = 0; i < _blackboard::maxcmd; i++) { free(x->f_instructions[i]); } free(x->f_instructions); }
/* Parse text to JSON, then render back to text, and print! */ void doit(char *text) { char *out;cJSON *json; json=cJSON_Parse(text); if (!json) {uart1.printf("Error before: [%s]\n",cJSON_GetErrorPtr());} else { out=cJSON_Print(json); cJSON_Delete(json); uart1.printf("%s\n",out); ebox_free(out); } }
void setup() { ebox_init(); uart1.begin(115200); uart1.printf("j:%d\r\n",ebox_get_free()); uart1.printf("j:%d\r\n",ebox_get_free()); // uart1.printf("1£º%d\r\n",mem_get_free_size(EN_SRAM_IN)); // xx = (char *)mem_malloc(1024,EN_SRAM_IN); // uart1.printf("2£º%d\r\n",mem_get_free_size(EN_SRAM_IN)); // xx = (char *)mem_malloc(1024,EN_SRAM_IN); // uart1.printf("2£º%d\r\n",mem_get_free_size(EN_SRAM_IN)); PB8.mode(OUTPUT_PP); struct record fields[2]={ {"zip",37.7668,-1.223959e+2,"","SAN FRANCISCO","CA","94107","US"}, {"zip",37.371991,-1.22026e+2,"","SUNNYVALE","CA","94085","US"}}; cJSON *root,*fmt,*img,*thm,*fld;char *out;int i; /* declare a few. */ root=cJSON_CreateArray(); for (i=0;i<2;i++) { cJSON_AddItemToArray(root,fld=cJSON_CreateObject()); cJSON_AddStringToObject(fld, "precision", fields[i].precision); cJSON_AddNumberToObject(fld, "Latitude", fields[i].lat); cJSON_AddNumberToObject(fld, "Longitude", fields[i].lon); cJSON_AddStringToObject(fld, "Address", fields[i].address); cJSON_AddStringToObject(fld, "City", fields[i].city); cJSON_AddStringToObject(fld, "State", fields[i].state); cJSON_AddStringToObject(fld, "Zip", fields[i].zip); cJSON_AddStringToObject(fld, "Country", fields[i].country); } /* cJSON_ReplaceItemInObject(cJSON_GetArrayItem(root,1),"City",cJSON_CreateIntArray(ids,4)); */ uart1.printf("j:%d\r\n",ebox_get_free()); // out = (char *)cjson_malloc(1000); out=cJSON_Print(root); cJSON_Delete(root); uart1.printf("%s\n",out); uart1.printf("j:%d\r\n",ebox_get_free()); ebox_free(out); uart1.printf("j:%d\r\n",ebox_get_free()); for(;;) { uart1.printf_length("123456789\r\n",11); delay_ms(500); uart1.printf("j:%d\r\n",ebox_get_free()); } }
/* Create a bunch of objects as demonstration. */ void create_objects() { cJSON *root,*fmt,*img,*thm,*fld;char *out;int i; /* declare a few. */ /* Our "days of the week" array: */ const char *strings[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}; /* Our matrix: */ int numbers[3][3]={{0,-1,0},{1,0,0},{0,0,1}}; /* Our "gallery" item: */ int ids[4]={116,943,234,38793}; /* Our array of "records": */ struct record fields[2]={ {"zip",37.7668,-1.223959e+2,"","SAN FRANCISCO","CA","94107","US"}, {"zip",37.371991,-1.22026e+2,"","SUNNYVALE","CA","94085","US"}}; /* Here we construct some JSON standards, from the JSON site. */ /* Our "Video" datatype: */ root=cJSON_CreateObject(); cJSON_AddItemToObject(root, "name", cJSON_CreateString("Jack (\"Bee\") Nimble")); cJSON_AddItemToObject(root, "format", fmt=cJSON_CreateObject()); cJSON_AddStringToObject(fmt,"type", "rect"); cJSON_AddNumberToObject(fmt,"width", 1920); cJSON_AddNumberToObject(fmt,"height", 1080); cJSON_AddFalseToObject (fmt,"interlace"); cJSON_AddNumberToObject(fmt,"frame rate", 24); out=cJSON_Print(root); cJSON_Delete(root); uart1.printf("%s\n",out); ebox_free(out); /* Print to text, Delete the cJSON, print it, release the string. */ /* Our "days of the week" array: */ root=cJSON_CreateStringArray(strings,7); out=cJSON_Print(root); cJSON_Delete(root); uart1.printf("%s\n",out); ebox_free(out); /* Our matrix: */ root=cJSON_CreateArray(); for (i=0;i<3;i++) cJSON_AddItemToArray(root,cJSON_CreateIntArray(numbers[i],3)); /* cJSON_ReplaceItemInArray(root,1,cJSON_CreateString("Replacement")); */ out=cJSON_Print(root); cJSON_Delete(root); uart1.printf("%s\n",out); ebox_free(out); /* Our "gallery" item: */ root=cJSON_CreateObject(); cJSON_AddItemToObject(root, "Image", img=cJSON_CreateObject()); cJSON_AddNumberToObject(img,"Width",800); cJSON_AddNumberToObject(img,"Height",600); cJSON_AddStringToObject(img,"Title","View from 15th Floor"); cJSON_AddItemToObject(img, "Thumbnail", thm=cJSON_CreateObject()); cJSON_AddStringToObject(thm, "Url", "http:/*www.example.com/image/481989943"); cJSON_AddNumberToObject(thm,"Height",125); cJSON_AddStringToObject(thm,"Width","100"); cJSON_AddItemToObject(img,"IDs", cJSON_CreateIntArray(ids,4)); out=cJSON_Print(root); cJSON_Delete(root); uart1.printf("%s\n",out); ebox_free(out); /* Our array of "records": */ root=cJSON_CreateArray(); for (i=0;i<2;i++) { cJSON_AddItemToArray(root,fld=cJSON_CreateObject()); cJSON_AddStringToObject(fld, "precision", fields[i].precision); cJSON_AddNumberToObject(fld, "Latitude", fields[i].lat); cJSON_AddNumberToObject(fld, "Longitude", fields[i].lon); cJSON_AddStringToObject(fld, "Address", fields[i].address); cJSON_AddStringToObject(fld, "City", fields[i].city); cJSON_AddStringToObject(fld, "State", fields[i].state); cJSON_AddStringToObject(fld, "Zip", fields[i].zip); cJSON_AddStringToObject(fld, "Country", fields[i].country); } /* cJSON_ReplaceItemInObject(cJSON_GetArrayItem(root,1),"City",cJSON_CreateIntArray(ids,4)); */ out=cJSON_Print(root); cJSON_Delete(root); uart1.printf("%s\n",out); ebox_free(out); }
void incdec_free(t_incdec *x) { ebox_free((t_ebox *)x); }
void meter_free(t_meter *x) { ebox_free((t_ebox *)x); clock_free(x->f_clock); }
void bang_free(t_bang *x) { ebox_free((t_ebox *)x); clock_free(x->f_clock); }
void plane_free(t_plane *x) { ebox_free((t_ebox *)x); }
static void dsp_tilde_free(t_dsp_tilde *x) { pd_unbind((t_pd *)x, gensym("pd")); ebox_free((t_ebox *)x); }
void knob_free(t_knob *x) { ebox_free((t_ebox *)x); }
void radio_free(t_radio *x) { ebox_free((t_ebox *)x); }
void gain_free(t_gain *x) { ebox_free((t_ebox *)x); }
void matrixctrl_free(t_matrixctrl *x) { ebox_free((t_ebox *)x); free(x->f_values); }
static void incdec_free(t_incdec *x) { clock_free(x->f_clock); ebox_free((t_ebox *)x); }
void filterview_free(t_filterview *x) { ebox_free((t_ebox *)x); }
void number_tilde_free(t_number_tilde *x) { ebox_free((t_ebox *)x); clock_free(x->f_clock); }
void toggle_free(t_toggle *x) { ebox_free((t_ebox *)x); }
void breakpoints_free(t_breakpoints *x) { ebox_free((t_ebox *)x); clock_free(x->f_clock); }
void carray_free(t_carray *x) { ebox_free((t_ebox *)x); }