Beispiel #1
0
        //private int NumTrks;

        internal int this[int qi, int note, clsTrks.T trk, bool mod] { //return/set count
            get {
                int modval = 128;
                if (mod)
                {
                    modval = 12;
                }
                int evcount = 0;
                if (Evs[qi] == null)
                {
                    return(0);
                }
                foreach (clsEv ev in Evs[qi])
                {
                    if (trk != ev.Trk || note != (ev.Note % modval))
                    {
                        continue;
                    }
                    evcount += ev.Count;
                }
                return(evcount);
            }
            set {
                //if (qi == 84) Debugger.Break();  //tmp
                if (mod)
                {
                    LogicError.Throw(eLogicError.X068);
                }
                if (Evs[qi] == null)
                {
                    Evs[qi] = new List <clsEv>();
                }
                List <clsEv> evs = Evs[qi];
                for (int i = 0; i < evs.Count; i++)
                {
                    clsEv ev = evs[i];
                    if (note != ev.Note || trk != ev.Trk)
                    {
                        continue;
                    }
                    ev.Count = value;
                    return;
                }
                evs.Add(new clsEv(note, trk, value));
            }
        }
Beispiel #2
0
 protected override void CopyCF(clsEv ev)
 {
     CFNotes = ((clsEvPitch)ev).CFNotes;
 }
Beispiel #3
0
 protected override void CopyCF(clsEv ev)
 {
     CF = ((clsEvPC)ev).CF;
 }