Пример #1
0
 //改变摄像机场景状态
 private void SetCamtype(CamType type)
 {
     if (Camtype != type)
     {
         Camtype = type;
     }
 }
 private void IPDisconnectButton_Click(object sender, EventArgs e)
 {
     USBCamGroupBox.Enabled = true;
     ipCameraDriver.StopCamera();
     IPConnectButton.Enabled    = true;
     IPDisconnectButton.Enabled = false;
     mode = CamType.None;
 }
Пример #3
0
 public void Initialize(Transform Player)
 {
     camNum        = 3;
     cameraType    = CamType.FP;
     startRotation = charObj.transform.eulerAngles.y;
     x             = transform.eulerAngles.y;
     y             = transform.eulerAngles.x;
     charObj       = Player;
     SetCameraValues();
 }
 /// <summary>
 /// Funkcja obsługująca zdarzenie wciśnięcia przycisku połączenia z kamerą.
 /// </summary>
 /// <param name="sender">Referencja do obiektu wywołującego zdarzenie.</param>
 /// <param name="e">Dane zdarzenia.</param>
 private void ConnectButtonPressed(object sender, EventArgs e)
 {
     if (DeviceComboBox.SelectedIndex > -1)
     {
         if (cameraDriver.ConnectToCamera(NewCameraFrame, DeviceComboBox.SelectedIndex))
         {
             MovementDetectionButton.Enabled = true;
             IPCamGroupBox.Enabled           = false;
             mode = CamType.USB;
         }
     }
 }
Пример #5
0
    IEnumerator SwitchCameraInternal(CamType target)
    {
        yield return(StartCoroutine(Fader.FadeOut()));

        cameras[(int)camStatus].enabled = false;
        camStatus = target;
        cameras[(int)target].enabled = true;

        //TODO change worldspace event cam


        yield return(StartCoroutine(Fader.FadeIn()));
    }
        private void IPConnectButton_Click(object sender, EventArgs e)
        {
            String URL = URLtextBox.Text;

            if (ipCameraDriver.ConnectToCamera(NewCameraFrame, URL))
            {
                IPDisconnectButton.Enabled      = true;
                IPConnectButton.Enabled         = false;
                MovementDetectionButton.Enabled = true;
                mode = CamType.IP;
                USBCamGroupBox.Enabled = false;
            }
        }
 /// <summary>
 /// Funkcja obsługująca zdarzenie wciśnięcia przycisku zatrzymania przechwytywania obrazu.
 /// </summary>
 /// <param name="sender">Referencja do obiektu wywołującego zdarzenie.</param>
 /// <param name="e">Dane zdarzenia.</param>
 private void StopButtonPressed(object sender, EventArgs e)
 {
     cameraDriver.StopCamera();
     MovementDetectionButton.Enabled = false;
     if (thread != null)
     {
         if (thread.IsAlive)
         {
             thread.Abort();
         }
     }
     IPCamGroupBox.Enabled = true;
     mode = CamType.None;
 }
Пример #8
0
 void ChangeCamType()
 {
     if (camNum == 1)
     {
         cameraType = CamType.SP;
         camNum     = 2;
     }
     else if (camNum == 2)
     {
         cameraType = CamType.TP; camNum = 3;
     }
     else if (camNum == 3)
     {
         cameraType = CamType.FP; camNum = 1;
     }
 }
Пример #9
0
 //改变摄像机数据
 private void SetCaminfo(Caminfo info)
 {
     CamholdType        = info.CamHoldtype;
     CamStaticPos       = info.CamStaticPos;
     CamStaticAngles    = info.CamStaticAngles;
     CamAnglesMoveSpeed = info.CamAnglesMoveSpeed;
     CamPosMoveSpeed    = info.CamPosMoveSpeed;
     CamPosMoveTime     = info.CamPosMoveTime;
     CamAnglesMoveTime  = info.CamAnglesMoveTime;
     CamCenterDeviant   = info.CamCenterDeviant;
     CamPosDeviant      = info.CamPosDeviant;
     Camtype            = info.CamType;
     Camtagtype         = info.CamTagType;
     CamAnglesMovetype  = info.CamAnglesMovetype;
     CamPosmoveType     = info.CamPosMovetype;
     Camlooktype        = info.Camlooktype;
     CamLookSpeed       = info.CamLookSpeed;
 }
