I came across Youtube-dl while looking for a safe way to download YouTube videos. Youtube-dl is a project on Github and the code is public, so I assumed it was safe.
The interface however is through the command line. This is kinda cool because you learn a bit about using the console. It also looks fancy/hacker-ish to someone walking by when it’s running even though all you’re doing is downloading some videos.
However, the command line use makes it something that I cannot give others to use. Also, having to remember the arguments to pass each time you want to use it is unideal.
I wanted to make a simple app that allows you to use Youtube-dl through a GUI (Graphical User Interface). I wasn’t sure how to do this, but I recalled reading a post by Avery Lee where he explained that C++ and Win32 was what he had used to make VirtualDub. So I googled that and came across several tutorial series on YouTube on making Windows GUI applications.
Designing the GUI was fun and took about 10 minutes to do. But when it came time to code I felt that familiar knot of how the heck am I going to translate what I see/want to code…
I was surprised however by how quick the turnover was. It took about two days to go from “how on earth” to “whoa this is actually working.” I was also surprised that I could actually read a bit of C++. It certainly made a heck of a lot more sense than my first attempts at it.
Here’s what the GUI looked like when I was done,
It seems like the best way to learn anything is to just get out there and try it. So if something seems intimidating, acknowledge that but don’t shy away from it! 99% of the time if you keep at something you eventually get good at it.