From 030b400096169ebe04250588d006aafdadce2a3a Mon Sep 17 00:00:00 2001 From: hbeham Date: Sun, 19 Jan 2014 19:08:17 +0100 Subject: [PATCH] - processing Samsung's ServiceProvider file - upgraded to DevExpress 13.2.6 --- ChanSort.Api/Controller/CsvFileSerializer.cs | 6 +- ChanSort.Api/Controller/Editor.cs | 5 + ChanSort.Api/Model/ChannelInfo.cs | 2 + ChanSort.Api/Model/Enums.cs | 9 +- ChanSort.Api/Utils/Tools.cs | 12 + ChanSort.Loader.LG/ChanSort.Loader.LG.csproj | 6 +- ChanSort.Loader.LG/PresetProgramNrDialog.resx | 34 +- ChanSort.Loader.LG/SatChannelListHeader.cs | 4 +- ChanSort.Loader.LG/TllFileSerializer.cs | 12 +- ChanSort.Loader.LG/TvSettingsForm.resx | 46 +-- .../ChanSort.Loader.Samsung.ini | 22 +- ChanSort.Loader.Samsung/DigitalChannel.cs | 10 +- ChanSort.Loader.Samsung/ModelConstants.cs | 2 + ChanSort.Loader.Samsung/SatChannel.cs | 7 +- ChanSort.Loader.Samsung/ScmChannelBase.cs | 21 +- ChanSort.Loader.Samsung/ScmSerializer.cs | 50 ++- ChanSort/AboutForm.resx | 42 +- ChanSort/ActionBox.resx | 14 +- ChanSort/ChanSort.csproj | 33 +- ChanSort/CharsetForm.resx | 32 +- ChanSort/GlobalImageCollection.resx | 4 +- ChanSort/MainForm.Designer.cs | 14 +- ChanSort/MainForm.cs | 9 +- ChanSort/MainForm.de.resx | 10 +- ChanSort/MainForm.pt.resx | 16 +- ChanSort/MainForm.resx | 385 +++++++++--------- ChanSort/Printing/ReportOptionsDialog.resx | 24 +- ChanSort/Properties/licenses.licx | 9 +- ChanSort/WaitForm1.resx | 4 +- Information/LG+Samsung Model Info.xlsx | Bin 34975 -> 38249 bytes Test.Loader/SamsungTest.cs | 16 +- readme.txt | 21 +- 32 files changed, 513 insertions(+), 368 deletions(-) diff --git a/ChanSort.Api/Controller/CsvFileSerializer.cs b/ChanSort.Api/Controller/CsvFileSerializer.cs index e8b0a8b..76a7509 100644 --- a/ChanSort.Api/Controller/CsvFileSerializer.cs +++ b/ChanSort.Api/Controller/CsvFileSerializer.cs @@ -82,7 +82,11 @@ namespace ChanSort.Api if (!this.addChannels) { channel.NewProgramNr = programNr; - channel.Name = name; + if ((channel.SignalSource & SignalSource.Analog) != 0) + { + channel.Name = name; + channel.IsNameModified = true; + } if (parts.Count >= 7) ApplyFlags(channel, parts[6]); } diff --git a/ChanSort.Api/Controller/Editor.cs b/ChanSort.Api/Controller/Editor.cs index 2b09440..ddb23d4 100644 --- a/ChanSort.Api/Controller/Editor.cs +++ b/ChanSort.Api/Controller/Editor.cs @@ -224,6 +224,11 @@ namespace ChanSort.Api tvChannel.Lock = refChannel.Lock; tvChannel.Hidden = refChannel.Hidden; tvChannel.IsDeleted = refChannel.IsDeleted; + if ((tvChannel.SignalSource & SignalSource.Analog) != 0) + { + tvChannel.Name = refChannel.Name; + tvChannel.IsNameModified = true; + } } else { diff --git a/ChanSort.Api/Model/ChannelInfo.cs b/ChanSort.Api/Model/ChannelInfo.cs index ed9ddcd..c35ae1d 100644 --- a/ChanSort.Api/Model/ChannelInfo.cs +++ b/ChanSort.Api/Model/ChannelInfo.cs @@ -35,6 +35,8 @@ namespace ChanSort.Api public int AudioPid { get; set; } public int OriginalNetworkId { get; set; } public int TransportStreamId { get; set; } + public int Bouquet { get; set; } + public string Provider { get; set; } public int SymbolRate { get; set; } public int ServiceType { get; set; } public string Debug { get; private set; } diff --git a/ChanSort.Api/Model/Enums.cs b/ChanSort.Api/Model/Enums.cs index 73ed195..96fc748 100644 --- a/ChanSort.Api/Model/Enums.cs +++ b/ChanSort.Api/Model/Enums.cs @@ -12,20 +12,24 @@ namespace ChanSort.Api public enum SignalSource { // bit 1+2: analog/digital + MaskAnalogDigital = 0x0003, Analog = 0x0001, Digital = 0x0002, // bit 5+6+7: Antenna/Cable/Sat + MaskAntennaCableSat = 0x00F0, Antenna = 0x0010, Cable = 0x0020, Sat = 0x0040, // bit 9+10: TV/Radio + MaskTvRadio = 0x0300, Tv = 0x0100, Radio = 0x0200, TvAndRadio= Tv|Radio, // bit 13-16: Preset list selector (AstraHD+, Freesat, TivuSat, CanalDigitalSat, ... for Samsung) + MaskProvider = 0xFC00, StandardSat = 0 << 12, AstraHdPlus = 1 << 12, Freesat = 2 << 12, @@ -42,8 +46,11 @@ namespace ChanSort.Api DvbT= Digital + Antenna, DvbCT= Digital + Cable + Antenna, DvbS= Digital + Sat, + + CablePrimeD = Digital + Cable + CablePrime, HdPlusD = Digital + Sat + AstraHdPlus, - CablePrimeD = Digital + Cable + CablePrime + FreesatD = Digital + Sat + Freesat, + TivuSatD = Digital + Sat + TivuSat } #endregion diff --git a/ChanSort.Api/Utils/Tools.cs b/ChanSort.Api/Utils/Tools.cs index 63e5260..941bddc 100644 --- a/ChanSort.Api/Utils/Tools.cs +++ b/ChanSort.Api/Utils/Tools.cs @@ -90,5 +90,17 @@ namespace ChanSort.Api data[offset++] = value; } #endregion + + #region ReverseByteOrder() + public static ushort ReverseByteOrder(ushort input) + { + return (ushort)(((input & 0x00FF) << 8) | (input >> 8)); + } + + public static uint ReverseByteOrder(uint input) + { + return ((input & 0x000000FF) << 24) | ((input & 0x0000FF00) << 8) | ((input & 0x00FF0000) >> 8) | ((input & 0xFF000000) >> 24); + } + #endregion } } diff --git a/ChanSort.Loader.LG/ChanSort.Loader.LG.csproj b/ChanSort.Loader.LG/ChanSort.Loader.LG.csproj index 8194b69..5c7233e 100644 --- a/ChanSort.Loader.LG/ChanSort.Loader.LG.csproj +++ b/ChanSort.Loader.LG/ChanSort.Loader.LG.csproj @@ -56,9 +56,9 @@ true - - - + + + diff --git a/ChanSort.Loader.LG/PresetProgramNrDialog.resx b/ChanSort.Loader.LG/PresetProgramNrDialog.resx index 9aa4ff8..22d1b19 100644 --- a/ChanSort.Loader.LG/PresetProgramNrDialog.resx +++ b/ChanSort.Loader.LG/PresetProgramNrDialog.resx @@ -121,8 +121,8 @@ Top, Left, Right - - + + Vertical @@ -143,7 +143,7 @@ labelControl1 - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -157,7 +157,7 @@ Tahoma, 8.25pt, style=Bold - + Vertical @@ -176,7 +176,7 @@ labelControl3 - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -190,7 +190,7 @@ Tahoma, 8.25pt, style=Bold - + Vertical @@ -209,7 +209,7 @@ labelControl4 - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -220,7 +220,7 @@ Top, Left, Right - + Vertical @@ -239,7 +239,7 @@ labelControl5 - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -250,7 +250,7 @@ Top, Left, Right - + Vertical @@ -269,7 +269,7 @@ labelControl6 - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -280,7 +280,7 @@ Top, Left, Right - + Vertical @@ -299,7 +299,7 @@ labelControl7 - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -353,7 +353,7 @@ btnOk - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -364,7 +364,7 @@ Top, Left, Right - + Vertical @@ -383,7 +383,7 @@ labelControl2 - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -410,6 +410,6 @@ PresetProgramNrDialog - DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a \ No newline at end of file diff --git a/ChanSort.Loader.LG/SatChannelListHeader.cs b/ChanSort.Loader.LG/SatChannelListHeader.cs index 029625a..417cf5d 100644 --- a/ChanSort.Loader.LG/SatChannelListHeader.cs +++ b/ChanSort.Loader.LG/SatChannelListHeader.cs @@ -15,9 +15,9 @@ namespace ChanSort.Loader.LG public uint Checksum { get { return BitConverter.ToUInt32(data, baseOffset + 0); } } - public int LinkedListStartIndex + public ushort LinkedListStartIndex { - get { return BitConverter.ToInt16(data, baseOffset + 8); } + get { return BitConverter.ToUInt16(data, baseOffset + 8); } set { Tools.SetInt16(data, baseOffset + 8, value); } } public int LinkedListEndIndex1 diff --git a/ChanSort.Loader.LG/TllFileSerializer.cs b/ChanSort.Loader.LG/TllFileSerializer.cs index 8512fbc..5a2a60b 100644 --- a/ChanSort.Loader.LG/TllFileSerializer.cs +++ b/ChanSort.Loader.LG/TllFileSerializer.cs @@ -56,7 +56,7 @@ namespace ChanSort.Loader.LG private DvbsDataLayout satConfig; - private Dictionary nextChannelIndex; + private Dictionary nextChannelIndex; private int firmwareBlockSize; private int extraBlockSize; private int dvbsBlockSize; @@ -490,12 +490,12 @@ namespace ChanSort.Loader.LG #region ReadDvbsChannelLinkedList() private void ReadDvbsChannelLinkedList(SatChannelListHeader header, ref int off) { - this.nextChannelIndex = new Dictionary(); + this.nextChannelIndex = new Dictionary(); int index = header.LinkedListStartIndex; while (index != 0xFFFF) { int offEntry = off + index*satConfig.sizeOfChannelLinkedListEntry; - int nextIndex = BitConverter.ToUInt16(fileContent, offEntry + 2); + ushort nextIndex = BitConverter.ToUInt16(fileContent, offEntry + 2); if (this.nextChannelIndex.ContainsKey(index)) // prevent infinite loop (exists in some test files) break; this.nextChannelIndex.Add(index, nextIndex); @@ -506,10 +506,10 @@ namespace ChanSort.Loader.LG #endregion #region ReadDvbsChannels() - private void ReadDvbsChannels(ref int off, int startIndex) + private void ReadDvbsChannels(ref int off, ushort startIndex) { var mapping = GetDvbsChannelMapping(); - int index = startIndex; + ushort index = startIndex; for (int i = 0; i < this.dvbsChannelCount; i++) { int recordOffset = off + index*satConfig.dvbsChannelLength; @@ -542,7 +542,7 @@ namespace ChanSort.Loader.LG this.DataRoot.AddChannel(list, ci); } - if (!this.nextChannelIndex.TryGetValue(index, out index) || index == -1) + if (!this.nextChannelIndex.TryGetValue(index, out index) || index == 0xFFFF) break; } off += satConfig.dvbsMaxChannelCount * satConfig.dvbsChannelLength; diff --git a/ChanSort.Loader.LG/TvSettingsForm.resx b/ChanSort.Loader.LG/TvSettingsForm.resx index 5d30859..57dc4df 100644 --- a/ChanSort.Loader.LG/TvSettingsForm.resx +++ b/ChanSort.Loader.LG/TvSettingsForm.resx @@ -139,7 +139,7 @@ cbHbbTv - DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpOption @@ -166,7 +166,7 @@ cbCustomCountry - DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpOption @@ -177,8 +177,8 @@ 72, 29 - - + + Combo @@ -191,7 +191,7 @@ comboBoxEdit1 - DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpOption @@ -215,7 +215,7 @@ labelControl1 - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpOption @@ -242,7 +242,7 @@ grpOption - DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -269,7 +269,7 @@ btnOk - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -296,7 +296,7 @@ btnCancel - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -304,8 +304,8 @@ 2 - - + + Vertical @@ -324,7 +324,7 @@ labelControl3 - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpHotelMode @@ -348,7 +348,7 @@ labelControl2 - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpHotelMode @@ -375,7 +375,7 @@ cbDtvUpdate - DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpHotelMode @@ -402,7 +402,7 @@ cbHotelMode - DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpHotelMode @@ -429,7 +429,7 @@ grpHotelMode - DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -456,7 +456,7 @@ cbAutoChannelUpdate - DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpSetup @@ -483,7 +483,7 @@ grpSetup - DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -491,7 +491,7 @@ 5 - + Vertical @@ -510,7 +510,7 @@ labelControl4 - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpInformation @@ -537,7 +537,7 @@ grpInformation - DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -567,7 +567,7 @@ lblHotelMenuAutoDetect - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -594,6 +594,6 @@ TvSettingsForm - DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a \ No newline at end of file diff --git a/ChanSort.Loader.Samsung/ChanSort.Loader.Samsung.ini b/ChanSort.Loader.Samsung/ChanSort.Loader.Samsung.ini index 25e253f..81a03d0 100644 --- a/ChanSort.Loader.Samsung/ChanSort.Loader.Samsung.ini +++ b/ChanSort.Loader.Samsung/ChanSort.Loader.Samsung.ini @@ -120,6 +120,12 @@ [PTC:12] offFrequency = 4 offChannelTransponder = 8 + +[ServiceProvider:108] + offSignalSource = 0 + offIndex = 2 + offLenName = 6 + offName = 8 [DvbCT:248] ; map-AirD and map-CableD for B series @@ -141,7 +147,7 @@ offChannelTransponder = 26 offLogicalProgramNr = 28 offSymbolRate = 32 - offBouqet = 34 + offBouquet = 34 offTransportStreamId = 36 offName = 44 lenName = 100 @@ -158,6 +164,7 @@ offServiceId = 6 offDeleted = 8 maskDeleted = 0x01 + offSignalSource = 10 offQam = 12 offBandwidth = 14 offServiceType = 15 @@ -186,13 +193,14 @@ [DvbCT:320] - ; map-AirD and map-CableD for D,E and F series + ; map-AirD, map-CableD, Freesat for D,E and F series offProgramNr = 0 offVideoPid = 2 offPcrPid = 4 offServiceId = 6 offDeleted = 8 maskDeleted = 0x01 + offSignalSource = 10 offQam = 12 offBandwidth = 14 offServiceType = 15 @@ -242,6 +250,7 @@ offPcrPid = 4 offInUse = 7 maskInUse = 0x01 + offSignalSource = 10 offLock = 13 maskLock = 0x01 offServiceType = 14 @@ -256,7 +265,7 @@ lenName = 100 offEncrypted = 136 maskEncrypted = 0x01 - offBouquet = 138 + offServiceProviderId = 138 offFavorites = 142 offChecksum = 143 @@ -267,6 +276,7 @@ offPcrPid = 4 offInUse = 7 maskInUse = 0x01 + offSignalSource = 10 offLock = 13 maskLock = 0x01 offServiceType = 14 @@ -281,7 +291,7 @@ lenName = 100 offEncrypted = 136 maskEncrypted = 0x01 - offBouquet = 138 + offServiceProviderId = 138 offFavorites = 140,144,148,152,156 offChecksum = 171 @@ -292,6 +302,7 @@ offPcrPid = 4 offInUse = 7 maskInUse = 0x01 + offSignalSource = 10 offLock = 13 maskLock = 0x01 offServiceType = 14 @@ -306,7 +317,7 @@ offEncrypted = 136 maskEncrypted = 0x01 lenName = 100 - offBouquet = 138 + offServiceProviderId = 138 offFavorites = 140,144,148,152,156 offChecksum = 167 @@ -317,6 +328,7 @@ offPcrId=4 offInUse = 7 maskInUse = 0x01 + offSignalSource = 10 offLock = 13 maskLock = 0x01 offServiceType = 14 diff --git a/ChanSort.Loader.Samsung/DigitalChannel.cs b/ChanSort.Loader.Samsung/DigitalChannel.cs index de43433..57a7b36 100644 --- a/ChanSort.Loader.Samsung/DigitalChannel.cs +++ b/ChanSort.Loader.Samsung/DigitalChannel.cs @@ -7,18 +7,16 @@ namespace ChanSort.Loader.Samsung { private const string _ChannelOrTransponder = "offChannelTransponder"; - public DigitalChannel(int slot, bool isCable, DataMapping data, - IDictionary transpFreq, bool sortedFavorites) : + public DigitalChannel(int slot, SignalSource signalSource, DataMapping data, + IDictionary transpFreq, bool sortedFavorites, IDictionary providerNames) : base(data, sortedFavorites) { - var signalSource = SignalSource.Digital; - signalSource |= isCable ? SignalSource.Cable : SignalSource.Antenna; - this.InitCommonData(slot, signalSource, data); + this.InitCommonData(slot, (SignalSource)((int)signalSource & ~(int)(SignalSource.TvAndRadio)), data); if (this.OldProgramNr == 0) return; - this.InitDvbData(data); + this.InitDvbData(data, providerNames); int transp = data.GetByte(_ChannelOrTransponder); decimal freq = transpFreq.TryGet(transp); diff --git a/ChanSort.Loader.Samsung/ModelConstants.cs b/ChanSort.Loader.Samsung/ModelConstants.cs index faa0acd..7503e43 100644 --- a/ChanSort.Loader.Samsung/ModelConstants.cs +++ b/ChanSort.Loader.Samsung/ModelConstants.cs @@ -15,6 +15,7 @@ namespace ChanSort.Loader.Samsung public readonly int dvbtFineTuneLength; public readonly Favorites supportedFavorites; public readonly int ptcLength; + public readonly int serviceProviderLength; public readonly bool SortedFavorites; public ModelConstants(IniFile.Section iniSection) @@ -29,6 +30,7 @@ namespace ChanSort.Loader.Samsung this.dvbsTransponderLength = iniSection.GetInt("TransponderDataBase.dat"); this.avbtFineTuneLength = iniSection.GetInt("FineTune"); this.dvbtFineTuneLength = iniSection.GetInt("FineTune_Digital"); + this.serviceProviderLength = iniSection.GetInt("ServiceProvider", 108); int numFavorites = iniSection.GetInt("Favorites"); int mask = 0; for (int i = 0; i < numFavorites; i++) diff --git a/ChanSort.Loader.Samsung/SatChannel.cs b/ChanSort.Loader.Samsung/SatChannel.cs index 3ab2fad..8765fc6 100644 --- a/ChanSort.Loader.Samsung/SatChannel.cs +++ b/ChanSort.Loader.Samsung/SatChannel.cs @@ -1,4 +1,5 @@ -using ChanSort.Api; +using System.Collections.Generic; +using ChanSort.Api; namespace ChanSort.Loader.Samsung { @@ -6,14 +7,14 @@ namespace ChanSort.Loader.Samsung { private const string _TransponderIndex = "offTransponderIndex"; - public SatChannel(int slot, SignalSource presetList, DataMapping data, DataRoot dataRoot, bool sortedFavorites) : + public SatChannel(int slot, SignalSource presetList, DataMapping data, DataRoot dataRoot, bool sortedFavorites, IDictionary providerNames) : base(data, sortedFavorites) { this.InitCommonData(slot, SignalSource.DvbS | presetList, data); if (!this.InUse) return; - this.InitDvbData(data); + this.InitDvbData(data, providerNames); int transponderIndex = data.GetWord(_TransponderIndex); Transponder transponder = dataRoot.Transponder.TryGet(transponderIndex); diff --git a/ChanSort.Loader.Samsung/ScmChannelBase.cs b/ChanSort.Loader.Samsung/ScmChannelBase.cs index dc933ee..6035cb7 100644 --- a/ChanSort.Loader.Samsung/ScmChannelBase.cs +++ b/ChanSort.Loader.Samsung/ScmChannelBase.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Text; using ChanSort.Api; @@ -27,6 +28,7 @@ namespace ChanSort.Loader.Samsung private const string _TransportStreamId = "offTransportStreamId"; private const string _ServiceType = "offServiceType"; private const string _SymbolRate = "offSymbolRate"; + private const string _ServiceProviderId = "offServiceProviderId"; private static readonly Encoding Utf16BigEndian = new UnicodeEncoding(true, false); private readonly bool sortedFavorites; @@ -91,7 +93,7 @@ namespace ChanSort.Loader.Samsung #region InitDvbData() - protected void InitDvbData(DataMapping data) + protected void InitDvbData(DataMapping data, IDictionary providerNames) { this.ShortName = data.GetString(_ShortName, data.Settings.GetInt("lenShortName")); this.ServiceId = data.GetWord(_ServiceId); @@ -102,7 +104,22 @@ namespace ChanSort.Loader.Samsung this.TransportStreamId = data.GetWord(_TransportStreamId); this.ServiceType = data.GetByte(_ServiceType); this.SymbolRate = data.GetWord(_SymbolRate); - + if (data.Settings.GetInt(_ServiceProviderId, -1) != -1) + { + int source = -1; + if ((this.SignalSource & SignalSource.MaskProvider) == SignalSource.Freesat) + source = 4; + else if ((this.SignalSource & SignalSource.MaskProvider) == SignalSource.TivuSat) + source = 6; + else if ((this.SignalSource & SignalSource.Antenna) != 0) + source = 0; + else if ((this.SignalSource & SignalSource.Cable) != 0) + source = 1; + else if ((this.SignalSource & SignalSource.Sat) != 0) + source = 3; + int providerId = data.GetWord(_ServiceProviderId); + this.Provider = providerNames.TryGet((source << 16) + providerId); + } this.SignalSource |= LookupData.Instance.IsRadioOrTv(this.ServiceType); } #endregion diff --git a/ChanSort.Loader.Samsung/ScmSerializer.cs b/ChanSort.Loader.Samsung/ScmSerializer.cs index 0633533..8038f3e 100644 --- a/ChanSort.Loader.Samsung/ScmSerializer.cs +++ b/ChanSort.Loader.Samsung/ScmSerializer.cs @@ -18,15 +18,17 @@ namespace ChanSort.Loader.Samsung private readonly MappingPool analogFineTuneMappings = new MappingPool("FineTune"); private readonly MappingPool ptccableMappings = new MappingPool("PTC"); private readonly MappingPool transponderMappings = new MappingPool("TransponderDataBase"); + private readonly MappingPool serviceProviderMappings = new MappingPool("ServiceProvider"); private readonly ChannelList avbtChannels = new ChannelList(SignalSource.AnalogT|SignalSource.TvAndRadio, "Analog Air"); private readonly ChannelList avbcChannels = new ChannelList(SignalSource.AnalogC|SignalSource.TvAndRadio, "Analog Cable"); private readonly ChannelList dvbtChannels = new ChannelList(SignalSource.DvbT | SignalSource.Tv, "Digital Air"); private readonly ChannelList dvbcChannels = new ChannelList(SignalSource.DvbC | SignalSource.TvAndRadio, "Digital Cable"); private readonly ChannelList dvbsChannels = new ChannelList(SignalSource.DvbS | SignalSource.TvAndRadio, "Satellite"); - private readonly ChannelList hdplusChannels = new ChannelList(SignalSource.HdPlusD | SignalSource.TvAndRadio, "Astra HD+"); - private readonly ChannelList freesatChannels = new ChannelList(SignalSource.HdPlusD | SignalSource.TvAndRadio, "Freesat"); private readonly ChannelList primeChannels = new ChannelList(SignalSource.CablePrimeD | SignalSource.TvAndRadio, "Cable Prime"); + private readonly ChannelList hdplusChannels = new ChannelList(SignalSource.HdPlusD | SignalSource.TvAndRadio, "Astra HD+"); + private readonly ChannelList freesatChannels = new ChannelList(SignalSource.FreesatD | SignalSource.TvAndRadio, "Freesat"); + private readonly ChannelList tivusatChannels = new ChannelList(SignalSource.TivuSatD | SignalSource.TvAndRadio, "TivuSat"); private readonly Dictionary avbtFrequency = new Dictionary(); private readonly Dictionary avbcFrequency = new Dictionary(); @@ -41,7 +43,9 @@ namespace ChanSort.Loader.Samsung private byte[] hdplusFileContent; private byte[] primeFileContent; private byte[] freesatFileContent; + private byte[] tivusatFileContent; private ModelConstants c; + private Dictionary serviceProviderNames; #region ctor() public ScmSerializer(string inputFile) : base(inputFile) @@ -84,6 +88,8 @@ namespace ChanSort.Loader.Samsung transponderMappings.AddMapping(len, new DataMapping(section)); else if (section.Name.StartsWith("PTC:")) ptccableMappings.AddMapping(len, new DataMapping(section)); + else if (section.Name.StartsWith("ServiceProvider")) + serviceProviderMappings.AddMapping(len, new DataMapping(section)); } } #endregion @@ -101,11 +107,13 @@ namespace ChanSort.Loader.Samsung ReadAnalogChannels(zip, "map-AirA", this.avbtChannels, out this.avbtFileContent, this.avbtFrequency); ReadAnalogChannels(zip, "map-CableA", this.avbcChannels, out this.avbcFileContent, this.avbcFrequency); ReadDvbTransponderFrequenciesFromPtc(zip, "PTCAIR", this.dvbtFrequency); + ReadDvbServiceProviders(zip); ReadDvbctChannels(zip, "map-AirD", this.dvbtChannels, out this.dvbtFileContent, this.dvbtFrequency); ReadDvbTransponderFrequenciesFromPtc(zip, "PTCCABLE", this.dvbcFrequency); ReadDvbctChannels(zip, "map-CableD", this.dvbcChannels, out this.dvbcFileContent, this.dvbcFrequency); ReadDvbctChannels(zip, "map-CablePrime_D", this.primeChannels, out this.primeFileContent, this.dvbcFrequency); ReadDvbctChannels(zip, "map-FreesatD", this.freesatChannels, out this.freesatFileContent, this.dvbcFrequency); + ReadDvbctChannels(zip, "map-TivusatD", this.tivusatChannels, out this.tivusatFileContent, this.dvbcFrequency); ReadSatellites(zip); ReadTransponder(zip, "TransponderDataBase.dat"); ReadTransponder(zip, "UserTransponderDataBase.dat"); @@ -139,7 +147,9 @@ namespace ChanSort.Loader.Samsung { case "1001": series = "C"; break; case "1101": series = "D"; break; - case "1201": series = "E"; break; + case "1201": + series = match.Groups[2].Value == "F" ? "F" : "E"; + break; default: series = match.Groups[1].Value.StartsWith("LT") ? "F" : match.Groups[2].Value; break; @@ -381,6 +391,31 @@ namespace ChanSort.Loader.Samsung } #endregion + #region ReadDvbServiceProviders() + private void ReadDvbServiceProviders(ZipFile zip) + { + this.serviceProviderNames = new Dictionary(); + var data = ReadFileContent(zip, "ServiceProviders"); + if (data == null) return; + + if (data.Length % c.serviceProviderLength != 0) return; + var mapping = serviceProviderMappings.GetMapping(c.serviceProviderLength, false); + if (mapping == null) return; + int count = data.Length/c.serviceProviderLength; + var enc = new UnicodeEncoding(true, false); + var offName = mapping.Settings.GetInt("offName"); + for (int i = 0; i < count; i++) + { + mapping.SetDataPtr(data, i*c.serviceProviderLength); + int source = mapping.GetWord("offSignalSource"); + int index = mapping.GetWord("offIndex"); + int len = System.Math.Min(mapping.GetWord("offLenName"), c.serviceProviderLength - offName); + var name = len < 2 ? "" : enc.GetString(data, mapping.BaseOffset + offName, len); + this.serviceProviderNames[(source << 16) + index] = name; + } + } + #endregion + #region ReadDvbctChannels() private void ReadDvbctChannels(ZipFile zip, string fileName, ChannelList list, out byte[] data, Dictionary frequency) { @@ -393,15 +428,15 @@ namespace ChanSort.Loader.Samsung if (data == null) return; - bool isCable = (list.SignalSource & SignalSource.Cable) != 0; this.DataRoot.AddChannelList(list); + var source = list.SignalSource; DataMapping rawChannel = dvbctMappings.GetMapping(entrySize); list.MaxChannelNameLength = rawChannel.Settings.GetInt("lenName") / 2; rawChannel.SetDataPtr(data, 0); int count = data.Length / entrySize; for (int slotIndex = 0; slotIndex < count; slotIndex++) { - DigitalChannel ci = new DigitalChannel(slotIndex, isCable, rawChannel, frequency, c.SortedFavorites); + DigitalChannel ci = new DigitalChannel(slotIndex, source, rawChannel, frequency, c.SortedFavorites, this.serviceProviderNames); if (ci.InUse && !ci.IsDeleted && ci.OldProgramNr > 0) this.DataRoot.AddChannel(list, ci); @@ -489,7 +524,7 @@ namespace ChanSort.Loader.Samsung mapping.SetDataPtr(dvbsFileContent, 0); for (int slotIndex = 0; slotIndex < count; slotIndex++) { - SatChannel ci = new SatChannel(slotIndex, SignalSource.StandardSat, mapping, this.DataRoot, c.SortedFavorites); + SatChannel ci = new SatChannel(slotIndex, SignalSource.StandardSat, mapping, this.DataRoot, c.SortedFavorites, this.serviceProviderNames); if (ci.InUse) this.DataRoot.AddChannel(this.dvbsChannels, ci); @@ -512,7 +547,7 @@ namespace ChanSort.Loader.Samsung mapping.SetDataPtr(hdplusFileContent, 0); for (int slotIndex = 0; slotIndex < count; slotIndex++) { - SatChannel ci = new SatChannel(slotIndex, SignalSource.AstraHdPlus, mapping, this.DataRoot, c.SortedFavorites); + SatChannel ci = new SatChannel(slotIndex, SignalSource.AstraHdPlus, mapping, this.DataRoot, c.SortedFavorites, this.serviceProviderNames); if (ci.InUse) this.DataRoot.AddChannel(this.hdplusChannels, ci); mapping.BaseOffset += entrySize; @@ -555,6 +590,7 @@ namespace ChanSort.Loader.Samsung this.SaveChannels(zip, "map-AstraHDPlusD", this.hdplusChannels, this.hdplusFileContent); this.SaveChannels(zip, "map-CablePrime_D", this.primeChannels, this.primeFileContent); this.SaveChannels(zip, "map-FreesatD", this.freesatChannels, this.freesatFileContent); + this.SaveChannels(zip, "map-TivusatD", this.tivusatChannels, this.tivusatFileContent); zip.CommitUpdate(); } } diff --git a/ChanSort/AboutForm.resx b/ChanSort/AboutForm.resx index 05bea6f..33b8a6e 100644 --- a/ChanSort/AboutForm.resx +++ b/ChanSort/AboutForm.resx @@ -117,8 +117,8 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + + Vertical @@ -139,7 +139,7 @@ lblWebsite - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -170,7 +170,7 @@ lnkDownload - DevExpress.XtraEditors.HyperLinkEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.HyperLinkEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -194,7 +194,7 @@ gcPlugins - DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a horst@beham.biz @@ -215,7 +215,7 @@ lnkEmail - DevExpress.XtraEditors.HyperLinkEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.HyperLinkEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -223,7 +223,7 @@ 7 - + Vertical @@ -242,7 +242,7 @@ lblAuthor - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -250,7 +250,7 @@ 6 - + Vertical @@ -269,7 +269,7 @@ lblLicense - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -299,7 +299,7 @@ lnkLicense - DevExpress.XtraEditors.HyperLinkEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.HyperLinkEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -307,7 +307,7 @@ 4 - + Vertical @@ -326,7 +326,7 @@ lblCredits - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -350,7 +350,7 @@ txtCredits - DevExpress.XtraEditors.MemoEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.MemoEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -377,7 +377,7 @@ btnClose - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -401,7 +401,7 @@ txtAuthor - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -428,30 +428,30 @@ gvPlugins - DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colPlugin - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colDisplayText - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colFileTypes - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a AboutForm - DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a \ No newline at end of file diff --git a/ChanSort/ActionBox.resx b/ChanSort/ActionBox.resx index b961c2d..358c157 100644 --- a/ChanSort/ActionBox.resx +++ b/ChanSort/ActionBox.resx @@ -125,8 +125,8 @@ Tahoma, 9pt - - + + Vertical @@ -146,7 +146,7 @@ lblMessage - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -160,8 +160,8 @@ 32, 32 - - + + AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxMi4yLCBWZXJzaW9uPTEyLjIu OC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFFT @@ -459,12 +459,12 @@ imageCollection1 - DevExpress.Utils.ImageCollection, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.Utils.ImageCollection, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a ActionBoxDialog - DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a \ No newline at end of file diff --git a/ChanSort/ChanSort.csproj b/ChanSort/ChanSort.csproj index 663ede1..513a608 100644 --- a/ChanSort/ChanSort.csproj +++ b/ChanSort/ChanSort.csproj @@ -58,36 +58,37 @@ app.ico - - + + False - - - + + + False - - - + + + False - - + + False - - + + + False - + False - + False - - + + diff --git a/ChanSort/CharsetForm.resx b/ChanSort/CharsetForm.resx index f14f015..f14cf74 100644 --- a/ChanSort/CharsetForm.resx +++ b/ChanSort/CharsetForm.resx @@ -138,13 +138,13 @@ btnCancel - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a 433, 446 - DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a CharsetForm @@ -178,12 +178,12 @@ 0 - - + + Center - - + + None @@ -196,7 +196,7 @@ Top, Right - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a Fill @@ -211,10 +211,10 @@ $this - DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colName @@ -259,7 +259,7 @@ gcCharset - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a Default character set for my country @@ -274,7 +274,7 @@ 353, 6 - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a 75, 23 @@ -337,7 +337,7 @@ - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a 433, 483 @@ -346,17 +346,17 @@ 142 - DevExpress.XtraEditors.PanelControl, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.PanelControl, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a True - - + + Default - DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a True diff --git a/ChanSort/GlobalImageCollection.resx b/ChanSort/GlobalImageCollection.resx index 49f22f0..6a813c6 100644 --- a/ChanSort/GlobalImageCollection.resx +++ b/ChanSort/GlobalImageCollection.resx @@ -120,8 +120,8 @@ 17, 17 - - + + AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxMy4xLCBWZXJzaW9uPTEzLjEu Ni4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFFT diff --git a/ChanSort/MainForm.Designer.cs b/ChanSort/MainForm.Designer.cs index 5d53010..1235f52 100644 --- a/ChanSort/MainForm.Designer.cs +++ b/ChanSort/MainForm.Designer.cs @@ -89,6 +89,7 @@ this.colUid = new DevExpress.XtraGrid.Columns.GridColumn(); this.colNetworkName = new DevExpress.XtraGrid.Columns.GridColumn(); this.colNetworkOperator = new DevExpress.XtraGrid.Columns.GridColumn(); + this.colProvider = new DevExpress.XtraGrid.Columns.GridColumn(); this.colDebug = new DevExpress.XtraGrid.Columns.GridColumn(); this.colLogicalIndex = new DevExpress.XtraGrid.Columns.GridColumn(); this.colSignalSource = new DevExpress.XtraGrid.Columns.GridColumn(); @@ -289,7 +290,7 @@ this.gviewLeft.CellValueChanged += new DevExpress.XtraGrid.Views.Base.CellValueChangedEventHandler(this.gviewLeft_CellValueChanged); this.gviewLeft.CustomUnboundColumnData += new DevExpress.XtraGrid.Views.Base.CustomColumnDataEventHandler(this.gview_CustomUnboundColumnData); this.gviewLeft.CustomColumnDisplayText += new DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventHandler(this.gviewLeft_CustomColumnDisplayText); - this.gviewLeft.LayoutUpgrade += new DevExpress.Utils.LayoutUpgadeEventHandler(this.gviewLeft_LayoutUpgrade); + this.gviewLeft.LayoutUpgrade += new DevExpress.Utils.LayoutUpgradeEventHandler(this.gviewLeft_LayoutUpgrade); this.gviewLeft.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.gview_KeyPress); this.gviewLeft.MouseDown += new System.Windows.Forms.MouseEventHandler(this.gview_MouseDown); this.gviewLeft.MouseUp += new System.Windows.Forms.MouseEventHandler(this.gview_MouseUp); @@ -551,6 +552,7 @@ this.colUid, this.colNetworkName, this.colNetworkOperator, + this.colProvider, this.colDebug, this.colLogicalIndex, this.colSignalSource}); @@ -575,7 +577,7 @@ this.gviewRight.CellValueChanged += new DevExpress.XtraGrid.Views.Base.CellValueChangedEventHandler(this.gviewRight_CellValueChanged); this.gviewRight.CustomUnboundColumnData += new DevExpress.XtraGrid.Views.Base.CustomColumnDataEventHandler(this.gview_CustomUnboundColumnData); this.gviewRight.CustomColumnDisplayText += new DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventHandler(this.gviewRight_CustomColumnDisplayText); - this.gviewRight.LayoutUpgrade += new DevExpress.Utils.LayoutUpgadeEventHandler(this.gviewRight_LayoutUpgrade); + this.gviewRight.LayoutUpgrade += new DevExpress.Utils.LayoutUpgradeEventHandler(this.gviewRight_LayoutUpgrade); this.gviewRight.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.gview_KeyPress); this.gviewRight.MouseDown += new System.Windows.Forms.MouseEventHandler(this.gview_MouseDown); this.gviewRight.MouseUp += new System.Windows.Forms.MouseEventHandler(this.gview_MouseUp); @@ -778,6 +780,13 @@ this.colNetworkOperator.Name = "colNetworkOperator"; this.colNetworkOperator.OptionsColumn.AllowEdit = false; // + // colProvider + // + resources.ApplyResources(this.colProvider, "colProvider"); + this.colProvider.FieldName = "Provider"; + this.colProvider.Name = "colProvider"; + this.colProvider.OptionsColumn.AllowEdit = false; + // // colDebug // this.colDebug.FieldName = "Debug"; @@ -1814,6 +1823,7 @@ private DevExpress.XtraGrid.Columns.GridColumn colOutSkip; private DevExpress.XtraGrid.Columns.GridColumn colOutHide; private DevExpress.XtraBars.BarButtonItem miPrint; + private DevExpress.XtraGrid.Columns.GridColumn colProvider; private DevExpress.XtraSplashScreen.SplashScreenManager splashScreenManager1; } } diff --git a/ChanSort/MainForm.cs b/ChanSort/MainForm.cs index 069b77d..96736d6 100644 --- a/ChanSort/MainForm.cs +++ b/ChanSort/MainForm.cs @@ -25,7 +25,7 @@ namespace ChanSort.Ui { public partial class MainForm : XtraForm { - public const string AppVersion = "v2013-12-15"; + public const string AppVersion = "v2014-01-19"; private const int MaxMruEntries = 10; @@ -1170,6 +1170,7 @@ namespace ChanSort.Ui if (col == this.colTransportStreamId) return (source & SignalSource.Digital) != 0; if (col == this.colNetworkName) return (source & SignalSource.Digital) != 0; if (col == this.colNetworkOperator) return (source & SignalSource.Digital) != 0; + if (col == this.colProvider) return (source & SignalSource.Digital) != 0; if (col == this.colSatellite) return (source & SignalSource.Sat) != 0; if (col == this.colNetworkId) return (source & SignalSource.Digital) != 0; if (col == this.colSymbolRate) return (source & SignalSource.Sat) != 0; @@ -1297,7 +1298,7 @@ namespace ChanSort.Ui bool isLeftGridSortedByNewProgNr = this.IsLeftGridSortedByNewProgNr; var sel = this.gviewLeft.GetSelectedRows(); - var channel = sel.Length == 0 ? null : (ChannelInfo) this.gviewRight.GetRow(sel[0]); + var channel = sel.Length == 0 ? null : (ChannelInfo) this.gviewLeft.GetRow(sel[0]); this.miMoveUp.Enabled = this.btnUp.Enabled = mayEdit && isLeftGridSortedByNewProgNr && channel != null && channel.GetPosition(this.subListIndex) > this.currentChannelList.FirstProgramNumber; this.miMoveDown.Enabled = this.btnDown.Enabled = mayEdit && isLeftGridSortedByNewProgNr; @@ -2101,13 +2102,13 @@ namespace ChanSort.Ui #endregion #region gviewLeft_LayoutUpgrade, gviewRight_LayoutUpgrade - private void gviewLeft_LayoutUpgrade(object sender, LayoutUpgadeEventArgs e) + private void gviewLeft_LayoutUpgrade(object sender, LayoutUpgradeEventArgs e) { this.gviewLeft.ClearGrouping(); this.gviewLeft.OptionsCustomization.AllowGroup = false; } - private void gviewRight_LayoutUpgrade(object sender, LayoutUpgadeEventArgs e) + private void gviewRight_LayoutUpgrade(object sender, LayoutUpgradeEventArgs e) { this.gviewRight.ClearGrouping(); this.gviewRight.OptionsCustomization.AllowGroup = false; diff --git a/ChanSort/MainForm.de.resx b/ChanSort/MainForm.de.resx index d096deb..558ec55 100644 --- a/ChanSort/MainForm.de.resx +++ b/ChanSort/MainForm.de.resx @@ -253,8 +253,8 @@ &Über ChanSort... - - + + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy LjIuOC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA @@ -264,7 +264,7 @@ Xxl+0wEL - + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy LjIuOC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA @@ -274,7 +274,7 @@ KphCYAEL - + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy LjIuOC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA @@ -284,7 +284,7 @@ ZMgcwAEL - + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy LjIuOC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA diff --git a/ChanSort/MainForm.pt.resx b/ChanSort/MainForm.pt.resx index fd0490d..e83bf4f 100644 --- a/ChanSort/MainForm.pt.resx +++ b/ChanSort/MainForm.pt.resx @@ -62,9 +62,9 @@ - - - + + + Tipo serviço @@ -194,8 +194,8 @@ &Sobre ChanSort... - - + + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA @@ -205,7 +205,7 @@ Xxl+0wEL - + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA @@ -215,7 +215,7 @@ KphCYAEL - + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA @@ -225,7 +225,7 @@ ZMgcwAEL - + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA diff --git a/ChanSort/MainForm.resx b/ChanSort/MainForm.resx index 86a58f0..af374d1 100644 --- a/ChanSort/MainForm.resx +++ b/ChanSort/MainForm.resx @@ -123,7 +123,7 @@ - 0, 110 + 0, 108 361, 17 @@ -189,15 +189,15 @@ False - - + + Combo - - + + RegEx @@ -254,11 +254,11 @@ False - + Numeric - 449, 416 + 449, 418 1 @@ -267,7 +267,7 @@ gridLeft - DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpOutputList @@ -279,7 +279,7 @@ Bottom - 2, 470 + 2, 472 2, 2, 2, 2 @@ -297,7 +297,7 @@ lblHotkeyLeft - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpOutputList @@ -324,7 +324,7 @@ 0, 5 - 1464, 0 + 1463, 0 Pr# @@ -333,7 +333,7 @@ pageProgNr - DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a tabSubList @@ -351,7 +351,7 @@ tabSubList - DevExpress.XtraTab.XtraTabControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraTab.XtraTabControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpSubList @@ -363,7 +363,7 @@ Top - 0, 83 + 0, 81 1474, 27 @@ -381,7 +381,7 @@ grpSubList - DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -539,41 +539,41 @@ Tools - - + + - AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4xLCBWZXJzaW9uPTEz - LjEuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz + LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEZpbGUE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICKaPJ5gsBeU2NTSFe Xxl+0wEL - + - AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4xLCBWZXJzaW9uPTEz - LjEuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz + LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEhlbHAE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICdEVVDegwMU2acNpw KphCYAEL - + - AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4xLCBWZXJzaW9uPTEz - LjEuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz + LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEVkaXQE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICZMTu18lZRU+IqmAu ZMgcwAEL - + - AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4xLCBWZXJzaW9uPTEz - LjEuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz + LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAAB09wdGlvbnME/P///wtTeXN0ZW0uR3VpZAsAAAACX2EC X2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICXJMOh9nzAkKc @@ -587,13 +587,13 @@ 0, 0 - 1474, 26 + 1474, 24 barDockControlTop - DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -614,7 +614,7 @@ barDockControlBottom - DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -626,16 +626,16 @@ Left - 0, 26 + 0, 24 - 0, 573 + 0, 575 barDockControlLeft - DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -647,16 +647,16 @@ Right - 1474, 26 + 1474, 24 - 0, 573 + 0, 575 barDockControlRight - DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -673,12 +673,12 @@ swap - - + + Default - 46, 19 + 47, 19 10 @@ -687,7 +687,7 @@ rbInsertSwap - DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpTopPanel @@ -705,7 +705,7 @@ after - 45, 19 + 46, 19 9 @@ -714,7 +714,7 @@ rbInsertAfter - DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpTopPanel @@ -729,7 +729,7 @@ before - 53, 19 + 54, 19 8 @@ -738,7 +738,7 @@ rbInsertBefore - DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpTopPanel @@ -768,7 +768,7 @@ cbCloseGap - DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpTopPanel @@ -792,7 +792,7 @@ lblInsertMode - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpTopPanel @@ -819,7 +819,7 @@ picDonate - DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpTopPanel @@ -834,7 +834,7 @@ 0, 33 - 1285, 0 + 1284, 0 No channel lists @@ -843,7 +843,7 @@ pageEmpty - DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a tabChannelList @@ -861,7 +861,7 @@ tabChannelList - DevExpress.XtraTab.XtraTabControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraTab.XtraTabControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpTopPanel @@ -869,7 +869,7 @@ 6 - + Vertical @@ -891,7 +891,7 @@ lblSetProgramNr - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpTopPanel @@ -902,13 +902,13 @@ 437, 5 - + OK \d{1,4} - + RegEx @@ -921,7 +921,7 @@ txtSetSlot - DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpTopPanel @@ -933,7 +933,7 @@ Top - 0, 26 + 0, 24 1474, 57 @@ -948,7 +948,7 @@ grpTopPanel - DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -972,73 +972,73 @@ gviewLeft - DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colIndex1 - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colOutServiceType - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colOutSlot - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colOutName - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colOutFav - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a repositoryItemCheckedComboBoxEdit1 - DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colUid1 - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colOutLock - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colOutSkip - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colOutHide - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a repositoryItemTextEdit1 - DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a globalImageCollection1 @@ -1050,499 +1050,505 @@ gviewRight - DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colIndex - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colSlotOld - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colSlotNew - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colName - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colShortName - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colFavorites - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a repositoryItemCheckedComboBoxEdit2 - DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colLock - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colSkip - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colHidden - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colEncrypted - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colChannelOrTransponder - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colFreqInMhz - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colServiceId - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colVideoPid - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colAudioPid - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colServiceType - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colServiceTypeName - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colSatellite - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colNetworkId - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colTransportStreamId - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colSymbolRate - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colPolarity - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colUid - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colNetworkName - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colNetworkOperator - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colProvider + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colDebug - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colLogicalIndex - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a colSignalSource - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a barManager1 - DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a bar1 - DevExpress.XtraBars.Bar, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.Bar, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miFile - DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miOpen - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miReload - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miRestoreOriginal - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miFileInformation - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miSave - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miSaveAs - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miOpenReferenceFile - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miAddFromRefList - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miSaveReferenceFile - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miExcelExport - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miPrint - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miQuit - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miRecentFiles - DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miEdit - DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miAddChannel - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miRemove - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miRenameChannel - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miSort - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miRenum - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a mnuFavSet - DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miFavSet - DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a mnuFavUnset - DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miFavUnset - DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miLockOn - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miLockOff - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miSkipOn - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miSkipOff - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miHideOn - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miHideOff - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a barSubItem2 - DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miTvSettings - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miCleanupChannels - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a mnuOptions - DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a barSubItem1 - DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miEnglish - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miGerman - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miPortuguese - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a mnuCharset - DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miCharsetForm - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miIsoCharSets - DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miShowWarningsAfterLoad - DevExpress.XtraBars.BarCheckItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarCheckItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a mnuHelp - DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miWiki - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miOpenWebsite - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miAbout - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miMoveUp - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a miMoveDown - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a defaultLookAndFeel1 - DevExpress.LookAndFeel.DefaultLookAndFeel, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.LookAndFeel.DefaultLookAndFeel, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a splashScreenManager1 - DevExpress.XtraSplashScreen.SplashScreenManager, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraSplashScreen.SplashScreenManager, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a mnuContext - DevExpress.XtraBars.PopupMenu, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraBars.PopupMenu, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a timerEditDelay @@ -1554,10 +1560,10 @@ MainForm - DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - 11/23/2013 14:39:54 + 01/19/2014 15:33:34 16, 16 @@ -1578,7 +1584,7 @@ btnToggleLock - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a pnlEditControls @@ -1602,7 +1608,7 @@ btnToggleFavE - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a pnlEditControls @@ -1626,7 +1632,7 @@ btnToggleFavD - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a pnlEditControls @@ -1650,7 +1656,7 @@ btnToggleFavC - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a pnlEditControls @@ -1674,7 +1680,7 @@ btnToggleFavB - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a pnlEditControls @@ -1698,7 +1704,7 @@ btnToggleFavA - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a pnlEditControls @@ -1728,7 +1734,7 @@ btnClearLeftFilter - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a pnlEditControls @@ -1755,7 +1761,7 @@ btnRenum - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a pnlEditControls @@ -1782,7 +1788,7 @@ btnDown - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a pnlEditControls @@ -1809,7 +1815,7 @@ btnUp - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a pnlEditControls @@ -1836,7 +1842,7 @@ btnRemoveLeft - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a pnlEditControls @@ -1860,7 +1866,7 @@ pnlEditControls - DevExpress.XtraEditors.PanelControl, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.PanelControl, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpOutputList @@ -1875,7 +1881,7 @@ 0, 0 - 453, 489 + 453, 491 0 @@ -1887,7 +1893,7 @@ grpOutputList - DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a splitContainerControl1.Panel1 @@ -1970,13 +1976,13 @@ False - + Combo - + RegEx @@ -2204,6 +2210,15 @@ 21 + + Provider + + + True + + + 22 + Order @@ -2211,7 +2226,7 @@ Signal source - 1013, 416 + 1012, 418 1 @@ -2220,7 +2235,7 @@ gridRight - DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpInputList @@ -2232,7 +2247,7 @@ Bottom - 2, 470 + 2, 472 2, 2, 2, 2 @@ -2250,7 +2265,7 @@ lblHotkeyRight - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpInputList @@ -2277,7 +2292,7 @@ btnRemoveRight - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a panelControl3 @@ -2304,7 +2319,7 @@ btnAddAll - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a panelControl3 @@ -2334,7 +2349,7 @@ btnClearRightFilter - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a panelControl3 @@ -2361,7 +2376,7 @@ btnAdd - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a panelControl3 @@ -2376,7 +2391,7 @@ 2, 21 - 1013, 33 + 1012, 33 0 @@ -2385,7 +2400,7 @@ panelControl3 - DevExpress.XtraEditors.PanelControl, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.PanelControl, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a grpInputList @@ -2400,7 +2415,7 @@ 0, 0 - 1017, 489 + 1016, 491 0 @@ -2412,7 +2427,7 @@ grpInputList - DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a splitContainerControl1.Panel2 @@ -2424,7 +2439,7 @@ Panel2 - 1474, 489 + 1474, 491 5 @@ -2436,7 +2451,7 @@ splitContainerControl1 - DevExpress.XtraEditors.SplitContainerControl, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SplitContainerControl, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this diff --git a/ChanSort/Printing/ReportOptionsDialog.resx b/ChanSort/Printing/ReportOptionsDialog.resx index 3fb4eb2..3ccfd3e 100644 --- a/ChanSort/Printing/ReportOptionsDialog.resx +++ b/ChanSort/Printing/ReportOptionsDialog.resx @@ -135,7 +135,7 @@ labelControl1 - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -162,7 +162,7 @@ rbSortByNumber - DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -186,7 +186,7 @@ rbSortByName - DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -210,7 +210,7 @@ labelControl2 - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -228,8 +228,8 @@ 106, 52 - - + + Combo @@ -242,7 +242,7 @@ fontEdit1 - DevExpress.XtraEditors.FontEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.FontEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -269,7 +269,7 @@ btnPreview - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -296,7 +296,7 @@ btnCancel - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -313,7 +313,7 @@ 266, 52 - + Combo @@ -329,7 +329,7 @@ spinFontSize - DevExpress.XtraEditors.SpinEdit, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.SpinEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a $this @@ -356,6 +356,6 @@ ReportOptionsDialog - DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a \ No newline at end of file diff --git a/ChanSort/Properties/licenses.licx b/ChanSort/Properties/licenses.licx index b0af693..ed1cb10 100644 --- a/ChanSort/Properties/licenses.licx +++ b/ChanSort/Properties/licenses.licx @@ -1,3 +1,6 @@ -DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/ChanSort/WaitForm1.resx b/ChanSort/WaitForm1.resx index 24df354..f4746bd 100644 --- a/ChanSort/WaitForm1.resx +++ b/ChanSort/WaitForm1.resx @@ -145,7 +145,7 @@ 0, 14, 0, 14 - DevExpress.XtraWaitForm.WaitForm, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraWaitForm.WaitForm, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a WaitForm1 @@ -227,7 +227,7 @@ Horizontal - DevExpress.XtraWaitForm.ProgressPanel, DevExpress.XtraEditors.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + DevExpress.XtraWaitForm.ProgressPanel, DevExpress.XtraEditors.v13.2, Version=13.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a Horizontal diff --git a/Information/LG+Samsung Model Info.xlsx b/Information/LG+Samsung Model Info.xlsx index 93e8b3d9304e0546576c1d1c47567ddd54414e9a..8f5f034ad81e099754e98154e2727094bef4c7fe 100644 GIT binary patch delta 18970 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 YqYd4}14$f5s4yF(a|~A|b%7 delta 15620 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

