Ejemplo n.º 1
0
        internal Tune GetEasiestTune()
        {
            Tune current = CurrentTune;

            Tune?best      = null;
            uint?minBarres = null;

            for (byte value = 0; value < Tune.Limit; ++value)
            {
                var tune = new Tune(value);
                TransposeTo(tune);
                uint barres = CountBarres();
                if (!minBarres.HasValue || (barres < minBarres))
                {
                    minBarres = barres;
                    best      = tune;
                }
            }

            TransposeTo(current);

            // ReSharper disable once PossibleInvalidOperationException
            return(best.Value);
        }
Ejemplo n.º 2
0
 internal void TransposeTo(Tune tune) => TransposeBy(tune - CurrentTune);