Quantcast
Channel: Library Questions - Processing 2.x and 3.x Forum
Viewing all 2896 articles
Browse latest View live

ArrayIndexOutofBoundsException??

$
0
0

I cannot see where this error comes from in this sketch: Any help would be appreciated . . .

import processing.io.*; I2C i2c;

void setup() { size(420, 420); i2c = new I2C(I2C.list()[0]); background(255); }

float celsius;

void draw() { for (int pixel = 0; pixel < 64; pixel++) {

i2c.beginTransmission(0x68);
i2c.write(0x80);
i2c.endTransmission();

i2c.beginTransmission(0x68);
i2c.write(0x68);
byte[] in = i2c.read(2);
int lowerLevel = in[0];
int upperLevel = in[1];
i2c.endTransmission();

int temperature = ((upperLevel << 8) | lowerLevel);
if (temperature > 2047) {
  temperature = temperature - 4096;
}

celsius = temperature * 0.25;
print(celsius);
print(" ");

if ((pixel + 1) % 8 == 0) {
  print("\r\n");
}

} }


built-in processing and Open cv video library does not see my camera.

$
0
0

I use in my project astronomy cmos camera qhy5. But the built-in processing and Open cv video library does not see it. What can be done? What are the cameras running processing??? Thank you in advance. (built-in laptop camera works perfectly.) Here is the link to the camera: http://www.qhyccd.com/index.html#

Libraries for text manipulation

$
0
0

Hello Processing members

I plan on doing an animation that pulls all the text from the screen to the middle and lets it pulse like a heart. For that I checked if I'm able to manipulate whole Strings and Chars the way I'm able to manipulate circles, for example. I found the libraries Nexttext and Fontastic, but those seem to be outdated, therefore I can't use them with Processing 3.0. Than there is the library Geomerative, which I manged to install through Processings library manager, but this one yields the error "duplicate libraries", which I can't find a , for me understandable, workaround for. I'm also using minim, since I combine the pulse with music input, minim works fine though.

Thus I'm asking if anyone here has an idea on how to fix this error, make the outdated libraries run or maybe someone has an alternative way/library to manipulate text.

Kindest regards.

Stop minim audio

$
0
0

I'm working on a code that is going to have multiple options of songs to play in the background. I can get the audio playing but I cannot figure out how to have it stop and not overlap. I was hoping to have it stop with a keyPress.

How to make Text Reappear and make sound play when mouse pressed

$
0
0

Hi! So I have this code written so far. I'm having trouble with two parts of it: 1. I cannot get the text BREATHE to reappear when mouse is released, it's only a white screen and 2. I cannot get the sound file studentunion.wav to play only when the mouse is Pressed and the sound file calmsound.wav to play when the mouse is not pressed. I'm sure it's something really simple but here is my code so far:

PFont font; float x1 = 0.0; float x2 = 500.0;

import ddf.minim.*; Minim minim; AudioPlayer player; AudioInput input;

//starting information, imput needed int ballCount = 600; int ballSize = 45; int ballSpeed = 2;

float[]xspeed = new float[ballCount]; float[]yspeed= new float[ballCount]; float[]xpos = new float[ballCount]; float[]ypos = new float[ballCount]; float[]wdth = new float[ballCount]; float[]ht = new float[ballCount];

//initialize sketch void setup(){ size(500, 500); background(0);

//Sound
minim = new Minim(this); player1 = minim.loadFile("calmsound.wav"); player2 = minim.loadFile("studentunion.wav"); input = minim.getLineIn();

//FONT font = createFont("Arial", 250); textFont(font); fill(0);

//BALLS //starting values for all balls

for (int i=0; i<ballCount; i++){

    //varied ball speed
    xspeed[i] = random(5, ballSpeed);
    yspeed[i] = random(-ballSpeed, ballSpeed);

    //varied ball sizes
    wdth[i]= random(1, ballSize);
    ht[i]= wdth[i];

    //starting ball placement
    xpos[i] = width/3+random(-width/3, width/3);
    ypos[i] = height/2+random(-height/3, height/3);
}

// no shape stroke
noStroke();

//ball loop speed
frameRate(40);

}

