CicmWrapper  Beta 0.4
A wrapper for Pure Data
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Modules Pages
eobj.h
1 /*
2  * CicmWrapper
3  *
4  * A wrapper for Pure Data
5  *
6  * Copyright (C) 2013 Pierre Guillot, CICM - Université Paris 8
7  * All rights reserved.
8  *
9  * Website : http://www.mshparisnord.fr/HoaLibrary/
10  * Contacts : cicm.mshparisnord@gmail.com
11  *
12  * This library is free software; you can redistribute it and/or modify it
13  * under the terms of the GNU Library General Public License as published
14  * by the Free Software Foundation; either version 2 of the License.
15  *
16  * This library is distributed in the hope that it will be useful, but WITHOUT
17  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
19  * License for more details.
20  *
21  * You should have received a copy of the GNU Library General Public License
22  * along with this library; if not, write to the Free Software Foundation,
23  * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24  *
25  */
26 
33 #ifndef DEF_EOBJ
34 #define DEF_EOBJ
35 
36 #include "edefine.h"
37 
49 void *eobj_new(t_eclass *c);
50 
57 void eobj_free(void *x);
58 
66 t_eproxy* eobj_proxynew(void* x);
67 
75 int eobj_getproxy(void* x);
76 
84 t_eclass* eobj_getclass(void* x);
85 
93 t_symbol* eobj_getclassname(void* x);
94 
102 t_canvas* eobj_getcanvas(void *x);
103 
111 char eobj_isbox(void *x);
112 
120 char eobj_isdsp(void *x);
121 
129 void eobj_attrprocess_viabinbuf(void *x, t_binbuf *d);
130 
139 void eobj_attrprocess_viatoms(void *x, int argc, t_atom *argv);
140 
150 void eobj_attr_setvalueof(void *x, t_symbol* s, int argc, t_atom *argv);
151 
161 void eobj_attr_getvalueof(void *x, t_symbol *s, int *argc, t_atom **argv);
162 
177 void eobj_dspsetup(void *x, long nins, long nouts);
178 
187 void eobj_dspflags(void *x, long flags);
188 
195 void eobj_dspfree(void *x);
196 
204 void eobj_resize_inputs(void *x, long nins);
205 
214 t_sample* eobj_getsignalinput(void *x, long index);
215 
224 t_sample* eobj_getsignaloutput(void *x, long index);
225 
229 
232 /*
233  \ @memberof eobj
234  \ @param z The eobj pointor
235  \ @param b The binbuf
236  \ @return Nothing
237  */
238 void eobj_save(t_gobj* x, t_binbuf *b);
239 
241 /*
242  \ @memberof eobj
243  \ @param z The eobj pointor
244  \ @param b The binbuf
245  \ @return Nothing
246  */
247 void eobj_dosave(t_eobj* x, t_binbuf *b);
248 
250 /*
251  \ @memberof eobj
252  \ @param x The eobj pointer
253  \ @param s The message selector
254  \ @param itemid the id of the selected item
255  \ @return Nothing
256  */
257 void eobj_popup(t_eobj* x, t_symbol* s, float itemid);
258 
260 /*
261  \ @memberof eobj
262  \ @param x The eobj pointor
263  \ @param s The symbol selector
264  \ @param argc The size of the array of atoms
265  \ @param argv The array of atoms
266  \ @return Nothing
267  */
268 void eobj_write(t_eobj* x, t_symbol* s, int argc, t_atom *argv);
269 
271 /*
272  \ @memberof eobj
273  \ @param x The eobj pointor
274  \ @param s The symbol selector
275  \ @param argc The size of the array of atoms
276  \ @param argv The array of atoms
277  \ @return Nothing
278  */
279 void eobj_read(t_eobj* x, t_symbol* s, int argc, t_atom *argv);
280 
282 /*
283  \ @memberof edspobj
284  \ @param x The edspobj pointer
285  \ @param sp The pointers to signal structures
286  \ @return Nothing
287  */
288 void eobj_dsp(void *x, t_signal **sp);
289 
291 /*
292  \ @memberof edspobj
293  \ @param w The pointer sent by the dsp method
294  \ @return Nothing
295  */
296 t_int* eobj_perform_inplace(t_int* w);
297 
299 /*
300  \ @memberof edspobj
301  \ @param w The pointer sent by the dsp method
302  \ @return Nothing
303  */
304 t_int* eobj_perform_noinplace(t_int* w);
305 
307 /*
308  \ @memberof edspobj
309  \ @param x The edspobj
310  \ @param s Nothing (for Max 6 compatibility)
311  \ @param obj Nothing (for Max 6 compatibility)
312  \ @param m The user perform method
313  \ @param flags The user perform flags
314  \ @param userparam The user perform parameters
315  \ @return Nothing
316  */
317 void eobj_dsp_add(void *x, t_symbol* s, t_object* obj, t_typ_method m, long flags, void *userparam);
319 
320 #endif
321 
322 
323 
t_sample * eobj_getsignaloutput(void *x, long index)
Retrieves the pointer to the signal of an output.
Definition: eobj.c:609
t_canvas * eobj_getcanvas(void *x)
Retreives the canvas that owns the t_eobj.
Definition: eobj.c:112
void eobj_attrprocess_viabinbuf(void *x, t_binbuf *d)
Changes the attributes with a binbuf.
Definition: eobj.c:236
void * eobj_new(t_eclass *c)
The t_eobj creation function.
Definition: eobj.c:34
int eobj_getproxy(void *x)
Retreives the index of the proxy that received the last message.
Definition: eobj.c:94
void eobj_attr_setvalueof(void *x, t_symbol *s, int argc, t_atom *argv)
Sets the values of an attribute.
Definition: eobj.c:258
t_symbol * eobj_getclassname(void *x)
Retrieves the classe name of a t_eobj.
Definition: eobj.c:106
void eobj_dspsetup(void *x, long nins, long nouts)
Initializes the dsp members of the t_edsp.
Definition: eobj.c:362
void eobj_dspfree(void *x)
The t_edspobj deletion function. This function should replace pd_free().
Definition: eobj.c:396
void eobj_dspflags(void *x, long flags)
Initializes the flags of the t_edsp.
Definition: eobj.c:387
The class.
Definition: edefine.h:513
void eobj_resize_inputs(void *x, long nins)
Resizes the number of signal inputs of a t_edspobj.
Definition: eobj.c:411
char eobj_isbox(void *x)
Retreives if a t_eobj is a GUI box or not.
Definition: eobj.c:118
t_eclass * eobj_getclass(void *x)
Retrieves the eclass of a t_eobj.
Definition: eobj.c:100
char eobj_isdsp(void *x)
Retreives if a t_eobj is a DSP object or not.
Definition: eobj.c:125
void eobj_free(void *x)
The t_eobj deletion function. This function should replace pd_free().
Definition: eobj.c:73
The default object.
Definition: edefine.h:550
The Proxy object.
Definition: edefine.h:536
void eobj_attrprocess_viatoms(void *x, int argc, t_atom *argv)
Changes the attributes with an array of atoms.
Definition: eobj.c:214
t_eproxy * eobj_proxynew(void *x)
Adds a proxy inlet to a t_eobj.
Definition: eobj.c:89
void(* t_typ_method)(void *x,...)
The standart method.
Definition: edefine.h:86
t_sample * eobj_getsignalinput(void *x, long index)
Retrieves the pointer to the signal of an input.
Definition: eobj.c:596
void eobj_attr_getvalueof(void *x, t_symbol *s, int *argc, t_atom **argv)
Gets the values of an attribute.
Definition: eobj.c:264