function onRender(t) {
     CanvasController.setTime(t);
     RenderList.render(t);
     if(Encoder.isEncoding()) {
         Encoder.addFrame(CanvasController.getContext());
     }
     else if(SpriteSheet.isEncoding()) {
         SpriteSheet.addFrame(CanvasController.getCanvas());
     }
     else if(ImageSequence.isEncoding()) {
         ImageSequence.addFrame(CanvasController.getCanvas());
     }
 }
 function onComplete() {
     ToolbarController.enablePlay();
     CanvasController.enableScrubber();
     PropertiesController.setStatus("stopped");
     PropertiesController.enable();
     if(Encoder.isEncoding()) {
         Encoder.complete();
         var dataURL = Encoder.getDataURL();
         OutputController.setImage(dataURL, GLCInterface.w, GLCInterface.h);
     }
     else if(SpriteSheet.isEncoding()) {
         SpriteSheet.complete();
         var dataURL = SpriteSheet.getDataURL();
         OutputController.setImage(dataURL, SpriteSheet.getSpriteSheetSize(), SpriteSheet.getSpriteSheetSize());
     }
     else if(ImageSequence.isEncoding()) {
         ImageSequence.complete();
     }
 }