- improved per-monitor DPI scaling (i.e. moving the window from a Full-HD to a 4K display with 100% and 200% scale)

- improved "column auto width" (right clicking a column header) by forcing line breaks in the column captions
- Philips: improved and re-enabled favorite list editing for FLASH\_\*/\*.db lists
- Panasonic: fixed display of symbol ra
This commit is contained in:
Horst Beham
2021-09-23 14:58:42 +02:00
parent 063ed165d2
commit 4df90ca7bf
21 changed files with 3325 additions and 4382 deletions

View File

@@ -61,11 +61,15 @@ channelBlockSize=0x3C
[mgr.db_entry:472]
offProgNr=0
offFav=16
offFav=16,436
offName=20
lenName=200
offProvider=224
lenProvider=200
offFavFlags1=428
maskFavFlags1=0x01
offFavFlags2=430
maskFavFlags2=0x08
offFreq=440
offOldProgNr=448
offRecordIndex=456
@@ -76,9 +80,13 @@ offOnid=466
[mgr.db_entry:476]
offProgNr=0
offFav=16
offFav=16,436
offName=20
lenName=200
offFavFlags1=428
maskFavFlags1=0x01
offFavFlags2=430
maskFavFlags2=0x08
offFreq=444,468
offSymbolRate=450
offOldProgNr=452
@@ -89,9 +97,13 @@ offOnid=466
[mgr.db_entry:480]
offProgNr=0
offFav=16
offFav=16,436
offName=20
lenName=200
offFavFlags1=428
maskFavFlags1=0x01
offFavFlags2=430
maskFavFlags2=0x08
offFreq=444,468
offSymbolRate=450
offOldProgNr=452

View File

@@ -50,8 +50,8 @@ namespace ChanSort.Loader.Philips
#region ctor()
public DbSerializer(string inputFile) : base(inputFile)
{
this.Features.MaxFavoriteLists = 0; //1;
this.Features.FavoritesMode = FavoritesMode.None; // FavoritesMode.OrderedPerSource; // doesn't work yet, must be hidden somewhere inside the FLASH files too
this.Features.MaxFavoriteLists = 1;
this.Features.FavoritesMode = FavoritesMode.OrderedPerSource; // doesn't work yet, must be hidden somewhere inside the FLASH files too
this.Features.DeleteMode = DeleteMode.NotSupported;
this.Features.CanHaveGaps = true; // the mgr_chan_s_pkg can have gaps
@@ -237,6 +237,10 @@ namespace ChanSort.Loader.Philips
ch.TransportStreamId = mapping.GetWord("offTsid");
ch.OriginalNetworkId = mapping.GetWord("offOnid");
ch.ServiceId = mapping.GetWord("offSid");
ch.AddDebug(mapping.GetByte("offFavFlags1"));
ch.AddDebug(mapping.GetByte("offFavFlags2"));
this.DataRoot.AddChannel(list, ch);
}
@@ -406,6 +410,7 @@ namespace ChanSort.Loader.Philips
var ch = (Channel)channelList.Channels[idMapping.ChannelIndex];
ch.FlashFileOffset = mapping.BaseOffset;
ch.AddDebug($"{ch.FlashFileOffset:x5}:{block}.{i:d3}");
var hasDiff = false;
var sid = mapping.GetWord("sid");
var progNr = (mapping.GetWord("progNr") & 0x3FFF);
@@ -513,11 +518,14 @@ namespace ChanSort.Loader.Philips
continue;
var newOff = lenHeader + newIndex * lenEntry;
Array.Copy(oldData, lenHeader + (int)ch.RecordIndex * lenEntry, newData, newOff, lenEntry);
var favPos = Math.Max(0, ch.GetPosition(1));
mapping.SetDataPtr(newData, newOff);
mapping.SetWord("offProgNr", ch.NewProgramNr);
mapping.SetWord("offFav", Math.Max(0, ch.GetPosition(1)));
mapping.SetWord("offFav", favPos);
mapping.SetWord("offOldProgNr", ch.NewProgramNr);
mapping.SetWord("offRecordIndex", newIndex);
mapping.SetFlag("FavFlags1", favPos > 0);
mapping.SetFlag("FavFlags2", favPos > 0);
//ch.RecordIndex = newIndex; // will be updated when saving the FLASH file
++newIndex;
}