Sayonara Player
Loading...
Searching...
No Matches
src
Utils
Parser
AbstractPlaylistParser.h
1
/* AbstractPlaylistParser.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 ABSTRACTPLAYLISTPARSER_H
22
#define ABSTRACTPLAYLISTPARSER_H
23
24
#include "Utils/Pimpl.h"
25
26
class
MetaDataList
;
27
class
MetaData
;
28
class
QString;
29
30
namespace
Tagging
31
{
32
class
TagReader;
33
}
34
35
namespace
Util
36
{
37
class
FileSystem;
38
}
39
40
class
AbstractPlaylistParser
41
{
42
PIMPL(
AbstractPlaylistParser
)
43
44
public
:
45
AbstractPlaylistParser
(
const
QString& filepath,
46
const
std::shared_ptr<Util::FileSystem>& fileSystem,
47
const
std::shared_ptr<Tagging::TagReader>& tagReader);
48
virtual
~AbstractPlaylistParser
();
49
50
virtual
MetaDataList
tracks()
final
;
51
52
protected
:
53
virtual
void
parse() = 0;
54
55
void
addTrack(
const
MetaData
& track);
56
void
addTracks(
const
MetaDataList
& tracks);
57
[[nodiscard]]
const
QString& content()
const
;
58
59
[[nodiscard]] QString getAbsoluteFilename(
const
QString& filename)
const
;
60
61
void
parseSubPlaylist(
const
QString& playlistPath);
62
63
};
64
65
#endif
// ABSTRACTPLAYLISTPARSER_H
AbstractPlaylistParser
Definition
AbstractPlaylistParser.h:41
MetaDataList
Definition
MetaDataList.h:34
MetaData
Definition
MetaData.h:43
Tagging
The GUI_TagEdit class.
Definition
Engine.h:33
Util
Helper functions.
Definition
MetaTypeRegistry.h:25
Generated on Fri Apr 25 2025 00:00:00 for Sayonara Player by
1.10.0