From 3cf6dcb1db571bbae9788a65f1f04d3a43d7565b Mon Sep 17 00:00:00 2001 From: hbeham Date: Tue, 23 Jul 2013 20:53:59 +0200 Subject: [PATCH] - added support for LG LH-series --- ChanSort.Loader.LG/ChanSort.Loader.LG.ini | 29 ++ ChanSort.Loader.LG/TllFileSerializer.cs | 21 + .../tll-212-LT.h | 161 ++++++++ Test.Loader.LG/LT/TestLT.cs | 16 + Test.Loader.LG/LT/xxLT380H-ZA00001.TLL.in | Bin 0 -> 94713 bytes Test.Loader.LG/LT/xxLT380H-ZA00001.TLL.out | Bin 0 -> 94713 bytes Test.Loader.LG/LT/xxLT380H-ZA00001.csv.in | 369 ++++++++++++++++++ Test.Loader.LG/Test.Loader.LG.csproj | 1 + Test.Loader.LG/TestBase.cs | 9 + readme.txt | 9 +- 10 files changed, 611 insertions(+), 4 deletions(-) create mode 100644 Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-212-LT.h create mode 100644 Test.Loader.LG/LT/TestLT.cs create mode 100644 Test.Loader.LG/LT/xxLT380H-ZA00001.TLL.in create mode 100644 Test.Loader.LG/LT/xxLT380H-ZA00001.TLL.out create mode 100644 Test.Loader.LG/LT/xxLT380H-ZA00001.csv.in diff --git a/ChanSort.Loader.LG/ChanSort.Loader.LG.ini b/ChanSort.Loader.LG/ChanSort.Loader.LG.ini index 97aaae0..6139ed9 100644 --- a/ChanSort.Loader.LG/ChanSort.Loader.LG.ini +++ b/ChanSort.Loader.LG/ChanSort.Loader.LG.ini @@ -59,6 +59,35 @@ offServiceType = 166 offAudioPid2 = 238 +[ACTChannelDataMapping:212] + ; LT series + reorderChannelData = 0 + lenName = 40 + offSignalSource = 8 + offChannelTransponder = 10, 106, 141, 148 + offProgramNr = 12, 144 + offFavorites = 20 + offPcrPid = 22, 200 + offAudioPid = 24 + offVideoPid = 26 + offName = 32, 160 + offNameLength = 72, 159 + offServiceId = 74, 156 + offFrequencyLong = 108 + offOriginalNetworkId = 114 + offTransportStreamId = 116 + offFavorites2 = 154 + offDeleted = 154 + maskDeleted = 0x42 + offLock = 155 + maskLock = 0x01 + offSkip = 155 + maskSkip = 0x02 + offHide = 155 + maskHide = 0x04 + offServiceType = 158 + offAudioPid2 = 202 + [ACTChannelDataMapping:192] ; LM series with Firmware 4.x (all except LM611S and LM340S) reorderChannelData = 0 diff --git a/ChanSort.Loader.LG/TllFileSerializer.cs b/ChanSort.Loader.LG/TllFileSerializer.cs index 65e1028..8ed31c1 100644 --- a/ChanSort.Loader.LG/TllFileSerializer.cs +++ b/ChanSort.Loader.LG/TllFileSerializer.cs @@ -38,6 +38,7 @@ namespace ChanSort.Loader.LG private int analogBlockOffset; private int firmwareBlockOffset; + private int extraBlockOffset; private int dvbctBlockOffset; private int dvbsBlockOffset; private int[] dvbsSubblockCrcOffset; @@ -54,6 +55,7 @@ namespace ChanSort.Loader.LG private Dictionary nextChannelIndex; private int firmwareBlockSize; + private int extraBlockSize; private int dvbsBlockSize; private int settingsBlockSize; private string countryCode; @@ -140,6 +142,7 @@ namespace ChanSort.Loader.LG this.ReadFileHeader(ref off); this.ReadAnalogChannelBlock(ref off); this.ReadFirmwareDataBlock(ref off); + this.ReadLtSeriesExtraBlock(ref off); this.ReadDvbCtChannels(ref off); this.ReadDvbSBlock(ref off); this.ReadSettingsBlock(ref off); @@ -195,6 +198,20 @@ namespace ChanSort.Loader.LG } #endregion + #region ReadLtSeriesExtraBlock() + private void ReadLtSeriesExtraBlock(ref int off) + { + int size = BitConverter.ToInt32(this.fileContent, off); + int count = BitConverter.ToInt32(this.fileContent, off + 4); + if (size == 4 + count*72 && this.actChannelSize == 212) + { + this.extraBlockOffset = off; + this.extraBlockSize = size; + off += 4 + size; + } + } + #endregion + #region ReadDvbCtChannels() private void ReadDvbCtChannels(ref int off) { @@ -825,6 +842,10 @@ namespace ChanSort.Loader.LG // firmware file.Write(fileContent, this.firmwareBlockOffset, this.firmwareBlockSize + 4); + // LT-series extra block + if (extraBlockOffset != 0) + file.Write(fileContent, this.extraBlockOffset, this.extraBlockSize + 4); + // DVB-CT file.Write(newDvbctChannelCount*this.actChannelSize + 4); file.Write(newDvbctChannelCount); diff --git a/Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-212-LT.h b/Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-212-LT.h new file mode 100644 index 0000000..5cdfb5e --- /dev/null +++ b/Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-212-LT.h @@ -0,0 +1,161 @@ +#include "tll-common.h" + +struct LT212_AnalogChannel +{ + byte t1[8]; + TLL_SignalSource SignalSource; + byte t1b; + word ChannelTransponder1; + word ProgramNr; + word t2[3]; + byte Favorites1; + byte t2d; + word Frequency1Div50; + word APID1; + byte ChannelNumberInBand; + byte ChannelBand; + byte t3[4]; + char CH_Name1[40]; + byte CH_NameLength1; + byte t4; + word SID1; + byte t5a[30]; + word ChannelTransponder2; + dword Frequency; + byte t6[2]; + word ONID; + word TSID; + byte t7[23]; + word ChannelTransponder3; + byte t7b; + word ProgramNr2; + byte t8[2]; + word ChannelTransponder4; + byte t8b[4]; + byte Favorites2; + byte LockSkipHide; + word SID2; + byte ServiceType; + byte CH_NameLength2; + char CH_Name2[40]; + word Frequency2Div50; + word APID2; + byte t11[8]; +}; + +struct LT212_AnalogBlock +{ + dword BlockSize; + dword ChannelCount; + LT212_AnalogChannel Channels[ChannelCount]; +}; + +struct LT212_HotelSettings +{ + byte HotelModeActive; + byte PowerOnStatus; + byte SetupMenuDisplay; + byte ProgramChange; + byte InputSourceChange; + byte MenuDisplay; + byte OsdDisplay; + byte LgIrOperation; + byte LocalKeyOp; + byte MaxVolume; + byte DtvChannelUpdate; + byte PowerOnDefault; + byte InputSource; + word Programme; + byte Volume; + byte AvSettings; + byte RadioVideoBlank; +// byte unknown1; + byte StartProgNr; +// byte unknown2; + byte NumberOfPrograms; + byte RadioNameDisplay; + byte unknown3[2]; + byte AccessCode[4]; +}; + +struct LT212_FirmwareBlock +{ + dword BlockSize; + byte u1[13623]; + LT212_HotelSettings HotelSettings; + byte Data[BlockSize - sizeof(HotelSettings) - 13623]; +}; + +struct LT212_UnknownBlock +{ + dword BlockSize; + byte Data[BlockSize]; +}; + +struct LT212_DvbCtChannel +{ + byte t1[8]; + TLL_SignalSource SignalSource; + byte t1b; + word ChannelTransponder1; + word ProgramNr; + word LogicalChannelNr; + word t2[2]; + byte Favorites1; + byte t2d; + word Frequency1Div50; + word APID1; + byte ChannelNumberInBand; + byte ChannelBand; + byte t3[4]; + char CH_Name1[40]; + byte CH_NameLength1; + byte t4; + word SID1; + byte t5a[30]; + word ChannelTransponder2; + dword Frequency; + byte t6[2]; + word ONID; + word TSID; + byte t7[23]; + word ChannelTransponder3; + byte t7b; + word ProgramNr2; + byte t8[2]; + word ChannelTransponder4; + byte t8b[4]; + byte Favorites2; + byte LockSkipHide; + word SID2; + byte ServiceType; + byte CH_NameLength2; + char CH_Name2[40]; + word Frequency2Div50; + word APID2; + byte t11[8]; +}; + +struct LT212_DvbCTBlock +{ + dword BlockSize; + dword ChannelCount; + LT212_DvbCtChannel Channels[ChannelCount]; +}; + +struct LT212_SettingsBlock +{ + dword BlockSize; + byte Data[BlockSize]; +}; + +public struct LT212 +{ + byte Header[4]; + + LT212_AnalogBlock Analog; + LT212_FirmwareBlock Firmware; + LT212_UnknownBlock Unknown; + LT212_DvbCTBlock DvbCT; + LT212_SettingsBlock Settings; +}; diff --git a/Test.Loader.LG/LT/TestLT.cs b/Test.Loader.LG/LT/TestLT.cs new file mode 100644 index 0000000..69bf8b0 --- /dev/null +++ b/Test.Loader.LG/LT/TestLT.cs @@ -0,0 +1,16 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Test.Loader.LG +{ + [TestClass] + public class TestLT : TestBase + { + [TestMethod] + public void TestLT380H_AC212TR() + { + // SJahre + //this.GenerateTestFiles("LT/xxLT380H-ZA00001"); + this.ExecuteTest("LT/xxLT380H-ZA00001"); + } + } +} diff --git a/Test.Loader.LG/LT/xxLT380H-ZA00001.TLL.in b/Test.Loader.LG/LT/xxLT380H-ZA00001.TLL.in new file mode 100644 index 0000000000000000000000000000000000000000..09c3cabc921e156ba874448350a674db66bdd355 GIT binary patch literal 94713 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 OZ|5zzjio*M`TqdSNllml literal 0 HcmV?d00001 diff --git a/Test.Loader.LG/LT/xxLT380H-ZA00001.TLL.out b/Test.Loader.LG/LT/xxLT380H-ZA00001.TLL.out new file mode 100644 index 0000000000000000000000000000000000000000..ee4039d0d492453101d55ac2a6a0a66aa6947855 GIT binary patch literal 94713 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

