summaryrefslogtreecommitdiff
path: root/main.lua
diff options
context:
space:
mode:
authorDavid Vazgenovich Shakaryan <dvshakaryan@gmail.com>2026-01-14 00:27:08 -0800
committerDavid Vazgenovich Shakaryan <dvshakaryan@gmail.com>2026-01-14 00:27:08 -0800
commit671e5934a9400b722210d4d243dd83c0755a4fa3 (patch)
treebd267d3b3b89a670dd6eea9620dd75accb411830 /main.lua
parent16911601f7da38191c5c1fe900d615f8b860ca52 (diff)
downloadmpv-iptv-menu-671e5934a9400b722210d4d243dd83c0755a4fa3.tar.gz
mpv-iptv-menu-671e5934a9400b722210d4d243dd83c0755a4fa3.tar.xz
add status line; load data after mpv opens
Diffstat (limited to 'main.lua')
-rw-r--r--main.lua39
1 files changed, 31 insertions, 8 deletions
diff --git a/main.lua b/main.lua
index 5912ce7..dfcf4e6 100644
--- a/main.lua
+++ b/main.lua
@@ -73,6 +73,8 @@ local function set_key_mapping(m)
end
local function load_data()
+ osd:set_status('Loading catalogue...')
+ update_osd()
local arr = {
{id = 'live', name = 'Live TV', type = 'live'},
{id = 'movie', name = 'Movies', type = 'vod'},
@@ -86,8 +88,13 @@ local function load_data()
end
catalogue:load_xc_data(arr)
+ osd:set_status('Loading EPG...')
+ update_osd()
epg:load_xc_data(xc:get_epg())
+ osd:set_status()
+ update_osd()
+
local t = util.read_json_file(config.favourites_file)
state.favourites = t.favourites or {}
end
@@ -292,7 +299,11 @@ local function favourites_group_menu_options(group)
end
local function series_group_menu_options(series)
+ osd:set_status('Loading series info...')
+ update_osd()
local info = xc:get_series_info(series.series_id)
+ osd:set_status()
+ update_osd()
if not info or not info.seasons then
return {}
end
@@ -735,15 +746,21 @@ local function open_option_title_info(title, info)
end
local function open_option_movie_info(opt)
- open_option_title_info(
- 'Movie Info: ' .. opt.name,
- xc:get_vod_info(opt.stream_id))
+ osd:set_status('Loading movie info...')
+ update_osd()
+ local data = xc:get_vod_info(opt.stream_id)
+ osd:set_status()
+ update_osd()
+ open_option_title_info('Movie Info: ' .. opt.name, data)
end
local function open_option_series_info(opt)
- open_option_title_info(
- 'Series Info: ' .. opt.name,
- xc:get_series_info(opt.series_id))
+ osd:set_status('Loading series info...')
+ update_osd()
+ local data = xc:get_series_info(opt.series_id)
+ osd:set_status()
+ update_osd()
+ open_option_title_info('Series Info: ' .. opt.name, data)
end
local function open_option_season_info(opt)
@@ -1238,8 +1255,7 @@ mp.register_event('end-file', function()
update_osd()
end)
-load_data()
-push_group_menu(catalogue:get('root'))
+state:push_menu({title = 'mpv-iptv-menu'})
osc_visibility = mp.get_property_native('user-data/osc/visibility', 'auto')
set_osc_visibility()
@@ -1247,3 +1263,10 @@ set_osc_visibility()
mp.add_forced_key_binding('TAB', 'toggle-menu', toggle_menu)
set_key_mapping('MENU')
set_key_bindings()
+
+mp.add_timeout(0, function()
+ load_data()
+ state.depth = 0
+ push_group_menu(catalogue:get('root'))
+ update_osd()
+end)