use of org.jwildfire.create.tina.base.Flame in project JWildfire by thargor6.
the class FlameMovie method createAnimatedFlame.
public Flame createAnimatedFlame(Flame pFlame, int pFrame) {
Flame res = AnimationService.createFrameFlame(pFrame, getFrameCount(), getFramesPerSecond(), pFlame, getGlobalScripts(), getxFormScripts(), getMotionBlurLength(), getMotionBlurTimeStep(), getFrameWidth(), getFrameHeight(), prefs);
res.setFrame(pFrame);
return res;
}
use of org.jwildfire.create.tina.base.Flame in project JWildfire by thargor6.
the class FlameMovie method getFlame.
public Flame getFlame(int pFrame) {
int currFrame = 0;
for (int i = 0; i < parts.size(); i++) {
FlameMoviePart part = parts.get(i);
currFrame += part.getFrameCount();
if (currFrame >= pFrame) {
Flame flame1 = part.getFlame().makeCopy();
int morphFrames = part.getFrameMorphCount();
if (morphFrames == 0 || pFrame < (currFrame - morphFrames) || i == (parts.size() - 1)) {
return flame1;
} else {
Flame flame2 = parts.get(i + 1).getFlame().makeCopy();
int morphFrame = pFrame - (currFrame - morphFrames);
// System.out.println(pFrame + ": " + morphFrame);
return FlameMorphService.morphFlames(prefs, part.getFlameMorphType(), flame1, flame2, morphFrame, morphFrames);
}
}
}
return null;
}
use of org.jwildfire.create.tina.base.Flame in project JWildfire by thargor6.
the class DancingFractalsController method startRender.
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());
renderThread.setDrawFFT(drawFFTCbx.isSelected());
renderThread.setDrawFPS(drawFPSCbx.isSelected());
actionRecorder.recordStart(selFlame);
new Thread(renderThread).start();
}
use of org.jwildfire.create.tina.base.Flame in project JWildfire by thargor6.
the class DancingFractalsController method renameFlameBtn_clicked.
public void renameFlameBtn_clicked() {
try {
Flame flame = poolFlameHolder.getFlame();
if (flame != null) {
int idx = flamePropertiesTree.getSelectionRows()[0];
String s = StandardDialogs.promptForText(rootPanel, "Please enter the new title:", flame.getName());
if (s != null) {
for (Flame tFlame : project.getFlames()) {
if (!tFlame.isEqual(flame) && s.equals(tFlame.getName())) {
throw new RuntimeException("A different flame with the name \"" + s + "\" alread exists");
}
}
flame.setName(s);
refreshProjectFlames();
if (project.getFlames().size() == 0) {
flamePropertiesTree_changed(null);
} else {
try {
flamePropertiesTree.setSelectionRow(idx);
} catch (Exception ex) {
}
}
enableControls();
}
}
} catch (Exception ex) {
errorHandler.handleError(ex);
}
}
use of org.jwildfire.create.tina.base.Flame in project JWildfire by thargor6.
the class DancingFractalsController method loadFlameFromClipboardButton_clicked.
public void loadFlameFromClipboardButton_clicked() {
List<Flame> newFlames = null;
try {
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable clipData = clipboard.getContents(clipboard);
if (clipData != null) {
if (clipData.isDataFlavorSupported(DataFlavor.stringFlavor)) {
String xml = (String) (clipData.getTransferData(DataFlavor.stringFlavor));
newFlames = new FlameReader(prefs).readFlamesfromXML(xml);
}
}
if (newFlames == null || newFlames.size() < 1) {
throw new Exception("There is currently no valid flame in the clipboard");
} else {
for (Flame newFlame : newFlames) {
project.getFlames().add(validateDancingFlame(newFlame));
}
refreshProjectFlames();
enableControls();
}
} catch (Throwable ex) {
errorHandler.handleError(ex);
}
}
Aggregations