summaryrefslogtreecommitdiffstats
path: root/src/track/cueinfo.cpp
blob: 66e092a2b6c096e3276c96aea10ad9d9e0d1d2ff (plain)
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