Live data from Hacker News

A cross-platform GUI for YouTube-dl

github.com

111–120 of 156 posts

Re: A cross-platform GUI for YouTube-dl

#112
post #75

Earlier quoted context omitted.

I just don't get these kind of comments. This person's javascript knowledge enabled him to develop this multi-platform app, it looks and feels great and does its job. Yes, it uses a lot of memory (140mb by just opening it) but how long does this stay actually open? You download some videos and close it in a few minutes. It's not a persistent use case like a chat client. youtube-dl is a 10 year old project. Where are…

And I don't get how you can be so defensive about Electron. It's technically inferior to literally any native solution such as wxwidgets or Qt. RAM usage, CPU cycles, Hard drive space... it's such a disrespectful stance on computing resources.

So use one of the many other gui front ends for youtube dl, or create your own? Post a constructive alternative here instead of just complaining?

Re: A cross-platform GUI for YouTube-dl

#113
post #90

Earlier quoted context omitted.

Agreed. The best format might be one specially defined for the job. I built a GUI-builder ages ago (in Python, compiling to Python which calls Tkinter to build the GUI). Here's a sample of what the UI-definition language looked like: https://github.com/cabalamat/parrot/blob/master/simple2.par

Looks fine and dandy but could also be represented in JSON with not much effort and then you'd be using an interchange format understood by many tools instead of a bespoke language. I'm definitely biased being a web dev but JSON is just so widely used and supported... seems ideal for small bits of config like this.

IMO, using JSON to specify a GUI would be a terrible idea. Its purpose is to serialize data for transport between disparate systems. JSON is verbose and writing anything decently complicated with it sounds like torture.

What you want for something like a GUI specification is a DSL designed for the task (e.g. QML), or a suitable general purpose language like HCL or YAML.

Re: A cross-platform GUI for YouTube-dl

#114

Earlier quoted context omitted.

This is exactly what I have been looking for, any chance you could make this public?

You don't need code for this... if you pass youtube-dl a playlist URL instead of a video URL, it will download all (public) videos from the playlist. Write a cron job for it and you're done.

Yeah, I do this with the channels I like and save them directly to my DLNA server at home using a systemd timer (i.e. cron job).

I patreon the channels, and an added bonus is no ads. I don't care too much about deleted videos, and when YouTube Premium Lite rolls out to the USA I'll pay for that (I don't listen to music so YouTube Music features are wasted money for me)

Re: A cross-platform GUI for YouTube-dl

#115
post #30

An idea that anyone is free to take: JSON-definable UI for command-line apps. Define checkboxes for flags, inputs for arguments, buttons for commands and file pickers / droppable wells for file input. Allow some customization of layout of these elements. Have in-app "store" to download these JSON definitions, maybe even suggest them based on `which` output. Electron app, obviously.

For native Mac apps, there is Platypus that does something similar: https://sveinbjorn.org/platypus

Re: A cross-platform GUI for YouTube-dl

#116
post #50

I built my own personal version where it runs in the background and automatically downloads stuff I like (I highly curate my likes) or send to select playlists. Too often I go through my favorites and see deleted videos so I just cooked up something one weekend. I have an entire hard drive dedicated as an offline archive where I can playback at anytime, search the library and it even alerts me if any video or audio I…

Do you really need Electron for this? I would implement what you describe in a headless Python (which is native to YouTube-dl and where YouTube-dl itself is available as a library) script.

Do you really need Python for this? I would implement what you describe in SwiftUI (which is native to my OS) code.

I don’t understand what you care for other people’s personal projects. Not everyone knows your favorite language.

Re: A cross-platform GUI for YouTube-dl

#117

Earlier quoted context omitted.

Because talking about it here completely misses the point. Yes, Electron has a number of problems, so what? This is an app that you open and close within 3 minutes. Open Video Downloader is a very usable software that doesn't have any direct alternatives right now to my knowledge. It's actually a good example of how a great, easily accessible UI framework can enable the creation of cross-platform apps that nobody did…

And by normalizing Electron we get even more of the same, instead of convincing people to learn better tools for the job. It's a race to the bottom.

Keep missing the point. Any tool used IS the best tool for the job until it runs and someone doesn't make a better app with a better tool. The guy is probably a JS dev and he made this as a low-impact side project. It's a really hard sell to dive into C++ or picking up some obscure framework with fraction of the community just for the sake of this (see "sad state of cross-platform gui frameworks").

It's like someone posts a phone video of a new rare animal species and you comment "A DSLR camera makes infinitely better video, it's much better suited for the job, we keep normalising bad mobile phone videos, people should use the right tool and carry a DSLR around".

Re: A cross-platform GUI for YouTube-dl

#118
post #94

Earlier quoted context omitted.

You have to define the behavour of your UI elements as well as their placement, at which point you're writing a program. The best language to write a program in is a Turing-complete programming language specially designed for that task, not some cobbled together UI-definition language with ad hoc add-ons to processing.

HTML is the only successful really cross-platform GUI system (text console, text-to-speak, Win, Mac, Lin, Android, iOS, Symbian, embedded, etc.) created so far.

Indeed. Whenever someone suggests some kind of "UI" language, I just point to HTML/CSS. It's by no means perfect, but it's good enough and as ubiquitous as anything ever.

Re: A cross-platform GUI for YouTube-dl

#119
post #30

An idea that anyone is free to take: JSON-definable UI for command-line apps. Define checkboxes for flags, inputs for arguments, buttons for commands and file pickers / droppable wells for file input. Allow some customization of layout of these elements. Have in-app "store" to download these JSON definitions, maybe even suggest them based on `which` output. Electron app, obviously.

XML based UIs already exist with GtkBuilder and QtQuick(?). Although, your idea is more complex than that.

HTML is a pretty good XML-like UI builder.

Re: A cross-platform GUI for YouTube-dl

#120
post #52

Earlier quoted context omitted.

Why JSON? Just use a simplified subset of HTML and ignore styling+scripts for commandline. And for GUI/Web you can still offer the full HTML+CSS+Scripting-experience.

Can be XML as well, but I think HTML is too complex. The goal, for me, is simplicity. It shouldn't be a hassle at all to convert a man page to a UI that speeds up actions and avoids common errors. Anyway, this idea is free, so feel free to take it and do whatever, even full HTML (:

> HTML is too complex

The suggestion was a simplified subset of HTML.

Post reply on HN