Running old Processing app with old G4P on latest Mac

I am having trouble running a 5-year old code that used G4P.
I tried installing the old G4P and G4P Builder inside a dedicated folder accessed by a separate install of Processing 3.4, since I also have the latest Processing.
But yet, I still have plenty of G4P errors, or even PGraphics errors.
Basically, the code had some chunks like this:

size(width, height, P3D)

If I keep the P3D, the app won’t work. If I remove it (and removing it in all the PGraphics creation), the UI starts but the graphics don’t seem to be working, and I get plenty of awt etc. errors.

The code worked in the past.

So before investigating an old working code, I am wondering whether structural changes somewhere else (like my macOS) could have an impact or not?
Is running the code on Processing 3.4 with G4P 4.1.5 and G4P Tools 4.2.1 the only thing I can try before digging into the code?


1 Like

if I want to use old stuff, even though it already smells a little rancid, I rather keep an old version of processing and the old libraries and start it from there…

unless you “need” to use the newest processing version. but then I think it would make sense to update your code too…

you wouldn’t let your grandma ride on your brand new bike either… ride it yourself while you’re still young !

5-6 years ago Processing was making a big leap from Processing 2 to Processing 3 and the changes required G4P to be rewritten from the ground up. The first release of G4P for PS3 was V4.0

It is possible that the code you are trying to run is for Processing 2 in which case you would need to get and install

  • Processing V2.2.1
  • G4P V3.5.4, and
  • GUI Builder 2.6 (may not be possible to use, see note)

Note: You actually need the same version of GUI Builder that was used in the original code. Look inside the sketch folder for a folder called GUI_BUILDER_DATA and if present look inside for a file called gui.ser.?.? where ?.? is the version of GUI Builder used. Without this file GUI Builder cannot be used with the sketch.

This is unlikely to be useful since 3.4 was released 26th July 2018.


Thanks, I am on the way of testing this, but now I need to see if I can easily launch Processing 2 with Java8 instead of my Java14 system config, since other dependencies (Bezier SQL lib) are also obsolete now.

As for the builder, I don’t really need to build a new GUI, just to be able to display the old one.

Then ignore GUI Builder :+1:t2:

Ok, It was not a Java8 system problem since P5 2 is shipped with Java1.7.
I just had to download Bezier directly from and not from the p5 app store.

1 Like

A bit out of topic for this question, but here another concern: at the time, I was not using git, nor any good programming practice. I have 3 copies of my P5 programs, and file comparison look very similar. I have noticed two versions that only differ by their G4P commands:


instead of


From your documentation, I understand that setPromptText() is more recent, right?
At which G4P version did the change occur?


The setPromptText was introduced in 3.5 to replace setDefaultText which was then deprecated.

In 4.0 setDefaultText was finally removed to avoid any confusion.

A detaled list of changes can be found here. The changes can also be found in the library download in a simple text file.