Exemple #1
0
//-----------------------------------------------------------------------------------------
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;
	}
}
Exemple #2
0
//------------------------------------------------------------------------------
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;
	};
}
Exemple #3
0
//------------------------------------------------------------------------
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;
			}
		}
	}
}
Exemple #4
0
/*!
	\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;
		}
	}
}
Exemple #5
0
//-----------------------------------------------------------------------------------------
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);
}
Exemple #6
0
//------------------------------------------------------------------------------
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;
	};
}
Exemple #7
0
//------------------------------------------------------------------------
// 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);

}
Exemple #8
0
void
AmpI_vst::getParameterLabel (VstInt32 index, char* label)
{
	if(index < PORT_DIST_FSW)
		vst_strncpy (label, "%", kVstMaxParamStrLen);
	else
		vst_strncpy(label, "", kVstMaxParamStrLen);
}
Exemple #9
0
void
FIR_vst::getParameterLabel (VstInt32 index, char* label)
{
	if(index == PORT_VOL)
		vst_strncpy (label, "dB", kVstMaxParamStrLen);
	else
		vst_strncpy(label, "", kVstMaxParamStrLen);
}
Exemple #10
0
//-----------------------------------------------------------------------------------------
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;
  }
}
Exemple #11
0
//-----------------------------------------------------------------------------------------
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;
  }
}
Exemple #12
0
//-----------------------------------------------------------------------------------------
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;
	}
}
Exemple #14
0
//-----------------------------------------------------------------------------------------
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;
	}
}
Exemple #15
0
	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;
	} 
Exemple #16
0
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;
	}
	
	
}
Exemple #18
0
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;
	}

}
Exemple #19
0
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;
	}
}
Exemple #20
0
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;
	}
}
Exemple #21
0
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;
	}
}
Exemple #22
0
//-----------------------------------------------------------------------------------------
bool MidiBlackKeyFilter::getProgramNameIndexed (VstInt32 category, VstInt32 index, char* text) {
	if (index < numPrograms) {
		vst_strncpy (text, programs[index].name, kVstMaxProgNameLen);
		return true;
	}
	return false;
}
Exemple #23
0
/*!
	\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);
}
Exemple #24
0
//------------------------------------------------------------------------
// 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;
}
Exemple #25
0
//------------------------------------------------------------------------
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
}
Exemple #27
0
	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();
	}
Exemple #28
0
//-----------------------------------------------------------------------------------------
bool MidiProbability::getProgramNameIndexed (VstInt32 category, VstInt32 index, char* text) {
    if (index < kNumPrograms) {
        vst_strncpy (text, programs[index].name, kVstMaxProgNameLen);
        return true;
    }
    return false;
}
Exemple #29
0
//-----------------------------------------------------------------------------
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();
}
Exemple #30
0
//-----------------------------------------------------------------------------------------
bool ForceToRange::getProgramNameIndexed (VstInt32 category, VstInt32 index, char* text) {
	if (index < numPrograms) {
		vst_strncpy (text, programs[index].name, kVstMaxProgNameLen);
		return true;
	}
	return false;
}