AmbisonicsProjector::AmbisonicsProjector(long anOrder, long aNumberOfChannels, long aVectorSize) : Ambisonics(anOrder, aVectorSize) { m_number_of_outputs = Tools::clip_min(aNumberOfChannels, m_number_of_harmonics); Cicm_Matrix_Float_Malloc(m_decoder_matrix_float, m_number_of_outputs, m_number_of_harmonics); Cicm_Matrix_Double_Malloc(m_decoder_matrix_double, m_number_of_outputs, m_number_of_harmonics); Cicm_Vector_Float_Malloc(m_vector_float_input, m_number_of_harmonics); Cicm_Vector_Float_Malloc(m_vector_float_output, m_number_of_outputs); Cicm_Vector_Double_Malloc(m_vector_double_input, m_number_of_harmonics); Cicm_Vector_Double_Malloc(m_vector_double_output, m_number_of_outputs); computeMatrix(); }
FilterFixedDelay::FilterFixedDelay(long aBufferSize) : Filter() { m_buffer_size_max = Tools::clip_min(aBufferSize, (long)1); Cicm_Vector_Double_Malloc(m_buffer, m_buffer_size_max); m_buffer_size = m_buffer_size_max; m_ramp = 0; }
void FilterFixedDelay::setBufferSizeMax(long aBufferSize) { Cicm_Free(m_buffer); m_buffer_size_max = Tools::clip_min(aBufferSize, (long)1); Cicm_Vector_Double_Malloc(m_buffer, m_buffer_size_max); m_buffer_size = m_buffer_size_max; m_ramp = 0; }