You are browsing as a guest. Sign up (or log in) to start making projects!

music player

  • 4 Devlogs
  • 5 Total hours

Native music player

Open comments for this post

1h 21m 6s logged

i added the base code for base16 themes and the skeleton sidebar (no buttons or actual pages yet)

i plan for the sidebar to do something with navigation so like a playlists button and because i want the music player to be minimal it will probably become floating and will probably become a small menu icon that when clicked will expose the Playlists button

i will probably make some sort of abstract button wrapper since i still need to make the actual full screen player ui which will at least have 3 icons (pause/play, backwards, forwards)

the slow resizing issue was fixed by using gpui’s git repository and not crates.io

the next steps are to add custom theme support which means i will need to also locate a config folder; i plan on using https://codeberg.org/dirs/directories-rs; colors will probably be in yaml so that you can copy and paste tinted-theming schemes from https://github.com/tinted-theming/schemes other config settings will likely be in toml

oh also i will need to set up automatic binary releases for amd64 and arm64 on linux and macos with github actions, which should be easier because it already uses Nix

0
0
2
Open comments for this post

1h 34m 8s logged

gpui at least with the crates.io version has very slow resizing so i might switch to iced

i have some ideas for how data will be stored:

  • sqlite for database engine via sqlx or pure rust library (depends on which one allows to decode into structs)
  • migrations can be done as a map to sql string (version -> appropriate migration)
  • each playlist can be its own database & can store its own downloaded songs because fetching from db is faster: https://sqlite.org/fasterthanfs.html
  • settings (theme) can be done in toml

i have also disabled bounds on the gpui window, so thats the screenshot

0
0
1
Open comments for this post

56m 4s logged

I set up the flake at first using rust-overlay but realized crane is probably better so I asked opencode to refactor it to use crane

The default gpui example now runs

0
0
3

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…