Exporting processing sketch issue

Hi, I’m trying to export my sketch as frame images in order to make a movie. However, when I do, only the background of my sketch comes up. Have I missed something? I’ve used saveFrame in line 73.

timport ddf.minim.*;
import ddf.minim.analysis.*;
import ddf.minim.effects.*;
import ddf.minim.signals.*;
import ddf.minim.spi.*;
import ddf.minim.ugens.*;

import processing.serial.*;
import geomerative.*;


Minim minim;
AudioPlayer player;
AudioInput input;

RShape grp;
RPoint[][] pointPaths;

float z = 50;

String inString;  // Input string from serial port
String val;      // Data received from the serial port
int lf = 10;
Serial myPort;

int sensitivity=250;

boolean ignoringStyles = false;

void setup() 
{   

  
    //fullScreen();
    print (Serial.list());
    size(600, 600, P3D);

      minim = new Minim(this);
      player = minim.loadFile("WIND ONE.mp3");
      input = minim.getLineIn();
        player.play();
    // I know that the first port in the serial list on my mac
    // is always my  FTDI adaptor, so I open Serial.list()[0].
    // On Windows machines, this generally opens COM1.
    // Open whatever port is the one you're using.
    String portName = Serial.list()[1];
    myPort = new Serial(this, portName, 9600);
    myPort.bufferUntil(lf);
    
      RG.init(this);
      RG.ignoreStyles(ignoringStyles);
  
      RG.setPolygonizer(RG.ADAPTATIVE);
    
    grp = RG.loadShape("A1.svg");
    grp.centerIn(g, 100, 1, 1);
    
    pointPaths = grp.getPointsInPaths();
  
}

void draw()
{
  //z = 10 * sin( frameCount/50.0 * PI);
  
  print(inString);
      background(206, 204, 204);
       loadShape("A1.svg").disableStyle();  // Ignore the colors in the SVG
  fill(3, 3, 3);    // Set the SVG fill to blue
  stroke(3, 3, 3);
  
 
  saveFrame("A_####.jpg") ;

       for(int i = 0; i < player.bufferSize() - 1; i++)
    {
      inString=str(sensitivity*(player.left.get(i)));
    }
      float Random_var=(float(inString)/400)*50;
      translate(300,300,z);
      for(int i = 0; i<pointPaths.length; i++){
    
    translate((random((Random_var))),(random((Random_var))),z);

    if (pointPaths[i] != null) {
      beginShape();
     for(int j = 0; j<pointPaths[i].length; j++){
        vertex(pointPaths[i][j].x, pointPaths[i][j].y);
      }
      endShape();
    }
  }
      
    
  }
  
  void serialEvent(Serial p) { 
  inString = p.readString(); 
}type or paste code here

Traditionally, one would put a call to saveFrame() at the end of draw(), not in the middle of it. You can’t save an image of things you haven’t drawn yet!

1 Like

Thankyou! Just realised my error

You can also use the VideoExport library available in the Contribution manager. Check the examples as it is straight forward to use.

Kf