Syphon / Processing

Syphon Implementation for Processing
Other
137 stars 33 forks source link

Exported application with Syphon server doesn't work in Processing 3.0b3 on Mac OS X 10.10.5? #24

Closed tracycollins closed 9 years ago

tracycollins commented 9 years ago

The exported app crashes in the first or second time thru the draw(), I think.

import codeanticode.syphon.*; PGraphics canvas; SyphonServer server;

void settings() { size(640, 240, P2D); }

void setup() { canvas = (PGraphics) createGraphics(640, 240, P2D); server = new SyphonServer(this, "Processing Syphon"); }

void draw() { canvas.beginDraw(); canvas.background(frameCount%255);

surface.setTitle("FRAME " + frameCount

I don't know how to debug this to offer more info. It works when I run the app in the Processing IDE.

Any help is greatly appreciated!

Thanks

vade commented 9 years ago

You need to ensure the Syphon framework is included in your apps Framework folder in the app bundle.

Can you post the crashlog?

tracycollins commented 9 years ago

I'm a newbie, so I'm don't know where to check for the Framework folder. Where should it be?

I looked in syphonTest/application.macosx/syphonTest.app/Contents (syphonTest is the name of Processing app), but didn't find a Framework folder.

Thanks for the help!

tracycollins commented 9 years ago

Also, using the Mac OS Console app, the only message I could find related to Syphon are:

8/21/15 12:41:02.856 PM java[3845]: SYPHON DEBUG: SyphonServerConnectionManager: Start Connection 8/21/15 12:41:02.857 PM java[3845]: SYPHON DEBUG: SyphonServerConnectionManager: Created connection with UUID: info.v002.Syphon.C58B9596-1A87-49DB-B161-7C3639155F88 8/21/15 12:41:04.724 PM java[3845]: SYPHON DEBUG: SyphonServer: Retiring a server at code unload time because it was not properly stopped

vade commented 9 years ago

Oh, well it looks like its properly linking to Syphon if your app is running calls to Syphon Server in the log. If your app crashes, you should get the pop up dialog that says "App X Crashed, send report to Apple", and there is a 'Details" disclosure triangle that unfolds to show the crash log.

Paste that here.

tracycollins commented 9 years ago

Never see the "App X Crashed, send report to Apple" pop-up dialog.

So, I guess my app isn't crashing, but it definitely stops running. Not sure where/why it's hanging, but it's clearly not getting thru more than one pass of the draw() loop.

Also, looks like I was wrong about the SYPHON DEBUG messages above. They are NOT generated when trying to run the exported app, and are generated when running the app in the Processing IDE. So, maybe the Framework isn't included? Where would I find it?

Any other ideas?

Thanks

vade commented 9 years ago

Then go to the folder you mentioned above, add a Frameworks folder, and move the Syphon.framework into there.

tracycollins commented 9 years ago

Tried adding the Syphon.framework to a Framework (as well as a Frameworks) folder. Still the same problem.

vade commented 9 years ago

I don't really use processing, check the v002.info forum and processing.org, I know folks have it working. Maybe 3.0 broke some stuff?

tracycollins commented 9 years ago

OK. Thanks for your help!

vade commented 9 years ago

Sorry I cant be more help with specifics!

hype commented 9 years ago

@tracycollins @vade @codeanticode

open examples/SendScreen in processing 2.2.1 using Syphon from the IDE and if you build an application - it runs fine

in processing 3.0b4 using Syphon from the IDE - it runs fine if you build the application from 3.0b4 - it FAILS

if you "Show Package Contents" on SendScreen.app and navigate to /Contents/MacOS/SendScreen and run the app from there

here's what outputs in terminal for 2.2.1

/Users/joshuadavis/Documents/Processing/libraries/Syphon/examples/SendScreen/application.macosx/SendScreen.app/Contents/MacOS/SendScreen ; exit;
Joshuas-iMac:~ joshuadavis$ /Users/joshuadavis/Documents/Processing/libraries/Syphon/examples/SendScreen/application.macosx/SendScreen.app/Contents/MacOS/SendScreen ; exit;
Syphon 1.0-RC3 by Andres Colubri http://interfaze.info/
2015-08-21 15:59:19.994 SendScreen[7009:707352] SYPHON DEBUG: SyphonServerConnectionManager: Start Connection
2015-08-21 15:59:19.995 SendScreen[7009:707352] SYPHON DEBUG: SyphonServerConnectionManager: Created connection with UUID: info.v002.Syphon.BEC6F920-E4D7-4B5C-AFF0-E9FD5E90955E
2015-08-21 15:59:22.874 SendScreen[7009:707308] SYPHON DEBUG: SyphonServer: Retiring a server at code unload time because it was not properly stopped
logout

here's what outputs in terminal for 3.0b4

Joshuas-iMac:~ joshuadavis$ /Users/joshuadavis/Documents/Processing_3/libraries/Syphon/examples/SendScreen/application.macosx/SendScreen.app/Contents/MacOS/SendScreen ; exit;
Syphon 1.0-RC3 by Andres Colubri http://interfaze.info/
Exception in thread "Thread-2" java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: no JSyphon in java.library.path
    at processing.opengl.PSurfaceJOGL$2.run(PSurfaceJOGL.java:370)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.UnsatisfiedLinkError: no JSyphon in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1865)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
    at jsyphon.JSyphonServer.<clinit>(Unknown Source)
    at codeanticode.syphon.SyphonServer.sendImage(Unknown Source)
    at codeanticode.syphon.SyphonServer.sendScreen(Unknown Source)
    at SendScreen.draw(SendScreen.java:37)
    at processing.core.PApplet.handleDraw(PApplet.java:2396)
    at processing.opengl.PSurfaceJOGL$DrawListener.display(PSurfaceJOGL.java:654)
    at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:691)
    at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:673)
    at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:442)
    at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1277)
    at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1131)
    at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:680)
    at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:77)
    at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:451)
    at com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:178)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)
