package rice2604hw; /* ============================================ 2604-10/25 FMSynthNote-subclass J.Rice -------------------------------------------- Allows overriding of buildEnvelopes() method so curves for modEnv and carEnv may be made with random numbers. This data is available via accessor methods at bottom. ============================================*/ import com.softsynth.jsyn.*; //------------------------------------- public class FMRandNote extends FMSynthNote { double[] carEnvData, modEnvData; double duration; public FMRandNote(double envDur) throws SynthException { super((Math.random() * 10 + 1), (Math.random() * 10 + 1), (Math.random() * 100 + 1)); duration = envDur; buildEnvelopes(); } //------------------------------------- void buildEnvelopes() throws SynthException { carEnvData = RandomEnv.getEnv(duration); carAmpEnvData = new SynthEnvelope(carEnvData); modEnvData = RandomEnv.getEnv(duration); modAmpEnvData = new SynthEnvelope(modEnvData); } //------------------------------------- public double[] getCarEnv() { return carEnvData; } //------------------------------------- public double[] getModEnv() { return modEnvData; } //---------------------------- public double getNumer() { return numer; } //---------------------------- public double getDenom() { return denom; } //---------------------------- public double getIndex() { return index; } //=============END FMRANDNOTE=================== }