private TrkDef GetWind1(byte midiChannel, TrkDef wind3, TrkDef wind2, Clytemnestra clytemnestra) { List<IUniqueDef> clytLmdds = clytemnestra.UniqueDefs; int rotationMsPosition = clytLmdds[116].MsPosition + 700; TrkDef wind1 = GetRotatedWind(midiChannel, wind3, rotationMsPosition); wind1.Transpose(0, wind1.Count, 19); wind1.StepwiseGliss(0, 25, 12); wind1.Transpose(25, wind1.Count, 12); wind1.AlignObjectAtIndex(0, 15, 82, wind2[15].MsPosition); wind1.AlignObjectAtIndex(15, 25, 82, rotationMsPosition); wind1.AlignObjectAtIndex(25, 74, 82, clytLmdds[289].MsPosition); return wind1; }
private TrkDef GetWind3(byte midiChannel, Palette palette, Krystal krystal) { TrkDef wind3 = palette.NewTrkDef(midiChannel, krystal); wind3.Transpose(0, wind3.Count, -13); wind3.StepwiseGliss(74, wind3.Count, 19); return wind3; }
private TrkDef GetNextFlutterSequence(TrkDef existingFlutter, double factor, int transposition) { TrkDef nextFlutter = existingFlutter.DeepClone(); nextFlutter.AdjustVelocities(factor); nextFlutter.AdjustMsDurations(factor); nextFlutter.AdjustRestMsDurations(factor); nextFlutter.Transpose(transposition); return(nextFlutter); }
private TrkDef GetWind2(byte midiChannel, TrkDef wind3, Clytemnestra clytemnestra) { List<IUniqueDef> clytLmdds = clytemnestra.UniqueDefs; int rotationMsPosition = clytLmdds[59].MsPosition + 700; TrkDef wind2 = GetRotatedWind(midiChannel, wind3, rotationMsPosition); wind2.Transpose(0, wind2.Count, 12); wind2.StepwiseGliss(0, 15, 7); wind2.Transpose(15, wind2.Count, 7); wind2.StepwiseGliss(75, wind2.Count, 12); wind2.AlignObjectAtIndex(0, 15, 82, rotationMsPosition); wind2.AlignObjectAtIndex(15, 39, 82, clytLmdds[173].MsPosition); wind2.AlignObjectAtIndex(39, 57, 82, clytLmdds[268].MsPosition); return wind2; }