Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create PlaybackManager #319

Merged
merged 23 commits into from
Dec 12, 2022
Merged

Create PlaybackManager #319

merged 23 commits into from
Dec 12, 2022

Conversation

danirabbit
Copy link
Member

@danirabbit danirabbit commented Dec 10, 2022

Currently things like playback state, actions, the queue, etc are all stored across different widget-based classes. It's a huge mess with classes having to reach across each other and keep track of their instances to do anything.

This does the least to create a PlaybackManager class with a single instance where we can eventually store the queue, take actions, etc in a way that doesn't depend on the UI and doesn't involve passing objects around between classes etc

It's obviously kind of garbage right now because it doesn't actually hold the queue or the playbin, but hopefully it makes sense how eventually we'll get there and how even just this stops some of the reaching into other classes. Especially some obviously ridiculous lines like:
((Audience.Window)((Gtk.Application) Application.get_default ()).active_window).player_page.set_subtitle (external_subtitle_file.get_uri ());

danirabbit and others added 3 commits December 10, 2022 07:45
Co-authored-by: Corentin Noël <corentin@elementary.io>
@danirabbit danirabbit merged commit 05fca05 into master Dec 12, 2022
@danirabbit danirabbit deleted the playbackmanager branch December 12, 2022 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants