1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
#include "track/cueinfo.h"
#include "util/assert.h"
namespace {
const QString kDefaultLabel = QStringLiteral(""); // empty string, not null
} // anonymous namespace
namespace mixxx {
CueInfo::CueInfo()
: m_type(CueType::Invalid),
m_startPositionMillis(std::nullopt),
m_endPositionMillis(std::nullopt),
m_hotCueNumber(std::nullopt),
m_label(kDefaultLabel),
m_color(std::nullopt) {
DEBUG_ASSERT(!m_label.isNull());
}
CueInfo::CueInfo(
CueType type,
std::optional<double> startPositionMillis,
std::optional<double> endPositionMillis,
std::optional<int> hotCueNumber,
QString label,
mixxx::RgbColor::optional_t color)
: m_type(type),
m_startPositionMillis(startPositionMillis),
m_endPositionMillis(endPositionMillis),
m_hotCueNumber(hotCueNumber),
m_label(label),
m_color(color) {
DEBUG_ASSERT(!m_label.isNull());
}
CueType CueInfo::getType() const {
return m_type;
}
void CueInfo::setType(CueType type) {
m_type = type;
}
void CueInfo::setStartPositionMillis(std::optional<double> positionMillis) {
m_startPositionMillis = positionMillis;
}
std::optional<double> CueInfo::getStartPositionMillis() const {
return m_startPositionMillis;
}
void CueInfo::setEndPositionMillis(std::optional<double> positionMillis) {
m_endPositionMillis = positionMillis;
}
std::optional<double> CueInfo::getEndPositionMillis() const {
return m_endPositionMillis;
}
std::optional<int> CueInfo::getHotCueNumber() const {
return m_hotCueNumber;
}
void CueInfo::setHotCueNumber(std::optional<int> hotCueNumber) {
m_hotCueNumber = hotCueNumber;
}
QString CueInfo::getLabel() const {
return m_label;
}
void CueInfo::setLabel(QString label) {
DEBUG_ASSERT(!label.isNull());
m_label = label;
}
RgbColor::optional_t CueInfo::getColor() const {
return m_color;
}
void CueInfo::setColor(RgbColor::optional_t color) {
m_color = color;
}
} // namespace mixxx
|