void draw(){ background(255); //FONT text("breathe", x1, 250); text("breathe", x2, 350); x1 += 1.0; if (x1 > 500) { x1 = -150; } x2 -=0.8; if (x2 < -150) { x2 = 100; }

//when mouse Pressed, balls appear
if(mousePressed == true){
    for ( int i = 0 ; i < ballCount ; i++){

         //makes the balls move faster when mouse is dragged over them
      for (int x = 100; x < width ; x += 100) {
float mx = mouseY /30 ;

float offsetA = random(-mx, mx); float offsetB = random(-mx, mx); strokeCap(ELLIPSE); fill(i*255/ballCount); ellipse(xpos[i], ypos[i], wdth[i], ht[i]);

        //calling to array list to change speed of balls
        xpos[i]+=xspeed[i];
        ypos[i]+=yspeed[i];

        //detects ball collision with sketch window edges
        //accounting for ball thickness.

        if (xpos[i]+wdth[i]/2>=width || xpos[i]<=wdth[i]/2){
            xspeed[i]*=-1;
        }

        if (ypos[i]+ht[i]/2>=height || ypos[i]<=ht[i]/2){
            yspeed[i]*=-1;

          //Sound
 void mousePressed(){
player1.play();

player2.play(); }

void mouseReleased(){
player1.close();
 player2.close();

//since close closes the file, we'll load it again player1 = minim.loadFile("calmsound.wav"); player2 = minim.loadFile("studentunion.wav"); } } } } } }

I don't have OpenGL installed.

$
0
0

Screen Shot 2016-12-08 at 7.19.48 PM

Don't ask me why you don't have opengl, I have no idea.

Where do I download the OpenGL library for processing?

Thank you.

About basic toxiclibes spring system

$
0
0

Hi,

Here is a code i have written by learning Nature of code. bugs turn up as i try to modify a Spring system to be interactive. I try to use distance function to detect if the mouse click knots( any one in them) then drag it away. But the fact is once we run the code there are few of knots can be dragged away and if change is too dynamic the knots will overlap with each other causing some wired situation.In the image, huge bobbles are for the ease of checking if the mouse pressed inside one of them.(few of them are working)

is there any one can help to to fix it ? Thanks.

https://github.com/Zivcheung/processing questions/blob/master/question%20about%20basic%20toxiclibes%20spring%20system

or

https://github.com/Zivcheung/processing-questions2016-12-08 17_45_21-spring_cloth

How to change permission in terminal I cannot use VideoExport Library.

$
0
0

Hi guys,

I have a problem trying to use any of the code from the library of Video Export that they get the same error.

Even with the code from the website itself here > http://funprogramming.org/VideoExport-for-Processing/#examples ,

I also get error with permission thing.

say:

java.io.IOException: Cannot run program "/Users/Tuang/Desktop/DMA_WORKS/Work1_Facial Muscles/Cam_Rec/sketch_161027a/sketch_161027a.pde": error=13, Permission denied
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    at com.hamoid.VideoExport.startFfmpeg(Unknown Source)
    at com.hamoid.VideoExport.initialize(Unknown Source)
    at com.hamoid.VideoExport.saveFrame(Unknown Source)
    at sketch_161027b.draw(sketch_161027b.java:51)
    at processing.core.PApplet.handleDraw(PApplet.java:2412)
    at processing.awt.PSurfaceAWT$12.callDraw(PSurfaceAWT.java:1540)
    at processing.core.PSurfaceNone$AnimationThread.run(PSurfaceNone.java:316)
Caused by: java.io.IOException: error=13, Permission denied
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
    at java.lang.ProcessImpl.start(ProcessImpl.java:134)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    ... 7 more
VideoExport error: Ffmpeg failed. Study /var/folders/nq/xsfvm25d249181txfc2_c39c0000gn/T/untitled6197566133901091867sketches/sketch_161027b/camera.mp4.txt for more details.
Could not run the sketch (Target VM failed to initialize).
For more information, read revisions.txt and Help → Troubleshooting.

So I google

1) how to change permission -> which I found that my Mac cannot find the file it said there is no such file.

2) how to find a file in Mac with terminal -> later I found that it is about the space bar in a folder name, so I changed it.

Then, I was able to find a file and I guess I've already changed the permission with chmod 777, since I typed it in and has no error with finding the file thing. However, back to the Processing the same error still there.

3) Do I have FFmpeg ->Terminal said, it cann't find it so I download two versions and installed one but didn't work so try installed another, still didn't work.

Now.. I don't know what to do. Please help! The error still here.


toxiclibs vs. generativedesign: compare/contrast?

$
0
0

I have done several small-scale animations (e.g. force-directed graph, Abelian sandpile) using my own simple classes. Browsing the Processing contributed libraries, I discovered two libraries which appear to support a variety of physics-based and math-friendly classes on which I might base my next hobby projects.

I would appreciate a few top-level comments on the usefulness of the toxiclibs and generativedesign libraries. Important to me also is available documentation, demos and discussions. For example, if the libs were about equally useful (for whatever purpose) I would be tempted to buy the Generative Design book to benefit from the authors' descriptive discussions. Thanks...

ControlP5 : Pressing a button shows another frame.

$
0
0

Any idea how does it work? I know the concept of creating a button by this library. What I do not know is the syntax to create a new frame that has another program. Let's say if I press a button, this button will actually display a new frame that has a program in it. I hope you all understand. Thanks and have a good day.

Using a ControlP5 slider as video progress bar

$
0
0

Hi. I'm doing this videoplayer but I need to see the progress of the video and be able to change it or make jumps clicking on it. I tried to update the internal value of the slider in an external function but the script got in a loop. It's possible to make this with a P5 slider?

G4P - GDropList NPE

$
0
0

Hello, this seems stupid, but when i try to create a new GDropList i get a NPE and i dont have a clue why.

I'm using processing 3.2.1 + G4P 4.2.

import g4p_controls.*;

GDropList ls;

void setup() { size(500, 500); ls = new GDropList(this, 10 ,10, 100, 100); }

stack trace:

java.lang.NullPointerException at g4p_controls.GDropList.updateBuffer(Unknown Source) at g4p_controls.GDropList.draw(Unknown Source) at g4p_controls.GWindowImpl.draw(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at processing.core.PApplet$RegisteredMethods.handle(PApplet.java:1402) at processing.core.PApplet$RegisteredMethods.handle(PApplet.java:1395) at processing.core.PApplet.handleMethods(PApplet.java:1589) at processing.core.PApplet.handleDraw(PApplet.java:2425) at processing.awt.PSurfaceAWT$12.callDraw(PSurfaceAWT.java:1540) at processing.core.PSurfaceNone$AnimationThread.run(PSurfaceNone.java:316)

Processing.sound looping SoundFile

$
0
0

I want to loop a SounFile so that it starts over once the SoundFile plays. What am I doing wrong?

void mouseReleased() {
 if (mouseX > 25 && mouseX < 75 && mouseY > 25 && mouseY < 75) {
     if (value1 == 0)
      Sewer.loop();
    else
    Sewer.stop();
  }
}

I've also tried different variations like

void mouseReleased() {
 if (mouseX > 25 && mouseX < 75 && mouseY > 25 && mouseY < 75) {
     if (value1 == 0)
loop();
      Sewer.play();
    else
    Sewer.stop();
  }
}

How accurate are the time functions in processing?

$
0
0

I'm working on a sequencer, to use as a midi controller or OSC controller I'd like to my sketch to be able to generate its own sync source.

So my question is, should I use the draw() function and try to set fps in setup() or do I use a function like millis()

or should I use a library? seems like overkill for a glorified timer.. I just don't want any of my code to interfere with the timing..

How can I create a chat server that allows multiple clients to connect?

$
0
0

I'm a graphic design student and I need to create a chat just like Facebook's that lets you know who is online and chat with them. I've looked trough the Net library on the Processing website but can't seem to find what I'm looking for. Would gladly appreciate some help. Thank you


minim: 1st clip doesn't play on 1st play()

$
0
0

In my simple picture dictionary code cited below, I add the last line in setup() [line 29], i.e. preload the 1st sound clip, or else it doesn't play on 1st instance of play().

I guess this is not the best solution. Any advice?

import ddf.minim.spi.*;
import ddf.minim.signals.*;
import ddf.minim.*;
import ddf.minim.analysis.*;
import ddf.minim.ugens.*;
import ddf.minim.effects.*;
Minim minim;
AudioPlayer player;

PImage image, imageSprite;
int sX, sY, eX, eY ;
XML fruitList ;
XML[] fruits ;
int click;
String name, thisPage, startMessage;

void setup() {
  size(600, 400) ;
  minim = new Minim(this);
  click = 0 ;
  name ="";
  thisPage = "";

  image = loadImage("fruits.jpg") ;
  fruitList = loadXML("fruitList.xml") ;
  fruits = fruitList.getChildren("fruit") ;
  startMessage = "In this lesson, you will learn " + fruits.length + " words.\nLeft-click to start & go next. \nRight-click to go back." ;

  player = minim.loadFile("0.mp3", 2048); // to preload the initial sound clip
}

void draw() {
  if (click == 0) {
    background(255) ;
    textSize(20);
    fill(0);
    text(startMessage, width/2 - textWidth(startMessage)/2, height/2 - 40);
  } else {
    background(255) ;
    name = fruits[click-1].getChild("name").getContent();
    fill(0);
    textSize(40);
    text(name, width/2 - textWidth(name)/2, 60);


    sX = int(fruits[click-1].getChild("get/sX").getContent());
    sY = int(fruits[click-1].getChild("get/sY").getContent());
    eX = int(fruits[click-1].getChild("get/eX").getContent());
    eY = int(fruits[click-1].getChild("get/eY").getContent());
    imageSprite = image.get(sX, sY, eX - sX, eY - sY);
    image(imageSprite, width/2 - imageSprite.width/2, height/2 - imageSprite.height/2) ;

    thisPage = click + "/" + fruits.length ;
    fill(127);
    textSize(20);
    text(thisPage, width - textWidth(thisPage), height -25);
  }
}

void mouseClicked () {
  if (mouseButton == LEFT) {
    click++ ;
  } else if (mouseButton == RIGHT) {
    click-- ;
  }
  click = constrain(click, 1, fruits.length);

  player = minim.loadFile(click-1 + ".mp3", 2048); // 1024, 2048
  player.setGain(-20);
  player.play();
}

Having issues using G4P with Peasycam

$
0
0

When I add G4P GWindow to a sketch that uses Peasycam I can no longer control camera with mouse. The example "G4P with Peasycam" also does not work on my Macbook. In my app I simply create a GWindow and a draw handler. Any suggestions are appreciated.

how to change color button and print the button's label

$
0
0

i have a problem with my codes, i just the button once, but i t print like 3 or more character at the same time. how can i click once and print one character?

import controlP5.*;
ControlP5 cp5;
Println console;
color currentcolor;
RectButton rect1, rect2;
boolean locked = false;
Textarea myTextarea;
int label = 1;

void setup() {
  //set up window
  size(1100, 670);
  color baseColor = color(102, 102, 102);
  currentcolor = baseColor;

  int x = 30;
  int y = 500;
  int size = 50;
  color buttoncolor = color(153, 102, 102);
  color highlight = color(102, 51, 51);
  String label = "A";
  rect1 = new RectButton(x, y, size, buttoncolor, highlight, label);
  // Define and create rectangle button #2
  x = 90;
  y = 500;
  size = 50;
  buttoncolor = color(153, 153, 153);
  highlight = color(102, 102, 102);
 label = "B";
  rect2 = new RectButton(x, y, size, buttoncolor, highlight, label);

  cp5 = new ControlP5(this);
  cp5.enableShortcuts();
  //frameRate(1);
  myTextarea = cp5.addTextarea("txt")
                  .setPosition(50, 50)
                  .setSize(300, 200)
                  .setFont(createFont("", 12))
                  .setLineHeight(12)
                  .setColor(color(255))
                 .setColorBackground(color(000, 145))
                  .setColorForeground(color(255, 111));
   console = cp5.addConsole(myTextarea);
}
void draw() {
  background(currentcolor);
  stroke(255);
  update(mouseX, mouseY);
  rect1.display();
  rect2.display();
}
void update(int x, int y) {
  if(locked == false) {
    rect1.update();
    rect2.update();
  } else {
    locked = false;
  }

  if(mousePressed) {
    if(rect1.pressed()) {            //ON button
      currentcolor = rect1.basecolor;
      print("H");
    } else if(rect2.pressed()) {    //OFF button
      currentcolor = rect2.basecolor;
      //print("L");
    }
  }
}
class Button {
  int x, y;
  int size;
  color basecolor, highlightcolor;
  color currentcolor;
  boolean over = false;
  boolean pressed = false;
  String label = "A";
  void update()
  {
    if(over()) {
      currentcolor = highlightcolor;
    } else {
      currentcolor = basecolor;
    }
  }
  boolean pressed()
  {
    if(over) {
      locked = true;
      return true;
    } else {
      locked = false;
      return false;
    }
  }
  boolean over()
  {
    return true;
  }
  void display()
  {
  }
}
class RectButton extends Button {
  RectButton(int ix, int iy, int isize, color icolor, color ihighlight, String ilabel)
  {
    x = ix;
    y = iy;
    size = isize;
    basecolor = icolor;
    highlightcolor = ihighlight;
    currentcolor = basecolor;
    label = ilabel;
  }
  boolean over()
  {
    if( overRect(x, y, size, size) ) {
      over = true;
      return true;
    } else {
      over = false;
      return false;
    }
  }
  void display()
  {
    stroke(255);
    fill(currentcolor);
    rect(x, y, size, size);
  }
}
boolean overRect(int x, int y, int width, int height) {
  if (mouseX >= x && mouseX <= x+width &&
      mouseY >= y && mouseY <= y+height) {
    return true;
  } else {
    return false;
  }
}

Program is lagging

$
0
0

Hi, I'm having a tough time figuring out why my program is lagging and was wondering if anyone could help. Thank you!! :-)

import processing.video.*;

int d = 40;
float xo;
float yo;
float zoom = 1;
float angle = 0;
int borderStroke = 50;
float counter;
PImage img;
PFont font;
float[] posx;
float[] velx;
float[] massx;
char[] letter = new char[]{'M','A','G','A','Z', 'I', 'N', 'E'};
int xPos=200;
int xDir=10;
PImage click;
PImage collage2;
PImage collage3;
PImage collage4;
PImage collage5;
PImage border2;
PImage sign;
PImage sign2;
PImage sign3;
Movie myMovie[];
float t0;
float t;
int index = 0;

void setup () {
  size (2000, 1000);
  xo = width/2;
  yo = height/2;
  smooth();
  noStroke();
  fill(206, 10, 10);
  img=loadImage("cherries.gif");
  font = loadFont("Baskerville-BoldItalic-48.vlw");
  textFont(font, 248 );


  posx = new float[] {0,0,0,0,0,0,0,0};
  velx = new float[] {0,0,0,0,0,0,0,0};
  massx = new float[] {random(10)+1,random(10)+1,random(10)+1,random(10)+1,random(10)+1,random(10)+1,random(10)+1,random(10)+1};

   myMovie = new Movie[4];

myMovie[0]  = new Movie(this, "Paula.mp4");
myMovie[1]  = new Movie(this, "brit.mp4");
myMovie[2]  = new Movie(this, "linds.mp4");
myMovie[3]  = new Movie(this, "MJ.mp4");


  myMovie[0].pause();
  myMovie[1].pause();
  myMovie[2].pause();
  myMovie[3].pause();
}

void draw() {
  for(int i =0; i < 8; i++) {
    if ( posx[i] + velx[i] > 300 ) {
      posx[i] = 300;
      velx[i] = -velx[i] * 0.5;
    } else {
      posx[i] += velx[i];
    }
     velx[i] += 10 / massx[i];
  }

 background(255,182,193);
 translate (xo, yo);
 scale (zoom);
 rotate (angle);

 border2 = loadImage("border2.png");
 image(border2, -1000, -500);
 image(border2, 1000, -500);
 image(border2, -3000, -500);
 image(border2, -1000, -1500);
 image(border2, 1000, -1500);
 image(border2, -3000, -1500);
 image(border2, -1000, 500);
 image(border2, 1000, 500);
 image(border2, -3000, 500);

click = loadImage("clickpage.jpg");
image(click, xPos, 325, 300, 100);


collage2 = loadImage("collage2.png");
collage2.resize(1900, 900);
image(collage2, 1060, 550);
sign = loadImage("sign.png");
image(sign, 2180, -230);


collage3 = loadImage("collage3.png");
collage3.resize(1900, 900);
image(collage3, -953, 550);


collage4  = loadImage("collage4.png");
collage4.resize(1900,900);
image(collage4, 1055, -460);
sign2 = loadImage("sign2.png");
image(sign2, 350, 770);

collage5 = loadImage("linds.png");
image(collage5, -2948, -450);
sign3 = loadImage("sign3.png");
image(sign3, -2250, -430);


  xPos=xPos+xDir;
  if (xPos>400 || xPos<-850)
  {
    xDir=-xDir;
  }

   if (myMovie[index].available() ) {
    myMovie[index].read();
  }

  image(myMovie[0], 1760, -25, 510, 398);
  image(myMovie[1], -270, 990, 580, 460);
  image(myMovie[2], -2270, -50, 520, 410);
 // image(myMovie[3],


  if (t > myMovie[index].duration() + t0) {
    println("finished! "+index);
  }

  t  = millis()/1000;

PImage cheetah = loadImage("cheetah.jpg");
  cheetah.resize(1800, 600);
  image(cheetah, -900, -300);
  image(img, 800,250);
  image(img, -950, -450);

 for( int i=0; i < 8; i++ ) {
    pushMatrix();
    float y = map( i, 0,4, -350, 500);
    translate( width/2 + y, posx[i]);
    text(letter[i], -1500, 0 );
    popMatrix();
  }
}

void movieEvent(Movie m) {
  m.read();
 }

void keyPressed() {
  if (key == CODED) {
    if (keyCode == UP) {
      zoom += .03;
    }
    else if (keyCode == DOWN) {
      zoom -= .03;
    }
    else if (keyCode == RIGHT) {
      angle += .03;
    }
    else if (keyCode == LEFT) {
      angle -= .03;
    }
  }
  if (key == 32)
  {
    angle = 0;
    zoom = 1;
    xo = width/2;
    yo = height/2;
  }

  if (key == '1') {
    myMovie[0].play();
    myMovie[1].stop();
    myMovie[2].stop();
    myMovie[3].stop();
    index = 0;
    t0 = millis()/1000;
  }

  if (key == '2') {
    myMovie[1].play();
    myMovie[0].stop();
    myMovie[2].stop();
    myMovie[3].stop();
    index = 1;
    t0 = millis()/1000;
  }
  if (key == '3') {
    myMovie[2].play();
    myMovie[0].stop();
    myMovie[1].stop();
    myMovie[3].stop();
    index = 2;
    t0 = millis()/1000;
  }

  if (key == '4') {
    myMovie[3].play();
    myMovie[0].stop();
    myMovie[1].stop();
    myMovie[2].stop();
    index = 3;
    t0 = millis()/1000;
  }

if (key == '0'){
 myMovie[0].pause();
 myMovie[1].pause();
 myMovie[2].pause();
 myMovie[3].pause();
  }

}

void mouseDragged(){
  xo= xo + (mouseX - pmouseX);
  yo = yo + (mouseY - pmouseY);
}

G4P exit app problems

$
0
0

I cannot get the app the close cleanly using GWindow.

Here is the code I use to set up the window:

void setup() { size(1200, 1050, P3D);

window = GWindow.getWindow(this, "My Window", 1201, 30, 300, 800, P3D); window.addDrawHandler(this, "windowDraw"); window.setAlwaysOnTop(true);
window.setActionOnClose(G4P.EXIT_APP);

I've tried CLOSE_WINDOW and every combination I could think of.

Either I get a Thread Death error or Processing crashes on exit no matter which window I close.

Error: java.lang.ThreadDeath at java.lang.Thread.stop(Thread.java:850) at com.jogamp.newt.opengl.GLWindow$GLLifecycleHook$1.run(GLWindow.java:724) at java.security.AccessController.doPrivileged(Native Method) at com.jogamp.newt.opengl.GLWindow$GLLifecycleHook.shutdownRenderingAction(GLWindow.java:719) at jogamp.newt.WindowImpl.shutdown(WindowImpl.java:635) at jogamp.newt.WindowImpl.shutdownAll(WindowImpl.java:123) at jogamp.newt.DisplayImpl$1.run(DisplayImpl.java:74) at com.jogamp.nativewindow.NativeWindowFactory.shutdown(NativeWindowFactory.java:274) at com.jogamp.nativewindow.NativeWindowFactory$2$1.run(NativeWindowFactory.java:192) at java.lang.Thread.run(Thread.java:745)

Viewing all 2896 articles
Browse latest View live