private void ShowChord(clsCF.clsEv ev) { //* used to display chord after playing wrong chordnote Graphics xgr = P.frmSC.picChords.CreateGraphics(); ShowPicChord(ev, xgr, true); }
private void WriteChord(ref int prevticks, clsCF.clsEv evcf, int status, int ticks, byte vel) { foreach (clsCF.clsEv.clsNote note in evcf.Notes) //write ON evs { int pc = note.PC[eKBTrans.None] + 60; //octave above middle C if (P.frmSaveMidiFileAs.chkChordRoot.Checked && evcf.Root && evcf.Notes.Length > 1 && pc < evcf.Notes[0].PC[eKBTrans.None] + 60) { pc += 12; } clsFileStream.clsEvStrm evstrm = new clsFileStream.clsEvShort(0, ticks, -1, (byte)status, (byte)pc, vel); WriteStrmMsg(ref prevticks, evstrm); } }