- when appending unsorted channels during save, they are now set to

"hidden" and "skipped/unselectable"
- reference lists: the satellite orbital position is no longer used
  to match channels. (Samsung J series does not provide that info).
- Samsung J series: favorite lists are no longer individually sortable.
  (The same Pr# is used for all favorite lists).
- Samsung J series: deleting channels now physically removes them from
  the file. (The TV might automatically append them again when it finds
  them in the DVB data stream).
- Samsung J series: editing of channel names is now enabled.
- Samsung J series: favorite E is now also available
This commit is contained in:
hbeham
2015-06-13 18:37:59 +02:00
parent 5ed94da80f
commit 43cfca4d0b
18 changed files with 149 additions and 97 deletions

View File

@@ -66,6 +66,8 @@ namespace ChanSort.Api
int programNr;
if (!int.TryParse(parts[1], out programNr)) return;
string uid = parts[3];
if (uid.StartsWith("S")) // remove satellite orbital position from UID ... not all TV models provide this information
uid = "S" + uid.Substring(uid.IndexOf('-'));
SignalSource signalSource = GetSignalSource(ref programNr, uid, parts);
if (signalSource == 0)
return;

View File

@@ -271,8 +271,13 @@ namespace ChanSort.Api
if (appChannel.RecordIndex < 0)
continue;
if (appChannel.NewProgramNr == -1 && mode == UnsortedChannelMode.MarkDeleted)
continue;
if (appChannel.NewProgramNr == -1)
{
if (mode == UnsortedChannelMode.MarkDeleted)
continue;
appChannel.Hidden = true;
appChannel.Skip = true;
}
int progNr = GetNewPogramNr(appChannel, ref maxProgNr);
appChannel.NewProgramNr = progNr;

View File

@@ -6,7 +6,7 @@ namespace ChanSort.Api
{
public class SupportedFeatures
{
public bool ChannelNameEdit { get; set; }
public ChannelNameEditMode ChannelNameEdit { get; set; }
public bool CleanUpChannelData { get; set; }
public bool DeviceSettings { get; set; }
public bool CanDeleteChannels { get; set; }

View File

@@ -98,7 +98,7 @@ namespace ChanSort.Api
if ((this.SignalSource & SignalSource.Digital) == 0)
this.uid = "A-0-" + (int)(this.FreqInMhz*20) + "-0";
else if ((this.SignalSource & SignalSource.Sat) != 0)
this.uid = "S" + this.SatPosition + "-" + this.OriginalNetworkId + "-" + this.TransportStreamId + "-" + this.ServiceId;
this.uid = "S" + /*this.SatPosition + */ "-" + this.OriginalNetworkId + "-" + this.TransportStreamId + "-" + this.ServiceId;
else
this.uid = "C-" + this.OriginalNetworkId + "-" + this.TransportStreamId + "-" + this.ServiceId + "-" + this.ChannelOrTransponder;
}

View File

@@ -70,4 +70,13 @@ namespace ChanSort.Api
AppendAlphabetically=1,
MarkDeleted=2
}
[Flags]
public enum ChannelNameEditMode
{
None = 0x00,
Analog = 0x01,
Digital = 0x02,
All = Analog|Digital
}
}