LeechCraft  0.6.70-10870-g558588d6ec
Modular cross-platform feature rich live environment.
Media Namespace Reference

Classes

struct  AlbumInfo
 Information about an album used in IAlbumArtProvider. More...
 
struct  AlbumRelease
 Describes a recent release. More...
 
struct  ArtistBio
 Information about artist biography. More...
 
struct  ArtistImage
 Describes a single artist photo. More...
 
struct  ArtistInfo
 A structure describing an artist. More...
 
struct  AudioInfo
 Describes a single audio track. More...
 
struct  AudioSearchRequest
 Describes a request for an audio search in an IAudioPile. More...
 
struct  EventInfo
 A structure describing an event like a gig or a festival. More...
 
struct  HypedArtistInfo
 Contains information about a hyped artist. More...
 
struct  HypedTrackInfo
 Contains information about a hyped track. More...
 
class  IAlbumArtProvider
 Interface for plugins that can search for album art. More...
 
class  IArtistBioFetcher
 Interface for plugins supporting fetching artist biography. More...
 
class  IAudioPile
 Interface for plugins supporting searching for tracks. More...
 
class  IAudioScrobbler
 Interface for plugins that support scrobbling. More...
 
class  ICurrentSongKeeper
 Interface for plugins able to fetch current tune. More...
 
class  IDiscographyProvider
 Interface for plugins supporting getting artist discography. More...
 
class  IEventsProvider
 Interface for plugins that can provide events. More...
 
class  IHypesProvider
 Interface for plugins that support fetching hypes. More...
 
class  ILyricsFinder
 Interface for plugins supporting finding lyrics. More...
 
class  IModifiableRadioStation
 Interface for radios supporting streams adding or removal. More...
 
class  IPendingSimilarArtists
 Pending similar artists request handle. More...
 
class  IRadioStation
 Describes a single radio station. More...
 
class  IRadioStationProvider
 Interface for plugins providing radio stations. More...
 
class  IRecentReleases
 Interface for plugins providing recent releases. More...
 
class  IRecommendedArtists
 Interface for plugins supporting recommended artists. More...
 
class  IRestorableRadioStationProvider
 Interface for radio station providers able to restore the radio stations between LeechCraft runs. More...
 
class  ISimilarArtists
 Interface for plugins supporting similar artists. More...
 
class  ITagsFetcher
 Interface for plugins fetching tags for untagged files. More...
 
struct  LyricsQuery
 Describes a lyrics search request. More...
 
struct  LyricsResultItem
 Describes a single lyrics result item. More...
 
struct  LyricsResults
 Describes the result set for a given lyrics query. More...
 
struct  RadioRestoreResult
 Describes the result of restoring a single radio station. More...
 
struct  ReleaseInfo
 Information about a release, like an album or a single. More...
 
struct  ReleaseTrackInfo
 Information about a track release. More...
 
struct  SimilarityInfo
 Describes similarty information of an artist. More...
 
struct  TagInfo
 Information about a tag like a genre. More...
 

Typedefs

typedef QList< TagInfoTagInfos_t
 A list of tags. More...
 
typedef QList< SimilarityInfoSimilarityInfos_t
 A list of SimilarityInfo structures. More...
 
typedef QList< EventInfoEventInfos_t
 A list of events. More...
 
using HypedInfo_t = boost::variant< QList< HypedArtistInfo >, QList< HypedTrackInfo > >
 
typedef std::shared_ptr< IRadioStationIRadioStation_ptr
 A pointer to a shared instance of a IRadioStation. More...
 
using ActionFunctor_f = boost::variant< std::function< void(QModelIndex)>, std::function< void()> >
 
using RadioRestoreVariant_t = boost::variant< QList< AudioInfo > >
 Describes the data associated with a radio station restore. More...
 
using RadiosRestoreResult_t = QList< RadioRestoreResult >
 A list of RadioRestoreResult structs. More...
 

Enumerations

enum  EventAttendType {
  None,
  EventAttendType::Maybe,
  EventAttendType::Surely
}
 Enum describing if and how an event is attended by user. More...
 
enum  QueryOption {
  NoOption = 0x0,
  Refresh = 0x1
}
 Describes the various lyrics request options. More...
 
enum  RadioType {
  None,
  None,
  SimilarArtists,
  GlobalTag,
  Predefined,
  CustomAddableStreams,
  TracksList,
  SingleTrack,
  TracksRoot,
  RadioAction
}
 Describes the type of a radio station. More...
 
enum  RadioItemRole {
  ItemType = Qt::UserRole + 1,
  RadioID,
  PluginID,
  TracksInfos,
  ActionFunctor,
  MaxRadioRole
}
 Custom user roles for the items in the model. More...
 

Functions

bool operator== (const AlbumInfo &a1, const AlbumInfo &a2)
 Compares two AlbumInfo structures. More...
 
size_t qHash (const AlbumInfo &info)
 A hash function for AlbumInfo to use it with QHash. More...
 
template<IHypesProvider::HypeType HypeType>
auto GetHypedInfo (const HypedInfo_t &info)
 
 Q_DECLARE_FLAGS (QueryOptions, QueryOption)
 Typedef for QFlags<QueryOption>. More...
 

Typedef Documentation

◆ ActionFunctor_f

