public LnbConfig(DataMapping mapping, DataRoot dataRoot) { this.Id = mapping.GetByte("SettingId"); if (this.Id == 0) return; int satIndex = mapping.GetByte("SatIndex"); this.Satellite = dataRoot.Satellites[satIndex]; }
/* offFavorites2 = 134 offAudioPid2 = 182 */ public DtvChannel(int slot, DataMapping data) : base(data) { var signalSource = SignalSource.Digital; signalSource |= data.GetByte(_SignalSource) == 1 ? SignalSource.Antenna : SignalSource.Cable; this.InitCommonData(slot, signalSource, data); this.InitDvbData(data); int channel = data.GetByte(_ChannelOrTransponder); this.ChannelOrTransponder = channel.ToString("d2"); // ReSharper disable PossibleLossOfFraction this.FreqInMhz = (data.GetDword(_FrequencyLong)+10) / 1000; // ReSharper restore PossibleLossOfFraction if (this.FreqInMhz == 0) this.FreqInMhz = LookupData.Instance.GetDvbtFrequeny(channel); }
protected void InitDvbData(DataMapping data) { this.ServiceId = data.GetWord(_ServiceId); //this.PcrPid = data.GetWord(_PcrPid); this.VideoPid = data.GetWord(_VideoPid); this.AudioPid = data.GetWord(_AudioPid); this.OriginalNetworkId = data.GetWord(_OriginalNetworkId); this.TransportStreamId = data.GetWord(_TransportStreamId); this.ServiceType = data.GetByte(_ServiceType); this.ProgramNrPreset = data.GetWord(_ProgramNrPreset); }
protected void InitCommonData(int slot, SignalSource signalSource, DataMapping data) { this.RecordIndex = slot; var nr = data.GetWord(_ProgramNr); this.SignalSource = signalSource | ((nr & 0x4000) == 0 ? SignalSource.Tv : SignalSource.Radio); this.OldProgramNr = (nr & 0x3FFF); this.ParseNames(); this.Favorites = (Favorites)((data.GetByte(_Favorites2) & 0x3C) >> 2); this.Lock = data.GetFlag(_Lock); this.Skip = data.GetFlag(_Skip); this.Hidden = data.GetFlag(_Hide); this.Encrypted = data.GetFlag(_Encrypted); this.IsDeleted = data.GetFlag(_Deleted); }
public DigitalChannel(int slot, SignalSource signalSource, DataMapping data, IDictionary<int, decimal> transpFreq, FavoritesIndexMode sortedFavorites, IDictionary<int, string> providerNames) : base(data, sortedFavorites) { this.InitCommonData(slot, (SignalSource)((int)signalSource & ~(int)(SignalSource.TvAndRadio)), data); if (!this.InUse || this.OldProgramNr == 0) return; this.InitDvbData(data, providerNames); int transp = data.GetByte(_ChannelOrTransponder); decimal freq = transpFreq.TryGet(transp); if (freq == 0) freq = LookupData.Instance.GetDvbtFrequeny(transp); // transp*8 + 106); // (106 = DVB-C; DVB-T=306?) this.ChannelOrTransponder = transp.ToString(); this.FreqInMhz = freq; }
public SatTransponder(int index, DataMapping mapping, DataRoot dataRoot, int satIndexFactor) : base(index) { this.mapping = mapping; this.data = mapping.Data; this.offset = mapping.BaseOffset; this.firstChannelIndex = mapping.GetWord(_FirstChannelIndex); this.lastChannelIndex = mapping.GetWord(_LastChannelIndex); this.FrequencyInMhz = mapping.GetWord(_Frequency); this.OriginalNetworkId = mapping.GetWord(_OriginalNetworkId); this.TransportStreamId = mapping.GetWord(_TransportStreamId); this.symbolRate = mapping.GetWord(_SymbolRate); if (this.symbolRate%100 >= 95) this.symbolRate = (this.symbolRate/100 + 1)*100; // note: a correction factor is applied later after all transponders were loaded (*0.5, *1, *2) this.Satellite = dataRoot.Satellites.TryGet(mapping.GetByte(_SatIndex)/satIndexFactor); }
protected void InitDvbData(DataMapping data, IDictionary<int, string> providerNames) { this.ShortName = data.GetString(_ShortName, data.Settings.GetInt("lenShortName")); this.ServiceId = data.GetWord(_ServiceId); //this.PcrPid = data.GetWord(_PcrPid); this.VideoPid = data.GetWord(_VideoPid); this.AudioPid = data.GetWord(_AudioPid); this.OriginalNetworkId = data.GetWord(_OriginalNetworkId); this.TransportStreamId = data.GetWord(_TransportStreamId); this.ServiceType = data.GetByte(_ServiceType); this.SymbolRate = data.GetWord(_SymbolRate); if (data.Settings.GetInt(_ServiceProviderId, -1) != -1) { int source = -1; if ((this.SignalSource & SignalSource.MaskProvider) == SignalSource.Freesat) source = 4; else if ((this.SignalSource & SignalSource.MaskProvider) == SignalSource.TivuSat) source = 6; else if ((this.SignalSource & SignalSource.Antenna) != 0) source = 0; else if ((this.SignalSource & SignalSource.Cable) != 0) source = 1; else if ((this.SignalSource & SignalSource.Sat) != 0) source = 3; int providerId = data.GetWord(_ServiceProviderId); this.Provider = providerNames.TryGet((source << 16) + providerId); } this.SignalSource |= LookupData.Instance.IsRadioOrTv(this.ServiceType); }