diff --git a/.gitignore b/.gitignore index 4d45295..fe14bfc 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .zcompdump* +mpv/watch_later diff --git a/mpv/mpv.conf b/mpv/mpv.conf index 3c8456a..4a5deca 100644 --- a/mpv/mpv.conf +++ b/mpv/mpv.conf @@ -143,6 +143,11 @@ sub-auto=fuzzy profile=gpu-hq scale=ewa_lanczossharp cscale=ewa_lanczossharp +video-sync=display-resample +interpolation +tscale=oversample +hwdec=auto +force-window=yes [Idle] profile-cond=p["idle-active"] diff --git a/mpv/scripts/modern.lua b/mpv/scripts/modern.lua index 44b11bd..9e23aac 100644 --- a/mpv/scripts/modern.lua +++ b/mpv/scripts/modern.lua @@ -15,27 +15,27 @@ local utils = require 'mp.utils' local user_opts = { showwindowed = true, -- show OSC when windowed? showfullscreen = true, -- show OSC when fullscreen? - scalewindowed = 1, -- scaling of the controller when windowed - scalefullscreen = 1, -- scaling of the controller when fullscreen - scaleforcedwindow = 2, -- scaling when rendered on a forced window + scalewindowed = 1.2, -- scaling of the controller when windowed + scalefullscreen = 1.2, -- scaling of the controller when fullscreen + scaleforcedwindow = 1.2, -- scaling when rendered on a forced window vidscale = false, -- scale the controller with the video? hidetimeout = 1000, -- duration in ms until the OSC hides if no -- mouse movement. enforced non-negative for the -- user, but internally negative is 'always-on'. - fadeduration = 500, -- duration of fade out in ms, 0 = no fade + fadeduration = 300, -- duration of fade out in ms, 0 = no fade minmousemove = 3, -- minimum amount of pixels the mouse has to -- move between ticks to make the OSC show up iamaprogrammer = false, -- use native mpv values and disable OSC -- internal track list management (and some -- functions that depend on it) - font = 'mpv-osd-symbols', -- default osc font - seekrange = true, -- show seekrange overlay - seekrangealpha = 128, -- transparency of seekranges + font = 'mpv-osd-symbols', -- default osc font + seekrange = true, -- show seekrange overlay + seekrangealpha = 128, -- transparency of seekranges seekbarkeyframes = true, -- use keyframes when dragging the seekbar title = '${media-title}', -- string compatible with property-expansion -- to be shown as OSC title - showtitle = true, -- show title and no hide timeout on pause - timetotal = true, -- display total time instead of remaining time? + showtitle = true, -- show title and no hide timeout on pause + timetotal = true, -- display total time instead of remaining time? timems = false, -- display timecodes with milliseconds visibility = 'auto', -- only used at init to set visibility_mode(...) windowcontrols = 'auto', -- whether to show window controls @@ -44,6 +44,7 @@ local user_opts = { language = 'eng', -- eng=English, chs=Chinese } + -- Localization local language = { ['eng'] = { @@ -95,13 +96,13 @@ local osc_styles = { SeekbarFg = '{\\blur1\\bord1\\1c&HE39C42&}', VolumebarBg = '{\\blur0\\bord0\\1c&H999999&}', VolumebarFg = '{\\blur1\\bord1\\1c&HFFFFFF&}', - Ctrl1 = '{\\blur0\\bord0\\1c&HFFFFFF&\\3c&HFFFFFF&\\fs23\\fnmaterial-design-iconic-font}', - Ctrl2 = '{\\blur0\\bord0\\1c&HFFFFFF&\\3c&HFFFFFF&\\fs18\\fnmaterial-design-iconic-font}', - Ctrl3 = '{\\blur0\\bord0\\1c&HFFFFFF&\\3c&HFFFFFF&\\fs14\\fnmaterial-design-iconic-font}', - Time = '{\\blur0\\bord0\\1c&HFFFFFF&\\3c&H000000&\\fs16\\fn' .. user_opts.font .. '}', - Tooltip = '{\\blur1\\bord0.5\\1c&HFFFFFF&\\3c&H000000&\\fs16\\fn' .. user_opts.font .. '}', + Ctrl1 = '{\\blur0\\bord0\\1c&HFFFFFF&\\3c&HFFFFFF&\\fs36\\fnmaterial-design-iconic-font}', + Ctrl2 = '{\\blur0\\bord0\\1c&HFFFFFF&\\3c&HFFFFFF&\\fs24\\fnmaterial-design-iconic-font}', + Ctrl3 = '{\\blur0\\bord0\\1c&HFFFFFF&\\3c&HFFFFFF&\\fs24\\fnmaterial-design-iconic-font}', + Time = '{\\blur0\\bord0\\1c&HFFFFFF&\\3c&H000000&\\fs17\\fn' .. user_opts.font .. '}', + Tooltip = '{\\blur1\\bord0.5\\1c&HFFFFFF&\\3c&H000000&\\fs18\\fn' .. user_opts.font .. '}', Title = '{\\blur1\\bord0.5\\1c&HFFFFFF&\\3c&H0\\fs48\\q2\\fn' .. user_opts.font .. '}', - WinCtrl = '{\\blur1\\bord0.5\\1c&HFFFFFF&\\3c&H0\\fs13\\fnmpv-osd-symbols}', + WinCtrl = '{\\blur1\\bord0.5\\1c&HFFFFFF&\\3c&H0\\fs20\\fnmpv-osd-symbols}', elementDown = '{\\1c&H999999&}', } @@ -1033,16 +1034,16 @@ layouts = function () -- new_element('seekbarbg', 'box') lo = add_layout('seekbarbg') - lo.geometry = {x = refX , y = refY - 50 , an = 5, w = osc_geo.w - 50, h = 2} + lo.geometry = {x = refX , y = refY - 96 , an = 5, w = osc_geo.w - 50, h = 2} lo.layer = 13 lo.style = osc_styles.SeekbarBg lo.alpha[1] = 128 lo.alpha[3] = 128 lo = add_layout('seekbar') - lo.geometry = {x = refX, y = refY - 50 , an = 5, w = osc_geo.w - 50, h = 12} + lo.geometry = {x = refX, y = refY - 96 , an = 5, w = osc_geo.w - 50, h = 16} lo.style = osc_styles.SeekbarFg - lo.slider.gap = 5 + lo.slider.gap = 7 lo.slider.tooltip_style = osc_styles.Tooltip lo.slider.tooltip_an = 2 -- @@ -1051,13 +1052,13 @@ layouts = function () lo = new_element('volumebarbg', 'box') lo.visible = (osc_param.playresx >= 750) and user_opts.volumecontrol lo = add_layout('volumebarbg') - lo.geometry = {x = 155, y = refY - 23, an = 4, w = 80, h = 2} + lo.geometry = {x = 155, y = refY - 40, an = 4, w = 80, h = 2} lo.layer = 13 lo.style = osc_styles.VolumebarBg lo = add_layout('volumebar') - lo.geometry = {x = 155, y = refY - 23, an = 4, w = 80, h = 8} + lo.geometry = {x = 155, y = refY - 40, an = 4, w = 80, h = 8} lo.style = osc_styles.VolumebarFg lo.slider.gap = 3 lo.slider.tooltip_style = osc_styles.Tooltip @@ -1065,24 +1066,24 @@ layouts = function () -- buttons lo = add_layout('pl_prev') - lo.geometry = {x = refX - 120, y = refY - 14 , an = 1, w = 30, h = 24} + lo.geometry = {x = refX - 120, y = refY - 40 , an = 5, w = 30, h = 24} lo.style = osc_styles.Ctrl2 lo = add_layout('skipback') - lo.geometry = {x = refX - 60, y = refY - 14 , an = 1, w = 30, h = 24} + lo.geometry = {x = refX - 60, y = refY - 40 , an = 5, w = 30, h = 24} lo.style = osc_styles.Ctrl2 lo = add_layout('playpause') - lo.geometry = {x = refX, y = refY - 12 , an = 1, w = 10, h = 20} + lo.geometry = {x = refX, y = refY - 40 , an = 5, w = 45, h = 45} lo.style = osc_styles.Ctrl1 lo = add_layout('skipfrwd') - lo.geometry = {x = refX + 60, y = refY - 14 , an = 1, w = 30, h = 24} + lo.geometry = {x = refX + 60, y = refY - 40 , an = 5, w = 30, h = 24} lo.style = osc_styles.Ctrl2 lo = add_layout('pl_next') - lo.geometry = {x = refX + 120, y = refY - 14 , an = 1, w = 30, h = 24} + lo.geometry = {x = refX + 120, y = refY - 40 , an = 5, w = 30, h = 24} lo.style = osc_styles.Ctrl2 @@ -1097,27 +1098,27 @@ layouts = function () lo.style = osc_styles.Time lo = add_layout('cy_audio') - lo.geometry = {x = 37, y = refY - 23, an = 5, w = 24, h = 24} + lo.geometry = {x = 37, y = refY - 40, an = 5, w = 24, h = 24} lo.style = osc_styles.Ctrl3 lo.visible = (osc_param.playresx >= 540) lo = add_layout('cy_sub') - lo.geometry = {x = 87, y = refY - 23, an = 5, w = 24, h = 24} + lo.geometry = {x = 87, y = refY - 40, an = 5, w = 24, h = 24} lo.style = osc_styles.Ctrl3 lo.visible = (osc_param.playresx >= 600) lo = add_layout('vol_ctrl') - lo.geometry = {x = 137, y = refY - 23, an = 5, w = 24, h = 24} + lo.geometry = {x = 137, y = refY - 40, an = 5, w = 24, h = 24} lo.style = osc_styles.Ctrl3 lo.visible = (osc_param.playresx >= 650) lo = add_layout('tog_fs') - lo.geometry = {x = osc_geo.w - 37, y = refY - 23, an = 5, w = 24, h = 24} + lo.geometry = {x = osc_geo.w - 37, y = refY - 40, an = 5, w = 24, h = 24} lo.style = osc_styles.Ctrl3 lo.visible = (osc_param.playresx >= 540) lo = add_layout('tog_info') - lo.geometry = {x = osc_geo.w - 87, y = refY - 23, an = 5, w = 24, h = 24} + lo.geometry = {x = osc_geo.w - 87, y = refY - 40, an = 5, w = 24, h = 24} lo.style = osc_styles.Ctrl3 lo.visible = (osc_param.playresx >= 600) @@ -1158,6 +1159,7 @@ function osc_init() local scale = 1 if (mp.get_property('video') == 'no') then -- dummy/forced window + user_opts.visibility = "always" scale = user_opts.scaleforcedwindow elseif state.fullscreen then scale = user_opts.scalefullscreen