Sayonara Player
Loading...
Searching...
No Matches
SessionUtils.h
1/* SessionUtils.h
2 *
3 * Copyright (C) 2011-2024 Michael Lugmair
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 SESSIONTYPES_H
22#define SESSIONTYPES_H
23
24#include <QMap>
25#include <QVector>
26
27#include "Utils/typedefs.h"
28#include "Utils/MetaData/MetaData.h"
29
30namespace Session
31{
32 using Timecode = uint64_t;
33 using Id = Timecode;
34
35 struct Entry
36 {
37 Session::Id sessionId;
38 Timecode timecode;
39 MetaData track;
40
41 bool operator==(const Entry& other) const;
42 };
43
44 using EntryList = QVector<Entry>;
46
47 Timecode dayBegin(Session::Id id);
48 Timecode dayEnd(Session::Id id);
49 Timecode now();
50}
51
52Q_DECLARE_METATYPE(Session::Id)
53
54#endif // SESSIONTYPES_H
The MetaData class.
Definition MetaData.h:47
Definition org_mpris_media_player2_adaptor.h:21
Definition SessionUtils.h:36