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());
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); }
/// <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); }
public Task CenterOnScreenAsync() { var request = new JsonRcRequest("centerOnScreen", typeof(JsonRcResponse <object>)); request.AddParam("resource", resourceId); return(Obs.SendRequestAsync <object>(request)); }
/// <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); }
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); }
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")); } }
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; } } } }
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); }
/// <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); } }
/// <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); } }
private void TestForm_FormClosed(object sender, FormClosedEventArgs e) { previewPanel.Dispose(); presentation.Dispose(); Obs.Shutdown(); }
/// <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); } }
/// <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); }
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)); }
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)); }
public async Task <ISceneNodeApi> GetNodeByNameAsync(string name) { var retVal = await Obs.SendRequestAsync <SceneNodeApi>("getNodeByName", resourceId, name) .ConfigureAwait(false); retVal.Obs = Obs; return(retVal); }
public async Task <ISceneItemApi> GetItemAsync(string sceneItemId) { var retVal = await Obs.SendRequestAsync <SceneItemApi>("getItem", resourceId, sceneItemId) .ConfigureAwait(false); retVal.Obs = Obs; return(retVal); }
public async Task <ISceneItemFolderApi> CreateFolderAsync(string name) { var retVal = await Obs.SendRequestAsync <SceneItemFolderApi>("createFolder", resourceId, name) .ConfigureAwait(false); retVal.Obs = Obs; return(retVal); }
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); }
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); } }
public static void Main() { Obs o = new Obs(); // Compiler warning due to [Obsolete] attribute o.numer = 42; Foo(); }
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(); }
public void SetScene(Scene scene) { if (scene == SelectedScene) { return; } SelectedScene = scene; Obs.SetOutputScene(0, SelectedScene); }
private void HandleDisconnected() { if (_isConnected) { return; } Obs.Connect().GetAwaiter().GetResult(); _connectionTimer.Change(TimeSpan.FromSeconds(5), TimeSpan.FromSeconds(5)); }
public void SetUp() { _liveSetting = new LiveSetting(_database.DatabasePath); _obsRepository = new ObsRepository(_liveSetting); var encounters = TestDataHelpers.Encounters; _encounter = encounters.First(); _obs = _encounter.Obses.First(); }
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)); }
public XRootNamespace(Obs root) { this.doc = new XDocument(root.Untyped); this.rootObject = root; }