\n'
HIDE_SERVICES={}
for i=0,1000 do
v=edcb.GetPrivateProfile('HIDE','hide'..i,false,ini)
if key=='0' then break end
HIDE_SERVICES[''..v]=true
end
a=edcb.GetServiceList() or {}
ServiceList={}
if edcb.GetPrivateProfile('SORT','sort0',false,ini)~='0' then
GetServiceList={}
for i,v in ipairs(a) do
GetServiceList[v.onid..'-'..v.tsid..'-'..v.sid]=v
end
for i=0,1000 do
key=edcb.GetPrivateProfile('SORT','sort'..i,false,ini)
if key=='0' then break end
v=GetServiceList[key]
if v and GetChDataList[key] then
v.hide=HIDE_SERVICES[key]
table.insert(ServiceList, v)
else
--TSID変更検出
for j,w in pairs(GetServiceList) do
change=key:match(w.onid..'-(%d+)-'..w.sid..'$')
if change and tonumber(change)~=w.tsid and GetChDataList[w.onid..'-'..w.tsid..'-'..w.sid] then
w.change=change
w.hide=HIDE_SERVICES[key]
table.insert(ServiceList, w)
GetServiceList[w.onid..'-'..w.tsid..'-'..w.sid]=nil
break
end
end
end
GetServiceList[key]=nil
end
for i,v in ipairs(a) do
if GetServiceList[v.onid..'-'..v.tsid..'-'..v.sid] then table.insert(ServiceList, v) end
end
else
ServiceList=a
table.sort(ServiceList, function(a,b) return
('%04X%04X'):format(a.remote_control_key_id, a.sid)<
('%04X%04X'):format(b.remote_control_key_id, b.sid)
end)
end
NetworkList={}
for i,v in ipairs(NetworkIndex()) do
NetworkList[i]={}
end
for i,v in ipairs(ServiceList) do
if GetChDataList[''..v.onid..'-'..v.tsid..'-'..v.sid] and (v.partialReceptionFlag or v.service_type==0x01 or v.service_type==0x02 or v.service_type==0xA5 or v.service_type==0xAD) then
table.insert(NetworkList[NetworkIndex(v)],
'
'
..'drag_handle'
..''
..''
..''..v.sid..(v.change and ' ※TSID変更を検出 '..v.change..'→'..v.tsid..'' or '')..'' -- SID表示サブチャネル判別用
..''
..'\n'
..''
..'\n'
)
end
end
ctt={}
for i,v in ipairs(NetworkList) do
if #v>0 then
ct.main=ct.main..'
'..NetworkIndex()[i]..'\n'
table.insert(ctt, '
\n')
end
end
ct.main=ct.main..'