- fix: symbol rate corrupted on LG LA/LN models

- disable LG sat channel list editing when preset program numbers are present
This commit is contained in:
hbeham
2013-05-16 21:06:44 +02:00
parent 0d03481232
commit d8902a8b5a
14 changed files with 638 additions and 286 deletions

View File

@@ -19,6 +19,9 @@ namespace ChanSort.Api
#region Load()
public string Load(string fileName, DataRoot root, ChannelList list)
{
if (list.ReadOnly)
return "The current channel list is read-only";
this.lineNumber = 0;
this.dataRoot = root;
this.channelList = list;

View File

@@ -133,7 +133,7 @@ namespace ChanSort.Api
private ChannelList GetInitiallyClearedChannelList(SignalSource signalSource)
{
var channelList = dataRoot.GetChannelList(signalSource);
if (channelList == null)
if (channelList == null || channelList.ReadOnly)
return null;
if (!this.clearedLists.Contains(channelList))
{

View File

@@ -28,6 +28,7 @@ namespace ChanSort.Api
public int Count { get { return channels.Count; } }
public int DuplicateUidCount { get { return duplicateUidCount; } }
public int DuplicateProgNrCount { get { return duplicateProgNrCount; } }
public bool ReadOnly { get; set; }
#region Caption
public string Caption

View File

@@ -37,42 +37,74 @@
this.labelControl7 = new DevExpress.XtraEditors.LabelControl();
this.linkDetails = new System.Windows.Forms.LinkLabel();
this.btnOk = new DevExpress.XtraEditors.SimpleButton();
this.labelControl2 = new DevExpress.XtraEditors.LabelControl();
this.SuspendLayout();
//
// labelControl1
//
resources.ApplyResources(this.labelControl1, "labelControl1");
this.labelControl1.Appearance.DisabledImage = ((System.Drawing.Image)(resources.GetObject("labelControl1.Appearance.DisabledImage")));
this.labelControl1.Appearance.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("labelControl1.Appearance.GradientMode")));
this.labelControl1.Appearance.HoverImage = ((System.Drawing.Image)(resources.GetObject("labelControl1.Appearance.HoverImage")));
this.labelControl1.Appearance.Image = ((System.Drawing.Image)(resources.GetObject("labelControl1.Appearance.Image")));
this.labelControl1.Appearance.PressedImage = ((System.Drawing.Image)(resources.GetObject("labelControl1.Appearance.PressedImage")));
this.labelControl1.Appearance.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
this.labelControl1.Name = "labelControl1";
//
// labelControl3
//
resources.ApplyResources(this.labelControl3, "labelControl3");
this.labelControl3.Appearance.DisabledImage = ((System.Drawing.Image)(resources.GetObject("labelControl3.Appearance.DisabledImage")));
this.labelControl3.Appearance.Font = ((System.Drawing.Font)(resources.GetObject("labelControl3.Appearance.Font")));
this.labelControl3.Appearance.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("labelControl3.Appearance.GradientMode")));
this.labelControl3.Appearance.HoverImage = ((System.Drawing.Image)(resources.GetObject("labelControl3.Appearance.HoverImage")));
this.labelControl3.Appearance.Image = ((System.Drawing.Image)(resources.GetObject("labelControl3.Appearance.Image")));
this.labelControl3.Appearance.PressedImage = ((System.Drawing.Image)(resources.GetObject("labelControl3.Appearance.PressedImage")));
this.labelControl3.Appearance.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
this.labelControl3.Name = "labelControl3";
//
// labelControl4
//
resources.ApplyResources(this.labelControl4, "labelControl4");
this.labelControl4.Appearance.DisabledImage = ((System.Drawing.Image)(resources.GetObject("labelControl4.Appearance.DisabledImage")));
this.labelControl4.Appearance.Font = ((System.Drawing.Font)(resources.GetObject("labelControl4.Appearance.Font")));
this.labelControl4.Appearance.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("labelControl4.Appearance.GradientMode")));
this.labelControl4.Appearance.HoverImage = ((System.Drawing.Image)(resources.GetObject("labelControl4.Appearance.HoverImage")));
this.labelControl4.Appearance.Image = ((System.Drawing.Image)(resources.GetObject("labelControl4.Appearance.Image")));
this.labelControl4.Appearance.PressedImage = ((System.Drawing.Image)(resources.GetObject("labelControl4.Appearance.PressedImage")));
this.labelControl4.Appearance.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
this.labelControl4.Name = "labelControl4";
//
// labelControl5
//
resources.ApplyResources(this.labelControl5, "labelControl5");
this.labelControl5.Appearance.DisabledImage = ((System.Drawing.Image)(resources.GetObject("labelControl5.Appearance.DisabledImage")));
this.labelControl5.Appearance.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("labelControl5.Appearance.GradientMode")));
this.labelControl5.Appearance.HoverImage = ((System.Drawing.Image)(resources.GetObject("labelControl5.Appearance.HoverImage")));
this.labelControl5.Appearance.Image = ((System.Drawing.Image)(resources.GetObject("labelControl5.Appearance.Image")));
this.labelControl5.Appearance.PressedImage = ((System.Drawing.Image)(resources.GetObject("labelControl5.Appearance.PressedImage")));
this.labelControl5.Appearance.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
this.labelControl5.Name = "labelControl5";
//
// labelControl6
//
resources.ApplyResources(this.labelControl6, "labelControl6");
this.labelControl6.Appearance.DisabledImage = ((System.Drawing.Image)(resources.GetObject("labelControl6.Appearance.DisabledImage")));
this.labelControl6.Appearance.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("labelControl6.Appearance.GradientMode")));
this.labelControl6.Appearance.HoverImage = ((System.Drawing.Image)(resources.GetObject("labelControl6.Appearance.HoverImage")));
this.labelControl6.Appearance.Image = ((System.Drawing.Image)(resources.GetObject("labelControl6.Appearance.Image")));
this.labelControl6.Appearance.PressedImage = ((System.Drawing.Image)(resources.GetObject("labelControl6.Appearance.PressedImage")));
this.labelControl6.Appearance.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
this.labelControl6.Name = "labelControl6";
//
// labelControl7
//
resources.ApplyResources(this.labelControl7, "labelControl7");
this.labelControl7.Appearance.DisabledImage = ((System.Drawing.Image)(resources.GetObject("labelControl7.Appearance.DisabledImage")));
this.labelControl7.Appearance.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("labelControl7.Appearance.GradientMode")));
this.labelControl7.Appearance.HoverImage = ((System.Drawing.Image)(resources.GetObject("labelControl7.Appearance.HoverImage")));
this.labelControl7.Appearance.Image = ((System.Drawing.Image)(resources.GetObject("labelControl7.Appearance.Image")));
this.labelControl7.Appearance.PressedImage = ((System.Drawing.Image)(resources.GetObject("labelControl7.Appearance.PressedImage")));
this.labelControl7.Appearance.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
this.labelControl7.Name = "labelControl7";
//
@@ -85,10 +117,21 @@
//
// btnOk
//
this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK;
resources.ApplyResources(this.btnOk, "btnOk");
this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnOk.Name = "btnOk";
//
// labelControl2
//
resources.ApplyResources(this.labelControl2, "labelControl2");
this.labelControl2.Appearance.DisabledImage = ((System.Drawing.Image)(resources.GetObject("labelControl2.Appearance.DisabledImage")));
this.labelControl2.Appearance.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("labelControl2.Appearance.GradientMode")));
this.labelControl2.Appearance.HoverImage = ((System.Drawing.Image)(resources.GetObject("labelControl2.Appearance.HoverImage")));
this.labelControl2.Appearance.Image = ((System.Drawing.Image)(resources.GetObject("labelControl2.Appearance.Image")));
this.labelControl2.Appearance.PressedImage = ((System.Drawing.Image)(resources.GetObject("labelControl2.Appearance.PressedImage")));
this.labelControl2.Appearance.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
this.labelControl2.Name = "labelControl2";
//
// PresetProgramNrDialog
//
this.AcceptButton = this.btnOk;
@@ -96,6 +139,7 @@
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.btnOk;
this.ControlBox = false;
this.Controls.Add(this.labelControl2);
this.Controls.Add(this.btnOk);
this.Controls.Add(this.linkDetails);
this.Controls.Add(this.labelControl7);
@@ -120,5 +164,6 @@
private DevExpress.XtraEditors.LabelControl labelControl7;
private System.Windows.Forms.LinkLabel linkDetails;
private DevExpress.XtraEditors.SimpleButton btnOk;
private DevExpress.XtraEditors.LabelControl labelControl2;
}
}

View File

@@ -117,31 +117,140 @@
<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>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="labelControl1.Appearance.DisabledImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="labelControl1.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="labelControl1.Appearance.HoverImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl1.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl1.Appearance.PressedImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl1.Text" xml:space="preserve">
<value>Diese Datei enthält vordefinierte Programmnummern für Satellitenkanäle. Aufgrund von Eigenheiten der aktuellen LG Firmware können solche Listen nicht zuverlässig verändert werden.</value>
</data>
<data name="labelControl3.Appearance.DisabledImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl3.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="labelControl3.Appearance.HoverImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl3.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl3.Appearance.PressedImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl3.Text" xml:space="preserve">
<value>Die Bearbeitung der Satelliten-Senderliste wurde gesperrt!</value>
</data>
<data name="labelControl4.Appearance.DisabledImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl4.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="labelControl4.Appearance.HoverImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl4.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl4.Appearance.PressedImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl4.Text" xml:space="preserve">
<value>Um die Liste zu bearbeiten, muss ein sauberer Vollsuchlauf ausgeführt werden:</value>
</data>
<data name="labelControl5.Appearance.DisabledImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl5.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="labelControl5.Appearance.HoverImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl5.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl5.Appearance.PressedImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl5.Text" xml:space="preserve">
<value>- Behalten Sie eine Kopie dieser TLL-Datei, um sie eventuell später als Referenzdatei zu verwenden</value>
</data>
<data name="labelControl6.Appearance.DisabledImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl6.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="labelControl6.Appearance.HoverImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl6.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl6.Appearance.PressedImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl6.Text" xml:space="preserve">
<value>- Führen Sie einen automatischen Suchlauf mit den Optionen "Voll", "Keiner", "Blindsuche" aus</value>
</data>
<data name="labelControl7.Appearance.DisabledImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl7.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="labelControl7.Appearance.HoverImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl7.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl7.Appearance.PressedImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl7.Text" xml:space="preserve">
<value>- Führen Sie am TV die Funktion "Werkseinstellung" aus</value>
</data>
<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="labelControl2.Appearance.DisabledImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl2.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="labelControl2.Appearance.HoverImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl2.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl2.Appearance.PressedImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl2.Text" xml:space="preserve">
<value>- Speichern Sie die neue Liste auf USB und öffnen Sie sie mit ChanSort</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Wichtiger Hinweis</value>
</data>