logout
vade commented 9 years ago

Seems like it isn't finding the Syphon library. Did Processing app export change paths locations?

vade commented 9 years ago

Whats the Java path?

Caused by: java.lang.UnsatisfiedLinkError: no JSyphon in java.library.path

codeanticode commented 9 years ago

hey guys, last time I tested the Syphon library with processing 3.0, was an earlier alpha and it worked well. Something in the library loading mechanism might have changed in the betas, need to take a look.

@vade java.library.path is the path (or list of paths) that Java uses to load native libs.

vade commented 9 years ago

@codeanticode ehehe, I meant what is it and is JSyphon in that directory? It would be good to have a FAQ up somewhere on what needs to happen for exported Processing apps to work with Syphon.

Thanks everyone for the input!

tracycollins commented 9 years ago

thanks, all. happy (sad?) to know that it's not something i'm doing wrong.

codeanticode commented 9 years ago

Lots of changes happened in the 3.0 development process, many of which affect contributed libraries. So, this was expected to happen, and will try to fix it asap.

hype commented 9 years ago

@codeanticode Andres... the updates to mesh/lighting smoothness + Syphon/mapping for live stage visuals... can't thank you enough for taking the time to get this sorted.

knupel commented 9 years ago

Just picture of the bug for souvenir ! capture d ecran 2015-08-27 a 17 17 48 :)

veriKami commented 9 years ago

@StanLepunK ;-) as I watched my screen... sending... BUT editor screen

screen shot 2015-08-29 at 5 07 03 pm

codeanticode commented 9 years ago

Fixed in Processing core with https://github.com/processing/processing/commit/881366f59989b994f49e318c971e1132b214735c. 3.0b6 will incorporate the fix, and I will release a new package of the Syphon library to go along with it.

hype commented 9 years ago

@codeanticode awesome... thank you fine sir.

knupel commented 9 years ago

Yeahhhh thx @codeanticode

tracycollins commented 9 years ago

thanks!

zephirl commented 3 years ago

For anyone still having a similar problem on newer versions of Mac OS, I recommend this thread which solved my problem: https://github.com/processing/processing/issues/5676#issuecomment-600431170

(Exported applications crash with Syphon because of a problem with P3D and jogl required for Syphon)