Class TrackCollectionPluginWrapper
Wraps an instance of ITrackCollection with the provided plugins.
Implements
Inherited Members
Namespace: StrixMusic.Sdk.PluginModels
Assembly: StrixMusic.Sdk.dll
Syntax
public class TrackCollectionPluginWrapper : ITrackCollection, ITrackCollectionBase, IPlayableCollectionBase, IPlayableCollectionItem, ICollectionItemBase, IPlayable, IPlayableBase, IDownloadable, IImageCollection, IImageCollectionBase, IMerged<ICoreImageCollection>, IEquatable<ICoreImageCollection>, IUrlCollection, IUrlCollectionBase, ICollectionBase, IMerged<ICoreUrlCollection>, IEquatable<ICoreUrlCollection>, IAppModel, IMerged<ICoreTrackCollection>, IEquatable<ICoreTrackCollection>, 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 |
IsPauseTrackCollectionAsyncAvailable
If true, PauseTrackCollectionAsync(CancellationToken) can be used.
Declaration
public bool IsPauseTrackCollectionAsyncAvailable { get; }
Property Value
Type | Description |
---|---|
bool |
IsPlayTrackCollectionAsyncAvailable
If true, PlayTrackCollectionAsync(CancellationToken) can be used.
Declaration
public bool IsPlayTrackCollectionAsyncAvailable { 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 |
TotalTrackCount
The total number of available Tracks.
Declaration
public int TotalTrackCount { 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. |
AddTrackAsync(ITrack, int, CancellationToken)
Adds an ITrack to this track collection.
Declaration
public Task AddTrackAsync(ITrack trackItem, int index, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
ITrack | trackItem | |
int | index | the position to insert the track 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(ICoreTrackCollection?)
Declaration
public bool Equals(ICoreTrackCollection? other)
Parameters
Type | Name | Description |
---|---|---|
ICoreTrackCollection | 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. |
GetTracksAsync(int, int, CancellationToken)
Gets a requested number of ITracks starting at the given offset.
Declaration
public IAsyncEnumerable<ITrack> GetTracksAsync(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<ITrack> | 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. |
IsAddTrackAvailableAsync(int, CancellationToken)
Checks if the backend supports adding an ITrackBase at a specific index.
Declaration
public Task<bool> IsAddTrackAvailableAsync(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 ITrackBase 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. |
IsRemoveTrackAvailableAsync(int, CancellationToken)
Checks if the backend supports removing an ITrackBase at a specific index.
Declaration
public Task<bool> IsRemoveTrackAvailableAsync(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 ITrackBase 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.. |
PauseTrackCollectionAsync(CancellationToken)
Attempts to pause the Track collection.
Declaration
public Task PauseTrackCollectionAsync(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. |
PlayTrackCollectionAsync(ITrack, CancellationToken)
Attempts to play a specific item in the track collection. Restarts playback if already playing.
Declaration
public Task PlayTrackCollectionAsync(ITrack trackItem, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
ITrack | trackItem | |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task | A Task representing the asynchronous operation. |
PlayTrackCollectionAsync(CancellationToken)
Attempts to play the Track collection, or resumes playback if already playing.
Declaration
public Task PlayTrackCollectionAsync(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. |
RemoveTrackAsync(int, CancellationToken)
Removes the track from the collection on the backend.
Declaration
public Task RemoveTrackAsync(int index, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
int | index | The index of the track 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> |
IsPauseTrackCollectionAsyncAvailableChanged
Raised when IsPauseTrackCollectionAsyncAvailable changes.
Declaration
public event EventHandler<bool>? IsPauseTrackCollectionAsyncAvailableChanged
Event Type
Type | Description |
---|---|
EventHandler<bool> |
IsPlayTrackCollectionAsyncAvailableChanged
Raised when IsPlayTrackCollectionAsyncAvailable changes.
Declaration
public event EventHandler<bool>? IsPlayTrackCollectionAsyncAvailableChanged
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> |
SourcesChanged
Raised when any of the sources have changed.
Declaration
public event EventHandler? SourcesChanged
Event Type
Type | Description |
---|---|
EventHandler |
TracksChanged
Fires when the items in the backend are changed by something external.
Declaration
public event CollectionChangedEventHandler<ITrack>? TracksChanged
Event Type
Type | Description |
---|---|
CollectionChangedEventHandler<ITrack> |
TracksCountChanged
Fires when the merged TotalTrackCount changes.
Declaration
public event EventHandler<int>? TracksCountChanged
Event Type
Type | Description |
---|---|
EventHandler<int> |
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> |