public OBSStudioAction(string sourceName, bool sourceVisible, OBSSourceDimensions sourceDimensions) : this(sourceName, sourceVisible) { this.SourceName = sourceName; this.SourceVisible = sourceVisible; this.SourceDimensions = sourceDimensions; }
public void SetSourceDimensions(string source, OBSSourceDimensions dimensions) { try { this.OBSWebsocket.SetSceneItemPosition(source, dimensions.X, dimensions.Y); this.OBSWebsocket.SetSceneItemTransform(source, dimensions.Rotation, dimensions.XScale, dimensions.YScale); } catch (Exception ex) { Logger.Log(ex); } }
private async void GetSourcesDimensionsButton_Click(object sender, RoutedEventArgs e) { if (!string.IsNullOrEmpty(this.OBSStudioSourceNameTextBox.Text)) { await this.containerControl.RunAsyncOperation(async() => { if (ChannelSession.Services.OBSWebsocket != null || await ChannelSession.Services.InitializeOBSWebsocket()) { OBSSourceDimensions dimensions = ChannelSession.Services.OBSWebsocket.GetSourceDimensions(this.OBSStudioSourceNameTextBox.Text); this.OBSStudioSourceDimensionsXPositionTextBox.Text = dimensions.X.ToString(); this.OBSStudioSourceDimensionsYPositionTextBox.Text = dimensions.Y.ToString(); this.OBSStudioSourceDimensionsRotationTextBox.Text = dimensions.Rotation.ToString(); this.OBSStudioSourceDimensionsXScaleTextBox.Text = dimensions.XScale.ToString(); this.OBSStudioSourceDimensionsYScaleTextBox.Text = dimensions.YScale.ToString(); } else { await MessageBoxHelper.ShowMessageDialog("Could not connect to OBS Studio. Please try establishing connection with it in the Services area."); } }); } }