Skip to content

Releases: brahmkshatriya/material-osc

0.0.12

Choose a tag to compare

@github-actions github-actions released this 31 Jul 15:12
d76fb94

Installation

  1. Download material-osc.zip and
    thumbfast.lua.
  2. Unzip material-osc.zip into your mpv configuration directory, then place
    thumbfast.lua beside material-osc.lua in the scripts directory.

The usual mpv configuration directories are:

  • Linux and macOS: ~/.config/mpv/
  • Windows: %APPDATA%\mpv\

The resulting layout should look like this:

📁 mpv
├── 📁 fonts
│   ├── material-osc_icons.otf
│   └── material-osc_google_sans_flex.ttf
├── 📁 scripts
│   ├── material-osc.lua
│   └── thumbfast.lua
└── 📁 script-opts (optional)
    ├── material-osc.conf
    └── thumbfast.conf

What's New

  • Added display-aspect overrides to the Crop settings, with presets for Original, 16:9, 21:9, 4:3, 1:1, and 9:16. Crop and aspect modes now clear conflicting video settings when selected.
  • Added show_remaining_time for choosing the default playback-clock mode and adjust_time_with_speed for adjusting elapsed, remaining, and total displayed time to the current playback speed.
  • Local movie and episode filenames are now cleaned automatically when the optional Python guessit package is installed, while preserving mpv's normal titles when it is unavailable.
  • Added show_empty_screen for hiding the welcome screen when the playlist is empty.
  • Improved Windows configuration and updater handling, including paths containing spaces and creation of temporary update directories.
  • Refactored filesystem, web-request, subprocess, dialog, timer, and persistence handling into shared cross-platform services, reducing duplicated service-specific behavior and improving error reporting.

Full Changelog: 0.0.11...0.0.12

0.0.11

Choose a tag to compare

@github-actions github-actions released this 30 Jul 18:50
2b4736e

Installation

  1. Download material-osc.zip and
    thumbfast.lua.
  2. Unzip material-osc.zip into your mpv configuration directory, then place
    thumbfast.lua beside material-osc.lua in the scripts directory.

The usual mpv configuration directories are:

  • Linux and macOS: ~/.config/mpv/
  • Windows: %APPDATA%\mpv\

The resulting layout should look like this:

📁 mpv
├── 📁 fonts
│   ├── material-osc_icons.otf
│   └── material-osc_google_sans_flex.ttf
├── 📁 scripts
│   ├── material-osc.lua
│   └── thumbfast.lua
└── 📁 script-opts (optional)
    ├── material-osc.conf
    └── thumbfast.conf

What's New

  • Added built-in SponsorBlock support for YouTube, with configurable automatic skipping, skip prompts, ignored categories, multicolored seekbar markers, and category labels in seek previews.
  • SponsorBlock actions are integrated into the playback controls, including Skip, Dismiss, Undo, voting, segment marking, category selection, and submission. Active skip prompts remain accessible after the main controls fade.
  • Added configurable intro and outro chapter detection for local media, with options to skip automatically, ask each time, or leave matching chapters untouched.
  • Added Picture-in-Picture mode with a compact always-on-top window and an Exit PiP control. Leaving PiP restores the previous window size, fullscreen or maximized state, and always-on-top preference.
  • Added screenshot_button and pip_button options for choosing which playback actions appear in the control bar.
  • The welcome screen's scrolling phrases are now interactive collectibles that are saved between sessions, and clicking the material-osc logo triggers a new morphing animation.
  • Added material-osc notification pills for bookmark, clipboard, shader, subtitle, updater, SponsorBlock, and other action feedback, replacing overlapping mpv OSD messages.
  • Improved controller visibility around the seekbar, SponsorBlock prompts, and Picture-in-Picture controls so active interactions do not disappear under the pointer.
  • Refined loading and brand animations, viewport-resize rendering, seek-preview spacing, and configuration documentation.

Full Changelog: 0.0.10...0.0.11

0.0.10

Choose a tag to compare

@github-actions github-actions released this 29 Jul 20:43
3f20bc7

Installation

  1. Download material-osc.zip and
    thumbfast.lua.
  2. Unzip material-osc.zip into your mpv configuration directory, then place
    thumbfast.lua beside material-osc.lua in the scripts directory.

The usual mpv configuration directories are:

  • Linux and macOS: ~/.config/mpv/
  • Windows: %APPDATA%\mpv\

The resulting layout should look like this:

