///////////////////////////////////////////////////////// // // pix_sig2pix // ///////////////////////////////////////////////////////// // Constructor // ///////////////////////////////////////////////////////// pix_sig2pix :: pix_sig2pix(t_floatarg width, t_floatarg height) : m_reqFormat(GL_RGBA_GEM) { m_pixBlock.image = m_imageStruct; m_pixBlock.image.data=NULL; dimenMess((int)width, (int)height); //tigital int i; for (i=0; i<3; i++) inlet_new(this->x_obj, &this->x_obj->ob_pd, &s_signal, &s_signal); /* channels inlet */ }
void pix_sig2pix :: dspMess(void *data, t_signal** sp) { if (m_width==0 && m_height==0) { int w = powerOfTwo((int)sqrt((double)sp[0]->s_n)); int h = (sp[0]->s_n / w); dimenMess(w, h); m_width = 0; m_height= 0; } m_pixBlock.image.setBlack(); dsp_add(perform, 6, data, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec, sp[0]->s_n); }
///////////////////////////////////////////////////////// // // pix_crop // ///////////////////////////////////////////////////////// // Constructor // ///////////////////////////////////////////////////////// pix_crop :: pix_crop(t_floatarg x, t_floatarg y, t_floatarg w, t_floatarg h) : m_data(0), m_size(0), sizeX(0), sizeY(0), sizeC(0), offsetX(0), offsetY(0), wantSizeX(0), wantSizeY(0) { if(w<=1. && h<=1.) { w=h=64.; } offsetMess((int)x,(int)y); dimenMess((int)w,(int)h); inlet_new(this->x_obj, &this->x_obj->ob_pd, gensym("float"), gensym("dimenX")); inlet_new(this->x_obj, &this->x_obj->ob_pd, gensym("float"), gensym("dimenY")); inlet_new(this->x_obj, &this->x_obj->ob_pd, gensym("float"), gensym("offsetX")); inlet_new(this->x_obj, &this->x_obj->ob_pd, gensym("float"), gensym("offsetY")); }
///////////////////////////////////////////////////////// // // pix_resize // ///////////////////////////////////////////////////////// // Constructor // ///////////////////////////////////////////////////////// pix_resize :: pix_resize(t_floatarg width, t_floatarg height) { dimenMess((int)width, (int)height); }