Skip to content

Commit 6e1015d

Browse files
committed
Cleanup
1 parent 94e57c8 commit 6e1015d

File tree

4 files changed

+21
-42
lines changed

4 files changed

+21
-42
lines changed

src/BaroquenMelody.Library/Ornamentation/Engine/OrnamentationEngineBuilder.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,20 +33,19 @@ internal sealed class OrnamentationEngineBuilder(CompositionConfiguration compos
3333

3434
private readonly NoteIndexPairSelector _noteIndexPairSelector = new(new NoteOnsetCalculator(musicalTimeSpanCalculator, compositionConfiguration));
3535

36-
private readonly OrnamentationEngineFactory _engineFactory = new(
36+
private readonly OrnamentationProcessorFactory _processorFactory = new(
3737
musicalTimeSpanCalculator,
3838
new OrnamentationProcessorConfigurationFactory(
3939
new ChordNumberIdentifier(compositionConfiguration),
4040
new WeightedRandomBooleanGenerator(),
4141
compositionConfiguration,
4242
logger
43-
),
44-
logger
43+
)
4544
);
4645

4746
public IPolicyEngine<OrnamentationItem> BuildOrnamentationEngine() => PolicyEngineBuilder<OrnamentationItem>.Configure()
4847
.WithoutInputPolicies()
49-
.WithProcessors(_engineFactory.Create(compositionConfiguration).ToArray())
48+
.WithProcessors(_processorFactory.Create(compositionConfiguration).ToArray())
5049
.WithOutputPolicies(new CleanConflictingOrnamentations(BuildOrnamentationCleaningEngine()))
5150
.Build();
5251

src/BaroquenMelody.Library/Ornamentation/Engine/Processors/Factories/IOrnamentationEngineFactory.cs renamed to src/BaroquenMelody.Library/Ornamentation/Engine/Processors/Factories/IOrnamentationProcessorFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
namespace BaroquenMelody.Library.Ornamentation.Engine.Processors.Factories;
55

6-
internal interface IOrnamentationEngineFactory
6+
internal interface IOrnamentationProcessorFactory
77
{
88
IEnumerable<IProcessor<OrnamentationItem>> Create(CompositionConfiguration compositionConfiguration);
99
}
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,21 @@
11
using Atrea.PolicyEngine.Builders;
22
using Atrea.PolicyEngine.Processors;
33
using BaroquenMelody.Library.Configurations;
4-
using BaroquenMelody.Library.Ornamentation.Engine.Policies.Output;
54
using BaroquenMelody.Library.Ornamentation.Utilities;
6-
using Microsoft.Extensions.Logging;
75

86
namespace BaroquenMelody.Library.Ornamentation.Engine.Processors.Factories;
97

10-
internal sealed class OrnamentationEngineFactory(
8+
internal sealed class OrnamentationProcessorFactory(
119
IMusicalTimeSpanCalculator musicalTimeSpanCalculator,
12-
IOrnamentationProcessorConfigurationFactory configurationFactory,
13-
ILogger logger
14-
) : IOrnamentationEngineFactory
10+
IOrnamentationProcessorConfigurationFactory configurationFactory
11+
) : IOrnamentationProcessorFactory
1512
{
1613
public IEnumerable<IProcessor<OrnamentationItem>> Create(CompositionConfiguration compositionConfiguration) =>
1714
from ornamentationConfiguration in compositionConfiguration.AggregateOrnamentationConfiguration.Configurations.Where(configuration => configuration.IsEnabled)
1815
from processorConfiguration in configurationFactory.Create(ornamentationConfiguration)
1916
select PolicyEngineBuilder<OrnamentationItem>.Configure()
2017
.WithInputPolicies(processorConfiguration.InputPolicies)
2118
.WithProcessors(new OrnamentationProcessor(musicalTimeSpanCalculator, compositionConfiguration, processorConfiguration))
22-
.WithOutputPolicies(new LogOrnamentation(processorConfiguration.OrnamentationType, logger))
19+
.WithOutputPolicies(processorConfiguration.OutputPolicies)
2320
.Build();
2421
}

src/BaroquenMelody.Library/Ornamentation/Engine/Processors/OrnamentationProcessor.cs

Lines changed: 13 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public void Process(OrnamentationItem item)
2727
currentNote.OrnamentationType = configuration.OrnamentationType;
2828
}
2929

30-
private List<BaroquenNote> GetOrnamentations(BaroquenNote currentNote, BaroquenNote? nextNote)
30+
private IEnumerable<BaroquenNote> GetOrnamentations(BaroquenNote currentNote, BaroquenNote? nextNote)
3131
{
3232
var shouldInvert = configuration.ShouldInvertTranslations((currentNote, nextNote));
3333

@@ -37,35 +37,18 @@ private List<BaroquenNote> GetOrnamentations(BaroquenNote currentNote, BaroquenN
3737

3838
var notes = compositionConfiguration.Scale.GetNotes();
3939

40-
var ornamentations = new List<BaroquenNote>();
41-
42-
for (var i = 0; i < configuration.Translations.Length; i++)
43-
{
44-
var translation = configuration.Translations[i];
45-
46-
var ornamentationIndex = shouldInvert && configuration.TranslationInversionIndices.Contains(i)
40+
return configuration.Translations
41+
.Select((translation, translationIndex) => shouldInvert && configuration.TranslationInversionIndices.Contains(translationIndex)
4742
? translationPivot - translation
48-
: translationPivot + translation;
49-
50-
var note = notes[ornamentationIndex];
51-
var timespan = musicalTimeSpanCalculator.CalculateOrnamentationTimeSpan(configuration.OrnamentationType, compositionConfiguration.Meter, i);
52-
53-
ornamentations.Add(new BaroquenNote(currentNote.Instrument, note, timespan));
54-
}
55-
56-
// var ornamentations = configuration.Translations
57-
// .Select((translation, translationIndex) => shouldInvert && configuration.TranslationInversionIndices.Contains(translationIndex)
58-
// ? translationPivot - translation
59-
// : translationPivot + translation
60-
// )
61-
// .Select(noteIndex => notes[noteIndex])
62-
// .Select((note, ornamentationStep) =>
63-
// new BaroquenNote(
64-
// currentNote.Instrument,
65-
// note,
66-
// musicalTimeSpanCalculator.CalculateOrnamentationTimeSpan(configuration.OrnamentationType, compositionConfiguration.Meter, ornamentationStep)
67-
// )
68-
// );
69-
return ornamentations;
43+
: translationPivot + translation
44+
)
45+
.Select(noteIndex => notes[noteIndex])
46+
.Select((note, ornamentationStep) =>
47+
new BaroquenNote(
48+
currentNote.Instrument,
49+
note,
50+
musicalTimeSpanCalculator.CalculateOrnamentationTimeSpan(configuration.OrnamentationType, compositionConfiguration.Meter, ornamentationStep)
51+
)
52+
);
7053
}
7154
}

0 commit comments

Comments
 (0)