Esempio n. 1
0
 protected override IEnumerable <TAVerb> RealizeDefault()
 {
     ISignalSource <StdLogicVector>[] ops = Enumerable.Repeat(
         SignalSource.Create(StdLogicVector._0s(_host.WordWidth)),
         _host.NumWords).ToArray();
     return(_host.TASite.Concat(ops, SignalSink.Nil <StdLogicVector>()));
 }
Esempio n. 2
0
        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 = "";
        }
        private static SignalSource DetermineSignalSource(BroadcastMedium bmedium, ServiceType stype)
        {
            SignalSource ssource = 0;

            if (bmedium == BroadcastMedium.AnaCab)
            {
                ssource = SignalSource.AnalogC;
            }
            else if (bmedium == BroadcastMedium.AnaSat)
            {
                ssource = SignalSource.Analog | SignalSource.Sat;
            }
            else if (bmedium == BroadcastMedium.AnaTer)
            {
                ssource = SignalSource.AnalogT;
            }
            else if (bmedium == BroadcastMedium.DigCab)
            {
                ssource = SignalSource.DvbC;
            }
            else if (bmedium == BroadcastMedium.DigSat)
            {
                ssource = SignalSource.DvbS;
            }
            else if (bmedium == BroadcastMedium.DigTer)
            {
                ssource = SignalSource.DvbT;
            }
            ssource |= stype == ServiceType.Radio ? SignalSource.Radio : SignalSource.Tv;
            return(ssource);
        }
Esempio n. 4
0
 private TAVerb NopVerb()
 {
     return(Verb(ETVMode.Locked,
                 _host.BrP.Dual.Drive(SignalSource.Create <StdLogicVector>("0")),
                 _host.BrN.Dual.Drive(SignalSource.Create <StdLogicVector>("1")),
                 _host.AltAddr.Dual.Drive(SignalSource.Create(StdLogicVector._0s(_host.AddrWidth)))));
 }
Esempio n. 5
0
        public ChannelList GetChannelList(SignalSource criteriaMask)
        {
            foreach (var list in this.channelLists)
            {
                uint searchMask = (uint)criteriaMask;
                uint listMask   = (uint)list.SignalSource;

                if ((listMask & 0x000F & searchMask) != (searchMask & 0x000F)) // digital/analog
                {
                    continue;
                }
                if ((listMask & 0x00F0 & searchMask) != (searchMask & 0x00F0)) // air/cable/sat/ip
                {
                    continue;
                }
                if ((listMask & 0x0F00 & searchMask) != (searchMask & 0x0F00)) // tv/radio
                {
                    continue;
                }
                if ((listMask & 0xF000) != (searchMask & 0xF000)) // preset list
                {
                    continue;
                }
                return(list);
            }
            return(null);
        }
Esempio n. 6
0
 protected override IEnumerable <TAVerb> RealizeDefault()
 {
     return(_host.TASite.RShift(
                SignalSource.Create(StdLogicVector._0s(_host.DataWidth)),
                SignalSource.Create(StdLogicVector._0s(_host.ShiftWidth)),
                SignalSink.Nil <StdLogicVector>()));
 }
Esempio n. 7
0
 internal GcChannel(SignalSource source, int index, TNode node)
 {
     this.SignalSource = source;
     this.Index        = index;
     this.RecordOrder  = index;
     this.Node         = node;
 }
Esempio n. 8
0
    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 = "";
    }
Esempio n. 9
0
        private static string EncodeSignalSource(SignalSource signalSource)
        {
            var sb = new StringBuilder();

            sb.Append((signalSource & SignalSource.Analog) != 0 ? 'A' : 'D');

            if ((signalSource & SignalSource.Antenna) != 0)
            {
                sb.Append('A');
            }
            else if ((signalSource & SignalSource.Cable) != 0)
            {
                sb.Append('C');
            }
            else if ((signalSource & SignalSource.Sat) != 0)
            {
                sb.Append('S');
            }
            else
            {
                sb.Append("I");
            }

            sb.Append((signalSource & SignalSource.Radio) != 0 ? 'R' : 'T');
            sb.Append((int)signalSource >> 12);

            return(sb.ToString());
        }
