public SimplePerformance(IMidiPerformance midiSource, IScale scale, int initialNumberOfVoices) { if (midiSource == null) { throw new ArgumentNullException("midiSource"); } if (scale == null) { throw new ArgumentNullException("scale"); } if (midiSource.ValueStrategy != MidiValueStrategy.Normalized) { throw new ArgumentException("The MIDI Performance source must have been initialized with a Normalized value strategy."); } _scale = scale; NumberOfVoices = initialNumberOfVoices; _midiSource = midiSource; Channel = _midiSource.Channel; _midiSource.PropertyChanged += HandleMidiSourcePropertyChanged; _midiSource.ActiveNotes.CollectionChanged += HandleMidiNotesChanged; }
public BendModPanel(IMidiLink midiLink) { if (midiLink == null) { throw new ArgumentNullException("midiLink"); } _midiLink = midiLink; // TODO how can I restrict this in design mode? _midiSource = new MidiPerformance(_midiLink, MidiValueStrategy.Normalized); _midiSource.PropertyChanged += HandleMidiSourcePropertyChanged; }