public StageEditor AddStageEditor(Pattern.Stage stage)
        {
            StageEditor editor = AddStageEditor();

            editor.Stage = stage;
            return(editor);
        }
Ejemplo n.º 2
0
        public PatternPlayerWindow(Pattern pattern)
        {
            if (pattern.Stages == null || pattern.Stages.Length <= 0)
            {
                throw new ArgumentException("The Stages array is null or empty.", nameof(pattern));
            }

            Pattern = pattern;


            InitializeComponent();

            Title = "Reproducing " + Pattern.Name;

            currentStage      = Pattern.Stages[0];
            currentStageIndex = 0;

            RenderStage();

            int timeMs = unchecked ((int)currentStage.Milliseconds);

            timeMs = Math.Max(timeMs, 1); // if milliseconds equals 0, it freezes the window, it needs to be at least 1 ms

            timer = new DispatcherTimer(new TimeSpan(0, 0, 0, 0, timeMs), DispatcherPriority.Normal, OnTimerTick, Dispatcher);
            timer.Start();
        }
 public Pattern.Stage[] GetStages()
 {
     Pattern.Stage[] stages = new Pattern.Stage[StageEditorsDragCanvas.Children.Count];
     for (int i = 0; i < StageEditorsDragCanvas.Children.Count; i++)
     {
         stages[i] = ((StageEditor)StageEditorsDragCanvas.Children[i]).Stage;
     }
     return(stages);
 }
        private void OnTimerTick(object sender, EventArgs e)
        {
            int newStageIndex = currentStageIndex + 1;
            if (newStageIndex >= Pattern.Stages.Length)
                newStageIndex = 0;

            currentStage = Pattern.Stages[newStageIndex];
            currentStageIndex = newStageIndex;
            RenderStage();

            int timeMs = unchecked((int)currentStage.Milliseconds);
            timeMs = Math.Max(timeMs, 1); // if milliseconds equals 0, it freezes the window, it needs to be at least 1 ms

            timer.Interval = new TimeSpan(0, 0, 0, 0, timeMs);
        }
Ejemplo n.º 5
0
        private void OnTimerTick(object sender, EventArgs e)
        {
            int newStageIndex = currentStageIndex + 1;

            if (newStageIndex >= Pattern.Stages.Length)
            {
                newStageIndex = 0;
            }

            currentStage      = Pattern.Stages[newStageIndex];
            currentStageIndex = newStageIndex;
            RenderStage();

            int timeMs = unchecked ((int)currentStage.Milliseconds);

            timeMs = Math.Max(timeMs, 1); // if milliseconds equals 0, it freezes the window, it needs to be at least 1 ms

            timer.Interval = new TimeSpan(0, 0, 0, 0, timeMs);
        }
        public PatternPlayerWindow(Pattern pattern)
        {
            if (pattern.Stages == null || pattern.Stages.Length <= 0)
                throw new ArgumentException("The Stages array is null or empty.", nameof(pattern));

            Pattern = pattern;


            InitializeComponent();

            Title = "Reproducing " + Pattern.Name;

            currentStage = Pattern.Stages[0];
            currentStageIndex = 0;
            
            RenderStage();

            int timeMs = unchecked((int)currentStage.Milliseconds);
            timeMs = Math.Max(timeMs, 1); // if milliseconds equals 0, it freezes the window, it needs to be at least 1 ms

            timer = new DispatcherTimer(new TimeSpan(0, 0, 0, 0, timeMs), DispatcherPriority.Normal, OnTimerTick, Dispatcher);
            timer.Start();
        }
 public Pattern.Stage[] GetStages()
 {
     Pattern.Stage[] stages = new Pattern.Stage[StageEditorsDragCanvas.Children.Count];
     for (int i = 0; i < StageEditorsDragCanvas.Children.Count; i++)
     {
         stages[i] = ((StageEditor)StageEditorsDragCanvas.Children[i]).Stage;
     }
     return stages;
 }