void FMODDistanceFilterState::init(FMOD_DSP_STATE *dsp_state) { FMOD_DSP_STATE_GETSAMPLERATE(dsp_state, &m_sample_rate); m_max_channels = 8; m_max_distance = FMOD_DISTANCE_FILTER_PARAM_MAX_DISTANCE_DEFAULT; m_bandpass_frequency = FMOD_DISTANCE_FILTER_PARAM_BANDPASS_FREQUENCY_DEFAULT; m_distance = 0; m_previous_lp1_out = (float*)FMOD_DSP_STATE_MEMALLOC(dsp_state, m_max_channels * sizeof(float), FMOD_MEMORY_NORMAL, "Previous Lowpass1 outputs"); m_previous_lp2_out = (float*)FMOD_DSP_STATE_MEMALLOC(dsp_state, m_max_channels * sizeof(float), FMOD_MEMORY_NORMAL, "Previous Lowpass2 outputs"); m_previous_hp_out = (float*)FMOD_DSP_STATE_MEMALLOC(dsp_state, m_max_channels * sizeof(float), FMOD_MEMORY_NORMAL, "Previous Highpass outputs"); updateTimeConstants(); reset(); }
FMOD_RESULT F_CALLBACK FMOD_Noise_dspcreate(FMOD_DSP_STATE *dsp) { dsp->plugindata = (FMODNoiseState *)FMOD_DSP_STATE_MEMALLOC(dsp, sizeof(FMODNoiseState), FMOD_MEMORY_NORMAL, "FMODNoiseState"); if (!dsp->plugindata) { return FMOD_ERR_MEMORY; } return FMOD_OK; }
FMOD_RESULT F_CALLBACK FMOD_DistanceFilter_dspcreate(FMOD_DSP_STATE *dsp_state) { FMODDistanceFilterState* state = (FMODDistanceFilterState *)FMOD_DSP_STATE_MEMALLOC(dsp_state, sizeof(FMODDistanceFilterState), FMOD_MEMORY_NORMAL, "FMODDistanceFilterState"); state->init(dsp_state); dsp_state->plugindata = state; if (!state) { return FMOD_ERR_MEMORY; } return FMOD_OK; }