Esempio n. 1
0
        public ContourTransition AddTransition(Note n1, Note n2)
        {
            // Skip rest-to-rest transitions.
            if (n1.isRest || n2.isRest)
            {
                throw new ArgumentException("Must not have rests in contour creation.");
            }

            ContourDirection dir;

            int diff = n1.Midi - n2.Midi;

            if (diff > 0)
            {
                dir = ContourDirection.Down;
            }
            else if (diff < 0)
            {
                dir = ContourDirection.Up;
            }
            else
            {
                dir = ContourDirection.Same;
            }

            ContourTransition ct = new ContourTransition(dir, Math.Abs(diff));

            transitions.Add(ct);
            return(ct);
        }
Esempio n. 2
0
        public ContourTransition AddTransition(ContourDirection direction, int halfSteps)
        {
            ContourTransition ct = new ContourTransition(direction, halfSteps);

            transitions.Add(ct);
            return(ct);
        }