mirror of
https://github.com/PredatH0r/ChanSort.git
synced 2026-01-23 23:59:03 +01:00
- support for 2013 LA-series (DVB-S only; deactivating TV-Data File Cleanup when there are preset DVB-S channels)
- support for LH3000 (which has same record size but different layout than all other known LH models) - added various Assistant dialogs - icons updated
This commit is contained in:
@@ -73,6 +73,12 @@
|
||||
<Compile Include="DtvChannel.cs" />
|
||||
<Compile Include="DvbsDataLayout.cs" />
|
||||
<Compile Include="FirmwareData.cs" />
|
||||
<Compile Include="PresetProgramNrDialog.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="PresetProgramNrDialog.Designer.cs">
|
||||
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Resource.de.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
@@ -110,6 +116,12 @@
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="PresetProgramNrDialog.de.resx">
|
||||
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="PresetProgramNrDialog.resx">
|
||||
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="Resource.de.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
|
||||
@@ -146,7 +146,7 @@
|
||||
offAudioPid2 = 170
|
||||
|
||||
[ACTChannelDataMapping:164]
|
||||
; DM and LH series
|
||||
; DM and LH series (except LH3000)
|
||||
reorderChannelData = 1
|
||||
lenName = 40
|
||||
offChannelTransponder = 9, 112
|
||||
@@ -174,6 +174,34 @@
|
||||
offServiceType = 115
|
||||
offAudioPid2 = 158
|
||||
|
||||
[ACTChannelDataMapping:LH3000]
|
||||
; LH3000
|
||||
reorderChannelData = 1
|
||||
lenName = 40
|
||||
offChannelTransponder = 9, 108
|
||||
offProgramNr = 10
|
||||
offFavorites = 18
|
||||
offPcrPid = 20, 152
|
||||
offAudioPid = 22
|
||||
offVideoPid = 24
|
||||
offName = 28, 112
|
||||
offNameLength = 68,111
|
||||
offServiceId = 70,158
|
||||
offOriginalNetworkId = 86
|
||||
offTransportStreamId = 88
|
||||
offFrequencyLong = 96
|
||||
offFavorites2 = 109
|
||||
offDeleted = 109
|
||||
maskDeleted = 0x42
|
||||
offLock =
|
||||
maskLock =
|
||||
offSkip =
|
||||
maskSkip =
|
||||
offHide =
|
||||
maskHide =
|
||||
offServiceType = 160
|
||||
offAudioPid2 = 154
|
||||
|
||||
[DvbsBlock:687880]
|
||||
; everything before LM series (but including LM611S and LM340S)
|
||||
satCount = 64
|
||||
|
||||
@@ -17,8 +17,13 @@ namespace ChanSort.Loader.LG
|
||||
this.InitCommonData(slot, SignalSource.DvbCT, data);
|
||||
this.InitDvbData(data);
|
||||
|
||||
this.ChannelOrTransponder = data.GetByte(_ChannelOrTransponder).ToString("d2");
|
||||
this.FreqInMhz = (decimal)data.GetDword(_FrequencyLong) / 1000;
|
||||
int channel = data.GetByte(_ChannelOrTransponder);
|
||||
this.ChannelOrTransponder = channel.ToString("d2");
|
||||
// ReSharper disable PossibleLossOfFraction
|
||||
this.FreqInMhz = (data.GetDword(_FrequencyLong)+10) / 1000;
|
||||
// ReSharper restore PossibleLossOfFraction
|
||||
if (this.FreqInMhz == 0)
|
||||
this.FreqInMhz = LookupData.Instance.GetDvbtFrequenyForChannel(channel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
124
ChanSort.Loader.TllFile/PresetProgramNrDialog.Designer.cs
generated
Normal file
124
ChanSort.Loader.TllFile/PresetProgramNrDialog.Designer.cs
generated
Normal file
@@ -0,0 +1,124 @@
|
||||
namespace ChanSort.Loader.LG
|
||||
{
|
||||
partial class PresetProgramNrDialog
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PresetProgramNrDialog));
|
||||
this.labelControl1 = new DevExpress.XtraEditors.LabelControl();
|
||||
this.labelControl3 = new DevExpress.XtraEditors.LabelControl();
|
||||
this.labelControl4 = new DevExpress.XtraEditors.LabelControl();
|
||||
this.labelControl5 = new DevExpress.XtraEditors.LabelControl();
|
||||
this.labelControl6 = new DevExpress.XtraEditors.LabelControl();
|
||||
this.labelControl7 = new DevExpress.XtraEditors.LabelControl();
|
||||
this.linkDetails = new System.Windows.Forms.LinkLabel();
|
||||
this.btnOk = new DevExpress.XtraEditors.SimpleButton();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// labelControl1
|
||||
//
|
||||
resources.ApplyResources(this.labelControl1, "labelControl1");
|
||||
this.labelControl1.Appearance.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
|
||||
this.labelControl1.Name = "labelControl1";
|
||||
//
|
||||
// labelControl3
|
||||
//
|
||||
resources.ApplyResources(this.labelControl3, "labelControl3");
|
||||
this.labelControl3.Appearance.Font = ((System.Drawing.Font)(resources.GetObject("labelControl3.Appearance.Font")));
|
||||
this.labelControl3.Appearance.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
|
||||
this.labelControl3.Name = "labelControl3";
|
||||
//
|
||||
// labelControl4
|
||||
//
|
||||
resources.ApplyResources(this.labelControl4, "labelControl4");
|
||||
this.labelControl4.Appearance.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
|
||||
this.labelControl4.Name = "labelControl4";
|
||||
//
|
||||
// labelControl5
|
||||
//
|
||||
resources.ApplyResources(this.labelControl5, "labelControl5");
|
||||
this.labelControl5.Appearance.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
|
||||
this.labelControl5.Name = "labelControl5";
|
||||
//
|
||||
// labelControl6
|
||||
//
|
||||
resources.ApplyResources(this.labelControl6, "labelControl6");
|
||||
this.labelControl6.Appearance.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
|
||||
this.labelControl6.Name = "labelControl6";
|
||||
//
|
||||
// labelControl7
|
||||
//
|
||||
resources.ApplyResources(this.labelControl7, "labelControl7");
|
||||
this.labelControl7.Appearance.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
|
||||
this.labelControl7.Name = "labelControl7";
|
||||
//
|
||||
// linkDetails
|
||||
//
|
||||
resources.ApplyResources(this.linkDetails, "linkDetails");
|
||||
this.linkDetails.Name = "linkDetails";
|
||||
this.linkDetails.TabStop = true;
|
||||
this.linkDetails.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkDetails_LinkClicked);
|
||||
//
|
||||
// btnOk
|
||||
//
|
||||
this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
resources.ApplyResources(this.btnOk, "btnOk");
|
||||
this.btnOk.Name = "btnOk";
|
||||
//
|
||||
// PresetProgramNrDialog
|
||||
//
|
||||
this.AcceptButton = this.btnOk;
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.CancelButton = this.btnOk;
|
||||
this.ControlBox = false;
|
||||
this.Controls.Add(this.btnOk);
|
||||
this.Controls.Add(this.linkDetails);
|
||||
this.Controls.Add(this.labelControl7);
|
||||
this.Controls.Add(this.labelControl6);
|
||||
this.Controls.Add(this.labelControl5);
|
||||
this.Controls.Add(this.labelControl4);
|
||||
this.Controls.Add(this.labelControl3);
|
||||
this.Controls.Add(this.labelControl1);
|
||||
this.Name = "PresetProgramNrDialog";
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private DevExpress.XtraEditors.LabelControl labelControl1;
|
||||
private DevExpress.XtraEditors.LabelControl labelControl3;
|
||||
private DevExpress.XtraEditors.LabelControl labelControl4;
|
||||
private DevExpress.XtraEditors.LabelControl labelControl5;
|
||||
private DevExpress.XtraEditors.LabelControl labelControl6;
|
||||
private DevExpress.XtraEditors.LabelControl labelControl7;
|
||||
private System.Windows.Forms.LinkLabel linkDetails;
|
||||
private DevExpress.XtraEditors.SimpleButton btnOk;
|
||||
}
|
||||
}
|
||||
23
ChanSort.Loader.TllFile/PresetProgramNrDialog.cs
Normal file
23
ChanSort.Loader.TllFile/PresetProgramNrDialog.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using System.Windows.Forms;
|
||||
using DevExpress.XtraEditors;
|
||||
|
||||
namespace ChanSort.Loader.LG
|
||||
{
|
||||
public partial class PresetProgramNrDialog : XtraForm
|
||||
{
|
||||
public PresetProgramNrDialog()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void linkDetails_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
BrowserHelper.OpenUrl(
|
||||
"http://sourceforge.net/p/chansort/wiki/Channels%20disappear%20or%20change%20program%20numbers%20randomly/");
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
}
|
||||
}
|
||||
148
ChanSort.Loader.TllFile/PresetProgramNrDialog.de.resx
Normal file
148
ChanSort.Loader.TllFile/PresetProgramNrDialog.de.resx
Normal file
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<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>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="labelControl1.Text" xml:space="preserve">
|
||||
<value>Diese Datei enthält vordefinierte Programmnummern für Satellitenkanäle.</value>
|
||||
</data>
|
||||
<data name="labelControl3.Text" xml:space="preserve">
|
||||
<value>Aufgrund von Fehlern in der LG Firmware 2009-2013 ist diese Liste instabil!</value>
|
||||
</data>
|
||||
<data name="labelControl4.Text" xml:space="preserve">
|
||||
<value>Um Probleme mit der bearbeiteten Senderliste zu vermeiden, erwägen Sie bitte eine dieser Optionen:</value>
|
||||
</data>
|
||||
<data name="labelControl5.Text" xml:space="preserve">
|
||||
<value>- Sauberen Kanalsuchlauf ausführen (ohne vordefinierte Länder-/Satelliten-/Providerlisten)</value>
|
||||
</data>
|
||||
<data name="labelControl6.Text" xml:space="preserve">
|
||||
<value>- Hotel-Modus aktivieren (muss bereits vor dem Export der Senderliste vom TV auf USB erfolgen)</value>
|
||||
</data>
|
||||
<data name="labelControl7.Text" xml:space="preserve">
|
||||
<value>- ChanSort's "TV-Datei bereinigen" Option aktivieren (nicht unterstützt bei 2013 LA-Serie)</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="linkDetails.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>214, 13</value>
|
||||
</data>
|
||||
<data name="linkDetails.Text" xml:space="preserve">
|
||||
<value>Details hierzu gibt es auf der ChanSort Wiki</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Wichtiger Hinweis</value>
|
||||
</data>
|
||||
</root>
|
||||
379
ChanSort.Loader.TllFile/PresetProgramNrDialog.resx
Normal file
379
ChanSort.Loader.TllFile/PresetProgramNrDialog.resx
Normal file
@@ -0,0 +1,379 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<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>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.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" />
|
||||
<data name="labelControl1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left, Right</value>
|
||||
</data>
|
||||
<assembly alias="DevExpress.XtraEditors.v12.2" name="DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<data name="labelControl1.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v12.2">
|
||||
<value>Vertical</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="labelControl1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>12, 12</value>
|
||||
</data>
|
||||
<data name="labelControl1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>560, 13</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="labelControl1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelControl1.Text" xml:space="preserve">
|
||||
<value>This file contains satellite channels with preset program numbers.</value>
|
||||
</data>
|
||||
<data name=">>labelControl1.Name" xml:space="preserve">
|
||||
<value>labelControl1</value>
|
||||
</data>
|
||||
<data name=">>labelControl1.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>labelControl1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>labelControl1.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="labelControl3.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left, Right</value>
|
||||
</data>
|
||||
<data name="labelControl3.Appearance.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Tahoma, 8.25pt, style=Bold</value>
|
||||
</data>
|
||||
<data name="labelControl3.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v12.2">
|
||||
<value>Vertical</value>
|
||||
</data>
|
||||
<data name="labelControl3.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>12, 41</value>
|
||||
</data>
|
||||
<data name="labelControl3.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>559, 13</value>
|
||||
</data>
|
||||
<data name="labelControl3.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="labelControl3.Text" xml:space="preserve">
|
||||
<value>Because of errors in LG's 2009-2013 firmware this list is unstable!</value>
|
||||
</data>
|
||||
<data name=">>labelControl3.Name" xml:space="preserve">
|
||||
<value>labelControl3</value>
|
||||
</data>
|
||||
<data name=">>labelControl3.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>labelControl3.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>labelControl3.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="labelControl4.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left, Right</value>
|
||||
</data>
|
||||
<data name="labelControl4.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v12.2">
|
||||
<value>Vertical</value>
|
||||
</data>
|
||||
<data name="labelControl4.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>13, 70</value>
|
||||
</data>
|
||||
<data name="labelControl4.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>559, 13</value>
|
||||
</data>
|
||||
<data name="labelControl4.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="labelControl4.Text" xml:space="preserve">
|
||||
<value>To prevent problems with your edited channel list please consider one of these options:</value>
|
||||
</data>
|
||||
<data name=">>labelControl4.Name" xml:space="preserve">
|
||||
<value>labelControl4</value>
|
||||
</data>
|
||||
<data name=">>labelControl4.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>labelControl4.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>labelControl4.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="labelControl5.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left, Right</value>
|
||||
</data>
|
||||
<data name="labelControl5.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v12.2">
|
||||
<value>Vertical</value>
|
||||
</data>
|
||||
<data name="labelControl5.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>31, 87</value>
|
||||
</data>
|
||||
<data name="labelControl5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>541, 13</value>
|
||||
</data>
|
||||
<data name="labelControl5.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="labelControl5.Text" xml:space="preserve">
|
||||
<value>- Run a clean channel search (without predefined country / satellite / provider lists)</value>
|
||||
</data>
|
||||
<data name=">>labelControl5.Name" xml:space="preserve">
|
||||
<value>labelControl5</value>
|
||||
</data>
|
||||
<data name=">>labelControl5.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>labelControl5.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>labelControl5.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="labelControl6.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left, Right</value>
|
||||
</data>
|
||||
<data name="labelControl6.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v12.2">
|
||||
<value>Vertical</value>
|
||||
</data>
|
||||
<data name="labelControl6.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>31, 122</value>
|
||||
</data>
|
||||
<data name="labelControl6.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>541, 13</value>
|
||||
</data>
|
||||
<data name="labelControl6.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="labelControl6.Text" xml:space="preserve">
|
||||
<value>- Enable Hotel-Mode (must be done before exporting the channel list from your TV)</value>
|
||||
</data>
|
||||
<data name=">>labelControl6.Name" xml:space="preserve">
|
||||
<value>labelControl6</value>
|
||||
</data>
|
||||
<data name=">>labelControl6.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>labelControl6.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>labelControl6.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="labelControl7.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left, Right</value>
|
||||
</data>
|
||||
<data name="labelControl7.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v12.2">
|
||||
<value>Vertical</value>
|
||||
</data>
|
||||
<data name="labelControl7.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>31, 104</value>
|
||||
</data>
|
||||
<data name="labelControl7.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>541, 13</value>
|
||||
</data>
|
||||
<data name="labelControl7.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="labelControl7.Text" xml:space="preserve">
|
||||
<value>- Enable ChanSort's "Cleanup TV Data File" option (not supported for LA-series)</value>
|
||||
</data>
|
||||
<data name=">>labelControl7.Name" xml:space="preserve">
|
||||
<value>labelControl7</value>
|
||||
</data>
|
||||
<data name=">>labelControl7.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>labelControl7.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>labelControl7.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="linkDetails.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="linkDetails.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>13, 156</value>
|
||||
</data>
|
||||
<data name="linkDetails.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>165, 13</value>
|
||||
</data>
|
||||
<data name="linkDetails.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="linkDetails.Text" xml:space="preserve">
|
||||
<value>See the ChanSort Wiki for details</value>
|
||||
</data>
|
||||
<data name=">>linkDetails.Name" xml:space="preserve">
|
||||
<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>
|
||||
</data>
|
||||
<data name=">>linkDetails.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>linkDetails.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="btnOk.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>254, 202</value>
|
||||
</data>
|
||||
<data name="btnOk.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 23</value>
|
||||
</data>
|
||||
<data name="btnOk.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="btnOk.Text" xml:space="preserve">
|
||||
<value>Ok</value>
|
||||
</data>
|
||||
<data name=">>btnOk.Name" xml:space="preserve">
|
||||
<value>btnOk</value>
|
||||
</data>
|
||||
<data name=">>btnOk.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>btnOk.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>btnOk.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">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||
<value>6, 13</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>584, 237</value>
|
||||
</data>
|
||||
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
|
||||
<value>CenterScreen</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Important Notice</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>PresetProgramNrDialog</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -0,0 +1 @@
|
||||
DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
|
||||
@@ -6,8 +6,10 @@ 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)
|
||||
{
|
||||
@@ -18,6 +20,7 @@ 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;
|
||||
@@ -36,10 +39,11 @@ namespace ChanSort.Loader.LG
|
||||
public override void UpdateRawData()
|
||||
{
|
||||
base.UpdateRawData();
|
||||
|
||||
// bool deleted = this.NewProgramNr == 0;
|
||||
// if (deleted)
|
||||
// mapping.SetWord(_SatConfigIndex, 0xFFFF);
|
||||
#if false
|
||||
bool deleted = this.NewProgramNr == -1;
|
||||
if (deleted)
|
||||
mapping.SetWord(_SatConfigIndex, 0xFFFF);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using ChanSort.Api;
|
||||
using DevExpress.XtraEditors;
|
||||
|
||||
namespace ChanSort.Loader.LG
|
||||
{
|
||||
@@ -63,6 +64,7 @@ namespace ChanSort.Loader.LG
|
||||
private int deletedChannelsHard;
|
||||
private int deletedChannelsSoft;
|
||||
private int dvbsChannelsAtPr0;
|
||||
private int presetChannels;
|
||||
|
||||
private bool removeDeletedActChannels = false;
|
||||
|
||||
@@ -101,9 +103,9 @@ namespace ChanSort.Loader.LG
|
||||
foreach (var section in ini.Sections)
|
||||
{
|
||||
int idx = section.Name.IndexOf(":");
|
||||
int recordLength = idx < 0 ? 0 : int.Parse(section.Name.Substring(idx + 1));
|
||||
string recordLength = idx < 0 ? "" : section.Name.Substring(idx + 1);
|
||||
if (section.Name.StartsWith("DvbsBlock"))
|
||||
this.satConfigs.Add(recordLength, new DvbsDataLayout(section));
|
||||
this.satConfigs.Add(int.Parse(recordLength), new DvbsDataLayout(section));
|
||||
else if (section.Name.StartsWith("ACTChannelDataMapping"))
|
||||
actMappings.AddMapping(recordLength, new DataMapping(section));
|
||||
else if (section.Name.StartsWith("SatChannelDataMapping"))
|
||||
@@ -138,9 +140,7 @@ namespace ChanSort.Loader.LG
|
||||
this.ReadDvbCtChannels(ref off);
|
||||
this.ReadDvbSBlock(ref off);
|
||||
this.ReadSettingsBlock(ref off);
|
||||
|
||||
if (this.EraseDuplicateChannels)
|
||||
this.CleanUpChannelData();
|
||||
this.CleanUpChannelData();
|
||||
|
||||
#if STORE_DVBS_CHANNELS_IN_DATABASE
|
||||
this.StoreToDatabase();
|
||||
@@ -245,7 +245,10 @@ namespace ChanSort.Loader.LG
|
||||
if (channelCount == 0) return;
|
||||
|
||||
recordSize = GetActChannelRecordSize(off, blockSize, channelCount);
|
||||
var actMapping = this.actMappings.GetMapping(recordSize);
|
||||
var key = (Path.GetFileNameWithoutExtension(this.FileName) ?? "").ToUpper().StartsWith("XXLH3000")
|
||||
? "LH3000"
|
||||
: recordSize.ToString();
|
||||
var actMapping = this.actMappings.GetMapping(key);
|
||||
this.reorderPhysically = actMapping.Settings.GetInt("reorderChannelData") != 0;
|
||||
|
||||
for (int i = 0; i < channelCount; i++)
|
||||
@@ -454,6 +457,9 @@ 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)
|
||||
@@ -560,6 +566,18 @@ namespace ChanSort.Loader.LG
|
||||
#region CleanUpChannelData()
|
||||
public override string CleanUpChannelData()
|
||||
{
|
||||
if (this.satConfig == null)
|
||||
return "";
|
||||
|
||||
if (!this.EraseDuplicateChannels || this.satConfig.dvbsChannelLength >= 92 /* LA series */)
|
||||
{
|
||||
if (this.presetChannels > 0)
|
||||
{
|
||||
new PresetProgramNrDialog().ShowDialog();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
this.ResetChannelInformationInTransponderData();
|
||||
|
||||
byte[] sortedChannels = new byte[this.satConfig.dvbsMaxChannelCount*this.satConfig.dvbsChannelLength];
|
||||
@@ -755,7 +773,8 @@ namespace ChanSort.Loader.LG
|
||||
file.Write(fileContent, this.dvbsBlockOffset, this.dvbsBlockSize + 4);
|
||||
|
||||
// rest (including settings)
|
||||
file.Write(fileContent, this.settingsBlockOffset, fileContent.Length - this.settingsBlockOffset);
|
||||
if (this.settingsBlockOffset != 0)
|
||||
file.Write(fileContent, this.settingsBlockOffset, fileContent.Length - this.settingsBlockOffset);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
@@ -890,6 +909,7 @@ 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");
|
||||
|
||||
Reference in New Issue
Block a user