making an app 1

WIP mac (+ios?) app to stream music from my Navidrome2 server. Not because I hate the ones available but because I tried Sonar and liked the list view and wanted to replicate it but pretty and on my phone too maybe.

big caveat!! -> i’ve never made an app before so it my notes seem stupid that’s why, also learning swift/swiftui as i go

so far in what i’ve learnt it looks like creating the ui/modelling the data is pretty easy, the big thing i’d like to do that i’m not sure about is storing the music library data locally, which either means big blocking scans of navidrome or some kind of background sync/data load process(?)

i guess the alternative is doing it cache style?? fetch and store locally as i go?? idk

there’s some helpful inspo and stuff i can reference in this project

wip notes

enum PlayerState

Handling settings in their own class like any other persistent data?? Is there a better way??

subsonic api response struct

api handler/manager that:

library manager that:

probs makes sense to have the player/queue stuff handled as like a single instance class thing, then all buttons and views can reference that too

where to add logic that updates the db with new data/cleans up old data?? to model? api client? it’s own thing?? trigger from task tho i guess

update list view with a selector toggle in the toolbar to list by artist, album, or track. if album is selected for example we can change the top level for each to use our releaselistitem rather than artist list item, and same if track is selected?? it will also need to change the query!!

search should influence the query parameter tooooo, search string should show matches based on artists, release names or tracks maybe

add duration to tracks / releases in ui?

  1. created 18/9/25, updated 24/9/25 

  2. navidrome