예제 #1
0
 public override int GetHashCode()
 {
     unchecked
     {
         return(((RootNote != null ? RootNote.GetHashCode() : 0) * 397) ^ (Factors != null ? Factors.GetHashCode() : 0));
     }
 }
예제 #2
0
        public void CreateXmlNode(XmlDocument doc, XmlNode parent)
        {
            var scaleNode = doc.CreateElement("ScaleInformation");
            var rootEl    = doc.CreateElement("RootNote");

            rootEl.SetAttribute("Value", RootNote.ToString());
            var nameEl = doc.CreateElement("Name");

            nameEl.SetAttribute("Value", Name);
            scaleNode.AppendChild(rootEl);
            scaleNode.AppendChild(nameEl);
            parent.AppendChild(scaleNode);
        }
예제 #3
0
        private List <Note> GetNotes()
        {
            List <Note> notes = new List <Note> {
                RootNote
            };

            _intervals = Quality.Split(' ').Select(i => Convert.ToInt32(i)).ToList();
            _intervals.AddRange(Extensions);

            notes.AddRange(_intervals.Skip(1).Select(i => RootNote.GetInterval(i)));

            return(notes);
        }
예제 #4
0
        public List <Note> GetNotes()
        {
            List <Note> notes = new List <Note>();

            notes.Add(RootNote);

            if (this.Type == ModeType.Major)
            {
                notes.Add(RootNote.GetNoteThird());
                notes.Add(RootNote.GetNoteFifth());
            }
            else if (this.Type == ModeType.Minor)
            {
                notes.Add(RootNote.GetNoteMinorThird());
                notes.Add(RootNote.GetNoteFifth());
            }
            else
            {
            }

            return(notes);
        }
예제 #5
0
 /// <summary>
 ///
 /// </summary>
 /// <returns></returns>
 public override string ToString() => $"RootNote: {RootNote.ToString().PadRight(2,' ')}, Triad: {Triad.Note1.ToString().PadRight(2, ' ')} {Triad.Note2.ToString().PadRight(2, ' ')} {Triad.Note3.ToString().PadRight(2, ' ')}, Extensions: {Extension.Note1.ToString().PadRight(2, ' ')} {Extension.Note2.ToString().PadRight(2, ' ')} {Extension.Note3.ToString().PadRight(2, ' ')} {Extension.Note4.ToString().PadRight(2, ' ')}";