View File

@@ -117,263 +117,407 @@
<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>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="labelControl4.Size" type="System.Drawing.Size, System.Drawing">
<value>559, 13</value>
</data>
<data name="&gt;&gt;labelControl7.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="labelControl4.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="linkDetails.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;labelControl5.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="labelControl2.Text" xml:space="preserve">
<value>- Save the new list to USB and open it with ChanSort</value>
</data>
<data name="&gt;&gt;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="btnOk.Location" type="System.Drawing.Point, System.Drawing">
<value>254, 224</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;labelControl2.ZOrder" xml:space="preserve">
<value>0</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="&gt;&gt;labelControl1.Name" xml:space="preserve">
<value>labelControl1</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;labelControl1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;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">
<data name="labelControl4.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>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="labelControl2.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl3.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 41</value>
<data name="labelControl1.Appearance.DisabledImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<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="&gt;&gt;labelControl3.Name" xml:space="preserve">
<value>labelControl3</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;labelControl3.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;labelControl4.Name" xml:space="preserve">
<value>labelControl4</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;labelControl4.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;labelControl5.Name" xml:space="preserve">
<value>labelControl5</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;labelControl5.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;labelControl5.ZOrder" xml:space="preserve">
<value>4</value>
<data name="labelControl7.Appearance.PressedImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<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="&gt;&gt;labelControl6.Name" xml:space="preserve">
<value>labelControl6</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;labelControl6.Parent" xml:space="preserve">
<data name="&gt;&gt;labelControl3.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;labelControl7.Name" xml:space="preserve">
<value>labelControl7</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;labelControl7.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;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 name="&gt;&gt;$this.Name" xml:space="preserve">
<value>PresetProgramNrDialog</value>
</data>
<data name="linkDetails.Text" xml:space="preserve">
<value>See the ChanSort Wiki for details</value>
<data name="&gt;&gt;labelControl4.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="labelControl2.Appearance.HoverImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl2.Appearance.DisabledImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl4.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="labelControl3.Location" type="System.Drawing.Point, System.Drawing">
<value>11, 21</value>
</data>
<data name="labelControl3.Text" xml:space="preserve">
<value>Editing of the satellite channel list is disabled!</value>
</data>
<data name="&gt;&gt;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="labelControl4.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl1.Text" xml:space="preserve">
<value>This file contains preset program numbers for satellite channels. Due to issues with most recent LG firmwares such lists can no longer be modified reliably.</value>
</data>
<data name="labelControl3.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="&gt;&gt;labelControl3.Name" xml:space="preserve">
<value>labelControl3</value>
</data>
<data name="labelControl3.Size" type="System.Drawing.Size, System.Drawing">
<value>559, 13</value>
</data>
<data name="labelControl4.Appearance.PressedImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl7.Location" type="System.Drawing.Point, System.Drawing">
<value>30, 122</value>
</data>
<data name="&gt;&gt;labelControl2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;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="labelControl4.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v12.2">
<value>Vertical</value>
</data>
<data name="labelControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>560, 26</value>
</data>
<data name="linkDetails.Location" type="System.Drawing.Point, System.Drawing">
<value>9, 199</value>
</data>
<data name="labelControl3.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="&gt;&gt;labelControl6.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="labelControl2.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="labelControl1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="labelControl6.Appearance.DisabledImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl5.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v12.2">
<value>Vertical</value>
</data>
<data name="labelControl4.Appearance.DisabledImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl2.Location" type="System.Drawing.Point, System.Drawing">
<value>29, 159</value>
</data>
<data name="&gt;&gt;labelControl5.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;labelControl5.Name" xml:space="preserve">
<value>labelControl5</value>
</data>
<data name="labelControl6.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="&gt;&gt;labelControl1.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="labelControl2.Size" type="System.Drawing.Size, System.Drawing">
<value>541, 13</value>
</data>
<data name="labelControl2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="labelControl5.Location" type="System.Drawing.Point, System.Drawing">
<value>30, 105</value>
</data>
<data name="labelControl7.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v12.2">
<value>Vertical</value>
</data>
<data name="labelControl6.Location" type="System.Drawing.Point, System.Drawing">
<value>30, 140</value>
</data>
<data name="&gt;&gt;linkDetails.Name" xml:space="preserve">
<value>linkDetails</value>
</data>
<data name="&gt;&gt;linkDetails.Type" xml:space="preserve">
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="labelControl7.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="&gt;&gt;linkDetails.Parent" xml:space="preserve">
<data name="labelControl6.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v12.2">
<value>Vertical</value>
</data>
<data name="btnOk.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="labelControl6.Appearance.PressedImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl4.Appearance.HoverImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl1.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="labelControl4.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="labelControl7.Text" xml:space="preserve">
<value>- Execute a Factory Reset on your TV</value>
</data>
<data name="labelControl2.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v12.2">
<value>Vertical</value>
</data>
<data name="linkDetails.Text" xml:space="preserve">
<value>See the ChanSort Wiki for details</value>
</data>
<data name="&gt;&gt;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="labelControl6.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="&gt;&gt;labelControl6.Name" xml:space="preserve">
<value>labelControl6</value>
</data>
<data name="labelControl3.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="labelControl3.Appearance.PressedImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl7.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="labelControl2.Appearance.PressedImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl7.Size" type="System.Drawing.Size, System.Drawing">
<value>541, 13</value>
</data>
<data name="labelControl4.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 88</value>
</data>
<data name="&gt;&gt;labelControl7.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;linkDetails.ZOrder" xml:space="preserve">
<value>1</value>
<data name="labelControl5.Appearance.DisabledImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="btnOk.Location" type="System.Drawing.Point, System.Drawing">
<value>254, 202</value>
<data name="&gt;&gt;labelControl6.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="btnOk.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
<data name="&gt;&gt;labelControl7.Name" xml:space="preserve">
<value>labelControl7</value>
</data>
<data name="btnOk.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
<data name="labelControl3.Appearance.HoverImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="btnOk.Text" xml:space="preserve">
<value>Ok</value>
</data>
<data name="&gt;&gt;btnOk.Name" xml:space="preserve">
<value>btnOk</value>
</data>
<data name="&gt;&gt;btnOk.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
<data name="linkDetails.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="&gt;&gt;btnOk.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;btnOk.ZOrder" xml:space="preserve">
<value>0</value>
<data name="labelControl5.Appearance.HoverImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<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 name="labelControl6.Text" xml:space="preserve">
<value>- Execute an automatic channel search with options "Full", "None" and "Blind search"</value>
</data>
<data name="labelControl1.Appearance.HoverImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="&gt;&gt;btnOk.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="labelControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 49</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>584, 237</value>
<value>584, 262</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterScreen</value>
<data name="labelControl7.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="&gt;&gt;labelControl4.Name" xml:space="preserve">
<value>labelControl4</value>
</data>
<data name="labelControl7.Appearance.HoverImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="btnOk.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="&gt;&gt;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="labelControl7.Appearance.DisabledImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="&gt;&gt;labelControl1.Name" xml:space="preserve">
<value>labelControl1</value>
</data>
<data name="labelControl1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="labelControl1.Appearance.PressedImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="&gt;&gt;labelControl1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Important Notice</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>PresetProgramNrDialog</value>
<data name="labelControl5.Text" xml:space="preserve">
<value>- Keep a copy of the current TLL file if you want to use it as a reference list later</value>
</data>
<data name="labelControl3.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v12.2">
<value>Vertical</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterScreen</value>
</data>
<data name="&gt;&gt;labelControl3.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="labelControl2.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="&gt;&gt;labelControl4.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="btnOk.Text" xml:space="preserve">
<value>Ok</value>
</data>
<data name="&gt;&gt;linkDetails.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="labelControl5.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="labelControl5.Size" type="System.Drawing.Size, System.Drawing">
<value>541, 13</value>
</data>
<data name="labelControl5.Appearance.PressedImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="&gt;&gt;btnOk.Name" xml:space="preserve">
<value>btnOk</value>
</data>
<data name="labelControl3.Appearance.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 8.25pt, style=Bold</value>
</data>
<data name="labelControl1.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl6.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="labelControl3.Appearance.DisabledImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl5.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;linkDetails.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="btnOk.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="labelControl5.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="&gt;&gt;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="&gt;&gt;labelControl2.Name" xml:space="preserve">
<value>labelControl2</value>
</data>
<data name="labelControl4.Text" xml:space="preserve">
<value>To enable editing you must first run a clean full channel search:</value>
</data>
<data name="labelControl7.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="labelControl6.Appearance.HoverImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="labelControl6.Size" type="System.Drawing.Size, System.Drawing">
<value>541, 13</value>
</data>
<data name="&gt;&gt;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="labelControl5.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="labelControl3.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="&gt;&gt;labelControl2.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="&gt;&gt;$this.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>de</value>
</metadata>
</root>

View File

@@ -1,7 +1,4 @@
#define SYMBOL_RATE_ROUNDING
using System.Globalization;
using ChanSort.Api;
using ChanSort.Api;
namespace ChanSort.Loader.LG
{
@@ -37,13 +34,8 @@ namespace ChanSort.Loader.LG
this.TransportStreamId = mapping.GetWord(_TransportStreamId);
this.symbolRate = mapping.GetWord(_SymbolRate);
#if SYMBOL_RATE_ROUNDING
if (this.symbolRate%100 >= 95)
{
this.symbolRate = (this.symbolRate/100 + 1)*100;
mapping.SetWord(_SymbolRate, (mapping.GetWord(_SymbolRate) & 0x8000) + this.symbolRate);
}
#endif
// 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);
@@ -83,14 +75,7 @@ namespace ChanSort.Loader.LG
public override int SymbolRate
{
get { return symbolRate; }
set
{
#if false
mapping.SetDataPtr(this.data, this.offset);
mapping.SetWord(_SymbolRate, value);
#endif
this.symbolRate = value;
}
set { this.symbolRate = value; }
}
}
}

View File

@@ -135,10 +135,19 @@ namespace ChanSort.Loader.LG
this.ReadFirmwareDataBlock(ref off);
this.ReadDvbCtChannels(ref off);
this.ReadDvbSBlock(ref off);
this.ReadSettingsBlock(ref off);
this.ReadSettingsBlock(ref off);
if (this.presetChannels > 0 && !IsTesting)
new PresetProgramNrDialog().ShowDialog();
if (this.presetChannels > 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 STORE_DVBS_CHANNELS_IN_DATABASE
this.StoreToDatabase();

View File

@@ -4,6 +4,7 @@ namespace ChanSort.Loader.Samsung
{
internal class ModelConstants
{
public readonly string series;
public readonly int dvbsSatelliteLength;
public readonly int dvbsTransponderLength;
public readonly int dvbsChannelLength;
@@ -18,6 +19,7 @@ namespace ChanSort.Loader.Samsung
public ModelConstants(IniFile.Section iniSection)
{
this.series = iniSection.Name.Substring(iniSection.Name.Length - 1);
this.avbtChannelLength = iniSection.GetInt("map-AirA");
this.dvbtChannelLength = iniSection.GetInt("map-AirD");
this.dvbsChannelLength = iniSection.GetInt("map-SateD");

View File

@@ -560,5 +560,13 @@ namespace ChanSort.Loader.Samsung
"Device Settings",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
// ------- testing -----------
internal string Series { get { return c.series; } }
internal int AnalogChannelLength { get { return c.avbtChannelLength; } }
internal int DigitalChannelLength { get { return c.dvbtChannelLength; } }
internal int SatChannelLength { get { return c.dvbsChannelLength; } }
internal int HdPlusChannelLength { get { return c.hdplusChannelLength; } }
}
}

View File

@@ -1494,7 +1494,6 @@
this.Name = "MainForm";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
this.Load += new System.EventHandler(this.MainForm_Load);
this.Shown += new System.EventHandler(this.MainForm_Shown);
((System.ComponentModel.ISupportInitialize)(this.splitContainerControl1)).EndInit();
this.splitContainerControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.grpOutputList)).EndInit();

