/// <summary> /// Composer constructor. /// </summary> /// <param name="factory">The factory to use with this composer</param> public Composer(FuxExMachinaFactory factory) { _factory = factory; _compositionEvaluator = _factory.CompositionEvaluator; Composition = _factory.CreateComposition(); CompositionStrategy = _factory.CreateCompositionStrategy(); }
public void Setup() { _factory = FuxExMachinaTestFactoryProvider.GetTestFactory(); var scaleDegreeEvaluator = new ScaleDegreeEvaluator(); _ruleEvaluator = new DissonantLeapRuleEvaluator(scaleDegreeEvaluator, new CompositionContext()); }
public static FuxExMachinaFactory GetTestFactory() { if (_instance != null) { return(_instance); } var random = new CryptoRandom(); var scaleDegreeEvaluator = new ScaleDegreeEvaluator(); var compositionContext = new CompositionContext(); var compositionContexts = new CompositionContextCollection(); var noteChoices = new NoteChoiceCollection(); var noteChoiceWeightGenerator = new NoteChoiceWeightGenerator(random); var ruleEvaluatorFactory = new RuleEvaluatorFactory( new AscendingSeventhRuleEvaluator(scaleDegreeEvaluator), new DissonanceRuleEvaluator(), new DissonantLeapRuleEvaluator(scaleDegreeEvaluator, compositionContext), new DoubledLeapRuleEvaluator(), new DoubledNoteRuleEvaluator(scaleDegreeEvaluator), new LeapReturnRuleEvaluator(), new MultipleLeapRuleEvaluator(), new ParallelPerfectsRuleEvaluator(scaleDegreeEvaluator) ); var aggregateEvaluator = new AggregateRuleEvaluator(ruleEvaluatorFactory); var mordentDecorator = new MordentDecorator(scaleDegreeEvaluator, random); var passingToneDecorator = new PassingToneDecorator(scaleDegreeEvaluator, random); var appogiaturaDecorator = new AppogiaturaDecorator(scaleDegreeEvaluator, random); _instance = new FuxExMachinaFactory( compositionContexts, noteChoices, noteChoiceWeightGenerator, scaleDegreeEvaluator, new CompositionEvaluator(aggregateEvaluator), new CompositionDecorator(passingToneDecorator, mordentDecorator, appogiaturaDecorator), new CryptoRandom(), new FuxExMachinaNullLogger() ); return(_instance); }
public void Setup() { _factory = FuxExMachinaTestFactoryProvider.GetTestFactory(); }
/// <summary> /// Composition constructor. /// </summary> /// <param name="factory">The factory to initialize this composition with</param> public Composition(FuxExMachinaFactory factory) { _factory = factory; _compositionContexts = _factory.CompositionContexts; }
public void Setup() { _factory = FuxExMachinaTestFactoryProvider.GetTestFactory(); _ruleEvaluator = new DoubledLeapRuleEvaluator(); }
public void Setup() { _factory = FuxExMachinaTestFactoryProvider.GetTestFactory(); _ruleEvaluator = new AscendingSeventhRuleEvaluator(new ScaleDegreeEvaluator()); }
/// <summary> /// ComposerPopulation constructor. /// </summary> /// <param name="factory">The factory to use</param> public ComposerPopulation(FuxExMachinaFactory factory) { _factory = factory; }
public void Setup() { _factory = FuxExMachinaTestFactoryProvider.GetTestFactory(); _ruleEvaluator = new ParallelPerfectsRuleEvaluator(new ScaleDegreeEvaluator()); }
public void Setup() { _factory = FuxExMachinaTestFactoryProvider.GetTestFactory(); _compositionContexts = _factory.CompositionContexts; }
public void Setup() { _factory = FuxExMachinaTestFactoryProvider.GetTestFactory(); _ruleEvaluator = new DissonanceRuleEvaluator(); }