Aceradio/src/SongItem.h
Carl Philipp Klemm 4cacaa04e4
Some checks failed
Build eismuliplexer for linux / Build (push) Has been cancelled
Refactor json handling for SongItems and add new fields.
2026-03-21 23:09:39 +01:00

31 lines
563 B
C++

/*
* Copyright Carl Philipp Klemm 2026
* SPDX-License-Identifier: GPL-3.0-or-later
*/
#pragma once
#include <QString>
#include <QRandomGenerator>
#include <cstdint>
#include <QJsonObject>
class SongItem
{
public:
QString caption;
QString lyrics;
unsigned int bpm;
QString key;
QString vocalLanguage;
bool cotCaption;
uint64_t uniqueId;
QString file;
QString json;
SongItem(const QString &caption = "", const QString &lyrics = "");
SongItem(const QJsonObject& json);
void store(QJsonObject& json) const;
void load(const QJsonObject& json);
};