add audio buffer class to remove std::span dependency

This commit is contained in:
2025-06-17 17:56:33 +02:00
parent d74a89b82d
commit c586ba50a5
5 changed files with 112 additions and 27 deletions

View File

@@ -1,11 +1,14 @@
#pragma once
#include <span>
#include "audio_buffer.h"
#include <vector>
namespace trnr {
template <typename t_sample>
struct ivoice {
virtual ~ivoice() = default;
virtual void process_samples(t_sample** _outputs, int _start_index, int _block_size, std::span<std::span<t_sample>> _modulators = {}) = 0;
virtual void process_samples(t_sample** _outputs, int _start_index, int _block_size,
std::vector<audio_buffer<t_sample>> _modulators = {}) = 0;
virtual bool is_busy() = 0;
virtual void set_samplerate(double samplerate) = 0;
virtual void note_on(int _note, float _velocity) = 0;