예제 #1
0
        private void _DataPumpThread()
        {
            IEnumerator <IDataNode> dataEnumerator = Sequence.SequenceData.EffectData.GetEnumerator();

            IsRunning = true;
            try {
                while (IsRunning && dataEnumerator.MoveNext())
                {
                    _effectNodeQueue.Add((IEffectNode)dataEnumerator.Current);
                }
            }
            finally {
                dataEnumerator.Dispose();
            }
        }
예제 #2
0
        private void _DataPumpThread()
        {
            IEnumerator <IDataNode> dataEnumerator = _effectNodeSource.GetEnumerator();

            IsRunning = true;
            try {
                while (IsRunning && dataEnumerator.MoveNext())
                {
                    _effectNodeQueue.Add((IEffectNode)dataEnumerator.Current);
                    dataLoadStarted = true;
                }
            }
            finally {
                dataEnumerator.Dispose();
            }
        }
예제 #3
0
        private void _DataPumpThread()
        {
            IsRunning = true;

            IEnumerator <IDataNode> dataEnumerator = Sequence.SequenceData.EffectData.GetEnumerator();

            try {
                //while (IsRunning) {
                while (IsRunning && dataEnumerator.MoveNext())
                {
                    _effectNodeQueue.Add((IEffectNode)dataEnumerator.Current);
                }

                // Wait a bit before checking for more data.
                //*** Look up a better way than an arbitrary sleep.
                //	Thread.Sleep(5);
                //}
            }
            finally {
                dataEnumerator.Dispose();
            }
        }
예제 #4
0
 private void _Add(EffectNode effectNode)
 {
     effectNode.StartTime += Sys.Execution.SystemTime.Position;
     _data.Add(effectNode);
 }
예제 #5
0
 private void _AddToQueue(IEffectNode effectNode)
 {
     _effectNodeQueue.Add(effectNode);
     _LastBufferWritePoint = effectNode.StartTime;
 }