Esempio n. 10
0
        private static SignalSource DetermineSignalSource(BroadcastMedium bmedium, ServiceType stype)
        {
            SignalSource ssource = 0;

            if (bmedium == BroadcastMedium.AnaCab)
            {
                ssource = SignalSource.AnalogCable;
            }
            else if (bmedium == BroadcastMedium.AnaSat)
            {
                ssource = SignalSource.AnalogSat;
            }
            else if (bmedium == BroadcastMedium.AnaTer)
            {
                ssource = SignalSource.AnalogAntenna;
            }
            else if (bmedium == BroadcastMedium.DigCab)
            {
                ssource = SignalSource.DVBC;
            }
            else if (bmedium == BroadcastMedium.DigSat)
            {
                ssource = SignalSource.DVBS;
            }
            else if (bmedium == BroadcastMedium.DigTer)
            {
                ssource = SignalSource.DVBT;
            }
            ssource |= stype == ServiceType.Radio ? SignalSource.Radio : SignalSource.TV;
            return(ssource);
        }
Esempio n. 11
0
        private void ReadSdb(XmlNode node, SignalSource signalSource, int idAdjustment, string dvbSystem)
        {
            if (node["Editable"]?.InnerText == "F")
            {
                foreach (var list in this.DataRoot.ChannelLists)
                {
                    if ((list.SignalSource & (SignalSource.MaskAdInput | SignalSource.MaskProvider)) == signalSource)
                    {
                        list.ReadOnly = true;
                    }
                }
            }

            this.ReadSatellites(node, idAdjustment);
            this.ReadTransponder(node, idAdjustment, dvbSystem);

            if (this.isEFormat)
            {
                this.ReadServicesE110(node, signalSource, idAdjustment);
            }
            else
            {
                this.ReadServices(node, signalSource, idAdjustment);
            }
        }
Esempio n. 12
0
        private void ChannelsAddedToCorrectLists(string fileName, SignalSource signalSource, int expectedTv, int expectedRadio, int dataProgramSid, string dataProgramName)
        {
            var testFile = TestUtils.DeploymentItem("Test.Loader.GlobalClone\\TestFiles\\" + fileName);
            var plugin   = new GcSerializerPlugin();
            var ser      = plugin.CreateSerializer(testFile);

            ser.Load();

            var root = ser.DataRoot;

            var tv = root.GetChannelList(signalSource | SignalSource.Tv);

            Assert.IsNotNull(tv);
            Assert.AreEqual(expectedTv, tv.Channels.Count);

            var radio = root.GetChannelList(signalSource | SignalSource.Radio);

            Assert.IsNotNull(radio);
            Assert.AreEqual(expectedRadio, radio.Channels.Count);

            // check that data channel is in the TV list
            var chan = tv.Channels.FirstOrDefault(ch => ch.ServiceId == dataProgramSid);

            Assert.IsNotNull(chan);
            Assert.AreEqual(dataProgramName, chan.Name);
        }
        private void TestChannelsAddedToCorrectLists(string fileName, SignalSource signalSource, int expectedTv, int expectedRadio, int dataProgramSid = 0, string dataProgramName = null)
        {
            var tempFile = TestUtils.DeploymentItem("Test.Loader.Toshiba\\TestFiles\\" + fileName);
            var plugin   = new ToshibaPlugin();
            var ser      = plugin.CreateSerializer(tempFile);

            ser.Load();

            var root = ser.DataRoot;

            var tv = root.GetChannelList(signalSource);

            if (expectedTv > 0)
            {
                Assert.IsNotNull(tv);
                Assert.AreEqual(expectedTv, tv?.Channels.Count ?? 0);
            }

            if (expectedRadio > 0)
            {
                var radio = root.GetChannelList(signalSource | SignalSource.Radio);
                Assert.IsNotNull(radio);
                Assert.AreEqual(expectedRadio, radio.Channels.Count);
            }

            // check that data channel is in the TV list
            if (dataProgramSid != 0)
            {
                var chan = tv.Channels.FirstOrDefault(ch => ch.ServiceId == dataProgramSid);
                Assert.IsNotNull(chan);
                Assert.AreEqual(dataProgramName, chan.Name);
            }
        }
