Exemple #1
0
 public MainWindow()
 {
     InitializeComponent();
     engine = new xpEngine();
     if (engine.GetOutputFrameBuffer(0, out outputFrameBuffer))
     {
         outputFrameBuffer.OnSceneState += OutputFrameBuffer_OnSceneState;
     }
 }
        public bool PlaySceneDirector(int takeID, string directorName)
        {
            try
            {
                if (_engine.Sequencer.GetTakeItemByID(takeID, out xpBaseTakeItem baseTakeItem) &&
                    baseTakeItem is xpTakeItem takeItem && takeItem != null)
                {
                    if (!_engine.GetOutputFrameBuffer(takeItem.FrameBufferIndex, out xpOutputFrameBuffer outputBuffer) ||
                        !outputBuffer.GetSceneOnLayer(takeItem.Layer, out xpScene _scene) ||
                        !_scene.GetSceneDirectorByName(directorName, out xpSceneDirector _sceneDirector))
                    {
                        return(false);
                    }
                    _sceneDirector.AutoStop = true;
                    return(_sceneDirector.PlayRange(0, _sceneDirector.Duration));
                }
            }
            catch { return(false); };

            return(false);
        }