//Set Current Node public void SetCurrentNode(VideoNode node) { if (CurrentNode != node && node != null && CurrentNode != null) { OnNodeChanged(new NodeChangedEventArgs(CurrentNode.NodeId, node.NodeId)); } CurrentNode = node; }
public void ResetToDefaultNode() { var defaultNode = _nodes.FirstOrDefault(); if (defaultNode != null && CurrentNode != defaultNode) { OnNodeChanged(new NodeChangedEventArgs(CurrentNode.NodeId, defaultNode.NodeId)); CurrentNode = defaultNode; } }
//Construction public VideoNodesController() { _nodes = new List<VideoNode>(); var defaultNode = new VideoNode(new Command { Name = "Play", Params = new List<Param>() { {new Param() { Name="NodeId", Value = "00000000-0000-0000-0000-000000000000"}}, {new Param() { Name="Source", Value=""}}, {new Param() { Name="StartTimeCode", Value="00:00:00"}}, {new Param() { Name="AutoPlay", Value="false"}}, } }); AddNode(defaultNode); }
//Add new node to controller public void AddNode(VideoNode node) { _nodes.Add(node); SetCurrentNode(node); }
private void HandleNonCurrentNodePlay(Command command, Guid id) { var exist = _videoNodesController.GetVideoNodeById(id); if (exist == null) { var videoNode = new VideoNode(command); _videoNodesController.AddNode(videoNode); //adds and sets as current } else { exist.SetStartTimeAndEndTimeFromCommand(command); exist.SetSourceFromCommand(command); _videoNodesController.SetCurrentNode(exist); } PlayCurrentVideoNode(); //non current node becoming current video node }