Esempio n. 14
0
        public ChannelList GetChannelList(SignalSource searchMask)
        {
            foreach (var list in this.channelLists)
            {
                var listMask = list.SignalSource;

                if ((searchMask & SignalSource.MaskAnalogDigital) != 0 && (listMask & SignalSource.MaskAnalogDigital & searchMask) == 0) // digital/analog
                {
                    continue;
                }
                if ((searchMask & SignalSource.MaskAntennaCableSat) != 0 && (listMask & SignalSource.MaskAntennaCableSat & searchMask) == 0) // air/cable/sat/ip
                {
                    continue;
                }
                if ((searchMask & SignalSource.MaskTvRadioData) != 0 && (listMask & SignalSource.MaskTvRadioData & searchMask) == 0) // tv/radio/data
                {
                    continue;
                }
                if ((searchMask & SignalSource.MaskProvider) != 0 && (listMask & SignalSource.MaskProvider) != (searchMask & SignalSource.MaskProvider)) // preset list
                {
                    continue;
                }
                return(list);
            }
            return(null);
        }
Esempio n. 15
0
 public override IEnumerable <TAVerb> DoNothing()
 {
     yield return(Verb(ETVMode.Locked,
                       _brAltFlagP.Drive(SignalSource.Create <StdLogicVector>("0")),
                       _brAltFlagN.Drive(SignalSource.Create <StdLogicVector>("1")),
                       GetNilDriver()));
 }
Esempio n. 16
0
    internal DbChannel(SignalSource source, SQLiteDataReader r, IDictionary<string, int> field, 
      DataRoot dataRoot, IDictionary<string,bool> encryptionInfo)
    {
      this.SignalSource = source;
      this.RecordIndex = r.GetInt32(field["channel_handle"]);

      this.Bits = r.GetInt32(field["list_bits"]);
      bool isTv = (Bits & BITS_Tv) != 0;
      bool isRadio = (Bits & BITS_Radio) != 0;
      bool isAnalog = (source & SignalSource.Analog) != 0;
      if (isAnalog && !isTv)
      {
        this.IsDeleted = true;
        return;
      }

      if (isTv) this.SignalSource |= SignalSource.Tv;
      if (isRadio) this.SignalSource |= SignalSource.Radio;
      this.Lock = (Bits & BITS_Locked) != 0;
      this.OldProgramNr = r.GetInt32(field["channel_number"]);
      this.Favorites = this.ParseFavorites(Bits);
      
      if (isAnalog)
        this.ReadAnalogData(r, field);
      else
        this.ReadDvbData(r, field, dataRoot, encryptionInfo);
    }
Esempio n. 17
0
 internal Channel(SignalSource source, int order, int rowId, XmlNode setupNode)
 {
     this.SignalSource = source;
     this.RecordOrder  = order;
     this.RecordIndex  = rowId;
     this.SetupNode    = setupNode;
 }
Esempio n. 18
0
 public IEnumerable <TAVerb> BranchIfNot(ISignalSource <StdLogicVector> cond, BranchLabel target)
 {
     yield return(Verb(ETVMode.Locked,
                       _brAltFlagP.Drive(SignalSource.Create <StdLogicVector>("0")),
                       _brAltFlagN.Drive(cond),
                       GetStateDriver(target)));
 }
