From e9fbf494660949cf19e4bf57e5cfaa1e40ae1561 Mon Sep 17 00:00:00 2001 From: Guido Cella Date: Sat, 9 May 2026 09:15:28 +0200 Subject: [PATCH] select.lua: split multi-line subtitles Before 77ed8fef88 texts with multiple lines were split to multiple items, after it only shows the text before any newline. Split lines again. --- player/lua/select.lua | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/player/lua/select.lua b/player/lua/select.lua index e0d26370d4..4ce76ef4c9 100644 --- a/player/lua/select.lua +++ b/player/lua/select.lua @@ -293,16 +293,20 @@ local function select_subtitle_line(secondary) end local items = {} + local times = {} local default_item local delay = mp.get_property_native(secondary .. "sub-delay") local time_pos = mp.get_property_native("time-pos") - delay local duration = mp.get_property_native("duration", math.huge) - for i, line in ipairs(lines) do - items[i] = format_time(line.start, duration) .. " " .. line.text - + for _, line in ipairs(lines) do if line.start <= time_pos then - default_item = #items + default_item = #items + 1 + end + + for text in line.text:gmatch("[^\n]+") do + items[#items + 1] = format_time(line.start, duration) .. " " .. text + times[#times + 1] = line.start end end @@ -317,7 +321,7 @@ local function select_subtitle_line(secondary) delay = delay + 0.1 end - mp.commandv("seek", lines[i].start + delay, "absolute") + mp.commandv("seek", times[i] + delay, "absolute") end, }) end