ColoradoSchoolOfMines / visplay

A libmpv and Qt based application for automating and controlling media playback on any display.
https://coloradoschoolofmines.github.io/visplay/
GNU General Public License v3.0
4 stars 1 forks source link

Improved priority #10

Closed jhgarner closed 6 years ago

jhgarner commented 6 years ago

Currently, the priority system is extremely basic. I've come up with a few ideas on how to improve it and have included those below.

First, the sources file can use a numbering system extremely similar to what we have now.

Next, the asset file can extend the source priorities. If an asset isn't found in a source, the next source is checked. Building off of this behaviour, an asset can declare itself as a last resort' asset. If an asset is declaredlast resort', it is noted during the search but skipped. If another asset matching the name is found in a lower priority source, that asset will be used. Otherwise, visplay will fall back to the last resort asset it found earlier.

Finally, playlists can group together similar assets. Assuming we allow playlists to compose with other playlists, we can augment the above behaviour to make it more powerful. For example, Mozilla has their top level, or main playlist, which specifies that it should play the "intro", "new at Mozilla", and "local school" playlists. The first two are either included in the file with the main playlist or downloaded separately. The third playlist though is not given by Mozilla. As a result, Visplay begins searching other sources for that playlist. Another source can provide the missing playlist and those videos will be played where Mozilla wants them to.

Any suggestions on how to make this better? How should recursive sources be handled?