Esempio n. 19
0
        public ChannelList GetChannelList(SignalSource searchMask)
        {
            foreach (ChannelList list in channelLists)
            {
                if (FlagsHelper.IsSet(searchMask, SignalSource.Analog | SignalSource.Digital) && !FlagsHelper.IsSet(list.SignalSource, searchMask & (SignalSource.Analog | SignalSource.Digital)))
                {
                    continue;
                }
                if (FlagsHelper.IsSet(searchMask, SignalSource.AvInput | SignalSource.Antenna | SignalSource.Cable | SignalSource.Sat) && !FlagsHelper.IsSet(list.SignalSource, searchMask & (SignalSource.AvInput | SignalSource.Antenna | SignalSource.Cable | SignalSource.Sat)))
                {
                    continue;
                }
                if (FlagsHelper.IsSet(searchMask, SignalSource.IP) && !FlagsHelper.IsSet(list.SignalSource, searchMask & SignalSource.IP))
                {
                    continue;
                }
                if (FlagsHelper.IsSet(searchMask, SignalSource.TVAndRadioAndData) && !FlagsHelper.IsSet(list.SignalSource, searchMask & SignalSource.TVAndRadioAndData))
                {
                    continue;
                }
                if (FlagsHelper.IsSet(searchMask, SignalSource.AllProvider) && !FlagsHelper.IsSet(list.SignalSource, searchMask & SignalSource.AllProvider))
                {
                    continue;
                }

                return(list);
            }

            return(null);
        }
Esempio n. 20
0
        private void listView1_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            SignalSource temp = this.listView1.SelectedItem as SignalSource;
            var          vm   = this.DataContext as HISGUIRegistrationVM;

            vm?.showSelectSignal(temp);
        }
Esempio n. 21
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)
            {
                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;
        }
Esempio n. 22
0
            private IProcess GetNilDriver()
            {
                Array  enumValues   = _tState.GetEnumValues();
                object defaultState = Activator.CreateInstance(_tState);

                return(_altState.Instance.DriveUT(SignalSource.CreateUT(defaultState)));
            }
Esempio n. 23
0
        }                                                          // initialized by MainForm

        public ChannelList(SignalSource source, string caption)
        {
            this.SignalSource            = source;
            this.ShortCaption            = caption;
            this.FirstProgramNumber      = (source & SignalSource.Digital) != 0 ? 1 : 0;
            this.VisibleColumnFieldNames = DefaultVisibleColumns;
        }
Esempio n. 24
0
        protected void InitCommonData(int slot, SignalSource signalSource, DataMapping data)
        {
            this.InUse        = data.GetFlag(_InUse, true);
            this.RecordIndex  = slot;
            this.RecordOrder  = slot;
            this.SignalSource = signalSource;
            this.OldProgramNr = (short)data.GetWord(_ProgramNr);
            this.Name         = data.GetString(_Name, data.Settings.GetInt("lenName"));
            this.Favorites    = this.ParseRawFavorites();
            this.Lock         = data.GetFlag(_Lock);
            int hiddenPrimary = data.GetByte(_Hidden);

            if (hiddenPrimary == 255)
            {
                this.Hidden = data.GetByte(_HiddenAlt) != 0;
            }
            else
            {
                this.Hidden = hiddenPrimary != 0;
            }
            this.Skip      = data.GetFlag(_Skip);
            this.Encrypted = data.GetFlag(_Encrypted);
            this.IsDeleted = data.GetFlag(_Deleted, false) || !data.GetFlag(_IsActive, true);
            this.AddDebug(data.Data, data.BaseOffset + 25, 3);
        }
Esempio n. 25
0
 public LiftoffEvent(DateTime timestamp, decimal?longitude, decimal?latitude, bool playercontrolled, SignalSource nearestDestination) : base(timestamp, NAME)
 {
     this.longitude          = longitude;
     this.latitude           = latitude;
     this.playercontrolled   = playercontrolled;
     this.nearestDestination = nearestDestination;
 }
