Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
note_type.h
1// SPDX-FileCopyrightText: © 2018-2022, 2024-2026 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#pragma once
5
6#include <cstdint>
7#include <string_view>
8
9#include <QObject>
10#include <QtQmlIntegration/qqmlintegration.h>
11
12namespace zrythm::dsp::notes
13{
14Q_NAMESPACE
15QML_ELEMENT
16
17enum class NoteLength : std::uint8_t
18{
19 Bar,
20 Beat,
21 Note_2_1,
22 Note_1_1,
23 Note_1_2,
24 Note_1_4,
25 Note_1_8,
26 Note_1_16,
27 Note_1_32,
28 Note_1_64,
29 Note_1_128
30};
31Q_ENUM_NS (NoteLength)
32
33enum class NoteType : std::uint8_t
34{
35 Normal,
36 Dotted,
37 Triplet
38};
39Q_ENUM_NS (NoteType)
40
41std::string_view
42note_length_to_str (NoteLength len);
43
44std::string_view
45note_type_to_str (NoteType type);
46
47} // namespace zrythm::dsp::notes