public SatChannel(int slot, SignalSource presetList, DataMapping data, DataRoot dataRoot, FavoritesIndexMode sortedFavorites, IDictionary<int,string> providerNames) : base(data, sortedFavorites) { this.InitCommonData(slot, SignalSource.DvbS | presetList, data); if (!this.InUse) return; this.InitDvbData(data, providerNames); int transponderIndex = data.GetWord(_TransponderIndex); Transponder transponder = dataRoot.Transponder.TryGet(transponderIndex); if (transponder == null) { var list = dataRoot.GetChannelList(this.SignalSource|SignalSource.Tv); dataRoot.Warnings.AppendFormat("{0} channel record #{1} (Pr# {2} \"{3}\") contains invalid transponder index {4}\r\n", list.ShortCaption, slot, this.OldProgramNr, this.Name, transponderIndex); return; } Satellite sat = transponder.Satellite; this.Satellite = sat.Name; this.SatPosition = sat.OrbitalPosition; this.Polarity = transponder.Polarity; this.SymbolRate = transponder.SymbolRate; this.FreqInMhz = transponder.FrequencyInMhz; this.ChannelOrTransponder = ""; }
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) { if ((this.SignalSource & SignalSource.Antenna) != 0) { freq = transp * 8 + 306; } else if ((this.SignalSource & SignalSource.Cable) != 0) { freq = transp * 8 + 106; } } this.ChannelOrTransponder = transp.ToString(); this.FreqInMhz = freq; }
protected ScmChannelBase(DataMapping data, FavoritesIndexMode sortedFavorites) { this.mapping = data; this.rawData = data.Data; this.baseOffset = data.BaseOffset; this.mapping.DefaultEncoding = Utf16BigEndian; this.sortedFavorites = sortedFavorites; }
public DigitalChannel(int slot, SignalSource signalSource, DataMapping data, DataRoot dataRoot, IDictionary <int, decimal> transpFreq, FavoritesIndexMode sortedFavorites, IDictionary <int, string> providerNames) : base(data, sortedFavorites) { // ToDo - ShiT this.InitCommonData(slot, signalSource & ~SignalSource.TVAndRadioAndData, data); if (!this.InUse) { return; } // "InUse" and "IsDeleted" are not always guessed correctly. If PrNr=0, the channel contains garbage if (this.OldProgramNr == 0) { this.InUse = false; return; } this.InitDvbData(data, providerNames); decimal freq = 0; int transp = data.GetByte(_ChannelOrTransponder); if (dataRoot.Transponder.TryGetValue(transp, out var tp)) { this.Polarity = tp.Polarity; } freq = transpFreq.TryGet(transp); if (freq == 0 && tp != null) { freq = tp.FrequencyInMhz; } if (freq == 0) { if ((this.SignalSource & SignalSource.Antenna) != 0) { freq = transp * 8 + 306; } else if ((this.SignalSource & SignalSource.Cable) != 0) { freq = transp * 8 + 106; } } this.ChannelOrTransponder = transp.ToString(); this.FreqInMhz = freq; }
public ModelConstants(IniFile.Section iniSection) { this.series = iniSection.Name.Substring(iniSection.Name.Length - 1); this.avbtChannelLength = iniSection.GetInt("map-AirA"); this.dvbtChannelLength = iniSection.GetInt("map-AirD"); this.dvbsChannelLength = iniSection.GetInt("map-SateD"); this.hdplusChannelLength = iniSection.GetInt("map-AstraHDPlusD"); this.cyfraPlusChannelSize = iniSection.GetInt("map-CyfraPlusD"); this.ptcLength = iniSection.GetInt("PTC"); this.dvbsSatelliteLength = iniSection.GetInt("SatDataBase.dat"); this.dvbsTransponderLength = iniSection.GetInt("TransponderDataBase.dat"); this.avbtFineTuneLength = iniSection.GetInt("FineTune"); this.dvbtFineTuneLength = iniSection.GetInt("FineTune_Digital"); this.serviceProviderLength = iniSection.GetInt("ServiceProvider", 108); this.numFavorites = iniSection.GetInt("Favorites"); this.SortedFavorites = (FavoritesIndexMode)iniSection.GetInt("SortedFavorites"); }
public AnalogChannel(int slot, bool isCable, DataMapping mapping, decimal freq, FavoritesIndexMode sortedFavorites) : base(mapping, sortedFavorites) { var signalSource = SignalSource.Analog | SignalSource.Tv; signalSource |= isCable ? SignalSource.Cable : SignalSource.Antenna; this.InitCommonData(slot, signalSource, mapping); var floatFreq = mapping.GetFloat(_Frequency); if (!float.IsNaN(floatFreq) && floatFreq > 100 && floatFreq < 2000) // some files seem to have a value way off scale this.FreqInMhz = (decimal)floatFreq; // C,D,E series have the value in the data record if (this.FreqInMhz == 0) // for B series take it from the Tuning table this.FreqInMhz = freq; if (this.FreqInMhz == 0) // fallback since Freq is part of the UID and requires a unique value this.FreqInMhz = slot; this.ChannelOrTransponder = ""; }
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 ModelConstants(IniFile.Section iniSection) { this.series = iniSection.Name.Substring(iniSection.Name.Length - 1); this.avbtChannelLength = iniSection.GetInt("map-AirA"); this.dvbtChannelLength = iniSection.GetInt("map-AirD"); this.dvbsChannelLength = iniSection.GetInt("map-SateD"); this.hdplusChannelLength = iniSection.GetInt("map-AstraHDPlusD"); this.cyfraPlusChannelSize = iniSection.GetInt("map-CyfraPlusD"); this.ptcLength = iniSection.GetInt("PTC"); this.dvbsSatelliteLength = iniSection.GetInt("SatDataBase.dat"); this.dvbsTransponderLength = iniSection.GetInt("TransponderDataBase.dat"); this.avbtFineTuneLength = iniSection.GetInt("FineTune"); this.dvbtFineTuneLength = iniSection.GetInt("FineTune_Digital"); this.serviceProviderLength = iniSection.GetInt("ServiceProvider", 108); int numFavorites = iniSection.GetInt("Favorites"); int mask = 0; for (int i = 0; i < numFavorites; i++) mask = (mask << 1) | 1; this.supportedFavorites = (Favorites)mask; this.SortedFavorites = (FavoritesIndexMode)iniSection.GetInt("SortedFavorites"); }
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 AnalogChannel(int slot, bool isCable, DataMapping mapping, decimal freq, FavoritesIndexMode sortedFavorites) : base(mapping, sortedFavorites) { var signalSource = SignalSource.Analog | SignalSource.TV; signalSource |= isCable ? SignalSource.Cable : SignalSource.Antenna; this.InitCommonData(slot, signalSource, mapping); var floatFreq = mapping.GetFloat(_Frequency); if (!float.IsNaN(floatFreq) && floatFreq > 100 && floatFreq < 2000) // some files seem to have a value way off scale { this.FreqInMhz = (decimal)floatFreq; // C,D,E series have the value in the data record } if (this.FreqInMhz == 0) // for B series take it from the Tuning table { this.FreqInMhz = freq; } if (this.FreqInMhz == 0) // fallback since Freq is part of the UID and requires a unique value { this.FreqInMhz = slot; } this.ChannelOrTransponder = ""; }
public SatChannel(int slot, SignalSource presetList, DataMapping data, DataRoot dataRoot, FavoritesIndexMode sortedFavorites, IDictionary <int, string> providerNames) : base(data, sortedFavorites) { this.InitCommonData(slot, SignalSource.DVBS | presetList, data); if (!this.InUse) { this.IsDeleted = true; return; } this.InitDvbData(data, providerNames); int transponderIndex = data.GetWord(_TransponderIndex); Transponder transponder = dataRoot.Transponder.TryGet(transponderIndex); if (transponder == null) { var list = dataRoot.GetChannelList(this.SignalSource | SignalSource.TV); dataRoot.Warnings.AppendFormat("{0} channel record #{1} (Pr# {2} \"{3}\") contains invalid transponder index {4}\r\n", list.ShortCaption, slot, this.OldProgramNr, this.Name, transponderIndex); return; } Satellite sat = transponder.Satellite; this.Satellite = sat.Name; this.SatPosition = sat.OrbitalPosition; this.Polarity = transponder.Polarity; this.SymbolRate = transponder.SymbolRate; this.FreqInMhz = transponder.FrequencyInMhz; this.ChannelOrTransponder = ""; }