コード例 #1
0
ファイル: TTSvf.cpp プロジェクト: alexarje/JamomaDSP
TTErr TTSvf::setMode(const TTValue& newValue)
{
	TTSymbolPtr newMode = newValue;
	
	if (newMode == TT("lowpass")) {
		setProcessMethod(processLowpass);
		setCalculateMethod(calculateLowpass);
	}
	else if (newMode == TT("highpass")) {
		setProcessMethod(processHighpass);
		setCalculateMethod(calculateHighpass);
	}
else if (newMode == TT("bandpass")) {
		setProcessMethod(processBandpass);
		setCalculateMethod(calculateBandpass);
	}
else if (newMode == TT("notch")) {
		setProcessMethod(processNotch);
		setCalculateMethod(calculateNotch);
	}
else if (newMode == TT("peak")) {
		setProcessMethod(processPeak);
		setCalculateMethod(calculatePeak);
	}
	else {
		logError("bad mode specified for TTSvf: %s", newMode->getCString());
		return kTTErrInvalidValue;
	}
	
	mMode = newMode;
	return kTTErrNone;
}
コード例 #2
0
TTErr TTStaircase::setMode(const TTValue& newMode)
{
    mMode = newMode;
    if (mMode == TT("upsample"))
        setProcessMethod(processUpsample);
    else // mMode == TT("downsample")
        setProcessMethod(processDownsample);
    return kTTErrNone;
}
コード例 #3
0
TTErr TTLogFunction::setBase(const TTValue& newValue)
{
	mBase = newValue;
	k = 1. / log(mBase);
	l = mBase - 1.;
	if (mBase == 1) {
		setProcessMethod(processAudioBypass);
		setCalculateMethod(calculateValueBypass);
	}
	else{ 
		setProcessMethod(processAudio);
		setCalculateMethod(calculateValue);
	}
	return kTTErrNone;
}
コード例 #4
0
TTErr TTExpFunction::setBase(const TTValue& newValue)
{
	mBase = newValue;	
	k = log(mBase);
	if (mBase != 1.0){
		setProcessMethod(processAudio);
		setCalculateMethod(calculateValue);
	}
	else {
		setProcessMethod(processAudioBypass); // Avoid division by zero 
		setCalculateMethod(calculateValueBypass);
	}
		
	return kTTErrNone;
}