Пример #10
0
 public CamOutBaseData(
     MbeLayer.LayerValue _layer,
     CamType _ctype,
     Shape _shape,
     int _width,
     int _height,
     Point _pt0,
     Point _pt1)
 {
     layer  = _layer;
     code   = "";
     ctype  = _ctype;
     shape  = _shape;
     width  = _width;
     height = _height;
     pt0    = _pt0;
     pt1    = _pt1;
 }
Пример #11
0
    // Dynamic && SplitDynamic
    public void SwitchCamType(CamType _t, Vector3 _position)
    {
        // If the changing type is not the correct one, exit
        if (_t != CamType.Dynamic && _t != CamType.SplitDynamic)
        {
            return;
        }

        // Set the new type after checking if the distance and type are correct
        float _dist = Vector2.Distance(ban.position, lux.position);

        if (_t == CamType.SplitDynamic && _dist < MaxCamZoom)
        {
            _t = CamType.Dynamic;
        }

        currentCamType = _t;


        // Set the given position
        targetPositionCamBan = new Vector3(targetPositionCamBan.x, targetPositionCamBan.y, _position.z);
        targetPositionCamLux = new Vector3(targetPositionCamLux.x, targetPositionCamLux.y, _position.z);

        if (currentCamType == CamType.SplitDynamic)
        {
            // Activate the split
            ToggleSplit(true);

            // Sets the correct angle of the split
            Vector3 _dir   = ban.position - lux.position;
            float   _angle = Mathf.Atan2(_dir.y, _dir.x) * Mathf.Rad2Deg;
            mask.transform.eulerAngles        = new Vector3(0, 0, _angle - 90);
            render.transform.localEulerAngles = new Vector3(0, 0, -_angle + 90);
        }

        // Disable the split it the type doesn't need it
        else if (currentCamType == CamType.Dynamic)
        {
            ToggleSplit(false);
        }
    }
Пример #12
0
    // SplitFixe
    public void SwitchCamType(CamType _t, float _angle, float _zoom)
    {
        // If the changing type is not the correct one, exit
        if (_t != CamType.SplitFixe)
        {
            return;
        }

        // Set the nexw type
        currentCamType = _t;

        // Set the given position
        targetPositionCamBan = new Vector3(targetPositionCamBan.x, targetPositionCamBan.y, _zoom);
        targetPositionCamLux = new Vector3(targetPositionCamLux.x, targetPositionCamLux.y, _zoom);

        // Sets the correct angle of the split
        SplitAngle = _angle;

        // Activate the split
        ToggleSplit(true);
    }
Пример #13
0
    // Fixe
    public void SwitchCamType(CamType _t, Vector3 _position, float _zoom)
    {
        // If the changing type is not the correct one, exit
        if (_t != CamType.Fixe)
        {
            return;
        }

        // Set the nexw type
        currentCamType = _t;

        // Set the given position
        targetPositionCamBan = new Vector3(targetPositionCamBan.x, targetPositionCamBan.y, _position.z);
        targetPositionCamLux = new Vector3(targetPositionCamLux.x, targetPositionCamLux.y, _position.z);

        // Set the camera position with correct zoom
        //if (IsOrtho)
        camLux.SetCam(_position, _zoom);
        //else
        //    camLux.SetCam(_position);

        // Disable the split
        ToggleSplit(false);
    }
