Live data from Hacker News

A cross-platform GUI for YouTube-dl

github.com

71–80 of 156 posts

Re: A cross-platform GUI for YouTube-dl

#71
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.

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.

Everyone has different requirements. For many things, I'd take a quick JSON file configuration over having to write everything from scratch again and reinventing the wheel.

Like it or not, the whole low code movement is about this.

Re: A cross-platform GUI for YouTube-dl

#72

How does it manage to stay up to date? It's crucial for youtubedl which breaks regularly because youtube changed something and you now need the latest version.

The version my Linux distro supports is always helplessly outdated. But with conda I always get the latest version of youtube-dl.

Re: A cross-platform GUI for YouTube-dl

#74
post #66
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.

Everything doesn't have to be JSON ;)

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

Re: A cross-platform GUI for YouTube-dl

#75
post #7

In case you're wondering: yes, it uses Electron. Because you definitely need yet another browser just to watch youtube videos.

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.

Re: A cross-platform GUI for YouTube-dl

#76
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…

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

Re: A cross-platform GUI for YouTube-dl

#78

Earlier quoted context omitted.

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.

For a frontend dev, it makes sense to use Electron for personal projects of this variety. You don’t need to learn another language, or even another set of tools, you just build the whole thing in-browser and get a shareable UI to boot. Personally, I’m partial to the command line and to a lesser extent, TUIs, but I certainly understand building with whatever is most convenient and/or fun to the dev…especially on a per…

Full stack dev here, I work with c++ and other langs often and do work with web tech for clients, dcc scripts and plugins etc. This took me a few hours with electron because it's just js and I don't want a crummy cli, tui or generic gui look, I want something with batteries included that's easy to style, quick to add new functionality if needed (npm) and looks GOOD besides this isn't for anyone but me.

Re: A cross-platform GUI for YouTube-dl

#79
post #52

Earlier quoted context omitted.

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 (:

I don't see how yet another ui-definition-format will help to make things simpler. And what UI does a manpage need? Manpages are documents, they have no real ui.

I think op meant covering a man page for a command into a gui for the command, not into a gui for the man page.

Re: A cross-platform GUI for YouTube-dl

#80

Another self-hostable option that runs as a server (and you access with a browser): https://github.com/alexta69/metube

I was just about to ask about something like this! I looked at the page but couldn’t figure out if this allows you to watch the downloaded videos in the browser as well, does anyone know or if there is another docker/web app for that?
Post reply on HN