Exemple #1
0
        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;
        }
Exemple #2
0
        public MidiPerformance(IMidiLink midiLink, MidiValueStrategy valueStrategy = MidiValueStrategy.Raw)
        {
            // null is ok
            _midiLink = midiLink;

            _instances.Add(new WeakReference <MidiPerformance>(this));
            ValueStrategy = valueStrategy;

            _pitchBend = ValueStrategy == MidiValueStrategy.Normalized ? 0f : RAW_PITCHBEND_SCALE;

            // TODO I think I need to supress this attachment in design mode
            _midiLink.AttachListener(this);
        }
Exemple #3
0
        public Keyboard(IMidiLink midiLink)
        {
            if (midiLink == null)
            {
                throw new ArgumentNullException("midiLink");
            }
            _midiLink = midiLink;

            InitializeComponent();
            SizeChanged += HandleSizeChanged;

            if (!this.IsInDesignMode())
            {
                _midiLink.AttachListener(this);
            }
        }
Exemple #4
0
        public SynthWindow(IAudioLink audioLink, IMidiLink midiLink)
        {
            if (audioLink == null)
            {
                throw new ArgumentNullException("audioLink");
            }
            _audioLink = audioLink;

            if (midiLink == null)
            {
                throw new ArgumentNullException("midiLink");
            }
            _midiLink = midiLink;

            Loaded += HandleLoaded;

            //SetAlternateColors();

            InitializeComponent();
        }