LeechCraft
0.6.70-10870-g558588d6ec
Modular cross-platform feature rich live environment.
audiostructs.h
Go to the documentation of this file.
1
/**********************************************************************
2
* LeechCraft - modular cross-platform feature rich internet client.
3
* Copyright (C) 2006-2014 Georg Rudoy
4
*
5
* Boost Software License - Version 1.0 - August 17th, 2003
6
*
7
* Permission is hereby granted, free of charge, to any person or organization
8
* obtaining a copy of the software and accompanying documentation covered by
9
* this license (the "Software") to use, reproduce, display, distribute,
10
* execute, and transmit the Software, and to prepare derivative works of the
11
* Software, and to permit third-parties to whom the Software is furnished to
12
* do so, all subject to the following:
13
*
14
* The copyright notices in the Software and this entire statement, including
15
* the above license grant, this restriction and the following disclaimer,
16
* must be included in all copies of the Software, in whole or in part, and
17
* all derivative works of the Software, unless such copies or derivative
18
* works are solely in the form of machine-executable object code generated by
19
* a source language processor.
20
*
21
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
* FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
24
* SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
25
* FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
26
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27
* DEALINGS IN THE SOFTWARE.
28
**********************************************************************/
29
30
#pragma once
31
32
#include <QStringList>
33
#include <QVariantMap>
34
#include <QUrl>
35
36
namespace
Media
37
{
40
struct
AudioInfo
41
{
44
QString
Artist_
;
45
48
QString
Album_
;
49
52
QString
Title_
;
53
56
QStringList
Genres_
;
57
60
qint32
Length_
= 0;
61
64
qint32
Year_
= 0;
65
68
qint32
TrackNumber_
= 0;
69
76
QVariantMap
Other_
;
77
80
inline
bool
operator==
(
const
AudioInfo
& other)
const
81
{
82
return
Artist_
== other.
Artist_
&&
83
Album_
== other.
Album_
&&
84
Title_
== other.
Title_
&&
85
Genres_
== other.
Genres_
&&
86
Length_
== other.
Length_
&&
87
Year_
== other.
Year_
&&
88
TrackNumber_
== other.
TrackNumber_
&&
89
Other_
== other.
Other_
;
90
}
91
94
inline
bool
operator!=
(
const
AudioInfo
& other)
const
95
{
96
return
!(*
this
== other);
97
}
98
};
99
102
struct
TagInfo
103
{
106
QString
Name_
;
107
};
108
111
typedef
QList<TagInfo>
TagInfos_t
;
112
115
struct
ArtistInfo
116
{
119
QString
Name_
;
120
123
QString
ShortDesc_
;
124
127
QString
FullDesc_
;
128
131
QUrl
Image_
;
132
135
QUrl
LargeImage_
;
136
145
QUrl
Page_
;
146
149
TagInfos_t
Tags_
;
150
};
151
165
struct
SimilarityInfo
166
{
169
ArtistInfo
Artist_
;
170
175
int
Similarity_
;
176
179
QStringList
SimilarTo_
;
180
};
181
184
typedef
QList<SimilarityInfo>
SimilarityInfos_t
;
185
}
186
187
Q_DECLARE_METATYPE
(
Media::AudioInfo
)
188
Q_DECLARE_METATYPE
(
QList<Media::AudioInfo>
)
Media::TagInfo::Name_
QString Name_
Name of the tag.
Definition:
audiostructs.h:106
Media::AudioInfo::Length_
qint32 Length_
The length of this track in seconds.
Definition:
audiostructs.h:60
Media::TagInfos_t
QList< TagInfo > TagInfos_t
A list of tags.
Definition:
audiostructs.h:111
Media::AudioInfo::operator!=
bool operator!=(const AudioInfo &other) const
Returns whether this audio info isn't equal to another one.
Definition:
audiostructs.h:94
Media::AudioInfo
Describes a single audio track.
Definition:
audiostructs.h:40
Media::ArtistInfo::Page_
QUrl Page_
An URL to a page describing this artist.
Definition:
audiostructs.h:145
Media::ArtistInfo::FullDesc_
QString FullDesc_
Full artist description, not including the short description.
Definition:
audiostructs.h:127
Media::AudioInfo::Year_
qint32 Year_
The year of the Album_ this track is on.
Definition:
audiostructs.h:64
Media::ArtistInfo::ShortDesc_
QString ShortDesc_
Short artist description.
Definition:
audiostructs.h:123
Media::TagInfo
Information about a tag like a genre.
Definition:
audiostructs.h:102
Media::AudioInfo::Other_
QVariantMap Other_
Other fields of this audio info.
Definition:
audiostructs.h:76
Media::SimilarityInfo::Similarity_
int Similarity_
Similarity in percents.
Definition:
audiostructs.h:175
Media::ArtistInfo::Image_
QUrl Image_
An URL of a thumbnail artist image.
Definition:
audiostructs.h:131
Media::AudioInfo::operator==
bool operator==(const AudioInfo &other) const
Returns whether this audio info is equal to another one.
Definition:
audiostructs.h:80
Media::AudioInfo::TrackNumber_
qint32 TrackNumber_
The number of this track on the Album_.
Definition:
audiostructs.h:68
Media::SimilarityInfo::SimilarTo_
QStringList SimilarTo_
Names of the artists similar to this one.
Definition:
audiostructs.h:179
Media
Definition:
audiostructs.h:36
Media::ArtistInfo
A structure describing an artist.
Definition:
audiostructs.h:115
Media::AudioInfo::Title_
QString Title_
The title of this track.
Definition:
audiostructs.h:52
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(QVariantList *)
Media::SimilarityInfos_t
QList< SimilarityInfo > SimilarityInfos_t
A list of SimilarityInfo structures.
Definition:
audiostructs.h:184
Media::AudioInfo::Artist_
QString Artist_
The artist performing this track.
Definition:
audiostructs.h:44
Media::ArtistInfo::Tags_
TagInfos_t Tags_
Genres this artist plays in.
Definition:
audiostructs.h:149
QList< TagInfo >
Media::SimilarityInfo
Describes similarty information of an artist.
Definition:
audiostructs.h:165
Media::ArtistInfo::LargeImage_
QUrl LargeImage_
A bigger artist image.
Definition:
audiostructs.h:135
Media::ArtistInfo::Name_
QString Name_
The artist name.
Definition:
audiostructs.h:119
Media::AudioInfo::Album_
QString Album_
The album this track is on.
Definition:
audiostructs.h:48
Media::SimilarityInfo::Artist_
ArtistInfo Artist_
Information about artist this similary info is about.
Definition:
audiostructs.h:169
Media::AudioInfo::Genres_
QStringList Genres_
The genres of this track.
Definition:
audiostructs.h:56
src
interfaces
media
audiostructs.h
Generated by
1.8.14