yan music
- 4 Devlogs
- 6 Total hours
a lightweight music player application made in C++ and wxWidgets, automatically syncing with youtube playlists downloading them via yt-dlp! (and more.. in the future.. im workin on it..)
a lightweight music player application made in C++ and wxWidgets, automatically syncing with youtube playlists downloading them via yt-dlp! (and more.. in the future.. im workin on it..)
multiple playlists now work as intended! this means that…
this meant i had to do a little bit of refactoring, before i was storing a map of the playlist id with a vector of strings, now its just a vector of video ids, which made this a lot easier to implement!
probably should’ve split this into 2 devlogs, but uhh..
first: playlists + yt-dlp flags are now loaded from the config file! obviously this will be editable with a ui at some point in the future
i also added a config key for the directory that music will be downloaded! which is important…
and second: the playlist now syncs when new things are added or deleted!
this is done by storing a file with all the video ids of the playlist last time it was downloaded, and comparing it with whatever it is now, downloading individually what was added (to prevent potential ratelimits from youtube that would occur if i was just to run the command to download the entire playlist again), and deleting any songs that were removed from the playlist! (in the future, i want this to be a togglable setting as sometimes you might want to keep songs if they are removed from youtube or something)
next i want to make sure multiple playlists work properly, as i don’t want it to delete song files if a song was only removed from one playlist, or download a song that is already present from another playlist
im… sorta getting into the groove of c++!
i’ve added a new class to handle a config file, which:
json library, converting it into a struct so it can be easily read from other parts of the codenext i’ll make it so downloads are fetched from the playlists in the config with the yt-dlp flags in the config!!
i have never made anything in c++ before. this project might be a bit.. ambitious.. but i believe… i believe!!
anywayy…
i’ve set up the very very basics of this project, including:
yt-dlp command with an array of flags (which i’ll prob make configurable at some point)the first thing i plan to get done with this anyway is the syncing and downloading with youtube playlists, so my next thing will probably be creating a config file that contains links to playlists to sync with as well as any yt-dlp flags if needed!