Sayonara Player
Loading...
Searching...
No Matches
StreamRecorderUtils.h
1/* StreamRecorderUtils.h */
2
3/* Copyright (C) 2011-2024 Michael Lugmair (Lucio Carreras)
4 *
5 * This file is part of sayonara player
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#ifndef STREAMRECORDERUTILS_H
22#define STREAMRECORDERUTILS_H
23
24#include <QList>
25#include <QPair>
26#include <QString>
27
28#include <cstdint>
29
30class MetaData;
31class QStringList;
32class QDate;
33class QTime;
34
35namespace StreamRecorder::Utils
36{
37 enum class ErrorCode :
38 std::uint8_t
39 {
40 OK = 1,
41 BracketError,
42 UnknownTag,
43 MissingUniqueTag,
44 InvalidChars,
45 Empty
46 };
47
49 {
50 QString filename;
51 QString playlistName;
52 };
53
54 QStringList supportedTags();
55 QList<QPair<QString, QString>> descriptions();
56
57 ErrorCode validateTemplate(const QString& targetPathTemplate, int* invalidIndex);
58
59 QString targetPathTemplateDefault(bool useSessionPath);
60
66 fullTargetPath(const QString& streamRecorderPath, const QString& pathTemplate, const MetaData& track,
67 const QDate& d, const QTime& t);
68
69 QString parseErrorCode(ErrorCode err);
70}
71
72#endif // STREAMRECORDERUTILS_H
Definition MetaData.h:43
Definition EngineUtils.h:33
Definition StreamRecorderUtils.h:49