Ejemplo n.º 1
0
 public static void SynthesizerMainLoop <U>(
     SynthesizerGeneratorParams <T, W> generatorParams,
     Synthesizer.DataOutCallbackMethod <OutputGeneric <T, U, W> > dataCallback,
     OutputGeneric <T, U, W> dataCallbackState,
     Synthesizer.StopTask stopper)
 {
     try
     {
         generatorParams.result = Synthesizer.DoSynthesizer(
             generatorParams.document,
             dataCallback,
             dataCallbackState,
             generatorParams.listOfTracks,
             generatorParams.keyTrack,
             generatorParams.frameToStartAt,
             generatorParams.samplingRate * generatorParams.oversamplingFactor,
             generatorParams.oversamplingFactor,
             generatorParams.envelopeRate,
             generatorParams.defaultBeatsPerMinute,
             generatorParams.overallVolumeScalingReciprocal,
             generatorParams.scanningGap,
             stopper,
             generatorParams.showSummary,
             out generatorParams.errorInfo,
             generatorParams.interactionLog,
             generatorParams.deterministic,
             generatorParams.randomSeed,
             generatorParams.automationSettings);
     }
     catch (Exception exception)
     {
         Program.WriteLog("SynthesizerMainLoop", exception.ToString());
         generatorParams.exception = exception;
         stopper.Stop();
     }
     finally
     {
         generatorParams.completed = true;
     }
 }