private void SecondTempMethod(Fmotiv fmotivBuffer, List<Fmotiv> fmotivList)
{
if (ExtractNoteList(fmotivBuffer).Count == 1)
{
var fm = new Fmotiv("ЧМТ");
for (int j = 0; j < fmotivBuffer.NoteList.Count; j++)
{
// заносим
fm.NoteList.Add((ValueNote)fmotivBuffer.NoteList[j].Clone());
}
// добавляем в выходную цепочку получившийся фмотив
fmotivList.Add((Fmotiv)fm.Clone());
fmotivBuffer.NoteList.Clear();
}
else
{
// если больше 1 ноты, то вызываем рекурсию на оставшиеся ноты
// отправляем последовательность равнодлительных звуков на анализ, получаем цепочку фмотивов и заносим их в выходную последовательность
List<Fmotiv> dividedSameDuration = DivideSameDurationNotes(fmotivBuffer);
foreach (Fmotiv fmotiv in dividedSameDuration)
{
// заносим очередной фмотив
fmotivList.Add((Fmotiv)fmotiv.Clone());
}
}
}