Esempio n. 26
0
        private void TestChannelsAddedToCorrectLists(string fileName, SignalSource signalSource, int expectedTotal, int expectedTv, int expectedRadio, int dataProgramSid = 0, string dataProgramName = null)
        {
            var tempFile = TestUtils.DeploymentItem("Test.Loader.Sony\\TestFiles\\" + fileName);
            var plugin   = new SerializerPlugin();
            var ser      = plugin.CreateSerializer(tempFile);

            ser.Load();

            var root = ser.DataRoot;

            var list = root.GetChannelList(signalSource);

            Assert.IsNotNull(list);
            Assert.AreEqual(expectedTotal, list.Channels.Count);
            Assert.AreEqual(expectedTv, list.Channels.Count(ch => (ch.SignalSource & SignalSource.Tv) != 0));
            Assert.AreEqual(expectedRadio, list.Channels.Count(ch => (ch.SignalSource & SignalSource.Radio) != 0));

            // check that data channel is in the TV list
            if (dataProgramSid != 0)
            {
                var chan = list.Channels.FirstOrDefault(ch => ch.ServiceId == dataProgramSid);
                Assert.IsNotNull(chan);
                Assert.AreEqual(dataProgramName, chan.Name);
            }
        }
Esempio n. 27
0
 public DefaultStrategyConf(StrategyType _StratType, Exchange platform, string name, bool autostart, SignalSource getfrom)
 {
     this.StratyType = _StratType;
     this.Name       = name;
     this.Exchanger  = Exchange.Binance;
     this.AutoStart  = autostart;
     this.SignalFrom = getfrom;
 }
Esempio n. 28
0
 /// <summary>
 /// Constructor for existing TV channel
 /// </summary>
 public ChannelInfo(SignalSource source, long index, int oldProgNr, string name) : this()
 {
     SignalSource = source;
     RecordIndex  = index;
     RecordOrder  = (int)index;
     OldProgramNr = oldProgNr;
     Name         = name;
     Encrypted    = null;
 }
Esempio n. 29
0
 public SignalDetectedEvent(DateTime timestamp, SignalSource source, FactionState factionState, string faction, decimal?secondsRemaining, int?threatlevel, bool?isStation) : base(timestamp, NAME)
 {
     this.signalSource     = source;
     this.factionState     = factionState;
     this.faction          = faction;
     this.secondsremaining = secondsRemaining == null ? null : (decimal?)Math.Round((decimal)secondsRemaining);
     this.threatlevel      = (int)threatlevel;
     this.stationsignal    = (bool)isStation;
 }
Esempio n. 30
0
            private IProcess GetStateDriver(BranchLabel target)
            {
                Array enumValues = _tState.GetEnumValues();

                Debug.Assert(target.CStep >= 0 && target.CStep < enumValues.Length);
                object stateValue = enumValues.GetValue(target.CStep);

                return(_altState.Instance.DriveUT(SignalSource.CreateUT(stateValue)));
            }
Esempio n. 31
0
 /// <summary>
 /// Constructor for exiting TV channel
 /// </summary>
 public ChannelInfo(SignalSource source, long index, int oldProgNr, string name) : this()
 {
   this.SignalSource = source;
   this.RecordIndex = index;
   this.RecordOrder = (int)index;
   this.NewProgramNr = -1;
   this.OldProgramNr = oldProgNr;
   this.Name = name;
   this.Encrypted = null;
 }
Esempio n. 32
0
 /// <summary>
 /// Constructor for exiting TV channel
 /// </summary>
 public ChannelInfo(SignalSource source, long index, int oldProgNr, string name) : this()
 {
     this.SignalSource = source;
     this.RecordIndex  = index;
     this.RecordOrder  = (int)index;
     this.NewProgramNr = -1;
     this.OldProgramNr = oldProgNr;
     this.Name         = name;
     this.Encrypted    = null;
 }
Esempio n. 33
0
 public SignalDetectedEvent(DateTime timestamp, long?systemAddress, SignalSource source, FactionState factionState, string faction, decimal?secondsRemaining, int?threatlevel, bool?isStation) : base(timestamp, NAME)
 {
     this.systemAddress    = systemAddress;
     this.signalSource     = source;
     this.factionState     = factionState;
     this.faction          = faction;
     this.secondsremaining = secondsRemaining;
     this.threatlevel      = Convert.ToInt32(threatlevel);
     this.stationsignal    = Convert.ToBoolean(isStation);
 }
