AmbisonicsDecoder::AmbisonicsDecoder(long anOrder, long aNumberOfLoudspeakers, long aVectorSize) : Ambisonic(anOrder, aVectorSize) { cicm_malloc_vec_f(m_vector_float_input, m_number_of_harmonics); cicm_malloc_vec_d(m_vector_double_input, m_number_of_harmonics); m_decoder_matrix_float = NULL; m_decoder_matrix_double = NULL; m_vector_float_output = NULL; m_vector_double_output = NULL; m_number_of_loudspeakers = 0; setNumberOfLoudspeakers(aNumberOfLoudspeakers); }
AmbisonicsMeter::AmbisonicsMeter(long aNumberOfChannels, long aVectorSize, double aSamplingRate) : Planewaves(aNumberOfChannels, aVectorSize, aSamplingRate) { m_vectors = new AmbisonicVector(m_number_of_loudspeakers, aVectorSize); for(int i = 0; i < 4; i++) m_vector_coordinates_double[i] = m_vector_coordinates_float[i] = 0.; m_loudspeakers_amplitudes = NULL; m_loudspeakers_peaks = NULL; m_loudspeakers_energies = NULL; m_loudspeakers_angles_mapped = NULL; m_loudspeakers_angles_width = NULL; setNumberOfLoudspeakers(aNumberOfChannels); setVectorSize(aVectorSize); m_number_of_outputs = 0; }