[meta] Rewrite player.py
Merge request !67 (merged) has been a huge step forward to simplify
player.py code. However, a lot of changes are still needed. A lot of new features cannot be added because of this.
This issue tries to tackle all the necessary steps and discussions to achieve this rewrite.
MPRIS code is too intertwined: MPRIS should just be a consumer/actor on the player object
- Investigate what functionality does the MPRIS object really need and expose that in a sensible way
Discovery can be ripped out, but is the current design of discovery how we want it?
Maybe just lazily discover the whole playlist on load? (how does that work with shuffle?)
Is discovery a function of the player object or is it just a task to run on a new playlist?
Split logic and UI
Does playlist order logic really belong here: shuffle/repeat etc. or are they a function of the playlist itself?
Playershould not mess with a
Not necessarily in the right order
- Factor out gstreamer !67 (merged)
- Split logic and ui !124 (merged)
- Rethink MPRIS and player interactions
- Rethink discovery logic (!182 (merged))
- Rethink playlist logic (!182 (merged))
Playershould not interact with a