OpPtr OpNew(SymbolPtr msg, AtomCount argc, AtomPtr argv) { OpPtr self; TTValue v; TTErr err; self = OpPtr(object_alloc(sOpClass)); if (self) { object_obex_store((void*)self, _sym_dumpout, (ObjectPtr)outlet_new(self, NULL)); // dumpout self->outlet = outlet_new(self, "audio.connect"); self->inlet = proxy_new(self, 1, &self->inletnum); v.setSize(2); v.set(0, TT("operator")); v.set(1, TTUInt32(1)); // we set it up with 1 inlet, and later modify to 2 inlets if the connection is made err = TTObjectInstantiate(TT("audio.object"), (TTObjectPtr*)&self->audioGraphObject, v); if (!self->audioGraphObject->getUnitGenerator()) { object_error(SELF, "cannot load Jamoma DSP object"); return NULL; } attr_args_process(self, argc, argv); } return self; }
u8 CDead63701::OpRead(u32 addr) { if(addr < 0x20) //internal register read return(ReadInternalReg(addr)); if(OpPages[addr >> ADDR_SHIFT]) return(OpPages[addr >> ADDR_SHIFT][addr & ADDR_MASK]); return(OpPtr(User,addr)); }
OpPtr OpNew(SymbolPtr msg, AtomCount argc, AtomPtr argv) { OpPtr self; TTValue v; TTErr err; self = OpPtr(pd_new(sOpClass)); if (self) { self->outlet = outlet_new(SELF, gensym("audio.connect")); v.setSize(2); v.set(0, TT("operator")); v.set(1, TTUInt32(1)); err = TTObjectInstantiate(TT("audio.object"), (TTObjectPtr*)&self->audioGraphObject, v); if (!self->audioGraphObject->getUnitGenerator()) { error("op≈: cannot load Jamoma DSP object"); return NULL; } } return self; }
u8 CDead6800::OpRead(u32 addr) { if(OpPages[addr >> ADDR_SHIFT]) return(OpPages[addr >> ADDR_SHIFT][addr & ADDR_MASK]); return(OpPtr(User,addr)); }