|
|
|
|
using MediaBrowser.Controller.Entities;
|
|
|
|
|
using MediaBrowser.Controller.Entities.Audio;
|
|
|
|
|
using MediaBrowser.Controller.Playlists;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
|
|
namespace MediaBrowser.Controller.Library
|
|
|
|
|
{
|
|
|
|
|
public interface IMusicManager
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets the instant mix from song.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="item">The item.</param>
|
|
|
|
|
/// <param name="user">The user.</param>
|
|
|
|
|
/// <returns>IEnumerable{Audio}.</returns>
|
|
|
|
|
IEnumerable<Audio> GetInstantMixFromSong(Audio item, User user);
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets the instant mix from artist.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="name">The name.</param>
|
|
|
|
|
/// <param name="user">The user.</param>
|
|
|
|
|
/// <returns>IEnumerable{Audio}.</returns>
|
|
|
|
|
IEnumerable<Audio> GetInstantMixFromArtist(string name, User user);
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets the instant mix from album.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="item">The item.</param>
|
|
|
|
|
/// <param name="user">The user.</param>
|
|
|
|
|
/// <returns>IEnumerable{Audio}.</returns>
|
|
|
|
|
IEnumerable<Audio> GetInstantMixFromAlbum(MusicAlbum item, User user);
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets the instant mix from playlist.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="item">The item.</param>
|
|
|
|
|
/// <param name="user">The user.</param>
|
|
|
|
|
/// <returns>IEnumerable<Audio>.</returns>
|
|
|
|
|
IEnumerable<Audio> GetInstantMixFromPlaylist(Playlist item, User user);
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets the instant mix from genre.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="genres">The genres.</param>
|
|
|
|
|
/// <param name="user">The user.</param>
|
|
|
|
|
/// <returns>IEnumerable{Audio}.</returns>
|
|
|
|
|
IEnumerable<Audio> GetInstantMixFromGenres(IEnumerable<string> genres, User user);
|
|
|
|
|
}
|
|
|
|
|
}
|