|
|
@ -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) { |
|
|
|