Arlodotexe/strix-music

Move GetMediaSourceAsync to ICoreTrack

Opened this issue · 1 comments

Background

GetMediaSourceConfig is currently sitting on ICore. You can easily access this method from pretty much anywhere. If you have an ICoreTrack, simply access track.SourceCore.GetMediaSourceAsync(track).

Problem

There's no explicit problem with this (yet), but there are a few advantages to changing it.

Solution

Move GetMediaSourceAsync to ICoreTrack and ITrack directly. This has a few immediate knock-on effects:

  • This method becomes part of the merging process for collection items.
    • Removes the ambiguity of "which source should I use", without restricting you to a single source.
  • PlaybackItem can be removed and replaced with ITrack.
  • On the core side, this puts the media source into the same context as the track, which reduces development complexity in several scenarios.

This has been removed from the 0.1.0 milestone to allow us to polish and ship the update faster