Example #1
0
        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"));
        }
Example #2
0
        /// <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;
        }