mirror of
https://github.com/PredatH0r/ChanSort.git
synced 2026-03-04 19:20:43 +01:00
- LG: added distinction between analog cable and analog antenna channels for legacy binary files (xxMODEL00001.TLL)
- fixed lots of unit tests for LG legacy formats
This commit is contained in:
@@ -4,12 +4,16 @@ namespace ChanSort.Loader.LG.Binary
|
||||
{
|
||||
public class AnalogChannel : TllChannelBase
|
||||
{
|
||||
private const string _SignalSource = "offSignalSource";
|
||||
private const string _Freqency = "offPcrPid";
|
||||
private const string _FreqBand = "offVideoPid";
|
||||
|
||||
public AnalogChannel(int slot, DataMapping data) : base(data)
|
||||
{
|
||||
this.InitCommonData(slot, SignalSource.AnalogCT, data);
|
||||
var signalSource = SignalSource.Analog;
|
||||
signalSource |= data.GetByte(_SignalSource) == 0 ? SignalSource.Antenna : SignalSource.Cable;
|
||||
|
||||
this.InitCommonData(slot, signalSource, data);
|
||||
|
||||
this.FreqInMhz = (decimal)data.GetWord(_Freqency) / 20;
|
||||
int channelAndBand = data.GetWord(_FreqBand);
|
||||
|
||||
@@ -30,7 +30,8 @@ namespace ChanSort.Loader.LG.Binary
|
||||
private readonly MappingPool<FirmwareData> firmwareMappings = new MappingPool<FirmwareData>("Firmware");
|
||||
private readonly MappingPool<DataMapping> lnbMappings = new MappingPool<DataMapping>("LNB Config");
|
||||
|
||||
private readonly ChannelList atvChannels = new ChannelList(SignalSource.AnalogCT | SignalSource.Tv, "Analog TV");
|
||||
private readonly ChannelList avbcTvChannels = new ChannelList(SignalSource.AnalogC | SignalSource.Tv, "Analog Cable");
|
||||
private readonly ChannelList avbtTvChannels = new ChannelList(SignalSource.AnalogT | SignalSource.Tv, "Analog Antenna");
|
||||
private readonly ChannelList dvbcTvChannels = new ChannelList(SignalSource.DvbC | SignalSource.Tv, "DVB-C TV");
|
||||
private readonly ChannelList dvbtTvChannels = new ChannelList(SignalSource.DvbT | SignalSource.Tv, "DVB-T TV");
|
||||
private readonly ChannelList dvbcRadioChannels = new ChannelList(SignalSource.DvbC | SignalSource.Radio, "DVB-C Radio");
|
||||
@@ -99,7 +100,8 @@ namespace ChanSort.Loader.LG.Binary
|
||||
|
||||
this.ReadConfigurationFromIniFile();
|
||||
|
||||
this.DataRoot.AddChannelList(atvChannels);
|
||||
this.DataRoot.AddChannelList(avbcTvChannels);
|
||||
this.DataRoot.AddChannelList(avbtTvChannels);
|
||||
this.DataRoot.AddChannelList(dvbcTvChannels);
|
||||
this.DataRoot.AddChannelList(dvbcRadioChannels);
|
||||
this.DataRoot.AddChannelList(dvbtTvChannels);
|
||||
@@ -989,7 +991,10 @@ Due to issues with most recent LG firmwares such lists can no longer be modified
|
||||
#region ReorderActChannelsPhysically()
|
||||
private void ReorderActChannelsPhysically()
|
||||
{
|
||||
this.ReorderChannelData(this.analogBlockOffset + 8, this.actChannelSize, this.analogChannelCount, this.atvChannels.Channels);
|
||||
var avbt = this.avbtTvChannels.Channels.OrderBy(c => c.NewProgramNr);
|
||||
var avbc = this.avbcTvChannels.Channels.OrderBy(c => c.NewProgramNr);
|
||||
var avb = avbt.Union(avbc).ToList();
|
||||
this.ReorderChannelData(this.analogBlockOffset + 8, this.actChannelSize, this.analogChannelCount, avb);
|
||||
|
||||
var dvbcTv = this.dvbcTvChannels.Channels.OrderBy(c => c.NewProgramNr);
|
||||
var dvbcRadio = this.dvbcRadioChannels.Channels.OrderBy(c => c.NewProgramNr);
|
||||
|
||||
@@ -459,6 +459,8 @@
|
||||
; DM, LF, LH, LU (except LH3000)
|
||||
reorderChannelData = 1
|
||||
lenName = 40
|
||||
; signalSource seems to work for LH5000 but not DM
|
||||
offSignalSource = 2
|
||||
offChannelTransponder = 9, 112
|
||||
offProgramNr = 10
|
||||
offProgramNrPreset = 12
|
||||
|
||||
Reference in New Issue
Block a user