Skip to content

Commit

Permalink
docs: add faq
Browse files Browse the repository at this point in the history
  • Loading branch information
tomasklaen committed Nov 4, 2023
1 parent de85bde commit c18b374
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

0 comments on commit c18b374

Please sign in to comment.