Skip to content

Releases: tomasklaen/uosc

5.2.0

06 Feb 09:55
Compare
Choose a tag to compare

Features

Fixes

Full Changelog: 5.1.1...5.2.0

5.1.1

10 Nov 08:38
Compare
Choose a tag to compare

No changes have been made, only removed upx compression from binaries to silence false positive antivirus detection.

There are still some obscure antiviruses that find our binaries suspicious due to the way go packages them. I think the only way to solve that would be to sign them (not 100% sure though), but I'm not paying to work on free stuff. If anyone is bothered by this, and would be willing to donate a code signing certificate, let me know.

If you want to check the binaries are safe, the code is in src/ziggy, and you can build them yourself by running tools/build ziggy and compare.

5.1.0

09 Nov 10:48
Compare
Choose a tag to compare

Highlights

Subtitle downloader

subdown

Available under the Download option in subtitles menu or with a direct download-subtitles command is a new menu for downloading subtitles for current file.

The service we use is Open Subtitles, which has a 5 downloads per day limit for unauthenticated IPs. Authentication bumps this to 10, which is not much of a difference and adds a lot of hassles, so it's not implemented at this time. If you need to download more than 5 subs per day, you should probably just deal with it in the browser beforehand so you don't have to fiddle with the menu every time a new file starts.

Implementation will hash the current file and send the hash to Open Subtitles so you can search even with empty query and if your file is known, you'll get subtitles exactly for it.

Subtitles will be downloaded to the same directory as currently opened file, or ~~/subtitles (folder in your mpv config directory) if playing a URL.

Default styles tweak

Default border radius and menu padding was bumped a bit to better fit/match styles of environments uosc usually finds itself in (windows, gnome, macos,...). To revert it back where it was before, set this in your uosc.conf:

menu_padding=2
border_radius=2

Release size increase clarification

The release size is now ~6 MB. This is because we are limited in what we can do in mpv's lua scripting environment, and to work around this, we now include a small 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.

And the reason we don't split the release into uosc-{platform}.zip that only includes binaries for the concerned platform is that 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.

Changelog

Features

Fixes

Documentation

Miscellaneous

Performance

  • Speed up ziggy initialization by using less aggressive binary compression (a8f040a) @tomasklaen

Refactor

Build

Tweak

Full Changelog: 5.0.0...5.1.0

5.0.0

21 Oct 11:07
Compare
Choose a tag to compare

Updating

5.0 comes with some breaking changes.

Installation

Our directory structure has changed. If you're updating manually, you should delete uosc_shared and uosc.lua in your scripts folder before installing 5.0, which is only a single uosc folder now.

Alternatively, you can use one of the new install commands in readme, and it'll take care of that for you.

Config

A lot of config options have been added, changed, or removed and replaced with new ones that are more compact and provide more customization (color, opacity, ...).

I recommend just downloading the new uosc.conf file and reconfiguring it again.

Highlights

Searchable menus

All menus in uosc are now searchable. Just start typing!

searchable_menus

Though this disables the ability to toggle the menu with the same key, if the key is just a single letter. You can disable menu_type_to_search option, and use ctrl+f or / to search instead.

For script developers: menu API now includes search related options, as well as on_search callbacks for you to implement searching on your end.

Keybinds palette

A new command uosc/keybinds now displays a command palette of all active key bindings. You can search through it to find commands/shortcuts, and what shortcut/commands they're bound to, and of course call it.

keybinds

Self updating

A new command uosc/update, which will make uosc re-install itself to update.

update

It's a bit tricky to make this work, and as a result doesn't work in all environments. See update command documentation for details.

Menu titles & separators

When defining your own menus in input.conf, there's now a new syntax for adding un-selectable titles and separators:

#    #! Section > Title
#    #! Section > ---

titles_and_separators

Localization

Localization has been added for: de, es, fr, ro, ru, zh-hans. Though not all are up to date.

To control which language you want to see we detect mpv's slang config, but you can configure it with a more fine grained priority list with uosc's languages option. See more in default uosc.conf file.

Other noteworthy changes

Added idle and audio indicators (graphics/text in the middle of screen). All can be disabled with the new disable_elements option.

Resetting by clicking on speed has been moved from primary to secondary click. This is to match the same behavior now also available on volume.

You can now control stuff like animation length (including disabling animations) and border radius with animation_duration and border_radius options.

Fixed touch input event handling.

API

