//------------------------------------------------------------------------ tresult PLUGIN_API AGain::initialize (FUnknown* context) { //---always initialize the parent------- tresult result = AudioEffect::initialize (context); wp = 0; rp = 0; if(!server) { server = lo_server_thread_new("10001", lo_err_handler); //lo_method tmp = lo_server_thread_add_method(server,"/dummy",NULL,lo_method_handler,this); int res = lo_server_thread_start(server); } // if everything Ok, continue if (result != kResultOk) { return result; } //---create Audio In/Out busses------ // we want a stereo Input and a Stereo Output addAudioInput (STR16 ("Stereo In"), SpeakerArr::kStereo); addAudioOutput (STR16 ("Stereo Out"), SpeakerArr::kStereo); //---create Event In/Out busses (1 bus with only 1 channel)------ addEventInput (STR16 ("Event In"), 1); return kResultOk; }
Steinberg::tresult PLUGIN_API PluginEffect::initialize(Steinberg::FUnknown *pContext) { Steinberg::tresult res = Steinberg::Vst::AudioEffect::initialize(pContext); if (res == Steinberg::kResultOk) { addEventInput(STR16("MIDI in"), 1); addAudioOutput(STR16("Stereo Out"), Steinberg::Vst::SpeakerArr::kStereo); } return res; }
//------------------------------------------------------------------------ tresult PLUGIN_API Plug::initialize (FUnknown* context) { //---always initialize the parent------- tresult result = AudioEffect::initialize (context); // if everything Ok, continue if (result != kResultOk) { return result; } //---create Audio In/Out buses------ // we want a stereo Input and a Stereo Output addEventInput (STR16 ("Event In"), 1); addAudioOutput (STR16 ("Stereo Out"), SpeakerArr::kStereo); return kResultOk; }
//------------------------------------------------------------------------ tresult PLUGIN_API AGainSimple::initialize (FUnknown* context) { tresult result = SingleComponentEffect::initialize (context); if (result != kResultOk) return result; //---create Audio In/Out buses------ // we want a stereo Input and a Stereo Output addAudioInput (USTRING ("Stereo In"), SpeakerArr::kStereo); addAudioOutput (USTRING ("Stereo Out"), SpeakerArr::kStereo); //---create MIDI In/Out buses (1 bus with only 1 channel)------ addEventInput (USTRING ("MIDI In"), 1); //---Create Parameters------------ //---Gain parameter-- GainParameter* gainParam = new GainParameter (ParameterInfo::kCanAutomate, kGainId); parameters.addParameter (gainParam); //---VuMeter parameter--- int32 stepCount = 0; ParamValue defaultVal = 0; int32 flags = ParameterInfo::kIsReadOnly; int32 tag = kVuPPMId; parameters.addParameter (USTRING ("VuPPM"), 0, stepCount, defaultVal, flags, tag); //---Bypass parameter--- stepCount = 1; defaultVal = 0; flags = ParameterInfo::kCanAutomate|ParameterInfo::kIsBypass; tag = kBypassId; parameters.addParameter (USTRING ("Bypass"), 0, stepCount, defaultVal, flags, tag); //---Custom state init------------ UString str (defaultMessageText, 128); str.fromAscii ("Hello World!"); return result; }
tresult PLUGIN_API IPlugVST3Plugin::initialize (FUnknown* context) { TRACE; tresult result = SingleComponentEffect::initialize(context); String128 tmpStringBuf; char hostNameCString[128]; FUnknownPtr<IHostApplication>app(context); if (app) { app->getName(tmpStringBuf); Steinberg::UString(tmpStringBuf, 128).toAscii(hostNameCString, 128); SetHost(hostNameCString, 0); // Can't get version in VST3 } if (result == kResultOk) { int maxInputs = getSpeakerArrForChans(NInChannels()-mScChans); if(maxInputs < 0) maxInputs = 0; // add io buses with the maximum i/o to start with if (maxInputs) { Steinberg::UString(tmpStringBuf, 128).fromAscii(GetInputBusLabel(0)->Get(), 128); addAudioInput(tmpStringBuf, maxInputs); } if(!mIsInst) // if effect, just add one output bus with max chan count { Steinberg::UString(tmpStringBuf, 128).fromAscii(GetOutputBusLabel(0)->Get(), 128); addAudioOutput(tmpStringBuf, getSpeakerArrForChans(NOutChannels()) ); } else { for (int i = 0, busIdx = 0; i < NOutChannels(); i+=2, busIdx++) { Steinberg::UString(tmpStringBuf, 128).fromAscii(GetOutputBusLabel(busIdx)->Get(), 128); addAudioOutput(tmpStringBuf, SpeakerArr::kStereo ); } } if (mScChans) { if (mScChans > 2) mScChans = 2; Steinberg::UString(tmpStringBuf, 128).fromAscii(GetInputBusLabel(1)->Get(), 128); addAudioInput(tmpStringBuf, getSpeakerArrForChans(mScChans), kAux, 0); } if(DoesMIDI()) { addEventInput (STR16("MIDI Input"), 1); //addEventOutput(STR16("MIDI Output"), 1); } if (NPresets()) { parameters.addParameter(new Parameter(STR16("Preset"), kPresetParam, STR16(""), 0, NPresets(), ParameterInfo::kIsProgramChange)); } if(!mIsInst) { StringListParameter * bypass = new StringListParameter(STR16("Bypass"), kBypassParam, 0, ParameterInfo::kCanAutomate | ParameterInfo::kIsBypass | ParameterInfo::kIsList); bypass->appendString(STR16("off")); bypass->appendString(STR16("on")); parameters.addParameter(bypass); } for (int i=0; i<NParams(); i++) { IParam *p = GetParam(i); int32 flags = 0; UnitID unitID = kRootUnitId; const char* paramGroupName = p->GetParamGroupForHost(); if (CSTR_NOT_EMPTY(paramGroupName)) { for(int j = 0; j < mParamGroups.GetSize(); j++) { if(strcmp(paramGroupName, mParamGroups.Get(j)) == 0) { unitID = j+1; } } if (unitID == kRootUnitId) // new unit, nothing found, so add it { mParamGroups.Add(paramGroupName); unitID = mParamGroups.GetSize(); } } if (p->GetCanAutomate()) { flags |= ParameterInfo::kCanAutomate; } switch (p->Type()) { case IParam::kTypeDouble: case IParam::kTypeInt: { Parameter* param = new RangeParameter( STR16(p->GetNameForHost()), i, STR16(p->GetLabelForHost()), p->GetMin(), p->GetMax(), p->GetDefault(), 0, // continuous flags, unitID); param->setPrecision (p->GetPrecision()); parameters.addParameter(param); break; } case IParam::kTypeEnum: case IParam::kTypeBool: { StringListParameter* param = new StringListParameter (STR16(p->GetNameForHost()), i, STR16(p->GetLabelForHost()), flags | ParameterInfo::kIsList, unitID); int nDisplayTexts = p->GetNDisplayTexts(); assert(nDisplayTexts); for (int j=0; j<nDisplayTexts; j++) { param->appendString(STR16(p->GetDisplayText(j))); } parameters.addParameter(param); break; } default: break; } } } OnHostIdentified(); RestorePreset(0); return result; }
tresult PLUGIN_API IPlugVST3::initialize (FUnknown* context) { TRACE; tresult result = SingleComponentEffect::initialize (context); if (result == kResultOk) { addAudioInput (STR16("Audio Input"), getSpeakerArrForChans(NInChannels()) ); addAudioOutput (STR16("Audio Output"), getSpeakerArrForChans(NOutChannels()) ); if (mScChans == 1) addAudioInput(STR16("Sidechain Input"), SpeakerArr::kMono, kAux, 0); else if (mScChans >= 2) { mScChans = 2; addAudioInput(STR16("Sidechain Input"), SpeakerArr::kStereo, kAux, 0); } if(mDoesMidi) { addEventInput (STR16("MIDI In"), 1); addEventOutput(STR16("MIDI Out"), 1); } for (int i=0;i<NParams();i++) { IParam *p = GetParam(i); int32 flags = 0; if (p->GetCanAutomate()) { flags |= ParameterInfo::kCanAutomate; } switch (p->Type()) { case IParam::kTypeDouble: case IParam::kTypeInt: { Parameter* param = new RangeParameter ( STR16(p->GetNameForHost()), i, STR16(p->GetLabelForHost()), p->GetMin(), p->GetMax(), p->GetDefault(), p->GetStep(), flags); param->setPrecision (p->GetPrecision()); parameters.addParameter (param); break; } case IParam::kTypeEnum: case IParam::kTypeBool: { StringListParameter* param = new StringListParameter (STR16(p->GetNameForHost()), i, STR16(p->GetLabelForHost()), flags | ParameterInfo::kIsList); int nDisplayTexts = p->GetNDisplayTexts(); assert(nDisplayTexts); for (int j=0; j<nDisplayTexts; j++) { param->appendString(STR16(p->GetDisplayText(j))); } parameters.addParameter (param); break; } default: break; } } } return result; }