diff --git a/source/ChanSort.Loader.Amdb/ChanSort.Loader.Amdb.csproj b/source/ChanSort.Loader.Amdb/ChanSort.Loader.Amdb.csproj index 3f854a3..98b8691 100644 --- a/source/ChanSort.Loader.Amdb/ChanSort.Loader.Amdb.csproj +++ b/source/ChanSort.Loader.Amdb/ChanSort.Loader.Amdb.csproj @@ -13,7 +13,8 @@ ..\Release\ - + + diff --git a/source/ChanSort.Loader.Android/ChanSort.Loader.Android.csproj b/source/ChanSort.Loader.Android/ChanSort.Loader.Android.csproj index 71d6aab..fa4c037 100644 --- a/source/ChanSort.Loader.Android/ChanSort.Loader.Android.csproj +++ b/source/ChanSort.Loader.Android/ChanSort.Loader.Android.csproj @@ -15,7 +15,8 @@ - + + diff --git a/source/ChanSort.Loader.DBM/ChanSort.Loader.DBM.ini b/source/ChanSort.Loader.DBM/ChanSort.Loader.DBM.ini index 4c255ba..d8f87d2 100644 --- a/source/ChanSort.Loader.DBM/ChanSort.Loader.DBM.ini +++ b/source/ChanSort.Loader.DBM/ChanSort.Loader.DBM.ini @@ -242,6 +242,66 @@ offVideoPid=110 ;--------------------------------------- +[dbm:782536] +; overall file layout, e.g. Vantage VT-80 HD +isDvbS=true +offChecksum=0x0000 +offDataLength=0x0002 +offData=0x0006 + +offSatelliteBitmap=0x0006 +lenSatelliteBitmap=28 +offSatelliteData=0x0022 +numSatellite=200 +lenSatelliteData=88 + +offTransponderBitmap=0x44e0 +lenTransponderBitmap=376 +offTransponderData=0x465A +numTransponder=3000 +lenTransponderData=36 + +offChannelBitmap=0x1EC50 +lenChannelBitmap=502 +offChannelData=0x1EE46 +numChannel=4000 +lenChannelData=164 + +;satellite record +offSatName=0 +lenSatName=34 +offLowFreq=34 +offHighFreq=36 +offOribalPos=74 + +;transponder record +offFreq=0 +offSymRate=20 + +;channel record +reorderPhysically=true +offName=0 +lenName=64 +offProgNr=64 +offLcn=66 +offSatelliteIndex=70 +offTransponderIndex=72 +offServiceType=80 +offHide=81 +maskHide=0x04 +offSkip=81 +maskSkip=0x08 +offLock=81 +maskLock=0x10 +offFavorites=83 +offTsid=100 +offOnid=102 +offSid=104 +offPcrPid=108 +offVideoPid=110 + +;--------------------------------------- + [dbm:785256] ; overall file layout, e.g. Strong HB_DATABASE_5_4.DBM isDvbS=true diff --git a/source/ChanSort.Loader.Hisense/ChanSort.Loader.Hisense.csproj b/source/ChanSort.Loader.Hisense/ChanSort.Loader.Hisense.csproj index 7569b43..1ae9895 100644 --- a/source/ChanSort.Loader.Hisense/ChanSort.Loader.Hisense.csproj +++ b/source/ChanSort.Loader.Hisense/ChanSort.Loader.Hisense.csproj @@ -44,7 +44,8 @@ - + + diff --git a/source/ChanSort.Loader.Panasonic/ChanSort.Loader.Panasonic.csproj b/source/ChanSort.Loader.Panasonic/ChanSort.Loader.Panasonic.csproj index dd3f6e7..a1b25be 100644 --- a/source/ChanSort.Loader.Panasonic/ChanSort.Loader.Panasonic.csproj +++ b/source/ChanSort.Loader.Panasonic/ChanSort.Loader.Panasonic.csproj @@ -32,7 +32,8 @@ - + + diff --git a/source/ChanSort.Loader.Panasonic/DbChannel.cs b/source/ChanSort.Loader.Panasonic/DbChannel.cs index 379d330..54f658b 100644 --- a/source/ChanSort.Loader.Panasonic/DbChannel.cs +++ b/source/ChanSort.Loader.Panasonic/DbChannel.cs @@ -200,8 +200,15 @@ namespace ChanSort.Loader.Panasonic /// private void ReadNamesWithEncodingDetection(IDataReader r, IDictionary field, Encoding encoding) { - byte[] buffer = new byte[100]; - int len = (int)r.GetBytes(field["sname"], 0, buffer, 0, buffer.Length); +#if true || NoAccessViolationInSQLitePCLRaw + // The NuGet packages Microsoft.Data.Sqlite 9.0.0-9.0.2 throw an AccessViolationException and terminate the program when reading a "string" column with GetBytes() + byte[] buffer = new byte[300]; + int len = (int)r.GetBytes(field["sname"], 0, buffer, 0, buffer.Length/3); +#else + var str = r.GetString(field["sname"]); + var buffer = Encoding.UTF8.GetBytes(str); + var len = buffer.Length; +#endif this.RawName = new byte[len]; Array.Copy(buffer, 0, this.RawName, 0, len); this.ChangeEncoding(encoding); diff --git a/source/ChanSort.Loader.Philips/ChanSort.Loader.Philips.csproj b/source/ChanSort.Loader.Philips/ChanSort.Loader.Philips.csproj index ec6f4ca..eeeb3e9 100644 --- a/source/ChanSort.Loader.Philips/ChanSort.Loader.Philips.csproj +++ b/source/ChanSort.Loader.Philips/ChanSort.Loader.Philips.csproj @@ -44,7 +44,8 @@ - + + diff --git a/source/ChanSort.Loader.Samsung/ChanSort.Loader.Samsung.csproj b/source/ChanSort.Loader.Samsung/ChanSort.Loader.Samsung.csproj index de1fc7b..d51593f 100644 --- a/source/ChanSort.Loader.Samsung/ChanSort.Loader.Samsung.csproj +++ b/source/ChanSort.Loader.Samsung/ChanSort.Loader.Samsung.csproj @@ -38,7 +38,8 @@ - + + diff --git a/source/ChanSort.Loader.SatcoDX/Channel.cs b/source/ChanSort.Loader.SatcoDX/Channel.cs index 41c0653..59fc331 100644 --- a/source/ChanSort.Loader.SatcoDX/Channel.cs +++ b/source/ChanSort.Loader.SatcoDX/Channel.cs @@ -10,6 +10,7 @@ namespace ChanSort.Loader.SatcoDX private readonly byte[] data; public int FileOffset { get; } public int Length { get; } + private bool forceUtf8; #region ctor() @@ -27,7 +28,7 @@ namespace ChanSort.Loader.SatcoDX throw LoaderException.Fail("Unrecognized channel format"); // 10-27: satellite name - this.Satellite = line.Substring(10, 18); + this.Satellite = line.Substring(10, 18).TrimEnd('\0', ' ', '_'); // 28: channel type var type = line[28]; @@ -96,14 +97,19 @@ namespace ChanSort.Loader.SatcoDX // 43-50 + 115-126 in version 103 or 115-131 in version 105: channel name byte[] nameBytes = new byte[8 + 17]; - var nameLen2 = Math.Min(length - 115, 17); // version 103 has 12 extra bytes for channel name, version 105 has 17 + int lineEnd = Array.IndexOf(data, (byte)'\x0A', start + 115); + var maxLen = lineEnd < 0 ? data.Length - start : lineEnd - start >= 132 ? 17 : 12; + var nameLen2 = Math.Min(length - 115, maxLen); // version 103 has 12 extra bytes for channel name, version 105 has 17 (uploaded_service_list.sdx) or 12 (Panasonic Fire-OS Channels.sdx) Array.Copy(data, start + 43, nameBytes, 0, 8); Array.Copy(data, start + 115, nameBytes, 8, nameLen2); // I have seen format 103 files using only implicit CP1252 encoding for Umlauts, as well as format 105 with implicit UTF-8/explicit DVB-encoding var oldDefaultEncoding = decoder.DefaultEncoding; if (nameLen2 > 12) + { decoder.DefaultEncoding = Encoding.UTF8; + this.forceUtf8 = true; + } decoder.GetChannelNames(nameBytes, 0, nameBytes.Length, out var longName, out var shortName); decoder.DefaultEncoding = oldDefaultEncoding; this.Name = longName.TrimEnd(); @@ -119,6 +125,8 @@ namespace ChanSort.Loader.SatcoDX return; // 43-50 + 115-126 in version 103 or 115-131 in version 105: channel name + if (this.forceUtf8) + encoding = Encoding.UTF8; var bytes = encoding.GetBytes(this.Name); Tools.MemSet(buffer, 43, 32, 8); Tools.MemSet(buffer, 115, 32, buffer.Length - 115 -1); diff --git a/source/ChanSort.Loader.TCL/ChanSort.Loader.TCL.csproj b/source/ChanSort.Loader.TCL/ChanSort.Loader.TCL.csproj index 4839be4..f6f37bf 100644 --- a/source/ChanSort.Loader.TCL/ChanSort.Loader.TCL.csproj +++ b/source/ChanSort.Loader.TCL/ChanSort.Loader.TCL.csproj @@ -6,7 +6,8 @@ latest - + + diff --git a/source/ChanSort.Loader.Toshiba/ChanSort.Loader.Toshiba.csproj b/source/ChanSort.Loader.Toshiba/ChanSort.Loader.Toshiba.csproj index ef0e9a8..6dab289 100644 --- a/source/ChanSort.Loader.Toshiba/ChanSort.Loader.Toshiba.csproj +++ b/source/ChanSort.Loader.Toshiba/ChanSort.Loader.Toshiba.csproj @@ -30,7 +30,8 @@ - + + diff --git a/source/ChanSort.Loader.VisionEdge4K/ChanSort.Loader.VisionEdge4K.csproj b/source/ChanSort.Loader.VisionEdge4K/ChanSort.Loader.VisionEdge4K.csproj index 3f854a3..98b8691 100644 --- a/source/ChanSort.Loader.VisionEdge4K/ChanSort.Loader.VisionEdge4K.csproj +++ b/source/ChanSort.Loader.VisionEdge4K/ChanSort.Loader.VisionEdge4K.csproj @@ -13,7 +13,8 @@ ..\Release\ - + + diff --git a/source/ChanSort/ChanSort.csproj b/source/ChanSort/ChanSort.csproj index 66d830a..0100a90 100644 --- a/source/ChanSort/ChanSort.csproj +++ b/source/ChanSort/ChanSort.csproj @@ -218,6 +218,8 @@ + + diff --git a/source/ChanSort/MainForm.Designer.cs b/source/ChanSort/MainForm.Designer.cs index 8352c6d..5e23dd6 100644 --- a/source/ChanSort/MainForm.Designer.cs +++ b/source/ChanSort/MainForm.Designer.cs @@ -225,6 +225,7 @@ this.popupInputSource = new DevExpress.XtraBars.PopupMenu(this.components); this.popupFavList = new DevExpress.XtraBars.PopupMenu(this.components); this.timerSelectFocusedRow = new System.Windows.Forms.Timer(this.components); + this.mnuFileAdvanced = new DevExpress.XtraBars.BarSubItem(); ((System.ComponentModel.ISupportInitialize)(this.splitContainerControl1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainerControl1.Panel1)).BeginInit(); this.splitContainerControl1.Panel1.SuspendLayout(); @@ -1137,9 +1138,10 @@ this.miSwapWithMarked, this.miConvert, this.miSaveAs, - this.miLangIt}); + this.miLangIt, + this.mnuFileAdvanced}); this.barManager1.MainMenu = this.bar1; - this.barManager1.MaxItemId = 123; + this.barManager1.MaxItemId = 124; this.barManager1.ShowFullMenus = true; this.barManager1.ShortcutItemClick += new DevExpress.XtraBars.ShortcutItemClickEventHandler(this.barManager1_ShortcutItemClick); // @@ -1192,10 +1194,8 @@ new DevExpress.XtraBars.LinkPersistInfo(this.miRestoreOriginal), new DevExpress.XtraBars.LinkPersistInfo(this.miDeleteBackup), new DevExpress.XtraBars.LinkPersistInfo(this.miSave, true), - new DevExpress.XtraBars.LinkPersistInfo(this.miSaveAs), - new DevExpress.XtraBars.LinkPersistInfo(this.miSaveReferenceFile), - new DevExpress.XtraBars.LinkPersistInfo(this.miConvert), new DevExpress.XtraBars.LinkPersistInfo(this.miExcelExport), + new DevExpress.XtraBars.LinkPersistInfo(this.mnuFileAdvanced), new DevExpress.XtraBars.LinkPersistInfo(this.miOpenReferenceFile, true), new DevExpress.XtraBars.LinkPersistInfo(this.miAddFromRefList), new DevExpress.XtraBars.LinkPersistInfo(this.miPrint, true), @@ -2281,6 +2281,16 @@ // this.timerSelectFocusedRow.Tick += new System.EventHandler(this.timerSelectFocusedRow_Tick); // + // mnuFileAdvanced + // + resources.ApplyResources(this.mnuFileAdvanced, "mnuFileAdvanced"); + this.mnuFileAdvanced.Id = 123; + this.mnuFileAdvanced.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { + new DevExpress.XtraBars.LinkPersistInfo(this.miSaveReferenceFile), + new DevExpress.XtraBars.LinkPersistInfo(this.miConvert), + new DevExpress.XtraBars.LinkPersistInfo(this.miSaveAs)}); + this.mnuFileAdvanced.Name = "mnuFileAdvanced"; + // // MainForm // this.AllowDrop = true; @@ -2541,6 +2551,7 @@ private DevExpress.XtraBars.BarButtonItem miConvert; private DevExpress.XtraBars.BarButtonItem miSaveAs; private DevExpress.XtraBars.BarButtonItem miLangIt; + private DevExpress.XtraBars.BarSubItem mnuFileAdvanced; } } diff --git a/source/ChanSort/MainForm.cs.resx b/source/ChanSort/MainForm.cs.resx index 1c06106..c36062f 100644 --- a/source/ChanSort/MainForm.cs.resx +++ b/source/ChanSort/MainForm.cs.resx @@ -663,4 +663,7 @@ \d{1,4} + + Vyspělý + \ No newline at end of file diff --git a/source/ChanSort/MainForm.de.resx b/source/ChanSort/MainForm.de.resx index 21cb130..9ead2b3 100644 --- a/source/ChanSort/MainForm.de.resx +++ b/source/ChanSort/MainForm.de.resx @@ -1488,4 +1488,7 @@ speziellen Anbieter, Satelliten oder Länderlisten aus. FIlter + + Erweitert + \ No newline at end of file diff --git a/source/ChanSort/MainForm.es.resx b/source/ChanSort/MainForm.es.resx index 792c9b8..7a0a7d8 100644 --- a/source/ChanSort/MainForm.es.resx +++ b/source/ChanSort/MainForm.es.resx @@ -654,4 +654,7 @@ Esquema de colores... + + Avanzado + \ No newline at end of file diff --git a/source/ChanSort/MainForm.hu.resx b/source/ChanSort/MainForm.hu.resx index 84bdb6d..78d773a 100644 --- a/source/ChanSort/MainForm.hu.resx +++ b/source/ChanSort/MainForm.hu.resx @@ -678,4 +678,7 @@ Audio\nPID + + Fejlett + \ No newline at end of file diff --git a/source/ChanSort/MainForm.it.resx b/source/ChanSort/MainForm.it.resx index 2188cd0..d2bb652 100644 --- a/source/ChanSort/MainForm.it.resx +++ b/source/ChanSort/MainForm.it.resx @@ -672,4 +672,7 @@ elenchi di fornitori, satelliti o paesi specifici. controllo del contenitore diviso 1 + + Avanzato + \ No newline at end of file diff --git a/source/ChanSort/MainForm.pl.resx b/source/ChanSort/MainForm.pl.resx index 655691a..e99fb32 100644 --- a/source/ChanSort/MainForm.pl.resx +++ b/source/ChanSort/MainForm.pl.resx @@ -696,4 +696,7 @@ Zamień z zaznaczonym + + Postępowy + \ No newline at end of file diff --git a/source/ChanSort/MainForm.pt.resx b/source/ChanSort/MainForm.pt.resx index 2d381c6..cbb9d1c 100644 --- a/source/ChanSort/MainForm.pt.resx +++ b/source/ChanSort/MainForm.pt.resx @@ -379,4 +379,7 @@ &Idioma + + Avançado + \ No newline at end of file diff --git a/source/ChanSort/MainForm.resx b/source/ChanSort/MainForm.resx index 75abb6e..747a859 100644 --- a/source/ChanSort/MainForm.resx +++ b/source/ChanSort/MainForm.resx @@ -276,7 +276,7 @@ gridLeft - ChanSort.XGridControl, ChanSort, Version=1.0.8625.19498, Culture=neutral, PublicKeyToken=null + ChanSort.XGridControl, ChanSort, Version=1.0.9198.20671, Culture=neutral, PublicKeyToken=null grpOutputList @@ -419,11 +419,14 @@ 4 - - Save &as... + + Export Excel list... - - Save channel list under a different file name + + 32 + + + Advanced Save reference list... @@ -437,11 +440,11 @@ 33 - - Export Excel list... + + Save &as... - - 32 + + Save channel list under a different file name Apply order from a reference list... @@ -838,8 +841,8 @@ - AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYyMy4xLCBWZXJzaW9uPTIz - LjEuNC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYyMy4yLCBWZXJzaW9uPTIz + LjIuNS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEZpbGUE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICKaPJ5gsBeU2NTSFe @@ -848,8 +851,8 @@ - AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYyMy4xLCBWZXJzaW9uPTIz - LjEuNC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYyMy4yLCBWZXJzaW9uPTIz + LjIuNS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEhlbHAE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICdEVVDegwMU2acNpw @@ -858,8 +861,8 @@ - AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYyMy4xLCBWZXJzaW9uPTIz - LjEuNC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYyMy4yLCBWZXJzaW9uPTIz + LjIuNS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEVkaXQE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICZMTu18lZRU+IqmAu @@ -868,8 +871,8 @@ - AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYyMy4xLCBWZXJzaW9uPTIz - LjEuNC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYyMy4yLCBWZXJzaW9uPTIz + LjIuNS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAAB09wdGlvbnME/P///wtTeXN0ZW0uR3VpZAsAAAACX2EC X2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICXJMOh9nzAkKc @@ -878,8 +881,8 @@ - AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYyMy4xLCBWZXJzaW9uPTIz - LjEuNC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYyMy4yLCBWZXJzaW9uPTIz + LjIuNS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAADUFjY2Vzc2liaWxpdHkE/P///wtTeXN0ZW0uR3VpZAsA AAACX2ECX2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICeIvz @@ -1267,7 +1270,7 @@ gviewLeft - ChanSort.XGridView, ChanSort, Version=1.0.8625.19498, Culture=neutral, PublicKeyToken=null + ChanSort.XGridView, ChanSort, Version=1.0.9198.20671, Culture=neutral, PublicKeyToken=null colIndex1 @@ -1351,13 +1354,13 @@ globalImageCollection1 - ChanSort.Ui.GlobalImageCollection, ChanSort, Version=1.0.8625.19498, Culture=neutral, PublicKeyToken=null + ChanSort.Ui.GlobalImageCollection, ChanSort, Version=1.0.9198.20671, Culture=neutral, PublicKeyToken=null gviewRight - ChanSort.XGridView, ChanSort, Version=1.0.8625.19498, Culture=neutral, PublicKeyToken=null + ChanSort.XGridView, ChanSort, Version=1.0.9198.20671, Culture=neutral, PublicKeyToken=null colIndex @@ -2151,6 +2154,12 @@ System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + mnuFileAdvanced + + + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v23.2, Version=23.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + MainForm @@ -2158,7 +2167,7 @@ DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v23.2, Version=23.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - 08/13/2023 10:51:28 + 03/08/2025 11:54:22 16, 16 @@ -3042,7 +3051,7 @@ gridRight - ChanSort.XGridControl, ChanSort, Version=1.0.8625.19498, Culture=neutral, PublicKeyToken=null + ChanSort.XGridControl, ChanSort, Version=1.0.9198.20671, Culture=neutral, PublicKeyToken=null grpInputList @@ -3333,15 +3342,15 @@ 611, 17 - 742, 17 + 741, 17 - 873, 17 + 872, 17 - 1026, 17 + 1025, 17 - 1151, 17 + 1150, 17 \ No newline at end of file diff --git a/source/ChanSort/MainForm.ro.resx b/source/ChanSort/MainForm.ro.resx index c9063b9..e6f5923 100644 --- a/source/ChanSort/MainForm.ro.resx +++ b/source/ChanSort/MainForm.ro.resx @@ -687,4 +687,7 @@ furnizor specific, satelit sau liste de țări. \d{1,4} + + Avansat + \ No newline at end of file diff --git a/source/ChanSort/MainForm.ru.resx b/source/ChanSort/MainForm.ru.resx index 061e8e7..4110a48 100644 --- a/source/ChanSort/MainForm.ru.resx +++ b/source/ChanSort/MainForm.ru.resx @@ -717,4 +717,7 @@ Язык + + передовой + \ No newline at end of file diff --git a/source/ChanSort/MainForm.tr.resx b/source/ChanSort/MainForm.tr.resx index ec8f363..942eecf 100644 --- a/source/ChanSort/MainForm.tr.resx +++ b/source/ChanSort/MainForm.tr.resx @@ -657,4 +657,7 @@ Renk uyumu...+X91 + + Gelişmiş + \ No newline at end of file diff --git a/source/Information/FileStructures_for_HHD_Hex_Editor_Neo/dbm.h b/source/Information/FileStructures_for_HHD_Hex_Editor_Neo/dbm.h index 9ff6cf2..e951a23 100644 --- a/source/Information/FileStructures_for_HHD_Hex_Editor_Neo/dbm.h +++ b/source/Information/FileStructures_for_HHD_Hex_Editor_Neo/dbm.h @@ -184,6 +184,19 @@ public struct DBM channelRecordCount = 4000; channelRecordLength = 164; break; + case 782536: + // Vantage VT-80 HD + satBitmapLength = 28; + satRecordCount = 200; + satRecordLength = 88; + transponderBitmapLength = 376; + transponderRecordCount = 3000; + transponderRecordLength = 36; + unknownDataAfterTransponderData = 22; + channelBitmapLength = 502; + channelRecordCount = 4000; + channelRecordLength = 164; + break; case 785256: // Strong HB_DATABASE_5_4.DBM satBitmapLength = 32; diff --git a/source/Spike.LgWebOs5/Spikes.csproj b/source/Spike.LgWebOs5/Spikes.csproj index e59a764..12e439d 100644 --- a/source/Spike.LgWebOs5/Spikes.csproj +++ b/source/Spike.LgWebOs5/Spikes.csproj @@ -26,6 +26,8 @@ + + diff --git a/source/Test.Loader.Hisense/Test.Loader.Hisense.csproj b/source/Test.Loader.Hisense/Test.Loader.Hisense.csproj index 6ae9c6c..8933be1 100644 --- a/source/Test.Loader.Hisense/Test.Loader.Hisense.csproj +++ b/source/Test.Loader.Hisense/Test.Loader.Hisense.csproj @@ -13,6 +13,8 @@ + + diff --git a/source/Test.Loader.Panasonic/Test.Loader.Panasonic.csproj b/source/Test.Loader.Panasonic/Test.Loader.Panasonic.csproj index fa532a8..b5d74c3 100644 --- a/source/Test.Loader.Panasonic/Test.Loader.Panasonic.csproj +++ b/source/Test.Loader.Panasonic/Test.Loader.Panasonic.csproj @@ -13,6 +13,8 @@ + + diff --git a/source/Test.Loader.Philips/Test.Loader.Philips.csproj b/source/Test.Loader.Philips/Test.Loader.Philips.csproj index 8e3c020..62ac5d5 100644 --- a/source/Test.Loader.Philips/Test.Loader.Philips.csproj +++ b/source/Test.Loader.Philips/Test.Loader.Philips.csproj @@ -205,6 +205,8 @@ + + diff --git a/source/Test.Loader.Samsung/Test.Loader.Samsung.csproj b/source/Test.Loader.Samsung/Test.Loader.Samsung.csproj index dd6c529..95eed88 100644 --- a/source/Test.Loader.Samsung/Test.Loader.Samsung.csproj +++ b/source/Test.Loader.Samsung/Test.Loader.Samsung.csproj @@ -21,6 +21,8 @@ + + diff --git a/source/Test.Loader.Toshiba/Test.Loader.Toshiba.csproj b/source/Test.Loader.Toshiba/Test.Loader.Toshiba.csproj index 87d6d0f..be43680 100644 --- a/source/Test.Loader.Toshiba/Test.Loader.Toshiba.csproj +++ b/source/Test.Loader.Toshiba/Test.Loader.Toshiba.csproj @@ -21,6 +21,8 @@ + + diff --git a/source/Translation.xlsx b/source/Translation.xlsx index c0449a2..6db6565 100644 Binary files a/source/Translation.xlsx and b/source/Translation.xlsx differ diff --git a/source/changelog.md b/source/changelog.md index 77ae1b5..b3b3bd3 100644 --- a/source/changelog.md +++ b/source/changelog.md @@ -1,6 +1,12 @@ ChanSort Change Log =================== +2025-03-08 +- Panasonic Fire-OS Channels.sdx lists: removed trailing underscore and space characters from channel names +- downgraded SQLite libraries to avoid a memory access violation crash in the SQLitePCL.raw 2.1.10 +- added support for \*.dbm files with size 782536 (e.g. Vantage VT-80 HD) +- moved "Save as..." and "Export reference list" to a sub menu as they caused frequent confusion with the regular "Save". + 2025-01-11 - added support for Philips PFL9715K/02 (Repair\\s2channellib\\\*.dat channel list format version 0.1) - added support for Grundig dtv\_cmdb\_3.bin channel lists with size of 1270 KB