예제 #1
0
파일: IntervalType.cs 프로젝트: blel/OOJazz
        public override Changes GetSymbol(Changes chord)
        {
            if ((from cc in chord.ChordTones
                 where cc.GetType() == this.GetType()
                 select cc).Count() > 0)
            {
                throw new Exception("Minor 6 is not possible as chord note.");
            }

            if ((from cc in chord.Tensions
                 where cc.GetType() == this.GetType()
                 select cc).Count() > 0)
            {
                chord.Name += "b13";
            }

            return(chord);
        }
예제 #2
0
파일: IntervalType.cs 프로젝트: blel/OOJazz
        /// <summary>
        /// Overriden from base class.
        /// Adjusts chord symbol according to minor third
        /// </summary>
        /// <param name="chord"></param>
        /// <returns></returns>
        public override Changes GetSymbol(Changes chord)
        {
            //if ((from cc in chord.ChordTones
            //     where cc.GetType() == this.GetType()
            //     select cc).Count() > 0)
            //{

            //}

            if ((from cc in chord.Tensions
                 where cc.GetType() == this.GetType()
                 select cc).Count() > 0)
            {
                chord.Name += "#9";
            }

            return(chord);
        }
예제 #3
0
파일: IntervalType.cs 프로젝트: blel/OOJazz
        public override Changes GetSymbol(Changes chord)
        {
            if ((from cc in chord.ChordTones
                 where cc.GetType() == this.GetType()
                 select cc).Count() > 0)
            {
                //The Tritone is not a chord interval
                throw new Exception("The tritone is not allowed as chord tone.");
            }

            if ((from cc in chord.Tensions
                 where cc.GetType() == this.GetType()
                 select cc).Count() > 0)
            {
                //#11
            }

            return(chord);
        }
예제 #4
0
파일: IntervalType.cs 프로젝트: blel/OOJazz
        /// <summary>
        /// Overriden from base class.
        /// Adjusts chord symbol according to major third
        /// </summary>
        /// <param name="chord"></param>
        /// <returns></returns>
        public override Changes GetSymbol(Changes chord)
        {
            //if ((from cc in chord.ChordTones
            //     where cc.GetType() == this.GetType()
            //     select cc).Count() > 0)
            //{

            //    chord.Name = string.Empty;
            //}

            //Major Third shouldn't occur in tensions
            if ((from cc in chord.Tensions
                 where cc.GetType() == this.GetType()
                 select cc).Count() > 0)
            {
                throw new Exception("Major Third is no tension");
            }

            return(chord);
        }
예제 #5
0
파일: IntervalType.cs 프로젝트: blel/OOJazz
        public override Changes GetSymbol(Changes chord)
        {
            //Minor Second is not a chord note
            if ((from cc in chord.ChordTones
                 where cc.GetType() == this.GetType()
                 select cc).Count() > 0)
            {
                throw new Exception("Minor Second does not make sense as chord note...");
            }

            //
            if ((from cc in chord.Tensions
                 where cc.GetType() == this.GetType()
                 select cc).Count() > 0)
            {
                chord.Name += "b9";
            }

            return(chord);
        }
예제 #6
0
파일: IntervalType.cs 프로젝트: blel/OOJazz
 public override Changes GetSymbol(Changes chord)
 {
     //prime does not make sense as chord note (see root) nor
     //as extension
     return(chord);
 }
예제 #7
0
파일: IntervalType.cs 프로젝트: blel/OOJazz
 public abstract Changes GetSymbol(Changes chord);