📁 mpv
├── 📁 fonts
│   ├── material-osc_icons.otf
│   └── material-osc_google_sans_flex.ttf
├── 📁 scripts
│   ├── material-osc.lua
│   └── thumbfast.lua
└── 📁 script-opts (optional)
    ├── material-osc.conf
    └── thumbfast.conf

What's New

  • Added a new welcome screen when no media is loaded, with options to open local files or a link, a drag-and-drop hint, and quick access to the material-osc repository.
  • Files and links can now be added directly to the current playlist from new controls at the top of the Playlist panel.
  • YouTube watch links containing a playlist now load the full playlist and begin at the linked video. Set ytdl-raw-options=no-playlist= in mpv.conf to preserve mpv's single-video behavior.
  • Dragging the Playback Speed slider now allows precise 0.01x adjustments instead of snapping to 0.05x steps.
  • Hardware decoding overrides are now opt-in. Preserving mpv's configured playback settings avoids video-output stalls seen with some live streams and hybrid-GPU systems.
  • Fixed subtitle border adjustments on current mpv versions by using the supported outline-size property.
  • Playlist controls now fade out while the seekbar's position preview is visible, preventing the two interfaces from overlapping.
  • Improved pointer-timeout behavior so the cursor reliably hides after edge-seek feedback, even when the main controls are already hidden.
  • Release archives are now smaller thanks to Lua minification and text-font optimization.

What's Changed

  • Allow granular 0.01x speed adjustments via slider dragging by @rawrikaaaa in #29

New Contributors

Full Changelog: 0.0.9...0.0.10

0.0.9

Choose a tag to compare

@github-actions github-actions released this 26 Jul 21:02
64cc268

Installation

  1. Download material-osc.zip and
    thumbfast.lua.
  2. Unzip material-osc.zip into your mpv configuration directory, then place
    thumbfast.lua beside material-osc.lua in the scripts directory.

The usual mpv configuration directories are:

  • Linux and macOS: ~/.config/mpv/
  • Windows: %APPDATA%\mpv\

The resulting layout should look like this:

📁 mpv
├── 📁 fonts
│   ├── material-osc_icons.otf
│   └── material-osc_google_sans_flex.ttf
├── 📁 scripts
│   ├── material-osc.lua
│   └── thumbfast.lua
└── 📁 script-opts (optional)
    ├── material-osc.conf
    └── thumbfast.conf

What's New

  • Added a Contrast control to Video Settings, alongside gamma, brightness, saturation, rotation, and shader controls.
  • Disabling the built-in context menu now releases right-click, Menu, and Shift+F10 to mpv and other scripts, including when the option is changed through live configuration reloads.
  • Improved mouse-timeout behavior so hidden edge-seek and volume feedback no longer remains active after the pointer becomes idle, while clicking, scrolling, or moving the pointer restores interaction normally.
  • Refined the playback controls with a clearer chapter selector, improved time and cached-time styling, tighter action-button spacing, and more consistent hover feedback.
  • Polished Playlist sizing, footer controls, icon treatment, and open/close transitions, eliminating the blank flash that could appear when its animation finished.
  • Tooltips now wait slightly longer before appearing, reducing accidental popups while moving across controls.
  • Successful updates now keep automatic updates enabled by default, while still allowing them to be disabled from the completed-update dialog.
  • Improved release-note formatting and clarified the context-menu configuration documentation.

Full Changelog: 0.0.8...0.0.9

0.0.8

Choose a tag to compare

@github-actions github-actions released this 25 Jul 22:44
0eb8dc0

Installation

  1. Download material-osc.zip and
    thumbfast.lua.
  2. Unzip material-osc.zip into your mpv configuration directory, then place
    thumbfast.lua beside material-osc.lua in the scripts directory.

The usual mpv configuration directories are:

  • Linux and macOS: ~/.config/mpv/
  • Windows: %APPDATA%\mpv\

The resulting layout should look like this:

📁 mpv
├── 📁 fonts
│   ├── material-osc_icons.otf
│   └── material-osc_google_sans_flex.ttf
├── 📁 scripts
│   ├── material-osc.lua
│   └── thumbfast.lua
└── 📁 script-opts (optional)
    ├── material-osc.conf
    └── thumbfast.conf

