Exemplo n.º 1
0
        private async Task SwitchScene(SlideShowWindow Wn)
        {
            var sceneChanged = false;

            string[] obsCommands = default;
            try
            {
                obsCommands = Wn.View.Slide.NotesPage.Shapes[2].TextFrame.TextRange.Text.Split('\r');
            }
            catch
            {
                // Nothing to read
            }

            if (obsCommands.Length == 0)
            {
                return;
            }

            HandleNoSceneSwitch(obsCommands);

            foreach (var obsCommand in obsCommands)
            {
                if (obsCommand.StartsWith("OBSScene:", StringComparison.OrdinalIgnoreCase))
                {
                    var obsSceneName = obsCommand.Substring(9).Trim();

                    _ = await Obs.ChangeScene(obsSceneName);

                    sceneChanged = true;
                }

                if (obsCommand.StartsWith("OBSDelay:", StringComparison.OrdinalIgnoreCase))
                {
                    var delay = Convert.ToInt32(obsCommand[9..].Trim());
Exemplo n.º 2
0
        public async Task <bool> TryConnect()
        {
            string message;

            if (Obs != null && !Obs.IsConnected)
            {
                try
                {
                    await Obs.Connect(Config.ServerAddress, Config.ServerPassword).ConfigureAwait(false);

                    message = $"Finished attempting to connect to {Config.ServerAddress}";
                    if (message != lastTryConnectMessage)
                    {
                        Logger.log?.Info(message);
                        lastTryConnectMessage = message;
                    }
                }
                catch (AuthFailureException)
                {
                    message = $"Authentication failed connecting to server {Config.ServerAddress}.";
                    if (message != lastTryConnectMessage)
                    {
                        Logger.log?.Info(message);
                        lastTryConnectMessage = message;
                    }
                    return(false);
                }
                catch (ErrorResponseException ex)
                {
                    message = $"Failed to connect to server {Config.ServerAddress}: {ex.Message}.";
                    if (message != lastTryConnectMessage)
                    {
                        Logger.log?.Info(message);
                        lastTryConnectMessage = message;
                    }
                    Logger.log?.Debug(ex);
                    return(false);
                }
                catch (Exception ex)
                {
                    message = $"Failed to connect to server {Config.ServerAddress}: {ex.Message}.";
                    if (message != lastTryConnectMessage)
                    {
                        Logger.log?.Info(message);
                        Logger.log?.Debug(ex);
                        lastTryConnectMessage = message;
                    }
                    return(false);
                }
                if (Obs.IsConnected)
                {
                    Logger.log?.Info($"Connected to OBS @ {Config.ServerAddress}");
                }
            }
            else
            {
                Logger.log?.Info("TryConnect: OBS is already connected.");
            }
            return(Obs?.IsConnected ?? false);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Creates a new Obs audio encoder with default settings.
        /// </summary>
        /// <returns></returns>
        public static ObsEncoder CreateAudioEncoder()
        {
            // mf_aac for W8 and later, ffmpeg_aac for W7
            string encoderId = "mf_aac";

            // Windows 7 is Version 6.1. Check if version 6.1 and below. We don't support anything below Windows 7.
            if (System.Environment.OSVersion.Platform == PlatformID.Win32NT &&
                ((System.Environment.OSVersion.Version.Major == 6 && System.Environment.OSVersion.Version.Minor <= 1) ||
                 System.Environment.OSVersion.Version.Major < 6)
                )
            {
                encoderId = "ffmpeg_aac";
            }

            ObsEncoder obsAudioEncoder = new ObsEncoder(ObsEncoderType.Audio, encoderId, "simple_aac");

            obsAudioEncoder.SetAudio(Obs.GetAudio());

            ObsData audioEncoderSettings = new ObsData();

            audioEncoderSettings.SetInt("bitrate", Constants.Audio.ENCODER_BITRATE);
            audioEncoderSettings.SetString("rate_control", Constants.Audio.RATE_CONTROL);
            audioEncoderSettings.SetInt("samplerate", Constants.Audio.SAMPLES_PER_SEC);
            audioEncoderSettings.SetBoolDefault("allow he-aac", true);
            obsAudioEncoder.Update(audioEncoderSettings);
            audioEncoderSettings.Dispose();

            return(obsAudioEncoder);
        }
Exemplo n.º 4
0
        public Task CenterOnScreenAsync()
        {
            var request = new JsonRcRequest("centerOnScreen", typeof(JsonRcResponse <object>));

            request.AddParam("resource", resourceId);
            return(Obs.SendRequestAsync <object>(request));
        }
Exemplo n.º 5
0
        /// <summary>
        /// Configures the recording session for webcam only.
        /// </summary>
        /// <param name="frameRate"></param>
        /// <returns></returns>
        public static bool ConfigureWebcamOnly(uint frameRate)
        {
            Store.Data.Obs.WebcamScene.ClearItems();
            Store.Data.Obs.WebcamScene.Add(Store.Data.Webcam.Source);
            Store.Data.Obs.WebcamScene.Add(Store.Data.Audio.InputSource);
            Store.Data.Obs.Presentation.SetScene(Store.Data.Obs.WebcamScene);

            var obsVideoInfo = new GenerateObsVideoInfoParameters
            {
                BaseWidth    = Store.Data.Webcam.Source.Width,
                OutputWidth  = Store.Data.Webcam.Source.Width,
                BaseHeight   = Store.Data.Webcam.Source.Height,
                OutputHeight = Store.Data.Webcam.Source.Height,
                FrameRate    = GetFrameRate(frameRate)
            };

            obs_video_info ovi = ObsHelper.GenerateObsVideoInfoObject(obsVideoInfo);

            if (!Obs.ResetVideo(ovi))
            {
                return(false);
            }

            return(true);
        }
Exemplo n.º 6
0
    public virtual bool Tick()
    {
        if (!CanTick())
        {
            return(false);
        }

        _SyncMutex     = true;
        _NeedFixedTick = true;

        foreach (var Obs in _Listeners)
        {
            Obs.OnPreTick();
        }
        foreach (var Obs in _Listeners)
        {
            Obs.OnTick();
        }
        foreach (var Obs in _Listeners)
        {
            Obs.OnPostTick();
        }

        return(true);
    }
Exemplo n.º 7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                string id = Session["id_usuario"].ToString();
                if (string.IsNullOrEmpty(id))
                {
                    //Response.Redirect("login.aspx");
                }
            }
            catch
            {
                //Response.Redirect("login.aspx");
            }

            string permissao = null;

            try
            {
                permissao = Session["permissao"].ToString();
            }
            catch
            {
            }

            if (permissao != null)
            {
                if (permissao == "p1")
                {
                    btnArquivarCliente.Visible = false;
                    mspanResponsavel.Disabled  = true;
                    //mspanResponsavel.Attributes.Add("readonly", "readonly");
                    //mspanNome.Attributes.Add()
                    mspanNome.Attributes.Add("readonly", "readonly");
                    mspanEspecie.Disabled = true;
                    mspanAps.Disabled     = true;
                }
            }


            if (!IsPostBack)
            {
                ObjetoTransferencia.Comarca comarca = new Comarca();


                ObjetoTransferencia.TipoMovimentacao tm = new TipoMovimentacao();
                ddlTipoMovimentacao.DataSource     = tm.consulta("usp_manutencao_tipo_movimentcao", "consultar");
                ddlTipoMovimentacao.DataTextField  = "nome";
                ddlTipoMovimentacao.DataValueField = "id";
                ddlTipoMovimentacao.DataBind();
                ddlTipoMovimentacao.Items.Insert(0, new ListItem("Selecione...", "0"));

                ObjetoTransferencia.Obs obs = new Obs();
                obs_contato.DataSource     = obs.consulta("usp_manutencao_obs_contato", "consultar");
                obs_contato.DataTextField  = "nome";
                obs_contato.DataValueField = "id";
                obs_contato.DataBind();
                obs_contato.Items.Insert(0, new ListItem("Selecione...", "0"));
            }
        }
Exemplo n.º 8
0
 private void PathPanel_MouseClick(object sender, MouseEventArgs e)
 {
     if (e.Button == MouseButtons.Right)
     {
         foreach (Obstacle Obs in Obstacles)
         {
             if (Obs.Intersect(e.Location))
             {
                 if (Obs.Name != "")
                 {
                     toolTip1.Active       = true;
                     toolTip1.ToolTipTitle = "Object Name :";
                     toolTip1.Show(Obs.Name, this);
                 }
                 else
                 {
                     ObstacleInfo OI = new ObstacleInfo();
                     OI.StartPosition = FormStartPosition.CenterScreen;
                     OI.PathPanelRef  = this;
                     OI.ShowDialog();
                     Obs.Name = TempName;
                     TempName = "";
                 }
                 break;
             }
         }
     }
 }
Exemplo n.º 9
0
        private void ClearBackground(uint cx, uint cy)
        {
            GSEffect solid = Obs.GetSolidEffect();

            solid.SetParameterValue("color", new Vector4(0.0f, 0.0f, 0.0f, 1.0f));

            GSEffectTechnique tech = solid.GetTechnique("Solid");

            GS.TechniqueBegin(tech);
            GS.TechniqueBeginPass(tech, 0);

            GS.MatrixPush();
            GS.MatrixIdentity();
            GS.MatrixScale3f((float)cx, (float)cy, 1.0f);

            GS.LoadVertexBuffer(boxPrimitive);

            //draw solid black color over the scene
            GS.Draw(GSDrawMode.TrisStrip, 0, 0);

            GS.MatrixPop();

            GS.TechniqueEndPass(tech);
            GS.TechniqueEnd(tech);

            GS.LoadVertexBuffer(null);
        }
Exemplo n.º 10
0
        /// <summary>
        /// Converte um produto de Model para Dto
        /// </summary>
        /// <param name="entregaDto"></param>
        /// <param name="mensagemErro"></param>
        /// <returns></returns>
        public bool ConverterModelParaDto(ref PedidoEntregaDto entregaDto, ref string mensagemErro)
        {
            try
            {
                entregaDto.Obs           = string.IsNullOrWhiteSpace(Obs) ? "" : Obs.Trim();
                entregaDto.Conferido     = this.Conferido;
                entregaDto.IdEndereco    = this.IdEndereco;
                entregaDto.IdFuncionario = this.IdFuncionario;
                entregaDto.IdPedido      = this.IdPedido;
                entregaDto.ValorRetorno  = this.ValorRetorno;
                entregaDto.DataAlteracao = this.DataAlteracao;
                entregaDto.DataInclusao  = this.DataInclusao;
                entregaDto.Id            = this.Id;
                entregaDto.Inativo       = this.Inativo;

                // Converter endereço
                ClienteEnderecoDto clienteEnderecoDto = new ClienteEnderecoDto();
                if (!ClienteEndereco.ConverterModelParaDto(ref clienteEnderecoDto, ref mensagemErro))
                {
                    return(false);
                }

                entregaDto.ClienteEndereco = clienteEnderecoDto;

                return(true);
            }
            catch (Exception ex)
            {
                mensagemErro = ex.Message;
                return(false);
            }
        }
Exemplo n.º 11
0
        /// <summary>
        /// Converte um pedido de DTO para Model
        /// </summary>
        /// <param name="pedidoDto"></param>
        /// <param name="mensagemErro"></param>
        /// <returns></returns>
        public bool ConverterModelParaDto(ref RequisicaoObterListagemPedidosDto requisicaoDto, ref string mensagemErro)
        {
            if (!base.ConverterModelParaDto(requisicaoDto, ref mensagemErro))
            {
                return(false);
            }

            try
            {
                requisicaoDto.Obs = string.IsNullOrWhiteSpace(Obs) ? "" : Obs.Trim();
                requisicaoDto.JustificativaCancelamento = string.IsNullOrWhiteSpace(JustificativaCancelamento) ? "" : JustificativaCancelamento.Trim();
                requisicaoDto.Tipo               = Tipo;
                requisicaoDto.IdCliente          = IdCliente == Guid.Empty ? null : IdCliente;
                requisicaoDto.IndicadorCredito   = IndicadorCredito;
                requisicaoDto.IndicadorDebito    = IndicadorDebito;
                requisicaoDto.IndicadorDinheiro  = IndicadorDinheiro;
                requisicaoDto.IndicadorPromocao  = IndicadorPromocao;
                requisicaoDto.PedidoIfood        = PedidoIfood;
                requisicaoDto.TaxaEntregaInicial = TaxaEntregaInicial;
                requisicaoDto.TaxaEntregaFinal   = TaxaEntregaFinal;
                requisicaoDto.TotalInicial       = TotalInicial;
                requisicaoDto.TotalFinal         = TotalFinal;
                requisicaoDto.TrocoFinal         = TrocoFinal;
                requisicaoDto.TrocoInicial       = TrocoInicial;

                return(true);
            }
            catch (Exception ex)
            {
                mensagemErro = ex.Message;
                return(false);
            }
        }
Exemplo n.º 12
0
        private void TestForm_FormClosed(object sender, FormClosedEventArgs e)
        {
            previewPanel.Dispose();
            presentation.Dispose();

            Obs.Shutdown();
        }
Exemplo n.º 13
0
        /// <summary>
        /// Converte um fornecedor de Model para Dto
        /// </summary>
        /// <param name="fornecedorDto"></param>
        /// <param name="mensagemErro"></param>
        /// <returns></returns>
        public bool ConverterModelParaDto(ref FornecedorDto fornecedorDto, ref string mensagemErro)
        {
            try
            {
                fornecedorDto.Cnpj = string.IsNullOrWhiteSpace(Cnpj) ? "" : Cnpj.Trim().Replace(".", "").Replace("-", "").Replace("-", "");
                fornecedorDto.ComplementoEndereco = string.IsNullOrWhiteSpace(ComplementoEndereco) ? "" : ComplementoEndereco.Trim();
                fornecedorDto.NomeFantasia        = string.IsNullOrWhiteSpace(NomeFantasia) ? "" : NomeFantasia.Trim();
                fornecedorDto.NumeroEndereco      = string.IsNullOrWhiteSpace(NumeroEndereco) ? "" : NumeroEndereco.Trim();
                fornecedorDto.Obs           = string.IsNullOrWhiteSpace(Obs) ? "" : Obs.Trim();
                fornecedorDto.RazaoSocial   = string.IsNullOrWhiteSpace(RazaoSocial) ? "" : RazaoSocial.Trim();
                fornecedorDto.Telefone      = string.IsNullOrWhiteSpace(Telefone) ? "" : Telefone.Trim();
                fornecedorDto.DataAlteracao = this.DataAlteracao;
                fornecedorDto.DataInclusao  = this.DataInclusao;
                fornecedorDto.Id            = this.Id;
                fornecedorDto.Inativo       = this.Inativo;

                fornecedorDto.Endereco.Bairro     = string.IsNullOrWhiteSpace(Endereco.Bairro) ? "" : Endereco.Bairro.Trim();
                fornecedorDto.Endereco.Cep        = string.IsNullOrWhiteSpace(Endereco.Cep) ? "" : Endereco.Cep.Trim().Replace("-", "");
                fornecedorDto.Endereco.Cidade     = string.IsNullOrWhiteSpace(Endereco.Cidade) ? "" : Endereco.Cidade.Trim();
                fornecedorDto.Endereco.Logradouro = string.IsNullOrWhiteSpace(Endereco.Logradouro) ? "" : Endereco.Logradouro.Trim();
                fornecedorDto.Endereco.Id         = Endereco.Id;

                return(true);
            }
            catch (Exception ex)
            {
                mensagemErro = ex.Message;
                return(false);
            }
        }
Exemplo n.º 14
0
 /// <summary>
 /// Processes everything related to the obstacles, their creation, disparition and their collision
 /// </summary>
 /// <param name="Rand"></param>
 /// <returns>Returns true if the player dies on an obstacle, false otherwise</returns>
 public static bool ProcessObstacles(Random Rand)
 {
     foreach (Obstacle Obs in Data.Obstacles) //process obstacle movement
     {
         Obs.ProcessObstacle();
         if (Obs.RelativeXPos == 5 && Data.YPos == 7)
         {
             return(true);
         }
     }
     if (Data.SafeDistance > 0) //avoid generating obsatcles too close to each other
     {
         Data.SafeDistance -= 1;
     }
     if (Data.SafeDistance == 0 && Data.Obstacles.Count < 5 && Rand.Next(20) == 0) //generate new obstacles
     {
         Data.Obstacles.Add(new Obstacle());
         Data.SafeDistance = 5;
     }
     if (Data.Obstacles.Count > 0) //avoid generating to many obstacles
     {
         if (Data.Obstacles[0].RelativeXPos == 0)
         {
             Data.Obstacles.RemoveAt(0);
         }
     }
     return(false);
 }
Exemplo n.º 15
0
        public Task SetTransformAsync(IPartialTransform transform)
        {
            var request = new JsonRcRequest("setTransform", typeof(JsonRcResponse <object>));

            request.AddParam("resource", resourceId);
            request.AddParam("args", new[] { transform });
            return(Obs.SendRequestAsync <object>(request));
        }
Exemplo n.º 16
0
        public Task RotateAsync(float deg)
        {
            var request = new JsonRcRequest("rotate", typeof(JsonRcResponse <object>));

            request.AddParam("resource", resourceId);
            request.AddParam("args", new[] { deg });
            return(Obs.SendRequestAsync <object>(request));
        }
Exemplo n.º 17
0
        public async Task <ISceneNodeApi> GetNodeByNameAsync(string name)
        {
            var retVal = await Obs.SendRequestAsync <SceneNodeApi>("getNodeByName", resourceId, name)
                         .ConfigureAwait(false);

            retVal.Obs = Obs;
            return(retVal);
        }
Exemplo n.º 18
0
        public async Task <ISceneItemApi> GetItemAsync(string sceneItemId)
        {
            var retVal = await Obs.SendRequestAsync <SceneItemApi>("getItem", resourceId, sceneItemId)
                         .ConfigureAwait(false);

            retVal.Obs = Obs;
            return(retVal);
        }
Exemplo n.º 19
0
        public async Task <ISceneItemFolderApi> CreateFolderAsync(string name)
        {
            var retVal = await Obs.SendRequestAsync <SceneItemFolderApi>("createFolder", resourceId, name)
                         .ConfigureAwait(false);

            retVal.Obs = Obs;
            return(retVal);
        }
Exemplo n.º 20
0
        public async Task <ISceneItemApi> CreateAndAddSourceAsync(string name, string type)
        {
            var retVal = await Obs.SendRequestAsync <SceneItemApi>("createAndAddSource", resourceId,
                                                                   name, type).ConfigureAwait(false);

            retVal.Obs = Obs;
            return(retVal);
        }
Exemplo n.º 21
0
        public async Task <ISceneItemApi> AddSourceAsync(string sourceId, ISceneNodeAddOptions options)
        {
            var retVal = await Obs.SendRequestAsync <SceneItemApi>("addSource", resourceId, sourceId, options)
                         .ConfigureAwait(false);

            retVal.Obs = Obs;
            return(retVal);
        }
 /// <summary>
 /// Current list for User items.
 /// </summary>
 ///
 public void LoadItem(List <Animal> items)
 {
     Obs.Clear();
     foreach (var item in items)
     {
         Obs.Add(item);
     }
 }
Exemplo n.º 23
0
    public static void Main()
    {
        Obs o = new Obs(); // Compiler warning due to [Obsolete] attribute

        o.numer = 42;

        Foo();
    }
Exemplo n.º 24
0
        public Task SetVisibilityAsync(bool visible)
        {
            var request = new JsonRcRequest("setVisibility", typeof(JsonRcResponse <object>));

            request.AddParam("resource", resourceId);
            request.AddParam("args", new[] { visible });
            return(Obs.SendRequestAsync <object>(request));
        }
        public ObsController(OBSWebsocket obs, Application ppt)
        {
            Obs = new(obs);
            Ppt = new(ppt);

            Obs.SceneChanged += Obs_SceneChanged;

            Obs.Connect().GetAwaiter().GetResult();
        }
Exemplo n.º 26
0
        public void SetScene(Scene scene)
        {
            if (scene == SelectedScene)
            {
                return;
            }

            SelectedScene = scene;
            Obs.SetOutputScene(0, SelectedScene);
        }
Exemplo n.º 27
0
        private void HandleDisconnected()
        {
            if (_isConnected)
            {
                return;
            }

            Obs.Connect().GetAwaiter().GetResult();
            _connectionTimer.Change(TimeSpan.FromSeconds(5), TimeSpan.FromSeconds(5));
        }
Exemplo n.º 28
0
        public void SetUp()
        {
            _liveSetting   = new LiveSetting(_database.DatabasePath);
            _obsRepository = new ObsRepository(_liveSetting);

            var encounters = TestDataHelpers.Encounters;

            _encounter = encounters.First();
            _obs       = _encounter.Obses.First();
        }
Exemplo n.º 29
0
        private void RenderPreview(IntPtr data, uint cx, uint cy)
        {
            libobs.obs_video_info ovi = Obs.GetVideoInfo();

            int   newW          = (int)cx;
            int   newH          = (int)cy;
            uint  baseWidth     = ovi.base_width;
            uint  baseHeight    = ovi.base_height;
            float previewAspect = (float)cx / cy;
            float baseAspect    = (float)baseWidth / baseHeight;

            //calculate new width and height for source to make it fit inside the preview area
            if (previewAspect > baseAspect)
            {
                newW = (int)(cy * baseAspect);
            }
            else
            {
                newH = (int)(cx / baseAspect);
            }

            int centerX = ((int)cx - newW) / 2;
            int centerY = ((int)cy - newH) / 2;

            previewScale = (float)newW / baseWidth;

            GS.ViewportPush();
            GS.ProjectionPush();

            //setup orthographic projection of the whole scene to be presented on viewport
            GS.Ortho(0.0f, baseWidth, 0.0f, baseHeight, -100.0f, 100.0f);
            GS.SetViewport(centerX, centerY, newW, newH);

            //draw scene background
            ClearBackground(baseWidth, baseHeight);

            //render all visible sources
            Obs.RenderMainView();

            //calculate bottom-right corner on scene space
            int right  = (int)cx - centerX;
            int bottom = (int)cy - centerY;

            //ortho for the outer area which would normally not appear on scene
            GS.Ortho(-centerX, right, -centerY, bottom, -100.0f, 100.0f);
            GS.ResetViewport();

            //render editing overlays
            RenderSceneEditing(data);

            GS.ProjectionPop();
            GS.ViewportPop();

            GS.LoadVertexBuffer(null);
        }
        private CurrencyRate GetCurrencyRate(Obs obs, SDMXSeries serie, ISdmxApiConfiguration apiConfiguration)
        {
            var sourceCurrency = serie.SeriesKey.Single(key => key.Id == apiConfiguration.SourceCurrencyKey).Value;
            var targetCurrency = serie.SeriesKey.Single(key => key.Id == apiConfiguration.TargetCurrencyKey).Value;
            var date           = DateTime.Parse(obs.ObsDimension.Value);
            var exchangeRate   = Convert.ToDecimal(obs.ObsValue.Value);

            var query = new CurrencyRateQuery(sourceCurrency, targetCurrency, date);

            return(new CurrencyRate(query, exchangeRate));
        }
Exemplo n.º 31
0
 public XRootNamespace(Obs root) {
     this.doc = new XDocument(root.Untyped);
     this.rootObject = root;
 }