private static string DescribeKeySignature(byte[] bytes) { int n = MidiMetaEvent.GetDataLength(MidiMetaEvent.KeySignatureType); if (bytes.Length < n) { return(null); } MidiKeySignature k = MidiMetaEvent.DataToKeySignature(bytes); return((k == MidiKeySignature.NA) ? null : k.ToString().Replace("Flat", "b").Replace("Sharp", "#").Replace("Major", " major").Replace("Minor", " minor")); }
/// <summary>Adds an entry to the key signature map, or updates the entry if it already exists.</summary> /// <param name="metaEvent">A MidiMetaEvent object representing a key signature.</param> public void SetKeySignature(MidiMetaEvent metaEvent) { if (metaEvent.TotalTime < 0) { return; } MidiKeySignature keySignature = MidiMetaEvent.DataToKeySignature(metaEvent.Data); if (keySignature == MidiKeySignature.NA) { return; } this.KeySignatureMap[metaEvent.TotalTime] = keySignature; }