Browse Source

use non-interleaving audio callback

master
heck 9 months ago
parent
commit
bfac86d8a4
  1. 20
      src/main_osp.cc

20
src/main_osp.cc

@ -40,12 +40,9 @@ namespace Heck {
Sequencer sequencer{};
// function prototypes
void AudioCallback(
ld::AudioHandle::InterleavingInputBuffer in,
ld::AudioHandle::InterleavingOutputBuffer out,
size_t size);
void audio_callback(ld::AudioHandle::InputBuffer in, ld::AudioHandle::OutputBuffer out, size_t size);
void midi_realtime_handler(const ld::MidiEvent& msg);
void midi_realtime_handler(const ld::MidiEvent &msg);
void init_tracks()
@ -82,7 +79,7 @@ namespace Heck {
midi.Listen();
hw.PrintLine("Starting Audio");
hw.StartAudio(AudioCallback);
hw.StartAudio(audio_callback);
}
@ -90,10 +87,8 @@ namespace Heck {
// RUN
// =============================================================================================
void AudioCallback(
ld::AudioHandle::InterleavingInputBuffer in,
ld::AudioHandle::InterleavingOutputBuffer out,
size_t size)
void audio_callback(ld::AudioHandle::InputBuffer in, ld::AudioHandle::OutputBuffer out, size_t size)
{
float sig_out{};
for (size_t i = 0; i < size; i += 2) {
@ -101,8 +96,7 @@ namespace Heck {
sig_out += tracks[i].nextsample();
}
sig_out *= 0.1;
out[i] = sig_out;
out[i + 1] = sig_out;
out[0][i] = sig_out;
}
}
@ -212,10 +206,8 @@ namespace Heck {
{
hw.PrintLine("Entering MainLoop");
u32 time_boot_ms{};
u32 midi_log_systick_last{};
bool heartbeat_led_state{ false };
u32 heartbeat_systick_last{};
SWTimer heartbeat{};
heartbeat.set_period(500);

Loading…
Cancel
Save