model.setReady(false);
model.setCurrentSubtitleIndex(idx);
// update components
try {
Core.convertSup(idx, idx+1, Core.getNumFrames());
SubPicture subPic = new SubPicture(Core.getSubPictureTrg(idx));
model.setSubPic(subPic);
model.setImage(Core.getTrgImagePatched(subPic));
model.setOriginalX(subPic.getXOffset());
model.setOriginalY(subPic.getYOffset());
view.setInfoLabelText("Frame " + (idx + 1) + " of " + Core.getNumFrames());
move();
view.setPreviewPanelSubtitleOffsets(subPic.getXOffset(), subPic.getYOffset());
view.setPreviewPanelScreenDimension(subPic.getWidth(), subPic.getHeight());
view.setPreviewPanelImage(model.getImage(), subPic.getImageWidth(), subPic.getImageHeight());
view.setPreviewPanelAspectRatio(model.getTargetScreenAspectRatio());
view.setPreviewPanelCropOffsetY(model.getCropOfsY());
view.setPreviewPanelExcluded(subPic.isExcluded());
view.repaintPreviewPanel();
model.setReady(true);
} catch (CoreException ex) {
view.error(ex.getMessage());