after a lot of thinking i decided to not make a music player and instead decided to instead make a really fast youtube music playlist syncer
the upstream library i was gonna use anyway does not expose YoutubeMusicClient, so i forked it and added a patch so i can use that
everything was working until i realized downloads were really slow and the fix was to add a Range header with a value of “bytes=0-” and now downloads are very fast. i suspect that this makes my code look like a real browser to youtube/google which lets me get the normal download speed.
i used rusqlite (sqlite rust wrapper) and each playlist is its own database file. i might switch to sqlx because it has compile time sql checking and has a very good async sqlite wrapper
everything should work except m3a playlist generation, there are no good m3a playlist libraries so i hand coded it myself and have not tested it yet; UPDATE: it works i tested it now
i plan on adding thumbnail deduplication, songs from the same album can have the same thumbnail
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.