- File / "File information" now shows information for all TV models
- Disabled "TV-Set" menu items which are not applicable
- Fixed DVB-S transponder/frequency information for LG LN and LA61xx series
- Fixed deleting channels in Samsung B-series Digital Air/Cable lists
- Fixed encryption information in Samsung B-series Digital Air/Cable lists
- Fixed loading of reference lists with non-unique channel identifiers
- Fixed error when saving LG files for models LD-LK after applying a
  reference list which contains channels not present in the TLL file
This commit is contained in:
hbeham
2013-11-09 16:30:59 +01:00
parent df59285d07
commit 0b4820433f
15 changed files with 3705 additions and 3621 deletions

View File

@@ -126,24 +126,25 @@
offProgramNr = 0
offVideoPid = 2
offPcrPid = 4
offServiceId = 10
offDeleted = 7
maskDeleted = 0x20
offFavOld = 6
offQam = 7
offInUse = 8
maskInUse = 0x80
offServiceType = 9
offEncrypted = 23
maskEncrypted = 0x01
offSymbolRate = 32
offLock = 244
maskLock = 0x01
offServiceId = 10
offOriginalNetworkId = 12
offNetworkId = 14
offBouquet = 34
offEncrypted = 23
maskEncrypted = 0x20
offChannelTransponder = 26
offLogicalProgramNr = 28
offSymbolRate = 32
offBouqet = 34
offTransportStreamId = 36
offName = 44
lenName = 100
offLock = 245
maskLock = 0x01
offFavorites = 246
offChecksum = 247

View File

@@ -48,7 +48,7 @@ namespace ChanSort.Loader.Samsung
#region InitCommonData()
protected void InitCommonData(int slot, SignalSource signalSource, DataMapping data)
{
this.InUse = data.GetFlag(_InUse);
this.InUse = data.GetFlag(_InUse, true);
this.RecordIndex = slot;
this.RecordOrder = slot;
this.SignalSource = signalSource;
@@ -58,8 +58,6 @@ namespace ChanSort.Loader.Samsung
this.Lock = data.GetFlag(_Lock);
this.Encrypted = data.GetFlag(_Encrypted);
this.IsDeleted = data.GetFlag(_Deleted);
if (this.IsDeleted)
this.OldProgramNr = -1;
}
#endregion

View File

@@ -117,8 +117,8 @@ namespace ChanSort.Loader.Samsung
#region DetectModelConstants()
private void DetectModelConstants(ZipFile zip)
{
if (DetectModelFromCloneInfoFile(zip)) return;
if (DetectModelFromFileName()) return;
if (DetectModelFromCloneInfoFile(zip)) return;
if (DetectModelFromContentFileLengths(zip)) return;
throw new FileLoadException("Unable to determine TV model from file content or name");
}
@@ -129,11 +129,20 @@ namespace ChanSort.Loader.Samsung
{
string file = Path.GetFileName(this.FileName)??"";
System.Text.RegularExpressions.Regex regex =
new System.Text.RegularExpressions.Regex("channel_list_(?:[A-Z]{2}[0-9]{2}|BD-)([A-Z])[0-9A-Z]+_[0-9]{4}.*\\.scm");
new System.Text.RegularExpressions.Regex("channel_list_([A-Z]{2}[0-9]{2}|BD-)([A-Z])[0-9A-Z]+_([0-9]{4}).*\\.scm");
var match = regex.Match(file);
if (match.Success)
{
string series = match.Groups[1].Value;
string series;
switch (match.Groups[3].Value)
{
case "1001": series = "C"; break;
case "1101": series = "D"; break;
case "1201": series = "E"; break;
default:
series = match.Groups[1].Value.StartsWith("LT") ? "F" : match.Groups[2].Value;
break;
}
if (this.modelConstants.TryGetValue("Series:" + series, out this.c))
return true;
}
@@ -154,6 +163,8 @@ namespace ChanSort.Loader.Samsung
if (cloneInfo.Length >= 9)
{
char series = (char) cloneInfo[8];
if (series == 'B') // 2013 B-series uses E/F-series format
series = 'F';
if (this.modelConstants.TryGetValue("Series:" + series, out this.c))
return true;
}
@@ -173,7 +184,7 @@ namespace ChanSort.Loader.Samsung
DetectModelFromAstraHdPlusD(zip)
};
// note: E and F series use an identical format, so we only care about E here
// note: E, F and B(2013) series use an identical format, so we only care about E here
string validCandidates = "BCDE";
foreach (var candidateList in candidates)
{
@@ -390,7 +401,7 @@ namespace ChanSort.Loader.Samsung
for (int slotIndex = 0; slotIndex < count; slotIndex++)
{
DigitalChannel ci = new DigitalChannel(slotIndex, isCable, rawChannel, frequency, c.SortedFavorites);
if (ci.OldProgramNr > 0)
if (ci.InUse && !ci.IsDeleted)
this.DataRoot.AddChannel(list, ci);
rawChannel.BaseOffset += entrySize;
@@ -583,13 +594,6 @@ namespace ChanSort.Loader.Samsung
}
#endregion
public override void ShowDeviceSettingsForm(object parentWindow)
{
MessageBox.Show((Form) parentWindow, "Sorry, ChanSort currently doesn't support any settings for your TV model.",
"Device Settings",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
// ------- testing -----------
internal string Series { get { return c.series; } }