What’s new

  • Added keyboard navigation throughout menus and popups, including directional movement, activation, paging, and scrolling through long lists.
  • Tooltips now show the active keyboard shortcut in a single readable keycap and render correctly above popup content.
  • Fixed pointer and click input passing through open popups to controls or previous pages underneath.
  • Redesigned Playback Speed with a stepped slider, inline decrease and increase controls, shortcut hints, and reliable back navigation.
  • Added a configurable temporary-speed action with a header control and a compact on-screen speed indicator.
  • Moved Crop into the main Settings page and improved navigation between Video, Subtitle, Crop, and Playback Speed pages.
  • Added a connected cached-time segment beside the playback time, showing only buffered media ahead of the current position.
  • Subtitles now follow control-bar visibility with a smooth spring animation instead of snapping between positions.
  • Improved Playlist controls with shuffle and repeat tooltips, refined icon sizing, and clearer collapse behavior.
  • Refined control-pill opacity and spacing, window-control padding, and the close button's hover appearance.
  • Added live-reloadable force_display_resample and force_force_window options, replacing the previous manual mpv.conf recommendations.
  • Improved configuration and installation documentation, including a collapsible option reference.

What's Changed

  • fix: observe title-bar property for window controls visibility by @nekoxuee in #23

New Contributors

Full Changelog: 0.0.7...0.0.8

0.0.7

Choose a tag to compare

@github-actions github-actions released this 23 Jul 23:30
ac19c15

Installation

  1. Download material-osc.zip and
    thumbfast.lua.
  2. Unzip material-osc.zip into your mpv configuration directory, then place
    thumbfast.lua beside material-osc.lua in the scripts directory.

The usual mpv configuration directories are:

  • Linux and macOS: ~/.config/mpv/
  • Windows: %APPDATA%\mpv\

The resulting layout should look like this:

📁 mpv
├── mpv.conf (optional)
├── 📁 fonts
│   ├── material-osc_icons.otf
│   └── material-osc_google_sans_flex.ttf
├── 📁 scripts
│   ├── material-osc.lua
│   └── thumbfast.lua
└── 📁 script-opts (optional)
    ├── material-osc.conf
    └── thumbfast.conf

For smoother experience, add this to mpv.conf:

video-sync=display-resample
force-window=yes

What’s new

  • You can now choose the maximum quality used when a YouTube video starts.
  • Hardware decoding is now enabled automatically for smoother playback and lower CPU use.
  • Window controls can now appear automatically when they are needed, such as in fullscreen or borderless windows.
  • Video tracks now include an Off option, and the Video and Audio menus are easier to understand.
  • Added helpful labels when hovering over settings and popup buttons.
  • The controls now use much less CPU, especially while hidden or idle.
  • Animations and mouse movement feel smoother on high-refresh-rate displays, including 120 Hz and 240 Hz screens.
  • Popups now share the same springy animation style, with smoother resizing and more natural opening points.
  • Fixed popup content briefly appearing outside its box, hidden rows, flashing scrollbars, and other animation glitches.
  • Chapter and Settings popups can now be opened and closed quickly with repeated clicks.
  • Polished the playlist animation, scrolling area, footer, and closing fade.

Full Changelog: 0.0.6...0.0.7

0.0.6

Choose a tag to compare

@github-actions github-actions released this 22 Jul 22:26
8e13ec8

Installation

  1. Download material-osc.zip and
    thumbfast.lua.
  2. Unzip material-osc.zip into your mpv configuration directory, then place
    thumbfast.lua beside material-osc.lua in the scripts directory.

The usual mpv configuration directories are:

  • Linux and macOS: ~/.config/mpv/
  • Windows: %APPDATA%\mpv\

The resulting layout should look like this:

📁 mpv
├── mpv.conf (optional)
├── 📁 fonts
│   ├── material-osc_icons.otf
│   └── material-osc_google_sans_flex.ttf
├── 📁 scripts
│   ├── material-osc.lua
│   └── thumbfast.lua
└── 📁 script-opts (optional)
    ├── material-osc.conf
    └── thumbfast.conf

For smoother experience, add this to mpv.conf:

video-sync=display-resample
force-window=yes

What’s new

  • Reduced idle CPU and GPU usage by stopping continuous OSC rendering when no animation or visible playback element needs updates, including while playback is paused.
  • Added configurable single-click play/pause and edge seeking with single_click_actions_enabled, seeking_zone_percentage, and seek_step_seconds.
  • Improved controller auto-hide behavior so the cursor and thumbnail preview disappear after the fade completes, including when the pointer remains over the controls.
  • Added an optional 1dp playback-progress line with show_mini_seekbar=yes; hidden progress updates are throttled to keep rendering lightweight.
  • Configuration file changes now update active mpv instances through platform file notifications, and opening Configurations removes unused options while preserving comments and current values.
  • Renamed always_visible to show_on_mouse_move and volume_max to max_volume_percentage for clearer configuration behavior.
  • Added minimize, maximize/restore, and close controls for borderless and fullscreen windows, with force_window_controls=yes available for decorated windows. The top 64dp supports window dragging and is excluded from fast-seek actions.

