コード例 #1
0
        private Tone GetNextToneToDisplay()
        {
            int actualNoteIndex = Convert.ToInt32(this.ActualNoteIndex.Value);

            if (this.ActualNoteIndex.Value.Equals(""))
            {
                return(null);
            }

            if (this.PreviousTone.Value.Equals(""))
            {
                return(this.ActualScale.StartingTone);
            }

            Tone tonePrev = ToneGraph.GetToneByName(this.PreviousTone.Value);

            int halftoneNumber;

            if (this.ActualScale.Type.Equals("dur"))
            {
                halftoneNumber = durIntervals[actualNoteIndex - 2];
            }
            else
            {
                halftoneNumber = molIntervals[actualNoteIndex - 2];
            }

            IntervalGenerator intervalGenerator = new IntervalGenerator();
            GeneralInterval   interval          = intervalGenerator.GetIntervalByNumeralAndNumberOfHalftones(2, halftoneNumber);

            return(intervalGenerator.ComputeSecondToneOfInterval(tonePrev, interval));
        }
コード例 #2
0
        static ConstructingScales()
        {
            listOfScales = new List <Scale>();
            string[] lines = VyukaHN.Properties.Resources.Scales.Split(null);

            foreach (var line in lines)
            {
                if (line.Equals(""))
                {
                    continue;
                }

                var   items = line.Split(';');
                Scale scale = new Scale(items[0] + " " + items[1], items[1], ToneGraph.GetToneByName(items[2]), Convert.ToInt32(items[3]));

                listOfScales.Add(scale);
            }
        }