Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
transport_controller.h
1// SPDX-FileCopyrightText: © 2026 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#pragma once
5
6#include <QtQmlIntegration>
7
8namespace zrythm::dsp
9{
10class Transport;
11class SnapGrid;
12}
13
14namespace zrythm::controllers
15{
16
22class TransportController : public QObject
23{
24 Q_OBJECT
25 QML_ELEMENT
26 QML_UNCREATABLE ("")
27
28public:
29 explicit TransportController (
30 dsp::Transport &transport,
31 dsp::SnapGrid &snap_grid,
32 QObject * parent = nullptr);
33
37 Q_INVOKABLE void moveBackward () [[clang::blocking]];
38
42 Q_INVOKABLE void moveForward () [[clang::blocking]];
43
44private:
45 dsp::Transport &transport_;
46 dsp::SnapGrid &snap_grid_;
47};
48
49} // namespace zrythm::controllers
Q_INVOKABLE void moveForward()
Moves the playhead forward to the next snap point.
Q_INVOKABLE void moveBackward()
Moves the playhead backward to the previous snap point.
Snap/grid information.
Definition snap_grid.h:23
The Transport class represents the transport controls and state for an audio engine.
Definition transport.h:45