Browse Source

main_testtone.cc - simple as possible. but stereo.

master
heck 5 months ago
parent
commit
a55a15756a
  1. 75
      examples/main_testtone.cc

75
examples/main_testtone.cc

@ -1,54 +1,41 @@
#include "types.hh"
#include "daisy_seed.h"
#include "daisysp.h"
namespace Heck {
namespace Constants {
}
ld::DaisySeed hw{};
dsp::Oscillator osc{};
namespace ld = daisy;
namespace dsp = daisysp;
void AudioCallback(
ld::AudioHandle::InterleavingInputBuffer in,
ld::AudioHandle::InterleavingOutputBuffer out,
size_t size)
{
float osc_out;
osc.SetFreq(1000);
ld::DaisySeed seed{};
dsp::Oscillator osc_l{};
dsp::Oscillator osc_r{};
for (size_t i = 0; i < size; i += 2) {
osc.SetAmp(1.0);
osc_out = osc.Process();
osc_out *= 0.005;
out[i] = osc_out;
out[i + 1] = osc_out;
}
void AudioCallback(
ld::AudioHandle::InputBuffer in,
ld::AudioHandle::OutputBuffer out,
size_t size)
{
float osc_out{};
for (size_t i = 0; i < size; i++) {
out[0][i] = osc_l.Process() * 0.005;
out[1][i] = osc_r.Process() * 0.005;
}
}
void init()
{
hw.Configure();
hw.Init();
hw.SetAudioBlockSize(4);
float samplerate = hw.AudioSampleRate();
osc.Init(samplerate);
osc.SetWaveform(osc.WAVE_SIN);
osc.SetAmp(1.f);
osc.SetFreq(1000);
hw.StartAudio(AudioCallback);
}
int main(void)
{
// system init
seed.Configure();
seed.Init();
seed.SetAudioBlockSize(4);
float samplerate = seed.AudioSampleRate();
void mainloop()
{
for (;;) {}
}
} // namespace Heck
// application init
osc_l.Init(samplerate);
osc_l.SetFreq(300);
osc_r.Init(samplerate);
osc_r.SetFreq(400);
int main(void)
{
Heck::init();
Heck::mainloop();
// system main
seed.StartAudio(AudioCallback);
return 0;
}

Loading…
Cancel
Save