コード例 #1
0
 /// <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();
 }
コード例 #2
0
 /// <summary>
 /// FuxExMachinaFactory constructor.
 /// </summary>
 /// <param name="compositionContexts">The composition contexts to use</param>
 /// <param name="noteChoices">The note choices to use</param>
 /// <param name="noteChoiceWeightGenerator">The note choice weight generator to use</param>
 /// <param name="scaleDegreeEvaluator">The scale degree evaluator to use</param>
 /// <param name="compositionEvaluator">The composition evaluator to use</param>
 /// <param name="compositionDecorator">The composition decorator to use</param>
 /// <param name="random">The random number generator to use</param>
 /// <param name="logger">The logger to use</param>
 public FuxExMachinaFactory(
     CompositionContextCollection compositionContexts,
     NoteChoiceCollection noteChoices,
     NoteChoiceWeightGenerator noteChoiceWeightGenerator,
     ScaleDegreeEvaluator scaleDegreeEvaluator,
     CompositionEvaluator compositionEvaluator,
     CompositionDecorator compositionDecorator,
     CryptoRandom random,
     IFuxExMachinaLogger logger
     )
 {
     CompositionContexts       = compositionContexts;
     NoteChoices               = noteChoices;
     NoteChoiceWeightGenerator = noteChoiceWeightGenerator;
     ScaleDegreeEvaluator      = scaleDegreeEvaluator;
     CompositionEvaluator      = compositionEvaluator;
     CompositionDecorator      = compositionDecorator;
     Random = random;
     Logger = logger;
 }