LeechCraft  0.6.70-15082-g543737046d
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  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  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...
 
using SimilarityInfos_t = QList< SimilarityInfo >
 A list of SimilarityInfo structures. More...
 
using SimilarityQueryResult_t = LC::Util::Either< QString, SimilarityInfos_t >
 
typedef QList< EventInfoEventInfos_t
 A list of events. More...
 
using HypedInfo_t = std::variant< QList< HypedArtistInfo >, QList< HypedTrackInfo > >
 
using LyricsResults = QList< LyricsResultItem >
 Describes the result set for a given lyrics query. More...
 
typedef std::shared_ptr< IRadioStationIRadioStation_ptr
 A pointer to a shared instance of a IRadioStation. More...
 
using ActionFunctor_f = std::variant< std::function< void(QModelIndex)>, std::function< void()> >
 
using RadioRestoreVariant_t = std::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  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

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)
 

Typedef Documentation

◆ ActionFunctor_f

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

Definition at line 26 of file iradiostationprovider.h.

◆ EventInfos_t

A list of events.

Definition at line 133 of file ieventsprovider.h.

◆ HypedInfo_t

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

Definition at line 140 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 115 of file iradiostation.h.

◆ LyricsResults

Describes the result set for a given lyrics query.

See also
LyricsResultItem

Definition at line 69 of file ilyricsfinder.h.

◆ RadioRestoreVariant_t

using Media::RadioRestoreVariant_t = typedef std::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 28 of file irestorableradiostationprovider.h.

◆ RadiosRestoreResult_t

A list of RadioRestoreResult structs.

Definition at line 53 of file irestorableradiostationprovider.h.

◆ SimilarityInfos_t

A list of SimilarityInfo structures.

Definition at line 161 of file audiostructs.h.

◆ SimilarityQueryResult_t

Definition at line 163 of file audiostructs.h.

◆ TagInfos_t

A list of tags.

Definition at line 82 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 26 of file ieventsprovider.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
   <code>QList<Media::AudioInfo></code>.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.

   @sa Media::AudioInfo
ActionFunctor 

The callable functor for RadioAction.

MaxRadioRole 

Maximum role.

Definition at line 107 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.

   @sa 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 32 of file iradiostationprovider.h.

Function Documentation

◆ GetHypedInfo()

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

◆ qHash()

size_t Media::qHash ( const AlbumInfo info)
inline

A hash function for AlbumInfo to use it with QHash.

Definition at line 44 of file ialbumartprovider.h.

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