From b3f8d295af2c60a4810d5031e93ffa36fa0c4279 Mon Sep 17 00:00:00 2001 From: hbeham Date: Sat, 1 Mar 2014 04:20:14 +0100 Subject: [PATCH] - Samsung Channel Digial Sat support - Attempt to fix LG analog channel list issues --- ChanSort.Api/Model/Enums.cs | 21 ++++++++++--------- ChanSort.Loader.LG/TllChannelBase.cs | 2 +- ChanSort.Loader.Samsung/ScmSerializer.cs | 4 ++++ ChanSort/MainForm.cs | 2 +- .../tll-256-LA.h | 13 +++++++----- .../tll-260-LA.h | 13 +++++++----- .../tll-common.h | 8 +++++++ makeDistribZip.cmd | 20 +++++++++++------- readme.txt | 12 ++++++++--- 9 files changed, 62 insertions(+), 33 deletions(-) diff --git a/ChanSort.Api/Model/Enums.cs b/ChanSort.Api/Model/Enums.cs index 96fc748..0c229e1 100644 --- a/ChanSort.Api/Model/Enums.cs +++ b/ChanSort.Api/Model/Enums.cs @@ -26,8 +26,8 @@ namespace ChanSort.Api MaskTvRadio = 0x0300, Tv = 0x0100, Radio = 0x0200, - TvAndRadio= Tv|Radio, - + TvAndRadio = Tv | Radio, + // bit 13-16: Preset list selector (AstraHD+, Freesat, TivuSat, CanalDigitalSat, ... for Samsung) MaskProvider = 0xFC00, StandardSat = 0 << 12, @@ -39,18 +39,19 @@ namespace ChanSort.Api StandardCable = 0 << 12, CablePrime = 1 << 12, - AnalogC=Analog + Cable, - AnalogT=Analog + Antenna, - AnalogCT=Analog + Cable + Antenna, - DvbC = Digital + Cable, - DvbT= Digital + Antenna, - DvbCT= Digital + Cable + Antenna, - DvbS= Digital + Sat, + AnalogC = Analog + Cable, + AnalogT = Analog + Antenna, + AnalogCT = Analog + Cable + Antenna, + DvbC = Digital + Cable, + DvbT = Digital + Antenna, + DvbCT = Digital + Cable + Antenna, + DvbS = Digital + Sat, CablePrimeD = Digital + Cable + CablePrime, HdPlusD = Digital + Sat + AstraHdPlus, FreesatD = Digital + Sat + Freesat, - TivuSatD = Digital + Sat + TivuSat + TivuSatD = Digital + Sat + TivuSat, + CanalDigitalSatD = Digital + Sat + CanalDigital } #endregion diff --git a/ChanSort.Loader.LG/TllChannelBase.cs b/ChanSort.Loader.LG/TllChannelBase.cs index 333ff13..fff29e4 100644 --- a/ChanSort.Loader.LG/TllChannelBase.cs +++ b/ChanSort.Loader.LG/TllChannelBase.cs @@ -110,7 +110,7 @@ namespace ChanSort.Loader.LG mapping.SetFlag(_Deleted, true); mapping.SetByte("off" + _Moved, 0); //skip,lock,hide,moved } - else + else if ((this.SignalSource&SignalSource.Digital) != 0) { mapping.SetFlag(_Moved, true); } diff --git a/ChanSort.Loader.Samsung/ScmSerializer.cs b/ChanSort.Loader.Samsung/ScmSerializer.cs index 8038f3e..faae151 100644 --- a/ChanSort.Loader.Samsung/ScmSerializer.cs +++ b/ChanSort.Loader.Samsung/ScmSerializer.cs @@ -29,6 +29,7 @@ namespace ChanSort.Loader.Samsung private readonly ChannelList hdplusChannels = new ChannelList(SignalSource.HdPlusD | SignalSource.TvAndRadio, "Astra HD+"); private readonly ChannelList freesatChannels = new ChannelList(SignalSource.FreesatD | SignalSource.TvAndRadio, "Freesat"); private readonly ChannelList tivusatChannels = new ChannelList(SignalSource.TivuSatD | SignalSource.TvAndRadio, "TivuSat"); + private readonly ChannelList canalDigitalChannels = new ChannelList(SignalSource.CanalDigitalSatD | SignalSource.TvAndRadio, "Canal Digital Sat"); private readonly Dictionary avbtFrequency = new Dictionary(); private readonly Dictionary avbcFrequency = new Dictionary(); @@ -44,6 +45,7 @@ namespace ChanSort.Loader.Samsung private byte[] primeFileContent; private byte[] freesatFileContent; private byte[] tivusatFileContent; + private byte[] canalDigitalFileContent; private ModelConstants c; private Dictionary serviceProviderNames; @@ -114,6 +116,7 @@ namespace ChanSort.Loader.Samsung ReadDvbctChannels(zip, "map-CablePrime_D", this.primeChannels, out this.primeFileContent, this.dvbcFrequency); ReadDvbctChannels(zip, "map-FreesatD", this.freesatChannels, out this.freesatFileContent, this.dvbcFrequency); ReadDvbctChannels(zip, "map-TivusatD", this.tivusatChannels, out this.tivusatFileContent, this.dvbcFrequency); + ReadDvbctChannels(zip, "map-CanalDigitalSatD", this.canalDigitalChannels, out this.canalDigitalFileContent, this.dvbcFrequency); ReadSatellites(zip); ReadTransponder(zip, "TransponderDataBase.dat"); ReadTransponder(zip, "UserTransponderDataBase.dat"); @@ -591,6 +594,7 @@ namespace ChanSort.Loader.Samsung this.SaveChannels(zip, "map-CablePrime_D", this.primeChannels, this.primeFileContent); this.SaveChannels(zip, "map-FreesatD", this.freesatChannels, this.freesatFileContent); this.SaveChannels(zip, "map-TivusatD", this.tivusatChannels, this.tivusatFileContent); + this.SaveChannels(zip, "map-CanalDigitalSatD", this.canalDigitalChannels, this.canalDigitalFileContent); zip.CommitUpdate(); } } diff --git a/ChanSort/MainForm.cs b/ChanSort/MainForm.cs index 96736d6..9b3a412 100644 --- a/ChanSort/MainForm.cs +++ b/ChanSort/MainForm.cs @@ -25,7 +25,7 @@ namespace ChanSort.Ui { public partial class MainForm : XtraForm { - public const string AppVersion = "v2014-01-19"; + public const string AppVersion = "v2014-01-27"; private const int MaxMruEntries = 10; diff --git a/Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-256-LA.h b/Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-256-LA.h index 073ac4d..b2134e0 100644 --- a/Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-256-LA.h +++ b/Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-256-LA.h @@ -52,7 +52,7 @@ struct LA256_AnalogChannel word LogicalProgramNr2; word ChannelTransponder4; byte Favorites2; - byte LockSkipHide; + TLL_EditFlags EditFlags; word SID2; byte ServiceType; byte CH_NameLength2; @@ -130,19 +130,22 @@ struct LA256_DvbCtChannel byte CH_NameLength1; byte t4; word SID1; - byte t5a[38]; + byte t5a[37]; + byte NitVersion; word ChannelTransponder2; dword Frequency; byte t6[6]; word ONID; word TSID; - byte t7[32]; + word NID; + dword SpecialData; + byte t7[26]; word ChannelTransponder3; word ProgramNr2; word LogicalProgramNr2; word ChannelTransponder4; byte Favorites2; - byte LockSkipHide; + TLL_EditFlags EditFlags; word SID2; byte ServiceType; byte CH_NameLength2; @@ -204,7 +207,7 @@ struct TLL92_SatChannel word CH_NumberFixed; word TP_Number2; byte FavCrypt; - byte LockSkipHide; + TLL_EditFlags EditFlags; word SID; byte ServiceType; byte CH_NameLength; diff --git a/Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-260-LA.h b/Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-260-LA.h index a5cba43..33cc834 100644 --- a/Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-260-LA.h +++ b/Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-260-LA.h @@ -52,7 +52,7 @@ struct LA260_AnalogChannel word LogicalProgramNr2; word ChannelTransponder4; byte Favorites2; - byte LockSkipHide; + TLL_EditFlags EditFlags; word SID2; byte ServiceType; byte CH_NameLength2; @@ -130,19 +130,22 @@ struct LA260_DvbCtChannel byte CH_NameLength1; byte t4; word SID1; - byte t5a[42]; + byte t5a[41]; + byte NitVersion; word ChannelTransponder2; dword Frequency; byte t6[6]; word ONID; word TSID; - byte t7[32]; + word NID; + dword SpecialData; + byte t7[26]; word ChannelTransponder3; word ProgramNr2; word LogicalProgramNr2; word ChannelTransponder4; byte Favorites2; - byte LockSkipHide; + TLL_EditFlags EditFlags; word SID2; byte ServiceType; byte CH_NameLength2; @@ -204,7 +207,7 @@ struct TLL92_SatChannel word CH_NumberFixed; word TP_Number2; byte FavCrypt; - byte LockSkipHide; + TLL_EditFlags EditFlags; word SID; byte ServiceType; byte CH_NameLength; diff --git a/Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-common.h b/Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-common.h index 73d3a16..c8d2b01 100644 --- a/Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-common.h +++ b/Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-common.h @@ -42,6 +42,14 @@ enum LH_SignalSource : byte Cable = 3 }; +enum TLL_EditFlags : byte +{ + Lock = 1, + Skip = 2, + Hide = 3, + CustChNr = 64 +}; + struct TLL_SettingsBlock { dword BlockSize; diff --git a/makeDistribZip.cmd b/makeDistribZip.cmd index 1482403..b530d50 100644 --- a/makeDistribZip.cmd +++ b/makeDistribZip.cmd @@ -2,7 +2,7 @@ c:\cygwin\bin\date "+%%Y-%%m-%%d">%TEMP%\date.txt set /p curdate=<%temp%\date.txt set target=%cd%\..\ChanSort_%curdate% -set DXversion=13.1 +set DXversion=13.2 mkdir "%target%" 2>nul del /s /q "%target%\*" copy debug\ChanSort.exe* "%target%" @@ -28,13 +28,17 @@ pause goto:eof :copyDll -echo Copying DevExpress %* -set source="C:\Program Files (x86)\DevExpress\DXperience %DXversion%\Bin\Framework\DevExpress.%*.v%DXversion%.dll" +echo Copying DevExpress %1 +set source="C:\Program Files (x86)\DevExpress %DXversion%\Components\Bin\Framework\DevExpress.%1.v%DXversion%.dll" if exist %source% copy %source% "%target%" -set source="C:\Program Files (x86)\DevExpress\DXperience %DXversion%\Bin\Framework\DevExpress.%*.v%DXversion%.Core.dll" +set source="C:\Program Files (x86)\DevExpress %DXversion%\Components\Bin\Framework\DevExpress.%1.v%DXversion%.Core.dll" if exist %source% copy %source% "%target%" -set source="C:\Program Files (x86)\DevExpress\DXperience %DXversion%\Bin\Framework\de\DevExpress.%*.v%DXversion%.resources.dll" -if exist %source% copy %source% "%target%\de" -set source="C:\Program Files (x86)\DevExpress\DXperience %DXversion%\Bin\Framework\de\DevExpress.%*.v%DXversion%.Core.resources.dll" -if exist %source% copy %source% "%target%\de" +for %%l in (de pt) do call :copyLangDll %1 %%l +goto:eof + +:copyLangDll +set source="C:\Program Files (x86)\DevExpress %DXversion%\Components\Bin\Framework\%2\DevExpress.%1.v%DXversion%.resources.dll" +if exist %source% copy %source% "%target%\%2" +set source="C:\Program Files (x86)\DevExpress %DXversion%\Components\Bin\Framework\%2\DevExpress.%1.v%DXversion%.Core.resources.dll" +if exist %source% copy %source% "%target%\%2" goto:eof \ No newline at end of file diff --git a/readme.txt b/readme.txt index deb6acb..57d0e5c 100644 --- a/readme.txt +++ b/readme.txt @@ -1,8 +1,7 @@ -Version v2014-01-19 ======================================================= +Version v2014-01-27 ======================================================= Changes: -- show channel "Provider" information for Samsung C,D and E series DVB-C/T - and Satellite channel lists (no data available for Astra HD+) +- Added support for Samsung "Channel Digital Sat" channel lists The complete change log can be found at the end of this document @@ -112,6 +111,13 @@ OTHER DEALINGS IN THE SOFTWARE. Change log ================================================================ +2014-01-27 +- Added support for Samsung "Channel Digital Sat" channel lists + +2014-01-21 +- show channel "Provider" information for Samsung C,D and E series DVB-C/T + and Satellite channel lists (no data available for Astra HD+) + 2013-12-22 - Analog channel names loaded from a reference file (.csv, .csm, .tll, ...) are now copied into and saved with the current TV data file .