static PyObject * TriggerDummy_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { int i; PyObject *inputtmp, *input_streamtmp; TriggerDummy *self; self = (TriggerDummy *)type->tp_alloc(type, 0); self->modebuffer[0] = 0; self->modebuffer[1] = 0; INIT_OBJECT_COMMON Stream_setFunctionPtr(self->stream, TriggerDummy_compute_next_data_frame); self->mode_func_ptr = TriggerDummy_setProcMode; static char *kwlist[] = {"input", NULL}; if (! PyArg_ParseTupleAndKeywords(args, kwds, "O", kwlist, &inputtmp)) Py_RETURN_NONE; INIT_INPUT_TRIGGER_STREAM PyObject_CallMethod(self->server, "addStream", "O", self->stream); (*self->mode_func_ptr)(self); return (PyObject *)self; }
static PyObject * VarPort_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { int i; VarPort *self; self = (VarPort *)type->tp_alloc(type, 0); self->time = 0.025; self->timeStep = (long)(self->time * self->sr); self->timeout = (long)((self->time + 0.1) * self->sr); self->timeCount = 0; self->stepVal = 0.0; self->modebuffer[0] = 0; self->modebuffer[1] = 0; self->callable = Py_None; self->arg = Py_None; INIT_OBJECT_COMMON Stream_setFunctionPtr(self->stream, VarPort_compute_next_data_frame); self->mode_func_ptr = VarPort_setProcMode; self->factor = 1. / (.1 * self->sr); return (PyObject *)self; }
static PyObject * Chorus_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { int i; Chorus *self; self = (Chorus *)type->tp_alloc(type, 0); self->feedback = PyFloat_FromDouble(0.5); self->depth = PyFloat_FromDouble(1.0); self->mix = PyFloat_FromDouble(0.5); self->total_signal = 0.0; self->modebuffer[0] = 0; self->modebuffer[1] = 0; self->modebuffer[2] = 0; self->modebuffer[3] = 0; self->modebuffer[4] = 0; INIT_OBJECT_COMMON Stream_setFunctionPtr(self->stream, Chorus_compute_next_data_frame); self->mode_func_ptr = Chorus_setProcMode; for (i=0; i<8; i++) { self->in_count[i] = 0; self->delays[i] = chorusParams[i][0] * (self->sr / 44100.0); self->delay_devs[i] = chorusParams[i][1] * (self->sr / 44100.0); self->inc[i] = chorusParams[i][2] * 512 / self->sr; } return (PyObject *)self; }
static PyObject * HilbertMain_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { int i; PyObject *inputtmp, *input_streamtmp; HilbertMain *self; self = (HilbertMain *)type->tp_alloc(type, 0); INIT_OBJECT_COMMON Stream_setFunctionPtr(self->stream, HilbertMain_compute_next_data_frame); self->mode_func_ptr = HilbertMain_setProcMode; for (i=0; i<12; i++) { self->x1[i] = 0.0; self->y1[i] = 0.0; } static char *kwlist[] = {"input", NULL}; if (! PyArg_ParseTupleAndKeywords(args, kwds, "O", kwlist, &inputtmp)) Py_RETURN_NONE; INIT_INPUT_STREAM PyObject_CallMethod(self->server, "addStream", "O", self->stream); self->buffer_streams = (MYFLT *)realloc(self->buffer_streams, 2 * self->bufsize * sizeof(MYFLT)); HilbertMain_compute_variables((HilbertMain *)self); (*self->mode_func_ptr)(self); return (PyObject *)self; }
static PyObject * LFO_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { int i; PyObject *freqtmp=NULL, *sharptmp=NULL, *multmp=NULL, *addtmp=NULL; LFO *self; self = (LFO *)type->tp_alloc(type, 0); self->freq = PyFloat_FromDouble(100); self->sharp = PyFloat_FromDouble(0.5); self->oneOverPiOverTwo = 1.0 / (PI / 2.0); self->wavetype = 0; self->pointerPos = 0.0; self->sahPointerPos = 0.0; self->modPointerPos = 0.0; self->modebuffer[0] = 0; self->modebuffer[1] = 0; self->modebuffer[2] = 0; self->modebuffer[3] = 0; INIT_OBJECT_COMMON self->oneOverSr = 1.0 / (MYFLT)self->sr; self->srOverFour = (MYFLT)self->sr * 0.25; self->srOverEight = (MYFLT)self->sr * 0.125; Stream_setFunctionPtr(self->stream, LFO_compute_next_data_frame); self->mode_func_ptr = LFO_setProcMode; static char *kwlist[] = {"freq", "sharp", "type", "mul", "add", NULL}; if (! PyArg_ParseTupleAndKeywords(args, kwds, "|OOiOO", kwlist, &freqtmp, &sharptmp, &self->wavetype, &multmp, &addtmp)) Py_RETURN_NONE; if (freqtmp) { PyObject_CallMethod((PyObject *)self, "setFreq", "O", freqtmp); } if (sharptmp) { PyObject_CallMethod((PyObject *)self, "setSharp", "O", sharptmp); } if (multmp) { PyObject_CallMethod((PyObject *)self, "setMul", "O", multmp); } if (addtmp) { PyObject_CallMethod((PyObject *)self, "setAdd", "O", addtmp); } PyObject_CallMethod(self->server, "addStream", "O", self->stream); Server_generateSeed((Server *)self->server, LFO_ID); self->sahCurrentValue = self->sahLastValue = RANDOM_UNIFORM * 2.0 - 1.0; (*self->mode_func_ptr)(self); return (PyObject *)self; }
static PyObject * FourBandMain_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { int i; PyObject *inputtmp, *input_streamtmp, *freq1tmp=NULL, *freq2tmp=NULL, *freq3tmp=NULL; FourBandMain *self; self = (FourBandMain *)type->tp_alloc(type, 0); self->freq1 = PyFloat_FromDouble(150); self->freq2 = PyFloat_FromDouble(500); self->freq3 = PyFloat_FromDouble(2000); self->last_freq1 = self->last_freq2 = self->last_freq3 = -1.0; self->modebuffer[0] = 0; self->modebuffer[1] = 0; self->modebuffer[2] = 0; INIT_OBJECT_COMMON Stream_setFunctionPtr(self->stream, FourBandMain_compute_next_data_frame); self->mode_func_ptr = FourBandMain_setProcMode; static char *kwlist[] = {"input", "freq1", "freq2", "freq3", NULL}; if (! PyArg_ParseTupleAndKeywords(args, kwds, "O|OOO", kwlist, &inputtmp, &freq1tmp, &freq2tmp, &freq3tmp)) Py_RETURN_NONE; INIT_INPUT_STREAM PyObject_CallMethod(self->server, "addStream", "O", self->stream); for (i=0; i<6; i++) { self->x1[i] = self->x2[i] = self->x3[i] = self->x4[i] = self->y1[i] = self->y2[i] = self->y3[i] = self->y4[i] = 0.0; } self->buffer_streams = (MYFLT *)realloc(self->buffer_streams, 4 * self->bufsize * sizeof(MYFLT)); for (i=0; i<(4 * self->bufsize); i++) { self->buffer_streams[i] = 0.0; } if (freq1tmp) { PyObject_CallMethod((PyObject *)self, "setFreq1", "O", freq1tmp); } if (freq2tmp) { PyObject_CallMethod((PyObject *)self, "setFreq2", "O", freq2tmp); } if (freq3tmp) { PyObject_CallMethod((PyObject *)self, "setFreq3", "O", freq3tmp); } (*self->mode_func_ptr)(self); return (PyObject *)self; }
static PyObject * BandSplitter_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { int i; PyObject *inputtmp, *input_streamtmp, *qtmp=NULL; BandSplitter *self; self = (BandSplitter *)type->tp_alloc(type, 0); self->bands = 4; self->q = PyFloat_FromDouble(1.); self->init = 1; INIT_OBJECT_COMMON Stream_setFunctionPtr(self->stream, BandSplitter_compute_next_data_frame); self->mode_func_ptr = BandSplitter_setProcMode; self->halfSr = self->sr / 2.; self->TwoPiOnSr = TWOPI / self->sr; static char *kwlist[] = {"input", "bands", "min", "max", "q", NULL}; if (! PyArg_ParseTupleAndKeywords(args, kwds, TYPE_O_IFFO, kwlist, &inputtmp, &self->bands, &self->min_freq, &self->max_freq, &qtmp)) Py_RETURN_NONE; INIT_INPUT_STREAM PyObject_CallMethod(self->server, "addStream", "O", self->stream); self->band_freqs = (MYFLT *)realloc(self->band_freqs, self->bands * sizeof(MYFLT)); self->x1 = (MYFLT *)realloc(self->x1, self->bands * sizeof(MYFLT)); self->x2 = (MYFLT *)realloc(self->x2, self->bands * sizeof(MYFLT)); self->y1 = (MYFLT *)realloc(self->y1, self->bands * sizeof(MYFLT)); self->y2 = (MYFLT *)realloc(self->y2, self->bands * sizeof(MYFLT)); self->b0 = (MYFLT *)realloc(self->b0, self->bands * sizeof(MYFLT)); self->b2 = (MYFLT *)realloc(self->b2, self->bands * sizeof(MYFLT)); self->a0 = (MYFLT *)realloc(self->a0, self->bands * sizeof(MYFLT)); self->a1 = (MYFLT *)realloc(self->a1, self->bands * sizeof(MYFLT)); self->a2 = (MYFLT *)realloc(self->a2, self->bands * sizeof(MYFLT)); self->buffer_streams = (MYFLT *)realloc(self->buffer_streams, self->bands * self->bufsize * sizeof(MYFLT)); BandSplitter_setFrequencies((BandSplitter *)self); if (qtmp) { PyObject_CallMethod((PyObject *)self, "setQ", "O", qtmp); } else { BandSplitter_compute_variables((BandSplitter *)self, PyFloat_AS_DOUBLE(self->q)); } (*self->mode_func_ptr)(self); return (PyObject *)self; }
static PyObject * MatrixRecTrig_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { int i; MatrixRecTrig *self; self = (MatrixRecTrig *)type->tp_alloc(type, 0); INIT_OBJECT_COMMON Stream_setFunctionPtr(self->stream, MatrixRecTrig_compute_next_data_frame); return (PyObject *)self; }
static PyObject * MatrixPointer_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { int i; PyObject *matrixtmp, *xtmp, *ytmp, *multmp=NULL, *addtmp=NULL; MatrixPointer *self; self = (MatrixPointer *)type->tp_alloc(type, 0); self->modebuffer[0] = 0; self->modebuffer[1] = 0; INIT_OBJECT_COMMON Stream_setFunctionPtr(self->stream, MatrixPointer_compute_next_data_frame); self->mode_func_ptr = MatrixPointer_setProcMode; static char *kwlist[] = {"matrix", "x", "y", "mul", "add", NULL}; if (! PyArg_ParseTupleAndKeywords(args, kwds, "OOO|OO", kwlist, &matrixtmp, &xtmp, &ytmp, &multmp, &addtmp)) Py_RETURN_NONE; if ( PyObject_HasAttrString((PyObject *)matrixtmp, "getMatrixStream") == 0 ) { PyErr_SetString(PyExc_TypeError, "\"matrix\" argument of MatrixPointer must be a PyoMatrixObject.\n"); Py_RETURN_NONE; } Py_XDECREF(self->matrix); self->matrix = PyObject_CallMethod((PyObject *)matrixtmp, "getMatrixStream", ""); if (xtmp) { PyObject_CallMethod((PyObject *)self, "setX", "O", xtmp); } if (ytmp) { PyObject_CallMethod((PyObject *)self, "setY", "O", ytmp); } if (multmp) { PyObject_CallMethod((PyObject *)self, "setMul", "O", multmp); } if (addtmp) { PyObject_CallMethod((PyObject *)self, "setAdd", "O", addtmp); } PyObject_CallMethod(self->server, "addStream", "O", self->stream); return (PyObject *)self; }
PyObject * Dummy_initialize(Dummy *self) { int i; self->modebuffer[0] = 0; self->modebuffer[1] = 0; INIT_OBJECT_COMMON Stream_setFunctionPtr(self->stream, Dummy_compute_next_data_frame); self->mode_func_ptr = Dummy_setProcMode; PyObject_CallMethod(self->server, "addStream", "O", self->stream); Stream_setStreamActive(self->stream, 1); Py_INCREF(Py_None); return Py_None; }
static PyObject * Sig_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { int i; Sig *self; self = (Sig *)type->tp_alloc(type, 0); self->value = PyFloat_FromDouble(0.0); self->modebuffer[0] = 0; self->modebuffer[1] = 0; self->modebuffer[2] = 0; INIT_OBJECT_COMMON Stream_setFunctionPtr(self->stream, Sig_compute_next_data_frame); self->mode_func_ptr = Sig_setProcMode; return (PyObject *)self; }
static PyObject * MatrixRec_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { int i; MatrixRec *self; self = (MatrixRec *)type->tp_alloc(type, 0); self->pointer = 0; self->active = 1; self->fadetime = 0.; self->delay = self->delayCount = 0; INIT_OBJECT_COMMON Stream_setFunctionPtr(self->stream, MatrixRec_compute_next_data_frame); Stream_setStreamActive(self->stream, 0); return (PyObject *)self; }
static PyObject * BandSplit_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { int i; PyObject *maintmp=NULL, *multmp=NULL, *addtmp=NULL; BandSplit *self; self = (BandSplit *)type->tp_alloc(type, 0); self->chnl = 0; self->modebuffer[0] = 0; self->modebuffer[1] = 0; INIT_OBJECT_COMMON Stream_setFunctionPtr(self->stream, BandSplit_compute_next_data_frame); self->mode_func_ptr = BandSplit_setProcMode; static char *kwlist[] = {"mainSplitter", "chnl", "mul", "add", NULL}; if (! PyArg_ParseTupleAndKeywords(args, kwds, "O|iOO", kwlist, &maintmp, &self->chnl, &multmp, &addtmp)) Py_RETURN_NONE; Py_XDECREF(self->mainSplitter); Py_INCREF(maintmp); self->mainSplitter = (BandSplitter *)maintmp; if (multmp) { PyObject_CallMethod((PyObject *)self, "setMul", "O", multmp); } if (addtmp) { PyObject_CallMethod((PyObject *)self, "setAdd", "O", addtmp); } PyObject_CallMethod(self->server, "addStream", "O", self->stream); (*self->mode_func_ptr)(self); return (PyObject *)self; }
static PyObject * OscBank_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { int i; OscBank *self; self = (OscBank *)type->tp_alloc(type, 0); self->freq = PyFloat_FromDouble(100.0); self->spread = PyFloat_FromDouble(1.0); self->slope = PyFloat_FromDouble(0.9); self->frndf = PyFloat_FromDouble(1.0); self->frnda = PyFloat_FromDouble(0.0); self->arndf = PyFloat_FromDouble(1.0); self->arnda = PyFloat_FromDouble(0.0); self->stages = 24; self->fjit = 0; self->lastFreq = self->lastSpread = -1.0; self->lastFjit = -1; self->ftime = 1.0; self->finc = 0.0; self->atime = 1.0; self->ainc = 0.0; self->modebuffer[0] = 0; self->modebuffer[1] = 0; self->modebuffer[2] = 0; self->modebuffer[3] = 0; self->modebuffer[4] = 0; self->modebuffer[5] = 0; self->modebuffer[6] = 0; self->modebuffer[7] = 0; self->modebuffer[8] = 0; INIT_OBJECT_COMMON Stream_setFunctionPtr(self->stream, OscBank_compute_next_data_frame); self->mode_func_ptr = OscBank_setProcMode; return (PyObject *)self; }
static PyObject * Mix_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { int i; PyObject *inputtmp=NULL, *multmp=NULL, *addtmp=NULL; Mix *self; self = (Mix *)type->tp_alloc(type, 0); self->modebuffer[0] = 0; self->modebuffer[1] = 0; INIT_OBJECT_COMMON Stream_setFunctionPtr(self->stream, Mix_compute_next_data_frame); self->mode_func_ptr = Mix_setProcMode; static char *kwlist[] = {"input", "mul", "add", NULL}; if (! PyArg_ParseTupleAndKeywords(args, kwds, "O|OO", kwlist, &inputtmp, &multmp, &addtmp)) Py_RETURN_NONE; Py_INCREF(inputtmp); Py_XDECREF(self->input); self->input = inputtmp; if (multmp) { PyObject_CallMethod((PyObject *)self, "setMul", "O", multmp); } if (addtmp) { PyObject_CallMethod((PyObject *)self, "setAdd", "O", addtmp); } PyObject_CallMethod(self->server, "addStream", "O", self->stream); (*self->mode_func_ptr)(self); return (PyObject *)self; }
static PyObject * Harmonizer_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { int i; Harmonizer *self; self = (Harmonizer *)type->tp_alloc(type, 0); self->transpo = PyFloat_FromDouble(-7.0); self->feedback = PyFloat_FromDouble(0.0); self->winsize = 0.1; self->pointerPos = 1.0; self->in_count = 0; self->modebuffer[0] = 0; self->modebuffer[1] = 0; self->modebuffer[2] = 0; self->modebuffer[3] = 0; INIT_OBJECT_COMMON Stream_setFunctionPtr(self->stream, Harmonizer_compute_next_data_frame); self->mode_func_ptr = Harmonizer_setProcMode; return (PyObject *)self; }
static PyObject * LFO_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { int i; LFO *self; self = (LFO *)type->tp_alloc(type, 0); self->freq = PyFloat_FromDouble(100); self->sharp = PyFloat_FromDouble(0.5); self->wavetype = 0; self->pointerPos = 0.0; self->sahPointerPos = 0.0; self->modPointerPos = 0.0; self->modebuffer[0] = 0; self->modebuffer[1] = 0; self->modebuffer[2] = 0; self->modebuffer[3] = 0; INIT_OBJECT_COMMON Stream_setFunctionPtr(self->stream, LFO_compute_next_data_frame); self->mode_func_ptr = LFO_setProcMode; return (PyObject *)self; }
static PyObject * OscBank_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { int i; PyObject *tabletmp, *freqtmp=NULL, *spreadtmp=NULL, *slopetmp=NULL, *frndftmp=NULL, *frndatmp=NULL, *arndftmp=NULL, *arndatmp=NULL, *multmp=NULL, *addtmp=NULL; OscBank *self; self = (OscBank *)type->tp_alloc(type, 0); self->freq = PyFloat_FromDouble(100.0); self->spread = PyFloat_FromDouble(1.0); self->slope = PyFloat_FromDouble(0.9); self->frndf = PyFloat_FromDouble(1.0); self->frnda = PyFloat_FromDouble(0.0); self->arndf = PyFloat_FromDouble(1.0); self->arnda = PyFloat_FromDouble(0.0); self->stages = 24; self->fjit = 0; self->lastFreq = self->lastSpread = -1.0; self->lastFjit = -1; self->ftime = 1.0; self->finc = 0.0; self->atime = 1.0; self->ainc = 0.0; self->modebuffer[0] = 0; self->modebuffer[1] = 0; self->modebuffer[2] = 0; self->modebuffer[3] = 0; self->modebuffer[4] = 0; self->modebuffer[5] = 0; self->modebuffer[6] = 0; self->modebuffer[7] = 0; self->modebuffer[8] = 0; INIT_OBJECT_COMMON Stream_setFunctionPtr(self->stream, OscBank_compute_next_data_frame); self->mode_func_ptr = OscBank_setProcMode; static char *kwlist[] = {"table", "freq", "spread", "slope", "frndf", "frnda", "arndf", "arnda", "num", "fjit", "mul", "add", NULL}; if (! PyArg_ParseTupleAndKeywords(args, kwds, "O|OOOOOOOiiOO", kwlist, &tabletmp, &freqtmp, &spreadtmp, &slopetmp, &frndftmp, &frndatmp, &arndftmp, &arndatmp, &self->stages, &self->fjit, &multmp, &addtmp)) Py_RETURN_NONE; if ( PyObject_HasAttrString((PyObject *)tabletmp, "getTableStream") == 0 ) { PyErr_SetString(PyExc_TypeError, "\"table\" argument of OscBank must be a PyoTableObject.\n"); Py_RETURN_NONE; } Py_XDECREF(self->table); self->table = PyObject_CallMethod((PyObject *)tabletmp, "getTableStream", ""); if (freqtmp) { PyObject_CallMethod((PyObject *)self, "setFreq", "O", freqtmp); } if (spreadtmp) { PyObject_CallMethod((PyObject *)self, "setSpread", "O", spreadtmp); } if (slopetmp) { PyObject_CallMethod((PyObject *)self, "setSlope", "O", slopetmp); } if (frndftmp) { PyObject_CallMethod((PyObject *)self, "setFrndf", "O", frndftmp); } if (frndatmp) { PyObject_CallMethod((PyObject *)self, "setFrnda", "O", frndatmp); } if (arndftmp) { PyObject_CallMethod((PyObject *)self, "setArndf", "O", arndftmp); } if (arndatmp) { PyObject_CallMethod((PyObject *)self, "setArnda", "O", arndatmp); } if (multmp) { PyObject_CallMethod((PyObject *)self, "setMul", "O", multmp); } if (addtmp) { PyObject_CallMethod((PyObject *)self, "setAdd", "O", addtmp); } PyObject_CallMethod(self->server, "addStream", "O", self->stream); (*self->mode_func_ptr)(self); self->pointerPos = (MYFLT *)realloc(self->pointerPos, self->stages * sizeof(MYFLT)); self->frequencies = (MYFLT *)realloc(self->frequencies, self->stages * sizeof(MYFLT)); self->fOldValues = (MYFLT *)realloc(self->fOldValues, self->stages * sizeof(MYFLT)); self->fValues = (MYFLT *)realloc(self->fValues, self->stages * sizeof(MYFLT)); self->fDiffs = (MYFLT *)realloc(self->fDiffs, self->stages * sizeof(MYFLT)); self->aOldValues = (MYFLT *)realloc(self->aOldValues, self->stages * sizeof(MYFLT)); self->aValues = (MYFLT *)realloc(self->aValues, self->stages * sizeof(MYFLT)); self->aDiffs = (MYFLT *)realloc(self->aDiffs, self->stages * sizeof(MYFLT)); for (i=0; i<self->stages; i++) { self->pointerPos[i] = self->frequencies[i] = self->fOldValues[i] = self->fValues[i] = self->fDiffs[i] = self->aOldValues[i] = self->aValues[i] = self->aDiffs[i] = 0.0; } self->amplitude = 1. / self->stages; Server_generateSeed((Server *)self->server, OSCBANK_ID); return (PyObject *)self; }