Esempio n. 34
0
 /// <summary>
 /// Constructor for reference list channels which no longer exist in TV list
 /// </summary>
 public ChannelInfo(SignalSource source, string uid, int newProgNr, string name) : this()
 {
   this.SignalSource = source;
   this.Uid = uid;
   this.RecordIndex = -1;
   this.RecordOrder = -1;
   this.OldProgramNr = -1;
   this.NewProgramNr = newProgNr;
   this.Name = name;
   this.Encrypted = null;
 }
Esempio n. 35
0
 protected void InitCommonData(int slot, SignalSource signalSource, DataMapping data)
 {
   this.InUse = data.GetFlag(_InUse, true);
   this.RecordIndex = slot;
   this.RecordOrder = slot;
   this.SignalSource = signalSource;
   this.OldProgramNr = (short)data.GetWord(_ProgramNr);
   this.Name = data.GetString(_Name, data.Settings.GetInt("lenName"));
   this.Favorites = this.ParseRawFavorites();
   this.Lock = data.GetFlag(_Lock);
   this.Encrypted = data.GetFlag(_Encrypted);
   this.IsDeleted = data.GetFlag(_Deleted, false) || !data.GetFlag(_IsActive, true);
   if (this.IsDeleted)
     this.OldProgramNr = -1;
 }
Esempio n. 36
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);
    }
Esempio n. 37
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;
    }
Esempio n. 38
0
    public ChannelList GetChannelList(SignalSource criteriaMask)
    {
      foreach (var list in this.channelLists)
      {
        uint searchMask = (uint)criteriaMask;
        uint listMask = (uint) list.SignalSource;

        if ((listMask & 0x000F & searchMask) != (searchMask & 0x000F)) // digital/analog
          continue;
        if ((listMask & 0x00F0 & searchMask) != (searchMask & 0x00F0)) // air/cable/sat/ip
          continue;
        if ((listMask & 0x0F00 & searchMask) != (searchMask & 0x0F00)) // tv/radio
          continue;
        if ((listMask & 0xF000) != (searchMask & 0xF000)) // preset list
          continue;
        return list;
      }
      return null;
    }
