LeechCraft
0.6.70-3565-g2d86529
Modular cross-platform feature rich live environment.
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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_
;
61
64
qint32
Year_
;
65
68
qint32
TrackNumber_
;
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
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::AudioInfo::operator!=
bool operator!=(const AudioInfo &other) const
Returns whether this info isn't equal to another one.
Definition:
audiostructs.h:94
Media::AudioInfo::operator==
bool operator==(const AudioInfo &other) const
Returns whether this audio info is equal to another one.
Definition:
audiostructs.h:80
Media::ArtistInfo::Image_
QUrl Image_
An URL of a thumbnail artist image.
Definition:
audiostructs.h:131
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::ArtistInfo
A structure describing an artist.
Definition:
audiostructs.h:115
Media::AudioInfo::Title_
QString Title_
The title of this track.
Definition:
audiostructs.h:52
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 >
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(Media::AudioInfo)
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.6