TTKMusicPlayer
4.1.3.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
TTKThirdParty
TTKqmmp
qmmp
decoderfactory.h
Go to the documentation of this file.
1
/***************************************************************************
2
* Copyright (C) 2006-2024 by Ilya Kotov *
3
* forkotov02@ya.ru *
4
* *
5
* This program is free software; you can redistribute it and/or modify *
6
* it under the terms of the GNU General Public License as published by *
7
* the Free Software Foundation; either version 2 of the License, or *
8
* (at your option) any later version. *
9
* *
10
* This program is distributed in the hope that it will be useful, *
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13
* GNU General Public License for more details. *
14
* *
15
* You should have received a copy of the GNU General Public License *
16
* along with this program; if not, write to the *
17
* Free Software Foundation, Inc., *
18
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
19
***************************************************************************/
20
21
#ifndef DECODERFACTORY_H
22
#define DECODERFACTORY_H
23
24
#include <QIODevice>
25
#include <QStringList>
26
#include "
decoder.h
"
27
#include "
metadatamodel.h
"
28
#include "
trackinfo.h
"
29
33
struct
QMMP_EXPORT
DecoderProperties
34
{
35
QString
name
;
36
QString
shortName
;
37
QStringList
filters
;
38
QString
description
;
39
QStringList
contentTypes
;
40
QStringList
protocols
;
42
bool
hasSettings =
false
;
43
bool
noInput =
false
;
44
int
priority = 0;
45
};
46
50
class
QMMP_EXPORT
DecoderFactory
51
{
52
public
:
56
virtual
~
DecoderFactory
() =
default
;
57
61
virtual
bool
canDecode(QIODevice *input)
const
= 0;
65
virtual
DecoderProperties
properties()
const
= 0;
71
virtual
Decoder
*create(
const
QString &path, QIODevice *input =
nullptr
) = 0;
80
virtual
QList<TrackInfo*> createPlayList(
const
QString &fileName, TrackInfo::Parts parts, QStringList *ignoredPaths) = 0;
87
virtual
MetaDataModel
* createMetaDataModel(
const
QString &path,
bool
readOnly) = 0;
93
virtual
QDialog *createSettings(QWidget *parent) = 0;
94
95
};
96
97
Q_DECLARE_INTERFACE(
DecoderFactory
,
"DecoderFactory/1.0"
)
98
99
#endif
DecoderProperties::description
QString description
Definition:
decoderfactory.h:38
trackinfo.h
DecoderProperties::contentTypes
QStringList contentTypes
Definition:
decoderfactory.h:39
DecoderProperties::name
QString name
Definition:
decoderfactory.h:35
MetaDataModel
The MetaDataModel is the base interface class of metadata access.
Definition:
metadatamodel.h:78
DecoderFactory
Input plugin interface (decoder factory).
Definition:
decoderfactory.h:50
Decoder
The Decoder class provides the base interface class of audio decoders.
Definition:
decoder.h:38
DecoderProperties::filters
QStringList filters
Definition:
decoderfactory.h:37
DecoderProperties::shortName
QString shortName
Definition:
decoderfactory.h:36
decoder.h
metadatamodel.h
QMMP_EXPORT
#define QMMP_EXPORT
Definition:
qmmp_export.h:29
DecoderProperties::protocols
QStringList protocols
Definition:
decoderfactory.h:40
DecoderProperties
Structure to store input plugin properties.
Definition:
decoderfactory.h:33
Generated on Tue Jan 21 2025 21:07:15 for TTKMusicPlayer by
1.8.8