internal bool?TransposeNamesSharp = null; //#/b/null for transposed names keys (not these keys!) //internal List<string> Desc = new List<string>; //private clsMTime MTime; internal clsKeyTicks(int keynote, string scale, int ticks, bool indkeynote) { if (!indkeynote) { LogicError.Throw(eLogicError.X014); } Init(scale, ticks); KeyNote = keynote; MidiKey = NoteName.PitchToMidiKey(KeyNote, scale, null); KeyNoteStr = NoteName.MidiKeyToKeyStr(MidiKey, Scale); }
internal clsKeyTicks GetTransposeNames(int t) { //* indsharp: true{#), false{b}, null(middle) if (t == 0) { return(this); } int keynote = (KeyNote + t).Mod12(); int midikey = NoteName.PitchToMidiKey(keynote, Scale, TransposeNamesSharp); return(new clsKeyTicks(midikey, Scale, Ticks)); }
private clsKeyTicks GetKey(int s, int keynote) { string scale = "major"; if (keynote > 11) { scale = "minor"; keynote -= 12; } int midikey = NoteName.PitchToMidiKey(keynote, scale, null); int ticks = new clsMTime.clsBBT(s, 0, 0).Ticks; //int ticks = mtime.TicksPerBeat * mtime.TSigNN * s; clsKeyTicks key = new clsKeyTicks(midikey, scale, ticks); //if (frmCalcKeys.optKeysText.Checked) return key.Transpose(-frmCalcKeys.CF.Transpose_File); return(key); }
private void TransKB(clsKeyTicks key, bool kbtrans) { TransposeNamesSharp = key.TransposeNamesSharp; Scale = key.Scale; Ticks = key.Ticks; if (kbtrans) { int trans = GetTransposeKB(); KeyNote = (trans == 0) ? key.KeyNote : (key.KeyNote + trans).Mod12(); MidiKey = (trans == 0) ? key.MidiKey : NoteName.PitchToMidiKey(KeyNote, Scale, null); //KeyNoteStr = (trans == 0) ? key.KeyNoteStr : NoteName._Names[MidiKey + 7][KeyNote]; KeyNoteStr = (trans == 0) ? key.KeyNoteStr : NoteName.GetName(this, KeyNote); } else { KeyNoteStr = key.KeyNoteStr; KeyNote = key.KeyNote; MidiKey = key.MidiKey; } }