//----------------------------------------------------------------------------------------- void VstXSynth::getParameterDisplay (VstInt32 index, char* text) { text[0] = 0; VstXSynthProgram &prog = programs[curProgram]; switch (index) { case kWaveform1: if (prog.fWaveform1 < .5) vst_strncpy (text, "Sawtooth", kVstMaxParamStrLen); else vst_strncpy (text, "Pulse", kVstMaxParamStrLen); break; case kFreq1: float2string (prog.fFreq1, text, kVstMaxParamStrLen); break; case kVolume1: float2string (prog.fVolume1, text, kVstMaxParamStrLen); break; case kWaveform2: float2string (prog.fWaveform2, text, kVstMaxParamStrLen); break; case kFreq2: float2string (prog.fFreq2, text, kVstMaxParamStrLen); break; case kVolume2: float2string (prog.fVolume2, text, kVstMaxParamStrLen); break; case kVolume: float2string (prog.fVolume, text, kVstMaxParamStrLen); break; case kVowel: float2string (prog.fVowel, text, kVstMaxParamStrLen); break; case kEnvA: float2string (prog.fEnvA, text, kVstMaxParamStrLen); break; case kEnvB: float2string (prog.fEnvB, text, kVstMaxParamStrLen); break; case kEnvLen: float2string (prog.fEnvLen, text, kVstMaxParamStrLen); break; } }
//------------------------------------------------------------------------------ void WahWah::getParameterName(VstInt32 index, char *label) { // return knob name switch (index) { case kParamGain: // input filter gain, dB vst_strncpy(label, " Gain ", kVstMaxParamStrLen); break; case kParamFc: // input filter center frequency, Hz vst_strncpy(label, " Fc ", kVstMaxParamStrLen); break; case kParamQ: // input filter resonance, ratio vst_strncpy(label, " Q ", kVstMaxParamStrLen); break; case kParamRate: // input filter resonance, ratio vst_strncpy(label, " Rate ", kVstMaxParamStrLen); break; case kParamDepth: // input filter resonance, ratio vst_strncpy(label, " Depth ", kVstMaxParamStrLen); break; default : *label = '\0'; break; }; }
//------------------------------------------------------------------------ void VstXSynth::fillProgram (VstInt32 channel, VstInt32 prg, MidiProgramName* mpn) { mpn->midiBankMsb = -1; mpn->midiBankLsb = -1; mpn->reserved = 0; mpn->flags = 0; if (channel == 9) // drums { vst_strncpy (mpn->name, "Standard", 63); mpn->midiProgram = 0; mpn->parentCategoryIndex = 0; } else { vst_strncpy (mpn->name, GmNames[prg], 63); mpn->midiProgram = (char)prg; mpn->parentCategoryIndex = -1; // for now for (VstInt32 i = 0; i < kNumGmCategories; i++) { if (prg >= GmCategoriesFirstIndices[i] && prg < GmCategoriesFirstIndices[i + 1]) { mpn->parentCategoryIndex = i; break; } } } }
/*! \param value Value to convert \param text String up to length char \param maxLen Maximal length of the string */ void AudioEffect::int2string (VstInt32 value, char* text, VstInt32 maxLen) { if (value >= 100000000) { vst_strncpy (text, "Huge!", maxLen); return; } if (value < 0) { vst_strncpy (text, "-", maxLen); value = -value; } else vst_strncpy (text, "", maxLen); bool state = false; for (VstInt32 div = 100000000; div >= 1; div /= 10) { VstInt32 digit = value / div; value -= digit * div; if (state || digit > 0) { char temp[2] = {'0' + (char)digit, '\0'}; vst_strncat (text, temp, maxLen); state = true; } } }
//----------------------------------------------------------------------------------------- void Midi16CCRouter::getParameterName (VstInt32 index, char *label) { if (index==kChi) vst_strncpy(label, "Ch. In", kVstMaxParamStrLen); else if (index==kCho) vst_strncpy(label, "Ch. Out", kVstMaxParamStrLen); else if (index==kPC) sprintf(label, "PC Channel"); else if (index%2==0) sprintf(label, "CC In %d", index/2+1); else if (index%2==1) sprintf(label, "CC Out %d", index/2+1); }
//------------------------------------------------------------------------------ void WahWah::getParameterLabel(VstInt32 index, char *label) { switch (index) { case kParamGain: // input filter gain, dB vst_strncpy(label, " dB ", kVstMaxParamStrLen); break; case kParamFc: // input filter center frequency, Hz vst_strncpy(label, " Hz ", kVstMaxParamStrLen); break; case kParamQ: // input filter resonance, ratio vst_strncpy(label, " Q ", kVstMaxParamStrLen); break; case kParamRate: // input filter resonance, ratio vst_strncpy(label, " Hz ", kVstMaxParamStrLen); break; case kParamDepth: // input filter resonance, ratio vst_strncpy(label, " Ratio ", kVstMaxParamStrLen); break; default : *label = '\0'; break; }; }
//------------------------------------------------------------------------ // getProgramName() // called by client when filling the list of presets void CSoftExciter::getProgramName (char *name) { if(m_pRAFXPlugIn && kNumPrograms > 0) vst_strncpy(name, m_pRAFXPlugIn->m_PresetNames[curProgram], kVstMaxProgNameLen); else vst_strncpy(name, "Default", kVstMaxProgNameLen); }
void AmpI_vst::getParameterLabel (VstInt32 index, char* label) { if(index < PORT_DIST_FSW) vst_strncpy (label, "%", kVstMaxParamStrLen); else vst_strncpy(label, "", kVstMaxParamStrLen); }
void FIR_vst::getParameterLabel (VstInt32 index, char* label) { if(index == PORT_VOL) vst_strncpy (label, "dB", kVstMaxParamStrLen); else vst_strncpy(label, "", kVstMaxParamStrLen); }
//----------------------------------------------------------------------------------------- void FBdelay::getParameterName (VstInt32 index, char* label) { switch(index) { case 0: vst_strncpy (label, "Gain", kVstMaxParamStrLen); break; case 1: vst_strncpy (label, "Delay", kVstMaxParamStrLen); break; case 2: vst_strncpy (label, "Feedback", kVstMaxParamStrLen); break; } }
//----------------------------------------------------------------------------------------- void FBdelay::getParameterLabel (VstInt32 index, char* label) { switch(index) { case 0: vst_strncpy (label, "dB", kVstMaxParamStrLen); break; case 1: vst_strncpy (label, "ms", kVstMaxParamStrLen); break; case 2: vst_strncpy (label, "%", kVstMaxParamStrLen); break; } }
//----------------------------------------------------------------------------------------- void ForceToRange::getParameterName (VstInt32 index, char *label) { switch(index){ case kLowNote: vst_strncpy(label, "LowNote", kVstMaxParamStrLen); break; case kHighNote: vst_strncpy(label, "HighNote", kVstMaxParamStrLen); break; case kChannel: vst_strncpy(label, "Channel", kVstMaxParamStrLen); break; default: break; } }
void CCetoneLpFilter::Name(int type, char* text) { switch(type) { case FILTER_TYPE_BIQUAD: vst_strncpy (text, "Biquad", kVstMaxParamStrLen); break; case FILTER_TYPE_MOOG: vst_strncpy (text, "Moogle", kVstMaxParamStrLen); break; default: text[0] = 0; break; } }
//----------------------------------------------------------------------------------------- void MidiBlackKeyFilter::getParameterName (VstInt32 index, char *label) { switch(index) { case kInChannel: vst_strncpy(label, "InputCh", kVstMaxParamStrLen); break; case kWhiteChannel: vst_strncpy(label, "WhiteCh", kVstMaxParamStrLen); break; case kWhiteVelocity: vst_strncpy(label, "WhiteVel", kVstMaxParamStrLen); break; case kBlackChannel: vst_strncpy(label, "BlackCh", kVstMaxParamStrLen); break; case kBlackVelocity: vst_strncpy(label, "BlackVel", kVstMaxParamStrLen); break; default: sprintf(label, "param %d", index); break; } }
virtual bool getProgramNameIndexed (VstInt32 category, VstInt32 index, char* text) { if(index==0) { vst_strncpy(text, "zero", kVstMaxProgNameLen); return true; } else if(index==1) { vst_strncpy(text, "one", kVstMaxProgNameLen); return true; } else if(index==2) { vst_strncpy(text, "two", kVstMaxProgNameLen); return true; } return false; }
void SorolletVSTi::floatToNoiseMixTypeName(float value, char* text) { int wave = floatToWaveMixType(value); switch (wave) { case NOISE_ADD: vst_strncpy(text, "+", kVstMaxParamStrLen); break; case NOISE_MIX: vst_strncpy(text, "%", kVstMaxParamStrLen); break; case NOISE_MULTIPLY: vst_strncpy(text, "*", kVstMaxParamStrLen); break; } }
//----------------------------------------------------------------------------------------- void Voice2MidiPlugin::getParameterName (VstInt32 index, char* label) { switch(index) { case kKey: vst_strncpy (label, "Key", kVstMaxParamStrLen); break; case kScale: vst_strncpy (label, "Scale", kVstMaxParamStrLen); break; } }
void cParameter::getLabel(char* text) { vst_strncpy (text, "Label", kVstMaxParamStrLen); switch(type) { case kParamOscOctave: vst_strncpy (text, "Octave", kVstMaxParamStrLen);break; case kParamOscCoarse: vst_strncpy (text, "Semitone", kVstMaxParamStrLen);break; case kParamOscFine: vst_strncpy (text, "Cents", kVstMaxParamStrLen);break; case kParamOscPan: vst_strncpy (text, "%", kVstMaxParamStrLen);break; case kParamOscLevel: vst_strncpy (text, "%", kVstMaxParamStrLen);break; case kParamOscWaveform: vst_strncpy (text, "Shape", kVstMaxParamStrLen);break; case kParamOscSync: vst_strncpy (text, "", kVstMaxParamStrLen);break; case kParamEnvAttack: sprintf (text, "", compId);break; case kParamEnvDecay: sprintf (text, "", compId);break; case kParamEnvSustain: sprintf (text, "", compId);break; case kParamEnvTime: sprintf (text, "", compId);break; case kParamEnvRelease: sprintf (text, "", compId);break; case kParamMasterVolume: sprintf (text, "dB", compId);break; default: sprintf (text, "", type);break; } }
void SorolletVSTi::floatToWaveName(float value, char* text) { int wave = floatToWave(value); switch (wave) { case WAVE_SINE: vst_strncpy(text, "Sine", kVstMaxParamStrLen); break; case WAVE_TRIANGLE: vst_strncpy(text, "Triangle", kVstMaxParamStrLen); break; case WAVE_SQUARE: vst_strncpy(text, "Square", kVstMaxParamStrLen); break; case WAVE_SAWTOOTH: vst_strncpy(text, "Sawtooth", kVstMaxParamStrLen); break; } }
void SorolletVSTi::floatToWaveMixTypeName(float value, char* text) { int wave = floatToWaveMixType(value); switch (wave) { case WAVE_ADD: vst_strncpy(text, "+", kVstMaxParamStrLen); break; case WAVE_SUBSTRACT: vst_strncpy(text, "-", kVstMaxParamStrLen); break; case WAVE_MULTIPLY: vst_strncpy(text, "*", kVstMaxParamStrLen); break; case WAVE_DIVIDE: vst_strncpy(text, "/", kVstMaxParamStrLen); break; } }
void SorolletVSTi::floatToFilterTypeName(float value, char* text) { int type = floatToFilterType(value); switch (type) { case FILTER_LOW_PASS: vst_strncpy(text, "low", kVstMaxParamStrLen); break; case FILTER_HIGH_PASS: vst_strncpy(text, "high", kVstMaxParamStrLen); break; default: case FILTER_NONE: vst_strncpy(text, "none", kVstMaxParamStrLen); break; } }
//----------------------------------------------------------------------------------------- bool MidiBlackKeyFilter::getProgramNameIndexed (VstInt32 category, VstInt32 index, char* text) { if (index < numPrograms) { vst_strncpy (text, programs[index].name, kVstMaxProgNameLen); return true; } return false; }
/*! \param value Value to convert \param text String up to length char \param maxLen Maximal length of the string */ void AudioEffect::dB2string (float value, char* text, VstInt32 maxLen) { if (value <= 0) vst_strncpy (text, "-oo", maxLen); else float2string ((float)(20. * log10 (value)), text, maxLen); }
//------------------------------------------------------------------------ // getEffectName() // You can change this if you don't want to use the RackAFX Name // or want to have multiple plug-ins with different names bool CSoftExciter::getEffectName (char* name) { if(m_pRAFXPlugIn) vst_strncpy (name, m_pRAFXPlugIn->m_PlugInName, kVstMaxEffectNameLen); return true; }
//------------------------------------------------------------------------ VstInt32 VstXSynth::getMidiProgramCategory (VstInt32 channel, MidiProgramCategory* cat) { cat->parentCategoryIndex = -1; // -1:no parent category cat->flags = 0; // reserved, none defined yet, zero. VstInt32 category = cat->thisCategoryIndex; if (channel == 9) { vst_strncpy (cat->name, "Drums", 63); return 1; } if (category >= 0 && category < kNumGmCategories) vst_strncpy (cat->name, GmCategories[category], 63); else cat->name[0] = 0; return kNumGmCategories; }
//------------------------------------------------------------------------------------------------------- gsBEncoder::gsBEncoder (audioMasterCallback audioMaster) : AudioEffectX (audioMaster, 1, num_params()) // 1 program, N parameters , gen(0) , bufferSize(512) , sampleRate(44100) , blockSize(512) { inputBuffers.resize(num_inputs()); outputBuffers.resize(num_outputs()); for(int i=0; i < inputBuffers.size(); i++) { inputBuffers[i] = new t_sample[bufferSize]; } for(int i=0; i < outputBuffers.size(); i++) { outputBuffers[i] = new t_sample[bufferSize]; } gen = (CommonState *)create(sampleRate, blockSize); setNumInputs (num_inputs()); setNumOutputs (num_outputs()); setUniqueID ('GSE_I'); // identify canProcessReplacing (); // supports replacing output canDoubleReplacing (); // supports double precision processing vst_strncpy (programName, VST_NAME, kVstMaxProgNameLen); // default program name }
ofxVSTPlugin(audioMasterCallback audioMaster): AudioEffectX (audioMaster, 1, 1) { plugin = ofxAudioPlugin_getPlugin(this); #ifdef ofxAudioPlugin_IsSynth setNumInputs(0); isSynth(); #else setNumInputs (2); // stereo in #endif setNumOutputs (2); // stereo out setUniqueID (ofxAudioPlugin_PluginCode); // identify canProcessReplacing (); // supports replacing output fGain = 1.f; // default to 0 dB vst_strncpy (programName, "Default", kVstMaxProgNameLen); // default program name cEffect.numPrograms = 3; cEffect.numParams = plugin->getNumParameters(); cEffect.numParams = 1; parametersChanged(); }
//----------------------------------------------------------------------------------------- bool MidiProbability::getProgramNameIndexed (VstInt32 category, VstInt32 index, char* text) { if (index < kNumPrograms) { vst_strncpy (text, programs[index].name, kVstMaxProgNameLen); return true; } return false; }
//----------------------------------------------------------------------------- MidiProbability::MidiProbability(audioMasterCallback audioMaster) : PizMidi(audioMaster, kNumPrograms, kNumParams), programs(0) { programs = new MidiProbabilityProgram[numPrograms]; if (programs) { CFxBank* defaultBank = new CFxBank(kNumPrograms,kNumParams); if (readDefaultBank(PLUG_NAME,defaultBank)) { if((VstInt32)defaultBank->GetFxID()==PLUG_IDENT) { for(int i=0;i<kNumPrograms;i++){ for (int p=0;p<kNumParams;p++) { programs[i].param[p] = defaultBank->GetProgParm(i,p); } vst_strncpy(programs[i].name,defaultBank->GetProgramName(i),kVstMaxProgNameLen); } } } else { // built-in programs for(int i=0;i<kNumPrograms;i++){ sprintf(programs[i].name,"Program %d", i+1); } } setProgram (0); } init(); }
//----------------------------------------------------------------------------------------- bool ForceToRange::getProgramNameIndexed (VstInt32 category, VstInt32 index, char* text) { if (index < numPrograms) { vst_strncpy (text, programs[index].name, kVstMaxProgNameLen); return true; } return false; }