static void runAddingPitchScale(LADSPA_Handle instance, unsigned long sample_count) { PitchScale *plugin_data = (PitchScale *)instance; LADSPA_Data run_adding_gain = plugin_data->run_adding_gain; /* Pitch co-efficient (float value) */ const LADSPA_Data mult = *(plugin_data->mult); /* Input (array of floats of length sample_count) */ const LADSPA_Data * const input = plugin_data->input; /* Output (array of floats of length sample_count) */ LADSPA_Data * const output = plugin_data->output; sbuffers * buffers = plugin_data->buffers; long sample_rate = plugin_data->sample_rate; pitch_scale(buffers, mult, FRAME_LENGTH, OVER_SAMP, sample_count, sample_rate, input, output, RUN_ADDING, run_adding_gain); *(plugin_data->latency) = FRAME_LENGTH - (FRAME_LENGTH / OVER_SAMP); }
static void activatePitchScale(LADSPA_Handle instance) { PitchScale *plugin_data = (PitchScale *)instance; sbuffers *buffers = plugin_data->buffers; long sample_rate = plugin_data->sample_rate; #line 68 "pitch_scale_1193.xml" memset(buffers->gInFIFO, 0, FRAME_LENGTH*sizeof(float)); memset(buffers->gOutFIFO, 0, FRAME_LENGTH*sizeof(float)); memset(buffers->gLastPhase, 0, FRAME_LENGTH*sizeof(float)/2); memset(buffers->gSumPhase, 0, FRAME_LENGTH*sizeof(float)/2); memset(buffers->gOutputAccum, 0, 2*FRAME_LENGTH*sizeof(float)); memset(buffers->gAnaFreq, 0, FRAME_LENGTH*sizeof(float)); memset(buffers->gAnaMagn, 0, FRAME_LENGTH*sizeof(float)); buffers->gRover = 0; /* do one run to make sure the plans are set up */ pitch_scale(buffers, 1.0, FRAME_LENGTH, 4, FRAME_LENGTH, sample_rate, buffers->gInFIFO, buffers->gOutFIFO, 0, 0.0f); plugin_data->buffers = buffers; plugin_data->sample_rate = sample_rate; }