Syphon / Processing

Syphon Implementation for Processing
Other
137 stars 33 forks source link

sendScreen() method doesn't work #23

Closed knupel closed 9 years ago

knupel commented 9 years ago

The code bellow work on Processing 3.0a5 but not on Processing 3.0a10. I know this code is not the official example, but it's very easy to use, so maybe there is something to do in Syphon Library ? That be awesome :)

import codeanticode.syphon.*;
SyphonServer server;

void setup() {
  size(500, 500, P3D);
  server = new SyphonServer(this, "#PParis15");
}

void draw() {
  background(255 *abs(sin(frameCount *.01))) ;
  server.sendScreen();
}
knupel commented 9 years ago

Before I used this solution, now it's broken, but maybe there is something to do around that http://forum.processing.org/two/discussion/888/a-little-simplicity-with-syphon

class Syphon {
  SyphonServer server;
  PApplet p;
  Syphon(PApplet p, String name){
    this.p = p;
    server = new SyphonServer(p, name);
  }
  void send(){
     send(p.g);
  }
  void send(PGraphics g){
     server.sendImage(g);
  } 
}
surmvoise commented 8 years ago

I also experience an issue with server.sendScreen(). I only receive a glitched image of the OS UI I run Processing 3.0.1 on a Mac with syphon library 2.0-RC2. Any fixes or workarounds?

bildschirmfoto 2016-02-04 um 00 07 10
vade commented 8 years ago

are you certain you are running processing in legacy OpenGL 21 renderer, and not 3.x/4.x core profile?

surmvoise commented 8 years ago

I'm not shure about that. Those terms don't mean much to me... :/ sorry. Do you mean like this? void setup() { size(600, 600, OPENGL); } Or what else do I have to do to get this fixed?

I also get this error message:

2016-02-04 00:29:11.571 java[17964:2031432] SYPHON DEBUG: SyphonServerConnectionManager: Start Connection 2016-02-04 00:29:11.572 java[17964:2031432] SYPHON DEBUG: SyphonServerConnectionManager: Created connection with UUID: info.v002.Syphon.8944EA6E-9AC2-47F2-BC24-7A69C91A8636 OpenGL error 1282 at top endDraw(): invalid operation

knupel commented 8 years ago

I'm not sure for your problem, but if you use Processing 3.0.1 you must use the last Syphon librarie and check the example. Now you must implement syphon in void settings to change the renderings JOGL or something like that :)

import codeanticode.syphon.*;

SyphonServer server;

void settings() {
  size(400,400, P3D);
  PJOGL.profile=1;
}

void setup() {
  // Create syhpon server to send frames out.
  server = new SyphonServer(this, "Processing Syphon");
}

void draw() {
  background(127);
  lights();
  translate(width/2, height/2);
  rotateX(frameCount * 0.01);
  rotateY(frameCount * 0.01);  
  box(150);
  server.sendScreen();
}
surmvoise commented 8 years ago

Thanks so much, @StanLepunK ! I somehow didn't realize that the void settings() is something different from void setup(). Now I it sends the image correctly. But anyway, what is this code line for? PJOGL.profile=1;

knupel commented 8 years ago

You're welcome. This line I think is to change the profil of Processing rendering but not sure.