sInst() { memset(m_handles,0,sizeof(m_handles)); memset(m_rw_strings,0,sizeof(m_rw_strings)); m_vm = NSEEL_VM_alloc(); if (!m_vm) fprintf(stderr,"NSEEL_VM_alloc(): failed\n"); NSEEL_VM_SetCustomFuncThis(m_vm,this); }
void texmgr::Init(LPDIRECT3DDEVICE9 lpDD) { m_lpDD = lpDD; for (int i=0; i<NUM_TEX; i++) { m_tex[i].pSurface = NULL; m_tex[i].szFileName[0] = 0; m_tex[i].m_codehandle = NULL; m_tex[i].m_szExpr[0] = 0; m_tex[i].tex_eel_ctx = NSEEL_VM_alloc(); } }
IPlugEEL::IPlugEEL(IPlugInstanceInfo instanceInfo) : IPLUG_CTOR(kNumParams, kNumPrograms, instanceInfo), mGain(1.) { TRACE; vm = NSEEL_VM_alloc(); // create virtual machine mVmOutput = NSEEL_VM_regvar(vm, "x"); // register a variable into vm to get a value out memset(codetext, 0, 65536); strcpy(codetext, "x=rand(2)-1.;"); codehandle = NSEEL_code_compile(vm, codetext, 0); // compile code //arguments are: name, defaultVal, minVal, maxVal, step, label GetParam(kGain)->InitDouble("Gain", 50., 0., 100.0, 0.01, "%"); GetParam(kGain)->SetShape(2.); IGraphics* pGraphics = MakeGraphics(this, kWidth, kHeight); pGraphics->AttachPanelBackground(&COLOR_RED); IBitmap knob = pGraphics->LoadIBitmap(KNOB_ID, KNOB_FN, kKnobFrames); pGraphics->AttachControl(new IKnobMultiControl(this, kGainX, kGainY, kGain, &knob)); IRECT textRect(5, 70, kWidth-5, kHeight-5); IText textProps(15, &COLOR_BLACK, "Arial", IText::kStyleNormal, IText::kAlignNear, 0, IText::kQualityDefault); mTextControl = new AlgDisplay(this, textRect, &textProps, codetext); pGraphics->AttachControl(mTextControl); AttachGraphics(pGraphics); //MakePreset("preset 1", ... ); MakeDefaultPreset((char *) "-", kNumPrograms); }