Search in sources :

Example 41 with Flame

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;
}
Also used : Flame(org.jwildfire.create.tina.base.Flame)

Example 42 with Flame

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;
}
Also used : Flame(org.jwildfire.create.tina.base.Flame)

Example 43 with Flame

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();
}
Also used : ActionRecorder(org.jwildfire.create.tina.dance.action.ActionRecorder) Flame(org.jwildfire.create.tina.base.Flame) RenderedFlame(org.jwildfire.create.tina.render.RenderedFlame)

Example 44 with Flame

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);
    }
}
Also used : Flame(org.jwildfire.create.tina.base.Flame) RenderedFlame(org.jwildfire.create.tina.render.RenderedFlame)

Example 45 with Flame

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);
    }
}
Also used : FlameReader(org.jwildfire.create.tina.io.FlameReader) Transferable(java.awt.datatransfer.Transferable) Clipboard(java.awt.datatransfer.Clipboard) Flame(org.jwildfire.create.tina.base.Flame) RenderedFlame(org.jwildfire.create.tina.render.RenderedFlame)

Aggregations

Flame (org.jwildfire.create.tina.base.Flame)232 RenderedFlame (org.jwildfire.create.tina.render.RenderedFlame)109 Layer (org.jwildfire.create.tina.base.Layer)63 XForm (org.jwildfire.create.tina.base.XForm)55 VariationFunc (org.jwildfire.create.tina.variation.VariationFunc)30 FlameRenderer (org.jwildfire.create.tina.render.FlameRenderer)27 FlameReader (org.jwildfire.create.tina.io.FlameReader)24 File (java.io.File)21 RenderInfo (org.jwildfire.create.tina.render.RenderInfo)21 ArrayList (java.util.ArrayList)17 JFileChooser (javax.swing.JFileChooser)17 SimpleImage (org.jwildfire.image.SimpleImage)17 FlameWriter (org.jwildfire.create.tina.io.FlameWriter)15 Rectangle (java.awt.Rectangle)10 Clipboard (java.awt.datatransfer.Clipboard)10 FlamePanel (org.jwildfire.create.tina.swing.flamepanel.FlamePanel)9 RGBPalette (org.jwildfire.create.tina.palette.RGBPalette)8 Transferable (java.awt.datatransfer.Transferable)7 ResolutionProfile (org.jwildfire.base.ResolutionProfile)7 Test (org.junit.Test)6