Пример #14
0
        //anysee _anysee = null;

        #endregion

        //ctor
        /// <summary>
        /// Initializes a new instance of the <see cref="ConditionalAccess"/> class.
        /// </summary>
        /// <param name="tunerFilter">The tuner filter.</param>
        /// <param name="analyzerFilter">The capture filter.</param>
        /// <param name="winTvUsbCiFilter">The WinTV CI filter.</param>
        /// <param name="card">Determines the type of TV card</param>
        public ConditionalAccess(IBaseFilter tunerFilter, IBaseFilter analyzerFilter, IBaseFilter winTvUsbCiFilter,
                                 TvCardBase card)
        {
            try
            {
                //System.Diagnostics.Debugger.Launch();
                if (card != null && card.DevicePath != null)
                {
                    //fetch decrypt limit from DB and apply it.
                    TvBusinessLayer layer = new TvBusinessLayer();
                    Card            c     = layer.GetCardByDevicePath(card.DevicePath);
                    _decryptLimit = c.DecryptLimit;
                    _useCam       = c.CAM;
                    _CamType      = (CamType)c.CamType;
                    Log.Log.WriteFile("CAM is {0} model", _CamType);
                }

                _mapSubChannels = new Dictionary <int, ConditionalAccessContext>();
                TunerDri driTuner = card as TunerDri;
                if (driTuner != null)
                {
                    _tunerDri = driTuner;
                    _ciMenu   = driTuner;
                }
                if (tunerFilter == null && analyzerFilter == null)
                {
                    return;
                }
                //DVB checks. Conditional Access & DiSEqC etc.
                bool isDVBS = (card is TvCardDVBS);
                bool isDVBT = (card is TvCardDVBT);
                bool isDVBC = (card is TvCardDVBC);

                if (isDVBC || isDVBS || isDVBT)
                {
                    Log.Log.WriteFile("Check for KNC");
                    // Lookup device index of current card. only counting KNC cards by device path
                    int DeviceIndex = KNCDeviceLookup.GetDeviceIndex(card);
                    _knc = new KNCAPI(tunerFilter, (uint)DeviceIndex);
                    if (_knc.IsKNC)
                    {
                        //if (_knc.IsCamReady())
                        _ciMenu = _knc; // Register KNC CI Menu capabilities when CAM detected and ready
                        Log.Log.WriteFile("KNC card detected");
                        return;
                    }
                    Release.DisposeToNull(ref _knc);

                    Log.Log.WriteFile("Check for Digital Everywhere");
                    _digitalEveryWhere = new DigitalEverywhere(tunerFilter);
                    if (_digitalEveryWhere.IsDigitalEverywhere)
                    {
                        Log.Log.WriteFile("Digital Everywhere card detected");
                        _diSEqCMotor = new DiSEqCMotor(_digitalEveryWhere);

                        if (_digitalEveryWhere.IsCamReady())
                        {
                            Log.Log.WriteFile("Digital Everywhere registering CI menu capabilities");
                            _ciMenu = _digitalEveryWhere; // Register FireDTV CI Menu capabilities when CAM detected and ready
                        }
                        //_digitalEveryWhere.ResetCAM();
                        return;
                    }
                    Release.DisposeToNull(ref _digitalEveryWhere);

                    Log.Log.WriteFile("Check for Twinhan");
                    _twinhan = new Twinhan(tunerFilter);
                    if (_twinhan.IsTwinhan)
                    {
                        Log.Log.WriteFile("Twinhan card detected");
                        _diSEqCMotor = new DiSEqCMotor(_twinhan);
                        Log.Log.WriteFile("Twinhan registering CI menu capabilities");
                        _ciMenu = _twinhan; // Register Twinhan CI Menu capabilities when CAM detected and ready
                        return;
                    }
                    Release.DisposeToNull(ref _twinhan);

                    Log.Log.WriteFile("Check for TechnoTrend");
                    _technoTrend = new TechnoTrendAPI(tunerFilter);
                    if (_technoTrend.IsTechnoTrend)
                    {
                        ////if (_technoTrend.IsCamPresent())
                        _ciMenu = _technoTrend; // Register Technotrend CI Menu capabilities
                        Log.Log.WriteFile("TechnoTrend card detected");
                        return;
                    }
                    Release.DisposeToNull(ref _technoTrend);

                    Log.Log.WriteFile("Check for Hauppauge");
                    _hauppauge = new Hauppauge(tunerFilter);
                    if (_hauppauge.IsHauppauge)
                    {
                        Log.Log.WriteFile("Hauppauge card detected");
                        Log.Log.WriteFile("Check for Hauppauge WinTV CI");
                        if (winTvUsbCiFilter != null)
                        {
                            Log.Log.WriteFile("WinTV CI detected in graph - using capabilities...");
                            _winTvCiModule = new WinTvCiModule(winTvUsbCiFilter);

                            Log.Log.WriteFile("WinTV CI registering CI menu capabilities");
                            _ciMenu = _winTvCiModule; // WinTv CI Menu capabilities
                        }
                        _diSEqCMotor = new DiSEqCMotor(_hauppauge);
                        return;
                    }
                    Release.DisposeToNull(ref _hauppauge);
                    Release.DisposeToNull(ref _winTvCiModule);

                    /*Log.Log.Info("Check for anysee");
                     * _anysee = new anysee(tunerFilter, analyzerFilter);
                     * if (_anysee.Isanysee)
                     * {
                     * Log.Log.Info("anysee device detected");
                     * return;
                     * }*/

                    Log.Log.WriteFile("Check for ProfRed");
                    _profred = new ProfRed(tunerFilter);
                    if (_profred.IsProfRed)
                    {
                        Log.Log.WriteFile("ProfRed card detected");
                        _diSEqCMotor = new DiSEqCMotor(_profred);
                        return;
                    }
                    Release.DisposeToNull(ref _profred);

                    // TeVii support
                    _TeVii = new TeVii();
                    _TeVii.Init(tunerFilter);
                    _TeVii.DevicePath = card.DevicePath;
                    Log.Log.WriteFile("Check for {0}", _TeVii.Provider);
                    _TeVii.CheckAndOpen();
                    if (_TeVii.IsSupported)
                    {
                        _diSEqCMotor = new DiSEqCMotor(_TeVii);
                        _HWProvider  = _TeVii;
                        Log.Log.WriteFile("Check for Hauppauge WinTV CI");
                        if (winTvUsbCiFilter != null)
                        {
                            Log.Log.WriteFile("WinTV CI detected in graph - using capabilities...");
                            _winTvCiModule = new WinTvCiModule(winTvUsbCiFilter);
                        }
                        return;
                    }
                    Release.DisposeToNull(ref _TeVii);

                    // DigitalDevices support
                    _DigitalDevices = new DigitalDevices(tunerFilter);
                    if (_DigitalDevices.IsGenericBDAS)
                    {
                        _genericbdas = _DigitalDevices;
                        if (_DigitalDevices.IsSupported)
                        {
                            _ciMenu = _DigitalDevices;
                        }
                        return; // detected
                    }
                    Release.DisposeToNull(ref _DigitalDevices);

                    Log.Log.WriteFile("Check for Conexant based card");
                    _conexant = new ConexantBDA(tunerFilter);
                    if (_conexant.IsConexant)
                    {
                        Log.Log.WriteFile("Conexant BDA card detected");
                        Log.Log.WriteFile("Check for Hauppauge WinTV CI");
                        if (winTvUsbCiFilter != null)
                        {
                            Log.Log.WriteFile("WinTV CI detected in graph - using capabilities...");
                            _winTvCiModule = new WinTvCiModule(winTvUsbCiFilter);
                        }
                        return;
                    }
                    Release.DisposeToNull(ref _conexant);
                    Release.DisposeToNull(ref _winTvCiModule);

                    Log.Log.WriteFile("Check for GenPix BDA based card");
                    _genpix = new GenPixBDA(tunerFilter);
                    if (_genpix.IsGenPix)
                    {
                        Log.Log.WriteFile("GenPix BDA card detected");
                        Log.Log.WriteFile("Check for Hauppauge WinTV CI");
                        if (winTvUsbCiFilter != null)
                        {
                            Log.Log.WriteFile("WinTV CI detected in graph - using capabilities...");
                            _winTvCiModule = new WinTvCiModule(winTvUsbCiFilter);
                        }
                        return;
                    }
                    Release.DisposeToNull(ref _genpix);
                    Release.DisposeToNull(ref _winTvCiModule);

                    Log.Log.WriteFile("Check for Generic DVB-S card");
                    _genericbdas = new GenericBDAS(tunerFilter);
                    if (_genericbdas.IsGenericBDAS)
                    {
                        Log.Log.WriteFile("Generic BDA card detected");
                        Log.Log.WriteFile("Check for Hauppauge WinTV CI");
                        if (winTvUsbCiFilter != null)
                        {
                            Log.Log.WriteFile("WinTV CI detected in graph - using capabilities...");
                            _winTvCiModule = new WinTvCiModule(winTvUsbCiFilter);
                        }
                        return;
                    }
                    Release.DisposeToNull(ref _genericbdas);

                    //Final WinTV-CI check for DVB-T hybrid cards
                    Log.Log.WriteFile("Check for Hauppauge WinTV CI");
                    if (winTvUsbCiFilter != null)
                    {
                        Log.Log.WriteFile("WinTV CI detected in graph - using capabilities...");
                        _winTvCiModule = new WinTvCiModule(winTvUsbCiFilter);
                        return;
                    }
                    Release.DisposeToNull(ref _winTvCiModule);
                }

                //ATSC checks
                bool isATSC = (card is TvCardATSC);
                if (isATSC)
                {
                    Log.Log.WriteFile("Check for ViXS ATSC QAM card");
                    _isvixsatsc = new ViXSATSC(tunerFilter);
                    if (_isvixsatsc.IsViXSATSC)
                    {
                        Log.Log.WriteFile("ViXS ATSC QAM card detected");
                        return;
                    }
                    Release.DisposeToNull(ref _isvixsatsc);

                    Log.Log.WriteFile("Check for Generic ATSC QAM card");
                    _isgenericatsc = new GenericATSC(tunerFilter);
                    if (_isgenericatsc.IsGenericATSC)
                    {
                        Log.Log.WriteFile("Generic ATSC QAM card detected");
                        return;
                    }
                    Release.DisposeToNull(ref _isgenericatsc);
                }
            }
            catch (Exception ex)
            {
                Log.Log.Write(ex);
            }
        }
