mirror of
https://github.com/PredatH0r/ChanSort.git
synced 2026-02-27 16:50:44 +01:00
- support for Samsung FreesatD channel list
- support for LG LP series (hotel TV) - hotel-mode/dtv-update flag editable for all known LG models - added skip/hide column to left list - use color in left grid to indicate skipped/hidden channels
This commit is contained in:
@@ -118,7 +118,7 @@
|
||||
offAudioPid2 = 198
|
||||
|
||||
[ACTChannelDataMapping:192]
|
||||
; LM series with Firmware 4.x (all except LM611S and LM340S)
|
||||
; LM, LS, PM series with Firmware 4.x (all except LM611S and LM340S)
|
||||
reorderChannelData = 0
|
||||
lenName = 40
|
||||
offSignalSource = 8
|
||||
@@ -147,7 +147,7 @@
|
||||
offAudioPid2 = 182
|
||||
|
||||
[ACTChannelDataMapping:188]
|
||||
; LM series with Firmware 3.x (LM611S with exceptions, LM340S)
|
||||
; CS and LM series with Firmware 3.x (CS460s, LM611S with exceptions, LM340S)
|
||||
reorderChannelData = 0
|
||||
lenName = 40
|
||||
offSignalSource = 8
|
||||
@@ -176,8 +176,7 @@
|
||||
offAudioPid2 = 182
|
||||
|
||||
[ACTChannelDataMapping:184]
|
||||
; LV470S,LV570S,LV579S(with exceptions), LW5500,LW5590,LW570S,LW579S,LW650S,LW659S(with exceptions)
|
||||
; LK950S, CS460S, PM670S, LM611S(with exceptions)
|
||||
; LV, LW (except LW4500, LW5400), LK950S, PM670S
|
||||
reorderChannelData = 0
|
||||
lenName = 40
|
||||
offSignalSource = 8
|
||||
@@ -335,17 +334,6 @@
|
||||
lnbCount = 40
|
||||
lnbLength = 48
|
||||
|
||||
[DvbsBlock:687880]
|
||||
; everything before LM series + LM340S, LM611S, LS560S
|
||||
satCount = 64
|
||||
satLength = 44
|
||||
transponderCount = 2400
|
||||
transponderLength = 40
|
||||
dvbsChannelCount = 7520
|
||||
dvbsChannelLength = 68
|
||||
lnbCount = 40
|
||||
lnbLength = 44
|
||||
|
||||
[DvbsBlock:629932]
|
||||
; LN
|
||||
satCount = 64
|
||||
@@ -358,6 +346,16 @@
|
||||
lnbCount = 40
|
||||
lnbLength = 48
|
||||
|
||||
[DvbsBlock:687880]
|
||||
; everything before LM series + LM340S, LM611S, LS560S
|
||||
satCount = 64
|
||||
satLength = 44
|
||||
transponderCount = 2400
|
||||
transponderLength = 40
|
||||
dvbsChannelCount = 7520
|
||||
dvbsChannelLength = 68
|
||||
lnbCount = 40
|
||||
lnbLength = 44
|
||||
|
||||
[DvbsBlock:717960]
|
||||
; LM, LS and PM series except LM611S, LM340S LS560S
|
||||
@@ -370,6 +368,18 @@
|
||||
lnbCount = 40
|
||||
lnbLength = 44
|
||||
|
||||
[DvbsBlock:757800]
|
||||
; LP series
|
||||
satCount = 64
|
||||
satLength = 44
|
||||
satIndexFactor = 1
|
||||
transponderCount = 2400
|
||||
transponderLength = 44
|
||||
dvbsChannelCount = 7520
|
||||
dvbsChannelLength = 76
|
||||
lnbCount = 40
|
||||
lnbLength = 48
|
||||
|
||||
[DvbsBlock:907336]
|
||||
; LA series
|
||||
satCount = 64
|
||||
@@ -394,6 +404,18 @@
|
||||
offSymbolRate = 25
|
||||
offSatIndex = 36
|
||||
|
||||
[TransponderDataMapping:44LP]
|
||||
; LP
|
||||
offFirstChannelIndex = 0
|
||||
offLastChannelIndex = 2
|
||||
offChannelCount = 4
|
||||
offTransponderIndex = 10
|
||||
offFrequency = 12
|
||||
offOriginalNetworkId = 18
|
||||
offTransportStreamId = 20
|
||||
offSymbolRate = 25
|
||||
offSatIndex = 38
|
||||
|
||||
[TransponderDataMapping:44]
|
||||
; LN
|
||||
offFirstChannelIndex = 0
|
||||
@@ -508,6 +530,35 @@
|
||||
offVideoPid = 60
|
||||
offAudioPid = 62
|
||||
|
||||
[SatChannelDataMapping:76LP]
|
||||
; LP series
|
||||
lenName = 40
|
||||
offSatelliteNr = 0
|
||||
offSourceType = 4
|
||||
offTransponderIndex = 6, 12
|
||||
offProgramNr = 8
|
||||
offProgramNrPreset = 10
|
||||
offFavorites2 = 16
|
||||
offDeleted = 16
|
||||
maskDeleted = 0x42
|
||||
offEncrypted = 16
|
||||
maskEncrypted = 0x80
|
||||
offLock = 17
|
||||
maskLock = 0x01
|
||||
offSkip = 17
|
||||
maskSkip = 0x02
|
||||
offHide = 17
|
||||
maskHide = 0x04
|
||||
offProgNrCustomized = 17
|
||||
maskProgNrCustomized = 0x40
|
||||
offServiceId = 20
|
||||
offServiceType = 22
|
||||
offNameLength = 23
|
||||
offName = 24
|
||||
offVideoPid = 64
|
||||
offAudioPid = 66
|
||||
|
||||
|
||||
[SatChannelDataMapping:92]
|
||||
; LA series
|
||||
lenName = 40
|
||||
@@ -582,7 +633,19 @@
|
||||
offHotelModeDtvUpdate=12613
|
||||
|
||||
[FirmwareData:16024]
|
||||
; LM611S, LM340S, CS460S
|
||||
; CS460S, LM611S, LM340S, LS560S
|
||||
offSize = 0
|
||||
offHotelModeEnabled=12639
|
||||
offHotelModeDtvUpdate=12649
|
||||
|
||||
[FirmwareData:16232]
|
||||
; LT
|
||||
offSize = 0
|
||||
offHotelModeEnabled=12639
|
||||
offHotelModeDtvUpdate=12649
|
||||
|
||||
[FirmwareData:16376]
|
||||
; LP
|
||||
offSize = 0
|
||||
offHotelModeEnabled=12639
|
||||
offHotelModeDtvUpdate=12649
|
||||
@@ -591,10 +654,16 @@
|
||||
; LN
|
||||
offSize = 0
|
||||
offHotelModeEnabled=13627
|
||||
offHotelModeDtvUpdate=13629
|
||||
offHotelModeDtvUpdate=13637
|
||||
|
||||
[FirmwareData:17240]
|
||||
; PN
|
||||
offSize = 0
|
||||
offHotelModeEnabled=13873
|
||||
offHotelModeDtvUpdate=13883
|
||||
|
||||
[FirmwareData:23072]
|
||||
; LD420, LD450, LD550
|
||||
; LE3300, LD420, LD450, LD550
|
||||
offSize = 0
|
||||
offHotelModeEnabled=19721
|
||||
offHotelModeDtvUpdate=19731
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
public readonly int lnbLength;
|
||||
public readonly int[] dvbsSubblockLength;
|
||||
public readonly int dvbsBlockTotalLength;
|
||||
public readonly int satIndexFactor;
|
||||
|
||||
public int LnbBlockHeaderSize = 12;
|
||||
|
||||
@@ -30,6 +31,9 @@
|
||||
this.dvbsChannelLength = iniSection.GetInt("dvbsChannelLength");
|
||||
this.lnbCount = iniSection.GetInt("lnbCount");
|
||||
this.lnbLength = iniSection.GetInt("lnbLength");
|
||||
this.satIndexFactor = iniSection.GetInt("satIndexFactor");
|
||||
if (satIndexFactor == 0)
|
||||
satIndexFactor = 2;
|
||||
|
||||
this.dvbsSubblockLength = new[]
|
||||
{
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace ChanSort.Loader.LG
|
||||
private int firstChannelIndex;
|
||||
private int lastChannelIndex;
|
||||
|
||||
public SatTransponder(int index, DataMapping mapping, DataRoot dataRoot) : base(index)
|
||||
public SatTransponder(int index, DataMapping mapping, DataRoot dataRoot, int satIndexFactor) : base(index)
|
||||
{
|
||||
this.mapping = mapping;
|
||||
this.data = mapping.Data;
|
||||
@@ -38,7 +38,7 @@ namespace ChanSort.Loader.LG
|
||||
this.symbolRate = (this.symbolRate/100 + 1)*100;
|
||||
// note: a correction factor is applied later after all transponders were loaded (*0.5, *1, *2)
|
||||
|
||||
this.Satellite = dataRoot.Satellites.TryGet(mapping.GetByte(_SatIndex)/2);
|
||||
this.Satellite = dataRoot.Satellites.TryGet(mapping.GetByte(_SatIndex)/satIndexFactor);
|
||||
}
|
||||
|
||||
public int FirstChannelIndex
|
||||
|
||||
@@ -12,6 +12,8 @@ namespace ChanSort.Loader.LG
|
||||
{
|
||||
public partial class TllFileSerializer : SerializerBase
|
||||
{
|
||||
enum SpecialHandlingModels { Standard, LH3000, PN, LP, LT };
|
||||
|
||||
private const long DVBS_S2 = 0x0032532D53425644; // reverse of "DVBS-S2\0"
|
||||
private const long MaxFileSize = 2000000;
|
||||
private readonly string ERR_fileTooBig = Resource.TllFileSerializerPlugin_ERR_fileTooBig;
|
||||
@@ -35,6 +37,7 @@ namespace ChanSort.Loader.LG
|
||||
private readonly ChannelList satRadioChannels = new ChannelList(SignalSource.DvbS | SignalSource.Radio, "Sat Radio");
|
||||
|
||||
private byte[] fileContent;
|
||||
private SpecialHandlingModels specialModel = SpecialHandlingModels.Standard;
|
||||
|
||||
private int analogBlockOffset;
|
||||
private int firmwareBlockOffset;
|
||||
@@ -132,6 +135,18 @@ namespace ChanSort.Loader.LG
|
||||
|
||||
public override void Load()
|
||||
{
|
||||
string basename = (Path.GetFileNameWithoutExtension(this.FileName) ?? "").ToUpper();
|
||||
if (basename.StartsWith("XXLH3000"))
|
||||
this.specialModel = SpecialHandlingModels.LH3000;
|
||||
else if (basename.StartsWith("XXPN"))
|
||||
this.specialModel = SpecialHandlingModels.PN;
|
||||
else if (basename.StartsWith("XXLP"))
|
||||
this.specialModel = SpecialHandlingModels.LP;
|
||||
else if (basename.StartsWith("XXLT"))
|
||||
this.specialModel = SpecialHandlingModels.LT;
|
||||
else
|
||||
this.specialModel = SpecialHandlingModels.Standard;
|
||||
|
||||
long fileSize = new FileInfo(this.FileName).Length;
|
||||
if (fileSize > MaxFileSize)
|
||||
throw new FileLoadException(string.Format(ERR_fileTooBig, fileSize, MaxFileSize));
|
||||
@@ -142,7 +157,7 @@ namespace ChanSort.Loader.LG
|
||||
this.ReadFileHeader(ref off);
|
||||
this.ReadAnalogChannelBlock(ref off);
|
||||
this.ReadFirmwareDataBlock(ref off);
|
||||
this.ReadLtSeriesExtraBlock(ref off);
|
||||
this.ReadHotelModelExtraBlock(ref off);
|
||||
this.ReadDvbCtChannels(ref off);
|
||||
this.ReadDvbSBlock(ref off);
|
||||
this.ReadSettingsBlock(ref off);
|
||||
@@ -198,17 +213,16 @@ namespace ChanSort.Loader.LG
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ReadLtSeriesExtraBlock()
|
||||
private void ReadLtSeriesExtraBlock(ref int off)
|
||||
#region ReadHotelModelExtraBlock()
|
||||
private void ReadHotelModelExtraBlock(ref int off)
|
||||
{
|
||||
if (!(this.specialModel == SpecialHandlingModels.LT || this.specialModel == SpecialHandlingModels.LP))
|
||||
return;
|
||||
|
||||
int size = BitConverter.ToInt32(this.fileContent, off);
|
||||
int count = BitConverter.ToInt32(this.fileContent, off + 4);
|
||||
if (size == 4 + count*72 && this.actChannelSize == 212)
|
||||
{
|
||||
this.extraBlockOffset = off;
|
||||
this.extraBlockSize = size;
|
||||
off += 4 + size;
|
||||
}
|
||||
this.extraBlockOffset = off;
|
||||
this.extraBlockSize = size;
|
||||
off += 4 + size;
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -273,18 +287,13 @@ namespace ChanSort.Loader.LG
|
||||
{
|
||||
int blockSize = this.GetBlockSize(off, minSize: 2);
|
||||
off += 4;
|
||||
|
||||
channelCount = BitConverter.ToInt32(fileContent, off);
|
||||
off += 4;
|
||||
if (channelCount == 0) return;
|
||||
|
||||
recordSize = GetActChannelRecordSize(off, blockSize, channelCount);
|
||||
var key = recordSize.ToString();
|
||||
string basename = (Path.GetFileNameWithoutExtension(this.FileName) ?? "").ToUpper();
|
||||
if (basename.StartsWith("XXLH3000"))
|
||||
key += "LH3000";
|
||||
else if (basename.StartsWith("XXPN"))
|
||||
key += "PN";
|
||||
var actMapping = this.actMappings.GetMapping(key);
|
||||
var actMapping = GetActChannelMapping(recordSize);
|
||||
this.reorderPhysically = actMapping.Settings.GetInt("reorderChannelData") != 0;
|
||||
|
||||
for (int i = 0; i < channelCount; i++)
|
||||
@@ -298,6 +307,20 @@ namespace ChanSort.Loader.LG
|
||||
off += recordSize;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region GetActChannelMapping()
|
||||
private DataMapping GetActChannelMapping(int recordSize)
|
||||
{
|
||||
var key = recordSize.ToString();
|
||||
if (this.specialModel == SpecialHandlingModels.LH3000)
|
||||
key += "LH3000";
|
||||
else if (this.specialModel == SpecialHandlingModels.PN)
|
||||
key += "PN";
|
||||
var actMapping = this.actMappings.GetMapping(key);
|
||||
return actMapping;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region GetBlockSize()
|
||||
@@ -422,11 +445,11 @@ namespace ChanSort.Loader.LG
|
||||
{
|
||||
dvbsSymbolRateFactor = 1;
|
||||
var dvbsSymbolRateMask = 0x7FFFF;
|
||||
var mapping = this.dvbsTransponderMappings.GetMapping(this.satConfig.transponderLength);
|
||||
var mapping = GetTransponderMapping();
|
||||
for (int i=0; i<satConfig.transponderCount; i++)
|
||||
{
|
||||
mapping.SetDataPtr(this.fileContent, off + i*satConfig.transponderLength);
|
||||
SatTransponder transponder = new SatTransponder(i, mapping, this.DataRoot);
|
||||
SatTransponder transponder = new SatTransponder(i, mapping, this.DataRoot, this.satConfig.satIndexFactor);
|
||||
if (transponder.Satellite == null)
|
||||
continue;
|
||||
|
||||
@@ -453,6 +476,16 @@ namespace ChanSort.Loader.LG
|
||||
|
||||
off += this.satConfig.transponderCount * this.satConfig.transponderLength;
|
||||
}
|
||||
|
||||
private DataMapping GetTransponderMapping()
|
||||
{
|
||||
string key = this.satConfig.transponderLength.ToString();
|
||||
if (this.specialModel == SpecialHandlingModels.LP)
|
||||
key += "LP";
|
||||
var mapping = this.dvbsTransponderMappings.GetMapping(key);
|
||||
return mapping;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ReadDvbsChannelLinkedList()
|
||||
@@ -476,7 +509,7 @@ namespace ChanSort.Loader.LG
|
||||
#region ReadDvbsChannels()
|
||||
private void ReadDvbsChannels(ref int off, int startIndex)
|
||||
{
|
||||
var mapping = this.dvbsMappings.GetMapping(satConfig.dvbsChannelLength);
|
||||
var mapping = GetDvbsChannelMapping();
|
||||
int index = startIndex;
|
||||
for (int i = 0; i < this.dvbsChannelCount; i++)
|
||||
{
|
||||
@@ -518,6 +551,18 @@ namespace ChanSort.Loader.LG
|
||||
}
|
||||
off += satConfig.dvbsMaxChannelCount * satConfig.dvbsChannelLength;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region GetDvbsChannelMapping()
|
||||
private DataMapping GetDvbsChannelMapping()
|
||||
{
|
||||
var key = satConfig.dvbsChannelLength.ToString();
|
||||
if (this.specialModel == SpecialHandlingModels.LP)
|
||||
key += "LP";
|
||||
var mapping = this.dvbsMappings.GetMapping(key);
|
||||
return mapping;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region GetSatLocation()
|
||||
@@ -901,7 +946,7 @@ namespace ChanSort.Loader.LG
|
||||
{
|
||||
if ((proxy.SignalSource & SignalSource.Sat) != 0)
|
||||
{
|
||||
var mapping = this.dvbsMappings.GetMapping(this.satConfig.dvbsChannelLength);
|
||||
var mapping = this.GetDvbsChannelMapping();
|
||||
var channel = SatChannel.CreateFromProxy(proxy, this.DataRoot, mapping, this.satConfig.dvbsChannelLength);
|
||||
if (channel != null)
|
||||
this.mustReorganizeDvbs = true;
|
||||
|
||||
@@ -25,6 +25,7 @@ namespace ChanSort.Loader.Samsung
|
||||
private readonly ChannelList dvbcChannels = new ChannelList(SignalSource.DvbC | SignalSource.TvAndRadio, "Digital Cable");
|
||||
private readonly ChannelList dvbsChannels = new ChannelList(SignalSource.DvbS | SignalSource.TvAndRadio, "Satellite");
|
||||
private readonly ChannelList hdplusChannels = new ChannelList(SignalSource.HdPlusD | SignalSource.TvAndRadio, "Astra HD+");
|
||||
private readonly ChannelList freesatChannels = new ChannelList(SignalSource.HdPlusD | SignalSource.TvAndRadio, "Freesat");
|
||||
private readonly ChannelList primeChannels = new ChannelList(SignalSource.CablePrimeD | SignalSource.TvAndRadio, "Cable Prime");
|
||||
|
||||
private readonly Dictionary<int, decimal> avbtFrequency = new Dictionary<int, decimal>();
|
||||
@@ -39,6 +40,7 @@ namespace ChanSort.Loader.Samsung
|
||||
private byte[] dvbsFileContent;
|
||||
private byte[] hdplusFileContent;
|
||||
private byte[] primeFileContent;
|
||||
private byte[] freesatFileContent;
|
||||
private ModelConstants c;
|
||||
|
||||
#region ctor()
|
||||
@@ -102,11 +104,12 @@ namespace ChanSort.Loader.Samsung
|
||||
ReadDvbTransponderFrequenciesFromPtc(zip, "PTCCABLE", this.dvbcFrequency);
|
||||
ReadDvbctChannels(zip, "map-CableD", this.dvbcChannels, out this.dvbcFileContent, this.dvbcFrequency);
|
||||
ReadDvbctChannels(zip, "map-CablePrime_D", this.primeChannels, out this.primeFileContent, this.dvbcFrequency);
|
||||
ReadDvbctChannels(zip, "map-FreesatD", this.freesatChannels, out this.freesatFileContent, this.dvbcFrequency);
|
||||
ReadSatellites(zip);
|
||||
ReadTransponder(zip, "TransponderDataBase.dat");
|
||||
ReadTransponder(zip, "UserTransponderDataBase.dat");
|
||||
ReadDvbsChannels(zip);
|
||||
ReadAstraHdPlusChannels(zip);
|
||||
ReadAstraHdPlusChannels(zip);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
@@ -124,7 +127,7 @@ namespace ChanSort.Loader.Samsung
|
||||
#region DetectModelFromFileName()
|
||||
private bool DetectModelFromFileName()
|
||||
{
|
||||
string file = Path.GetFileName(this.FileName);
|
||||
string file = Path.GetFileName(this.FileName)??"";
|
||||
System.Text.RegularExpressions.Regex regex =
|
||||
new System.Text.RegularExpressions.Regex("channel_list_(?:[A-Z]{2}[0-9]{2}|BD-)([A-Z])[0-9A-Z]+_[0-9]{4}.*\\.scm");
|
||||
var match = regex.Match(file);
|
||||
@@ -539,6 +542,7 @@ namespace ChanSort.Loader.Samsung
|
||||
this.SaveChannels(zip, "map-SateD", this.dvbsChannels, ref this.dvbsFileContent);
|
||||
this.SaveChannels(zip, "map-AstraHDPlusD", this.hdplusChannels, ref this.hdplusFileContent);
|
||||
this.SaveChannels(zip, "map-CablePrime_D", this.primeChannels, ref this.primeFileContent);
|
||||
this.SaveChannels(zip, "map-FreesatD", this.freesatChannels, ref this.freesatFileContent);
|
||||
zip.CommitUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
22
ChanSort/MainForm.Designer.cs
generated
22
ChanSort/MainForm.Designer.cs
generated
@@ -167,6 +167,8 @@
|
||||
this.grpSubList = new DevExpress.XtraEditors.GroupControl();
|
||||
this.tabSubList = new DevExpress.XtraTab.XtraTabControl();
|
||||
this.pageProgNr = new DevExpress.XtraTab.XtraTabPage();
|
||||
this.colOutSkip = new DevExpress.XtraGrid.Columns.GridColumn();
|
||||
this.colOutHide = new DevExpress.XtraGrid.Columns.GridColumn();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainerControl1)).BeginInit();
|
||||
this.splitContainerControl1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.grpOutputList)).BeginInit();
|
||||
@@ -211,7 +213,7 @@
|
||||
resources.ApplyResources(this.splitContainerControl1.Panel1, "splitContainerControl1.Panel1");
|
||||
this.splitContainerControl1.Panel2.Controls.Add(this.grpInputList);
|
||||
resources.ApplyResources(this.splitContainerControl1.Panel2, "splitContainerControl1.Panel2");
|
||||
this.splitContainerControl1.SplitterPosition = 386;
|
||||
this.splitContainerControl1.SplitterPosition = 453;
|
||||
//
|
||||
// grpOutputList
|
||||
//
|
||||
@@ -259,7 +261,9 @@
|
||||
this.colOutName,
|
||||
this.colOutFav,
|
||||
this.colUid1,
|
||||
this.colOutLock});
|
||||
this.colOutLock,
|
||||
this.colOutSkip,
|
||||
this.colOutHide});
|
||||
this.gviewLeft.GridControl = this.gridLeft;
|
||||
this.gviewLeft.Name = "gviewLeft";
|
||||
this.gviewLeft.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.MouseDown;
|
||||
@@ -1589,6 +1593,18 @@
|
||||
this.pageProgNr.Name = "pageProgNr";
|
||||
resources.ApplyResources(this.pageProgNr, "pageProgNr");
|
||||
//
|
||||
// colOutSkip
|
||||
//
|
||||
resources.ApplyResources(this.colOutSkip, "colOutSkip");
|
||||
this.colOutSkip.FieldName = "Skip";
|
||||
this.colOutSkip.Name = "colOutSkip";
|
||||
//
|
||||
// colOutHide
|
||||
//
|
||||
resources.ApplyResources(this.colOutHide, "colOutHide");
|
||||
this.colOutHide.FieldName = "Hidden";
|
||||
this.colOutHide.Name = "colOutHide";
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
@@ -1782,6 +1798,8 @@
|
||||
private DevExpress.XtraTab.XtraTabControl tabSubList;
|
||||
private DevExpress.XtraTab.XtraTabPage pageProgNr;
|
||||
private DevExpress.XtraBars.BarButtonItem miAddFromRefList;
|
||||
private DevExpress.XtraGrid.Columns.GridColumn colOutSkip;
|
||||
private DevExpress.XtraGrid.Columns.GridColumn colOutHide;
|
||||
private DevExpress.XtraSplashScreen.SplashScreenManager splashScreenManager1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace ChanSort.Ui
|
||||
{
|
||||
public partial class MainForm : XtraForm
|
||||
{
|
||||
public const string AppVersion = "v2013-09-15";
|
||||
public const string AppVersion = "v2013-10-07";
|
||||
|
||||
private const int MaxMruEntries = 5;
|
||||
|
||||
@@ -2009,6 +2009,16 @@ namespace ChanSort.Ui
|
||||
e.Appearance.ForeColor = Color.Red;
|
||||
e.Appearance.Options.UseForeColor = true;
|
||||
}
|
||||
else if (channel.Hidden)
|
||||
{
|
||||
e.Appearance.ForeColor = Color.LightGray;
|
||||
e.Appearance.Options.UseForeColor = true;
|
||||
}
|
||||
else if (channel.Skip)
|
||||
{
|
||||
e.Appearance.ForeColor = Color.Blue;
|
||||
e.Appearance.Options.UseForeColor = true;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -432,4 +432,10 @@
|
||||
<data name="grpInputList.Text" xml:space="preserve">
|
||||
<value>Alle Sender</value>
|
||||
</data>
|
||||
<data name="colOutSkip.Caption" xml:space="preserve">
|
||||
<value>Über- springen</value>
|
||||
</data>
|
||||
<data name="colOutHide.Caption" xml:space="preserve">
|
||||
<value>Ver- steckt</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -361,4 +361,10 @@
|
||||
<data name="btnToggleLock.ToolTip" xml:space="preserve">
|
||||
<value>Parental lock</value>
|
||||
</data>
|
||||
<data name="colOutSkip.Caption" xml:space="preserve">
|
||||
<value>Sal- tar</value>
|
||||
</data>
|
||||
<data name="colOutHide.Caption" xml:space="preserve">
|
||||
<value>Esc- onder</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -227,6 +227,30 @@
|
||||
<data name="colOutLock.Width" type="System.Int32, mscorlib">
|
||||
<value>35</value>
|
||||
</data>
|
||||
<data name="colOutSkip.Caption" xml:space="preserve">
|
||||
<value>Skip</value>
|
||||
</data>
|
||||
<data name="colOutSkip.Visible" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="colOutSkip.VisibleIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="colOutSkip.Width" type="System.Int32, mscorlib">
|
||||
<value>35</value>
|
||||
</data>
|
||||
<data name="colOutHide.Caption" xml:space="preserve">
|
||||
<value>Hide</value>
|
||||
</data>
|
||||
<data name="colOutHide.Visible" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="colOutHide.VisibleIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="colOutHide.Width" type="System.Int32, mscorlib">
|
||||
<value>35</value>
|
||||
</data>
|
||||
<data name="repositoryItemTextEdit1.AutoHeight" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
@@ -234,7 +258,7 @@
|
||||
<value>Numeric</value>
|
||||
</data>
|
||||
<data name="gridLeft.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>382, 418</value>
|
||||
<value>449, 418</value>
|
||||
</data>
|
||||
<data name="gridLeft.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
@@ -516,7 +540,7 @@
|
||||
<data name="barManager1.Categories" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v13.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4xLCBWZXJzaW9uPTEz
|
||||
LjEuNS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
|
||||
LjEuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
|
||||
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
|
||||
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEZpbGUE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
|
||||
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICKaPJ5gsBeU2NTSFe
|
||||
@@ -526,7 +550,7 @@
|
||||
<data name="barManager1.Categories1" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v13.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4xLCBWZXJzaW9uPTEz
|
||||
LjEuNS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
|
||||
LjEuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
|
||||
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
|
||||
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEhlbHAE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
|
||||
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICdEVVDegwMU2acNpw
|
||||
@@ -536,7 +560,7 @@
|
||||
<data name="barManager1.Categories2" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v13.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4xLCBWZXJzaW9uPTEz
|
||||
LjEuNS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
|
||||
LjEuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
|
||||
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
|
||||
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEVkaXQE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
|
||||
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICZMTu18lZRU+IqmAu
|
||||
@@ -546,7 +570,7 @@
|
||||
<data name="barManager1.Categories3" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v13.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4xLCBWZXJzaW9uPTEz
|
||||
LjEuNS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
|
||||
LjEuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
|
||||
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
|
||||
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAAB09wdGlvbnME/P///wtTeXN0ZW0uR3VpZAsAAAACX2EC
|
||||
X2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICXJMOh9nzAkKc
|
||||
@@ -651,7 +675,7 @@
|
||||
<value>Default</value>
|
||||
</data>
|
||||
<data name="rbInsertSwap.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>48, 19</value>
|
||||
<value>47, 19</value>
|
||||
</data>
|
||||
<data name="rbInsertSwap.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
@@ -678,7 +702,7 @@
|
||||
<value>after</value>
|
||||
</data>
|
||||
<data name="rbInsertAfter.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>47, 19</value>
|
||||
<value>46, 19</value>
|
||||
</data>
|
||||
<data name="rbInsertAfter.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
@@ -702,7 +726,7 @@
|
||||
<value>before</value>
|
||||
</data>
|
||||
<data name="rbInsertBefore.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>55, 19</value>
|
||||
<value>54, 19</value>
|
||||
</data>
|
||||
<data name="rbInsertBefore.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
@@ -1505,6 +1529,18 @@
|
||||
<data name=">>timerEditDelay.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>colOutSkip.Name" xml:space="preserve">
|
||||
<value>colOutSkip</value>
|
||||
</data>
|
||||
<data name=">>colOutSkip.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>colOutHide.Name" xml:space="preserve">
|
||||
<value>colOutHide</value>
|
||||
</data>
|
||||
<data name=">>colOutHide.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>MainForm</value>
|
||||
</data>
|
||||
@@ -1512,7 +1548,7 @@
|
||||
<value>DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name="SharedImageCollection.Timestamp" type="System.DateTime, mscorlib">
|
||||
<value>07/19/2013 17:03:01</value>
|
||||
<value>10/07/2013 15:04:39</value>
|
||||
</data>
|
||||
<data name="SharedImageCollection.ImageSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>16, 16</value>
|
||||
@@ -1806,7 +1842,7 @@
|
||||
<value>2, 21</value>
|
||||
</data>
|
||||
<data name="pnlEditControls.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>382, 33</value>
|
||||
<value>449, 33</value>
|
||||
</data>
|
||||
<data name="pnlEditControls.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@@ -1830,7 +1866,7 @@
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="grpOutputList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>386, 491</value>
|
||||
<value>453, 491</value>
|
||||
</data>
|
||||
<data name="grpOutputList.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@@ -2166,7 +2202,7 @@
|
||||
<value>Signal source</value>
|
||||
</data>
|
||||
<data name="gridRight.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1079, 418</value>
|
||||
<value>1012, 418</value>
|
||||
</data>
|
||||
<data name="gridRight.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
@@ -2331,7 +2367,7 @@
|
||||
<value>2, 21</value>
|
||||
</data>
|
||||
<data name="panelControl3.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1079, 33</value>
|
||||
<value>1012, 33</value>
|
||||
</data>
|
||||
<data name="panelControl3.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@@ -2355,7 +2391,7 @@
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="grpInputList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1083, 491</value>
|
||||
<value>1016, 491</value>
|
||||
</data>
|
||||
<data name="grpInputList.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
|
||||
181
Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-084-LP.h
Normal file
181
Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-084-LP.h
Normal file
@@ -0,0 +1,181 @@
|
||||
#include "tll-common.h"
|
||||
|
||||
#define MAX_SAT_COUNT 64
|
||||
struct TLL44_Satellite;
|
||||
typedef TLL44_Satellite TLL_Satellite;
|
||||
|
||||
#define MAX_TP_COUNT 2400
|
||||
struct TLL44_Transponder;
|
||||
typedef TLL44_Transponder TLL_Transponder;
|
||||
|
||||
#define DVBS_CHANNELLIST_PREFIXSIZE 0
|
||||
#define MAX_DVBS_COUNT 7520
|
||||
struct TLL76_SatChannel;
|
||||
typedef TLL76_SatChannel TLL_SatChannel;
|
||||
|
||||
#define MAX_LNB_COUNT 40
|
||||
struct TLL48_Lnb;
|
||||
typedef TLL48_Lnb TLL_Lnb;
|
||||
|
||||
#include "tll-satellite.h"
|
||||
|
||||
struct LP84_AnalogChannel
|
||||
{
|
||||
byte unknown[84];
|
||||
/*
|
||||
byte t1[8];
|
||||
TLL_SignalSource SignalSource;
|
||||
byte t1b;
|
||||
word ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word LogicalProgramNr;
|
||||
byte t2[4];
|
||||
byte Favorites1;
|
||||
byte t2b[3];
|
||||
word Frequency1Div50;
|
||||
word APID1;
|
||||
byte ChannelNumberInBand;
|
||||
byte ChannelBand;
|
||||
byte t3[10];
|
||||
char CH_Name1[40];
|
||||
byte CH_NameLength1;
|
||||
byte t4;
|
||||
word SID1;
|
||||
byte t5a[38];
|
||||
word ChannelTransponder2;
|
||||
dword FrequencyDiv50;
|
||||
byte t6[6];
|
||||
word ONID;
|
||||
word TSID;
|
||||
byte t7[32];
|
||||
word ChannelTransponder3;
|
||||
word ProgramNr2;
|
||||
word LogicalProgramNr2;
|
||||
word ChannelTransponder4;
|
||||
byte Favorites2;
|
||||
byte LockSkipHide;
|
||||
word SID2;
|
||||
byte ServiceType;
|
||||
byte CH_NameLength2;
|
||||
char CH_Name2[40];
|
||||
byte t10[12];
|
||||
word Frequency2Div50;
|
||||
word APID2;
|
||||
word u1;
|
||||
word u2;
|
||||
byte t11[12];
|
||||
*/
|
||||
};
|
||||
|
||||
struct LP84_AnalogBlock
|
||||
{
|
||||
dword BlockSize;
|
||||
dword ChannelCount;
|
||||
LP84_AnalogChannel Channels[ChannelCount];
|
||||
};
|
||||
|
||||
struct LP84_FirmwareBlock
|
||||
{
|
||||
dword BlockSize;
|
||||
byte Data1[12635];
|
||||
TLL_HotelSettings HotelSettings;
|
||||
byte Data2[BlockSize - 12635 - sizeof(TLL_HotelSettings)];
|
||||
};
|
||||
|
||||
struct LP84_DvbCtChannel
|
||||
{
|
||||
};
|
||||
|
||||
struct LP84_DvbCTBlock
|
||||
{
|
||||
dword BlockSize;
|
||||
dword ChannelCount;
|
||||
LP84_DvbCtChannel Channels[ChannelCount];
|
||||
};
|
||||
|
||||
struct TLL44_Transponder
|
||||
{
|
||||
word FirstChannelIndex;
|
||||
word LastChannelIndex;
|
||||
word ChannelCount;
|
||||
word t1a;
|
||||
word t1b;
|
||||
word TP_Number;
|
||||
word TP_Freq;
|
||||
byte t2[4];
|
||||
word NID;
|
||||
word TID;
|
||||
word t3;
|
||||
struct TP_Flags1
|
||||
{
|
||||
byte Unknown : 6;
|
||||
byte IsHorizontal : 1;
|
||||
} Flags1;
|
||||
word SRate;
|
||||
struct TP_Flags2
|
||||
{
|
||||
enum E_FEC : byte
|
||||
{
|
||||
FEC2_3 = 2,
|
||||
FEC3_4 = 3,
|
||||
FEC5_6 = 4,
|
||||
FEC7_8 = 5,
|
||||
FEC9_10 = 9
|
||||
} FEC : 4;
|
||||
byte S2 : 1;
|
||||
} Flags2;
|
||||
|
||||
byte t4[10];
|
||||
byte SatIndexTimes1;
|
||||
byte t5[5];
|
||||
};
|
||||
|
||||
struct TLL76_SatChannel
|
||||
{
|
||||
word LnbIndex;
|
||||
word t1;
|
||||
TLL_SignalSource SignalSource;
|
||||
word TP_Number;
|
||||
byte t2;
|
||||
word ChannelNumber;
|
||||
word LogicalChannelNumber;
|
||||
word TP_Number2;
|
||||
byte t3[2];
|
||||
byte FavDelCrypt;
|
||||
byte LockSkipHide;
|
||||
byte t4[2];
|
||||
word SID;
|
||||
byte ServiceType;
|
||||
byte CH_NameLength;
|
||||
char CH_Name[40];
|
||||
word VID;
|
||||
word AID;
|
||||
word AID_Times8;
|
||||
byte t6[6];
|
||||
};
|
||||
|
||||
struct TLL48_Lnb
|
||||
{
|
||||
byte SettingsID;
|
||||
byte t2[3];
|
||||
byte SatelliteID;
|
||||
byte t3[3];
|
||||
char FrequenceName[12];
|
||||
word LOF1;
|
||||
byte t4[2];
|
||||
word LOF2;
|
||||
byte t5[22];
|
||||
};
|
||||
|
||||
|
||||
public struct LP84
|
||||
{
|
||||
byte Header[4];
|
||||
|
||||
LP84_AnalogBlock Analog;
|
||||
LP84_FirmwareBlock Firmware;
|
||||
TLL_SettingsBlock HotelData;
|
||||
LP84_DvbCTBlock DvbCT;
|
||||
TLL_DvbSBlock DvbS;
|
||||
TLL_SettingsBlock Settings;
|
||||
};
|
||||
@@ -69,9 +69,7 @@ struct LT212_HotelSettings
|
||||
byte Volume;
|
||||
byte AvSettings;
|
||||
byte RadioVideoBlank;
|
||||
// byte unknown1;
|
||||
byte StartProgNr;
|
||||
// byte unknown2;
|
||||
byte NumberOfPrograms;
|
||||
byte RadioNameDisplay;
|
||||
byte unknown3[2];
|
||||
@@ -81,9 +79,9 @@ struct LT212_HotelSettings
|
||||
struct LT212_FirmwareBlock
|
||||
{
|
||||
dword BlockSize;
|
||||
byte u1[13623];
|
||||
byte u1[12635];
|
||||
LT212_HotelSettings HotelSettings;
|
||||
byte Data[BlockSize - sizeof(HotelSettings) - 13623];
|
||||
byte Data[BlockSize - sizeof(HotelSettings) - 12635];
|
||||
};
|
||||
|
||||
struct LT212_UnknownBlock
|
||||
|
||||
@@ -101,9 +101,9 @@ struct PN212_HotelSettings
|
||||
struct PN212_FirmwareBlock
|
||||
{
|
||||
dword BlockSize;
|
||||
byte u1[13623];
|
||||
byte u1[13869];
|
||||
PN212_HotelSettings HotelSettings;
|
||||
byte Data[BlockSize - sizeof(HotelSettings) - 13623];
|
||||
byte Data[BlockSize - sizeof(HotelSettings) - 13869];
|
||||
};
|
||||
|
||||
struct PN212_UnknownBlock
|
||||
@@ -203,12 +203,6 @@ struct TLL48_Lnb
|
||||
byte t5[22];
|
||||
};
|
||||
|
||||
struct PN212_SettingsBlock
|
||||
{
|
||||
dword BlockSize;
|
||||
byte Data[BlockSize];
|
||||
};
|
||||
|
||||
public struct PN212
|
||||
{
|
||||
byte Header[4];
|
||||
|
||||
@@ -97,7 +97,7 @@ struct TLL72_SatChannel
|
||||
word ChannelNumber;
|
||||
word LogicalChannelNumber;
|
||||
word TP_Number2;
|
||||
byte FavCrypt;
|
||||
byte FavDelCrypt;
|
||||
byte LockSkipHide;
|
||||
word SID;
|
||||
byte ServiceType;
|
||||
@@ -105,7 +105,7 @@ struct TLL72_SatChannel
|
||||
char CH_Name[40];
|
||||
word VID;
|
||||
word AID;
|
||||
word AID_Times8;
|
||||
word AID_Times16;
|
||||
byte t6[6];
|
||||
};
|
||||
|
||||
|
||||
Binary file not shown.
16
Test.Loader.LG/LP/TestLP.cs
Normal file
16
Test.Loader.LG/LP/TestLP.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
|
||||
namespace Test.Loader.LG
|
||||
{
|
||||
[TestClass]
|
||||
public class TestLP : TestBase
|
||||
{
|
||||
[TestMethod]
|
||||
public void TestLP632H_Sat76TR()
|
||||
{
|
||||
// "KristianStolze"
|
||||
//this.GenerateTestFiles("LP/xxLP632H-ZA00001");
|
||||
this.ExecuteTest("LP/xxLP632H-ZA00001");
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
Test.Loader.LG/LP/xxLP632H-ZA00001.TLL.in
Normal file
BIN
Test.Loader.LG/LP/xxLP632H-ZA00001.TLL.in
Normal file
Binary file not shown.
BIN
Test.Loader.LG/LP/xxLP632H-ZA00001.TLL.out
Normal file
BIN
Test.Loader.LG/LP/xxLP632H-ZA00001.TLL.out
Normal file
Binary file not shown.
2147
Test.Loader.LG/LP/xxLP632H-ZA00001.csv.in
Normal file
2147
Test.Loader.LG/LP/xxLP632H-ZA00001.csv.in
Normal file
File diff suppressed because it is too large
Load Diff
@@ -79,6 +79,7 @@
|
||||
<Compile Include="LK\TestLK.cs" />
|
||||
<Compile Include="LM\TestLM.cs" />
|
||||
<Compile Include="LN\TestLN.cs" />
|
||||
<Compile Include="LP\TestLP.cs" />
|
||||
<Compile Include="LS\TestLS.cs" />
|
||||
<Compile Include="LT\TestLT.cs" />
|
||||
<Compile Include="LV\TestLV.cs" />
|
||||
|
||||
37
readme.txt
37
readme.txt
@@ -1,9 +1,11 @@
|
||||
Version v2013-09-15 ======================================================
|
||||
Version v2013-10-07 ======================================================
|
||||
|
||||
Changes:
|
||||
- Added support for LG PN-series satellite channel lists
|
||||
- Fixed: use last selected character set when loading LG channel lists
|
||||
- Fixed missing translations
|
||||
- Added support for Samsung "FreesatD" channel lists
|
||||
- Added support for LG LP-series sat channel lists (DVB-C/T not supported)
|
||||
- Added columns for "skip" and "hide" channel flags to left list
|
||||
- skipped/hidden channels are now display with blue/light grey color
|
||||
- LG hotel-mode/DTV-update settings editable for all supported LG models
|
||||
|
||||
The complete change log can be found at the end of this document
|
||||
|
||||
@@ -33,9 +35,9 @@ Samsung
|
||||
-------
|
||||
Series: B*, C, D, E, F
|
||||
Lists: Air analog, Air digital, Cable analog, Cable digital,
|
||||
Cable prime, Sat digital, Astra HD+,
|
||||
Cable prime, Sat digital, Astra HD+, Freesat digital
|
||||
|
||||
* NOTE: the "Air Analog"-list of the B-Series doesn't support all
|
||||
* NOTE: the "Air Analog"-list of the B-series doesn't support all
|
||||
editing features due to a lack of test files. If you have such a file,
|
||||
please send it to me.
|
||||
|
||||
@@ -44,12 +46,14 @@ Samsung
|
||||
|
||||
LG
|
||||
------
|
||||
Series: CS, DM, LA, LD, LE, LH, LK, LM*, LN, LS, LT, LV, LW, LX, PM, PT
|
||||
Lists: Analog TV, DTV (DVB-C, DVB-T), Radio (DVB-C/T), Sat-DTV (DVB-S2),
|
||||
Sat-Radio (DVB-S2)
|
||||
Series: CS, DM, LA, LD, LE, LH, LK, LM*, LN, LP**, LS, LT, LV, LW, LX,
|
||||
PM, PN, PT
|
||||
Lists: Analog TV, DTV (DVB-C, DVB-T), Radio (DVB-C/T),
|
||||
Sat-DTV (DVB-S2), Sat-Radio (DVB-S2)
|
||||
|
||||
* NOTE: See system requirements for LM-Series.
|
||||
* NOTE: See system requirements for LM-series.
|
||||
Model xxLM640T is not supported due to its broken firmware.
|
||||
**: Only satellite channels supported
|
||||
Other models might also work, but have not been tested. If you have a
|
||||
.TLL file of a series not listed here, please send it to me.
|
||||
|
||||
@@ -109,13 +113,20 @@ OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Change log ================================================================
|
||||
|
||||
2013-10-07
|
||||
- Added support for Samsung "FreesatD" channel lists
|
||||
- Added support for LG LP-series sat channel lists (DVB-C/T not supported)
|
||||
- Added columns for "skip" and "hide" channel flags to left list
|
||||
- skipped/hidden channels are now display with blue/light grey color
|
||||
- LG hotel-mode/DTV-update settings editable for all supported LG models
|
||||
|
||||
2013-09-15
|
||||
- Added support for LG PN-series satellite channel lists
|
||||
- Fixed: use last selected character set when loading LG channel lists
|
||||
- Fixed missing translations
|
||||
|
||||
2013-08-21
|
||||
- Added support for LG PN Series (tested with PN6500)
|
||||
- Added support for LG PN-series (tested with PN6500)
|
||||
|
||||
2013-08-19
|
||||
- Fixed loading Samsung B-series channel lists
|
||||
@@ -170,7 +181,7 @@ Change log ================================================================
|
||||
- FIX: Resizing a column caused an exception
|
||||
- FIX: Deleting satellite channels from an SCM file did not work correctly
|
||||
- Improved SCM file format detection
|
||||
- Samsung E/F-Series: channels in the favorite lists now use their prog#
|
||||
- Samsung E/F-series: channels in the favorite lists now use their prog#
|
||||
instead of all being put at #1
|
||||
(in a future version the fav lists may be sorted separately)
|
||||
|
||||
@@ -257,7 +268,7 @@ Change log ================================================================
|
||||
- FIX: first channel list only got populated after switching between tabs
|
||||
|
||||
2013-04-08
|
||||
- Added support for Samsung F-Series.
|
||||
- Added support for Samsung F-series.
|
||||
- Added online check for updated program version
|
||||
|
||||
2013-04-07
|
||||
|
||||
Reference in New Issue
Block a user