uosc

Feature-rich minimalist proximity-based UI for MPV player.

LGPL-2.1 License

Stars
1.4K
uosc - 5.2.0 Latest Release

Published by tomasklaen 9 months ago

Features

  • Support overriding ziggy path with MPV_UOSC_ZIGGY environment variable (#814) (9a02a60684a8701c8d4dfaa902fca5496671e87c) @nicoo
  • More accurate file sorting on windows (#798) (d01eb25c4d0549dea55ef71c7ba6ff6ddd5ee378) @dyphire
  • Romanization support for search characters (#797) (b36cefed888c1cd2d4e0b667cc177d781c2af987) @dyphire
  • [breaking] refine option to improve features at a cost of some performance (#816) (0d7825a4ad8ffb317ec901aafff53f8e65c12aa4) @tomasklaen
  • Added flash-progress command (efd6a55b20a6676c847a78f35a2595baa44fe003) @tomasklaen
  • Add items to playlist from files menu when holding ctrl (#822) (0f970b5d8e4b819b9ed22cfab09e20cb49b6f9ee) @christoph-heinrich
  • Remaining chapter time in topbar (dc73278d657eec1b7236a4e7ad8466b6fd41f887) @tomasklaen

Fixes

  • Locale parsing related crash on some mpv builds (#794) (210a1216feed0eeb7e780b93971fa562094f6b91) @christoph-heinrich
  • Make maximize workaround windows specific (#795) (96b57b259ee6ca547564c20745531804deff0f0d) @christoph-heinrich
  • show-in-directory issue opening paths containing a comma (win) (#800) (78061a7dc6c366bfb28370f9299041fd0811762e) @Sneakpeakcss
  • toggle-ui not hiding elements when border=yes (bc9d20cb1ab535d79dd43f7c5d73040a81241d45) @tomasklaen
  • Couldn't disable buffering_indicator due to incorrect ID (#809) (79a77b1678dfc043120e6650ddbf7c92be1b106c) @christoph-heinrich
  • No window border on new mpv windows versions (cef5694f9676d812d61f4299442bccec0f2feb7a) @tomasklaen
  • Timestamp zero representation caching (#836) (63aba054ea4f78be05087950f866986d51cfc203) @christoph-heinrich
  • Incorrect top bar state after re-enabling (2eccc1bb068ff959cc17b444b11e6bdaf34795d7) @tomasklaen
  • Don't scroll to top on menu update during search (#841) (861f121c83c536f021ab4360173e71449ebb02a3) @christoph-heinrich
  • Click threshold not working when any clickable element is visible (#831) (4a4d0560b75de6e281ae6796095c06a00c6d65e3) @tomasklaen
  • keybindings and download-subtitles menus were not using palette search style (777ed2bb40d7d3b85877702ad0aacea63fc3e4e5) @tomasklaen

Full Changelog: https://github.com/tomasklaen/uosc/compare/5.1.1...5.2.0

uosc -

Published by tomasklaen 12 months ago

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.

uosc - 5.1.0

Published by tomasklaen 12 months ago

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

  • Added play-pause control shorthand (1f26c3ec23208a2498d469d3de861c27fcb9407f) @tomasklaen
  • Added ukrainian translation (#728) (4123cbe6ee6fde2ea3b54d081cf7109a7a74f501) @Helltar
  • Added menu_padding option (e5a16032636c8be2e8db8707535613bb73182e77) @tomasklaen
  • Replaced menu palette option with search_style (13eb2dc137873e15f3ce8a32527bf3963a7d2ce3) @tomasklaen
  • Added menu for downloading subtitles from opensubtitles.com (#756) (542f0db0fc65cf307ccb383cae15065dfaca3e05) @tomasklaen
  • Control gaps now shrink when not enough space (b8280b0004c242172f7811b6a263a20145fff38d) @tomasklaen
  • Support for paste in menus (81f402ad736db7b180731a4cd1501c2d98d22f1f) @tomasklaen
  • Allow pasting to start search (37675d0f55dc88b9f9bfdcc6b2111dd7417e4c69) @tomasklaen
  • Added controls to configurable opacity properties (bd068c9cd09d6505e32098402329932a05f8c81c) @tomasklaen
  • Added playlist_position to configurable opacity properties (9c087efbb5a2225362f174306673573fb96859ab) @tomasklaen

Fixes

  • Font scaling in timeline (5e757b2c34cf212373412ea42d7118d7d012a88d) @tomasklaen
  • Update simplified chinese translation (#725) (066a6dcf4e3099701de96eda6dadeac08b70f0b0) @dyphire
  • Update german translation (#727) (192c3efb16ec18ebb3be449064bb709b97a23a28) @christoph-heinrich
  • delete-file-prev not working as intended (#726) (d49f385f7dd89d23f4b008405cea579238f40678) @christoph-heinrich
  • Timeline chapter indicators not scaling appropriately (6e19bee95591e3c7653ba1d887d09e7708544eac) @tomasklaen
  • Update german translation (#731) (48f09ff1d6df92e5eacade05ace9c9979f98f027) @christoph-heinrich
  • Update simplified chinese translation (#734) (66f035b332caa6263fd0681c7217ed358eb1f581) @dyphire
  • Runtime updates for progress option (#739) (ed6dcbe0856a7b1bfec60cf693f603bd1df6dee4) @christoph-heinrich
  • Menus crash when ctrl+backspace pressed while input is empty (55789e1d325d53e5792195514cc998cb0ac66055) @tomasklaen
  • Add padding to menu width calculation (#755) (28878e425a5035ba28300f56e072c8893cfa70d4) @christoph-heinrich
  • Scale timeline timestaps border and margin (#751) (4f091d30e7a4bf0fe7198151e04d5f02e646e625) @christoph-heinrich
  • Allow a volume border of 0 (#749) (bf7f97029544f01c7a2c5447e41c357402a5e1fe) @christoph-heinrich
  • Timestamp shifting due to non monospace font (#752) (6cbf0731f3ce24df215e44e67da6c4d16d64eed5) @christoph-heinrich
  • manual pause indicator initializes as static when launched with --pause (16f61eb497f4f0fc3f0bd3a780630d111db6a45b) @tomasklaen
  • Update german translation (#747) (0a1b42936e3b94477c79183ea4430f6018a91cf9) @christoph-heinrich
  • Update simplified chinese translation (#748) (d2885dd27985846b8db9034a77b0415c7e359947) @dyphire
  • Keep selected index on menu update during search (#759) (f1c41a57fa74a4e575a92a4f04dc2930b297882d) @christoph-heinrich
  • Dynamic control shrinking would not subtract spacing (76b5fbe9115d3c653e00eb813f09e18aa4ce13e1) @tomasklaen
  • Menu separators and scrollbar not scaling properly (4cdd6c585de56464e2d7075d5f1e750df259c604) @tomasklaen
  • Loading same track twice would add a duplicate entry (de85bdebcf797860d5d210e6de7cd932636bf4f9) @tomasklaen
  • Autoload looping a file when only a single file in directory (c9826221d0c751ad1baeb08e20cb3831399a1c66) @tomasklaen
  • Correctly update proximities on mouse enter and record position (#772) (26d71a863015a3af45a41d17bb2f8678b8cde0d0) @christoph-heinrich
  • Only autohide UI when the cursor autohides (#771) (c3e5bb227039707b0f6cfab57bfa1f204d7cb054) @christoph-heinrich
  • Menu config with mpv.net (#776) (ed42152bb8c8a35051d5830c53f742e1d80fe314) @christoph-heinrich
  • Controls couldn't cycle some mpv properties (05316593971e0ced539f9f0ca24f026381736c04) @tomasklaen
  • Don't cause a fling in update_dimensions() (#778) (8df5ea6efda9cade76b152e693f760003763b56b) @christoph-heinrich
  • Scroll parent menus when opening menu by id (#780) (38e68e177167b8693125045137603b937ca0142c) @christoph-heinrich

Documentation

  • Add faq (c18b374d324d5b33dbbe27c497aacd16ad761cb9) @tomasklaen
  • Clarify how to control autohide timing (650118ebbd47a6bea85c8dd60fbab0b83a992f44) @tomasklaen

Miscellaneous

  • Restructured repo to eliminate dist directory (c173641ea54e22168b4013a0395b02519434725d) @tomasklaen

Performance

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

Refactor

  • No dynamic localization calls (36f80744fe0cf51ddeee931e8b6a6254600f770c) @tomasklaen
  • More no dynamic localization calls (7c5d4f13f3273b92ca10722f27e081958ddfafe6) @tomasklaen
  • No dynamic localization calls (6dc4c30eafec20a3941648b4607682a9ae91d462) @tomasklaen
  • Remove check before adding 0.5 to cursor position (#770) (a7ee37c1d7ff1433f549ddb01009111fb60d8e08) @christoph-heinrich

Build

  • Added building, packaging, and localization tools (#744) (656ddcfb9bd31bf10ff7fe043b8c09b71c860030) @tomasklaen
  • Fixed unix build script syntax (#758) (16e8ca36894e8ff5e5e4d343cae6ed3cbcb3fea8) @christoph-heinrich
  • Fix ziggy build on unix (88e15cac576b22fb1c8795fc970ceba7a88caf32) @tomasklaen
  • Fixed packaging tool reporting total instead of compressed size (8d2dfc4b0067c53fb1e6a6a2ea8fb51fbdd59f01) @tomasklaen

Tweak

  • Menu separators restyled a bit (96685b59fe81b2511f8d1f635a6b82760c5f3b9b) @tomasklaen
  • Bumped default border_radius from 2 to 4 (18e81c27f4cbf0fa7e4f730c8cc1c38e51d53d85) @tomasklaen
  • Tweaked subtitle downloader messages (b862387becf57b14cfb17663f4f1bb142fbb991a) @tomasklaen
  • Update scroll position when moving items like when navigating (#763) (448d408d1a8c8fe4fd7e21df995af9bd8e493b1b) @christoph-heinrich
  • Bumped timeline cursor line opacity (d8044770eeb04dcd0a16af3dbfb985861ec7dd17) @tomasklaen
  • Always scroll to selected index on menu open (#779) (a9c83bb73be77d11a517b6443c282ee712a3bd3b) @christoph-heinrich
  • Chapter indicator sizing (6d329f959baec26234ded81ea81335241dd7b1a0) @tomasklaen

Full Changelog: https://github.com/tomasklaen/uosc/compare/5.0.0...5.1.0

uosc - 5.0.0

Published by tomasklaen about 1 year ago

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

  • Internationalization (#518) @natural-harmonia-gropius
  • French translation (#521) @po5
  • Spanish translation (#523) @po5
  • Dynamic localization strings and caching @tomasklaen
  • add-intl-directory APi for scripts to extend localization @tomasklaen
  • Romanian translation (#531) @po5
  • German translation (#532) @christoph-heinrich
  • Scroll to new position after moving item in menu (#552) @christoph-heinrich
  • Menu items now accept selectable and align options @tomasklaen
  • Improved menu cursor navigation @tomasklaen
  • Shuffle now prevents repeating same files often @tomasklaen
  • Dropped compatibility for mpv 0.32 and below @tomasklaen
  • Add russian translation (#597) @shvchk
  • Fast seek in timeline based on cursor velocity @tomasklaen
  • Open chapters menu when clicking on current chapter in title @tomasklaen
  • Added background to tooltips (#621) @christoph-heinrich
  • Initial support for updating options at runtime (#571) @christoph-heinrich
  • Searchable menus (#625) @christoph-heinrich
  • Search by first character of each word (#644) @christoph-heinrich
  • Added top_bar_flash_on option @tomasklaen
  • Added show_hidden_files option @tomasklaen
  • Redesigned menu title & search input (#650) @tomasklaen
  • Palette menus (#652) @tomasklaen
  • [breaking] Menu script-message changes (#653) @christoph-heinrich
  • Added search_submenus prop to menus (#655) @tomasklaen
  • Update german translation (#659) @christoph-heinrich
  • Reworked timeline progress mode (#661) @tomasklaen
  • windowed and fullscreen added to available element persistency states @tomasklaen
  • inputs command to display a palette menu with all active keybindings (#665) @tomasklaen
  • [breaking] Reworked config options for fullscreen scale adjustments (#664) @tomasklaen
  • Added border_radius option @tomasklaen
  • Improved menu title & hint clipping logic (#668) @christoph-heinrich
  • [breaking] Reworked opacity options (#680) @tomasklaen
  • Added animation_factor option to control animation speed @tomasklaen
  • Navigating menu with up/down/home/end keys is now instant with no animation @tomasklaen
  • Added audio indicator for audio files without cover @tomasklaen
  • Support for creating menu titles and separators in input.conf (#681) @tomasklaen
  • Changed animation_factor option to animation_duration @tomasklaen
  • Scripts to install or update uosc with a single command (#691) @tomasklaen
  • Added disable_elements option and disable-elements script message (#695) @tomasklaen
  • Added idle indicator, and an ability to control indicator opacities @tomasklaen
  • [breaking] Changed modifier to force open directory in file menus from ctrl to alt @tomasklaen
  • Dynamic volume icon (#699) @dyphire
  • [breaking] Reworked color options @tomasklaen
  • Right click on volume or speed to reset them @tomasklaen
  • Configurable background opacity for buffering indicator (#703) @christoph-heinrich
  • Added update command to update uosc (#700) @tomasklaen
  • Removed get-version in favor of early uosc-version broadcast (#714) @christoph-heinrich
  • Renamed inputs command to keybinds @tomasklaen
  • Improved escape and backspace behavior in menus (#719) @tomasklaen

Fixes

  • Failing to detect macos platform (#513) @christoph-heinrich
  • Language priority (#525) @natural-harmonia-gropius
  • en locale not working (#526) @natural-harmonia-gropius
  • Translate audio channels and devices list (#520) @po5
  • Take parameter values into account when caching translations @po5
  • Use string type for all translation formatting @po5
  • Update simplified chinese translation (#534) @natural-harmonia-gropius
  • Translate topbar when no file (#533) @natural-harmonia-gropius
  • Update spanish, french, romanian translations (#537) @po5
  • Remove redundant menu title translation @tomasklaen
  • Translate built-in menu titles (#539) @po5
  • Translate fallback chapter title (#540) @po5
  • Show empty placeholder for empty menus (#546) @natural-harmonia-gropius
  • Take window_border_size into account for thumbnail positioning (#553) @po5
  • Take window_border_size into account for tooltip positioning (#554) @po5
  • Don't translate strings from input.conf @tomasklaen
  • Removed add-intl-directory API @tomasklaen
  • Window title click events preventing window dragging @tomasklaen
  • Crash when opening a non blurred menu (#565) @christoph-heinrich
  • Removed debugging leftovers @tomasklaen
  • Menu back navigation resetting selected index @tomasklaen
  • Crashes when dealing with invalid UTF-8 strings (#579) @christoph-heinrich
  • Use mp.get_script_directory() instead of relative paths @tomasklaen
  • Crash when a script menu update renders selected index unavailable (#591) @po5
  • Make the install procedure on linux use XDG_CONFIG_HOME (#595) @evantj
  • Error in matching pattern caused some files to be recognized as magnet links @tomasklaen
  • Remove redundant symbol order from sorting algorithm (#608) @christoph-heinrich
  • Stale (closed) menus triggering input events (#612) @tomasklaen
  • Vertically misaligned number in playlist indicator @tomasklaen
  • Crash when selecting "Empty" in chapters menu (#626) @christoph-heinrich
  • Top bar enabled checks (#628) @christoph-heinrich
  • Don't select not selectable items (#627) @christoph-heinrich
  • Menu height and positioning (#629) @christoph-heinrich
  • Crash when using wrong syntax for speed scale (#633) @christoph-heinrich
  • prev commands now play previously played file even when shuffle is enabled @tomasklaen
  • Selected_index norm in reset_navigation() (#634) @christoph-heinrich
  • Shuffle history couldn't go back more than once (#635) @tomasklaen
  • Case insensitive menu search (#638) @christoph-heinrich
  • Prepare for shared-script-properties removal (#640) @christoph-heinrich
  • External search in menu (#642) @christoph-heinrich
  • Stream quality selection (#641) @christoph-heinrich
  • Adapt to the new title-bar state of mpv (#643) @dyphire
  • Render spaces at the end of the search query (#648) @christoph-heinrich
  • Search not selecting 1st item in results (#651) @tomasklaen
  • search_suggestion submitting externally handled searches @tomasklaen
  • Search backspace deleting unicode characters (#657) @christoph-heinrich
  • Menu positioning and sizing polish (#654) @tomasklaen
  • Update simplified chinese translation (#660) @dyphire
  • Add cue to audio types (#662) @xfzv
  • Menu title and search not clipped properly in extremely tiny windows (#658) @christoph-heinrich
  • Add sbv to subtitle types (#663) @dyphire
  • Progress line width broken in #661 @tomasklaen
  • Window border enable logic for non windows (#676) @christoph-heinrich
  • search_submenus inheritance, missing docs, and ass_safe_title cache not clearing @tomasklaen
  • Updating the menu while using the internal search (#677) @christoph-heinrich
  • Volume slider crash when no audio (#678) @christoph-heinrich
  • user-data/uosc/menu/type backwards compatibility, and being nil means closed (#673) @christoph-heinrich
  • Default items not cached when input.conf was empty @tomasklaen
  • Elements instantly disappearing instead of fading out on mouse leave @tomasklaen
  • Updated german translation (#684) @christoph-heinrich
  • Element fadeout bugs when cursor leaves/re-enters window @tomasklaen
  • Hide audio indicator when displaying static pause indicator @tomasklaen
  • No window border on older windows mpv versions @tomasklaen
  • Update simplified chinese translation (#698) @dyphire
  • Typo in cursor event binding @tomasklaen
  • Division by zero when animating from and to same value @tomasklaen
  • Position update before mbtn_left down handler (#705) @christoph-heinrich
  • Render after menu fling (#707) @christoph-heinrich
  • Use the preferred portable shebang in unix installer @tomasklaen
  • Touch events firing before handlers are bound (#708) @christoph-heinrich
  • Default colors not using correct format @tomasklaen
  • Missing delete-file-prev command @tomasklaen
  • Update german translation (#701) @christoph-heinrich

Miscellaneous

  • Correct typos in uosc.conf (#594) @felixonmars
  • Changed license to LGPL-2.1 @tomasklaen
  • Remove typo from cSpell.words @tomasklaen

Performance

  • Cache menu title translation (#524) @po5

Refactor

  • Use local function where appropriate @tomasklaen
  • Improved protocol matching patterns @tomasklaen
  • Use cicular buffer for cursor.history @christoph-heinrich
  • Use new velocity measurement for menu flings @christoph-heinrich
  • Use itable_has for text wrapping (#646) @christoph-heinrich
  • Rename first_word_chars() to initials() (#649) @christoph-heinrich
  • Mouse position initialization @tomasklaen
  • Use math.huge (#692) @christoph-heinrich
  • Use comma_split where appropriate @tomasklaen
  • Cursor event handling @tomasklaen
  • Tween nan prevention @tomasklaen
  • Various code reshuffling and renames @tomasklaen

Styling

  • Reconfigured and run the whole codebase through lua formatter @tomasklaen

Testing

  • Add chapter ranges pattern tests (#519) @christoph-heinrich

Build

  • Improved install scripts @tomasklaen
  • Fix config path used by MacOS installer @tomasklaen

Tweak

  • Elements with min_visibility > 0.5 cause a margin (#508) @christoph-heinrich
  • Include number in fallback edition title (#529) @po5
  • Handle plural in audio track list (#530) @po5
  • Remove text shadow in menu (#679) @christoph-heinrich
  • Prevent dynamic volume icon from shifting horizontally @tomasklaen
  • Bumped curtain brightness and opacity to prevent menus blending into background @tomasklaen
  • Transparent outline for full volume icon (#704) @christoph-heinrich
  • Made tooltips & thumbnail in timeline use same gaps both horizontally and vertically @tomasklaen
  • Removed paused from default timeline_persistency @tomasklaen

Full Changelog: https://github.com/tomasklaen/uosc/compare/4.7.0...5.0.0

uosc - 4.7.0

Published by tomasklaen over 1 year ago

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

  • Add padding to title (#484) @christoph-heinrich
  • Treat italic as a width offset rather then a factor (#506) @christoph-heinrich

Full Changelog: https://github.com/tomasklaen/uosc/compare/4.6.0...4.7.0

uosc - 4.6.0

Published by tomasklaen over 1 year ago

Features

  • Add use_trash option (#394) @dyphire
  • Added destination_time option and deprecated total_time (#399) @Michael
  • Better alphanumerical sorting (#426) @christoph-heinrich
  • Added an API to overwrite uosc key bindings (#430) @tomasklaen
  • Added options to display alternative top bar title @tomasklaen
  • Flash top bar when new file is loaded @tomasklaen
  • Added show-submenu-blurred message listener @tomasklaen
  • Trim unnecessary 00: from timestamps in durations shorter than an hour @tomasklaen
  • Split media_types option into video_types, audio_types, and image_types @tomasklaen
  • Added autoload_types option @tomasklaen
  • ctrl+enter in file menus will load selected directory @tomasklaen
  • Made ctrl+click in file menus behave just like ctrl+enter does @tomasklaen
  • Visually distinct a-b loop indicators @tomasklaen
  • Add on_close command to menu API (#449) @christoph-heinrich

Fixes

  • A-B loop crash (#389) @christoph-heinrich
  • Proximity visibility not being reset when toggling elements off @tomasklaen
  • Declare variable before function using it (#396) @christoph-heinrich
  • Add dts to media_types (#398) @xfzv
  • Touch input (#412) @christoph-heinrich
  • mouse-pos can be nil (#418) @christoph-heinrich
  • Buffered time not accounting for speed @tomasklaen
  • Buffered time respects minus in time remaining (#424) @christoph-heinrich
  • Top_bar's visibility sometimes stuck when going fullscreen @tomasklaen
  • Menus not toggling off after being updated @tomasklaen
  • Infinite margin on initialization (#362) @christoph-heinrich
  • File menu back feature broken by b9cc1cc @tomasklaen
  • Click to the left of file menus navigating up instead of closing the menu @tomasklaen
  • 54bb9d6 prevented loading audio/subtitle tracks from other video files @tomasklaen
  • Timestamp offsets should respect the trimmed time width (#443) @christoph-heinrich

Tweak

  • Buffered time threshold based on displayed value (#423) @christoph-heinrich

Full Changelog: https://github.com/tomasklaen/uosc/compare/4.5.0...4.6.0

uosc - 4.5.0

Published by tomasklaen almost 2 years ago

Features

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

Fixes

  • Menu prev/next navigation shouldn't smooth scroll @tomasklaen
  • text_width() ignoring global font_bold option @tomasklaen
  • File menu not updating active item and other menu issues @tomasklaen
  • open-config-directory not opening correct folder on windows @tomasklaen
  • Controls activating when overlapping chapter is clicked (#373) @christoph-heinrich
  • Osd resolution initializing incorrectly (#383) @christoph-heinrich
  • Always enabled cache triggering uncached ranges (#385) @christoph-heinrich

Full Changelog: https://github.com/tomasklaen/uosc/compare/4.4.0...4.5.0

uosc - 4.4.0

Published by tomasklaen almost 2 years ago

Features

  • Implement set-min-visibility message listener @tomasklaen
  • Drag to scroll for menu (#331) @christoph-heinrich
  • Smooth menu scrolling @tomasklaen
  • Improved text width measuring (#322) @christoph-heinrich
  • Better file sorting (#338) @christoph-heinrich
  • Add timeline_cache option to disable cache indicators @tomasklaen
  • Implement special spinner icon for menus @tomasklaen

Fixes

  • Properly update title (#318) @christoph-heinrich
  • Don't render empty title (#319) @christoph-heinrich
  • Buffered time x bounds calculation (#323) @christoph-heinrich
  • Menu title/hint clipping (#321) @christoph-heinrich
  • Use ass_safe_title (#328) @christoph-heinrich
  • Spacing and clipping in menu (#325) @christoph-heinrich
  • Touch input (#327) @christoph-heinrich
  • Pause while dragging the timeline (#335) @Hikari
  • Urls without slashes not recognized as urls (#336) @Hill-98
  • Tone down buffering indicator @tomasklaen
  • Update Controls on Timeline.enabled changes @tomasklaen
  • Windows check for sorting (#345) @christoph-heinrich
  • Restore leading zero sorting (#342) @christoph-heinrich
  • Selection on mbtn_up requires mbtn_down first (#348) @christoph-heinrich
  • Menu title when browsing files (#349) @christoph-heinrich

Performance

  • Faster filename sorting (#341) @christoph-heinrich
  • Optimize serialize_path (#346) @christoph-heinrich
  • Optimize normalize_path (#347) @christoph-heinrich
  • Optimize reading directories @tomasklaen

Refactor

  • Modularize the codebase @tomasklaen
  • Change directory structure to support mpv 0.32 and lower @tomasklaen

Full Changelog: https://github.com/tomasklaen/uosc/compare/4.3.0...4.4.0

uosc - 4.3.0

Published by tomasklaen about 2 years ago

Features

  • Implement flash-ui binding and flash-elements message @tomasklaen
  • Add buffering indicator (#292) @christoph-heinrich
  • Better buffering detection (#298) @christoph-heinrich
  • Implement click_threshold and click_command options @tomasklaen

    This deprecates pause_on_click_shorter_than option!

  • Update default menu items @tomasklaen
  • Automatically choose between fast and exact seeking (#302) @christoph-heinrich
  • Add external hint for tracklist menu (#289) @dyphire
  • Make toggle and cycle controls work with external properties @tomasklaen
  • Move @ in control badge props from prefix to suffix for consistency @tomasklaen

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

  • Thumbnail border style @tomasklaen
  • Scale BufferingIndicator with window @tomasklaen
  • click_threshold descrition and top bar subtitle offset @tomasklaen

Documentation

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

Full Changelog: https://github.com/tomasklaen/uosc/compare/4.2.0...4.3.0

uosc - 4.2.0

Published by tomasklaen about 2 years ago

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

  • Optimize chapters menu serialization (#281) @dyphire

Full Changelog: https://github.com/tomasklaen/uosc/compare/4.1.0...4.2.0

uosc - 4.1.0

Published by tomasklaen about 2 years ago

Features

  • Support single chapter ads (#262) @christoph-heinrich
  • Add idle disposition (#271) @dyphire
  • Make *_persistency support idle (#274) @hooke007
  • Show vids icon if the current file contains multi vid-tracks (#273) @hooke007

Fixes

  • Ads end could be recognized as single chapter ad (#263) @christoph-heinrich
  • Draw chapter indicators of chapter ranges (#264) @christoph-heinrich
  • A couple config defaults not matching script defaults (#265) @hooke007
  • Progress line range adjustments producing inaccurate timeline @tomasklaen
  • Show default menu when input.conf doesn't exist (#269) @christoph-heinrich
  • Render when thumbnail size changes (#267) @christoph-heinrich
  • Speed not inheriting timeline visibility @tomasklaen
  • Seeking on paused video would trigger autoload @tomasklaen
  • New progress indicator line behavior (#270) @christoph-heinrich

Full Changelog: https://github.com/tomasklaen/uosc/compare/4.0.1...4.1.0

uosc - 4.0.1

Published by tomasklaen about 2 years ago

Fixes

  • Confusing collisions between progress line and timeline ranges @tomasklaen

Full Changelog: https://github.com/tomasklaen/uosc/compare/4.0.0...4.0.1

uosc - 4.0.0

Published by tomasklaen about 2 years ago

A huge update that brings controls bar, thumbnails, textures, UI polish, and tons of other features!

uosc now requires multiple files to be installed, so grab the uosc.zip archive below with all of the requirements instead of just downloading the script from repository.

It's also a good idea to re-download the default config file and reconfigure your uosc. A lot has changed.

Note: to get thumbnails, you need to install thumbfast.

Features

  • Add show-menu message handler @tomasklaen
  • Add get-version message handler @tomasklaen
  • Improve show-menu api @tomasklaen
  • Add audio-device command (#140) @hooke007
  • Thumbfast intergration (#213) @Eva
  • Only stretch the line when size_min is bigger than 0 @tomasklaen
  • Always display volume controls, and visualize no audio @tomasklaen
  • Don't show tooltips for chapters that only end a range (#153) @christoph-heinrich
  • Better default config for chapter ranges (#165) @christoph-heinrich
  • Support osc-margins shared-script-property (#166) @christoph-heinrich
  • Implement controls bar @tomasklaen
  • Improve menu styling @tomasklaen
  • Improve track selection menus @tomasklaen
  • Add tooltips @tomasklaen
  • Add update-menu API @tomasklaen
  • [breaking] Consolidate all *_font_scale options into one font_scale @tomasklaen
  • Improve volume slider visuals @tomasklaen
  • Added text_border option @tomasklaen
  • Mouse wheel on menu now scrolls by 3 items at a time @tomasklaen
  • Add has_sub and has_chapter dispositions (#207) @dyphire
  • [breaking] Added textures to improve indicators and other visuals @tomasklaen
  • [breaking] Improve chapters rendering style @tomasklaen
  • [breaking] Convert timeline_chapters option into timeline_chapters_opacity @tomasklaen
  • Display buffered time in timeline @tomasklaen
  • New items, load-audio, load-video commands @tomasklaen
  • Added counters and other badges to control buttons @tomasklaen
  • [breaking] Changed peek-{x} commands to toggle-{x} @tomasklaen
  • Improved top bar playlist position indicator @tomasklaen
  • Added control bar button badge limits @tomasklaen
  • Added has_many_* disposition types @tomasklaen
  • Show current chapter as a top bar subtitle @tomasklaen
  • [breaking] Accept colors in RGB(A) HEX format @tomasklaen
  • [breaking] Improve chapter_ranges serialization @tomasklaen
  • Add top_bar_title_opacity option @tomasklaen
  • Implemented shuffle and autoload options @tomasklaen
  • Implemented menu-blurred command @tomasklaen
  • Set uncached ranges as early as possible (#244) @christoph-heinrich
  • Implemented buffered_time_threshold option @tomasklaen
  • Implement chapter_range_patterns option @tomasklaen
  • [breaking] Removed wasd and hjkl menu navigation @tomasklaen

Fixes

  • -A LOT of fixes, most of them related to 4.0 development. See the full changelog below when interested.

Refactor

  • [breaking] active and selected_index menu API @tomasklaen
  • [breaking] Removed color_ prefixes from options @tomasklaen

Full Changelog: https://github.com/tomasklaen/uosc/compare/3.1.2...4.0.0

uosc - 3.1.2

Published by tomasklaen about 2 years ago

Features

  • Always disable the original osc (#128) @hooke007

    With this, setting osc=no in mpv.conf is theoretically not needed anymore, but just to be safe we are going to keep it as a recommended installation step.

Fixes

  • Drives menu unable to read drives in player idle mode @tomasklaen

Full Changelog: https://github.com/tomasklaen/uosc/compare/3.1.1...3.1.2

uosc -

Published by tomasklaen about 2 years ago

Fixes

  • Menu cursor detection ignoring updated items @tomasklaen

    This was causing self updating menus (subtitles, audio, chapters, ...) to ignore cursor movement and not be clickable.

uosc - 3.1.0

Published by tomasklaen about 2 years ago

Features

  • File navigation menus now support traversing to other drives on Windows (#124) @Hill-98
  • Add an ability to open submenus @tomasklaen
    R    script-message-to uosc show-submenu "Utils > Aspect ratio"
    
  • Add time_precision option @tomasklaen

    Use to display sub second precision in timeline timestamps. For example, setting to 2 will produce 00:00:00.42.

  • Provide default context menu @tomasklaen

    If there is no context menu defined in input.conf and user calls uosc/menu binding, there will now be a pre-configured menu with common actions.

  • Preselect previous folder when navigating up the file tree @tomasklaen
  • Preselect 1st item when opening new menus @tomasklaen

Fixes

  • Menu item navigation not selecting the scrolled to index @tomasklaen
  • Color chapters to the left of the progress line were colored with background color @tomasklaen
  • Adjust and visualize time area padding due to line width @tomasklaen
  • Correct hovered menu item detection @tomasklaen
  • Show timeline adjacent elements during peek-timeline even when cursor is hidden @tomasklaen
  • Load subtitles menu loosing allowed types filter during navigation @tomasklaen
  • Directory navigation menus pre-selecting 1st item instead of 1st path @tomasklaen

Full Changelog: https://github.com/tomasklaen/uosc/compare/3.0.0...3.1.0

uosc -

Published by tomasklaen about 2 years ago

Features

  • [BREAKING!] New default timeline progress style line. Line is semantically and visually the most appropriate way to represent current time. Doing it with a bar was sub-optimal as it collides with chapter and cached ranges so there was just too many bars on top of each other, making it harder to tell what's going on.

    This comes with 3 new options to control the line:
    timeline_line_width=2 to control the width in windowed mode
    timeline_line_width_fullscreen=3 to control the width in fullscreen mode
    timeline_line_width_minimized_scale=10 to scale the line 10x when the timeline is minimized so the position is more visible

    If you want the old progress bar back, just set timeline_style=bar.
  • [BREAKING!] Implemented consistent scrolling direction among elements. Scrolling up now always increases the value. This affects timeline_step, speed_step, and volume_step. Set these values to negative to flip the direction. (#87) @christoph-heinrich
  • Speed step can now be a factor by enabling speed_step_is_factor=yes (#108) @christoph-heinrich
  • Support for high dpi displays, as well as new ui_scale option (#91) @christoph-heinrich
  • Playlist, subtitle, audio, video and chapter menus now update while opened (#98) @christoph-heinrich
  • Hovering over timeline now displays the title of the current chapter above the timestamp (#93) @christoph-heinrich
  • default_directory=~/ option that controls the default location of open-file menu when triggered without any open file, or when watching a stream
  • Menus now shows more information about tracks (#99) @christoph-heinrich
  • Context menu now allows creating empty folders with # ignore #! Folder title > (#101) @christoph-heinrich
  • Added menu_min_width=260, menu_min_width_fullscreen=360, and menu_parent_opacity=0.4 options (#115) @christoph-heinrich
  • Display playlist position in window title (#120) @po5
  • Added timeline_chapters_width=6 option to control the width of each chapter display format (#119) @po5
  • Other small UI tweaks and fixes...

Changes

  • [BREAKING!] chapters and chapters_opacity options renamed to timeline_chapters and timeline_chapters_opacity

Fixes

  • Playlist items were ignoring title
  • Compatibility with lua 5.1 used by some mpv builds (#113) @christoph-heinrich
  • When starting the player paused, the static pause indicator was not shown (#88) @christoph-heinrich
  • UI not re-rendering on cache and remaining time updates (#89, #104) @christoph-heinrich
  • Menu items not initializing properly on dynamic menus (#97) @christoph-heinrich
  • Various UI crashes (#100, #107) @christoph-heinrich
  • Text width estimation not accounting for different hint size (#103) @christoph-heinrich
  • Volume bar showing when there is no audio (#109) @Natural-Harmonia-Gropius
  • Fixed text width estimation for asian text (#112) @Natural-Harmonia-Gropius
  • Context menu showing untrimmed whitespace characters (#101) @christoph-heinrich
  • Subtitle loader not normalizing path correctly (#117) @tinkernels
  • Menu button was sometimes closing the menu immediately after opening it

Full Changelog: https://github.com/tomasklaen/uosc/compare/2.17.0...3.0.0

uosc -

Published by tomasklaen about 2 years ago

Added

  • default_directory option - if there is no file open, this is the open-file menu directory that will be used. ~/ by default.

Older change logs are available here: CHANGELOG.md