P+DFA@ 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 P3%{MW;5L@_=;!|f(Lqg^ literal 0 HcmV?d00001 diff --git a/Test.Loader.LG/LT/xxLT380H-ZA00001.csv.in b/Test.Loader.LG/LT/xxLT380H-ZA00001.csv.in new file mode 100644 index 0000000..7ce2ab7 --- /dev/null +++ b/Test.Loader.LG/LT/xxLT380H-ZA00001.csv.in @@ -0,0 +1,369 @@ +,1,,A-0-3645-0," ARD",AAT0, +,2,,A-0-3505-0," ZDF",AAT0, +,3,,A-0-9425-0," BR 3",AAT0, +,4,,A-0-4065-0,"TVA ",AAT0, +,5,,A-0-4205-0,"RTL ",AAT0, +,6,,A-0-2945-0,"SAT 1",AAT0, +,7,,A-0-4625-0,"PRO 7",AAT0, +,8,,A-0-3085-0,"RTL 2",AAT0, +,9,,A-0-3365-0,"KABEL",AAT0, +,10,,A-0-5465-0," VOX",AAT0, +,11,,A-0-6385-0,"TELE5",AAT0, +,12,,A-0-3925-0,"SIXX ",AAT0, +,13,,A-0-5885-0," KIKA",AAT0, +,14,,A-0-4765-0,"S-RTL",AAT0, +,15,,A-0-6225-0,"NICK+",AAT0, +,16,,A-0-4485-0,"VIVA ",AAT0, +,17,,A-0-5605-0," N-TV",AAT0, +,18,,A-0-6065-0," N24",AAT0, +,19,,A-0-5045-0,"PHNIX",AAT0, +,20,,A-0-5185-0,"CNN ",AAT0, +,21,,A-0-9745-0,"EURSP",AAT0, +,22,,A-0-4345-0,"SPOR1",AAT0, +,23,,A-0-3785-0,"MDR 3",AAT0, +,24,,A-0-9585-0,"ORF2 ",AAT0, +,25,,A-0-5325-0,"3 SAT",AAT0, +,26,,A-0-3225-0," ARTE",AAT0, +,27,,A-0-5745-0," BR-A",AAT0, +,28,,A-0-2805-0,"SERTV",AAT0, +,29,,A-0-4905-0," HSE",AAT0, +,30,,A-0-8305-0," QVC",AAT0, +,1,,C-61441-10014-11120-06,"arte HD",DCT0, +,2,,C-61441-10014-50009-06,"kabel eins HD",DCT0, +,3,,C-61441-10014-50010-06,"SPORT1 HD",DCT0, +,4,,C-61441-10014-50016-06,"Cartoon Network HD",DCT0, +,5,,C-61441-10014-50022-06,"Spiegel TV HD",DCT0, +,6,,C-61441-10000-28486-08,"SR Fernsehen",DCT0, +,7,,C-61441-10000-51044-08,"France 5 (frz)",DCT0, +,8,,C-61441-10000-52014-08,"TVA Regensburg",DCT0, +,9,,C-61441-10000-53518-08,"France 3 (frz)",DCT0, +,10,,C-61441-10000-53601-08,"RTL",DCT0, +,11,,C-61441-10000-53626-08,"SAT.1",DCT0, +,12,,C-61441-10013-50001-09,"TNT Serie HD",DCT0, +,13,,C-61441-10013-50002-09,"TNT Film HD",DCT0, +,14,,C-61441-10013-50003-09,"Planet HD",DCT0, +,15,,C-61441-10013-50004-09,"13th Street HD",DCT0, +,16,,C-61441-10013-50013-09,"VOX HD",DCT0, +,17,,C-61441-10013-50015-09,"ProSieben HD",DCT0, +,18,,C-1-1051-11100-34,"Das Erste HD",DCT0, +,19,,C-1-1051-28487-34,"BR-alpha",DCT0, +,20,,C-1-1051-28721-34,"tagesschau24",DCT0, +,21,,C-1-1051-28722-34,"Einsfestival",DCT0, +,22,,C-1-1051-28723-34,"EinsPlus",DCT0, +,23,,C-1-1051-28724-34,"arte",DCT0, +,24,,C-1-1051-28725-34,"PHOENIX",DCT0, +,25,,C-1-1101-28106-35,"Das Erste",DCT0, +,26,,C-1-1101-28107-35,"Bayerisches FS Süd",DCT0, +,27,,C-1-1101-28108-35,"hr-fernsehen",DCT0, +,28,,C-1-1101-28111-35,"WDR Köln",DCT0, +,29,,C-1-1101-28113-35,"SWR Fernsehen RP",DCT0, +,30,,C-61441-10015-50005-36,"SPORT1+ HD",DCT0, +,31,,C-61441-10015-50011-36,"RTL II HD",DCT0, +,32,,C-61441-10015-50012-36,"RTL HD",DCT0, +,33,,C-61441-10015-50018-36,"SAT.1 HD",DCT0, +,34,,C-61441-10015-50023-36,"AXN HD",DCT0, +,35,,C-133-3-516-38,"Sky Nostalgie",DCT0, +,36,,C-133-3-41-38,"Sky Hits",DCT0, +,37,,C-133-3-25-38,"Disney Cinemagic",DCT0, +,38,,C-133-3-515-38,"MGM",DCT0, +,39,,C-133-3-17-38,"Sky Sport News",DCT0, +,40,,C-133-1-334-41,"Sky Select Event B",DCT0, +,44,,C-133-3-241-38,"Sky Sport News",DCT0, +,45,,C-133-3-221-38,"Sky Sport 1",DCT0, +,46,,C-133-3-222-38,"Sky Sport 2",DCT0, +,47,,C-133-2-10-39,"Sky Cinema",DCT0, +,48,,C-133-2-11-39,"Sky Cinema +1",DCT0, +,49,,C-133-2-43-39,"Sky Cinema +24",DCT0, +,50,,C-133-2-9-39,"Sky Action",DCT0, +,51,,C-133-2-8-39,"Sky Comedy",DCT0, +,52,,C-133-2-20-39,"Sky Emotion",DCT0, +,53,,C-133-2-254-39,"Sky Select Event A",DCT0, +,54,,C-133-2-261-39,"Sky Select 2",DCT0, +,55,,C-133-2-345-39,"Blue Movie 1",DCT0, +,56,,C-133-2-355-39,"Blue Movie 2",DCT0, +,57,,C-133-2-365-39,"Blue Movie 3",DCT0, +,58,,C-133-2-3980-39,"Humax PR-HD3000C",DCT0, +,59,,C-133-2-3994-39,"Pace TDC 866 NSDX",DCT0, +,60,,C-133-4-223-40,"Sky Bundesliga 1",DCT0, +,61,,C-133-4-18-40,"Sky Select",DCT0, +,62,,C-133-4-513-40,"Blue Movie",DCT0, +,63,,C-133-4-14-40,"Discovery Channel",DCT0, +,64,,C-133-4-13-40,"National Geographic",DCT0, +,65,,C-133-4-12-40,"NatGeo Wild",DCT0, +,66,,C-133-4-52-40,"Spiegel Geschichte",DCT0, +,67,,C-133-4-15-40,".",DCT0, +,68,,C-133-4-168-40,"Motorvision TV",DCT0, +,69,,C-133-4-23-40,"Sky Krimi",DCT0, +,70,,C-133-4-42-40,"13th Street",DCT0, +,71,,C-133-4-27-40,"RTL Crime",DCT0, +,72,,C-133-4-29-40,"RTL Passion",DCT0, +,73,,C-133-1-16-41,"Fox Serie",DCT0, +,74,,C-133-1-50-41,"TNT Serie",DCT0, +,75,,C-133-1-30-41,"Sky Sport Austria",DCT0, +,76,,C-133-1-36-41,"Syfy",DCT0, +,77,,C-133-1-21-41,"Beate-Uhse.TV",DCT0, +,78,,C-133-1-22-41,"Heimatkanal",DCT0, +,79,,C-133-1-518-41,"Goldstar TV",DCT0, +,80,,C-133-1-24-41,"Classica",DCT0, +,81,,C-133-1-34-41,"Disney Channel",DCT0, +,82,,C-133-1-28-41,"Disney XD",DCT0, +,83,,C-133-1-26-41,"Disney Junior",DCT0, +,84,,C-133-1-19-41,"Junior",DCT0, +,85,,C-133-1-311-41,"Sky Select 7",DCT0, +,86,,C-133-1-321-41,"Sky Select 8",DCT0, +,88,,C-61441-10003-50105-42,"Planet",DCT0, +,89,,C-61441-10003-50108-42,"Kinowelt TV",DCT0, +,90,,C-61441-10003-50709-42,"Disney Junior",DCT0, +,91,,C-61441-10003-50712-42,"TNT Film",DCT0, +,92,,C-61441-10003-53010-42,"Eurosport 2",DCT0, +,93,,C-61441-10003-53301-42,"History",DCT0, +,94,,C-61441-10003-53401-42,"Spiegel TV",DCT0, +,95,,C-61441-10003-53408-42,"TNT Film (engl)",DCT0, +,96,,C-61441-10003-53410-42,"glitz*",DCT0, +,97,,C-61441-10003-53411-42,"Sat.1 Emotions",DCT0, +,98,,C-61441-10003-53412-42,"kabel eins classics",DCT0, +,99,,C-61441-10003-53602-42,"Super RTL",DCT0, +,100,,C-61441-10003-53603-42,"RTL II",DCT0, +,101,,C-61441-10003-53604-42,"VOX",DCT0, +,102,,C-61441-10003-53606-42,"n-tv",DCT0, +,103,,C-61441-10003-53624-42,"SPORT1",DCT0, +,104,,C-61441-10002-50104-43,"E! Entertainment",DCT0, +,105,,C-61441-10002-50110-43,"1-2-3.tv",DCT0, +,106,,C-61441-10002-50707-43,"Lust Pur",DCT0, +,107,,C-61441-10002-53001-43,"BBC World News (engl)",DCT0, +,108,,C-61441-10002-53007-43,"TV 5 Monde (frz)",DCT0, +,109,,C-61441-10002-53107-43,"RCK TV",DCT0, +,110,,C-61441-10002-53110-43,"RTL NITRO",DCT0, +,111,,C-61441-10002-53219-43,"TRT Türk",DCT0, +,112,,C-61441-10002-53302-43,"Bon Gusto",DCT0, +,113,,C-61441-10002-53310-43,"Animax",DCT0, +,114,,C-61441-10002-53404-43,"Boomerang",DCT0, +,115,,C-61441-10002-53407-43,"Boomerang (engl)",DCT0, +,116,,C-61441-10002-53611-43,"sportdigital",DCT0, +,117,,C-61441-10002-53613-43,"CNN (engl)",DCT0, +,118,,C-61441-10002-53620-43,"Servus TV",DCT0, +,119,,C-61441-10005-53101-44,"BBC Entertainment (engl)",DCT0, +,120,,C-61441-10005-53108-44,"Disney XD (engl)",DCT0, +,121,,C-61441-10005-53201-44,"RTVi (rus)",DCT0, +,122,,C-61441-10005-53202-44,"Nashe Kino (rus)",DCT0, +,123,,C-61441-10005-53203-44,"ATV Avrupa (türk)",DCT0, +,124,,C-61441-10005-53205-44,"Euro D (türk)",DCT0, +,125,,C-61441-10005-53211-44,"EuroNews (frz)",DCT0, +,126,,C-61441-10005-53212-44,"RTR Planeta (rus)",DCT0, +,127,,C-61441-10005-53215-44,"EuroNews (itl)",DCT0, +,128,,C-61441-10005-53216-44,"EuroNews (span)",DCT0, +,129,,C-61441-10005-53217-44,"EuroNews (port)",DCT0, +,130,,C-61441-10005-53218-44,"EuroNews (rus)",DCT0, +,131,,C-61441-10005-53501-44,"Show Turk (türk)",DCT0, +,132,,C-61441-10005-53503-44,"Detski Mir/TeleKlub",DCT0, +,133,,C-61441-10005-53510-44,"LigTV (türk)",DCT0, +,134,,C-61441-10005-53511-44,"Turkmax (türk)",DCT0, +,135,,C-61441-10005-53512-44,"Channel One Russia",DCT0, +,136,,C-61441-10005-53513-44,"Disney Junior (engl)",DCT0, +,137,,C-61441-10005-53514-44,"Channel21",DCT0, +,138,,C-61441-10005-53619-44,"Juwelo TV",DCT0, +,139,,C-61441-10005-53625-44,"EuroNews",DCT0, +,140,,C-61441-10004-53004-46,"Bloomberg",DCT0, +,141,,C-61441-10004-53119-46,"Russia Today (engl)",DCT0, +,142,,C-61441-10004-53210-46,"Euro Star (türk)",DCT0, +,143,,C-61441-10004-53403-46,"Bibel TV",DCT0, +,144,,C-61441-10004-53502-46,"NTV Avrupa (türk)",DCT0, +,145,,C-61441-10004-53504-46,"Kanal 7 (türk)",DCT0, +,146,,C-61441-10004-53505-46,"Rai 1 (itl)",DCT0, +,147,,C-61441-10004-53506-46,"Rai 2 (itl)",DCT0, +,148,,C-61441-10004-53507-46,"Rai 3 (itl)",DCT0, +,149,,C-61441-10004-53515-46,"ERF eins",DCT0, +,150,,C-61441-10004-53608-46,"Das Vierte",DCT0, +,151,,C-61441-10004-53614-46,"Al Jazeera Int (engl)",DCT0, +,152,,C-61441-10004-53615-46,"sonnenklar.TV",DCT0, +,153,,C-61441-10012-50006-47,"NatGeo HD (KD)",DCT0, +,154,,C-61441-10012-50007-47,"FOX HD (KD)",DCT0, +,155,,C-61441-10012-50008-47,"Syfy HD",DCT0, +,156,,C-61441-10012-50017-47,"glitz* HD",DCT0, +,157,,C-61441-10012-50020-47,"Romance TV HD",DCT0, +,158,,C-61441-10012-50024-47,"Kinowelt TV HD",DCT0, +,159,,C-61441-10008-50106-48,"Syfy (KD)",DCT0, +,160,,C-61441-10008-50111-48,"Gute Laune TV",DCT0, +,161,,C-61441-10008-50303-48,"TNT Serie (KD)",DCT0, +,162,,C-61441-10008-50700-48,"sixx",DCT0, +,163,,C-61441-10008-50706-48,"Cartoon Network (engl)",DCT0, +,164,,C-61441-10008-50708-48,"National Geographic",DCT0, +,165,,C-61441-10008-50711-48,"Cartoon Network",DCT0, +,166,,C-61441-10008-50713-48,"The Biography Channel",DCT0, +,167,,C-61441-10008-53002-48,"Tele 5",DCT0, +,168,,C-61441-10008-53208-48,"National Geo (engl)",DCT0, +,169,,C-61441-10008-53320-48,"TNT Serie (engl)",DCT0, +,170,,C-61441-10008-53413-48,"Romance TV",DCT0, +,171,,C-61441-10008-53607-48,"Eurosport",DCT0, +,172,,C-61441-10008-53621-48,"ProSieben",DCT0, +,173,,C-61441-10008-53622-48,"kabel eins",DCT0, +,174,,C-61441-10008-53627-48,"N24",DCT0, +,175,,C-1-1079-11110-49,"ZDF HD",DCT0, +,176,,C-1-1079-28006-49,"ZDF",DCT0, +,177,,C-1-1079-28007-49,"3sat",DCT0, +,178,,C-1-1079-28008-49,"KiKA",DCT0, +,179,,C-1-1079-28011-49,"ZDFinfo",DCT0, +,180,,C-1-1079-28014-49,"zdf_neo",DCT0, +,181,,C-1-1079-28016-49,"zdf.kultur",DCT0, +,182,,C-1-1073-28206-50,"rbb Berlin",DCT0, +,183,,C-1-1073-28224-50,"NDR FS MV",DCT0, +,184,,C-1-1073-28230-50,"MDR Thüringen",DCT0, +,185,,C-61441-10007-50107-51,"13th Street (KD)",DCT0, +,186,,C-61441-10007-50301-51,"SPORT1+",DCT0, +,187,,C-61441-10007-50304-51,"AXN",DCT0, +,188,,C-61441-10007-50305-51,"Silverline",DCT0, +,189,,C-61441-10007-50306-51,"ESPN America",DCT0, +,190,,C-61441-10007-50307-51,"Disney XD",DCT0, +,191,,C-61441-10007-50701-51,"MTV",DCT0, +,192,,C-61441-10007-50704-51,"MTV Brand New",DCT0, +,193,,C-61441-10007-53006-51,"NICK/COMEDY CENTRAL",DCT0, +,194,,C-61441-10007-53104-51,"Jukebox",DCT0, +,195,,C-61441-10007-53105-51,"ESPN America (engl)",DCT0, +,196,,C-61441-10007-53402-51,"AXN (engl)",DCT0, +,197,,C-61441-10007-53409-51,"FOX",DCT0, +,198,,C-61441-10007-53609-51,"VIVA",DCT0, +,199,,C-61441-10007-53616-51,"QVC",DCT0, +,200,,C-61441-10007-53617-51,"DMAX",DCT0, +,201,,C-61441-10007-53630-51,"HSE24",DCT0, +,202,,C-61441-10006-50019-55,"sixx HD",DCT0, +,203,,C-61441-10006-50021-55,"Servus TV HD",DCT0, +,204,,C-61441-10006-50026-55,"HSE24 HD",DCT0, +,205,,C-61441-10006-50027-55,"QVC HD",DCT0, +,206,,C-61441-10006-50028-55,"Super RTL HD",DCT0, +,207,,C-61441-10006-50029-55,"RTL NITRO HD",DCT0, +,208,,C-133-6-131-58,"Sky Cinema HD",DCT0, +,209,,C-133-6-130-58,"Discovery HD",DCT0, +,210,,C-133-6-123-58,"TNT Serie HD",DCT0, +,211,,C-133-6-124-58,"Fox HD",DCT0, +,212,,C-133-6-267-58,"Sky Bundesliga HD 2",DCT0, +,213,,C-133-6-268-58,"Sky Sport HD 3",DCT0, +,214,,C-133-6-129-58,"Sky Sport HD 1",DCT0, +,215,,C-133-13-114-59,"Sky Sport HD 2",DCT0, +,216,,C-133-13-278-59,"Sky Sport HD 4",DCT0, +,217,,C-133-13-277-59,"Sky Bundesliga HD 3",DCT0, +,218,,C-133-13-111-59,"Disney Cinemagic HD",DCT0, +,219,,C-133-13-116-59,"Disney Channel HD",DCT0, +,220,,C-133-13-112-59,"NatGeo HD",DCT0, +,221,,C-133-13-110-59,"Sky Atlantic HD",DCT0, +,222,,C-61441-10022-50710-60,"CNBC Europe (engl)",DCT0, +,223,,C-61441-10022-51035-60,"PhoCNE / VTV4",DCT0, +,224,,C-61441-10022-51039-60,"Duna TV / Kazakh TV",DCT0, +,225,,C-61441-10022-51041-60,"BN Sat/HRT 1(scr)",DCT0, +,226,,C-61441-10022-53015-60,"Kabel Digital Info",DCT0, +,227,,C-61441-10022-53106-60,"iTVN (pol)",DCT0, +,228,,C-61441-10022-53111-60,"ANIXE SD",DCT0, +,229,,C-61441-10022-53204-60,"TV Polonia (pol)",DCT0, +,230,,C-61441-10022-53206-60,"RTP Internacional",DCT0, +,231,,C-61441-10022-53209-60,"ANT 1 EUROPE",DCT0, +,232,,C-61441-10022-53319-60,"Iran Music/Mohajer Int. (far)",DCT0, +,233,,C-61441-10022-53321-60,"Sky News (engl)",DCT0, +,234,,C-61441-10022-53323-60,"DELUXE MUSIC",DCT0, +,235,,C-61441-10022-53324-60,"SAT.1 Gold",DCT0, +,236,,C-61441-10022-53325-60,"InfoRU.tv (rus)",DCT0, +,237,,C-61441-10022-53508-60,"TVEi (span)",DCT0, +,238,,C-61441-10022-53509-60,"Canal 24 Horas",DCT0, +,239,,C-61441-10022-53612-60,"Astro TV",DCT0, +,1,,C-1-1101-28400-35,"Bayern 1",DCR0, +,2,,C-1-1101-28401-35,"Bayern 2",DCR0, +,3,,C-1-1101-28402-35,"BAYERN 3",DCR0, +,4,,C-1-1101-28403-35,"BR-KLASSIK",DCR0, +,5,,C-1-1101-28404-35,"B5 aktuell",DCR0, +,6,,C-1-1101-28405-35,"BAYERN plus",DCR0, +,7,,C-1-1101-28406-35,"PULS",DCR0, +,8,,C-1-1101-28408-35,"B5 plus",DCR0, +,9,,C-1-1101-28419-35,"hr1",DCR0, +,10,,C-1-1101-28420-35,"hr2",DCR0, +,11,,C-1-1101-28421-35,"hr3",DCR0, +,12,,C-1-1101-28422-35,"hr4",DCR0, +,13,,C-1-1101-28423-35,"YOU FM",DCR0, +,14,,C-1-1101-28424-35,"hr-iNFO",DCR0, +,15,,C-1-1101-28461-35,"SR1 Europawelle",DCR0, +,16,,C-1-1101-28462-35,"SR2 KulturRadio",DCR0, +,17,,C-1-1101-28463-35,"SR3 Saarlandwelle",DCR0, +,18,,C-1-1101-28475-35,"1LIVE",DCR0, +,19,,C-1-1101-28476-35,"WDR 2",DCR0, +,20,,C-1-1101-28477-35,"WDR 3",DCR0, +,21,,C-1-1101-28478-35,"WDR 4",DCR0, +,22,,C-1-1101-28479-35,"WDR 5",DCR0, +,23,,C-1-1101-28480-35,"WDR Funkhaus Europa",DCR0, +,24,,C-1-1101-28481-35,"1LIVE diggi",DCR0, +,25,,C-1-1101-28482-35,"KIRAKA",DCR0, +,26,,C-1-1101-28483-35,"WDR Event",DCR0, +,27,,C-61441-10002-50201-43,"Klassik Hits",DCR0, +,28,,C-61441-10002-50202-43,"Symphonie",DCR0, +,29,,C-61441-10002-50204-43,"Country",DCR0, +,30,,C-61441-10002-50206-43,"Instrumentals",DCR0, +,31,,C-61441-10002-50207-43,"New Age",DCR0, +,32,,C-61441-10002-50208-43,"Euro Hits",DCR0, +,33,,C-61441-10002-50211-43,"Deutscher Rock",DCR0, +,34,,C-61441-10002-50212-43,"Deutsche Schlager",DCR0, +,35,,C-61441-10002-50213-43,"Deutsche Hits",DCR0, +,36,,C-61441-10002-50215-43,"UK Hits",DCR0, +,37,,C-61441-10002-50219-43,"Chillout",DCR0, +,38,,C-61441-10002-50221-43,"Klassischer Jazz",DCR0, +,39,,C-61441-10002-50222-43,"Perfect Dinner Party",DCR0, +,40,,C-61441-10002-50223-43,"Brasil",DCR0, +,41,,C-61441-10002-50224-43,"Rock Anthems",DCR0, +,42,,C-61441-10002-50226-43,"Spanischer Rock",DCR0, +,43,,C-61441-10002-50227-43,"Rock'n'Roll Oldies",DCR0, +,44,,C-61441-10002-50231-43,"60er & 70er Hits",DCR0, +,45,,C-61441-10002-50232-43,"Big Band/Swing",DCR0, +,46,,C-61441-10002-50233-43,"Classic Rock",DCR0, +,47,,C-61441-10002-50234-43,"Heavy Metal",DCR0, +,48,,C-61441-10002-50235-43,"Alternative",DCR0, +,49,,C-61441-10002-50236-43,"Dance",DCR0, +,50,,C-61441-10005-50410-44,"Klassik Radio Movie",DCR0, +,51,,C-61441-10004-50239-46,"Pop",DCR0, +,52,,C-61441-10004-50241-46,"Love Songs",DCR0, +,53,,C-61441-10004-50242-46,"80er & 90er Hits",DCR0, +,54,,C-61441-10004-50243-46,"Blues",DCR0, +,55,,C-61441-10004-50245-46,"R&B Hip Hop",DCR0, +,56,,C-61441-10004-50246-46,"Reggae",DCR0, +,57,,C-61441-10004-50247-46,"Rap",DCR0, +,58,,C-61441-10004-50401-46,"Radio Horeb",DCR0, +,59,,C-61441-10004-50402-46,"ERF",DCR0, +,60,,C-61441-10004-50403-46,"BBC World Service",DCR0, +,61,,C-61441-10004-50404-46,"sunshine live",DCR0, +,62,,C-61441-10004-50405-46,"Klassik Radio",DCR0, +,63,,C-61441-10004-50406-46,"RTL Radio",DCR0, +,64,,C-61441-10004-50407-46,"Radio Paloma",DCR0, +,65,,C-61441-10004-50408-46,"JAM FM",DCR0, +,66,,C-61441-10004-50409-46,"METROPOL FM",DCR0, +,67,,C-61441-10008-50400-48,"Radio-Test",DCR0, +,68,,C-1-1079-28012-49,"DKULTUR",DCR0, +,69,,C-1-1079-28013-49,"DLF",DCR0, +,70,,C-1-1079-28017-49,"DRadio Wissen",DCR0, +,71,,C-1-1073-28428-50,"MDR1 SACHSEN",DCR0, +,72,,C-1-1073-28429-50,"MDR S-ANHALT",DCR0, +,73,,C-1-1073-28430-50,"MDR THÜRINGEN",DCR0, +,74,,C-1-1073-28431-50,"MDR FIGARO",DCR0, +,75,,C-1-1073-28432-50,"MDR JUMP",DCR0, +,76,,C-1-1073-28433-50,"MDR SPUTNIK",DCR0, +,77,,C-1-1073-28434-50,"MDR INFO",DCR0, +,78,,C-1-1073-28435-50,"MDR KLASSIK",DCR0, +,79,,C-1-1073-28437-50,"NDR 2",DCR0, +,80,,C-1-1073-28438-50,"NDR Kultur",DCR0, +,81,,C-1-1073-28439-50,"NDR Info",DCR0, +,82,,C-1-1073-28440-50,"N-JOY",DCR0, +,83,,C-1-1073-28441-50,"NDR 90,3",DCR0, +,84,,C-1-1073-28442-50,"NDR1WelleNord",DCR0, +,85,,C-1-1073-28443-50,"NDR 1 Radio MV",DCR0, +,86,,C-1-1073-28444-50,"NDR 1 Nieders.",DCR0, +,87,,C-1-1073-28445-50,"NDR Info Spez.",DCR0, +,88,,C-1-1073-28448-50,"Bremen Eins",DCR0, +,89,,C-1-1073-28449-50,"Nordwestradio",DCR0, +,90,,C-1-1073-28450-50,"Bremen Vier",DCR0, +,91,,C-1-1073-28452-50,"Inforadio",DCR0, +,92,,C-1-1073-28453-50,"Kulturradio",DCR0, +,93,,C-1-1073-28454-50,"Antenne Brandenburg",DCR0, +,94,,C-1-1073-28455-50,"radioBERLIN 88,8",DCR0, +,95,,C-1-1073-28456-50,"radioeins",DCR0, +,96,,C-1-1073-28457-50,"Fritz",DCR0, +,97,,C-1-1073-28465-50,"SWR1 BW",DCR0, +,98,,C-1-1073-28466-50,"SWR1 RP",DCR0, +,99,,C-1-1073-28467-50,"SWR2",DCR0, +,100,,C-1-1073-28468-50,"SWR3",DCR0, +,101,,C-1-1073-28469-50,"SWR4 BW",DCR0, +,102,,C-1-1073-28470-50,"SWR4 RP",DCR0, +,103,,C-1-1073-28471-50,"DASDING",DCR0, +,104,,C-1-1073-28472-50,"SWRinfo",DCR0, diff --git a/Test.Loader.LG/Test.Loader.LG.csproj b/Test.Loader.LG/Test.Loader.LG.csproj index e6274d1..2f050ab 100644 --- a/Test.Loader.LG/Test.Loader.LG.csproj +++ b/Test.Loader.LG/Test.Loader.LG.csproj @@ -80,6 +80,7 @@ + diff --git a/Test.Loader.LG/TestBase.cs b/Test.Loader.LG/TestBase.cs index f838480..277fdb9 100644 --- a/Test.Loader.LG/TestBase.cs +++ b/Test.Loader.LG/TestBase.cs @@ -139,6 +139,15 @@ namespace Test.Loader.LG return dir; dir = Path.GetDirectoryName(dir); } while (!string.IsNullOrEmpty(dir)); + + dir = Environment.CurrentDirectory; + do + { + if (File.Exists(dir + "\\ChanSort.sln")) + return dir; + dir = Path.GetDirectoryName(dir); + } while (!string.IsNullOrEmpty(dir)); + throw new InvalidOperationException("Cannot determine base directory of ChanSort solution"); } #endregion diff --git a/readme.txt b/readme.txt index 1a7b375..12b0b6b 100644 --- a/readme.txt +++ b/readme.txt @@ -1,9 +1,7 @@ -Version v2013-07-22 ====================================================== +Version v2013-07-23 ====================================================== Changes: -- Display message box to install VC++ 2010 Redist Package (x86) when it is - missing (required by SQLite to load Panasonic and Toshiba lists) -- FIX: added missing files for Portuguese translation +- Added support for LG LT-series (tested with xxLT380H) The complete change log can be found at the end of this document @@ -109,6 +107,9 @@ OTHER DEALINGS IN THE SOFTWARE. Change log ================================================================ +2013-07-23 +- Added support for LG LT-series (tested with xxLT380H) + 2013-07-22 - Display message box to install VC++ 2010 Redist Package (x86) when it is missing (required by SQLite to load Panasonic and Toshiba lists)