LeechCraft
0.6.70-16373-g319c272718
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
ilyricsfinder.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
* Distributed under the Boost Software License, Version 1.0.
6
* (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7
**********************************************************************/
8
9
#pragma once
10
11
#include <optional>
12
#include <QStringList>
13
#include <
util/sll/eitherfwd.h
>
14
15
template
<
typename
>
16
class
QFuture
;
17
18
namespace
Media
19
{
24
struct
LyricsQuery
25
{
28
QString
Artist_
;
29
32
QString
Album_
;
33
36
QString
Title_
;
37
40
std::optional<int>
Year_
;
41
44
std::optional<int>
Track_
;
45
};
46
54
struct
LyricsResultItem
55
{
58
QString
ProviderName_
;
59
62
QString
Lyrics_
;
63
};
64
69
using
LyricsResults
=
QList<LyricsResultItem>
;
70
76
class
Q_DECL_EXPORT
ILyricsFinder
77
{
78
public
:
79
virtual
~ILyricsFinder
() {}
80
88
using
LyricsQueryResult_t
=
LC::Util::Either<QString, LyricsResults>
;
89
98
virtual
QFuture<LyricsQueryResult_t>
RequestLyrics
(
const
LyricsQuery
& query) = 0;
99
};
100
}
101
102
Q_DECLARE_INTERFACE (
Media::ILyricsFinder
,
"org.LeechCraft.Media.ILyricsFinder/1.0"
)
LC::Util::Either
Definition
networkresult.h:47
Media::ILyricsFinder
Interface for plugins supporting finding lyrics.
Definition
ilyricsfinder.h:77
Media::ILyricsFinder::~ILyricsFinder
virtual ~ILyricsFinder()
Definition
ilyricsfinder.h:79
Media::ILyricsFinder::LyricsQueryResult_t
LC::Util::Either< QString, LyricsResults > LyricsQueryResult_t
The result of a lyrics search query.
Definition
ilyricsfinder.h:88
Media::ILyricsFinder::RequestLyrics
virtual QFuture< LyricsQueryResult_t > RequestLyrics(const LyricsQuery &query)=0
Requests searching for lyrics for the given query.
QFuture
Definition
idownload.h:17
QList
Definition
ianrulesstorage.h:14
eitherfwd.h
Media
Definition
audiostructs.h:17
Media::LyricsResults
QList< LyricsResultItem > LyricsResults
Describes the result set for a given lyrics query.
Definition
ilyricsfinder.h:69
Media::LyricsQuery
Describes a lyrics search request.
Definition
ilyricsfinder.h:25
Media::LyricsQuery::Track_
std::optional< int > Track_
The track number.
Definition
ilyricsfinder.h:44
Media::LyricsQuery::Year_
std::optional< int > Year_
The year of the album the track is on.
Definition
ilyricsfinder.h:40
Media::LyricsQuery::Album_
QString Album_
The album this track is on.
Definition
ilyricsfinder.h:32
Media::LyricsQuery::Title_
QString Title_
The title of the track.
Definition
ilyricsfinder.h:36
Media::LyricsQuery::Artist_
QString Artist_
The artist preforming the track.
Definition
ilyricsfinder.h:28
Media::LyricsResultItem
Describes a single lyrics result item.
Definition
ilyricsfinder.h:55
Media::LyricsResultItem::ProviderName_
QString ProviderName_
The name of the provider lyrics were fetched from.
Definition
ilyricsfinder.h:58
Media::LyricsResultItem::Lyrics_
QString Lyrics_
The HTML-formatted lyrics string.
Definition
ilyricsfinder.h:62
src
interfaces
media
ilyricsfinder.h
Generated by
1.13.1