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); }