using Media::ActionFunctor_f = typedef boost::variant<std::function<void (QModelIndex)>, std::function<void ()> >

Definition at line 47 of file iradiostationprovider.h.

◆ EventInfos_t

A list of events.

Definition at line 154 of file ieventsprovider.h.

◆ HypedInfo_t

using Media::HypedInfo_t = typedef boost::variant<QList<HypedArtistInfo>, QList<HypedTrackInfo> >

Definition at line 161 of file ihypesprovider.h.

◆ IRadioStation_ptr

typedef std::shared_ptr< IRadioStation > Media::IRadioStation_ptr

A pointer to a shared instance of a IRadioStation.

Definition at line 136 of file iradiostation.h.

◆ RadioRestoreVariant_t

using Media::RadioRestoreVariant_t = typedef boost::variant<QList<AudioInfo> >

Describes the data associated with a radio station restore.

For now it can be just a list of AudioInfo structs.

See also
AudioInfo

Definition at line 49 of file irestorableradiostationprovider.h.

◆ RadiosRestoreResult_t

A list of RadioRestoreResult structs.

Definition at line 74 of file irestorableradiostationprovider.h.

◆ SimilarityInfos_t

A list of SimilarityInfo structures.

Definition at line 184 of file audiostructs.h.

◆ TagInfos_t

A list of tags.

Definition at line 111 of file audiostructs.h.

Enumeration Type Documentation

◆ EventAttendType

Enum describing if and how an event is attended by user.

See also
EventInfo, IEventsProvider
Enumerator
None 

The user won't attend this event.

Maybe 

The user is interested and maybe will attend the event.

Surely 

The user surely will attend the event.

Definition at line 47 of file ieventsprovider.h.

◆ QueryOption

Describes the various lyrics request options.

See also
ILyricsFinder
Enumerator
NoOption 

Default lyrics search request.

Refresh 

Refresh any cached data.

Definition at line 68 of file ilyricsfinder.h.

◆ RadioItemRole

Custom user roles for the items in the model.

See also
IRadioStationProvider
Enumerator
ItemType 

The type of this radio station.

The value should be a member of the RadioType enumeration.

RadioID 

The internal ID of the radio.

The value should be a QString.

PluginID 

The ID of the plugin for this radio item.

The value should be a QByteArray and be equal to the value returned by IInfo::GetUniqueID() for the corresponding plugin.

TracksInfos 

The tracks list.

This role should be available for RadioType::SingleTrack and RadioType::TracksList. The role should return a QList<Media::AudioInfo>.The list should consist of one element for RadioType::SingleTrack and of all child songs for RadioType::TracksList.

The Media::AudioInfo elements in the list should contain all the available metadata and must have the "URL" element in the additional map.

See also
Media::AudioInfo
ActionFunctor 

The callable functor for RadioAction.

MaxRadioRole 

Maximum role.

Definition at line 128 of file iradiostationprovider.h.

◆ RadioType

Describes the type of a radio station.

See also
IRadioStationProvider
Enumerator
None 

No type (item doesn't correspond to a radio station).

None 

The user won't attend this event.

SimilarArtists 

Radio of artists similar to a given one.

When selecting a radio of this type the GUI should present the user with a dialog where he can enter the desired artist's name which should be passed to the IRadioStationProvider::GetRadioStation() method.

GlobalTag 

Radio of a global tag like metalcore.

When selecting a radio of this type the GUI should present the user with a dialog where he can enter the desired tag name which should be passed to the IRadioStationProvider::GetRadioStation() method.

Predefined 

A predefined radio station like an Icecast stream.

CustomAddableStreams 

A radio station that contains user-addable streams.

This can be used to implement bookmarks, for example, or a custom collection.

A radio station returned for the item with this radio type from the IRadioStationProvider::GetRadioStation() method should also implement IModifiableRadioStation.

See also
IModifiableRadioStation
TracksList 

A predefined list of single tracks, not a stream.

Items of this type should provide RadioItemRole::TracksInfos.

If the item's track list is just an aggregation of the tracks in its child items, consider using TracksRoot instead.

SingleTrack 

A single song.

Items of this type should provide RadioItemRole::TracksInfos.

TracksRoot 

A root for a list of SingleTrack or TracksList items.

When this item is selected by the user, the tracks of its child items would be collected recursively.

RadioAction 

An action.

Items of this type represent an action, like "Sign in to radio" or something.

Definition at line 53 of file iradiostationprovider.h.

Function Documentation

◆ GetHypedInfo()

template<IHypesProvider::HypeType HypeType>
auto Media::GetHypedInfo ( const HypedInfo_t info)

◆ operator==()

bool Media::operator== ( const AlbumInfo a1,
const AlbumInfo a2 
)
inline

Compares two AlbumInfo structures.

Definition at line 62 of file ialbumartprovider.h.

References Media::AlbumInfo::Album_, and Media::AlbumInfo::Artist_.

◆ Q_DECLARE_FLAGS()

Media::Q_DECLARE_FLAGS ( QueryOptions  ,
QueryOption   
)

Typedef for QFlags<QueryOption>.

◆ qHash()

size_t Media::qHash ( const AlbumInfo info)
inline

A hash function for AlbumInfo to use it with QHash.

Definition at line 70 of file ialbumartprovider.h.

References Media::AlbumInfo::Album_, and Media::AlbumInfo::Artist_.