Browse Source

improved fxwebp

master
Victor Giers 2 years ago
parent
commit
31c8bb45a9
2 changed files with 13 additions and 24 deletions
  1. 1
    1
      data/saves.sav
  2. 12
    23
      effects.pde

+ 1
- 1
data/saves.sav View File

@@ -1,2 +1,2 @@
//globals
uptime = 117233182
uptime = 117266253

+ 12
- 23
effects.pde View File

@@ -4358,6 +4358,8 @@ class WEBPCORRUPTION extends Shader {
PImage img;
byte[] brokenfile;
int rw, rh;
String[] convertToPNG;
String[] convertToWebp;
WEBPCORRUPTION() {
name = "fxWebpCorruption";
params.add(new Param("byte amount to change probability", INTVAL, 2, 50, new int[]{RANDOM}));
@@ -4366,15 +4368,8 @@ class WEBPCORRUPTION extends Shader {
rw = canvas.width;
rh = canvas.height;
img = createImage(rw, rh, ARGB);
String encodecmd[] = {"convert \"" + dataPath("") + "/img.png\" \"" + dataPath("") + "/WEBPhex.webp\""};
String decodecmd[] = {"convert \"" + dataPath("") + "/result.webp\" \"" + dataPath("") + "/result.png\""};
if (OS == "mac") {
saveStrings(dataPath("") + "/webpencode.command", encodecmd);
saveStrings(dataPath("") + "/webpdecode.command", decodecmd);
} else if (OS == "windows") {
saveStrings(dataPath("") + "/webpencode.cmd", encodecmd);
saveStrings(dataPath("") + "/webpdecode.cmd", decodecmd);
}
convertToPNG = new String[]{"/usr/local/bin/convert", "-verbose", dataPath("") + "/webp_glitched.webp", dataPath("") + "/webp_glitched.png"};
convertToWebp = new String[]{"/usr/local/bin/convert", "-verbose", dataPath("") + "/webp_orig.png", dataPath("") + "/webp_orig.webp"};
}

void apply() {
@@ -4390,11 +4385,11 @@ class WEBPCORRUPTION extends Shader {
canvas.image(img, canvas.width/2, canvas.height/2);


File oldImage = new File(dataPath("")+"/webp_orig.webp");
File oldImage = new File(dataPath("")+"/webp_orig.png");
if (oldImage.exists()) {
oldImage.delete();
}
oldImage = new File(dataPath("")+"/png_orig.png");
oldImage = new File(dataPath("")+"/webp_orig.webp"); //is it better to move this up again?
if (oldImage.exists()) {
oldImage.delete();
}
@@ -4406,21 +4401,14 @@ class WEBPCORRUPTION extends Shader {
if (oldImage.exists()) {
oldImage.delete();
}
String[] convertToPNG = {"/usr/local/bin/convert", "-verbose", dataPath("") + "/webp_glitched.webp", dataPath("") + "/webp_glitched.png"};
while (!runCommand(convertToPNG)) {
canvas.save(dataPath("")+"/webp_orig.png"); //save as png
int failCount = 0;
while (!runCommand(convertToPNG) && failCount < 25) {
failCount ++;
println("Trying to convert...");
canvas.save(dataPath("")+"/webp_orig.png"); //save as png
String[] convertToWebp = {"/usr/local/bin/convert", "-verbose", dataPath("") + "/webp_orig.png", dataPath("") + "/webp_orig.webp"};
while (!runCommand(convertToWebp)) {
println("Conversion failed, trying again...");
}

//delay(300);
//launch(dataPath("") + "/webpencode.command");
//String[] commandToRun = {"/usr/local/bin/convert", "-verbose", dataPath("") + "/0.png", dataPath("") + "/webp_orig.webp"};
//delay(1500);


brokenfile = loadBytes(dataPath("")+"/webp_orig.webp"); //and reload. just in case it wasnt a jpg.
byte[] savebytes = new byte[brokenfile.length];
double probability = float(probparam) / float(brokenfile.length);
@@ -4452,7 +4440,8 @@ class WEBPCORRUPTION extends Shader {
}
*/
}
img = loadImage(dataPath("") + "/webp_glitched.png");
if(failCount == 50) println("Failed 50 times, skipping webp glitch");
else img = loadImage(dataPath("") + "/webp_glitched.png");

//launch(dataPath("") + "/webpdecode.command");
//delay(1500);

Loading…
Cancel
Save