From fd603ac8ec8488034f9d564e937c0603b98ac23a Mon Sep 17 00:00:00 2001 From: Horst Beham Date: Sat, 9 Jan 2021 12:06:32 +0100 Subject: [PATCH] merged Philips loaders into one --- source/ChanSort.Api/ChanSort.Api.csproj | 1 + .../Utils/Crc16.cs} | 5 +- .../BinarySerializer.cs} | 55 +- .../ChanLstBin.cs | 19 +- .../ChanSort.Loader.Philips.csproj} | 13 +- .../ChanSort.Loader.Philips.ini} | 27 +- source/ChanSort.Loader.Philips/Channel.cs | 32 + .../CustomXmlWriter.cs | 2 +- source/ChanSort.Loader.Philips/DllClient.cs | 89 +++ .../ChanSort.Loader.Philips/PhilipsLoader.cs | 121 +++ .../Properties/AssemblyInfo.cs | 0 .../XmlSerializer.cs} | 43 +- source/ChanSort.Loader.PhilipsBin/Channel.cs | 16 - .../SerializerPlugin.cs | 16 - .../ChanSort.Loader.PhilipsXml.csproj | 85 -- source/ChanSort.Loader.PhilipsXml/Channel.cs | 21 - .../Properties/AssemblyInfo.cs | 36 - .../SerializerPlugin.cs | 16 - source/ChanSort.sln | 32 +- source/ChanSort/ChanSort.csproj | 8 +- .../ReferenceLists/it_hotbird130E_FTA.txt | 41 + .../ReferenceLists/it_tivusat_EasyHD.txt | 203 +++++ .../philips_SatelliteDb-bin.h | 42 + .../PhilipsBinChannellibTest.cs} | 6 +- .../PhilipsBinS2channellibTest.cs} | 8 +- .../PhilipsXmlTest.cs | 29 +- .../Properties/AssemblyInfo.cs | 0 .../Test.Loader.Philips.csproj} | 386 ++++----- .../ChannelMap_100/ChannelList/Favorite.xml | 740 ++++++++++++++++++ .../ChannelMap_100/ChannelList/chanLst.bin | Bin 0 -> 121 bytes .../ChannelList/channellib}/DVBC.xml | 0 .../ChannelList/channellib/DVBT.xml | 188 +++++ .../ChannelList/s2channellib}/DVBS.xml | 0 .../ChannelList/s2channellib/DVBSall.xml | 4 + .../TestFiles/Repair}/CM_TPM1013E_LA_CK.xml | 0 .../TestFiles1/Repair/ChannelList/chanLst.bin | Bin .../ChannelList/channellib/AntennaAnalogTable | Bin .../ChannelList/channellib/AntennaDigSrvTable | Bin .../ChannelList/channellib/AntennaDigTSTable | Bin .../ChannelList/channellib/AntennaFrqMapTable | Bin .../ChannelList/channellib/AntennaPresetTable | Bin .../ChannelList/channellib/CableAnalogTable | Bin .../ChannelList/channellib/CableDigSrvTable | Bin .../ChannelList/channellib/CableDigTSTable | Bin .../ChannelList/channellib/CableFrqMapTable | Bin .../ChannelList/channellib/CablePresetTable | Bin .../s2channellib/adk_user_pref.dat | Bin .../s2channellib/adk_user_pref_backup.dat | Bin .../ChannelList/s2channellib/db_file_info.dat | Bin .../s2channellib/db_file_info_backup.dat | Bin .../ChannelList/s2channellib/favorite.dat | Bin .../s2channellib/favorite_backup.dat | Bin .../Repair/ChannelList/s2channellib/lnb.dat | Bin .../ChannelList/s2channellib/lnb_backup.dat | Bin .../ChannelList/s2channellib/satellite.dat | Bin .../s2channellib/satellite_backup.dat | Bin .../ChannelList/s2channellib/service.dat | Bin .../s2channellib/service_backup.dat | Bin .../ChannelList/s2channellib/tuneinfo.dat | Bin .../s2channellib/tuneinfo_backup.dat | Bin .../ChannelList/s2channellib/user_pref.dat | Bin .../s2channellib/user_pref_backup.dat | Bin .../TestFiles2/Repair/ChannelList/chanLst.bin | Bin .../ChannelList/channellib/AntennaAnalogTable | Bin .../ChannelList/channellib/AntennaDigSrvTable | Bin .../ChannelList/channellib/AntennaDigTSTable | Bin .../ChannelList/channellib/AntennaFrqMapTable | Bin .../ChannelList/channellib/AntennaPresetTable | Bin .../ChannelList/channellib/CableAnalogTable | Bin .../ChannelList/channellib/CableDigSrvTable | Bin .../ChannelList/channellib/CableDigTSTable | Bin .../ChannelList/channellib/CableFrqMapTable | Bin .../ChannelList/channellib/CablePresetTable | Bin .../s2channellib/adk_user_pref.dat | Bin .../s2channellib/adk_user_pref_backup.dat | Bin .../ChannelList/s2channellib/db_file_info.dat | Bin .../s2channellib/db_file_info_backup.dat | Bin .../ChannelList/s2channellib/favorite.dat | Bin .../s2channellib/favorite_backup.dat | Bin .../Repair/ChannelList/s2channellib/lnb.dat | Bin .../ChannelList/s2channellib/lnb_backup.dat | Bin .../ChannelList/s2channellib/satellite.dat | Bin .../s2channellib/satellite_backup.dat | Bin .../ChannelList/s2channellib/service.dat | Bin .../s2channellib/service_backup.dat | Bin .../ChannelList/s2channellib/tuneinfo.dat | Bin .../s2channellib/tuneinfo_backup.dat | Bin .../ChannelList/s2channellib/user_pref.dat | Bin .../s2channellib/user_pref_backup.dat | Bin .../Properties/AssemblyInfo.cs | 20 - source/Test.Loader.PhilipsBin/packages.config | 5 - .../Test.Loader.PhilipsXml.csproj | 107 --- source/Test.Loader.PhilipsXml/packages.config | 5 - source/Test.Loader/TestUtils.cs | 19 +- 94 files changed, 1808 insertions(+), 632 deletions(-) rename source/{ChanSort.Loader.PhilipsBin/ModbusCrc16.cs => ChanSort.Api/Utils/Crc16.cs} (95%) rename source/{ChanSort.Loader.PhilipsBin/Serializer.cs => ChanSort.Loader.Philips/BinarySerializer.cs} (93%) rename source/{ChanSort.Loader.PhilipsBin => ChanSort.Loader.Philips}/ChanLstBin.cs (86%) rename source/{ChanSort.Loader.PhilipsBin/ChanSort.Loader.PhilipsBin.csproj => ChanSort.Loader.Philips/ChanSort.Loader.Philips.csproj} (90%) rename source/{ChanSort.Loader.PhilipsBin/ChanSort.Loader.PhilipsBin.ini => ChanSort.Loader.Philips/ChanSort.Loader.Philips.ini} (62%) create mode 100644 source/ChanSort.Loader.Philips/Channel.cs rename source/{ChanSort.Loader.PhilipsXml => ChanSort.Loader.Philips}/CustomXmlWriter.cs (99%) create mode 100644 source/ChanSort.Loader.Philips/DllClient.cs create mode 100644 source/ChanSort.Loader.Philips/PhilipsLoader.cs rename source/{ChanSort.Loader.PhilipsBin => ChanSort.Loader.Philips}/Properties/AssemblyInfo.cs (100%) rename source/{ChanSort.Loader.PhilipsXml/Serializer.cs => ChanSort.Loader.Philips/XmlSerializer.cs} (96%) delete mode 100644 source/ChanSort.Loader.PhilipsBin/Channel.cs delete mode 100644 source/ChanSort.Loader.PhilipsBin/SerializerPlugin.cs delete mode 100644 source/ChanSort.Loader.PhilipsXml/ChanSort.Loader.PhilipsXml.csproj delete mode 100644 source/ChanSort.Loader.PhilipsXml/Channel.cs delete mode 100644 source/ChanSort.Loader.PhilipsXml/Properties/AssemblyInfo.cs delete mode 100644 source/ChanSort.Loader.PhilipsXml/SerializerPlugin.cs create mode 100644 source/ChanSort/ReferenceLists/it_hotbird130E_FTA.txt create mode 100644 source/ChanSort/ReferenceLists/it_tivusat_EasyHD.txt create mode 100644 source/Information/FileStructures_for_HHD_Hex_Editor_Neo/philips_SatelliteDb-bin.h rename source/{Test.Loader.PhilipsBin/PhilipsChannellibTest.cs => Test.Loader.Philips/PhilipsBinChannellibTest.cs} (88%) rename source/{Test.Loader.PhilipsBin/PhilipsS2channellibTest.cs => Test.Loader.Philips/PhilipsBinS2channellibTest.cs} (94%) rename source/{Test.Loader.PhilipsXml => Test.Loader.Philips}/PhilipsXmlTest.cs (74%) rename source/{Test.Loader.PhilipsXml => Test.Loader.Philips}/Properties/AssemblyInfo.cs (100%) rename source/{Test.Loader.PhilipsBin/Test.Loader.PhilipsBin.csproj => Test.Loader.Philips/Test.Loader.Philips.csproj} (60%) create mode 100644 source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/Favorite.xml create mode 100644 source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/chanLst.bin rename source/{Test.Loader.PhilipsXml/TestFiles => Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/channellib}/DVBC.xml (100%) create mode 100644 source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/channellib/DVBT.xml rename source/{Test.Loader.PhilipsXml/TestFiles => Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/s2channellib}/DVBS.xml (100%) create mode 100644 source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/s2channellib/DVBSall.xml rename source/{Test.Loader.PhilipsXml/TestFiles => Test.Loader.Philips/TestFiles/Repair}/CM_TPM1013E_LA_CK.xml (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/chanLst.bin (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/channellib/AntennaAnalogTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/channellib/AntennaDigSrvTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/channellib/AntennaDigTSTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/channellib/AntennaFrqMapTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/channellib/AntennaPresetTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/channellib/CableAnalogTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/channellib/CableDigSrvTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/channellib/CableDigTSTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/channellib/CableFrqMapTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/channellib/CablePresetTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/s2channellib/adk_user_pref.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/s2channellib/adk_user_pref_backup.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/s2channellib/db_file_info.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/s2channellib/db_file_info_backup.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/s2channellib/favorite.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/s2channellib/favorite_backup.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/s2channellib/lnb.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/s2channellib/lnb_backup.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/s2channellib/satellite.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/s2channellib/satellite_backup.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/s2channellib/service.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/s2channellib/service_backup.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/s2channellib/tuneinfo.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/s2channellib/tuneinfo_backup.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/s2channellib/user_pref.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles1/Repair/ChannelList/s2channellib/user_pref_backup.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/chanLst.bin (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/channellib/AntennaAnalogTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/channellib/AntennaDigSrvTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/channellib/AntennaDigTSTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/channellib/AntennaFrqMapTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/channellib/AntennaPresetTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/channellib/CableAnalogTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/channellib/CableDigSrvTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/channellib/CableDigTSTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/channellib/CableFrqMapTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/channellib/CablePresetTable (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/s2channellib/adk_user_pref.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/s2channellib/adk_user_pref_backup.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/s2channellib/db_file_info.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/s2channellib/db_file_info_backup.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/s2channellib/favorite.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/s2channellib/favorite_backup.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/s2channellib/lnb.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/s2channellib/lnb_backup.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/s2channellib/satellite.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/s2channellib/satellite_backup.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/s2channellib/service.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/s2channellib/service_backup.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/s2channellib/tuneinfo.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/s2channellib/tuneinfo_backup.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/s2channellib/user_pref.dat (100%) rename source/{Test.Loader.PhilipsBin => Test.Loader.Philips}/TestFiles2/Repair/ChannelList/s2channellib/user_pref_backup.dat (100%) delete mode 100644 source/Test.Loader.PhilipsBin/Properties/AssemblyInfo.cs delete mode 100644 source/Test.Loader.PhilipsBin/packages.config delete mode 100644 source/Test.Loader.PhilipsXml/Test.Loader.PhilipsXml.csproj delete mode 100644 source/Test.Loader.PhilipsXml/packages.config diff --git a/source/ChanSort.Api/ChanSort.Api.csproj b/source/ChanSort.Api/ChanSort.Api.csproj index 80a06ac..3131f22 100644 --- a/source/ChanSort.Api/ChanSort.Api.csproj +++ b/source/ChanSort.Api/ChanSort.Api.csproj @@ -89,6 +89,7 @@ + diff --git a/source/ChanSort.Loader.PhilipsBin/ModbusCrc16.cs b/source/ChanSort.Api/Utils/Crc16.cs similarity index 95% rename from source/ChanSort.Loader.PhilipsBin/ModbusCrc16.cs rename to source/ChanSort.Api/Utils/Crc16.cs index 8113d1d..ed0a1f9 100644 --- a/source/ChanSort.Loader.PhilipsBin/ModbusCrc16.cs +++ b/source/ChanSort.Api/Utils/Crc16.cs @@ -1,7 +1,8 @@ -namespace ChanSort.Loader.PhilipsBin +namespace ChanSort.Api { - public class ModbusCrc16 + public class Crc16 { + // CRC-16-IBM aka Modbus, LSB first (right shift) with polynomial 0x8005 private static readonly ushort[] CrcTable = { 0X0000, 0XC0C1, 0XC181, 0X0140, 0XC301, 0X03C0, 0X0280, 0XC241, 0XC601, 0X06C0, 0X0780, 0XC741, 0X0500, 0XC5C1, 0XC481, 0X0440, diff --git a/source/ChanSort.Loader.PhilipsBin/Serializer.cs b/source/ChanSort.Loader.Philips/BinarySerializer.cs similarity index 93% rename from source/ChanSort.Loader.PhilipsBin/Serializer.cs rename to source/ChanSort.Loader.Philips/BinarySerializer.cs index c6436de..5f001b3 100644 --- a/source/ChanSort.Loader.PhilipsBin/Serializer.cs +++ b/source/ChanSort.Loader.Philips/BinarySerializer.cs @@ -6,12 +6,12 @@ using System.Reflection; using System.Text; using ChanSort.Api; -namespace ChanSort.Loader.PhilipsBin +namespace ChanSort.Loader.Philips { /* channellib\CableDigSrvTable: =========================== - Channels in this file are not phyiscally ordered by the program number and there is no linked list with prev/next indexes. + Channels in this file are not physically ordered by the program number and there is no linked list with prev/next indexes. When editing a channel with the Philips Channel Editor, it only updates the progNr field (and overwrites all trailing bytes of the channel name with 0x00). There is also the CablePresetTable file which is probably used for LCN. The Philips tool also updates the progNr in that file and uses it as is primary source for the progNr. I don't know if there is a direct reference from the channel to the preset, hence this code uses the combination of ONID+TSID+SID to link the two. @@ -36,7 +36,7 @@ namespace ChanSort.Loader.PhilipsBin The Philips editor even saves non-linear lists, but not in any particular order. */ - class Serializer : SerializerBase + class BinarySerializer : SerializerBase { private readonly IniFile ini; private readonly List dataFilePaths = new List(); @@ -47,7 +47,7 @@ namespace ChanSort.Loader.PhilipsBin private readonly StringBuilder logMessages = new StringBuilder(); #region ctor() - public Serializer(string inputFile) : base(inputFile) + public BinarySerializer(string inputFile) : base(inputFile) { this.Features.ChannelNameEdit = ChannelNameEditMode.None; this.Features.CanSkipChannels = false; @@ -105,21 +105,25 @@ namespace ChanSort.Loader.PhilipsBin var channellib = Path.Combine(dir, "channellib"); var s2channellib = Path.Combine(dir, "s2channellib"); - // channellib files for DVB-C/T - LoadDvbCT(dvbtChannels, Path.Combine(channellib, "AntennaDigSrvTable")); + // channellib files for DVB-C/T in version 1.1 and 1.2 + LoadDvbCT(dvbtChannels, Path.Combine(channellib, "AntennaDigSrvTable"), "CableDigSrvTable_entry"); LoadDvbCTPresets(dvbtChannels, Path.Combine(channellib, "AntennaPresetTable")); - LoadDvbCT(dvbcChannels, Path.Combine(channellib, "CableDigSrvTable")); + LoadDvbCT(dvbcChannels, Path.Combine(channellib, "CableDigSrvTable"), "CableDigSrvTable_entry"); LoadDvbCTPresets(dvbcChannels, Path.Combine(channellib, "CablePresetTable")); - // s2channellib files for DVB-S + // s2channellib files for DVB-S in version 1.1 and 1.2 LoadDvbsSatellites(Path.Combine(s2channellib, "satellite.dat")); LoadDvbsTransponders(Path.Combine(s2channellib, "tuneinfo.dat")); - LoadDvbS(satChannels, Path.Combine(s2channellib, "service.dat")); + LoadDvbS(satChannels, Path.Combine(s2channellib, "service.dat"), "service.dat_entry"); LoadDvbsFavorites(Path.Combine(s2channellib, "favorite.dat")); var db_file_info = Path.Combine(s2channellib, "db_file_info.dat"); if (File.Exists(db_file_info)) this.dataFilePaths.Add(db_file_info); + // version 45 + if (chanLstBin.VersionMajor == 45) + LoadDvbS(satChannels, Path.Combine(s2channellib, "SatelliteDb.bin"), "Map45_SatelliteDb_entry"); + // for a proper ChanSort backup/restore with .bak files, the Philips _backup.dat files must also be included foreach (var file in this.dataFilePaths.ToList()) { @@ -159,12 +163,12 @@ namespace ChanSort.Loader.PhilipsBin #endregion #region LoadDvbCT - private void LoadDvbCT(ChannelList list, string path) + private void LoadDvbCT(ChannelList list, string path, string mappingName) { if (!ReadAndValidateChannellibFile(path, out var data, out var recordSize, out var recordCount)) return; - var mapping = new DataMapping(this.ini.GetSection("CableDigSrvTable_entry")); + var mapping = new DataMapping(this.ini.GetSection(mappingName)); mapping.SetDataPtr(data, 20); for (int i = 0; i < recordCount; i++, mapping.BaseOffset += recordSize) @@ -340,7 +344,7 @@ namespace ChanSort.Loader.PhilipsBin #endregion #region LoadDvbS - private void LoadDvbS(ChannelList list, string path) + private void LoadDvbS(ChannelList list, string path, string mappingName) { if (!File.Exists(path)) return; @@ -349,26 +353,33 @@ namespace ChanSort.Loader.PhilipsBin if (data.Length < 4) return; - var checksum = BitConverter.ToUInt32(data, data.Length - 4); + if (chanLstBin.VersionMajor == 1) + { + var checksum = BitConverter.ToUInt32(data, data.Length - 4); + + var crcObj = new Crc32(false, Crc32.NormalPoly); + var crc = ~crcObj.CalcCrc32(data, 0, data.Length - 4); + if (checksum != crc) + throw new FileLoadException("Invalid CRC32 in " + path); + } - var crcObj = new Crc32(false, Crc32.NormalPoly); - var crc = ~crcObj.CalcCrc32(data, 0, data.Length - 4); - if (checksum != crc) - throw new FileLoadException("Invalid CRC32 in " + path); int recordSize = BitConverter.ToInt32(data, 4); int recordCount = BitConverter.ToInt32(data, 8); - // 12 bytes header, then a "next/prev" table, then the service records, then a CRC32 - // the "next/prev" table is a ring-list, every entry consists of 2 ushorts with the next and previous channel, wrapping around on the ends - if (data.Length != 12 + recordCount * 4 + recordCount * recordSize + 4) - throw new FileLoadException("Unsupported file content: " + path); + if (chanLstBin.VersionMajor == 1) + { + // 12 bytes header, then a "next/prev" table, then the service records, then a CRC32 + // the "next/prev" table is a ring-list, every entry consists of 2 ushorts with the next and previous channel, wrapping around on the ends + if (data.Length != 12 + recordCount * 4 + recordCount * recordSize + 4) + throw new FileLoadException("Unsupported file content: " + path); + } this.dataFilePaths.Add(path); var dvbStringDecoder = new DvbStringDecoder(this.DefaultEncoding); - var mapping = new DataMapping(this.ini.GetSection("service.dat_entry")); + var mapping = new DataMapping(this.ini.GetSection(mappingName)); mapping.SetDataPtr(data, 12 + recordCount * 4); for (int i = 0; i < recordCount; i++, mapping.BaseOffset += recordSize) { diff --git a/source/ChanSort.Loader.PhilipsBin/ChanLstBin.cs b/source/ChanSort.Loader.Philips/ChanLstBin.cs similarity index 86% rename from source/ChanSort.Loader.PhilipsBin/ChanLstBin.cs rename to source/ChanSort.Loader.Philips/ChanLstBin.cs index e7aaa95..f71816d 100644 --- a/source/ChanSort.Loader.PhilipsBin/ChanLstBin.cs +++ b/source/ChanSort.Loader.Philips/ChanLstBin.cs @@ -2,8 +2,9 @@ using System.Collections.Generic; using System.IO; using System.Text; +using ChanSort.Api; -namespace ChanSort.Loader.PhilipsBin +namespace ChanSort.Loader.Philips { class ChanLstBin { @@ -33,8 +34,8 @@ namespace ChanSort.Loader.PhilipsBin private byte[] content; private readonly Dictionary crcOffsetByRelPath = new Dictionary(); - private uint versionMinor; - private uint versionMajor; + public uint VersionMinor { get; private set; } + public uint VersionMajor { get; private set; } private Action log; public void Load(string path, Action log) @@ -43,9 +44,9 @@ namespace ChanSort.Loader.PhilipsBin this.content = File.ReadAllBytes(path); var off = 0; - versionMinor = BitConverter.ToUInt16(content, off); + VersionMinor = BitConverter.ToUInt16(content, off); off += 2; - versionMajor = BitConverter.ToUInt16(content, off); + VersionMajor = BitConverter.ToUInt16(content, off); off += 2; // skip unknown 14 bytes @@ -93,8 +94,8 @@ namespace ChanSort.Loader.PhilipsBin if (!File.Exists(filePath)) continue; var data = File.ReadAllBytes(filePath); - var length = Math.Min(data.Length, versionMajor <= 12 ? 0x6000 : 0x145A00); - var actualCrc = ModbusCrc16.Calc(data, 0, length); + var length = Math.Min(data.Length, VersionMajor <= 12 ? 0x6000 : 0x145A00); + var actualCrc = Crc16.Calc(data, 0, length); if (actualCrc != expectedCrc) { var msg = $"chanLst.bin: stored CRC for {entry.Key} is {expectedCrc:x4} but calculated {actualCrc:x4}"; @@ -116,8 +117,8 @@ namespace ChanSort.Loader.PhilipsBin { var path = baseDir + entry.Key; var data = File.ReadAllBytes(path); - var length = Math.Min(data.Length, versionMajor <= 12 ? 0x6000 : 0x145A00); - var crc = ModbusCrc16.Calc(data, 0, length); + var length = Math.Min(data.Length, VersionMajor <= 12 ? 0x6000 : 0x145A00); + var crc = Crc16.Calc(data, 0, length); var off = entry.Value; content[off] = (byte) crc; content[off + 1] = (byte) (crc >> 8); diff --git a/source/ChanSort.Loader.PhilipsBin/ChanSort.Loader.PhilipsBin.csproj b/source/ChanSort.Loader.Philips/ChanSort.Loader.Philips.csproj similarity index 90% rename from source/ChanSort.Loader.PhilipsBin/ChanSort.Loader.PhilipsBin.csproj rename to source/ChanSort.Loader.Philips/ChanSort.Loader.Philips.csproj index e132af5..3684e8e 100644 --- a/source/ChanSort.Loader.PhilipsBin/ChanSort.Loader.PhilipsBin.csproj +++ b/source/ChanSort.Loader.Philips/ChanSort.Loader.Philips.csproj @@ -7,8 +7,8 @@ {1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5} Library Properties - ChanSort.Loader.PhilipsBin - ChanSort.Loader.PhilipsBin + ChanSort.Loader.Philips + ChanSort.Loader.Philips v4.8 512 true @@ -66,10 +66,11 @@ - + - - + + + @@ -78,7 +79,7 @@ - + Always diff --git a/source/ChanSort.Loader.PhilipsBin/ChanSort.Loader.PhilipsBin.ini b/source/ChanSort.Loader.Philips/ChanSort.Loader.Philips.ini similarity index 62% rename from source/ChanSort.Loader.PhilipsBin/ChanSort.Loader.PhilipsBin.ini rename to source/ChanSort.Loader.Philips/ChanSort.Loader.Philips.ini index e3d907b..26977ef 100644 --- a/source/ChanSort.Loader.PhilipsBin/ChanSort.Loader.PhilipsBin.ini +++ b/source/ChanSort.Loader.Philips/ChanSort.Loader.Philips.ini @@ -1,4 +1,6 @@ -[service.dat_entry] +# ChannelMap_11 format + +[service.dat_entry] offPcrPid=0 maskPcrPid=0x1FFF offLocked=3 @@ -41,4 +43,25 @@ offSid=18 [CableFrqMapTable_entry] offChecksum=0 offSymbolRate=8 -offFreq=18 \ No newline at end of file +offFreq=18 + +# ChannelMap_45 format + +[Map45_SatelliteDbBin_entry] +offId=0 +offFreq=4 +offProgNr=8 +offAnalogUid=12 +offOnid=16 +offTsid=20 +offSid=24 +offSymbolRate=28 +offLogoNr=32 +offScrambleStat=36 +offLocked=40 +offModulateion=44 +offServiceType=52 +offName=80 +lenName=64 +offSatName=146 +lenSatName=64 \ No newline at end of file diff --git a/source/ChanSort.Loader.Philips/Channel.cs b/source/ChanSort.Loader.Philips/Channel.cs new file mode 100644 index 0000000..70ef0b1 --- /dev/null +++ b/source/ChanSort.Loader.Philips/Channel.cs @@ -0,0 +1,32 @@ +using System.Xml; +using ChanSort.Api; + +namespace ChanSort.Loader.Philips +{ + internal class Channel : ChannelInfo + { + public Channel(SignalSource source, long index, int oldProgNr, string name) : base(source, index, oldProgNr, name) + { + } + + internal Channel(SignalSource source, int order, int rowId, XmlNode setupNode) + { + this.SignalSource = source; + this.RecordOrder = order; + this.RecordIndex = rowId; + this.SetupNode = setupNode; + } + + /// + /// index of the record in the AntennaPresetTable / CablePresetTable file for the channel, matched by (onid + tsid + sid) + /// + public int PresetTableIndex { get; set; } = -1; + + // fields relevant for ChannelMap_100 and later (XML nodes) + public readonly XmlNode SetupNode; + public string RawName; + public string RawSatellite; + public int Format; + + } +} diff --git a/source/ChanSort.Loader.PhilipsXml/CustomXmlWriter.cs b/source/ChanSort.Loader.Philips/CustomXmlWriter.cs similarity index 99% rename from source/ChanSort.Loader.PhilipsXml/CustomXmlWriter.cs rename to source/ChanSort.Loader.Philips/CustomXmlWriter.cs index 43f445e..9f42a3b 100644 --- a/source/ChanSort.Loader.PhilipsXml/CustomXmlWriter.cs +++ b/source/ChanSort.Loader.Philips/CustomXmlWriter.cs @@ -2,7 +2,7 @@ using System.IO; using System.Xml; -namespace ChanSort.Loader.PhilipsXml +namespace ChanSort.Loader.Philips { /// /// This XmlWriter replaces some characters with Char- or Entity- references the same way diff --git a/source/ChanSort.Loader.Philips/DllClient.cs b/source/ChanSort.Loader.Philips/DllClient.cs new file mode 100644 index 0000000..c3cb14a --- /dev/null +++ b/source/ChanSort.Loader.Philips/DllClient.cs @@ -0,0 +1,89 @@ +namespace ChanSort.Loader.PhilipsBin +{ + class Serializer + { + [DllImport("Cable.dll", CallingConvention = CallingConvention.Cdecl)] + public static extern int ConvertToXML_Cable([MarshalAs(UnmanagedType.LPArray)] byte[] path, [MarshalAs(UnmanagedType.LPArray)] byte[] read_buff); + + [DllImport("Cable.dll", CallingConvention = CallingConvention.Cdecl)] + public static extern int ConvertToBIN_Cable([MarshalAs(UnmanagedType.LPArray)] byte[] read_buff); + + //[DllImport("Cable.dll")] + //public static extern int GetFavoriteList([MarshalAs(UnmanagedType.I4)] int ListId, [MarshalAs(UnmanagedType.LPArray)] int[] NoOfRecords, [MarshalAs(UnmanagedType.LPArray)] int[] ChannelIdList); + + //[DllImport("Cable.dll")] + //public static extern int SetFavoriteList([MarshalAs(UnmanagedType.I4)] int ListId, [MarshalAs(UnmanagedType.I4)] int NoOfRecords, [MarshalAs(UnmanagedType.LPArray)] int[] ChannelIdList); + + + + [DllImport("dvbs2_cte.dll", CallingConvention = CallingConvention.Cdecl)] + public static extern int ConvertToXML_Satellite([MarshalAs(UnmanagedType.LPArray)] byte[] path, [MarshalAs(UnmanagedType.LPArray)] byte[] read_buff); + //public static extern int ConvertToXML_Satellite(IntPtr pathAs8BitChar, [MarshalAs(UnmanagedType.LPArray)] byte[] read_buff); + + [DllImport("dvbs2_cte.dll", CallingConvention = CallingConvention.Cdecl)] + public static extern int ConvertToBin_Satellite([MarshalAs(UnmanagedType.LPArray)] byte[] read_buff); + /* + [DllImport("dvbs2_cte.dll")] + public static extern int GetFavoriteList([MarshalAs(UnmanagedType.I4)] int ListId, [MarshalAs(UnmanagedType.LPArray)] int[] NoOfRecords, [MarshalAs(UnmanagedType.LPArray)] int[] ChannelIdList); + + [DllImport("dvbs2_cte.dll")] + public static extern int SetFavoriteList([MarshalAs(UnmanagedType.I4)] int ListId, [MarshalAs(UnmanagedType.I4)] int NoOfRecords, [MarshalAs(UnmanagedType.LPArray)] int[] ChannelIdList); + */ + + [DllImport("kernel32.dll")] + private static extern int LoadLibrary(string strLib); + + [DllImport("kernel32.dll")] + private static extern int FreeLibrary(int iModule); + + [DllImport("kernel32.dll")] + private static extern IntPtr GetProcAddress(int iModule, string strProcName); + + + + + #region Load() + + public override void Load() + { + var dir = Path.GetDirectoryName(this.FileName) + "\\"; + var fname = Encoding.Default.GetBytes(dir); + //var ptr = Marshal.AllocHGlobal(enc.Length); + //var handle = GCHandle.Alloc(fname, GCHandleType.Pinned); + //var ptr = handle.AddrOfPinnedObject(); + var arr = new byte[10 * 1024 * 1024]; + //int r1 = 0; + //PhilipsChannelEditor.BinaryDll.CSatellite.GetBinaryFilesToXML(ref r1, dir); + var hLib = LoadLibrary("Cable.dll"); + var addr = GetProcAddress(hLib, "ConvertToBIN_Cable"); + try + { + //var r1 = PhilipsChannelEditor.BinaryDll.CSatellite.ConvertToXML_Satellite(fname, arr); + //var r1 = ConvertToXML_Cable(ptr, arr); + var sat = this.FileName.Contains("\\s2"); + var r1 = sat ? ConvertToXML_Satellite(fname, arr) : ConvertToXML_Cable(fname, arr); + if (r1 != 0) + throw new FileLoadException("Philips DLL returned error code loading file: " + r1); + int len = 0; + while (arr[len] != 0) + ++len; + using (var file = new FileStream(@"c:\temp\philips.xml", FileMode.Create)) + file.Write(arr, 0, len); + + var arr2 = new byte[len + 1]; + Array.Copy(arr, arr2, len); + arr2[len] = 0; + + var r2 = sat ? ConvertToBin_Satellite(arr2) : ConvertToBIN_Cable(arr2); + if (r2 != 0) + throw new FileLoadException("Philips DLL returned error code saving file: " + r2); + } + finally + { + FreeLibrary(hLib); + } + } + + #endregion + } +} \ No newline at end of file diff --git a/source/ChanSort.Loader.Philips/PhilipsLoader.cs b/source/ChanSort.Loader.Philips/PhilipsLoader.cs new file mode 100644 index 0000000..00e3fbd --- /dev/null +++ b/source/ChanSort.Loader.Philips/PhilipsLoader.cs @@ -0,0 +1,121 @@ +using System; +using System.IO; +using System.Text.RegularExpressions; +using ChanSort.Api; + +namespace ChanSort.Loader.Philips +{ + public class PhilipsLoader : ISerializerPlugin + { + /* + * Philips has a whole lot of completely incompatible channel list file formats with different folder structures. + * Most formats have a chanLst.bin file, which contains a minor and major version number in the header and CRC16 checksums for various other files. + * (first word is the minor, second word the major) + * + * version -1 (not an official number): + * Repair\mgr_chan_dvbt.db (binary file, not a SQLite database) + * Repair\FLASH_* + * no chanLst.bin + * + * version 0 (not an official number): + * Repair\CM_*_LA_CK.BIN (+ a hidden .xml file with the actual channel list) + * e.g. 47PFL5008K + * no chanLst.bin + * + * version 1.1 + * Repair\ChannelList\chanLst.bin + * Repair\ChannelList\channellib\CableDigSrvTable + * Repair\ChannelList\s2channellib\service.dat + * e.g. 32PFL5806K/02, 42PFL7656K/02 + * + * version 1.2 + * same as version 1.1 + * e.g. 32PFL5507K/12, 42PFL4317K/12, 32PFL5507K/12 + * + * version 11.1 + * PhilipsChannelMaps\ChannelMap_11\ChannelList\chanLst.bin + * PhilipsChannelMaps\ChannelMap_11\ChannelList\channelLib\*Table (as with 1.1) + * PhilipsChannelMaps\ChannelMap_11\ChannelList\s2channellib\*.dat (as with 1.1) + * PhilipsChannelMaps\ChannelMap_11\ChannelList\s2channellib\Satellite*Table (new here) + * e.g. 55PFL8008S/12 + * + * version 45.1 + * PhilipsChannelMaps\ChannelMap_45\ChannelList\chanLst.bin + * PhilipsChannelMaps\ChannelMap_45\ChannelList\list.db (SQLite database including all channels - maybe just for EPG?) + * PhilipsChannelMaps\ChannelMap_45\ChannelList\channelLib\*Db.bin + * PhilipsChannelMaps\ChannelMap_45\ChannelList\s2channellib\*Db.bin + * e.g. 65PUS7601/12, 55PUS6581/12, 43PUS6401/12, 55PUS8601/12 + * + * version 100.0 + * PhilipsChannelMaps\ChannelMap_100\ChannelList\chanLst.bin + * PhilipsChannelMaps\ChannelMap_100\ChannelList\channellib\DVB*.xml + * PhilipsChannelMaps\ChannelMap_100\ChannelList\s2channellib\DVBS.xml + * e.g. 65PUS6754/12, 24PFT4022/12 + * + * version 105.0 + * PhilipsChannelMaps\ChannelMap_105\Favorite.xml + * rest like 100.0 + * e.g. 43PUS7307/12, 49PUS8303/12, 65PUS8503/12, 55OLED803/12 + * + * version 110.0 + * same as 105.0 + * e.g. 65PUS8535/12, 55PUS7334/12 + * + * + * Version 0.1 and 100-110 are XML based and loaded through the XmlSerializer. + * Version 1.1 and 1.2 are loaded through the BinSerializer. + * Version 0.0, 11.1 and 45.1 are not supported yet. + */ + + public string DllName { get; set; } + public string PluginName => "Philips"; + public string FileFilter => "*.bin;*.xml"; + + public SerializerBase CreateSerializer(string inputFile) + { + int majorVersion = int.MinValue; + var filename = Path.GetFileName(inputFile).ToLower(); + if (Regex.IsMatch(filename, @"^CM_.*\.(?:bin|xml)$", RegexOptions.IgnoreCase)) + majorVersion = 0; + else + { + // allow the user to pick pretty much any file within a Repair\ChannelList or PhilipsChannelMaps\ChannelMap_xxx\ChannelList structure to find a chanLst.bin + var dir = Path.GetDirectoryName(inputFile); + while(true) + { + var path = Path.Combine(dir, "chanLst.bin"); + if (File.Exists(path)) + { + inputFile = path; + var data = File.ReadAllBytes(inputFile); + majorVersion = BitConverter.ToInt16(data, 2); + break; + } + + var dirName = Path.GetFileName(dir).ToLower(); + if (dirName == "channellib" || dirName == "s2channellib") + dir = Path.GetDirectoryName(dir); + else if (Directory.Exists(Path.Combine(dir, "PhilipsChannelMaps"))) + dir = Path.Combine(dir, "PhilipsChannelMaps"); + else if (Directory.Exists(Path.Combine(dir, "ChannelList"))) + dir = Path.Combine(dir, "ChannelList"); + else + { + var maps = Directory.GetDirectories(dir, "ChannelMap_*"); + if (maps.Length > 0) + dir = maps[0]; + else + break; + } + } + } + + if (majorVersion == 0 || majorVersion >= 100 && majorVersion <= 110) + return new XmlSerializer(inputFile); + if (majorVersion == 1) + return new BinarySerializer(inputFile); + + throw new FileLoadException($"Selected file must be either chanLst.bin or CM_*.xml/.bin"); + } + } +} diff --git a/source/ChanSort.Loader.PhilipsBin/Properties/AssemblyInfo.cs b/source/ChanSort.Loader.Philips/Properties/AssemblyInfo.cs similarity index 100% rename from source/ChanSort.Loader.PhilipsBin/Properties/AssemblyInfo.cs rename to source/ChanSort.Loader.Philips/Properties/AssemblyInfo.cs diff --git a/source/ChanSort.Loader.PhilipsXml/Serializer.cs b/source/ChanSort.Loader.Philips/XmlSerializer.cs similarity index 96% rename from source/ChanSort.Loader.PhilipsXml/Serializer.cs rename to source/ChanSort.Loader.Philips/XmlSerializer.cs index d01dd28..18e00de 100644 --- a/source/ChanSort.Loader.PhilipsXml/Serializer.cs +++ b/source/ChanSort.Loader.Philips/XmlSerializer.cs @@ -2,17 +2,22 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using System.Runtime.Remoting.Channels; using System.Text; using System.Xml; using System.Xml.Schema; using ChanSort.Api; -using ChanSort.Loader.PhilipsBin; -namespace ChanSort.Loader.PhilipsXml +namespace ChanSort.Loader.Philips { /* - This loader supports 2 different kinds of XML files from Philips. + This loader supports 2 different kinds of XML files from Philips, the first in a "Repair" folder, the others in a "ChannelMap_xxx" folder + + Example from Repair\CM_TPM1013E_LA_CK.xml: + + + + + @@ -38,36 +43,26 @@ namespace ChanSort.Loader.PhilipsXml - The other file was "CM_TPM1013E_LA_CK.xml" with entries like: - - - - - DVB-T and DVB-C share the same number range, so they are treated as a unified logical list */ - class Serializer : SerializerBase + class XmlSerializer : SerializerBase { - private readonly ChannelList analogChannels = new ChannelList(SignalSource.DvbCT, "Analog C/T"); - private readonly ChannelList dvbctChannels = new ChannelList(SignalSource.DvbCT, "DVB-C/T"); + private readonly ChannelList analogChannels = new ChannelList(SignalSource.AnalogCT, "Analog C/T"); + private readonly ChannelList dvbtChannels = new ChannelList(SignalSource.DvbT, "DVB-T"); + private readonly ChannelList dvbcChannels = new ChannelList(SignalSource.DvbC, "DVB-C"); private readonly ChannelList satChannels = new ChannelList(SignalSource.DvbS, "DVB-S"); private readonly ChannelList allSatChannels = new ChannelList(SignalSource.DvbS, "DVB-S all"); private readonly ChannelList favChannels = new ChannelList(SignalSource.All, "Favorites"); private readonly List fileDataList = new List(); - //private XmlDocument doc; - //private byte[] content; - //private string textContent; - //private string newline; - //private int formatVersion; private ChanLstBin chanLstBin; private readonly StringBuilder logMessages = new StringBuilder(); #region ctor() - public Serializer(string inputFile) : base(inputFile) + public XmlSerializer(string inputFile) : base(inputFile) { this.Features.ChannelNameEdit = ChannelNameEditMode.All; this.Features.CanSkipChannels = false; @@ -79,12 +74,14 @@ namespace ChanSort.Loader.PhilipsXml this.Features.CanEditFavListNames = true; this.DataRoot.AddChannelList(this.analogChannels); - this.DataRoot.AddChannelList(this.dvbctChannels); + this.DataRoot.AddChannelList(this.dvbtChannels); + this.DataRoot.AddChannelList(this.dvbcChannels); this.DataRoot.AddChannelList(this.satChannels); this.DataRoot.AddChannelList(this.allSatChannels); this.DataRoot.AddChannelList(this.favChannels); - this.dvbctChannels.VisibleColumnFieldNames.Add("Source"); + this.dvbtChannels.VisibleColumnFieldNames.Add("Source"); + this.dvbcChannels.VisibleColumnFieldNames.Add("Source"); foreach (var list in this.DataRoot.ChannelLists) { @@ -289,8 +286,10 @@ namespace ChanSort.Loader.PhilipsXml chList = this.analogChannels; break; case "dvbc": + chList = this.dvbcChannels; + break; case "dvbt": - chList = this.dvbctChannels; + chList = this.dvbtChannels; break; case "dvbs": chList = this.satChannels; diff --git a/source/ChanSort.Loader.PhilipsBin/Channel.cs b/source/ChanSort.Loader.PhilipsBin/Channel.cs deleted file mode 100644 index d424642..0000000 --- a/source/ChanSort.Loader.PhilipsBin/Channel.cs +++ /dev/null @@ -1,16 +0,0 @@ -using ChanSort.Api; - -namespace ChanSort.Loader.PhilipsBin -{ - class Channel : ChannelInfo - { - public Channel(SignalSource source, long index, int oldProgNr, string name) : base(source, index, oldProgNr, name) - { - } - - /// - /// index of the record in the AntennaPresetTable / CablePresetTable file for the channel, matched by (onid + tsid + sid) - /// - public int PresetTableIndex { get; set; } = -1; - } -} diff --git a/source/ChanSort.Loader.PhilipsBin/SerializerPlugin.cs b/source/ChanSort.Loader.PhilipsBin/SerializerPlugin.cs deleted file mode 100644 index 558a7c4..0000000 --- a/source/ChanSort.Loader.PhilipsBin/SerializerPlugin.cs +++ /dev/null @@ -1,16 +0,0 @@ -using ChanSort.Api; - -namespace ChanSort.Loader.PhilipsBin -{ - public class SerializerPlugin : ISerializerPlugin - { - public string DllName { get; set; } - public string PluginName => "Philips .bin/.dat"; - public string FileFilter => "*.bin;*.dat"; - - public SerializerBase CreateSerializer(string inputFile) - { - return new Serializer(inputFile); - } - } -} diff --git a/source/ChanSort.Loader.PhilipsXml/ChanSort.Loader.PhilipsXml.csproj b/source/ChanSort.Loader.PhilipsXml/ChanSort.Loader.PhilipsXml.csproj deleted file mode 100644 index 649fa03..0000000 --- a/source/ChanSort.Loader.PhilipsXml/ChanSort.Loader.PhilipsXml.csproj +++ /dev/null @@ -1,85 +0,0 @@ - - - - - Debug - AnyCPU - {D7BAFD55-50F5-46C3-A76B-2193BED5358F} - Library - Properties - ChanSort.Loader.PhilipsXml - ChanSort.Loader.PhilipsXml - v4.8 - 512 - true - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - false - - - pdbonly - true - ..\Release\ - TRACE - prompt - 4 - false - - - true - ..\Debug\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - - - - - - - - - - - ChanLstBin.cs - - - ModbusCrc16.cs - - - - - - - - - - {dccffa08-472b-4d17-bb90-8f513fc01392} - ChanSort.Api - - - - \ No newline at end of file diff --git a/source/ChanSort.Loader.PhilipsXml/Channel.cs b/source/ChanSort.Loader.PhilipsXml/Channel.cs deleted file mode 100644 index cf7b0ef..0000000 --- a/source/ChanSort.Loader.PhilipsXml/Channel.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.Xml; -using ChanSort.Api; - -namespace ChanSort.Loader.PhilipsXml -{ - internal class Channel : ChannelInfo - { - public readonly XmlNode SetupNode; - public string RawName; - public string RawSatellite; - public int Format; - - internal Channel(SignalSource source, int order, int rowId, XmlNode setupNode) - { - this.SignalSource = source; - this.RecordOrder = order; - this.RecordIndex = rowId; - this.SetupNode = setupNode; - } - } -} diff --git a/source/ChanSort.Loader.PhilipsXml/Properties/AssemblyInfo.cs b/source/ChanSort.Loader.PhilipsXml/Properties/AssemblyInfo.cs deleted file mode 100644 index c8b3306..0000000 --- a/source/ChanSort.Loader.PhilipsXml/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("ChanSort.Loader.PhilipsXml")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("ChanSort.Loader.PhilipsXml")] -[assembly: AssemblyCopyright("Copyright © 2019")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("d7bafd55-50f5-46c3-a76b-2193bed5358f")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/source/ChanSort.Loader.PhilipsXml/SerializerPlugin.cs b/source/ChanSort.Loader.PhilipsXml/SerializerPlugin.cs deleted file mode 100644 index e372e8d..0000000 --- a/source/ChanSort.Loader.PhilipsXml/SerializerPlugin.cs +++ /dev/null @@ -1,16 +0,0 @@ -using ChanSort.Api; - -namespace ChanSort.Loader.PhilipsXml -{ - public class SerializerPlugin : ISerializerPlugin - { - public string DllName { get; set; } - public string PluginName => "Philips .xml"; - public string FileFilter => "*.xml;*.bin"; - - public SerializerBase CreateSerializer(string inputFile) - { - return new Serializer(inputFile); - } - } -} diff --git a/source/ChanSort.sln b/source/ChanSort.sln index 68d62bd..7f4bc5b 100644 --- a/source/ChanSort.sln +++ b/source/ChanSort.sln @@ -53,8 +53,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChanSort.Loader.SilvaSchnei EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChanSort.Loader.Sony", "ChanSort.Loader.Sony\ChanSort.Loader.Sony.csproj", "{70E29C6B-B926-4859-9548-23375BF1E1B5}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChanSort.Loader.PhilipsXml", "ChanSort.Loader.PhilipsXml\ChanSort.Loader.PhilipsXml.csproj", "{D7BAFD55-50F5-46C3-A76B-2193BED5358F}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.Loader.GlobalClone", "Test.Loader.GlobalClone\Test.Loader.GlobalClone.csproj", "{AA31A65D-9437-42AE-89C8-98C7392B450D}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.Loader.Panasonic", "Test.Loader.Panasonic\Test.Loader.Panasonic.csproj", "{D1E4454F-DB09-402D-AD87-1E3BD17266A9}" @@ -63,7 +61,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.Loader.Hisense", "Test EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.Loader.Hisense2017", "Test.Loader.Hisense2017\Test.Loader.Hisense2017.csproj", "{8D592EB4-3BE2-4D99-8923-FA0794C729ED}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.Loader.PhilipsXml", "Test.Loader.PhilipsXml\Test.Loader.PhilipsXml.csproj", "{0A162099-DA92-426A-AB70-36F88F9E5DC1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.Loader.Philips", "Test.Loader.Philips\Test.Loader.Philips.csproj", "{0A162099-DA92-426A-AB70-36F88F9E5DC1}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.Loader.SamsungJ", "Test.Loader.SamsungJ\Test.Loader.SamsungJ.csproj", "{902EA731-EBB2-4B18-BE87-256C05277B3E}" EndProject @@ -77,9 +75,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.Loader.VDR", "Test.Loa EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChanSort.Loader.M3u", "ChanSort.Loader.M3u\ChanSort.Loader.M3u.csproj", "{484028B6-3AAE-4F7E-A88A-76BEEB70203B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChanSort.Loader.PhilipsBin", "ChanSort.Loader.PhilipsBin\ChanSort.Loader.PhilipsBin.csproj", "{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.Loader.PhilipsBin", "Test.Loader.PhilipsBin\Test.Loader.PhilipsBin.csproj", "{36ED558E-576C-4D9D-A8C5-8D270A156B82}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChanSort.Loader.Philips", "ChanSort.Loader.Philips\ChanSort.Loader.Philips.csproj", "{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spike.LgWebOs5", "Spike.LgWebOs5\Spike.LgWebOs5.csproj", "{32EFB306-DEF8-4488-B1AE-46D5B183C373}" EndProject @@ -287,18 +283,6 @@ Global {70E29C6B-B926-4859-9548-23375BF1E1B5}.Release|Mixed Platforms.Build.0 = Release|Any CPU {70E29C6B-B926-4859-9548-23375BF1E1B5}.Release|x86.ActiveCfg = Release|x86 {70E29C6B-B926-4859-9548-23375BF1E1B5}.Release|x86.Build.0 = Release|x86 - {D7BAFD55-50F5-46C3-A76B-2193BED5358F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D7BAFD55-50F5-46C3-A76B-2193BED5358F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D7BAFD55-50F5-46C3-A76B-2193BED5358F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D7BAFD55-50F5-46C3-A76B-2193BED5358F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {D7BAFD55-50F5-46C3-A76B-2193BED5358F}.Debug|x86.ActiveCfg = Debug|x86 - {D7BAFD55-50F5-46C3-A76B-2193BED5358F}.Debug|x86.Build.0 = Debug|x86 - {D7BAFD55-50F5-46C3-A76B-2193BED5358F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D7BAFD55-50F5-46C3-A76B-2193BED5358F}.Release|Any CPU.Build.0 = Release|Any CPU - {D7BAFD55-50F5-46C3-A76B-2193BED5358F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {D7BAFD55-50F5-46C3-A76B-2193BED5358F}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {D7BAFD55-50F5-46C3-A76B-2193BED5358F}.Release|x86.ActiveCfg = Release|x86 - {D7BAFD55-50F5-46C3-A76B-2193BED5358F}.Release|x86.Build.0 = Release|x86 {AA31A65D-9437-42AE-89C8-98C7392B450D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {AA31A65D-9437-42AE-89C8-98C7392B450D}.Debug|Any CPU.Build.0 = Debug|Any CPU {AA31A65D-9437-42AE-89C8-98C7392B450D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -443,18 +427,6 @@ Global {1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Release|Mixed Platforms.Build.0 = Release|Any CPU {1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Release|x86.ActiveCfg = Release|x86 {1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Release|x86.Build.0 = Release|x86 - {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Debug|Any CPU.Build.0 = Debug|Any CPU - {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Debug|x86.ActiveCfg = Debug|x86 - {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Debug|x86.Build.0 = Debug|x86 - {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Release|Any CPU.ActiveCfg = Release|Any CPU - {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Release|Any CPU.Build.0 = Release|Any CPU - {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Release|x86.ActiveCfg = Release|x86 - {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Release|x86.Build.0 = Release|x86 {32EFB306-DEF8-4488-B1AE-46D5B183C373}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {32EFB306-DEF8-4488-B1AE-46D5B183C373}.Debug|Any CPU.Build.0 = Debug|Any CPU {32EFB306-DEF8-4488-B1AE-46D5B183C373}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU diff --git a/source/ChanSort/ChanSort.csproj b/source/ChanSort/ChanSort.csproj index 7f84948..d0b732c 100644 --- a/source/ChanSort/ChanSort.csproj +++ b/source/ChanSort/ChanSort.csproj @@ -506,13 +506,9 @@ {68da8072-3a29-4076-9f64-d66f38349585} ChanSort.Loader.Panasonic - + {1f52b5ec-a2f1-4e53-9e1a-4658296c5bb5} - ChanSort.Loader.PhilipsBin - - - {d7bafd55-50f5-46c3-a76b-2193bed5358f} - ChanSort.Loader.PhilipsXml + ChanSort.Loader.Philips {33897002-0537-49a4-b963-a18d17311b3d} diff --git a/source/ChanSort/ReferenceLists/it_hotbird130E_FTA.txt b/source/ChanSort/ReferenceLists/it_hotbird130E_FTA.txt new file mode 100644 index 0000000..959c63b --- /dev/null +++ b/source/ChanSort/ReferenceLists/it_hotbird130E_FTA.txt @@ -0,0 +1,41 @@ +1;Horse TV HD;200-1800-3629 +2;Radio Radio TV;318-15700-1329 +3;Yes TV;318-15700-1312 +4;Italian Fishing TV;318-9300-1602 +5;MS MOTORTV;318-9300-1613 +6;MS CHANNEL;318-9300-1614 +7;Well TV;318-900-503 +8;PACI CONTEMPORARY CHANNEL;318-9000-9014 +9;Wine TV;318-9300-1603 +10;Class TvModa;200-1800-3630 +11;RTL 102.5 NEWS;318-15700-1323 +12;RADIONORBA TV;318-15700-1311 +13;RDS Relax;318-15800-16978 +14;Canale Italia 83;318-13300-4961 +15;TRM h24;318-15800-16922 +16;TG NORBA 24;200-1800-3628 +17;Radio Cusano Campus;318-13300-4958 +18;Rete Uno;318-1700-14031 +19;Rete Due;318-1700-14032 +20;Rete Tre;318-1700-14033 +21;R-BuonConsiglio;200-1800-3636 +22;InBlu;64511-6700-11131 +23;INBLU2000;64511-6700-11174 +24;Radio Vaticana Europa;64511-6900-11181 +25;DimSuono Soft MI;318-7000-766 +26;DimSuono Soft RM;318-7000-767 +27;R. Eurospin;318-7000-749 +28;Radio PadrePio;318-7000-744 +29;Radio RADICALE;318-7000-761 +30;Radio Iglesias;318-7200-3654 +31;SMTv San Marino Radio;318-7200-7255 +32;Canale Italia 84;318-13300-4962 +33;Canale Italia;318-13300-4959 +34;Canale Italia 2;318-13300-4960 +35;TLC Telecampione;318-13300-4970 +36;Arte Investimenti;318-13300-4993 +37;Tesory Channel;318-900-532 +38;Arte Atelier;318-15800-16964 +39;Antichita Chiossone;318-15800-16965 +40;Deluxe 139;318-9000-9008 +41;TV Art Live;318-9300-1617 diff --git a/source/ChanSort/ReferenceLists/it_tivusat_EasyHD.txt b/source/ChanSort/ReferenceLists/it_tivusat_EasyHD.txt new file mode 100644 index 0000000..d836a70 --- /dev/null +++ b/source/ChanSort/ReferenceLists/it_tivusat_EasyHD.txt @@ -0,0 +1,203 @@ +1;Rai 1 HD;318-5200-3401 +2;Rai 2 HD;318-5200-3402 +3;Rai 3 HD;318-5200-3403 +4;Rete4 HD;272-1200-123 +5;Canale5 HD;272-1200-122 +6;Italia1 HD;272-1200-121 +7;LA7 HD;272-6000-79 +8;TV8 HD;64511-6800-7260 +9;Nove HD;318-1000-4323 +10;Rai 4 HD;318-5200-3405 +11;Iris;272-1200-124 +12;La 5;272-1200-127 +13;Rai 5 HD;318-12500-17716 +14;Rai Movie HD;318-5200-3406 +15;Rai Premium HD;318-12500-17717 +16;Mediaset ITALIA DUE;272-1200-130 +17;Mediaset EXTRA;272-1200-129 +18;TV2000 HD;64511-6900-11180 +19;cielo HD;64511-6800-4120 +20;20 MEDIASET HD;272-1200-120 +21;Rai Sport + HD;318-5200-3404 +22;VH1;200-1800-3625 +23;Rai Storia HD;318-12500-17714 +24;Rai News 24 HD;318-12500-17711 +25;TgCom24;272-1200-128 +26;Spike;200-1800-3624 +27;Paramount Network HD;318-15700-1324 +28;DMAX HD;64511-6900-14253 +29;LA7d;272-6000-73 +31;Real Time HD;64511-6900-11507 +32;QVC HD;318-15800-16979 +33;Rai Scuola HD;318-12500-17715 +34;Cine34;272-1200-111 +35;Radio Italia Tv HD;318-15800-16962 +36;RTL 102.5 HD;318-15700-1307 +37;HSE24;318-12100-1731 +38;Giallo HD;318-1000-4322 +39;Topcrime;272-1200-132 +40;Boing;272-1200-126 +41;Cartoonito;272-1200-133 +42;Rai Gulp HD;318-12500-17712 +43;Rai YoYo HD;318-12500-17713 +44;-frisbee-;64511-6900-11418 +46;K2;64511-6900-11466 +47;Super!;200-1800-3621 +48;Arte HD;319-15900-307 +49;MEZZO;318-15600-10725 +50;RDS Social TV;318-15800-16977 +51;UNIRESAT HD;318-15800-16963 +53;Food Network HD;64511-6900-11722 +56;MotorTrend HD;318-1000-4321 +59;Euronews Italian;318-8900-2017 +60;Focus;272-1200-134 +61;BFC;318-15800-16980 +63;Radio Italia Trend TV HD;318-15800-16966 +64;Radio Kiss Kiss Tv;318-15800-16976 +65;RADIO ZETA HD;318-15700-1321 +66;RADIOFRECCIA HD;318-15700-1308 +67;RADIO MONTE CARLO;272-1200-119 +69;France 24 HD (in English);318-15300-808 +70;BBC World News;318-9400-8204 +71;Al Jazeera English HD;318-13100-7306 +72;TRT World HD;318-15300-803 +73;NHK WORLD-JAPAN;318-900-533 +75;France 24 HD (en Francais);318-15300-807 +77;Al Jazeera HD;318-9300-1601 +78;AlAraby TV HD;318-9000-9006 +79;Sonlife;318-700-9 +80;Juwelo TV;318-13300-4910 +81;CNBC HD;64511-6700-7245 +82;Bloomberg European TV;318-13100-7302 +83;i24News HD English;318-15700-1310 +84;i24News HD French;318-15700-1309 +85;DW English HD;318-5000-13101 +86;Euronews English HD;318-15300-801 +87;CGTN;318-15400-872 +88;CGTN Documentary;318-15400-873 +89;Senato;318-12400-8520 +90;Camera Deputati;318-12400-8519 +91;KBS World HD;318-15700-1313 +92;CCTV 4E;318-15400-871 +93;SMTv San Marino HD;318-7200-7254 +100;tivùlink;318-12400-8517 +101;Rai 1;318-12400-8511 +102;Rai 2;318-12400-8512 +103;Rai 3;318-12400-8513 +104;Rete 4;272-6000-3 +105;Canale 5;272-6000-2 +106;Italia 1;272-6000-1 +107;LA7;272-6000-71 +110;Rai 4;318-12400-8514 +111;Iris provvisorio;272-6000-4 +112;La 5 provvisorio;272-6000-7 +113;Rai 5;318-12400-8515 +114;Rai Movie;318-12400-8502 +115;Rai Premium;318-12400-8522 +116;Mediaset ITALIA DUE provvisorio;272-6000-10 +117;Mediaset EXTRA provvisorio;272-6000-9 +120;20 Mediaset provvisorio;272-6000-15 +121;Rai Sport;318-12400-8523 +123;Rai Storia;318-12400-8518 +124;Rai News 24;318-12400-8516 +125;TgCom24 provvisorio;272-6000-8 +127;Paramount Network;200-1800-3627 +132;QVC Italia;318-7000-780 +133;Rai Scuola;318-12400-8521 +139;Topcrime provvisorio;272-6000-12 +140;Boing provvisorio;272-6000-6 +141;Cartoonito provvisorio;272-6000-13 +142;Rai Gulp;318-12400-8524 +143;Rai YoYo;318-12400-8525 +160;Focus provvisorio;272-6000-14 +171;Al Jazeera English;318-13100-7305 +177;Al Jazeera;318-7000-708 +187;CGTN;318-12600-1706 +192;CCTV-4;318-7200-7224 +200;HotBird 4K1;318-700-17 +210;Rai 4K;318-5200-3407 +211;Nasa TV UHD;318-11100-4602 +220;Museum 4K;318-11100-4604 +222;MyZen 4K;318-9100-1104 +225;TRAVELXP 4K;318-11100-4603 +289;FTV UHD;318-9100-1102 +301;Rai 3 TGR Valle d'Aosta;318-12500-17744 +302;Rai 3 TGR Piemonte;318-12500-17739 +303;Rai 3 TGR Liguria;318-12500-17735 +304;Rai 3 TGR Lombardia;318-12500-17740 +305;Rai 3 TGR Veneto;318-12500-17742 +306;Rai 3 TGR Trentino Alto Adige Bolzano;318-12500-17752 +307;Rai 3 TGR Trentino Alto Adige Trento;318-12500-17751 +308;Rai 3 TGR Tagesschau;318-12500-17743 +309;Rai 3 TGR Friuli Venezia Giulia;318-12500-17749 +310;Rai 3 TGR Furlanija Julijska Krajina;318-12500-17750 +311;Rai 3 TGR Emilia-Romagna;318-12500-17741 +312;Rai 3 TGR Toscana;318-12500-17736 +313;Rai 3 TGR Marche;318-12500-17738 +314;Rai 3 TGR Umbria;318-12500-17737 +315;Rai 3 TGR Lazio;318-12500-17753 +316;Rai 3 TGR Abruzzo;318-12500-17746 +317;Rai 3 TGR Molise;318-12500-17747 +318;Rai 3 TGR Campania;318-12500-17748 +319;Rai 3 TGR Puglia;318-12500-17731 +320;Rai 3 TGR Basilicata;318-12500-17732 +321;Rai 3 TGR Calabria;318-12500-17733 +322;Rai 3 TGR Sardegna;318-12500-17745 +323;Rai 3 TGR Sicilia;318-12500-17734 +420;People TV;318-15700-1328 +422;Telecupole;318-13300-4994 +445;Padre Pio Tv;318-15800-16952 +454;Parole di Vita;318-900-510 +518;Emilia Romagna 24;318-15800-16920 +601;Rai Radio 1;318-5200-3441 +602;Rai Radio 2;318-5200-3442 +603;Rai Radio 3;318-5200-3443 +604;Rai GR Parlamento;318-5200-3445 +605;Rai Radio3 Classica;318-5200-3444 +606;Rai Radio Kids;318-5200-3449 +607;Rai Radio Live;318-5200-3448 +608;RDS;318-7000-736 +609;DimSuono Roma;318-7000-737 +610;RTL 102.5;318-7200-3642 +611;RADIO ZETA;318-7200-3643 +612;RADIO FRECCIA;318-7200-3630 +615;Radio 105;272-6000-105 +616;Virgin radio;272-6000-104 +617;Radio R101;272-6000-101 +618;Radio Monte Carlo;272-6000-102 +619;RMC2;272-6000-103 +620;RADIO ITALIA s.m.i.;318-7200-3632 +621;M DUE O;318-7200-3653 +622;CAPITAL;318-7200-3652 +623;DEEJAY;318-7200-3651 +624;Radio 24;318-7200-3644 +625;Discoradio;318-7000-768 +626;R.ONDA D'URTO;318-7200-3645 +627;ANNI 60;318-7000-738 +630;Rai Radio Tutta Italiana;318-5200-3451 +631;Radio Number One;318-15800-16981 +632;Radio Radio;318-7200-3646 +633;Radio Maria;318-7000-732 +634;RADIO MATER;318-7200-7280 +635;popolare;318-7200-3656 +637;Radio Margherita;318-13300-4957 +639;Rai Radio Slovenia;318-5200-3454 +640;Rai Radio Techete';318-5200-3447 +641;Rai Radio1 Sport;318-5200-3453 +642;Rai Radio2 Indie;318-5200-3450 +643;Radio Kiss Kiss;318-7000-742 +644;Radio Sportiva;318-7200-3637 +656;RFI Francais;318-5000-13130 +661;Swiss Pop;318-1700-14035 +662;Swiss Jazz;318-1700-14036 +663;Swiss Classica;318-1700-14047 +667;DW-FM02;318-5000-13124 +669;DW08;318-5000-13121 +670;DW09;318-5000-13122 +699;Rai Isoradio;318-5200-3446 +701;UNINETTUNO UNIVERSITY TV;318-12500-17718 +805;Mediaset Play;272-1200-805 +815;TELEPACE HD;318-8900-2004 +819;VIDEOLINA;318-15800-16992 +832;TVA Vicenza;318-15800-16988 +899;Infinity;272-1200-899 \ No newline at end of file diff --git a/source/Information/FileStructures_for_HHD_Hex_Editor_Neo/philips_SatelliteDb-bin.h b/source/Information/FileStructures_for_HHD_Hex_Editor_Neo/philips_SatelliteDb-bin.h new file mode 100644 index 0000000..aa26e28 --- /dev/null +++ b/source/Information/FileStructures_for_HHD_Hex_Editor_Neo/philips_SatelliteDb-bin.h @@ -0,0 +1,42 @@ +#include "chansort.h" + +/*********************************************************** + * Philips ChannelMap_45 format + ***********************************************************/ + + +public struct Ph_ChannelMap45_SatelliteDbBin +{ + dword majorVersion; + dword minorVersion; + dword recordCount; + struct + { + var off0 = current_offset; + dword id; + dword freq; + dword number; + dword analogUid; + dword onid; + dword tsid; + dword sid; + dword symRate; + dword logoNr; + dword scrambleStat; + dword locked; + dword modulation; + dword unk1; + dword serviceType; + dword systemHideMaybe; + dword isUserModifiedLogo; + dword serviceEdit; + dword streamPriorityMaybe; + dword unk2; + word unk3TransponderRelated; + word unk4TransponderRelated; + wchar_t name[32+1]; + wchar_t satName[32+1]; + + byte unk[212 - (current_offset - off0)]; + } Channels[recordCount]; +}; diff --git a/source/Test.Loader.PhilipsBin/PhilipsChannellibTest.cs b/source/Test.Loader.Philips/PhilipsBinChannellibTest.cs similarity index 88% rename from source/Test.Loader.PhilipsBin/PhilipsChannellibTest.cs rename to source/Test.Loader.Philips/PhilipsBinChannellibTest.cs index 167239c..4fc6193 100644 --- a/source/Test.Loader.PhilipsBin/PhilipsChannellibTest.cs +++ b/source/Test.Loader.Philips/PhilipsBinChannellibTest.cs @@ -3,17 +3,17 @@ using System.Linq; using ChanSort.Api; using Microsoft.VisualStudio.TestTools.UnitTesting; -namespace Test.Loader.PhilipsBin +namespace Test.Loader.Philips { [TestClass] - public class PhilipsChannellibTest + public class PhilipsBinChannellibTest { [TestMethod] public void TestFiles1() { var baseDir = Path.GetDirectoryName(this.GetType().Assembly.Location); var baseFile = Path.Combine(baseDir, "TestFiles1\\Repair\\ChannelList\\chanLst.bin"); - var plugin = new ChanSort.Loader.PhilipsBin.SerializerPlugin(); + var plugin = new ChanSort.Loader.Philips.PhilipsLoader(); var loader = plugin.CreateSerializer(baseFile); loader.Load(); diff --git a/source/Test.Loader.PhilipsBin/PhilipsS2channellibTest.cs b/source/Test.Loader.Philips/PhilipsBinS2channellibTest.cs similarity index 94% rename from source/Test.Loader.PhilipsBin/PhilipsS2channellibTest.cs rename to source/Test.Loader.Philips/PhilipsBinS2channellibTest.cs index 1a3d82d..167961b 100644 --- a/source/Test.Loader.PhilipsBin/PhilipsS2channellibTest.cs +++ b/source/Test.Loader.Philips/PhilipsBinS2channellibTest.cs @@ -4,17 +4,17 @@ using System.Linq; using ChanSort.Api; using Microsoft.VisualStudio.TestTools.UnitTesting; -namespace Test.Loader.PhilipsBin +namespace Test.Loader.Philips { [TestClass] - public class PhilipsS2channellibTest + public class PhilipsBinS2channellibTest { [TestMethod] public void TestFiles1() { var baseDir = Path.GetDirectoryName(this.GetType().Assembly.Location); var baseFile = Path.Combine(baseDir, "TestFiles1\\Repair\\ChannelList\\chanLst.bin"); - var plugin = new ChanSort.Loader.PhilipsBin.SerializerPlugin(); + var plugin = new ChanSort.Loader.Philips.PhilipsLoader(); var loader = plugin.CreateSerializer(baseFile); loader.Load(); @@ -44,7 +44,7 @@ namespace Test.Loader.PhilipsBin { var baseDir = Path.GetDirectoryName(this.GetType().Assembly.Location); var baseFile = Path.Combine(baseDir, "TestFiles2\\Repair\\ChannelList\\chanLst.bin"); - var plugin = new ChanSort.Loader.PhilipsBin.SerializerPlugin(); + var plugin = new ChanSort.Loader.Philips.PhilipsLoader(); var loader = plugin.CreateSerializer(baseFile); loader.Load(); diff --git a/source/Test.Loader.PhilipsXml/PhilipsXmlTest.cs b/source/Test.Loader.Philips/PhilipsXmlTest.cs similarity index 74% rename from source/Test.Loader.PhilipsXml/PhilipsXmlTest.cs rename to source/Test.Loader.Philips/PhilipsXmlTest.cs index bdab13f..193dcfc 100644 --- a/source/Test.Loader.PhilipsXml/PhilipsXmlTest.cs +++ b/source/Test.Loader.Philips/PhilipsXmlTest.cs @@ -1,12 +1,9 @@ -using System; -using System.IO; -using System.Linq; -using System.Reflection; +using System.Linq; using ChanSort.Api; -using ChanSort.Loader.PhilipsXml; +using ChanSort.Loader.Philips; using Microsoft.VisualStudio.TestTools.UnitTesting; -namespace Test.Loader.PhilipsXml +namespace Test.Loader.Philips { [TestClass] public class PhilipsXmlTest @@ -15,7 +12,8 @@ namespace Test.Loader.PhilipsXml [TestMethod] public void TestFormat1SatChannelsAddedToCorrectLists() { - this.TestChannelsAddedToCorrectLists("DVBS.xml", SignalSource.DvbS, 502, 350, 152); + var file = TestUtils.DeploymentItem("Test.Loader.Philips\\TestFiles") + "\\ChannelMap_100\\ChannelList\\chanLst.bin"; + this.TestChannelsAddedToCorrectLists(file, SignalSource.DvbS, 502, 350, 152); } #endregion @@ -23,7 +21,8 @@ namespace Test.Loader.PhilipsXml [TestMethod] public void TestFormat1CableChannelsAddedToCorrectLists() { - this.TestChannelsAddedToCorrectLists("DVBC.xml", SignalSource.DvbC, 459, 358, 101); + var file = TestUtils.DeploymentItem("Test.Loader.Philips\\TestFiles") + "\\ChannelMap_100\\ChannelList\\chanLst.bin"; + this.TestChannelsAddedToCorrectLists(file, SignalSource.DvbC, 459, 358, 101); } #endregion @@ -32,17 +31,17 @@ namespace Test.Loader.PhilipsXml public void TestFormat2CableChannelsAddedToCorrectLists() { // this file format doesn't provide any information whether a channel is TV/radio/data or analog/digital. It only contains the "medium" for antenna/cable/sat - this.TestChannelsAddedToCorrectLists("CM_TPM1013E_LA_CK.xml", SignalSource.DvbC, 483, 0, 0); + var file = TestUtils.DeploymentItem("Test.Loader.Philips\\TestFiles") + "\\Repair\\CM_TPM1013E_LA_CK.xml"; + this.TestChannelsAddedToCorrectLists(file, SignalSource.DvbC, 483, 0, 0); } #endregion #region TestChannelsAddedToCorrectList - private void TestChannelsAddedToCorrectLists(string fileName, SignalSource signalSource, int expectedTotal, int expectedTv, int expectedRadio) + private void TestChannelsAddedToCorrectLists(string filePath, SignalSource signalSource, int expectedTotal, int expectedTv, int expectedRadio) { - var tempFile = TestUtils.DeploymentItem("Test.Loader.PhilipsXml\\TestFiles\\" + fileName); - var plugin = new SerializerPlugin(); - var ser = plugin.CreateSerializer(tempFile); + var plugin = new PhilipsLoader(); + var ser = plugin.CreateSerializer(filePath); ser.Load(); var root = ser.DataRoot; @@ -62,8 +61,8 @@ namespace Test.Loader.PhilipsXml [TestMethod] public void TestDeletingChannel() { - var tempFile = TestUtils.DeploymentItem("Test.Loader.PhilipsXml\\TestFiles\\dvbs.xml"); - var plugin = new SerializerPlugin(); + var tempFile = TestUtils.DeploymentItem("Test.Loader.Philips\\TestFiles") + "\\ChannelMap_100\\ChannelList\\chanLst.bin"; + var plugin = new PhilipsLoader(); var ser = plugin.CreateSerializer(tempFile); ser.Load(); var data = ser.DataRoot; diff --git a/source/Test.Loader.PhilipsXml/Properties/AssemblyInfo.cs b/source/Test.Loader.Philips/Properties/AssemblyInfo.cs similarity index 100% rename from source/Test.Loader.PhilipsXml/Properties/AssemblyInfo.cs rename to source/Test.Loader.Philips/Properties/AssemblyInfo.cs diff --git a/source/Test.Loader.PhilipsBin/Test.Loader.PhilipsBin.csproj b/source/Test.Loader.Philips/Test.Loader.Philips.csproj similarity index 60% rename from source/Test.Loader.PhilipsBin/Test.Loader.PhilipsBin.csproj rename to source/Test.Loader.Philips/Test.Loader.Philips.csproj index ee48b8e..6a810c9 100644 --- a/source/Test.Loader.PhilipsBin/Test.Loader.PhilipsBin.csproj +++ b/source/Test.Loader.Philips/Test.Loader.Philips.csproj @@ -1,15 +1,15 @@  - + Debug AnyCPU - {36ED558E-576C-4D9D-A8C5-8D270A156B82} + {0A162099-DA92-426A-AB70-36F88F9E5DC1} Library Properties - Test.Loader.PhilipsBin - Test.Loader.PhilipsBin + Test.Loader.Philips + Test.Loader.Philips v4.8 512 {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} @@ -20,6 +20,7 @@ UnitTest + true @@ -44,7 +45,6 @@ DEBUG;TRACE full x86 - 7.3 prompt MinimumRecommendedRules.ruleset @@ -54,199 +54,225 @@ true pdbonly x86 - 7.3 prompt MinimumRecommendedRules.ruleset - ..\packages\MSTest.TestFramework.2.1.1\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll + ..\packages\MSTest.TestFramework.1.3.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll - ..\packages\MSTest.TestFramework.2.1.1\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll + ..\packages\MSTest.TestFramework.1.3.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll - - + + + - - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - {dccffa08-472b-4d17-bb90-8f513fc01392} ChanSort.Api - + {1f52b5ec-a2f1-4e53-9e1a-4658296c5bb5} - ChanSort.Loader.PhilipsBin + ChanSort.Loader.Philips + + {68cfcb2f-b52a-43a1-aa5c-5d64a1d655d2} + Test.Loader + + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + @@ -254,8 +280,8 @@ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - + + - + \ No newline at end of file diff --git a/source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/Favorite.xml b/source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/Favorite.xml new file mode 100644 index 0000000..cb47c3f --- /dev/null +++ b/source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/Favorite.xml @@ -0,0 +1,740 @@ + + + + + 9634 + 0 + + + 1904 + 1 + + + 9514 + 2 + + + 6814 + 3 + + + 6834 + 4 + + + 6914 + 5 + + + 6234 + 6 + + + 8364 + 7 + + + 8524 + 8 + + + 9254 + 9 + + + 3654 + 10 + + + 6964 + 11 + + + 7294 + 12 + + + 3714 + 13 + + + 4654 + 14 + + + 5524 + 15 + + + 1194 + 16 + + + 5194 + 17 + + + 8414 + 18 + + + 3384 + 19 + + + 6444 + 20 + + + 6464 + 21 + + + 64 + 22 + + + 554 + 23 + + + 8274 + 24 + + + 5074 + 25 + + + 9564 + 26 + + + 8244 + 27 + + + 2454 + 28 + + + 6194 + 29 + + + 2214 + 30 + + + 2064 + 31 + + + 3404 + 32 + + + 3444 + 33 + + + 3414 + 34 + + + 6314 + 35 + + + 6364 + 36 + + + 6334 + 37 + + + 6874 + 38 + + + 1524 + 39 + + + 8874 + 40 + + + 3674 + 41 + + + 9574 + 42 + + + 14 + 43 + + + 5694 + 44 + + + 9674 + 45 + + + 9654 + 46 + + + 8464 + 47 + + + 6074 + 48 + + + 3184 + 49 + + + 9694 + 50 + + + 8164 + 51 + + + 4744 + 52 + + + 4724 + 53 + + + 8194 + 54 + + + 8204 + 55 + + + 5374 + 56 + + + 1954 + 57 + + + 7464 + 58 + + + 7484 + 59 + + + 7374 + 60 + + + 7394 + 61 + + + 7454 + 62 + + + 7414 + 63 + + + 7344 + 64 + + + 7334 + 65 + + + 2124 + 66 + + + 2154 + 67 + + + 2034 + 68 + + + 3334 + 69 + + + 5164 + 70 + + + 5144 + 71 + + + 8224 + 72 + + + 2984 + 73 + + + 8844 + 74 + + + 8864 + 75 + + + 8834 + 76 + + + 9124 + 77 + + + 34 + 78 + + + 8444 + 79 + + + 794 + 80 + + + 7354 + 81 + + + 7364 + 82 + + + 7384 + 83 + + + 7434 + 84 + + + 7494 + 85 + + + 7474 + 86 + + + 7404 + 87 + + + 7444 + 88 + + + 7424 + 89 + + + 3284 + 90 + + + 1644 + 91 + + + 4824 + 92 + + + 6644 + 93 + + + 3734 + 94 + + + 8234 + 95 + + + 3594 + 96 + + + 2164 + 97 + + + 1154 + 98 + + + 6754 + 99 + + + 7004 + 100 + + + 3684 + 101 + + + 6864 + 102 + + + 8534 + 103 + + + 6254 + 104 + + + 5544 + 105 + + + 9284 + 106 + + + 2234 + 107 + + + 8254 + 108 + + + 2464 + 109 + + + 9584 + 110 + + + 5094 + 111 + + + 8384 + 112 + + + 6214 + 113 + + + 2084 + 114 + + + 1964 + 115 + + + 1784 + 116 + + + 1914 + 117 + + + 9644 + 118 + + + 9664 + 119 + + + 9474 + 120 + + + 564 + 121 + + + 5704 + 122 + + + 6084 + 123 + + + 504 + 124 + + + 74 + 125 + + + 3724 + 126 + + + 3434 + 127 + + + 444 + 128 + + + 6534 + 129 + + + 494 + 130 + + + 1174 + 131 + + + 1184 + 132 + + + 1204 + 133 + + + 1534 + 134 + + + 3394 + 135 + + + 3424 + 136 + + + 4664 + 137 + + + 5104 + 138 + + + 5204 + 139 + + + 6014 + 140 + + + 6324 + 141 + + + 6344 + 142 + + + 6354 + 143 + + + 6374 + 144 + + + 6454 + 145 + + + 6474 + 146 + + + 6824 + 147 + + + 6984 + 148 + + + 7144 + 149 + + + 7314 + 150 + + + 7504 + 151 + + + 7924 + 152 + + + 7944 + 153 + + + 7964 + 154 + + + 7984 + 155 + + + 8004 + 156 + + + 8024 + 157 + + + 8044 + 158 + + + 8064 + 159 + + + 8084 + 160 + + + 8104 + 161 + + + 8174 + 162 + + + 8284 + 163 + + + 8394 + 164 + + + 8404 + 165 + + + 8424 + 166 + + + 8474 + 167 + + + 9104 + 168 + + + 9684 + 169 + + + 11604 + 170 + + + 11754 + 171 + + + 1754 + 172 + + + 24 + 173 + + + 3234 + 174 + + + 3494 + 175 + + + 4714 + 176 + + + 4844 + 177 + + + 6024 + 178 + + + 6034 + 179 + + + 9704 + 180 + + + 8214 + 181 + + + + + + + + + + \ No newline at end of file diff --git a/source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/chanLst.bin b/source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/chanLst.bin new file mode 100644 index 0000000000000000000000000000000000000000..7de3c0bcd3e6d5470859db3a929da4743c406640 GIT binary patch literal 121 zcmZQz$Yl5r2kZK7X&XC&t3rRL;hCh0TqKr{p==Hx&Xfy{JEEXyy-EJ+0m-Sq_km^vn; literal 0 HcmV?d00001 diff --git a/source/Test.Loader.PhilipsXml/TestFiles/DVBC.xml b/source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/channellib/DVBC.xml similarity index 100% rename from source/Test.Loader.PhilipsXml/TestFiles/DVBC.xml rename to source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/channellib/DVBC.xml diff --git a/source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/channellib/DVBT.xml b/source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/channellib/DVBT.xml new file mode 100644 index 0000000..b1dfb65 --- /dev/null +++ b/source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/channellib/DVBT.xml @@ -0,0 +1,188 @@ + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/source/Test.Loader.PhilipsXml/TestFiles/DVBS.xml b/source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/s2channellib/DVBS.xml similarity index 100% rename from source/Test.Loader.PhilipsXml/TestFiles/DVBS.xml rename to source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/s2channellib/DVBS.xml diff --git a/source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/s2channellib/DVBSall.xml b/source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/s2channellib/DVBSall.xml new file mode 100644 index 0000000..8bb6395 --- /dev/null +++ b/source/Test.Loader.Philips/TestFiles/ChannelMap_100/ChannelList/s2channellib/DVBSall.xml @@ -0,0 +1,4 @@ + + + false + \ No newline at end of file diff --git a/source/Test.Loader.PhilipsXml/TestFiles/CM_TPM1013E_LA_CK.xml b/source/Test.Loader.Philips/TestFiles/Repair/CM_TPM1013E_LA_CK.xml similarity index 100% rename from source/Test.Loader.PhilipsXml/TestFiles/CM_TPM1013E_LA_CK.xml rename to source/Test.Loader.Philips/TestFiles/Repair/CM_TPM1013E_LA_CK.xml diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/chanLst.bin b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/chanLst.bin similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/chanLst.bin rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/chanLst.bin diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaAnalogTable b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/AntennaAnalogTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaAnalogTable rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/AntennaAnalogTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaDigSrvTable b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/AntennaDigSrvTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaDigSrvTable rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/AntennaDigSrvTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaDigTSTable b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/AntennaDigTSTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaDigTSTable rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/AntennaDigTSTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaFrqMapTable b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/AntennaFrqMapTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaFrqMapTable rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/AntennaFrqMapTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaPresetTable b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/AntennaPresetTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaPresetTable rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/AntennaPresetTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableAnalogTable b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/CableAnalogTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableAnalogTable rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/CableAnalogTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableDigSrvTable b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/CableDigSrvTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableDigSrvTable rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/CableDigSrvTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableDigTSTable b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/CableDigTSTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableDigTSTable rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/CableDigTSTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableFrqMapTable b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/CableFrqMapTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableFrqMapTable rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/CableFrqMapTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CablePresetTable b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/CablePresetTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CablePresetTable rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/channellib/CablePresetTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/adk_user_pref.dat b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/adk_user_pref.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/adk_user_pref.dat rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/adk_user_pref.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/adk_user_pref_backup.dat b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/adk_user_pref_backup.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/adk_user_pref_backup.dat rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/adk_user_pref_backup.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/db_file_info.dat b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/db_file_info.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/db_file_info.dat rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/db_file_info.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/db_file_info_backup.dat b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/db_file_info_backup.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/db_file_info_backup.dat rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/db_file_info_backup.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/favorite.dat b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/favorite.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/favorite.dat rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/favorite.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/favorite_backup.dat b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/favorite_backup.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/favorite_backup.dat rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/favorite_backup.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/lnb.dat b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/lnb.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/lnb.dat rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/lnb.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/lnb_backup.dat b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/lnb_backup.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/lnb_backup.dat rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/lnb_backup.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/satellite.dat b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/satellite.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/satellite.dat rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/satellite.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/satellite_backup.dat b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/satellite_backup.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/satellite_backup.dat rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/satellite_backup.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/service.dat b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/service.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/service.dat rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/service.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/service_backup.dat b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/service_backup.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/service_backup.dat rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/service_backup.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/tuneinfo.dat b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/tuneinfo.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/tuneinfo.dat rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/tuneinfo.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/tuneinfo_backup.dat b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/tuneinfo_backup.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/tuneinfo_backup.dat rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/tuneinfo_backup.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/user_pref.dat b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/user_pref.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/user_pref.dat rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/user_pref.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/user_pref_backup.dat b/source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/user_pref_backup.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/user_pref_backup.dat rename to source/Test.Loader.Philips/TestFiles1/Repair/ChannelList/s2channellib/user_pref_backup.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/chanLst.bin b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/chanLst.bin similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/chanLst.bin rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/chanLst.bin diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaAnalogTable b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/AntennaAnalogTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaAnalogTable rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/AntennaAnalogTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaDigSrvTable b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/AntennaDigSrvTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaDigSrvTable rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/AntennaDigSrvTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaDigTSTable b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/AntennaDigTSTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaDigTSTable rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/AntennaDigTSTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaFrqMapTable b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/AntennaFrqMapTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaFrqMapTable rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/AntennaFrqMapTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaPresetTable b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/AntennaPresetTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaPresetTable rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/AntennaPresetTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableAnalogTable b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/CableAnalogTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableAnalogTable rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/CableAnalogTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableDigSrvTable b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/CableDigSrvTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableDigSrvTable rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/CableDigSrvTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableDigTSTable b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/CableDigTSTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableDigTSTable rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/CableDigTSTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableFrqMapTable b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/CableFrqMapTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableFrqMapTable rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/CableFrqMapTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CablePresetTable b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/CablePresetTable similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CablePresetTable rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/channellib/CablePresetTable diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/adk_user_pref.dat b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/adk_user_pref.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/adk_user_pref.dat rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/adk_user_pref.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/adk_user_pref_backup.dat b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/adk_user_pref_backup.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/adk_user_pref_backup.dat rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/adk_user_pref_backup.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/db_file_info.dat b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/db_file_info.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/db_file_info.dat rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/db_file_info.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/db_file_info_backup.dat b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/db_file_info_backup.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/db_file_info_backup.dat rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/db_file_info_backup.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/favorite.dat b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/favorite.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/favorite.dat rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/favorite.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/favorite_backup.dat b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/favorite_backup.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/favorite_backup.dat rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/favorite_backup.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/lnb.dat b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/lnb.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/lnb.dat rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/lnb.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/lnb_backup.dat b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/lnb_backup.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/lnb_backup.dat rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/lnb_backup.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/satellite.dat b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/satellite.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/satellite.dat rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/satellite.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/satellite_backup.dat b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/satellite_backup.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/satellite_backup.dat rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/satellite_backup.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/service.dat b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/service.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/service.dat rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/service.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/service_backup.dat b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/service_backup.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/service_backup.dat rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/service_backup.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/tuneinfo.dat b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/tuneinfo.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/tuneinfo.dat rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/tuneinfo.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/tuneinfo_backup.dat b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/tuneinfo_backup.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/tuneinfo_backup.dat rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/tuneinfo_backup.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/user_pref.dat b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/user_pref.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/user_pref.dat rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/user_pref.dat diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/user_pref_backup.dat b/source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/user_pref_backup.dat similarity index 100% rename from source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/user_pref_backup.dat rename to source/Test.Loader.Philips/TestFiles2/Repair/ChannelList/s2channellib/user_pref_backup.dat diff --git a/source/Test.Loader.PhilipsBin/Properties/AssemblyInfo.cs b/source/Test.Loader.PhilipsBin/Properties/AssemblyInfo.cs deleted file mode 100644 index f443e0a..0000000 --- a/source/Test.Loader.PhilipsBin/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("Test.Loader.PhilipsBin")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("Test.Loader.PhilipsBin")] -[assembly: AssemblyCopyright("Copyright © 2020")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: ComVisible(false)] - -[assembly: Guid("36ed558e-576c-4d9d-a8c5-8d270a156b82")] - -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/source/Test.Loader.PhilipsBin/packages.config b/source/Test.Loader.PhilipsBin/packages.config deleted file mode 100644 index fcf029f..0000000 --- a/source/Test.Loader.PhilipsBin/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/source/Test.Loader.PhilipsXml/Test.Loader.PhilipsXml.csproj b/source/Test.Loader.PhilipsXml/Test.Loader.PhilipsXml.csproj deleted file mode 100644 index 135717f..0000000 --- a/source/Test.Loader.PhilipsXml/Test.Loader.PhilipsXml.csproj +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - Debug - AnyCPU - {0A162099-DA92-426A-AB70-36F88F9E5DC1} - Library - Properties - Test.Loader.PhilipsXml - Test.Loader.PhilipsXml - v4.8 - 512 - {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 15.0 - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages - False - UnitTest - - - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - true - ..\Debug\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - bin\x86\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\MSTest.TestFramework.1.3.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll - - - ..\packages\MSTest.TestFramework.1.3.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll - - - - - - - - - - - - - - {dccffa08-472b-4d17-bb90-8f513fc01392} - ChanSort.Api - - - {d7bafd55-50f5-46c3-a76b-2193bed5358f} - ChanSort.Loader.PhilipsXml - - - {68cfcb2f-b52a-43a1-aa5c-5d64a1d655d2} - Test.Loader - - - - - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - - \ No newline at end of file diff --git a/source/Test.Loader.PhilipsXml/packages.config b/source/Test.Loader.PhilipsXml/packages.config deleted file mode 100644 index 28e3f78..0000000 --- a/source/Test.Loader.PhilipsXml/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/source/Test.Loader/TestUtils.cs b/source/Test.Loader/TestUtils.cs index 048602a..6a06778 100644 --- a/source/Test.Loader/TestUtils.cs +++ b/source/Test.Loader/TestUtils.cs @@ -24,10 +24,23 @@ namespace Test.Loader GetExecutableDir(); - var destFile = Path.Combine(executableDir, Path.GetFileName(file)); - File.Copy(Path.Combine(solutionDir, file), destFile, true); - return destFile; + var src = Path.Combine(solutionDir, file); + var dest = Path.Combine(executableDir, Path.GetFileName(file)); + if (Directory.Exists(src)) + DeployRecursively(src, dest); + else + File.Copy(src, dest, true); + return dest; } + + private static void DeployRecursively(string src, string dest) + { + foreach(var file in Directory.GetFiles(src)) + File.Copy(file, Path.Combine(dest, Path.GetFileName(file)), true); + foreach(var subdir in Directory.GetDirectories(src)) + DeployRecursively(subdir, Path.Combine(dest, Path.GetFileName(subdir))); + } + #endregion #region GetSolutionBaseDir()