mpv2oboeru

mpv helpers to create flashcards from movies and TV shows
git clone anongit@rnpnr.xyz:mpv2oboeru.git
Log | Files | Refs | Feed | README | LICENSE

Commit: ddc17af92954d044e757122a7af9f188daea6b9c
Parent: fabd3f11f2632a9f9a0f002748e98946fb1deced
Author: Ren Tatsumoto
Date:   Fri, 20 Nov 2020 21:20:41 +0300

insert subs maintaining sorted state

Diffstat:
Msubs2srs.lua | 12+++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/subs2srs.lua b/subs2srs.lua @@ -865,13 +865,19 @@ local function new_sub_list() local _is_empty = function() return next(subs_list) == nil end + local find_i = function(sub) + for i, v in ipairs(subs_list) do + if sub < v then + return i + end + end + return #subs_list + 1 + end local get_time = function(position) - table.sort(subs_list) local i = position == 'start' and 1 or #subs_list return subs_list[i][position] end local get_text = function() - table.sort(subs_list) local speech = {} for _, sub in ipairs(subs_list) do table.insert(speech, sub['text']) @@ -880,7 +886,7 @@ local function new_sub_list() end local insert = function(sub) if sub ~= nil and not table.contains(subs_list, sub) then - table.insert(subs_list, sub) + table.insert(subs_list, find_i(sub), sub) return true end return false