Пример #15
0
    //anysee _anysee = null;

    #endregion

    //ctor
    /// <summary>
    /// Initializes a new instance of the <see cref="ConditionalAccess"/> class.
    /// </summary>
    /// <param name="tunerFilter">The tuner filter.</param>
    /// <param name="analyzerFilter">The capture filter.</param>
    /// <param name="winTvUsbCiFilter">The WinTV CI filter.</param>
    /// <param name="card">Determines the type of TV card</param>    
    public ConditionalAccess(IBaseFilter tunerFilter, IBaseFilter analyzerFilter, IBaseFilter winTvUsbCiFilter,
                             TvCardBase card)
    {
      try
      {
        //System.Diagnostics.Debugger.Launch();        
        if (card != null && card.DevicePath != null)
        {
          //fetch decrypt limit from DB and apply it.
          TvBusinessLayer layer = new TvBusinessLayer();
          Card c = layer.GetCardByDevicePath(card.DevicePath);
          _decryptLimit = c.DecryptLimit;
          _useCam = c.CAM;
          _CamType = (CamType)c.CamType;
          Log.Log.WriteFile("CAM is {0} model", _CamType);
        }

        _mapSubChannels = new Dictionary<int, ConditionalAccessContext>();
        TunerDri driTuner = card as TunerDri;
        if (driTuner != null)
        {
          _tunerDri = driTuner;
          _ciMenu = driTuner;
        }
        if (tunerFilter == null && analyzerFilter == null)
          return;
        //DVB checks. Conditional Access & DiSEqC etc.
        bool isDVBS = (card is TvCardDVBS);
        bool isDVBT = (card is TvCardDVBT);
        bool isDVBC = (card is TvCardDVBC);

        if (isDVBC || isDVBS || isDVBT)
        {
          Log.Log.WriteFile("Check for KNC");
          // Lookup device index of current card. only counting KNC cards by device path
          int DeviceIndex = KNCDeviceLookup.GetDeviceIndex(card);
          _knc = new KNCAPI(tunerFilter, (uint)DeviceIndex);
          if (_knc.IsKNC)
          {
            //if (_knc.IsCamReady()) 
            _ciMenu = _knc; // Register KNC CI Menu capabilities when CAM detected and ready
            Log.Log.WriteFile("KNC card detected");
            return;
          }
          Release.DisposeToNull(ref _knc);

          Log.Log.WriteFile("Check for Digital Everywhere");
          _digitalEveryWhere = new DigitalEverywhere(tunerFilter);
          if (_digitalEveryWhere.IsDigitalEverywhere)
          {
            Log.Log.WriteFile("Digital Everywhere card detected");
            _diSEqCMotor = new DiSEqCMotor(_digitalEveryWhere);

            if (_digitalEveryWhere.IsCamReady())
            {
              Log.Log.WriteFile("Digital Everywhere registering CI menu capabilities");
              _ciMenu = _digitalEveryWhere; // Register FireDTV CI Menu capabilities when CAM detected and ready
            }
            //_digitalEveryWhere.ResetCAM();
            return;
          }
          Release.DisposeToNull(ref _digitalEveryWhere);

          Log.Log.WriteFile("Check for Twinhan");
          _twinhan = new Twinhan(tunerFilter);
          if (_twinhan.IsTwinhan)
          {
            Log.Log.WriteFile("Twinhan card detected");
            _diSEqCMotor = new DiSEqCMotor(_twinhan);
            Log.Log.WriteFile("Twinhan registering CI menu capabilities");
            _ciMenu = _twinhan; // Register Twinhan CI Menu capabilities when CAM detected and ready
            return;
          }
          Release.DisposeToNull(ref _twinhan);

          Log.Log.WriteFile("Check for TechnoTrend");
          _technoTrend = new TechnoTrendAPI(tunerFilter);
          if (_technoTrend.IsTechnoTrend)
          {
            ////if (_technoTrend.IsCamPresent()) 
            _ciMenu = _technoTrend; // Register Technotrend CI Menu capabilities
            Log.Log.WriteFile("TechnoTrend card detected");
            return;
          }
          Release.DisposeToNull(ref _technoTrend);

          Log.Log.WriteFile("Check for Hauppauge");
          _hauppauge = new Hauppauge(tunerFilter);
          if (_hauppauge.IsHauppauge)
          {
            Log.Log.WriteFile("Hauppauge card detected");
            Log.Log.WriteFile("Check for Hauppauge WinTV CI");
            if (winTvUsbCiFilter != null)
            {
              Log.Log.WriteFile("WinTV CI detected in graph - using capabilities...");
              _winTvCiModule = new WinTvCiModule(winTvUsbCiFilter);

              Log.Log.WriteFile("WinTV CI registering CI menu capabilities");
              _ciMenu = _winTvCiModule; // WinTv CI Menu capabilities 
            }
            _diSEqCMotor = new DiSEqCMotor(_hauppauge);
            return;
          }
          Release.DisposeToNull(ref _hauppauge);
          Release.DisposeToNull(ref _winTvCiModule);

          /*Log.Log.Info("Check for anysee");
          _anysee = new anysee(tunerFilter, analyzerFilter);
          if (_anysee.Isanysee)
          {
            Log.Log.Info("anysee device detected");
            return;
          }*/

          Log.Log.WriteFile("Check for ProfRed");
          _profred = new ProfRed(tunerFilter);
          if (_profred.IsProfRed)
          {
            Log.Log.WriteFile("ProfRed card detected");
            _diSEqCMotor = new DiSEqCMotor(_profred);
            return;
          }
          Release.DisposeToNull(ref _profred);

          // TeVii support
          _TeVii = new TeVii();
          _TeVii.Init(tunerFilter);
          _TeVii.DevicePath = card.DevicePath;
          Log.Log.WriteFile("Check for {0}", _TeVii.Provider);
          _TeVii.CheckAndOpen();
          if (_TeVii.IsSupported)
          {
            _diSEqCMotor = new DiSEqCMotor(_TeVii);
            _HWProvider = _TeVii;
            Log.Log.WriteFile("Check for Hauppauge WinTV CI");
            if (winTvUsbCiFilter != null)
            {
              Log.Log.WriteFile("WinTV CI detected in graph - using capabilities...");
              _winTvCiModule = new WinTvCiModule(winTvUsbCiFilter);
            }
            return;
          }
          Release.DisposeToNull(ref _TeVii);

          // DigitalDevices support
          _DigitalDevices = new DigitalDevices(tunerFilter);
          if (_DigitalDevices.IsGenericBDAS)
          {
            _genericbdas = _DigitalDevices;
            if (_DigitalDevices.IsSupported)
            {
              _ciMenu = _DigitalDevices;
            }
            return; // detected
          }
          Release.DisposeToNull(ref _DigitalDevices);

          Log.Log.WriteFile("Check for Conexant based card");
          _conexant = new ConexantBDA(tunerFilter);
          if (_conexant.IsConexant)
          {
            Log.Log.WriteFile("Conexant BDA card detected");
            Log.Log.WriteFile("Check for Hauppauge WinTV CI");
            if (winTvUsbCiFilter != null)
            {
              Log.Log.WriteFile("WinTV CI detected in graph - using capabilities...");
              _winTvCiModule = new WinTvCiModule(winTvUsbCiFilter);
            }
            return;
          }
          Release.DisposeToNull(ref _conexant);
          Release.DisposeToNull(ref _winTvCiModule);

          Log.Log.WriteFile("Check for GenPix BDA based card");
          _genpix = new GenPixBDA(tunerFilter);
          if (_genpix.IsGenPix)
          {
            Log.Log.WriteFile("GenPix BDA card detected");
            Log.Log.WriteFile("Check for Hauppauge WinTV CI");
            if (winTvUsbCiFilter != null)
            {
              Log.Log.WriteFile("WinTV CI detected in graph - using capabilities...");
              _winTvCiModule = new WinTvCiModule(winTvUsbCiFilter);
            }
            return;
          }
          Release.DisposeToNull(ref _genpix);
          Release.DisposeToNull(ref _winTvCiModule);

          Log.Log.WriteFile("Check for Generic DVB-S card");
          _genericbdas = new GenericBDAS(tunerFilter);
          if (_genericbdas.IsGenericBDAS)
          {
            Log.Log.WriteFile("Generic BDA card detected");
            Log.Log.WriteFile("Check for Hauppauge WinTV CI");
            if (winTvUsbCiFilter != null)
            {
              Log.Log.WriteFile("WinTV CI detected in graph - using capabilities...");
              _winTvCiModule = new WinTvCiModule(winTvUsbCiFilter);
            }
            return;
          }
          Release.DisposeToNull(ref _genericbdas);

          //Final WinTV-CI check for DVB-T hybrid cards
          Log.Log.WriteFile("Check for Hauppauge WinTV CI");
          if (winTvUsbCiFilter != null)
          {
            Log.Log.WriteFile("WinTV CI detected in graph - using capabilities...");
            _winTvCiModule = new WinTvCiModule(winTvUsbCiFilter);
            return;
          }
          Release.DisposeToNull(ref _winTvCiModule);
        }

        //ATSC checks
        bool isATSC = (card is TvCardATSC);
        if (isATSC)
        {
          Log.Log.WriteFile("Check for ViXS ATSC QAM card");
          _isvixsatsc = new ViXSATSC(tunerFilter);
          if (_isvixsatsc.IsViXSATSC)
          {
            Log.Log.WriteFile("ViXS ATSC QAM card detected");
            return;
          }
          Release.DisposeToNull(ref _isvixsatsc);

          Log.Log.WriteFile("Check for Generic ATSC QAM card");
          _isgenericatsc = new GenericATSC(tunerFilter);
          if (_isgenericatsc.IsGenericATSC)
          {
            Log.Log.WriteFile("Generic ATSC QAM card detected");
            return;
          }
          Release.DisposeToNull(ref _isgenericatsc);
        }
      }
      catch (Exception ex)
      {
        Log.Log.Write(ex);
      }
    }