If you're using uosc's API for creating menus for your scripts, there have been some changes. Your stuff still works, just a bit differently, and might need adjustments. Mainly:

  1. You no longer need to send get-version to detect uosc. This message is gone. uosc now instead sends a global uosc-version <version> message as the first thing while initializing, which you're probably already listening for. In practice, all you should need to do is just remove get-version call from your script.
  2. Implicit behavior of menu-open and menu-update was removed (menu-open would toggle, menu-update would open if not already), and there's now menu-close command. To know when you should call close or update, you can check mp.get_property_native('user-data/uosc/menu/type') to see if any menu and of what type is currently open, with a fallback of uosc-menu-type property on mp.get_property_native('shared-script-properties') for older mpv versions.

Changelog

Features

Fixes

Read more

4.7.0

15 Apr 08:42
Compare
Choose a tag to compare

Features

  • Smarter window main & alt titles deduplication @tomasklaen
  • Added menu keybinds to move and delete items in playlists @tomasklaen
  • Clicking on playlist indicator in top bar now opens playlist menu @tomasklaen
  • Apply margin to osd-margin-* (#499) @christoph-heinrich

    This should push other osd things like console out of persistent uosc elements.

Fixes

  • Lax chapter range patterns producing false positives (#454) @christoph-heinrich
  • Use the new console margins API @christoph-heinrich
  • Add ac3 to audio types (#468) @xfzv
  • Elements staying visible after switching to fullscreen @tomasklaen
  • Hide thumbnail when dragging timeline @tomasklaen
  • image disposition returning false positives @tomasklaen
  • Submenus vertically misaligned when opened via show-submenu message @tomasklaen
  • Premature thumbnail hiding during drag seeking @tomasklaen
  • Only enable/disable mouse keybinds when they change (#492) @christoph-heinrich

    This was causing event binding spam in verbose logging.

  • autohide un-registering cursor events when menu is open @tomasklaen
  • Cursor events not refreshing autohide timer @tomasklaen
  • More timeline seeking, dragging, and autohide related tweaks and fixes @tomasklaen
  • Unloading a file to idle was causing stale current directory path @tomasklaen
  • Uncalled for autohide timer triggering on init @tomasklaen

Tweaks

Full Changelog: 4.6.0...4.7.0

4.6.0

15 Feb 09:02
Compare
Choose a tag to compare

Features

Fixes

Tweak

Full Changelog: 4.5.0...4.6.0

4.5.0

07 Dec 17:17
Compare
Choose a tag to compare

Features

  • back in file menus now navigates up the directory tree @tomasklaen
  • Allow clicking timeline chapter indicators @tomasklaen

Fixes

Full Changelog: 4.4.0...4.5.0

4.4.0

28 Oct 20:31
Compare
Choose a tag to compare

Features

Fixes

Performance

Refactor

Full Changelog: 4.3.0...4.4.0

4.3.0

11 Oct 11:11
Compare
Choose a tag to compare

Features

Fixes

  • osd-align-* properties messing up the UI (#286) @hooke007
  • Some things not using correct colors @tomasklaen
  • Remove opinionated opacity tweaks @tomasklaen
  • Broken texture tiling when font_bold was enabled @tomasklaen
  • Thumbnail not clearing when dragging timeline out of window @tomasklaen
  • Icons affected by font_bold=yes @tomasklaen
  • Shuffle not really random @tomasklaen
  • Use mouse-pos property instead of keybinds (#301) @christoph-heinrich
  • Drag seeking crashing the UI during file loads @tomasklaen
  • Thumbnail not clearing when timeline dragging released outside of timeline @tomasklaen
  • Current chapter not updating on chapter list changes @tomasklaen
  • CycleButton internal prop state not initiating properly @tomasklaen
  • Title not escaping ass tags in filenames @tomasklaen
  • Title initializing prematurely and not accounting for dynamic variables @tomasklaen
  • Menu parser not ignoring other comments (#315) @Hikari

Tweaks

Documentation

  • Adjust outdated navigation looping instructions @tomasklaen
  • Clarify shuffle control and option descriptions @tomasklaen

Full Changelog: 4.2.0...4.3.0

4.2.0

02 Oct 11:23
Compare
Choose a tag to compare

Features

  • Add editions menu, editions control and has_many_editon disposition (#277) @dyphire
  • Include closing in ending chapter range patterns @tomasklaen
  • Implement external properties API @tomasklaen
  • [breaking] Implement toggle-elements <elements> message @tomasklaen
    This replaced toggle-{element} script bindings.

Fixes

  • osd-* properties messing up the UI @tomasklaen
  • Incorrect active index in audio-device menu (#276) @dyphire
  • Decouple speed and timeline visibility @tomasklaen
  • Elements colliding on small window dimensions @tomasklaen
  • Controls config default not matching script default (#283) @hooke007
  • Disable menu item pre-selection for mouse navigation @tomasklaen

Performance

Full Changelog: 4.1.0...4.2.0