public EnvelopeMP3Data(String pMPFilename) {
   try {
     JLayerInterface jLayer = new JLayerInterface();
     fft = jLayer.recordFFT(pMPFilename);
   } catch (Throwable ex) {
     throw new RuntimeException(ex);
   }
 }
 public void startShow() {
   try {
     if (project.getFlames().size() == 0) throw new Exception("No flames to animate");
     jLayer.stop();
     if (project.getSoundFilename() != null && project.getSoundFilename().length() > 0) {
       jLayer.play(project.getSoundFilename());
     }
     startRender();
     running = true;
     enableControls();
   } catch (Throwable ex) {
     errorHandler.handleError(ex);
   }
 }
 public void stopShow() {
   try {
     if (jLayer != null) {
       jLayer.stop();
     }
     stopRender();
     running = false;
     enableControls();
   } catch (Throwable ex) {
     errorHandler.handleError(ex);
   }
 }
 public void mutedCBx_changed() {
   if (jLayer != null) {
     jLayer.setMuted(mutedCbx.isSelected());
   }
 }