mirror of
https://github.com/PredatH0r/ChanSort.git
synced 2026-03-18 01:40:18 +01:00
- 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 - fixed saving of Grundig dtv_cmdb_3.bin channel lists with size of 1293 KB - updated tivusat reference list - fixed issue when saving *cmdb_*.bin channel lists after applying a reference list which contains missing channels - HB_DATABASE_mm_dd.DBM for Strong SRT 7007: added option "reorderPhysically" in ChanSort.Loader.DBM.ini for this particular format to not only change the number but also change the order or data records in the file - removed app.config files containing assembly redirects from projects and included them in the central Solution.props instead - upgraded various NuGet packages
This commit is contained in:
@@ -481,10 +481,11 @@ namespace ChanSort.Loader.Philips
|
||||
{
|
||||
var transponderId = mapping.GetWord("offTransponderIndex");
|
||||
var progNr = mapping.GetWord("offProgNr");
|
||||
var serviceId = mapping.GetWord("offSid");
|
||||
var ch = new Channel(list.SignalSource & SignalSource.MaskBcastMedium, recordIndex, progNr, "");
|
||||
|
||||
// deleted channels must be kept in the list because their records must also be physically reordered when saving the list
|
||||
if (progNr == 0xFFFF || transponderId == 0xFFFF)
|
||||
if (progNr == 0xFFFF || transponderId == 0xFFFF || serviceId == 0xFFFF)
|
||||
{
|
||||
ch.IsDeleted = true;
|
||||
ch.OldProgramNr = -1;
|
||||
@@ -1002,6 +1003,8 @@ namespace ChanSort.Loader.Philips
|
||||
: list.Channels.OrderBy(c => c.RecordIndex);
|
||||
foreach (var ch in channels)
|
||||
{
|
||||
if (ch.IsProxy)
|
||||
continue;
|
||||
mapping.BaseOffset = baseOffset + i * recordSize;
|
||||
Array.Copy(orig, baseOffset + (int)ch.RecordIndex * recordSize, data, mapping.BaseOffset, recordSize);
|
||||
if (ch.IsDeleted)
|
||||
|
||||
@@ -44,11 +44,11 @@
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Data.Sqlite" Version="8.0.8" />
|
||||
<PackageReference Include="System.Buffers" Version="4.5.1" />
|
||||
<PackageReference Include="System.Memory" Version="4.5.5" />
|
||||
<PackageReference Include="System.Numerics.Vectors" Version="4.5.0" />
|
||||
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.0.0" />
|
||||
<PackageReference Include="Microsoft.Data.Sqlite" Version="9.0.0" />
|
||||
<PackageReference Include="System.Buffers" Version="4.6.0" />
|
||||
<PackageReference Include="System.Memory" Version="4.6.0" />
|
||||
<PackageReference Include="System.Numerics.Vectors" Version="4.6.0" />
|
||||
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.1.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Remove="DllClient.cs" />
|
||||
|
||||
@@ -93,6 +93,7 @@ namespace ChanSort.Loader.Philips
|
||||
public SerializerBase CreateSerializer(string inputFile)
|
||||
{
|
||||
int majorVersion = int.MinValue;
|
||||
int minorVersion = int.MinValue;
|
||||
var filename = Path.GetFileName(inputFile).ToLowerInvariant();
|
||||
if (Regex.IsMatch(filename, @"^CM_.*\.(?:bin|xml)$", RegexOptions.IgnoreCase))
|
||||
majorVersion = 0;
|
||||
@@ -110,6 +111,7 @@ namespace ChanSort.Loader.Philips
|
||||
inputFile = path;
|
||||
var data = File.ReadAllBytes(inputFile);
|
||||
majorVersion = BitConverter.ToInt16(data, 2);
|
||||
minorVersion = BitConverter.ToInt16(data, 4);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -139,9 +141,9 @@ namespace ChanSort.Loader.Philips
|
||||
}
|
||||
}
|
||||
|
||||
if (majorVersion == 0 || majorVersion >= 100 && majorVersion <= 125)
|
||||
if (majorVersion == 0 && minorVersion != 0 || majorVersion >= 100 && majorVersion <= 125)
|
||||
return new XmlSerializer(inputFile);
|
||||
if (majorVersion == 1 || majorVersion == 2 || majorVersion == 30 || majorVersion == 45) // || majorVersion == 11 // format version 11 is similar to 1.x, but not (yet) supported
|
||||
if (majorVersion is >= 0 and <= 2 || majorVersion == 30 || majorVersion == 45) // || majorVersion == 11 // format version 11 is similar to 1.x, but not (yet) supported
|
||||
return new BinarySerializer(inputFile);
|
||||
if (majorVersion == -1)
|
||||
return new DbSerializer(inputFile);
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
|
||||
Reference in New Issue
Block a user