18 using SampleRange = std::pair<units::sample_t, units::sample_t>;
19 using RunOnMainThread = std::function<void (std::function<
void ()>)>;
23 units::sample_rate_t sample_rate_;
24 units::sample_t block_length_;
25 unsigned int num_threads_ =
26 std::max (5u, std::thread::hardware_concurrency ()) - 4;
42 RunOnMainThread run_on_main_thread,
53 QPromise<juce::AudioSampleBuffer> &promise,
56 RunOnMainThread run_on_main_thread,
static QFuture< juce::AudioSampleBuffer > render_async(RenderOptions options, graph::GraphNodeCollection &&nodes, RunOnMainThread run_on_main_thread, SampleRange range)
Executes render() asynchronously and returns a QFuture to control the task.