예제 #1
0
        public CampoHarmonico CriarCampoHarmonico(string nomeAcorde)
        {
            InterpreterAcorde interpreter = new InterpreterAcorde();
            Acorde            acorde      = new Acorde(nomeAcorde);

            interpreter.Interpret(acorde);
            CampoHarmonico campo = CriarCampoHarmonicoPelaFormula(acorde, ObterFormulaPorAcordeBase(acorde));

            return(campo);
        }
예제 #2
0
        private CampoHarmonico CriarCampoHarmonicoPelaFormula(Acorde acorde, Tuple <int, TipoAcordeFormula>[] formula)
        {
            CampoHarmonico campoHarmonico = new CampoHarmonico();
            FactoryAcorde  factory        = new FactoryAcorde();
            TipoNota       tonicaBase     = acorde.Tonica;

            campoHarmonico.Graus.Add(acorde);
            foreach (var item in formula)
            {
                tonicaBase = tonicaBase.Add(item.Item1);
                campoHarmonico.
                Graus.Add(factory.CriarAcorde(tonicaBase, item.Item2));
            }

            return(campoHarmonico);
        }
예제 #3
0
        public CampoHarmonico CriarCampoHarmonico(Acorde acorde)
        {
            CampoHarmonico campo = CriarCampoHarmonicoPelaFormula(acorde, ObterFormulaPorAcordeBase(acorde));

            return(campo);
        }