View File

@@ -24,7 +24,7 @@ namespace ChanSort.Ui
{
public partial class MainForm : XtraForm
{
public const string AppVersion = "v2013-05-11";
public const string AppVersion = "v2013-05-16";
private const int MaxMruEntries = 5;
@@ -297,7 +297,6 @@ namespace ChanSort.Ui
}
}
regex += "]*";
this.btnToggleFavE.Enabled = (favorites & Favorites.E) != 0;
this.repositoryItemCheckedComboBoxEdit1.Mask.EditMask = regex;
this.repositoryItemCheckedComboBoxEdit2.Mask.EditMask = regex;
}
@@ -429,7 +428,7 @@ namespace ChanSort.Ui
if (File.Exists(path))
{
dlg.InitialDirectory = dir;
dlg.FileName = path; // file;
dlg.FileName = file; // path
}
else
{
@@ -525,7 +524,12 @@ namespace ChanSort.Ui
if (gviewLeft.IsValidRowHandle(0))
this.SelectFocusedRow(this.gviewLeft, 0);
bool allowEdit = channelList != null && !channelList.ReadOnly;
this.gviewLeft.OptionsBehavior.Editable = allowEdit;
this.gviewRight.OptionsBehavior.Editable = allowEdit;
this.UpdateInsertSlotTextBox();
this.UpdateMenu();
}
#endregion
@@ -536,7 +540,8 @@ namespace ChanSort.Ui
string extension = Path.GetExtension(this.currentTvSerializer.FileName) ?? ".";
using (SaveFileDialog dlg = new SaveFileDialog())
{
dlg.FileName = this.currentTvFile;
dlg.InitialDirectory = Path.GetDirectoryName(this.currentTvFile);
dlg.FileName = Path.GetFileName(this.currentTvFile);
dlg.AddExtension = true;
dlg.DefaultExt = extension;
dlg.Filter = string.Format(Resources.MainForm_FileDialog_SaveFileFilter, extension);
@@ -1061,6 +1066,7 @@ namespace ChanSort.Ui
private bool GetGridColumnVisibility(GridColumn col, SignalSource source)
{
if (col == this.colChannelOrTransponder) return (source & SignalSource.Sat) == 0;
if (col == this.colShortName) return (source & SignalSource.Digital) != 0;
if (col == this.colEncrypted) return (source & SignalSource.Digital) != 0;
if (col == this.colServiceId) return (source & SignalSource.Digital) != 0;
@@ -1166,6 +1172,22 @@ namespace ChanSort.Ui
{
bool fileLoaded = this.dataRoot != null;
bool isRight = this.lastFocusedGrid == this.gviewRight;
bool mayEdit = fileLoaded && this.currentChannelList != null && !this.currentChannelList.ReadOnly;
foreach (BarItemLink link in this.miEdit.ItemLinks)
link.Item.Enabled = mayEdit;
this.btnAdd.Enabled = mayEdit;
this.btnAddAll.Enabled = mayEdit;
this.btnRemoveLeft.Enabled = mayEdit;
this.btnRemoveRight.Enabled = mayEdit;
this.btnRenum.Enabled = mayEdit;
this.btnToggleFavA.Enabled = mayEdit && (this.dataRoot.SupportedFavorites & Favorites.A) != 0;
this.btnToggleFavB.Enabled = mayEdit && (this.dataRoot.SupportedFavorites & Favorites.B) != 0;
this.btnToggleFavC.Enabled = mayEdit && (this.dataRoot.SupportedFavorites & Favorites.C) != 0;
this.btnToggleFavD.Enabled = mayEdit && (this.dataRoot.SupportedFavorites & Favorites.D) != 0;
this.btnToggleFavE.Enabled = mayEdit && (this.dataRoot.SupportedFavorites & Favorites.E) != 0;
this.btnToggleLock.Enabled = mayEdit;
this.miReload.Enabled = fileLoaded;
this.miFileInformation.Enabled = fileLoaded;
@@ -1189,7 +1211,8 @@ namespace ChanSort.Ui
var sel = this.gviewLeft.GetSelectedRows();
var channel = sel.Length == 0 ? null : (ChannelInfo) this.gviewRight.GetRow(sel[0]);
this.miMoveUp.Enabled = channel != null && channel.NewProgramNr > 1;
this.miMoveUp.Enabled = this.btnUp.Enabled = mayEdit && channel != null && channel.NewProgramNr > this.currentChannelList.FirstProgramNumber;
this.miMoveDown.Enabled = this.btnDown.Enabled = mayEdit;
this.miTvSettings.Enabled = this.currentTvSerializer != null;
this.miCleanupChannels.Visibility = this.currentTvSerializer != null &&
@@ -1397,18 +1420,6 @@ namespace ChanSort.Ui
}
#endregion
#region MainForm_Shown
private void MainForm_Shown(object sender, EventArgs e)
{
try
{
if (this.mruFiles.Count > 0 && File.Exists(this.mruFiles[0]))
this.LoadFiles(null, this.mruFiles[0]);
}
catch (Exception ex) { HandleException(ex); }
}
#endregion
// -- menus
#region File menu
@@ -1755,7 +1766,7 @@ namespace ChanSort.Ui
{
if (this.gviewRight.ActiveEditor != null)
return;
if (e.KeyCode == Keys.Enter)
if (e.KeyCode == Keys.Enter && this.currentChannelList !=null && !this.currentChannelList.ReadOnly)
{
TryExecute(this.AddChannels);
e.Handled = true;
@@ -1908,6 +1919,8 @@ namespace ChanSort.Ui
#region gridLeft_ProcessGridKey
private void gridLeft_ProcessGridKey(object sender, KeyEventArgs e)
{
if (this.currentChannelList != null && this.currentChannelList.ReadOnly)
return;
if (gviewLeft.ActiveEditor != null)
return;
if (e.KeyCode == Keys.Delete)

View File

@@ -51,11 +51,40 @@ namespace Test.Loader
serializer.Load();
var fileName = Path.GetFileName(file) ?? "";
string key = fileName.StartsWith("channel_list_") ? fileName.Substring(13, fileName.IndexOf('_',14)-13) : fileName;
var fileName = Path.GetFileName(file) ?? "";
var model = this.GetSamsungModel(file);
var analogAirList = serializer.DataRoot.GetChannelList(ChanSort.Api.SignalSource.AnalogT | ChanSort.Api.SignalSource.Tv);
var analogCableList = serializer.DataRoot.GetChannelList(ChanSort.Api.SignalSource.AnalogC | ChanSort.Api.SignalSource.Tv);
var digitalAirList = serializer.DataRoot.GetChannelList(ChanSort.Api.SignalSource.DvbT | ChanSort.Api.SignalSource.Tv);
var digitalCableList = serializer.DataRoot.GetChannelList(ChanSort.Api.SignalSource.DvbC | ChanSort.Api.SignalSource.Tv);
var satChannelList = serializer.DataRoot.GetChannelList(ChanSort.Api.SignalSource.DvbS | ChanSort.Api.SignalSource.Tv);
var hdChannelList = serializer.DataRoot.GetChannelList(ChanSort.Api.SignalSource.DvbS|ChanSort.Api.SignalSource.AstraHdPlus | ChanSort.Api.SignalSource.Tv);
string key = serializer.Series +
"\t" + model +
"\t" + serializer.AnalogChannelLength +
"\t" + (analogAirList != null && analogAirList.Count > 0) +
"\t" + (analogCableList != null && analogCableList.Count > 0) +
"\t" + serializer.DigitalChannelLength +
"\t" + (digitalAirList != null && digitalAirList.Count > 0) +
"\t" + (digitalCableList != null && digitalCableList.Count > 0) +
"\t" + serializer.SatChannelLength +
"\t" + (satChannelList != null && satChannelList.Count > 0) +
"\t" + serializer.HdPlusChannelLength +
"\t" + (hdChannelList != null && hdChannelList.Count > 0);
string relPath = Path.GetFileName(Path.GetDirectoryName(file)) + "\\" + fileName;
models[key] = relPath;
models[key] = serializer.Series +
"\t" + model +
"\t" + serializer.AnalogChannelLength +
"\t" + serializer.DigitalChannelLength +
"\t" + serializer.SatChannelLength +
"\t" + serializer.HdPlusChannelLength +
"\t" + (analogAirList == null ? 0 : analogAirList.Count) +
"\t" + (analogCableList == null ? 0 : analogCableList.Count) +
"\t" + (digitalAirList == null ? 0 : digitalAirList.Count) +
"\t" + (digitalCableList == null ? 0 : digitalCableList.Count) +
"\t" + (satChannelList == null ? 0 : satChannelList.Count) +
"\t" + (hdChannelList == null ? 0 : hdChannelList.Count) +
"\t" + relPath;
Assert.IsFalse(serializer.DataRoot.IsEmpty, "No channels loaded from " + file);
@@ -85,12 +114,18 @@ namespace Test.Loader
}
foreach (var model in models.OrderBy(e => e.Key))
Debug.WriteLine(model.Key + "\t" + model.Value);
Debug.WriteLine(model.Value);
if (expectedData.Count > 0)
Assert.Fail("Some files were not tested: " + expectedData.Keys.Aggregate((prev, cur) => prev + "," + cur));
Assert.AreEqual("", errors.ToString());
}
private string GetSamsungModel(string filePath)
{
string fileName = Path.GetFileNameWithoutExtension(filePath) ?? "";
return fileName.StartsWith("channel_list_") ? fileName.Substring(13, fileName.IndexOf('_', 14) - 13) : fileName;
}
#endregion
}
}

View File

@@ -1,15 +1,9 @@
Version v2013-05-11 ======================================================
Version v2013-05-16 ======================================================
Changes:
- TV data files can be used as reference lists (without exporting .csv)
- added "Export Excel list" function
- added hotkeys to many menu items
- added most recently used files to menu
- added support to enable Hotel Mode for LH3000 and LN models
- fixed: saved incorrect DVB-S transponder symbol rate for LG's LK950S, LV,
LW and LN models
- re-added a fixed version of "TV-Set / Clean channel data" function for
LG TV's.
- FIX: on LG's LA and LN models the DVB-S symbol rate got corrupted
- disabled editing of LG channel lists whith preset program numbers
- last file is no longer loaded automatically when starting ChanSort
The complete change log can be found at the end of this document
@@ -107,6 +101,11 @@ OTHER DEALINGS IN THE SOFTWARE.
Change log ================================================================
2013-05-16
- FIX: on LG's LA and LN models the DVB-S symbol rate got corrupted
- disabled editing of LG channel lists whith preset program numbers
- last file is no longer loaded automatically when starting ChanSort
2013-05-11
- TV data files can be used as reference lists (without exporting .csv)
- added "File / Export Excel list" function