Esempio n. 39
0
        private ChannelInfo ReadChannel(SignalSource source, int index, int nameLength)
        {
            ChannelInfo ci = new ChannelInfo(source, index, 0, "");
              //ci.RecordIndex = svlMapping.GetWord("RecordId");
              ci.OldProgramNr = svlMapping.GetWord("ChannelId") >> 2;

              var nwMask = svlMapping.GetDword("NwMask");
              ci.Skip = (nwMask & svlMapping.Settings.GetInt("NwMask_Skip")) != 0;
              ci.Lock = (nwMask & svlMapping.Settings.GetInt("NwMask_Lock")) != 0;
              ci.Hidden = (nwMask & svlMapping.Settings.GetInt("NwMask_Hide")) != 0;
              for (int i = 0; i < 3; i++)
              {
            bool isFav = (nwMask & svlMapping.Settings.GetInt("NwMask_Fav" + (i + 1))) != 0;
            if (isFav)
              ci.Favorites |= (Favorites) (1 << i);
              }

              var fieldMask = svlMapping.GetDword("HashcodeFieldMask");

              if ((fieldMask & svlMapping.Settings.GetInt("HashcodeFieldMask_Name")) != 0)
              {
            ci.Name = svlMapping.GetString("Name", nameLength);
            int term = ci.Name.IndexOf('\0');
            if (term >= 0)
              ci.Name = ci.Name.Substring(0, term);
              }

              var serviceType = svlMapping.GetByte("ServiceType");
              if (serviceType == 1)
              {
            ci.SignalSource |= SignalSource.Tv;
            ci.ServiceTypeName = "TV";
              }
              else if (serviceType == 2)
              {
            ci.SignalSource |= SignalSource.Radio;
            ci.ServiceTypeName = "Radio";
              }
              else
              {
            ci.ServiceTypeName = "Data";
              }

              if ((fieldMask & svlMapping.Settings.GetInt("HashcodeFieldMask_TslRecId")) != 0)
              {
            int transpTableId = svlMapping.GetByte("TslTableId");
            int transpRecordId = svlMapping.GetByte("TslRecordId");
            var transpId = (transpTableId << 16) + transpRecordId;
            var transp = this.transponder.TryGet(transpId);
            if (transp != null)
            {
              ci.Transponder = transp;
              ci.FreqInMhz = transp.FrequencyInMhz;
              ci.SymbolRate = transp.SymbolRate;
            }
              }

              if ((fieldMask & svlMapping.Settings.GetInt("HashcodeFieldMask_BroadcastType")) != 0)
              {
            var bcastType = svlMapping.GetByte("BroadcastType");
            if (bcastType == 1)
              ReadAnalogData(ci);
            else if (bcastType == 2)
              ReadDvbData(ci);
              }

              ci.Encrypted = (fieldMask & svlMapping.Settings.GetInt("HashcodeFieldMask_Encrypted")) != 0;

              //ci.AddDebug("u1=");
              //ci.AddDebug(svlMapping.Data, svlMapping.BaseOffset + 2, 2);
              //ci.AddDebug("u2=");
              //ci.AddDebug(svlMapping.Data, svlMapping.BaseOffset + 4, 2);
              //ci.AddDebug(", hash=");
              //ci.AddDebug(svlMapping.Data, svlMapping.BaseOffset + 8, 2);
              //ci.AddDebug(", nw=");
              //ci.AddDebug(svlMapping.Data, svlMapping.BaseOffset + 12, 4);
              //ci.AddDebug(", o1=");
              //ci.AddDebug(svlMapping.Data, svlMapping.BaseOffset + 16, 4);
              ci.AddDebug(", o2=");
              ci.AddDebug(svlMapping.Data, svlMapping.BaseOffset + 20, 4);
              ci.AddDebug("progId=");
              ci.AddDebug(svlMapping.Data, svlMapping.BaseOffset + 24, 4);

              return ci;
        }
Esempio n. 40
0
        private void LoadInputGridLayout(SignalSource newSource)
        {
            string newLayout;
              if ((newSource & SignalSource.Analog) != 0)
            newLayout = Settings.Default.InputGridLayoutAnalog;
              else if ((newSource & SignalSource.DvbS) != 0)
            newLayout = Settings.Default.InputGridLayoutDvbS;
              else
            newLayout = Settings.Default.InputGridLayoutDvbCT;
              if (!string.IsNullOrEmpty(newLayout))
            this.SetGridLayout(this.gviewRight, newLayout);

              foreach (GridColumn col in this.gviewRight.Columns)
            col.Visible = GetGridColumnVisibility(col, newSource);

              this.ClearRightFilter();
        }
Esempio n. 41
0
 private ChannelList GetInitiallyClearedChannelList(SignalSource signalSource)
 {
   var channelList = dataRoot.GetChannelList(signalSource);
   if (channelList == null || channelList.ReadOnly)
     return null;
   if (!this.addChannels && !this.clearedLists.Contains(channelList))
   {
     foreach (var channel in channelList.Channels)
       channel.NewProgramNr = -1;
     this.clearedLists.Add(channelList);
   }
   return channelList;
 }
