Example #1
0
 public void UnsubscribeToKnobUpdates(MidiChannel channel, int knobNumber, KnobDelegate callback)
 {
     if (knobCallbacks.ContainsKey(channel) &&
         knobCallbacks[channel].ContainsKey(knobNumber) &&
         knobCallbacks[channel][knobNumber].Contains(callback))
     {
         knobCallbacks[channel][knobNumber].Remove(callback);
     }
 }
Example #2
0
 protected void ConnectMidiListenerComponents()
 {
     foreach (var component in GetComponents <MidiListener>())
     {
         Debug.LogFormat("Connecting Midi Listener: {0}", component);
         noteOnDelegate  += component.NoteOn;
         noteOffDelegate += component.NoteOff;
         knobDelegate    += component.Knob;
     }
 }
Example #3
0
        public void SubscribeToKnobUpdates(MidiChannel channel, int knobNumber, KnobDelegate callback)
        {
            if (!knobCallbacks.ContainsKey(channel))
            {
                knobCallbacks.Add(channel, new Dictionary <int, List <KnobDelegate> >());
            }

            if (!knobCallbacks[channel].ContainsKey(knobNumber))
            {
                knobCallbacks[channel].Add(knobNumber, new List <KnobDelegate>());
            }

            if (!knobCallbacks[channel][knobNumber].Contains(callback))
            {
                knobCallbacks[channel][knobNumber].Add(callback);
            }
        }
 public static void UnsubscribeToKnobUpdates(MidiChannel channel, int knobNumber, KnobDelegate callback)
 {
     MidiDriver.Instance.UnsubscribeToKnobUpdates(channel, knobNumber, callback);
 }