예제 #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());