Ejemplo n.º 1
0
        public void RemoveVoice(MVoice voice)
        {
            for (int i = this._assignedParameters.Count - 1; i >= 0; i--)
            {
                MValue        val = this._assignedParameters[i];
                List <MVoice> voices;

                if (this._valueAssignments.TryGetValue(val, out voices) == true)
                {
                    voices.Remove(voice);

                    if (voices.Count == 0)
                    {
                        this._assignedParameters.Remove(val);
                    }
                }
            }

            if (this._mods.ContainsKey(voice))
            {
                this._mods.Remove(voice);
            }

            if (this._triggers.ContainsKey(voice))
            {
                this._triggers.Remove(voice);
            }
        }
Ejemplo n.º 2
0
        public void RemoveVoiceMod(MVoice voice, MModulationItem mod)
        {
            List <MModulationItem> items;

            if (this._mods.TryGetValue(voice, out items) == true &&
                items.Contains(mod))
            {
                items.Remove(mod);
            }
        }
Ejemplo n.º 3
0
        public void AddVoice(MVoice voice, ref List <MModulationItem> mods, ref List <MValue> vals)
        {
            List <MModulationItem> list;

            if (_mods.TryGetValue(voice, out list) == false)
            {
                list = mods;
                _mods.Add(voice, list);
            }
            else
            {
#if UNITY_EDITOR
                if (MConfig.VerboseLogging)
                {
                    Debug.Log("MVoice already is subscribed to RTPC Manager.");
                }
#endif
                _mods[voice] = mods;
            }

            for (int i = 0; i < vals.Count; i++)
            {
                MValue val = vals[i];

                List <MVoice> vList;
                if (this._valueAssignments.TryGetValue(val, out vList) == false)
                {
                    vList = new List <MVoice>()
                    {
                        voice
                    };
                    this._valueAssignments.Add(val, vList);
                }
                else if (vList.Contains(voice) == false)
                {
                    vList.Add(voice);
                }

                if (this._assignedParameters.Contains(val) == false)
                {
                    this._assignedParameters.Add(val);
                }
            }
        }
Ejemplo n.º 4
0
 public void SetTrigger(MVoice voice, TriggerRTPCValues trigger)
 {
     this._triggers[voice] = trigger;
 }
Ejemplo n.º 5
0
        public TriggerRTPCValues GetTrigger(MVoice voice)
        {
            TriggerRTPCValues trigger;

            return(_triggers.TryGetValue(voice, out trigger) ? trigger : null);
        }
Ejemplo n.º 6
0
        public List <MModulationItem> GetMods(MVoice voice)
        {
            List <MModulationItem> list;

            return(_mods.TryGetValue(voice, out list) ? list : null);
        }