Open comments for this post
multiple playlists now work as intended! this means that…
- if a song is present in multiple playlists, it will only download the song once
- if a song is removed from one playlist, it will not remove it if it is present in another one
- if a song is removed from ALL playlists, it will be removed
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!
Open comments for this post
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
Open comments for this post
im… sorta getting into the groove of c++!
i’ve added a new class to handle a config file, which:
- creates config file in whatever directory it should go in (i think it’s kinda hardcoded to only function properly on linux right now… once i have things more finished i’ll definitely get windows support and maaaybe macos support!)
- serializes and deserializes the config file via the nlohmann
json library, converting it into a struct so it can be easily read from other parts of the code
next i’ll make it so downloads are fetched from the playlists in the config with the yt-dlp flags in the config!!
Open comments for this post
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:
- wxWidgets window setup
- a downloader class, which creates the directory that your music will be stored in, as well as running the
yt-dlp command with an array of flags (which i’ll prob make configurable at some point)
yes, it’s all hardcoded right now, it wont be like that forever obviously, its been 47 minutes…
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!
Open comments for this post
spent a… while… getting the backend set up on nest.. but now everything is up and running on the domain, and i can easily add new posts via sftp!!!
also did some other final things improving the markdown rendering, including line breaks, more heading levels, link underlines, images… etc…!! (which also meant the backend now serves images from a /assets url !!)
but with that… im done!!! :D
Open comments for this post
some tiny tiny little finishing touches!
- make text not wrap weirdly on the topbar on mobile
- sort posts in order of newest first (based on the timestamp thing in the metadata)
- made project cards not overly huge on desktop. it was. really big. oops
- made it so hovering over buttons on the my thoughts page still has the hover mouse cursor like any other button!!
- added fl studio to my list of software that i like. i added it to the images folder a long time ago and just … forgot about it i guess??
now.. everything should be good to ship, just gotta deploy the backend on nest! (and i promise ill make cooler stuff later… just getting warmed up… :P)
Open comments for this post
finishing(?) touches to the my thoughts section!
- post images can now be served from the backend! posts without an image will have a proper placeholder at some point, but for now… Biribiriuo.webp :P
- there is now a scrollbar if the contents of the post is big!
- improved the readability by making the background when a post is open more dark
Open comments for this post
the frontend part of the my thoughts section is now hooked up to the backend! posts are loaded from metadata sent from the server, and the post contents are now also from what is on the server!
also did some other minor things like
- fix newlines not rendering the way i wanted them to with my markdown
- actually include post date in the metadata of the .md files, just stored as a unix timestamp
still have a few more things to do with this feature like allowing there to be actual images from the server for each post, and making the post contents scrollable… which is important…!!!
Open comments for this post
got mosttt of the frontend stuff required for the my thoughts section! this includes…
- cards for each post! wraps nicely if the descriptions have different lengths/different screen sizes, etc
- the popup for when you open a note! blurs everything behind so you can read it
- markdown rendering with the marked library! this will take the text from the .md files on the server and render them in html! very awesome library :3
next, i’ll have to probably make some polishes to this ui.. and then hook it up to the backend!!!
(i’ll also have to add a few more pieces of metadata to each post, including the date it was created and an optional image to go along with it)
Open comments for this post
aaand back to my faaavorite type of programming… web dev…!!! (…. wink wink nudge nudge i dont like webdev :P)
but uh.. got a basic navbar going! i think all tailwindcss and svelte knowledge just immediately leaves my brain whenever i don’t use it for more than a day but. it redirects to the other links! it glows based on what page its actually on… its a component… and… yea!
the “my thoughts” section will be where all this post/blog stuff whatever will go! still haven’t added that frontend part yet… but that’s a later problem!
Open comments for this post
added the endpoint that fetches the contents of a post! this removes the title and description that is present at the top of the post, returning only the actual contents!!
Open comments for this post
starting the functionality of a blogging/posts system on my site!
right now im just getting back into the swing of things with programming (school has made me SO DAMN BURNT OUT OF EVERYTHING FOR THE PAST MONTH!!! AGH!!!), and have implemented a backend route to fetch .md files from a folder on the backend
this returns the name and description of the post, which will show up in a list of posts of some sort, they are declared in the first two lines of the md file, the rest is what is displayed in the actual post!
im using go for the backend (which is what i used last time i made something with a web backend, it was nice!!) with the gin library, so far, its awesome!!