diff --git a/src/main_osp.cc b/src/main_osp.cc index d4ac1ea..a0b5ac8 100644 --- a/src/main_osp.cc +++ b/src/main_osp.cc @@ -100,7 +100,36 @@ namespace Heck { } } - void midi_realtime_handler(ld::MidiEvent& msg) + void audio_callback_new(ld::AudioHandle::InputBuffer in, ld::AudioHandle::OutputBuffer out, size_t size) + { + // Output 1 + { + float sig_out{}; + float sig_osp{}; + float sig_ext_in_1{}; + float sig_ext_in_2{}; + for (size_t i = 0; i < size; i++) { + for (int i = 0; i < Constants::TRACK_COUNT; i++) { + sig_osp += tracks[i].nextsample(); + } + sig_osp /= Constants::TRACK_COUNT; + sig_ext_in_1 = in[0][i]; + sig_ext_in_2 = in[1][i]; + out[0][i] = sig_osp + sig_ext_in_1 + sig_ext_in_2 / 3.; + out[1][i] = out[0][i]; + } + } + + // Output 2 + if constexpr (false) { + for (size_t i = 0; i < size; i++) { + out[1][i] = in[1][i]; + } + } + } + + + void midi_realtime_handler(const ld::MidiEvent &msg) { event_log.PushBack(msg); switch (msg.srt_type) {