Zrythm v2.0.0-alpha.1
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
mock_hardware_midi_interface.h
1// SPDX-FileCopyrightText: © 2026 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#pragma once
5
6#include "dsp/hardware_midi_interface.h"
7
8namespace zrythm::test_helpers
9{
10
12{
13public:
14 void
15 set_device_change_callback (std::optional<DeviceChangeCallback> cb) override
16 {
17 callback_ = std::move (cb);
18 }
19
20 BufferMap device_buffers () const override { return current_buffers_; }
21
22 void simulate_device_change (BufferMap buffers)
23 {
24 current_buffers_ = std::move (buffers);
25 if (callback_)
26 {
27 (*callback_) ();
28 }
29 }
30
31private:
32 std::optional<DeviceChangeCallback> callback_;
33 BufferMap current_buffers_;
34};
35
36}
Abstraction for hardware MIDI interface.
BufferMap device_buffers() const override
Returns the current map of device identifiers to buffers.
void set_device_change_callback(std::optional< DeviceChangeCallback > cb) override
Registers a notification-only device change callback.