public void startRender() throws Exception {
stopRender();
Flame selFlame = flamesCmb.getSelectedIndex() >= 0 && flamesCmb.getSelectedIndex() < project.getFlames().size() ? project.getFlames().get(flamesCmb.getSelectedIndex()) : null;
renderThread = new RealtimeAnimRenderThread(this, project);
renderThread.getFlameStack().addFlame(selFlame, 0, project.getMotions(selFlame));
actionRecorder = new ActionRecorder(renderThread);
renderThread.setFFTData(project.getFFT());
renderThread.setMusicPlayer(jLayer);
renderThread.setFFTPanel(getGraph1Panel());
renderThread.setFramesPerSecond(Integer.parseInt(framesPerSecondIEd.getText()));
renderThread.setDrawTriangles(drawTrianglesCbx.isSelected());