24 TTPtr graphOutlets[16];
25 t_symbol* attrOperator;
32 OpPtr OpNew (t_symbol* msg,
long argc, t_atom* argv);
33 void OpFree (OpPtr
self);
34 void OpAssist (OpPtr
self,
void* b,
long msg,
long arg,
char* dst);
35 t_max_err OpSetOperator (OpPtr
self,
void* attr,
long argc, t_atom* argv);
36 t_max_err OpSetOperand (OpPtr
self,
void* attr,
long argc, t_atom* argv);
40 static t_class* sOpClass;
51 common_symbols_init();
53 c = class_new(
"j.op-", (method)OpNew, (method)OpFree,
sizeof(Op), (method)0L, A_GIMME, 0);
55 class_addmethod(c, (method)MaxGraphReset,
"graph.reset", A_CANT, 0);
56 class_addmethod(c, (method)MaxGraphSetup,
"graph.setup", A_CANT, 0);
57 class_addmethod(c, (method)MaxGraphConnect,
"graph.connect", A_OBJ, A_LONG, 0);
58 class_addmethod(c, (method)MaxGraphDrop,
"graph.drop", A_CANT, 0);
59 class_addmethod(c, (method)MaxGraphObject,
"graph.object", A_CANT, 0);
61 class_addmethod(c, (method)OpAssist,
"assist", A_CANT, 0);
62 class_addmethod(c, (method)object_obex_dumpout,
"dumpout", A_CANT, 0);
64 CLASS_ATTR_SYM(c,
"operator", 0, Op, attrOperator);
65 CLASS_ATTR_ACCESSORS(c,
"operator", NULL, OpSetOperator);
66 CLASS_ATTR_ENUM(c,
"operator", 0,
"+ - * / % > >= == != <= < abs acos asin atan ceil cos cosh exp floor log log10 sin sinh sqrt tan tanh");
68 CLASS_ATTR_FLOAT(c,
"operand", 0, Op, attrOperand);
69 CLASS_ATTR_ACCESSORS(c,
"operand", NULL, OpSetOperand);
71 class_register(_sym_box, c);
80 OpPtr OpNew(t_symbol* msg,
long argc, t_atom* argv)
86 self = OpPtr(object_alloc(sOpClass));
88 object_obex_store((
void*)
self, _sym_dumpout, (t_object*)outlet_new(
self, NULL));
89 self->graphOutlets[0] = outlet_new(
self,
"graph.connect");
96 if (!self->graphObject->mKernel.valid()) {
97 object_error(SELF,
"cannot load Jamoma object");
101 attr_args_process(
self, argc, argv);
108 void OpFree(OpPtr
self)
118 void OpAssist(OpPtr
self,
void* b,
long msg,
long arg,
char* dst)
121 strcpy (dst,
"multichannel input and control messages");
124 strcpy(dst,
"multichannel output");
126 strcpy(dst,
"dumpout");
133 t_max_err OpSetOperator(OpPtr
self,
void* attr,
long argc, t_atom* argv)
136 self->attrOperator = atom_getsym(argv);
137 self->graphObject->mKernel.set(
TT(
"operator"),
TT(self->attrOperator->s_name));
143 t_max_err OpSetOperand(OpPtr
self,
void* attr,
long argc, t_atom* argv)
146 self->attrOperand = atom_getfloat(argv);
147 self->graphObject->mKernel.set(
TT(
"operand"), self->attrOperand);
The TTGraphObjectBase wraps a TTDSP object such that it is possible to build a dynamic graph of audio...
TTErr TTObjectBaseRelease(TTObjectBasePtr *anObject)
DEPRECATED.
Base class for all first-class Jamoma objects.
#define TT
This macro is defined as a shortcut for doing a lookup in the symbol table.
void * TTPtr
A generic pointer.
float TTFloat32
32 bit floating point number
TTErr TTObjectBaseInstantiate(const TTSymbol className, TTObjectBasePtr *returnedObjectPtr, const TTValue arguments)
DEPRECATED.
TTErr
Jamoma Error Codes Enumeration of error codes that might be returned by any of the TTBlue functions a...
int C74_EXPORT main(void)
Set up this class as a Max external the first time an object of this kind is instantiated.
void resize(size_type n)
Change the number of elements.
[doxygenAppendixC_copyExample]