#include "../AudioHost.h" #include "Sine.h" #include <math.h> #include <android/log.h> void Sine::initialize(AudioHost *host) { this->host = host; } void Sine::setFrequency(float frequency) { phaseStep = (2 * M_PI * frequency) / (double) host->sampleRate; } void Sine::render(float *data, uint32_t frameCount) { for (uint32_t i = 0; i < frameCount; i++) { data[i] += (float) (sin(phase) * amplitude); phase += phaseStep; if (phase > 2 * M_PI) { phase -= 2 * M_PI; } } }