예제 #1
0
파일: Echo.cpp 프로젝트: kode54/Cog
void Echo::Resume()
{
	m_isResumed = true;
	m_sampleRate = m_SndFile.GetSampleRate();
	RecalculateEchoParams();
	PositionChanged();
}
예제 #2
0
파일: Echo.cpp 프로젝트: kode54/Cog
void Echo::SetParameter(PlugParamIndex index, PlugParamValue value)
{
	if(index < kEchoNumParameters)
	{
		Limit(value, 0.0f, 1.0f);
		if(index == kEchoPanDelay)
			value = Util::Round(value);
		m_param[index] = value;
		RecalculateEchoParams();
	}
}
예제 #3
0
void Echo::Resume()
//-----------------
{
	m_isResumed = true;
	m_sampleRate = m_SndFile.GetSampleRate();
	m_bufferSize = m_sampleRate * 2u;
	RecalculateEchoParams();
	try
	{
		m_delayLine.assign(m_bufferSize * 2, 0);
	} catch(MPTMemoryException)
	{
		m_bufferSize = 0;
	}
	m_writePos = 0;
}
예제 #4
0
파일: Echo.cpp 프로젝트: Sappharad/modizer
void Echo::Resume()
//-----------------
{
	m_isResumed = true;
	m_sampleRate = m_SndFile.GetSampleRate();
	m_bufferSize = m_sampleRate * 2u;
	RecalculateEchoParams();
	try
	{
		m_delayLine.assign(m_bufferSize * 2, 0);
	} MPT_EXCEPTION_CATCH_OUT_OF_MEMORY(e)
	{
		MPT_EXCEPTION_DELETE_OUT_OF_MEMORY(e);
		m_bufferSize = 0;
	}
	m_writePos = 0;
}