Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
engine_dummy.h
1// SPDX-FileCopyrightText: © 2025 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#pragma once
5
6#include "engine/device_io/engine.h"
7
8namespace zrythm::engine::device_io
9{
10class DummyDriver : public AudioEngine::AudioDriver, public AudioEngine::MidiDriver
11{
12 friend class DummyEngineThread;
13
14public:
15 DummyDriver (AudioEngine &engine) : engine_ (engine) { }
16 bool setup_audio () override;
17 bool setup_midi () override;
18 bool activate_audio (bool activate) override;
19 bool activate_midi (bool activate) override { return true; }
20 void tear_down_audio () override;
21 void tear_down_midi () override { }
22 utils::Utf8String get_driver_name () const override { return u8"Dummy"; }
23
24private:
25 int process (zrythm::engine::device_io::AudioEngine * self);
26 AudioEngine &engine_;
27
35 std::unique_ptr<juce::Thread> dummy_audio_thread_;
36};
37}
Implementation that drives the audio callbacks.
Definition engine.h:109
Implementation that handles MIDI from/to devices.
Definition engine.h:161
bool setup_audio() override
Sets up the driver.
Lightweight UTF-8 string wrapper with safe conversions.
Definition string.h:39