Esempio n. 1
0
LinSin::LinSin(MappingBase_InputsWithTypesOnly) throw()
{
	UGen inputs[] = { MappingBase_InputsNoTypes };
	const int numInputChannels = findMaxInputChannels(numElementsInArray(inputs), inputs);
	initInternal(numInputChannels);
	
	bool hasScalarRanges =	inLow.isScalar() && 
							inHigh.isScalar() && 
							outLow.isScalar() && 
							outHigh.isScalar();
	
	if(hasScalarRanges == true)
	{
		for(unsigned int i = 0; i < numInternalUGens; i++)
		{
			internalUGens[i] = new LinSinScalarUGenInternal(MappingBase_InputsNoTypes);
			internalUGens[i]->initValue(ugen::linsin(input.getValue(i),
													 inLow.getValue(i), inHigh.getValue(i),
													 outLow.getValue(i), outHigh.getValue(i)));			
		}		
	}
	else
	{
		for(unsigned int i = 0; i < numInternalUGens; i++)
		{
			internalUGens[i] = new LinSinSignalUGenInternal(MappingBase_InputsNoTypes);
			internalUGens[i]->initValue(ugen::linsin(input.getValue(i),
													 inLow.getValue(i), inHigh.getValue(i),
													 outLow.getValue(i), outHigh.getValue(i)));
			
		}
	}
}
Esempio n. 2
0
Impulse::Impulse(Impulse_InputsWithTypesOnly) throw()
{	
	UGen inputs[] = { Impulse_InputsNoTypes };
	const int numInputChannels = findMaxInputChannels(numElementsInArray(inputs), inputs);
	initInternal(numInputChannels);
	for(unsigned int i = 0; i < numInternalUGens; i++)
	{
		internalUGens[i] = new ImpulseUGenInternal(Impulse_InputsNoTypes);
	}
}
Esempio n. 3
0
Pause::Pause(Pause_InputsWithTypesOnly) throw()
{
	UGen inputs[] = { Pause_InputsNoTypes };
	const int numInputChannels = findMaxInputChannels(numElementsInArray(inputs), inputs);
	initInternal(numInputChannels);
	for(unsigned int i = 0; i < numInternalUGens; i++)
	{
		internalUGens[i] = new PauseUGenInternal(Pause_InputsNoTypes);
		internalUGens[i]->initValue(input.getValue(i) * level.getValue(i));
	}
}
Esempio n. 4
0
Schmidt::Schmidt(UGen const& input, UGen const& lo, UGen const& hi) throw()
{	
	UGen inputs[] = { input, lo, hi };
	const int numInputChannels = findMaxInputChannels(numElementsInArray(inputs), inputs);
	initInternal(numInputChannels);	
	
	for(unsigned int i = 0; i < numInternalUGens; i++)
	{
		internalUGens[i] = new SchmidtUGenInternal(input, lo, hi);
	}
}
Esempio n. 5
0
LagUD::LagUD(UGen const& input, UGen const& lagTimeUp, UGen const& lagTimeDown) throw()
{
	UGen inputs[] = { input, lagTimeUp, lagTimeDown };
	const int numInputChannels = findMaxInputChannels(numElementsInArray(inputs), inputs);		
	initInternal(numInputChannels);
	
	for(unsigned int i = 0; i < numInternalUGens; i++)
	{
		internalUGens[i] = new LagUDUGenInternal(input, lagTimeUp, lagTimeDown);
		internalUGens[i]->initValue(input.getValue(i));
	}
}
Esempio n. 6
0
MulAdd::MulAdd(UGen const& input, UGen const& mul, UGen const& add) throw()
{	
	UGen inputs[] = { input, mul, add };
	const int numInputChannels = findMaxInputChannels(numElementsInArray(inputs), inputs);
	
	ugen_assert(numInputChannels > 0);
	
	initInternal(numInputChannels);
	for(unsigned int i = 0; i < numInternalUGens; i++)
	{
		internalUGens[i] = new MulAddUGenInternal(input, mul, add);
		internalUGens[i]->initValue(input.getValue(i) * mul.getValue(i) + add.getValue(i));
	}
}
Esempio n. 7
0
BAllPass::BAllPass(UGen const& input, UGen const& freq, UGen const& rq) throw()
{
	UGen inputs[] = { input, freq, rq };
	const int numInputChannels = findMaxInputChannels(numElementsInArray(inputs), inputs);
	initInternal(numInputChannels);
	
	for(unsigned int i = 0; i < numInternalUGens; i++)
	{
		BEQBaseUGenInternal* filter = new BAllPassUGenInternal(input, freq, rq);
		filter->calculateCoeffs(freq.getValue(i), rq.getValue(i), 1.f);
		filter->initValue(input.getValue(i));
		internalUGens[i] = filter;
	}
}
Esempio n. 8
0
BHiShelf::BHiShelf(UGen const& input, UGen const& freq, UGen const& rs, UGen const& gain) throw()
{
	UGen inputs[] = { input, freq, rs, gain };
	const int numInputChannels = findMaxInputChannels(numElementsInArray(inputs), inputs);	
	initInternal(numInputChannels);
	
	for(unsigned int i = 0; i < numInternalUGens; i++)
	{
		BEQBaseUGenInternal* filter = new BHiShelfUGenInternal(input, freq, rs, gain);
		filter->calculateCoeffs(freq.getValue(i), rs.getValue(i), gain.getValue(i));
		filter->initValue(input.getValue(i) * gain.getValue(i));
		internalUGens[i] = filter;
	}
}
Esempio n. 9
0
SAH::SAH(UGen const& input, UGen const& trig) throw()
{
	UGen inputs[] = { input, trig };
	const int numInputChannels = findMaxInputChannels(numElementsInArray(inputs), inputs);
	initInternal(numInputChannels);
	
	for(unsigned int i = 0; i < numInternalUGens; i++)
	{
		internalUGens[i] = new SAHUGenInternal(input, trig);
		if(trig.getValue(i) <= 0.f)
			internalUGens[i]->initValue(0.f);
		else
			internalUGens[i]->initValue(input.getValue(i));		
	}
}
Esempio n. 10
0
Map::Map(MapTableBase_InputsWithTypesAndDefaults) throw()
{
	UGen inputs[] = { input, inLow, inHigh };
	int numInputChannels = findMaxInputChannels(numElementsInArray(inputs), inputs);
	if(table.getNumChannels() > numInputChannels)
		numInputChannels = table.getNumChannels();
	
	initInternal(numInputChannels);

	bool hasScalarRanges =	inLow.isScalar() && inHigh.isScalar();
	
	if(hasScalarRanges == true)
	{
		for(unsigned int i = 0; i < numInternalUGens; i++)
		{
			internalUGens[i] = new MapTableScalarUGenInternal(MapTableBase_InputsNoTypes);
			
			float inLowValue	= inLow.getValue(i);
			float inRange		= inHigh.getValue(i) - inLowValue;
			float tableIndex	= (input.getValue(i) - inLowValue) * table.size() / inRange;
			
			internalUGens[i]->initValue(table.getSampleUnchecked(i, tableIndex));
		}		
	}
	else
	{
		for(unsigned int i = 0; i < numInternalUGens; i++)
		{
			internalUGens[i] = new MapTableSignalUGenInternal(MapTableBase_InputsNoTypes);
			
			float inLowValue	= inLow.getValue(i);
			float inRange		= inHigh.getValue(i) - inLowValue;
			float tableIndex	= (input.getValue(i) - inLowValue) * table.size() / inRange;
			
			internalUGens[i]->initValue(table.getSampleUnchecked(i, tableIndex));
		}
	}
}