Ejemplo n.º 1
0
            public int Compare(KeyHashTag x, KeyHashTag y)
            {
                if (Equals(x, y))
                {
                    return(Equal);
                }

                if (x == null)
                {
                    return(Higher);
                }
                if (y == null)
                {
                    return(Lower);
                }

                if (x.Key == y.Key)
                {
                    return(Equal);
                }

                foreach (var key in CircleOfFifths.AllKeys)
                {
                    if (key == x.Key)
                    {
                        return(Lower);
                    }
                    else if (key == y.Key)
                    {
                        return(Higher);
                    }
                }

                throw new InvalidOperationException("Must allways return in code above");
            }
Ejemplo n.º 2
0
                private Entry BuildEntry(Note newNote, Tone newTone)
                {
                    var hashTag = new KeyHashTag(new Key(newNote, newTone), hashTagMetaValue);

                    return(new Entry(hashTag, startIndex, hashTagEntry.Length));
                }