private clsChord EvToTxt(clsCFPC.clsEv ev) { //* get chord txt from ev ("null", "***", chord) clsChord chord; if (ev.Notes.Length == 0) { chord = new clsChord("null", 0); //null chord } else if (!ev.Root) { chord = new clsChord("***", 0); //non-recognisable chord } else { clsKeyTicks keyticks = P.F.Keys[ev.OnTime]; //int midikey = P.F.Keys[ev.OnTime].MidiKey; //current key if (Frm.TransposeChordNamesVal != 0) { keyticks = keyticks.GetTransposeNames(Frm.TransposeChordNamesVal); //midikey = keyticks.MidiKey; } int rootpitch = Frm.ChordTranspose(ev.Notes[0].PC[eKBTrans.None]); string root = NoteName.ToSharpFlat(NoteName.GetNoteName(keyticks, rootpitch)); root = root.Trim(); chord = new clsChord(root + ev.ChordQualifier, root.Length); } return(chord); }
private static string GetNoteName(int note, clsKey mkey) { return(NoteName.ToSharpFlat(NoteName.GetNoteName(mkey, note.Mod12()))); }