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

Full code base rewrite & some features #98

Open
3 of 9 tasks
qxb3 opened this issue Feb 27, 2025 · 0 comments · May be fixed by #109
Open
3 of 9 tasks

Full code base rewrite & some features #98

qxb3 opened this issue Feb 27, 2025 · 0 comments · May be fixed by #109
Assignees
Labels
enhancement New feature or request

Comments

@qxb3
Copy link
Owner

qxb3 commented Feb 27, 2025

Motivations:

EDIT: this rewrite will be fum's v2.

  • Everything is confusing.
  • mpris crate doesn't support async and unmaintaned.
  • Everything is done thru polling because of above. Meaning that every some milliseconds or whatever u put in the fps it will fetch a new music info which is not ideal for performance and i want to update the song as soon as the music metadata changes.
  • I want async
  • I want async
  • I want async
  • Please let me have my beloved tokio!
  • Transitioning to async means that fetching and displaying the cover art will be done async and will not block rendering, same can said on input handling.
  • So i can procrastinate on other projects.
  • Also be rewriting the internals of widget placements. Things can be unpredictable.

Features i want to add (no pinky promise):

  • Have an option to just play your mp3's. This way fum will be a dedicated music player instead of relying on mpris. mpris feature will still exists and will be the default and will be the secondary, fum being a dedicated music player will be the default.
  • Track or Playlist viewer / selector widget. so this thing can be possible (it looks so cool)
  • discord rpc
  • Config hot reload

Image

Progress / TODO's

  • mpris implementation (mostly done or usable)
  • basic terminal functionality (rendering, input handling)
  • display music infos (non widget way just for prototyping)
  • play .mp3
  • decode that .mp3 metadata
  • reimplement widget including the placement of them
  • config hot reload Auto reload config #42
  • [some more will be added in here]
  • done
@qxb3 qxb3 added the enhancement New feature or request label Feb 27, 2025
@qxb3 qxb3 self-assigned this Feb 27, 2025
@qxb3 qxb3 pinned this issue Feb 27, 2025
@qxb3 qxb3 linked a pull request Feb 28, 2025 that will close this issue
@qxb3 qxb3 linked a pull request Feb 28, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant