public static void main(String[] args) throws Exception { // Get default control rate from synthesizer AudioSynthesizerPropertyInfo[] p = synth.getPropertyInfo(null); for (int i = 0; i < p.length; i++) { if (p[i].name.equals("control rate")) { control_rate = ((Float) p[i].value).floatValue(); break; } } // Test LFO under various configurations for (int instance = 0; instance < 3; instance++) for (int d1 = -3000; d1 < 0; d1 += 1000) for (int d2 = 0; d2 < 5000; d2 += 1000) for (int fr = -1000; fr < 1000; fr += 100) { testLFO(true, instance, (fr == -1000) ? Float.NEGATIVE_INFINITY : fr, (d1 == -3000) ? Float.NEGATIVE_INFINITY : d1, d2); testLFO(false, instance, (fr == -1000) ? Float.NEGATIVE_INFINITY : fr, (d1 == -3000) ? Float.NEGATIVE_INFINITY : d1, d2); } }