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 void GetFlutters(int firstRestMsDuration, Palette palette) { // each flutter begins with a chord, and ends with a rest. TrkDef furies3FlutterSequence1 = GetFlutter1(palette); furies3FlutterSequence1.AdjustVelocities(0.7); TrkDef furies3FlutterSequence2 = GetNextFlutterSequence(furies3FlutterSequence1, 0.89, 1); TrkDef furies3FlutterSequence3 = GetNextFlutterSequence(furies3FlutterSequence2, 0.89, 1); TrkDef furies3FlutterSequence4 = GetNextFlutterSequence(furies3FlutterSequence3, 0.89, 1); TrkDef furies3FlutterSequence5 = GetNextFlutterSequence(furies3FlutterSequence4, 0.89, 1); TrkDef furies3FlutterSequence6 = GetNextFlutterSequence(furies3FlutterSequence5, 0.89, 2); TrkDef furies3FlutterSequence7 = GetNextFlutterSequence(furies3FlutterSequence6, 0.89, 2); TrkDef furies3FlutterSequence8 = GetNextFlutterSequence(furies3FlutterSequence7, 0.89, 2); TrkDef furies3FlutterSequence9 = GetNextFlutterSequence(furies3FlutterSequence8, 0.89, 3); TrkDef furies3FlutterSequence10 = GetNextFlutterSequence(furies3FlutterSequence9, 0.89, 3); TrkDef furies3FlutterSequence11 = GetNextFlutterSequence(furies3FlutterSequence10, 0.89, 4); TrkDef furies3FlutterSequence12 = GetNextFlutterSequence(furies3FlutterSequence11, 0.89, 5); Furies3 f3 = new Furies3(2, firstRestMsDuration); f3.AddRange(furies3FlutterSequence1); f3.AddRange(furies3FlutterSequence2); f3.AddRange(furies3FlutterSequence3); f3.AddRange(furies3FlutterSequence4); f3.AddRange(furies3FlutterSequence5); f3.AddRange(furies3FlutterSequence6); f3.AddRange(furies3FlutterSequence7); f3.AddRange(furies3FlutterSequence8); f3.AddRange(furies3FlutterSequence9); f3.AddRange(furies3FlutterSequence10); f3.AddRange(furies3FlutterSequence11); f3.AddRange(furies3FlutterSequence12); this._uniqueDefs = f3.UniqueDefs; }