Exemplo n.º 1
0
 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];
 }
Exemplo n.º 2
0
    /*
    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);
    }
Exemplo n.º 3
0
 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);
 }
Exemplo n.º 4
0
    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);
    }
Exemplo n.º 5
0
    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;
    }
Exemplo n.º 6
0
    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);
    }
Exemplo n.º 7
0
 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);
 }