コード例 #1
0
ファイル: channel.cpp プロジェクト: ChakaZulu/tuxbox_apps
unsigned short CZapitChannel::getAudioPid(unsigned char index)
{
	unsigned short retval = 0;

	if ((index == 0xFF) && (currentAudioChannel < getAudioChannelCount()))
		retval = audioChannels[currentAudioChannel]->pid;
	else if (index < getAudioChannelCount())
		retval = audioChannels[index]->pid;

	return retval;
}
コード例 #2
0
ファイル: channel.cpp プロジェクト: ChakaZulu/tuxbox_apps
CZapitAudioChannel *CZapitChannel::getAudioChannel(unsigned char index)
{
	CZapitAudioChannel *retval = NULL;

	if ((index == 0xFF) && (currentAudioChannel < getAudioChannelCount()))
		retval = audioChannels[currentAudioChannel];
	else if (index < getAudioChannelCount())
		retval = audioChannels[index];

	return retval;
}
コード例 #3
0
ファイル: BitCrush.cpp プロジェクト: EQ4/minim-cpp
void Minim::BitCrush::channelCountChanged() 
{
    if ( sampledFrame )
    {
        delete [] sampledFrame;
    }
    
    sampledFrame = new float[getAudioChannelCount()];
    UGen::fill(sampledFrame, 0, getAudioChannelCount());
    sampleCounter = 0;
}
コード例 #4
0
ファイル: Delay.cpp プロジェクト: EQ4/minim-cpp
void Minim::Delay::bufferSizeChanged()
{
	const int oldBufferSize = bufferSize;
	const int newBufferSize = (int)( delayTime*sampleRate()*getAudioChannelCount() );
	if ( oldBufferSize != newBufferSize && newBufferSize > 0 )
	{
		if ( newBufferSize < oldBufferSize )
		{
			std::fill( delayBuffer + newBufferSize, delayBuffer + oldBufferSize, 0.0f );
		}
		bufferSize = newBufferSize;
		iBufferOut = ( iBufferIn + getAudioChannelCount() ) % bufferSize;
	}
}
コード例 #5
0
ファイル: MoogFilter.cpp プロジェクト: EQ4/minim-cpp
void Minim::MoogFilter::channelCountChanged()
{
	const int channelCount = getAudioChannelCount();
	//printf("MoogFilter channel count is %d.\n", channelCount);
	if ( coeff && coeffLength != channelCount )
	{
		for( int i = 0; i < coeffLength; ++i )
		{
			delete[] coeff[i];
		}
		
		delete[] coeff;
		coeff = NULL;
	}
	
	if ( coeff == NULL )
	{
		coeff = new float*[channelCount];
		for( int i = 0; i < channelCount; ++i )
		{
			coeff[i] = new float[5];
			memset(coeff[i], 0, sizeof(float)*5);
		}
		coeffLength = channelCount;
	}
}
コード例 #6
0
ファイル: Delay.cpp プロジェクト: EQ4/minim-cpp
void Minim::Delay::sampleRateChanged()
{
	if ( delayBuffer )
	{
		delete[] delayBuffer;
        delayBuffer = NULL;
	}
	
	if ( getAudioChannelCount() > 0 )
	{
		maxBufferSize = (int)( maxDelayTime*sampleRate()*getAudioChannelCount() );
		delayBuffer = new float[maxBufferSize];
		memset(delayBuffer, 0, sizeof(float)*maxBufferSize);
		bufferSizeChanged();
	}
}