From c18b374d324d5b33dbbe27c497aacd16ad761cb9 Mon Sep 17 00:00:00 2001 From: tomasklaen Date: Sat, 4 Nov 2023 15:01:06 +0100 Subject: [PATCH] docs: add faq --- README.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 05b9eb6b..b01576c0 100644 --- a/README.md +++ b/README.md @@ -736,6 +736,18 @@ This will parse the codebase for localization strings and use them to either upd You can then navigate to `src/uosc/intl/languagecode.json` and start translating. -## Why _uosc_? +## FAQ + +#### Why is the release zip size in megabytes? Isn't this just a lua script? + +We are limited in what we can do in mpv's lua scripting environment. To work around this, we include a binary tool (one for each platform), that we call to handle stuff we can't do in lua. Currently this means searching & downloading subtitles, accessing clipboard data, and in future might improve self updating, and potentially other things. + +Other scripts usually choose to go the route of adding python scripts and requiring users to install the runtime. I don't like this as I want the installation process to be as seamless and as painless as possible. I also don't want to contribute to potential python version mismatch issues, because one tool depends on 2.7, other latest 3, and this one 3.9 only and no newer (real world scenario that happened to me), now have fun reconciling this. Depending on external runtimes can be a mess, and shipping a stable, tiny, and fast binary that users don't even have to know about is imo more preferable than having unstable external dependencies and additional installation steps that force everyone to install and manage hundreds of megabytes big runtimes in global `PATH`. + +#### Why don't you have `uosc-{platform}.zip` releases and only include binaries for the concerned platform in each? + +Then you wouldn't be able to sync your mpv config between platforms and everything _just work_. And the binaries are small, this is not a problem. + +#### Why _uosc_? It stood for micro osc as it used to render just a couple rectangles before it grew to what it is today. And now it means a minimalist UI design direction where everything is out of your way until needed.