Full Changelog: 0.0.5...0.0.6

0.0.5

Choose a tag to compare

@github-actions github-actions released this 21 Jul 22:10
f49f30f

Installation

  1. Download material-osc.zip and
    thumbfast.lua.
  2. Unzip material-osc.zip into your mpv configuration directory, then place
    thumbfast.lua beside material-osc.lua in the scripts directory.

The usual mpv configuration directories are:

  • Linux and macOS: ~/.config/mpv/
  • Windows: %APPDATA%\mpv\

The resulting layout should look like this:

📁 mpv
├── mpv.conf (optional)
├── 📁 fonts
│   ├── material-osc_icons.otf
│   └── material-osc_google_sans_flex.ttf
├── 📁 scripts
│   ├── material-osc.lua
│   └── thumbfast.lua
└── 📁 script-opts (optional)
    ├── material-osc.conf
    └── thumbfast.conf

For smoother rendering, add this to mpv.conf:

video-sync=display-resample
force-window=yes

What’s new

Please Delete the old installation files. (didnt know the folder structure norms :p)

  • Sorry, but the automatic update will fail with a missing archive error. Please update manually.
  • Release archives now use the consistent material-osc.zip filename with extract-ready fonts/ and scripts/ directories, and the updater recognizes the new layout. #6
  • Audio track selection now shows the track language even when it is not included in the title. #7
  • Added video controls for crop presets, Stretch and Fit to Screen modes, gamma, brightness, saturation, rotation, and runtime GLSL shaders loaded from files or links. #4

Full Changelog: 0.0.4...0.0.5

0.0.4

Choose a tag to compare

@github-actions github-actions released this 20 Jul 22:04
6030053

Installation

  1. Download material-osc.zip and
    thumbfast.lua.
  2. Unzip material-osc into the scripts folder and place thumbfast.lua beside
    material-osc.lua.

The usual mpv configuration directories are:

  • Linux and macOS: ~/.config/mpv/
  • Windows: %APPDATA%\mpv\

The resulting layout should look like this:

📁 mpv
├── mpv.conf (optional)
├── 📁 scripts
│   ├── material-osc.lua
│   ├── thumbfast.lua
│   └── 📁 material-osc
│       ├── GoogleSansFlex.ttf
│       └── MaterialSymbolsRoundedUnfilled.ttf
└── 📁 script-opts (optional)
    ├── material-osc.conf
    └── thumbfast.conf

For smoother rendering, add this to mpv.conf:

video-sync=display-resample
force-window=yes

What’s new

  • Added a right-click context menu for copying subtitles, timestamps, and media paths; managing A–B loops and bookmarks; viewing media information; revealing media; and opening keybindings or configuration.
  • Bookmarks are saved between sessions and can now be renamed or removed.
  • Added secondary subtitle support, including external subtitle files and links.
  • Hovering either side of the video reveals animated seek controls. The outer 25% scroll zones seek, while the middle 50% adjusts volume; rapid wheel input is combined for smoother control.
  • A–B loops are now visible on the seekbar, and playback, volume, subtitle, and loop changes receive on-screen feedback from mpv.
  • Improved controller auto-hide behavior, context-menu animations, clipping, spacing, and media-information controls.
  • Configuration files are prefilled and updated with missing options, including configurable seek seconds and mouse timeout.
  • Added automatic updates with release notes and options to ask, update automatically, or stop checking.

Full Changelog: 0.0.3...0.0.4

0.0.3

Choose a tag to compare

@github-actions github-actions released this 19 Jul 20:03
872e4c3

Installation

  1. Download material-osc.zip and
    thumbfast.lua.
  2. Unzip material-osc into the scripts folder and place thumbfast.lua beside
    material-osc.lua.

The usual mpv configuration directories are:

  • Linux and macOS: ~/.config/mpv/
  • Windows: %APPDATA%\\mpv\\

The resulting layout should look like this:

mpv/
├── mpv.conf (optional)
└── scripts/
    ├── material-osc.lua
    ├── thumbfast.lua
    └── material-osc/
        ├── GoogleSansFlex.ttf
        └── MaterialSymbolsRoundedUnfilled.ttf

For smoother rendering, add this to mpv.conf:

video-sync=display-resample
force-window=yes

Full Changelog: 0.0.2...0.0.3