int mfp_block_copy(mfp_block * in, mfp_block * out) { if (out->blocksize != in->blocksize) { mfp_block_resize(out, in->blocksize); } memcpy(out->data, in->data, in->blocksize*sizeof(mfp_sample)); return 1; }
int mfp_proc_alloc_buffers(mfp_processor * p, int num_inlets, int num_outlets, int blocksize) { int count; int success=0; /* create inlet and outlet processor pointer arrays */ p->inlet_conn = g_array_sized_new(TRUE, TRUE, sizeof(GArray *), num_inlets); /* these are arrays of mfp_connection * */ for (count = 0; count < num_inlets; count++) { GArray * in = g_array_new(TRUE, TRUE, sizeof(mfp_connection *)); g_array_append_val(p->inlet_conn, in); } p->outlet_conn = g_array_sized_new(TRUE, TRUE, sizeof(GArray *), num_outlets); for (count = 0; count < num_outlets; count++) { GArray * out = g_array_new(TRUE, TRUE, sizeof(mfp_connection *)); g_array_append_val(p->outlet_conn, out); } /* create input and output buffers (will be reallocated if blocksize changes */ p->inlet_buf = g_malloc0(num_inlets * sizeof(mfp_block *)); p->inlet_buf_alloc = g_malloc0(num_inlets * sizeof(mfp_block *)); for (count = 0; count < num_inlets; count ++) { p->inlet_buf_alloc[count] = mfp_block_new(mfp_max_blocksize); mfp_block_resize(p->inlet_buf_alloc[count], blocksize); } p->outlet_buf = g_malloc(num_outlets * sizeof(mfp_sample *)); for (count = 0; count < num_outlets; count ++) { p->outlet_buf[count] = mfp_block_new(mfp_max_blocksize); mfp_block_resize(p->outlet_buf[count], blocksize); } return success; }