예제 #1
0
        /// <summary>
        /// Select a pattern and shuffle it (if shuffle is enabled).
        /// </summary>
        /// <param name="position">The index of the pattern.</param>
        public void SelectShuffledPattern(int position)
        {
            Pattern pattern = _patterns[position];

            pattern.SyncInputTo(_inputPattern, _config.Basic);
            if (_config.ShuffleEnable.Value)
            {
                for (int i = 0; i < _inputPattern.Length; i++)
                {
                    _inputPattern[i] = _config.ShuffleInputNoiseSwap(_inputPattern[i]);
                }
            }
            pattern.SyncTrainingTo(_outputTraining, _config.Basic);
            if (!_config.Basic.QuietModeEnable.Value)
            {
                if (PatternSelectionChanged != null)
                {
                    PatternSelectionChanged(this, new PatternPositionEventArgs(pattern, position));
                }
                if (InputChanged != null)
                {
                    InputChanged(this, EventArgs.Empty);
                }
                if (TrainingChanged != null)
                {
                    TrainingChanged(this, EventArgs.Empty);
                }
            }
        }
예제 #2
0
        /// <summary>
        /// Select a pattern.
        /// </summary>
        /// <param name="position">The index of the pattern.</param>
        public void SelectPattern(int position)
        {
            Pattern pattern = _patterns[position];

            pattern.SyncInputTo(_inputPattern, _config.Basic);
            pattern.SyncTrainingTo(_outputTraining, _config.Basic);
            if (!_config.Basic.QuietModeEnable.Value)
            {
                if (PatternSelectionChanged != null)
                {
                    PatternSelectionChanged(this, new PatternPositionEventArgs(pattern, position));
                }
                if (InputChanged != null)
                {
                    InputChanged(this, EventArgs.Empty);
                }
                if (TrainingChanged != null)
                {
                    TrainingChanged(this, EventArgs.Empty);
                }
            }
        }