mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-06-10 15:13:32 -07:00
cf16587547
- Show mpv OSD spinner from start-file until subminer-overlay-loading-ready; force-shown for visible-overlay startup regardless of osd_messages setting - Gate non-macOS overlay visibility on content-ready so first subtitle line is immediately hoverable and clickable - Queue startup notifications in main process until overlay window finishes loading; upsert progress cards by id to avoid cold-start floods - Defer background warmups until after overlay runtime init so queued notifications can deliver promptly - Preserve character dictionary checking/building/importing/ready phases as distinct history entries; route building and importing to system notifications when notificationType is both
52 lines
1.4 KiB
Lua
52 lines
1.4 KiB
Lua
local M = {}
|
|
|
|
function M.new()
|
|
return {
|
|
overlay_running = false,
|
|
texthooker_running = false,
|
|
overlay_process = nil,
|
|
binary_available = false,
|
|
binary_path = nil,
|
|
detected_backend = nil,
|
|
hover_highlight = {
|
|
revision = -1,
|
|
payload = nil,
|
|
saved_sub_visibility = nil,
|
|
saved_secondary_sub_visibility = nil,
|
|
overlay_active = false,
|
|
cached_ass = nil,
|
|
clear_timer = nil,
|
|
last_hover_update_ts = 0,
|
|
},
|
|
auto_play_ready_gate_armed = false,
|
|
auto_play_ready_should_resume_playback = false,
|
|
auto_play_ready_timeout = nil,
|
|
auto_play_ready_osd_timer = nil,
|
|
auto_play_ready_signal_seen = false,
|
|
auto_play_ready_initial_pause_ownership_consumed = false,
|
|
overlay_loading_osd_active = false,
|
|
overlay_loading_osd_timer = nil,
|
|
overlay_loading_osd_frame = 1,
|
|
pending_visible_overlay_hide_timer = nil,
|
|
pending_visible_overlay_hide_generation = 0,
|
|
suppress_ready_overlay_restore = false,
|
|
force_ready_overlay_restore = false,
|
|
visible_overlay_requested = nil,
|
|
last_visible_overlay_toggle_time = nil,
|
|
current_media_identity = nil,
|
|
current_media_title = nil,
|
|
pending_reload_media_identity = nil,
|
|
pending_reload_media_title = nil,
|
|
pending_reload_reason = nil,
|
|
app_managed_playback_pending = false,
|
|
app_managed_playback_active = false,
|
|
auto_start_retry_generation = 0,
|
|
session_binding_generation = 0,
|
|
session_binding_names = {},
|
|
session_numeric_binding_names = {},
|
|
session_numeric_selection = nil,
|
|
}
|
|
end
|
|
|
|
return M
|