LeechCraft
%{LEECHCRAFT_VERSION}
Modular cross-platform feature rich live environment.
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
iaudiopile.h
Go to the documentation of this file.
1
/**********************************************************************
2
* LeechCraft - modular cross-platform feature rich internet client.
3
* Copyright (C) 2006-2013 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 <QString>
33
#include "
audiostructs.h
"
34
35
class
QObject;
36
37
namespace
Media
38
{
58
class
Q_DECL_EXPORT
IPendingAudioSearch
59
{
60
public
:
61
virtual
~IPendingAudioSearch
() {}
62
70
virtual
QObject* GetQObject () = 0;
71
74
struct
Result
75
{
78
AudioInfo
Info_
;
79
82
QUrl
Source_
;
83
};
84
93
virtual
QList<Result> GetResults ()
const
= 0;
94
protected
:
100
virtual
void
ready () = 0;
101
110
virtual
void
error () = 0;
111
};
112
122
struct
AudioSearchRequest
123
{
128
QString
Title_
;
129
134
QString
Artist_
;
135
138
QString
Album_
;
139
144
int
TrackLength_
;
145
151
QString
FreeForm_
;
152
155
AudioSearchRequest
()
156
:
TrackLength_
(0)
157
{
158
}
159
};
160
167
class
Q_DECL_EXPORT
IAudioPile
168
{
169
public
:
170
virtual
~IAudioPile
() {}
171
182
virtual
IPendingAudioSearch
* Search (
const
AudioSearchRequest
& request) = 0;
183
};
184
}
185
186
Q_DECLARE_INTERFACE
(
Media::IPendingAudioSearch
,
"org.LeechCraft.Media.IPendingAudioSearch/1.0"
);
187
Q_DECLARE_INTERFACE
(
Media::IAudioPile
,
"org.LeechCraft.Media.IAudioPile/1.0"
);
Media::IAudioPile
Interface for plugins supporting searching for tracks.
Definition:
iaudiopile.h:167
audiostructs.h
Media::AudioSearchRequest::TrackLength_
int TrackLength_
The approximate length of the track.
Definition:
iaudiopile.h:144
Media::IPendingAudioSearch::~IPendingAudioSearch
virtual ~IPendingAudioSearch()
Definition:
iaudiopile.h:61
Media::AudioInfo
Describes a single audio track.
Definition:
audiostructs.h:40
Media::AudioSearchRequest::Album_
QString Album_
The album containing this track.
Definition:
iaudiopile.h:138
Media::AudioSearchRequest::FreeForm_
QString FreeForm_
Free form engine-specific request.
Definition:
iaudiopile.h:151
Media::IPendingAudioSearch::Result
A structure describing a single entry in search result.
Definition:
iaudiopile.h:74
Media::AudioSearchRequest::Artist_
QString Artist_
The artist performing the track.
Definition:
iaudiopile.h:134
Media::IAudioPile::~IAudioPile
virtual ~IAudioPile()
Definition:
iaudiopile.h:170
Media::AudioSearchRequest::Title_
QString Title_
The title of a track.
Definition:
iaudiopile.h:128
Q_DECLARE_INTERFACE
Q_DECLARE_INTERFACE(IColorThemeManager,"org.Deviant.LeechCraft.IColorThemeManager/1.0")
Media::IPendingAudioSearch::Result::Source_
QUrl Source_
The URL of this audio track.
Definition:
iaudiopile.h:82
Media::IPendingAudioSearch::Result::Info_
AudioInfo Info_
The information about the found audio track.
Definition:
iaudiopile.h:78
Media::AudioSearchRequest
Describes a request for an audio search in an IAudioPile.
Definition:
iaudiopile.h:122
Media::AudioSearchRequest::AudioSearchRequest
AudioSearchRequest()
Creates an empty audio search request.
Definition:
iaudiopile.h:155
Media::IPendingAudioSearch
Pending audio search handle.
Definition:
iaudiopile.h:58
src
interfaces
media
iaudiopile.h
Generated by
1.8.5