lE;UAF76`xy|WV_DSqg6b>qBV=Fs~PqTnX68= z5=I%=<&dTBCu~dIPgylu(1x_tZ?e<>8L(J!fW2bJHX-kox7)c1>uDsZ^2=-jdiAa)!yr@e3U6Vzr7{!>9k*>vy&KzK$W?aGralcON+yaZa?< zb-#^IM+8*+Zkv*AS+57qr{OqyP|!slMJzVy*Ama_nHXF(RC1y9%f@eXE6gC@@6B0Dnvs*9S}28_0xAI%I-7Zq*t1>3+sMP0G>` zOb}2Xn>cV`q+3A;Cr9oH6AyG}vUyh6xs9oG$*p%uWU?^qpSerP;HusgGLn+T8E~iP z+gT#Cw)HJZ!#|_Re=9Iw_Z}!c{~_yoyl2oIw@N18;mV=xWed2I5LvZMH4vc~Gd-p? zhdRl_t(v?D)keaR(=dJa zGV$rq>eu<$dZp><>A}}P1yO&;AGdCyAnq*ctRpb9SdmCun#oQ_H{E=00VDK4Y;9_l zjiS&4O*F&pm2byU|?_WZy;9$lp0JJ?DG}C@xQXuh2nG=_g}_ z2pfTW$mM1^XDlzk=~;^RrtjGyNw}sDz(>OG;-30trHAeZVtR=l%1x|cn(Ky~dObS`q6MfHaAhx5Ya`zlOdaquF>*7WrY zI_Trao(#4h<}I1w*JZZPN8Thh3-)3JIuKxBX#X*Lzq0ZHLBtC}9QcAh#goGn J2mJl={{W^x%L@Pi diff --git a/Test.Loader/SamsungTest.cs b/Test.Loader/SamsungTest.cs index 74f1d98..993fd13 100644 --- a/Test.Loader/SamsungTest.cs +++ b/Test.Loader/SamsungTest.cs @@ -58,7 +58,11 @@ namespace Test.Loader 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); + var primeChannelList = serializer.DataRoot.GetChannelList(ChanSort.Api.SignalSource.CablePrimeD | ChanSort.Api.SignalSource.Tv); + var hdplusChannelList = serializer.DataRoot.GetChannelList(ChanSort.Api.SignalSource.HdPlusD | ChanSort.Api.SignalSource.Tv); + var freesatChannelList = serializer.DataRoot.GetChannelList(ChanSort.Api.SignalSource.FreesatD | ChanSort.Api.SignalSource.Tv); + var tivusatChannelList = serializer.DataRoot.GetChannelList(ChanSort.Api.SignalSource.TivuSatD | ChanSort.Api.SignalSource.Tv); + string key = serializer.Series + "\t" + model + "\t" + serializer.AnalogChannelLength + @@ -67,10 +71,13 @@ namespace Test.Loader "\t" + serializer.DigitalChannelLength + "\t" + (digitalAirList != null && digitalAirList.Count > 0) + "\t" + (digitalCableList != null && digitalCableList.Count > 0) + + "\t" + (primeChannelList != null && primeChannelList.Count > 0) + "\t" + serializer.SatChannelLength + "\t" + (satChannelList != null && satChannelList.Count > 0) + "\t" + serializer.HdPlusChannelLength + - "\t" + (hdChannelList != null && hdChannelList.Count > 0) + + "\t" + (hdplusChannelList != null && hdplusChannelList.Count > 0) + + "\t" + (freesatChannelList != null && freesatChannelList.Count > 0) + + "\t" + (tivusatChannelList != null && tivusatChannelList.Count > 0) + "\t" + serializer.SatDatabaseVersion; string relPath = Path.GetFileName(Path.GetDirectoryName(file)) + "\\" + fileName; models[key] = serializer.Series + @@ -84,8 +91,11 @@ namespace Test.Loader "\t" + (analogCableList == null ? 0 : analogCableList.Count) + "\t" + (digitalAirList == null ? 0 : digitalAirList.Count) + "\t" + (digitalCableList == null ? 0 : digitalCableList.Count) + + "\t" + (primeChannelList == null ? 0 : primeChannelList.Count) + "\t" + (satChannelList == null ? 0 : satChannelList.Count) + - "\t" + (hdChannelList == null ? 0 : hdChannelList.Count) + + "\t" + (hdplusChannelList == null ? 0 : hdplusChannelList.Count) + + "\t" + (freesatChannelList == null ? 0 : freesatChannelList.Count) + + "\t" + (tivusatChannelList == null ? 0 : tivusatChannelList.Count) + "\t" + relPath; Assert.IsFalse(serializer.DataRoot.IsEmpty, "No channels loaded from " + file); diff --git a/readme.txt b/readme.txt index c7994b7..deb6acb 100644 --- a/readme.txt +++ b/readme.txt @@ -1,10 +1,8 @@ -Version v2013-12-15 ======================================================= +Version v2014-01-19 ======================================================= Changes: -- Support for new channel list file format introduced by LG's firmware - 04.20.29 for LA- and LN-series -- LG DVB-C/T channel numbers are now marked as "moved" so that the TV - does not change them automatically +- show channel "Provider" information for Samsung C,D and E series DVB-C/T + and Satellite channel lists (no data available for Astra HD+) The complete change log can be found at the end of this document @@ -41,7 +39,8 @@ Samsung ------- Series: B (2009)*, B (2013), C, D, E, F Lists: Air analog, Air digital, Cable analog, Cable digital, - Cable prime, Sat digital, Astra HD+, Freesat digital + Cable prime, Sat digital, Astra HD+, Freesat digital, + TivuSat digital * NOTE: the "Air Analog"-list of the 2009 B-series doesn't support all editing features due to a lack of test files. If you have such a file, @@ -113,6 +112,16 @@ OTHER DEALINGS IN THE SOFTWARE. Change log ================================================================ +2013-12-22 +- Analog channel names loaded from a reference file (.csv, .csm, .tll, ...) + are now copied into and saved with the current TV data file . + +2013-12-20 +- fixed incorrect disabling of "move channel up" button/menu item + +2013-12-19 +- Support for Samsung Tivusat channel list + 2013-12-15 - Support for new channel list file format introduced by LG's firmware 04.20.29 for LA- and LN-series