Class PlaylistCollectionPluginWrapper
Wraps an instance of IPlaylistCollection with the provided plugins.
Implements
Inherited Members
Namespace: StrixMusic.Sdk.PluginModels
Assembly: StrixMusic.Sdk.dll
Syntax
public class PlaylistCollectionPluginWrapper : IPlaylistCollection, IPlaylistCollectionBase, IPlaylistCollectionItem, IPlaylistCollectionItemBase, IPlayableCollectionItem, ICollectionItemBase, IMerged<ICorePlaylistCollectionItem>, IEquatable<ICorePlaylistCollectionItem>, IPlayable, IPlayableBase, IDownloadable, IImageCollection, IImageCollectionBase, IMerged<ICoreImageCollection>, IEquatable<ICoreImageCollection>, IUrlCollection, IUrlCollectionBase, ICollectionBase, IMerged<ICoreUrlCollection>, IEquatable<ICoreUrlCollection>, IAppModel, IMerged<ICorePlaylistCollection>, IEquatable<ICorePlaylistCollection>, IMerged, IPluginWrapper
Properties
| Improve this Doc View SourceActivePlugins
All plugins that were imported and activated for this instance.
Declaration
public SdkModelPlugin ActivePlugins { get; }
Property Value
Type | Description |
---|---|
SdkModelPlugin |
Remarks
Once built, the returned instance will have plugins applied on top of the <xref href="StrixMusic.Sdk.AdapterModels.IMergedMutable%601" data-throw-if-not-resolved="false"></xref> instance.
If no plugins override functionality when accessing a member, the provided <xref href="StrixMusic.Sdk.AdapterModels.IMergedMutable%601" data-throw-if-not-resolved="false"></xref> will be used instead.
See SdkModelPlugin for more info.
See Also
| Improve this Doc View SourceAddedAt
The date this item was added to a collection. If unknown, value is null.
Declaration
public DateTime? AddedAt { get; }
Property Value
Type | Description |
---|---|
DateTime? |
Remarks
This property has no counterpart "changed" events or supporting properties. Since the item must be added to a collection for the data to change, a new instance with updated data would be used.
Description
Provides comments about the item. This may contain markdown content.
Declaration
public string? Description { get; }
Property Value
Type | Description |
---|---|
string |
DownloadInfo
Information about downloading this item.
Declaration
public DownloadInfo DownloadInfo { get; }
Property Value
Type | Description |
---|---|
DownloadInfo |
Duration
How long the playable item takes to complete playback.
Declaration
public TimeSpan Duration { get; }
Property Value
Type | Description |
---|---|
TimeSpan |
Remarks
If not applicable, use Zero.
Id
The ID of the playable item.
Declaration
public string Id { get; }
Property Value
Type | Description |
---|---|
string |
IsChangeDescriptionAsyncAvailable
If true, ChangeDescriptionAsync(string?, CancellationToken) can be used.
Declaration
public bool IsChangeDescriptionAsyncAvailable { get; }
Property Value
Type | Description |
---|---|
bool |
IsChangeDurationAsyncAvailable
If true, ChangeDurationAsync(TimeSpan, CancellationToken) can be used.
Declaration
public bool IsChangeDurationAsyncAvailable { get; }
Property Value
Type | Description |
---|---|
bool |
IsChangeNameAsyncAvailable
If true, ChangeNameAsync(string, CancellationToken) can be used.
Declaration
public bool IsChangeNameAsyncAvailable { get; }
Property Value
Type | Description |
---|---|
bool |
IsPausePlaylistCollectionAsyncAvailable
If true, PausePlaylistCollectionAsync(CancellationToken) can be used.
Declaration
public bool IsPausePlaylistCollectionAsyncAvailable { get; }
Property Value
Type | Description |
---|---|
bool |
IsPlayPlaylistCollectionAsyncAvailable
If true, PlayPlaylistCollectionAsync(CancellationToken) can be used.
Declaration
public bool IsPlayPlaylistCollectionAsyncAvailable { get; }
Property Value
Type | Description |
---|---|
bool |
LastPlayed
The last time the item was played. If never played or unknown, value is null.
Declaration
public DateTime? LastPlayed { get; }
Property Value
Type | Description |
---|---|
DateTime? |
Name
Name of the playable item.
Declaration
public string Name { get; }
Property Value
Type | Description |
---|---|
string |
PlaybackState
Current playback state.
Declaration
public PlaybackState PlaybackState { get; }
Property Value
Type | Description |
---|---|
PlaybackState |
TotalImageCount
The total number of images in the collection.
Declaration
public int TotalImageCount { get; }
Property Value
Type | Description |
---|---|
int |
TotalPlaylistItemsCount
The total number of available Playlists.
Declaration
public int TotalPlaylistItemsCount { get; }
Property Value
Type | Description |
---|---|
int |
TotalUrlCount
The total number of urls in this collection.
Declaration
public int TotalUrlCount { get; }
Property Value
Type | Description |
---|---|
int |
Methods
| Improve this Doc View SourceAddImageAsync(IImage, int, CancellationToken)
Adds a new image to the collection.
Declaration
public Task AddImageAsync(IImage image, int index, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
IImage | image | The image to add. |
int | index | the position to insert the image at. |
CancellationToken | cancellationToken | A cancellation token that may be used to cancel the ongoing task. |
Returns
Type | Description |
---|---|
Task | A Task representing the asynchronous operation. |
AddPlaylistItemAsync(IPlaylistCollectionItem, int, CancellationToken)
Adds an IPlaylist or IPlaylistCollection to this playlist collection.
Declaration
public Task AddPlaylistItemAsync(IPlaylistCollectionItem playlistItem, int index, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
IPlaylistCollectionItem | playlistItem | The playlistItem to add. |
int | index | the position to insert the playlistItem at. |
CancellationToken | cancellationToken | A cancellation token that may be used to cancel the ongoing task. |
Returns
Type | Description |
---|---|
Task | A Task representing the asynchronous operation. |
AddUrlAsync(IUrl, int, CancellationToken)
Adds a new url to the collection.
Declaration
public Task AddUrlAsync(IUrl url, int index, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
IUrl | url | The url to insert. |
int | index | the position to insert the url at. |
CancellationToken | cancellationToken | A cancellation token that may be used to cancel the ongoing task. |
Returns
Type | Description |
---|---|
Task | A Task representing the asynchronous operation. |
ChangeDescriptionAsync(string?, CancellationToken)
Changes the Description for this item.
Declaration
public Task ChangeDescriptionAsync(string? description, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
string | description | The new description for this playable item. |
CancellationToken | cancellationToken | A cancellation token that may be used to cancel the ongoing task. |
Returns
Type | Description |
---|---|
Task | A Task representing the asynchronous operation. |
ChangeDurationAsync(TimeSpan, CancellationToken)
Changes the Duration for this item.
Declaration
public Task ChangeDurationAsync(TimeSpan duration, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | duration | The new duration for this playable item. |
CancellationToken | cancellationToken | A cancellation token that may be used to cancel the ongoing task. |
Returns
Type | Description |
---|---|
Task | A Task representing the asynchronous operation. |
ChangeNameAsync(string, CancellationToken)
Changes the Name of this playable item.
Declaration
public Task ChangeNameAsync(string name, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
string | name | The new name to use. |
CancellationToken | cancellationToken | A cancellation token that may be used to cancel the ongoing task. |
Returns
Type | Description |
---|---|
Task | A Task representing the asynchronous operation. |
Equals(ICoreImageCollection?)
Declaration
public bool Equals(ICoreImageCollection? other)
Parameters
Type | Name | Description |
---|---|---|
ICoreImageCollection | other |
Returns
Type | Description |
---|---|
bool |
Equals(ICorePlaylistCollection?)
Declaration
public bool Equals(ICorePlaylistCollection? other)
Parameters
Type | Name | Description |
---|---|---|
ICorePlaylistCollection | other |
Returns
Type | Description |
---|---|
bool |
Equals(ICorePlaylistCollectionItem?)
Declaration
public bool Equals(ICorePlaylistCollectionItem? other)
Parameters
Type | Name | Description |
---|---|---|
ICorePlaylistCollectionItem | other |
Returns
Type | Description |
---|---|
bool |
Equals(ICoreUrlCollection?)
Declaration
public bool Equals(ICoreUrlCollection? other)
Parameters
Type | Name | Description |
---|---|---|
ICoreUrlCollection | other |
Returns
Type | Description |
---|---|
bool |
GetImagesAsync(int, int, CancellationToken)
Gets a requested number of IImageBases starting at the given offset.
Declaration
public IAsyncEnumerable<IImage> GetImagesAsync(int limit, int offset, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
int | limit | The max number of items to return. |
int | offset | Get items starting at this index. |
CancellationToken | cancellationToken | A cancellation token that may be used to cancel the ongoing task. |
Returns
Type | Description |
---|---|
IAsyncEnumerable<IImage> | The requested range of items. |
GetPlaylistItemsAsync(int, int, CancellationToken)
Gets a requested number of IPlaylistCollectionItemBases starting at the given offset.
Declaration
public IAsyncEnumerable<IPlaylistCollectionItem> GetPlaylistItemsAsync(int limit, int offset, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
int | limit | The max number of items to return. |
int | offset | Get items starting at this index. |
CancellationToken | cancellationToken | A cancellation token that may be used to cancel the ongoing task. |
Returns
Type | Description |
---|---|
IAsyncEnumerable<IPlaylistCollectionItem> | The requested range of items. |
GetUrlsAsync(int, int, CancellationToken)
Gets a requested number of IUrlBases starting at the given offset.
Declaration
public IAsyncEnumerable<IUrl> GetUrlsAsync(int limit, int offset, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
int | limit | The max number of items to return. |
int | offset | Get items starting at this index. |
CancellationToken | cancellationToken | A cancellation token that may be used to cancel the ongoing task. |
Returns
Type | Description |
---|---|
IAsyncEnumerable<IUrl> | The requested range of items. |
IsAddImageAvailableAsync(int, CancellationToken)
Checks if adding a IImageBase to the collection at at the given index
is supported.
Declaration
public Task<bool> IsAddImageAvailableAsync(int index, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
int | index | |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task<bool> | A Task representing the asynchronous operation. If value is true, a new IImageBase can be added. |
IsAddPlaylistItemAvailableAsync(int, CancellationToken)
Checks if the backend supports adding an IPlaylistCollectionItemBase at a specific index.
Declaration
public Task<bool> IsAddPlaylistItemAvailableAsync(int index, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
int | index | |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task<bool> | A Task representing the asynchronous operation. If value is true, a new IPlaylistCollectionItemBase can be added. |
IsAddUrlAvailableAsync(int, CancellationToken)
Checks if adding a url to the collection at at the given index
is supported.
Declaration
public Task<bool> IsAddUrlAvailableAsync(int index, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
int | index | |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task<bool> | A Task representing the asynchronous operation. If value is true, a new item can be added to the collection. |
IsRemoveImageAvailableAsync(int, CancellationToken)
Checks if removing a IImageBase to the collection at at the given index
is supported.
Declaration
public Task<bool> IsRemoveImageAvailableAsync(int index, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
int | index | |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task<bool> | A Task representing the asynchronous operation. If value is true, the IImageBase can be removed. |
IsRemovePlaylistItemAvailableAsync(int, CancellationToken)
Checks if the backend supports removing an IPlaylistCollectionItemBase at a specific index.
Declaration
public Task<bool> IsRemovePlaylistItemAvailableAsync(int index, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
int | index | |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task<bool> | A Task representing the asynchronous operation. If value is true, the IPlaylistCollectionItemBase can be removed. |
IsRemoveUrlAvailableAsync(int, CancellationToken)
Checks if removing a url to the collection at at the given index
is supported.
Declaration
public Task<bool> IsRemoveUrlAvailableAsync(int index, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
int | index | |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task<bool> | A Task representing the asynchronous operation. If value is true, the item can be removed from the collection.. |
PausePlaylistCollectionAsync(CancellationToken)
Attempts to pause the Playlist collection.
Declaration
public Task PausePlaylistCollectionAsync(CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
CancellationToken | cancellationToken | A cancellation token that may be used to cancel the ongoing task. |
Returns
Type | Description |
---|---|
Task | A Task representing the asynchronous operation. |
PlayPlaylistCollectionAsync(IPlaylistCollectionItem, CancellationToken)
Attempts to play a specific item in the playlistItem collection. Restarts playback if already playing.
Declaration
public Task PlayPlaylistCollectionAsync(IPlaylistCollectionItem playlistItem, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
IPlaylistCollectionItem | playlistItem | |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task | A Task representing the asynchronous operation. |
PlayPlaylistCollectionAsync(CancellationToken)
Attempts to play the Playlist collection, or resumes playback if already playing.
Declaration
public Task PlayPlaylistCollectionAsync(CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
CancellationToken | cancellationToken | A cancellation token that may be used to cancel the ongoing task. |
Returns
Type | Description |
---|---|
Task | A Task representing the asynchronous operation. |
RemoveImageAsync(int, CancellationToken)
Removes the image from the collection on the backend.
Declaration
public Task RemoveImageAsync(int index, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
int | index | The index of the image to remove. |
CancellationToken | cancellationToken | A cancellation token that may be used to cancel the ongoing task. |
Returns
Type | Description |
---|---|
Task | A Task representing the asynchronous operation. |
RemovePlaylistItemAsync(int, CancellationToken)
Removes the playlist from the collection on the backend.
Declaration
public Task RemovePlaylistItemAsync(int index, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
int | index | The index of the playlist to remove. |
CancellationToken | cancellationToken | A cancellation token that may be used to cancel the ongoing task. |
Returns
Type | Description |
---|---|
Task | A Task representing the asynchronous operation. |
RemoveUrlAsync(int, CancellationToken)
Removes a url from the collection.
Declaration
public Task RemoveUrlAsync(int index, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
int | index | the position remove the url from. |
CancellationToken | cancellationToken | A cancellation token that may be used to cancel the ongoing task. |
Returns
Type | Description |
---|---|
Task | A Task representing the asynchronous operation. |
StartDownloadOperationAsync(DownloadOperation, CancellationToken)
Begins a download operation for this playable item.
Declaration
public Task StartDownloadOperationAsync(DownloadOperation operation, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
DownloadOperation | operation | |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task | A Task that represents the asynchronous operation. |
Events
| Improve this Doc View SourceDescriptionChanged
Raised when Description changes.
Declaration
public event EventHandler<string?>? DescriptionChanged
Event Type
Type | Description |
---|---|
EventHandler<string> |
DownloadInfoChanged
Raised when DownloadInfo is updated.
Declaration
public event EventHandler<DownloadInfo>? DownloadInfoChanged
Event Type
Type | Description |
---|---|
EventHandler<DownloadInfo> |
DurationChanged
Raised when Duration changes;
Declaration
public event EventHandler<TimeSpan>? DurationChanged
Event Type
Type | Description |
---|---|
EventHandler<TimeSpan> |
ImagesChanged
Fires when the items are changed.
Declaration
public event CollectionChangedEventHandler<IImage>? ImagesChanged
Event Type
Type | Description |
---|---|
CollectionChangedEventHandler<IImage> |
ImagesCountChanged
Fires when the merged number of images in the collection changes.
Declaration
public event EventHandler<int>? ImagesCountChanged
Event Type
Type | Description |
---|---|
EventHandler<int> |
IsChangeDescriptionAsyncAvailableChanged
Raised when IsChangeDescriptionAsyncAvailable changes.
Declaration
public event EventHandler<bool>? IsChangeDescriptionAsyncAvailableChanged
Event Type
Type | Description |
---|---|
EventHandler<bool> |
IsChangeDurationAsyncAvailableChanged
Raised when IsChangeDurationAsyncAvailable changes.
Declaration
public event EventHandler<bool>? IsChangeDurationAsyncAvailableChanged
Event Type
Type | Description |
---|---|
EventHandler<bool> |
IsChangeNameAsyncAvailableChanged
Raised when IsChangeNameAsyncAvailable changes.
Declaration
public event EventHandler<bool>? IsChangeNameAsyncAvailableChanged
Event Type
Type | Description |
---|---|
EventHandler<bool> |
IsPausePlaylistCollectionAsyncAvailableChanged
Raised when IsPausePlaylistCollectionAsyncAvailable changes.
Declaration
public event EventHandler<bool>? IsPausePlaylistCollectionAsyncAvailableChanged
Event Type
Type | Description |
---|---|
EventHandler<bool> |
IsPlayPlaylistCollectionAsyncAvailableChanged
Raised when IsPlayPlaylistCollectionAsyncAvailable changes.
Declaration
public event EventHandler<bool>? IsPlayPlaylistCollectionAsyncAvailableChanged
Event Type
Type | Description |
---|---|
EventHandler<bool> |
LastPlayedChanged
Raised when LastPlayed changes.
Declaration
public event EventHandler<DateTime?>? LastPlayedChanged
Event Type
Type | Description |
---|---|
EventHandler<DateTime?> |
NameChanged
Raised when Name changes.
Declaration
public event EventHandler<string>? NameChanged
Event Type
Type | Description |
---|---|
EventHandler<string> |
PlaybackStateChanged
Raised when PlaybackState changes.
Declaration
public event EventHandler<PlaybackState>? PlaybackStateChanged
Event Type
Type | Description |
---|---|
EventHandler<PlaybackState> |
PlaylistItemsChanged
Fires when the items in the backend are changed by something external.
Declaration
public event CollectionChangedEventHandler<IPlaylistCollectionItem>? PlaylistItemsChanged
Event Type
Type | Description |
---|---|
CollectionChangedEventHandler<IPlaylistCollectionItem> |
PlaylistItemsCountChanged
Fires when the merged TotalPlaylistItemsCount changes.
Declaration
public event EventHandler<int>? PlaylistItemsCountChanged
Event Type
Type | Description |
---|---|
EventHandler<int> |
SourcesChanged
Raised when any of the sources have changed.
Declaration
public event EventHandler? SourcesChanged
Event Type
Type | Description |
---|---|
EventHandler |
UrlsChanged
Fires when the urls are changed.
Declaration
public event CollectionChangedEventHandler<IUrl>? UrlsChanged
Event Type
Type | Description |
---|---|
CollectionChangedEventHandler<IUrl> |
UrlsCountChanged
Fires when the merged number of urls in the collection changes.
Declaration
public event EventHandler<int>? UrlsCountChanged
Event Type
Type | Description |
---|---|
EventHandler<int> |