mirror of
https://github.com/PredatH0r/ChanSort.git
synced 2026-02-20 21:36:49 +01:00
changes:
- experimental support for modifying LG channel lists which contain LCNs - reverted some Samsung flag-handling due to user reports
This commit is contained in:
@@ -90,7 +90,6 @@
|
||||
<Compile Include="Utils\DataMapping.cs" />
|
||||
<Compile Include="Utils\Crc32.cs" />
|
||||
<Compile Include="Utils\CsvFile.cs" />
|
||||
<None Include="Utils\DvbChannelMappingBase.cs" />
|
||||
<Compile Include="Utils\DvbStringDecoder.cs" />
|
||||
<Compile Include="Utils\IniFile.cs" />
|
||||
<Compile Include="Model\ChannelInfo.cs" />
|
||||
|
||||
@@ -46,6 +46,7 @@ namespace ChanSort.Api
|
||||
{
|
||||
sb.Append(list.ShortCaption).AppendLine("-----");
|
||||
sb.Append("number of channels: ").AppendLine(list.Count.ToString());
|
||||
sb.Append("number of predefined channel numbers: ").AppendLine(list.PresetProgramNrCount.ToString());
|
||||
sb.Append("number of duplicate program numbers: ").AppendLine(list.DuplicateProgNrCount.ToString());
|
||||
sb.Append("number of duplicate channel identifiers: ").AppendLine(list.DuplicateUidCount.ToString());
|
||||
int deleted = 0;
|
||||
|
||||
@@ -41,6 +41,7 @@ namespace ChanSort.Api
|
||||
public string SatPosition { get; set; }
|
||||
public Transponder Transponder { get; set; }
|
||||
public IList<int> FavIndex { get; private set; }
|
||||
public int ProgramNrPreset { get; set; }
|
||||
|
||||
public bool IsNameModified { get; set; }
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ namespace ChanSort.Api
|
||||
public int DuplicateProgNrCount { get { return duplicateProgNrCount; } }
|
||||
public bool ReadOnly { get; set; }
|
||||
public int MaxChannelNameLength { get; set; }
|
||||
public int PresetProgramNrCount { get; private set; }
|
||||
|
||||
#region Caption
|
||||
public string Caption
|
||||
@@ -93,6 +94,9 @@ namespace ChanSort.Api
|
||||
}
|
||||
byNameList.Add(ci);
|
||||
|
||||
if (ci.ProgramNrPreset != 0)
|
||||
++this.PresetProgramNrCount;
|
||||
|
||||
this.channels.Add(ci);
|
||||
|
||||
return warning2;
|
||||
|
||||
@@ -1,125 +0,0 @@
|
||||
using System.Text;
|
||||
|
||||
namespace ChanSort.Api
|
||||
{
|
||||
public class DvbChannelMappingBase : ChannelMappingBase
|
||||
{
|
||||
protected const string offChannelTransponder = "offChannelTransponder";
|
||||
protected const string offPcrPid = "offPcrPid";
|
||||
protected const string offVideoPid = "offVideoPid";
|
||||
protected const string offAudioPid = "offAudioPid";
|
||||
protected const string offServiceId = "offServiceId";
|
||||
protected const string offOriginalNetworkId = "offOriginalNetworkId";
|
||||
protected const string offTransportStreamId = "offTransportStreamId";
|
||||
protected const string offServiceType = "offServiceType";
|
||||
protected const string offSymbolRate = "offSymbolRate";
|
||||
protected const string offEncrypted = "offEncrypted";
|
||||
protected const string maskEncrypted = "maskEncrypted";
|
||||
protected const string offShortName = "offShortName";
|
||||
protected const string offShortNameLength = "offShortNameLength";
|
||||
protected const string lenShortName = "lenShortName";
|
||||
|
||||
|
||||
#region ctor()
|
||||
public DvbChannelMappingBase(IniFile.Section settings, int dataLength, Encoding stringEncoding)
|
||||
: base(settings, dataLength, stringEncoding)
|
||||
{
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ChannelOrTransponder
|
||||
public virtual byte ChannelOrTransponder
|
||||
{
|
||||
get { return this.GetByte(offChannelTransponder); }
|
||||
set { this.SetByte(offChannelTransponder, value); }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ShortName
|
||||
public int ShortNameLength
|
||||
{
|
||||
get
|
||||
{
|
||||
var off = this.GetOffsets(offShortNameLength);
|
||||
if (off.Length > 0)
|
||||
return this.GetWord(off[0]);
|
||||
off = this.GetOffsets(lenShortName); // not an offset!
|
||||
return off.Length > 0 ? off[0] : 0;
|
||||
}
|
||||
}
|
||||
|
||||
public override string ShortName { get { return this.GetString(offShortName, this.ShortNameLength); } }
|
||||
#endregion
|
||||
|
||||
#region PcrPid
|
||||
public virtual ushort PcrPid
|
||||
{
|
||||
get { return this.GetWord(offPcrPid); }
|
||||
set { this.SetWord(offPcrPid, value); }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region VideoPid
|
||||
public virtual ushort VideoPid
|
||||
{
|
||||
get { return this.GetWord(offVideoPid); }
|
||||
set { this.SetWord(offVideoPid, value); }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region AudioPid
|
||||
public virtual ushort AudioPid
|
||||
{
|
||||
get { return this.GetWord(offAudioPid); }
|
||||
set { this.SetWord(offAudioPid, value); }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ServiceId
|
||||
public virtual ushort ServiceId
|
||||
{
|
||||
get { return this.GetWord(offServiceId); }
|
||||
set { this.SetWord(offServiceId, value); }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region OriginalNetworkId
|
||||
public virtual ushort OriginalNetworkId
|
||||
{
|
||||
get { return this.GetWord(offOriginalNetworkId); }
|
||||
set { this.SetWord(offOriginalNetworkId, value); }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region TransportStreamId
|
||||
public virtual ushort TransportStreamId
|
||||
{
|
||||
get { return this.GetWord(offTransportStreamId); }
|
||||
set { this.SetWord(offTransportStreamId, value); }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ServiceType
|
||||
public virtual byte ServiceType
|
||||
{
|
||||
get { return this.GetByte(offServiceType); }
|
||||
set { this.SetByte(offServiceType, value); }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region SymbolRate
|
||||
public virtual ushort SymbolRate
|
||||
{
|
||||
get { return this.GetWord(offSymbolRate); }
|
||||
set { this.SetWord(offSymbolRate, value); }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Encrypted
|
||||
public virtual bool Encrypted
|
||||
{
|
||||
get { return this.GetFlag(offEncrypted, maskEncrypted); }
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,7 @@
|
||||
offSignalSource = 8
|
||||
offChannelTransponder = 10, 122, 170, 176
|
||||
offProgramNr = 12, 172
|
||||
offProgramNrPreset = 14, 174
|
||||
offFavorites = 20
|
||||
offPcrPid = 24, 236
|
||||
offAudioPid = 26
|
||||
@@ -37,6 +38,7 @@
|
||||
offSignalSource = 8
|
||||
offChannelTransponder = 10, 118, 153, 160
|
||||
offProgramNr = 12, 156
|
||||
offProgramNrPreset = 14, 158
|
||||
offFavorites = 20
|
||||
offPcrPid = 24, 208
|
||||
offAudioPid = 26
|
||||
@@ -66,6 +68,7 @@
|
||||
offSignalSource = 8
|
||||
offChannelTransponder = 10, 106, 141, 148
|
||||
offProgramNr = 12, 144
|
||||
offProgramNrPreset = 14, 146
|
||||
offFavorites = 20
|
||||
offPcrPid = 22, 200
|
||||
offAudioPid = 24
|
||||
@@ -95,6 +98,7 @@
|
||||
offSignalSource = 8
|
||||
offChannelTransponder = 10, 110, 141, 148
|
||||
offProgramNr = 12, 144
|
||||
offProgramNrPreset = 14, 146
|
||||
offFavorites = 22
|
||||
offPcrPid = 24, 196
|
||||
offAudioPid = 26
|
||||
@@ -124,6 +128,7 @@
|
||||
offSignalSource = 8
|
||||
offChannelTransponder = 10, 94, 126, 132
|
||||
offProgramNr = 12, 128
|
||||
offProgramNrPreset = 14, 130
|
||||
offFavorites = 20
|
||||
offPcrPid = 22, 180
|
||||
offAudioPid = 24
|
||||
@@ -153,6 +158,7 @@
|
||||
offSignalSource = 8
|
||||
offChannelTransponder = 10, 94, 125, 132
|
||||
offProgramNr = 12, 128
|
||||
offProgramNrPreset = 14, 130
|
||||
offFavorites = 20
|
||||
offPcrPid = 22, 180
|
||||
offAudioPid = 24
|
||||
@@ -182,6 +188,7 @@
|
||||
offSignalSource = 8
|
||||
offChannelTransponder = 10, 90, 121, 128
|
||||
offProgramNr = 12, 124
|
||||
offProgramNrPreset = 14, 126
|
||||
offFavorites = 20
|
||||
offPcrPid = 22, 176
|
||||
offAudioPid = 24
|
||||
@@ -211,6 +218,7 @@
|
||||
offSignalSource = 8
|
||||
offChannelTransponder = 10, 90, 124
|
||||
offProgramNr = 12
|
||||
offProgramNrPreset = 14
|
||||
offFavorites = 20
|
||||
offPcrPid = 22, 172
|
||||
offAudioPid = 24
|
||||
@@ -241,6 +249,7 @@
|
||||
offSignalSource = 8
|
||||
offChannelTransponder = 10, 86, 120
|
||||
offProgramNr = 12
|
||||
offProgramNrPreset = 14
|
||||
offFavorites = 20
|
||||
offPcrPid = 22, 168
|
||||
offAudioPid = 24
|
||||
@@ -265,11 +274,12 @@
|
||||
offAudioPid2 = 170
|
||||
|
||||
[ACTChannelDataMapping:164]
|
||||
; DM and LH series (except LH3000)
|
||||
; DM, LF, LH, LU (except LH3000)
|
||||
reorderChannelData = 1
|
||||
lenName = 40
|
||||
offChannelTransponder = 9, 112
|
||||
offProgramNr = 10
|
||||
offProgramNrPreset = 12
|
||||
offFavorites = 18
|
||||
offPcrPid = 20, 156
|
||||
offAudioPid = 22
|
||||
@@ -299,6 +309,7 @@
|
||||
lenName = 40
|
||||
offChannelTransponder = 9, 108
|
||||
offProgramNr = 10
|
||||
offProgramNrPreset = 12
|
||||
offFavorites = 18
|
||||
offPcrPid = 20, 152
|
||||
offAudioPid = 22
|
||||
|
||||
@@ -90,6 +90,7 @@
|
||||
resources.ApplyResources(this.btnOk, "btnOk");
|
||||
this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.btnOk.Name = "btnOk";
|
||||
this.btnOk.Click += new System.EventHandler(this.btnOk_Click);
|
||||
//
|
||||
// labelControl2
|
||||
//
|
||||
|
||||
@@ -19,5 +19,11 @@ namespace ChanSort.Loader.LG
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
private void btnOk_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
if (ModifierKeys == (Keys.Alt|Keys.Control))
|
||||
this.DialogResult = DialogResult.Yes;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,12 +112,12 @@
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="labelControl1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left, Right</value>
|
||||
</data>
|
||||
@@ -125,14 +125,14 @@
|
||||
<data name="labelControl1.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v13.1">
|
||||
<value>Vertical</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="labelControl1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>10, 49</value>
|
||||
</data>
|
||||
<data name="labelControl1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>560, 26</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="labelControl1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
@@ -326,7 +326,7 @@
|
||||
<value>linkDetails</value>
|
||||
</data>
|
||||
<data name=">>linkDetails.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>linkDetails.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
@@ -391,7 +391,7 @@
|
||||
<data name=">>labelControl2.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||
|
||||
@@ -6,10 +6,8 @@ namespace ChanSort.Loader.LG
|
||||
{
|
||||
private const string _SatConfigIndex = "offSatelliteNr";
|
||||
private const string _TransponderIndex = "offTransponderIndex";
|
||||
private const string _ProgramNrPreset = "offProgramNrPreset";
|
||||
|
||||
public bool InUse { get; private set; }
|
||||
public int ProgramNrPreset { get; private set; }
|
||||
|
||||
public SatChannel(int order, int slot, DataMapping data, DataRoot dataRoot) : base(data)
|
||||
{
|
||||
@@ -20,7 +18,6 @@ namespace ChanSort.Loader.LG
|
||||
this.InitCommonData(slot, SignalSource.DvbS, data);
|
||||
this.InitDvbData(data);
|
||||
|
||||
this.ProgramNrPreset = data.GetWord(_ProgramNrPreset);
|
||||
int transponderIndex = data.GetWord(_TransponderIndex);
|
||||
Transponder transponder = dataRoot.Transponder.TryGet(transponderIndex);
|
||||
Satellite sat = transponder.Satellite;
|
||||
|
||||
@@ -7,6 +7,7 @@ namespace ChanSort.Loader.LG
|
||||
// common
|
||||
protected const string _ProgramNr = "offProgramNr";
|
||||
protected const string _ProgramNr2 = "offProgramNr2"; // not for DVB-S
|
||||
protected const string _ProgramNrPreset = "offProgramNrPreset";
|
||||
protected const string _Name = "offName";
|
||||
protected const string _NameLength = "offNameLength";
|
||||
protected const string _Favorites = "offFavorites"; // not for DVB-S (which only uses Favorite2)
|
||||
@@ -68,6 +69,7 @@ namespace ChanSort.Loader.LG
|
||||
this.OriginalNetworkId = data.GetWord(_OriginalNetworkId);
|
||||
this.TransportStreamId = data.GetWord(_TransportStreamId);
|
||||
this.ServiceType = data.GetByte(_ServiceType);
|
||||
this.ProgramNrPreset = data.GetWord(_ProgramNrPreset);
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -91,6 +93,7 @@ namespace ChanSort.Loader.LG
|
||||
int progNr = this.NewProgramNr == -1 ? 0 : this.NewProgramNr;
|
||||
mapping.SetWord(_ProgramNr, progNr | ((this.SignalSource & SignalSource.Radio) != 0 ? 0x4000 : 0));
|
||||
mapping.SetWord(_ProgramNr2, (mapping.GetWord(_ProgramNr2) & 0x0003) | (progNr << 2));
|
||||
mapping.SetWord(_ProgramNrPreset, 0);
|
||||
if (this.IsNameModified)
|
||||
{
|
||||
mapping.SetString(_Name, this.Name, 40);
|
||||
@@ -105,10 +108,12 @@ namespace ChanSort.Loader.LG
|
||||
if (this.NewProgramNr == -1)
|
||||
{
|
||||
mapping.SetFlag(_Deleted, true);
|
||||
mapping.SetByte("off"+_Moved, 0); //skip,lock,hide,moved
|
||||
mapping.SetByte("off" + _Moved, 0); //skip,lock,hide,moved
|
||||
}
|
||||
else
|
||||
{
|
||||
mapping.SetFlag(_Moved, true);
|
||||
}
|
||||
|
||||
this.OldProgramNr = this.NewProgramNr;
|
||||
}
|
||||
|
||||
@@ -67,7 +67,6 @@ namespace ChanSort.Loader.LG
|
||||
private int deletedChannelsHard;
|
||||
private int deletedChannelsSoft;
|
||||
private int dvbsChannelsAtPr0;
|
||||
private int presetChannels;
|
||||
|
||||
private bool removeDeletedActChannels = false;
|
||||
private bool mustReorganizeDvbs = false;
|
||||
@@ -161,16 +160,17 @@ namespace ChanSort.Loader.LG
|
||||
this.ReadDvbSBlock(ref off);
|
||||
this.ReadSettingsBlock(ref off);
|
||||
|
||||
if (this.presetChannels > 0)
|
||||
if (this.satTvChannels.PresetProgramNrCount > 0 || this.satRadioChannels.PresetProgramNrCount > 0)
|
||||
{
|
||||
this.satTvChannels.ReadOnly = true;
|
||||
this.satRadioChannels.ReadOnly = true;
|
||||
foreach (var channel in this.satTvChannels.Channels)
|
||||
channel.NewProgramNr = channel.OldProgramNr;
|
||||
foreach (var channel in this.satRadioChannels.Channels)
|
||||
channel.NewProgramNr = channel.OldProgramNr;
|
||||
if (!IsTesting)
|
||||
new PresetProgramNrDialog().ShowDialog();
|
||||
if (IsTesting || new PresetProgramNrDialog().ShowDialog() != DialogResult.Yes)
|
||||
{
|
||||
this.satTvChannels.ReadOnly = true;
|
||||
this.satRadioChannels.ReadOnly = true;
|
||||
}
|
||||
}
|
||||
|
||||
#if STORE_DVBS_CHANNELS_IN_DATABASE
|
||||
@@ -540,9 +540,6 @@ namespace ChanSort.Loader.LG
|
||||
++this.duplicateChannels;
|
||||
}
|
||||
this.DataRoot.AddChannel(list, ci);
|
||||
|
||||
if (ci.ProgramNrPreset != 0)
|
||||
++this.presetChannels;
|
||||
}
|
||||
|
||||
if (!this.nextChannelIndex.TryGetValue(index, out index) || index == -1)
|
||||
@@ -941,6 +938,7 @@ namespace ChanSort.Loader.LG
|
||||
|
||||
#endregion
|
||||
|
||||
#region CreateChannelFromProxy()
|
||||
private ChannelInfo CreateChannelFromProxy(ChannelInfo proxy)
|
||||
{
|
||||
if ((proxy.SignalSource & SignalSource.Sat) != 0)
|
||||
@@ -953,6 +951,7 @@ namespace ChanSort.Loader.LG
|
||||
}
|
||||
return null;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ReorderActChannelsPhysically()
|
||||
private void ReorderActChannelsPhysically()
|
||||
@@ -1047,6 +1046,8 @@ namespace ChanSort.Loader.LG
|
||||
public override string GetFileInformation()
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine(base.GetFileInformation());
|
||||
|
||||
sb.AppendLine("ANALOG");
|
||||
sb.Append("Number of data records: ").Append(this.analogChannelCount).AppendLine();
|
||||
sb.Append("Length of data record: ").Append(this.actChannelSize).AppendLine();
|
||||
@@ -1072,7 +1073,6 @@ namespace ChanSort.Loader.LG
|
||||
sb.Append("Channel records erased (duplicates): ").Append(this.duplicateChannels).AppendLine();
|
||||
sb.Append("Channel records with Pr# 0: ").Append(dvbsChannelsAtPr0).AppendLine();
|
||||
sb.Append("Channel records with duplicate Pr#: ").Append(numberOfDupePrNr).AppendLine();
|
||||
sb.Append("Channel records with preset Pr#: ").Append(this.presetChannels).AppendLine();
|
||||
}
|
||||
else
|
||||
sb.AppendLine("not present");
|
||||
@@ -1156,6 +1156,5 @@ namespace ChanSort.Loader.LG
|
||||
internal int SatChannelLength { get { return satConfig != null ? satConfig.dvbsChannelLength : 0; } }
|
||||
internal decimal DvbsSymbolRateCorrectionFactor { get { return this.dvbsSymbolRateFactor; } }
|
||||
internal int FirmwareBlockSize { get { return this.firmwareBlockSize; } }
|
||||
internal bool HasPresetDvbsChannelNumbers { get { return this.presetChannels > 0; } }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,6 +58,8 @@ namespace ChanSort.Loader.Samsung
|
||||
this.Lock = data.GetFlag(_Lock);
|
||||
this.Encrypted = data.GetFlag(_Encrypted);
|
||||
this.IsDeleted = data.GetFlag(_Deleted);
|
||||
if (this.IsDeleted)
|
||||
this.OldProgramNr = -1;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -401,7 +401,7 @@ namespace ChanSort.Loader.Samsung
|
||||
for (int slotIndex = 0; slotIndex < count; slotIndex++)
|
||||
{
|
||||
DigitalChannel ci = new DigitalChannel(slotIndex, isCable, rawChannel, frequency, c.SortedFavorites);
|
||||
if (ci.InUse && !ci.IsDeleted)
|
||||
if (ci.InUse && !ci.IsDeleted && ci.OldProgramNr > 0)
|
||||
this.DataRoot.AddChannel(list, ci);
|
||||
|
||||
rawChannel.BaseOffset += entrySize;
|
||||
|
||||
@@ -2,3 +2,13 @@ typedef unsigned char byte;
|
||||
typedef unsigned short word;
|
||||
typedef unsigned int dword;
|
||||
typedef big_endian unsigned short uc16be;
|
||||
|
||||
enum ServiceType : byte
|
||||
{
|
||||
SDTV = 1,
|
||||
Radio = 2,
|
||||
Data = 12,
|
||||
SDTV_MPEG4 = 22,
|
||||
HDTV = 25,
|
||||
Option = 211
|
||||
};
|
||||
@@ -8,7 +8,8 @@ struct LH3000_AnalogChannel
|
||||
byte t1b[6];
|
||||
byte ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word t2[3];
|
||||
word LogicalProgramNr1;
|
||||
word t2[2];
|
||||
byte Favorites1;
|
||||
byte t2d;
|
||||
word Freqency1Div50;
|
||||
@@ -20,23 +21,23 @@ struct LH3000_AnalogChannel
|
||||
byte CH_NameLength1;
|
||||
byte t4;
|
||||
word SID1;
|
||||
byte t5a[14]; // !
|
||||
byte t5a[14];
|
||||
word ONID;
|
||||
word TSID;
|
||||
byte t5b[6];
|
||||
dword Frequency;
|
||||
byte t6[8];
|
||||
word ProgramNr2;
|
||||
byte t7[2];
|
||||
byte t5b[14];
|
||||
word ProgramNrTimes4;
|
||||
word LogicalProgramNr2;
|
||||
byte ChannelTransponder4;
|
||||
byte _Favorites2;
|
||||
byte LockSkipHide;
|
||||
byte ServiceType;
|
||||
byte CH_NameLength2;
|
||||
char CH_Name2[40];
|
||||
word Frequency2Div50;
|
||||
word APID2;
|
||||
word t11;
|
||||
word t12;
|
||||
ServiceType ServiceType;
|
||||
byte t13[3];
|
||||
};
|
||||
|
||||
|
||||
@@ -47,7 +48,7 @@ struct LH3000_DvbCtChannel
|
||||
byte t1b[6];
|
||||
byte ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word LogicalChannelNumber;
|
||||
word LogicalProgramNr1;
|
||||
word t2[2];
|
||||
byte Favorites1;
|
||||
byte t2d;
|
||||
@@ -62,7 +63,9 @@ struct LH3000_DvbCtChannel
|
||||
byte t5a[14];
|
||||
word ONID;
|
||||
word TSID;
|
||||
byte t5b[18];
|
||||
byte t5b[14];
|
||||
word ProgramNrTimes4;
|
||||
word LocicalProgramNr2;
|
||||
byte ChannelTransponder4;
|
||||
byte _Favorites2;
|
||||
byte LockSkipHide;
|
||||
@@ -72,7 +75,8 @@ struct LH3000_DvbCtChannel
|
||||
word APID2;
|
||||
word t11;
|
||||
word SID2;
|
||||
byte t13[4];
|
||||
ServiceType ServiceType;
|
||||
byte t13[3];
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ struct LH164_AnalogChannel
|
||||
byte t1b[6];
|
||||
byte ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word t2[3];
|
||||
word LogicalProgramNr1;
|
||||
byte Favorites1;
|
||||
byte t2d;
|
||||
word Freqency1Div50;
|
||||
@@ -25,8 +25,8 @@ struct LH164_AnalogChannel
|
||||
byte t5b[6];
|
||||
dword Frequency;
|
||||
byte t6[8];
|
||||
word ProgramNr2;
|
||||
byte t7[2];
|
||||
word ProgramNrTimes4;
|
||||
word LogicalProgramNr2;
|
||||
byte ChannelTransponder4;
|
||||
byte _Favorites2;
|
||||
byte LockSkipHide;
|
||||
@@ -46,7 +46,7 @@ struct LH164_DvbCtChannel
|
||||
byte t1b[6];
|
||||
byte ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word LogicalChannelNumber;
|
||||
word LogicalProgramNr2;
|
||||
word t2[2];
|
||||
byte Favorites1;
|
||||
byte t2d;
|
||||
@@ -64,8 +64,8 @@ struct LH164_DvbCtChannel
|
||||
byte t5b[6];
|
||||
dword Frequency;
|
||||
byte t6[8];
|
||||
word ProgramNr2;
|
||||
byte t7[2];
|
||||
word ProgramNrTimes4;
|
||||
word LogicalProgramNr2;
|
||||
byte ChannelTransponder4;
|
||||
byte _Favorites2;
|
||||
byte LockSkipHide;
|
||||
|
||||
@@ -7,7 +7,8 @@ struct LD176_AnalogChannel
|
||||
byte t1b;
|
||||
word ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word t2[3];
|
||||
word LogicalProgramNr1;
|
||||
word t2[2];
|
||||
byte Favorites1;
|
||||
byte t2d;
|
||||
word Freqency1Div50;
|
||||
@@ -26,9 +27,9 @@ struct LD176_AnalogChannel
|
||||
byte t6[2];
|
||||
word ONID;
|
||||
word TSID;
|
||||
byte t7[19];
|
||||
word ProgramNr2;
|
||||
byte t8;
|
||||
byte t7[18];
|
||||
word ProgramNrTimes4;
|
||||
word LogicalProgramNr2;
|
||||
word ChannelTransponder4;
|
||||
byte Favorites2;
|
||||
byte LockSkipHide;
|
||||
@@ -48,7 +49,8 @@ struct LD176_DvbCtChannel
|
||||
byte t1b;
|
||||
word ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word t2[3];
|
||||
word LogicalProgramNr1;
|
||||
word t2[2];
|
||||
byte Favorites1;
|
||||
byte t2d;
|
||||
word PcrPid;
|
||||
@@ -66,8 +68,8 @@ struct LD176_DvbCtChannel
|
||||
word ONID;
|
||||
word TSID;
|
||||
byte t7[18];
|
||||
word ProgramNr2;
|
||||
byte t8[2];
|
||||
word ProgramNrTimes4;
|
||||
word LogicalProgramNr2;
|
||||
word ChannelTransponder4;
|
||||
byte Favorites2;
|
||||
byte LockSkipHide;
|
||||
@@ -7,7 +7,8 @@ struct PT180_AnalogChannel
|
||||
byte t1b;
|
||||
word ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word t2[3];
|
||||
word LogicalProgramNr1;
|
||||
word t2[2];
|
||||
byte Favorites1;
|
||||
byte t2b;
|
||||
word Frequency1Div50;
|
||||
@@ -26,8 +27,8 @@ struct PT180_AnalogChannel
|
||||
word ONID;
|
||||
word TSID;
|
||||
byte t7[18];
|
||||
word ProgramNr2;
|
||||
byte t8[2];
|
||||
word ProgramNrTimes4;
|
||||
word LogicalProgramNr2;
|
||||
word ChannelTransponder4;
|
||||
byte Favorites2;
|
||||
byte LockSkipHide;
|
||||
@@ -48,7 +49,7 @@ struct PT180_DvbCtChannel
|
||||
byte t1b;
|
||||
word ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word LogicalChannelNumber;
|
||||
word LogicalProgramNr2;
|
||||
word t2[2];
|
||||
byte Favorites1;
|
||||
byte t2d;
|
||||
@@ -67,8 +68,8 @@ struct PT180_DvbCtChannel
|
||||
word ONID;
|
||||
word TSID;
|
||||
byte t7[18];
|
||||
word ProgramNr2;
|
||||
byte t8[2];
|
||||
word ProgramNrTimes4;
|
||||
word LogicalProgramNr2;
|
||||
word ChannelTransponder4;
|
||||
byte Favorites2;
|
||||
byte LockSkipHide;
|
||||
|
||||
@@ -12,7 +12,8 @@ struct LV184_AnalogChannel
|
||||
byte t1b;
|
||||
word ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word t2[3];
|
||||
word LogicalProgramNr1;
|
||||
word t2[2];
|
||||
byte Favorites1;
|
||||
byte t2b;
|
||||
word Frequency1Div50;
|
||||
@@ -33,7 +34,8 @@ struct LV184_AnalogChannel
|
||||
byte t7[19];
|
||||
word ChannelTransponder3;
|
||||
word ProgramNr2;
|
||||
byte t8b[3];
|
||||
word LogicalProgramNr2;
|
||||
byte t8b;
|
||||
word ChannelTransponder4;
|
||||
byte Favorites2;
|
||||
byte LockSkipHide;
|
||||
@@ -54,7 +56,7 @@ struct LV184_DvbCtChannel
|
||||
byte t1b;
|
||||
word ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word LogicalChannelNumber;
|
||||
word LogicalProgramNr2;
|
||||
word t2[2];
|
||||
byte Favorites1;
|
||||
byte t2d;
|
||||
@@ -75,7 +77,8 @@ struct LV184_DvbCtChannel
|
||||
byte t7[19];
|
||||
word ChannelTransponder3;
|
||||
word ProgramNr2;
|
||||
byte t8b[3];
|
||||
word LogicalProgramNr2;
|
||||
byte t8b;
|
||||
word ChannelTransponder4;
|
||||
byte Favorites2;
|
||||
byte LockSkipHide;
|
||||
|
||||
@@ -14,7 +14,8 @@ struct LM188_AnalogChannel
|
||||
byte t1b;
|
||||
word ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word t2[3];
|
||||
word LogicalProgramNr1;
|
||||
word t2[2];
|
||||
byte t2b;
|
||||
byte Favorites1;
|
||||
word Frequency1Div50;
|
||||
@@ -36,7 +37,7 @@ struct LM188_AnalogChannel
|
||||
byte t7[17];
|
||||
word ChannelTransponder3;
|
||||
word ProgramNr2;
|
||||
byte t8b[2];
|
||||
word LogicalProgramNr2;
|
||||
word ChannelTransponder4;
|
||||
byte Favorites2;
|
||||
byte LockSkipHide;
|
||||
@@ -56,7 +57,7 @@ struct LM188_DvbCtChannel
|
||||
byte t1b;
|
||||
word ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word LogicalChannelNumber;
|
||||
word LogicalProgramNr1;
|
||||
word t2[2];
|
||||
byte t2b;
|
||||
byte Favorites1;
|
||||
@@ -80,7 +81,7 @@ struct LM188_DvbCtChannel
|
||||
word ChannelTransponder3;
|
||||
byte t8a;
|
||||
word ProgramNr2;
|
||||
byte t8b[2];
|
||||
word LogicalProgramNr2;
|
||||
word ChannelTransponder4;
|
||||
byte Favorites2;
|
||||
byte LockSkipHide;
|
||||
|
||||
@@ -18,6 +18,8 @@ typedef TLL72_SatChannel TLL_SatChannel;
|
||||
struct TLL44_Lnb;
|
||||
typedef TLL44_Lnb TLL_Lnb;
|
||||
|
||||
#define DVBS_CHANNELLIST_PREFIXSIZE 0
|
||||
|
||||
#include "tll-satellite.h"
|
||||
|
||||
|
||||
@@ -115,7 +117,7 @@ struct LM192_DvbCtChannel
|
||||
byte t7[20];
|
||||
word ChannelTransponder3;
|
||||
word ProgramNr2;
|
||||
byte t8b[2];
|
||||
word LogicalProgramNr2;
|
||||
word ChannelTransponder4;
|
||||
byte Favorites2;
|
||||
byte LockSkipHide;
|
||||
|
||||
@@ -7,7 +7,8 @@ struct LT212_AnalogChannel
|
||||
byte t1b;
|
||||
word ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word t2[3];
|
||||
word LogicalProgramNr1;
|
||||
word t2[2];
|
||||
byte Favorites1;
|
||||
byte t2d;
|
||||
word Frequency1Div50;
|
||||
@@ -29,7 +30,7 @@ struct LT212_AnalogChannel
|
||||
word ChannelTransponder3;
|
||||
byte t7b;
|
||||
word ProgramNr2;
|
||||
byte t8[2];
|
||||
word LogicalProgramNr2;
|
||||
word ChannelTransponder4;
|
||||
byte t8b[4];
|
||||
byte Favorites2;
|
||||
@@ -97,7 +98,7 @@ struct LT212_DvbCtChannel
|
||||
byte t1b;
|
||||
word ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word LogicalChannelNr;
|
||||
word LogicalChannelNr1;
|
||||
word t2[2];
|
||||
byte Favorites1;
|
||||
byte t2d;
|
||||
@@ -120,7 +121,7 @@ struct LT212_DvbCtChannel
|
||||
word ChannelTransponder3;
|
||||
byte t7b;
|
||||
word ProgramNr2;
|
||||
byte t8[2];
|
||||
word LogicalProgramNr2;
|
||||
word ChannelTransponder4;
|
||||
byte t8b[4];
|
||||
byte Favorites2;
|
||||
|
||||
@@ -27,7 +27,8 @@ struct PN212_AnalogChannel
|
||||
byte t1b;
|
||||
word ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word t2[3];
|
||||
word LogicalProgramNr1;
|
||||
word t2[2];
|
||||
byte Favorites1;
|
||||
byte t2d;
|
||||
word Frequency1Div50;
|
||||
@@ -49,7 +50,7 @@ struct PN212_AnalogChannel
|
||||
word ChannelTransponder3;
|
||||
byte t7b;
|
||||
word ProgramNr2;
|
||||
byte t8[2];
|
||||
word LogicalProgramNr2;
|
||||
word ChannelTransponder4;
|
||||
byte t8b[4];
|
||||
byte Favorites2;
|
||||
@@ -119,7 +120,7 @@ struct PN212_DvbCtChannel
|
||||
byte t1b;
|
||||
word ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word LogicalChannelNr;
|
||||
word LogicalProgramNr1;
|
||||
byte t2[6];
|
||||
byte Favorites1;
|
||||
byte t2d;
|
||||
@@ -145,7 +146,7 @@ struct PN212_DvbCtChannel
|
||||
word ChannelTransponder3;
|
||||
byte t7b;
|
||||
word ProgramNr2;
|
||||
word LogicalChannelNr2;
|
||||
word LogicalProgramNr2;
|
||||
word ChannelTransponder4;
|
||||
byte t8b[0];
|
||||
byte Favorites2;
|
||||
|
||||
@@ -12,7 +12,8 @@ struct LN224_AnalogChannel
|
||||
byte t1b;
|
||||
word ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word t2[3];
|
||||
word LogicalProgramNr1;
|
||||
word t2[2];
|
||||
byte Favorites1;
|
||||
byte t2d;
|
||||
word Frequency1Div50;
|
||||
@@ -33,7 +34,7 @@ struct LN224_AnalogChannel
|
||||
byte t7[20];
|
||||
word ChannelTransponder3;
|
||||
word ProgramNr2;
|
||||
byte t8b[2];
|
||||
word LogicalProgramNr2;
|
||||
word ChannelTransponder4;
|
||||
byte Favorites2;
|
||||
byte LockSkipHide;
|
||||
@@ -96,7 +97,7 @@ struct LN224_DvbCtChannel
|
||||
byte t1b;
|
||||
word ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word LogicalChannelNumber;
|
||||
word LogicalProgramNr1;
|
||||
word t2[2];
|
||||
byte Favorites1;
|
||||
byte t2b[3];
|
||||
@@ -119,7 +120,7 @@ struct LN224_DvbCtChannel
|
||||
word ChannelTransponder3;
|
||||
byte t7b;
|
||||
word ProgramNr2;
|
||||
byte t8b[2];
|
||||
word LogicalProgramNr2;
|
||||
word ChannelTransponder4;
|
||||
byte Favorites2;
|
||||
byte LockSkipHide;
|
||||
|
||||
@@ -25,7 +25,7 @@ struct LA256_AnalogChannel
|
||||
byte t1b;
|
||||
word ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word LogicalProgramNr;
|
||||
word LogicalProgramNr1;
|
||||
byte t2[4];
|
||||
byte Favorites1;
|
||||
byte t2b[3];
|
||||
@@ -115,7 +115,7 @@ struct LA256_DvbCtChannel
|
||||
byte t1b;
|
||||
word ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word LogicalChannelNumber;
|
||||
word LogicalProgramNr1;
|
||||
byte t2a[4];
|
||||
byte Fav1;
|
||||
byte t2b[3];
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
typedef unsigned char byte;
|
||||
typedef unsigned short word;
|
||||
typedef unsigned int dword;
|
||||
#include "chansort.h"
|
||||
|
||||
struct TLL_HotelSettings
|
||||
{
|
||||
|
||||
Binary file not shown.
@@ -50,7 +50,9 @@ namespace Test.Loader
|
||||
"\t" + (dvbcList != null && dvbcList.Count > 0) +
|
||||
"\t" + serializer.SatChannelLength +
|
||||
"\t" + (satChannelList != null && satChannelList.Count > 0) +
|
||||
"\t" + serializer.HasPresetDvbsChannelNumbers +
|
||||
"\t" + (dvbtList != null && dvbtList.PresetProgramNrCount > 0) +
|
||||
"\t" + (dvbcList != null && dvbcList.PresetProgramNrCount > 0) +
|
||||
"\t" + (satChannelList != null && satChannelList.PresetProgramNrCount > 0) +
|
||||
"\t" + serializer.TvCountryCode;
|
||||
|
||||
string relPath = Path.GetFileName(Path.GetDirectoryName(file))+"\\"+fileName;
|
||||
@@ -61,7 +63,9 @@ namespace Test.Loader
|
||||
"\t" + (dvbtList == null ? 0 : dvbtList.Count) +
|
||||
"\t" + (dvbcList == null ? 0 : dvbcList.Count) +
|
||||
"\t" + (satChannelList == null ? 0 : satChannelList.Count) +
|
||||
"\t" + serializer.HasPresetDvbsChannelNumbers +
|
||||
"\t" + (dvbtList == null ? 0 : dvbtList.PresetProgramNrCount) +
|
||||
"\t" + (dvbcList == null ? 0 : dvbcList.PresetProgramNrCount) +
|
||||
"\t" + (satChannelList == null ? 0 : satChannelList.PresetProgramNrCount) +
|
||||
"\t" + serializer.TvCountryCode +
|
||||
"\t" + serializer.DvbsSymbolRateCorrectionFactor +
|
||||
"\t" + relPath;
|
||||
|
||||
Reference in New Issue
Block a user