コード例 #1
0
ファイル: TriggersController.cs プロジェクト: Knuhl/aDrums
        public void Post([FromBody] MidiTrigger value)
        {
            var i = new DrumManager(string.Empty).Triggers.FindIndex(x => x.PinNumber == value.PinNumber);

            if (1 > -1)
            {
                new DrumManager(string.Empty).Triggers[i] = value;
            }
        }
コード例 #2
0
        public void Post([FromBody] MidiTrigger value)
        {
            var i = DrumManager.Current.Triggers.FindIndex(x => x.PinNumber == value.PinNumber);

            if (1 > -1)
            {
                DrumManager.Current.Triggers[i] = value;
            }
        }
コード例 #3
0
ファイル: MidiTriggerViewModel.cs プロジェクト: Knuhl/aDrums
        public MidiTriggerViewModel(IEventAggregator eventAggregator, DrumManager drumManager, MidiTrigger trigger)
        {
            _eventAggregator = eventAggregator;
            _drumManager     = drumManager;
            Trigger          = trigger;

            TriggerCurvePlot = new PlotModel {
                Title = "Curve"
            };
            TriggerCurvePlot.Axes.Add(new LinearAxis
            {
                Position        = AxisPosition.Left,
                Minimum         = byte.MinValue,
                Maximum         = byte.MaxValue,
                AbsoluteMinimum = byte.MinValue,
                AbsoluteMaximum = byte.MaxValue,
                IsZoomEnabled   = true,
                IsPanEnabled    = true
            });
            TriggerCurvePlot.Axes.Add(new LinearAxis
            {
                Position        = AxisPosition.Bottom,
                Minimum         = byte.MinValue,
                Maximum         = byte.MaxValue,
                AbsoluteMinimum = byte.MinValue,
                AbsoluteMaximum = byte.MaxValue,
                IsZoomEnabled   = true,
                IsPanEnabled    = true
            });

            BuildPlot();

            if (Trigger.Curve != null)
            {
                Trigger.Curve.CurvePropertyChanged += OnCurvePropertyChanged;
            }
            if (Modifications != null)
            {
                Modifications.CollectionChanged += OnCurvePropertyChanged;
                //Modifications.Add(new KeyValuePair<byte, byte>(127, 0));
            }
        }
コード例 #4
0
        private void AddTrigger(MidiTrigger trigger)
        {
            var toRemove = TriggerCollection.Where(x => x.Trigger.PinNumber == trigger.PinNumber).ToList();

            toRemove.ForEach(x => TriggerCollection.Remove(x));

            TriggerCollection.Add(new MidiTriggerViewModel(_eventAggregator, DrumManager, trigger));

            var seriesToRemove = CurrentValuePlot.Series.Where(x => x.Tag as Pins? == trigger.PinNumber).ToList();

            seriesToRemove.ForEach(x => CurrentValuePlot.Series.Remove(x));

            var newSeries = new LineSeries
            {
                Title = trigger.PinNumber.ToString(),
                Tag   = trigger.PinNumber
            };

            int insertIndex = 0;

            for (int i = CurrentValuePlot.Series.Count - 1; i >= 0; i--)
            {
                Pins currentPin = (Pins)CurrentValuePlot.Series[i].Tag;

                if (currentPin < trigger.PinNumber)
                {
                    insertIndex = i + 1;
                    break;
                }
            }

            CurrentValuePlot.Series.Insert(insertIndex, newSeries);

            //public active / inactive
            _eventAggregator.GetEvent <TriggerActiveChangedEvent>()
            .Publish(new KeyValuePair <Pins, bool>(trigger.PinNumber, trigger.Type != TriggerType.Disabled));
        }
コード例 #5
0
ファイル: TriggersController.cs プロジェクト: Knuhl/aDrums
 public void Put(int id, [FromBody] MidiTrigger value)
 {
 }