Example #1
0
 internal void CreateEvs()
 {
     //* create evs from notemapcf
     Evs = new List <clsEv>();
     //for (int q = 0; q < P.F.CF.NoteMap.GetLengthQTime(); q++) {
     for (int q = 0; q < P.F.MaxBBT.QI; q++)
     {
         if (q > 0 && NoteMap.GetMap(q) == NoteMap.GetMap(q - 1) && //null != unrecognised chord
             NoteMap.GetChordAtt(q).ChordEquals(NoteMap.GetChordAtt(q - 1)))
         {
             continue;
         }
         clsMTime.clsBBT bbt = new clsMTime.clsBBT(q * P.F.TicksPerQI);
         clsNoteMapCF    ncf = (clsNoteMapCF)NoteMap;
         clsEv           ev  = new clsEvPC(this, bbt, ncf[q], ncf.GetChordAtt(q).Root);
         ev.ChordQualifier = clsNoteMap.PtrToDesc(ncf.GetChordAtt(q).Qualifier);
         if (ev.Notes.Length == 0 && P.frmStart.chkIgnoreNullChords.Checked)
         {
             continue;                                                          //null chord
         }
         //if (ncf.ChordAtt[q].Marked > 0) ev.Mark = true;
         if (Evs.Count > 0 && Evs[Evs.Count - 1].Notes.Length == 0) //previous ev was null
         {
             if (bbt.Ticks - Evs[Evs.Count - 1].OnTime <= Forms.frmSC.SyncopationDefault.Ticks)
             {
                 Evs.RemoveAt(Evs.Count - 1);
             }
         }
         if (Evs.Count > 0)
         {
             Evs[Evs.Count - 1].OffBBT = bbt;         //set offtime for previous line
         }
         Evs.Add(ev);
     }
     if (Evs.Count > 0)
     {
         SetLastEv();
     }
     SyncEvsToKeys();
     //if (P.frmSC != null && P.F.AutoSync == null) P.frmSC.mnuCreateSyncFile.Enabled = true;
 }