Esempio n. 42
0
    private void ReadDigitalChannels(SQLiteCommand cmd, string table, SignalSource signalSource, ChannelList tvChannels, ChannelList radioChannels)
    {
      string[] fieldNames = { "channel_handle", "channel_number", "channel_label", "frequency", "list_bits",
                            "dvb_service_type", "onid", "tsid", "sid", "sat_id", "channel_order" };
      var sql = this.GetQuery(table, fieldNames);
      var fields = this.GetFieldMap(fieldNames);

      cmd.CommandText = sql;
      using (var r = cmd.ExecuteReader())
      {
        while (r.Read())
        {
          ChannelInfo channel = new DbChannel(signalSource, r, fields, this.DataRoot, this.channelInfoByUid);
          if (!channel.IsDeleted)
          {
            var channelList = (channel.SignalSource & SignalSource.Radio) != 0 ? radioChannels : tvChannels;
            this.DataRoot.AddChannel(channelList, channel);
          }
        }
      }
    }
Esempio n. 43
0
    private object EncodeSignalSource(SignalSource signalSource)
    {
      StringBuilder sb = new StringBuilder();
      if ((signalSource & SignalSource.Analog) != 0) sb.Append('A');
      else sb.Append('D');

      if ((signalSource & SignalSource.Antenna) != 0) sb.Append('A');
      else if ((signalSource & SignalSource.Cable) != 0) sb.Append('C');
      else sb.Append('S');

      if ((signalSource & SignalSource.Radio) != 0) sb.Append('R');
      else sb.Append('T');

      sb.Append((int)signalSource >> 12);
      return sb.ToString();
    }
Esempio n. 44
0
 public ChannelList(SignalSource source, string caption)
 {
     this.source = source;
       this.ShortCaption = caption;
       this.FirstProgramNumber = (source & SignalSource.Digital) != 0 ? 1 : 0;
 }
Esempio n. 45
0
        private bool GetGridColumnVisibility(GridColumn col, SignalSource source)
        {
            if (col == this.colChannelOrTransponder) return (source & SignalSource.Sat) == 0;
              if (col == this.colShortName) return (source & SignalSource.Digital) != 0;
              if (col == this.colEncrypted) return (source & SignalSource.Digital) != 0;
              if (col == this.colServiceId) return (source & SignalSource.Digital) != 0;
              if (col == this.colVideoPid) return (source & SignalSource.Digital) != 0;
              if (col == this.colAudioPid) return (source & SignalSource.Digital) != 0;
              if (col == this.colServiceType) return (source & SignalSource.Digital) != 0;
              if (col == this.colServiceTypeName) return (source & SignalSource.Digital) != 0;
              if (col == this.colEncrypted) return (source & SignalSource.Digital) != 0;
              if (col == this.colTransportStreamId) return (source & SignalSource.Digital) != 0;
              if (col == this.colNetworkName) return (source & SignalSource.Digital) != 0;
              if (col == this.colNetworkOperator) return (source & SignalSource.Digital) != 0;
              if (col == this.colProvider) return (source & SignalSource.Digital) != 0;
              if (col == this.colSatellite) return (source & SignalSource.Sat) != 0;
              if (col == this.colNetworkId) return (source & SignalSource.Digital) != 0;
              if (col == this.colSymbolRate) return (source & SignalSource.Sat) != 0;
              if (col == this.colIndex) return col.Visible;
              if (col == this.colUid) return col.Visible;
              if (col == this.colDebug) return colDebug.Visible;
              if (col == this.colSignalSource) return col.Visible;
              if (col == this.colLogicalIndex) return colLogicalIndex.Visible;
              if (col == this.colPolarity) return false;

              return true;
        }
Esempio n. 46
0
 internal GcChannel(SignalSource source, int index, XmlNode node)
 {
   this.SignalSource = source;
   this.Index = index;
   this.XmlNode = node;
 }
Esempio n. 47
0
 private void SaveInputGridLayout(SignalSource signalSource)
 {
     string currentLayout = GetGridLayout(this.gviewRight);
       if ((signalSource & SignalSource.Analog) != 0)
     Settings.Default.InputGridLayoutAnalog = currentLayout;
       else if ((signalSource & SignalSource.DvbS) != 0)
     Settings.Default.InputGridLayoutDvbS = currentLayout;
       else //if ((signalSource & SignalSource.DvbCT) != 0)
     Settings.Default.InputGridLayoutDvbCT = currentLayout;
 }