Пример #16
0
        protected override void OnStart(float startTime)
        {
            _start = startTime;

            _type = ParseEnum <CamType>(typeOptions[_typeSelect]);

            if (_cam == null)
            {
                return;
            }

            // Do type-specific action
            switch (_type)
            {
            case CamType.SetActive:

                if (_gameManager == null)
                {
                    Camera current = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <Camera>();
                    current.tag     = "InactiveCamera";
                    current.enabled = false;
                    //current.gameObject.SetActive(false);

                    _cam.tag     = "MainCamera";
                    _cam.enabled = true;
                    //_cam.gameObject.SetActive(true);
                }
                else
                {
                    _gameManager.SetCam(_cam);
                }

                break;

            case CamType.LookAt:

                if (_cam == null || _transformTo == null)
                {
                    return;
                }

                if (_transitionLookAt)
                {
                    _cam.transform.DOLookAt(_transformTo.position, _duration).SetEase(easer);
                }
                else
                {
                    _cam.transform.LookAt(_transformTo);
                }

                break;

            case CamType.SetTransformNow:

                _cam.transform.position = _transformTo.position;
                _cam.transform.rotation = _transformTo.rotation;

                break;

            case CamType.TransitionTransform:

                if (_cam != null && _transformTo != null)
                {
                    TransitTransform(_transformTo, _transformFrom, easer);
                }

                break;

            case CamType.TransitionCam:

                if (_cam == null || _camTo == null)
                {
                    return;
                }

                if (_cam.orthographic != _camTo.orthographic)
                {
                    Debug.Log("WARNING: TransitionCam has an orthographic & perspective cam as targets!");
                }

                TransitCam(_cam, _camTo, _duration, null, easer);

                break;

            case CamType.Shake:

                if (_doShakePos)
                {
                    _cam.DOShakePosition(_duration, _strength, _vibrato, _rndm).SetEase(easer);
                }
                if (_doShakeRot)
                {
                    _cam.DOShakeRotation(_duration, _strength, _vibrato, _rndm).SetEase(easer);
                }

                break;

            case CamType.OrthoSize:

                _cam.DOOrthoSize(_orthoVal, _duration).SetEase(easer);

                break;

            /*
             * case CamType.Zoom:
             *
             * if (_cam == null || _transformTo == null) return;
             *
             * //TODO calculations need work
             *
             * _zoomDir = ParseEnum<ZoomDirection>(zoomDirOptions[_zoomDirSelect]);
             * Vector3 camPos = _cam.transform.position;
             * Vector3 toPos = _transformTo.position;
             * float dist = Vector3.Distance(camPos,toPos);
             * Vector3 rotationDir = new Vector3(Mathf.Abs(camPos.x - toPos.x) / dist, Mathf.Abs(camPos.y - toPos.y) / dist, Mathf.Abs(camPos.z - toPos.z) / dist);
             * rotationDir = rotationDir * _zoomVal * (float)_zoomDir;
             * _cam.transform.LookAt(toPos);
             * _cam.transform.DOMove(rotationDir, _duration).SetEase(easer).SetRelative();
             *
             * break;
             */
            case CamType.SetProjection:

                _cam.orthographic = _projectionType;

                break;

            default:

                Debug.Log("Invalid CamAnimEvent type");

                break;
            }
        }
Пример #17
0
 public IEnumerator SwitchCamera(CamType target)
 {
     StopAllCoroutines();
     yield return(StartCoroutine(SwitchCameraInternal(target)));
 }