heronarts / lxstudio Goto Github PK
View Code? Open in Web Editor NEWLXStudio Digital Lighting Workstation
Home Page: http://lx.studio
License: Other
LXStudio Digital Lighting Workstation
Home Page: http://lx.studio
License: Other
Hi there, I'm trying to compile the LXStudio-IDE to put over onto a RaspberryPi but I'm getting the following error on terminal when launching.
[LX 2021/11/10 23:19:18] Initializing LX version 0.2.1
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.jogamp.common.os.NativeLibrary$3 (file:/home/pi/Desktop/LXStudio-IDE.jar) to method java.lang.ClassLoader.findLibrary(java.lang.String)
WARNING: Please consider reporting this to the maintainers of com.jogamp.common.os.NativeLibrary$3
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[LX 2021/11/10 23:19:26] Project loaded successfully from /home/pi/Projects/TESTPROJECT.lxp
handleDraw() called before finishing
com.jogamp.opengl.GLException: Caught ThreadDeath: null on thread main-FPSAWTAnimator#00-Timer0
at com.jogamp.opengl.GLException.newGLException(GLException.java:76)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1327)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:759)
at jogamp.opengl.GLAutoDrawableBase.defaultWindowResizedOp(GLAutoDrawableBase.java:260)
at com.jogamp.newt.opengl.GLWindow.access$200(GLWindow.java:119)
at com.jogamp.newt.opengl.GLWindow$2.windowResized(GLWindow.java:141)
at jogamp.newt.WindowImpl.consumeWindowEvent(WindowImpl.java:4383)
at jogamp.newt.WindowImpl.sendWindowEvent(WindowImpl.java:4317)
at jogamp.newt.WindowImpl.sizeChanged(WindowImpl.java:4520)
at jogamp.newt.driver.bcm.vc.iv.WindowDriver.reconfigure0(Native Method)
at jogamp.newt.driver.bcm.vc.iv.WindowDriver.reconfigureWindowImpl(WindowDriver.java:268)
at jogamp.newt.WindowImpl$SetSizeAction.run(WindowImpl.java:1368)
at jogamp.newt.WindowImpl.runOnEDTIfAvail(WindowImpl.java:2780)
at jogamp.newt.WindowImpl.setSize(WindowImpl.java:1394)
at com.jogamp.newt.opengl.GLWindow.setSize(GLWindow.java:588)
at processing.opengl.PSurfaceJOGL.setSize(PSurfaceJOGL.java:770)
at heronarts.p3lx.ui.UI.pre(UI.java:832)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at processing.core.PApplet$RegisteredMethods.handle(PApplet.java:1436)
at processing.core.PApplet$RegisteredMethods.handle(PApplet.java:1429)
at processing.core.PApplet.handleMethods(PApplet.java:1628)
at processing.core.PApplet.handleDraw(PApplet.java:2473)
at processing.opengl.PSurfaceJOGL$DrawListener.display(PSurfaceJOGL.java:866)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:443)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:759)
at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81)
at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:452)
at com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:178)
at java.base/java.util.TimerThread.mainLoop(Timer.java:556)
at java.base/java.util.TimerThread.run(Timer.java:506)
Caused by: java.lang.ThreadDeath
at java.base/java.lang.Thread.stop(Thread.java:937)
at com.jogamp.newt.opengl.GLWindow$GLLifecycleHook$1.run(GLWindow.java:724)
at java.base/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.base/java.lang.Thread.run(Thread.java:829)
EGLDisplayUtil.EGLDisplays: Shutdown (open: 1)
EGLDisplayUtil: Open EGL Display Connections: 1
EGLDisplayUtil: Open[0]: 0x1: EGLDisplayRef[0x1: refCnt 2]
I'm using the LXStudioAPP class and have tried a fresh Pi install (with default-jdk installed) and with my own, an empty and the example LXP. I get the error both with a screen attached, where lines appear over the UI, and on VNC which gives just a black screen. Although it appears to open the project file, it doesn't output any data via artnet (checked the project file and all looks ok)
Also when running just over Putty/SSH with no screen attached I get the below;
[LX 2021/11/10 23:26:39] Initializing LX version 0.2.1
Cannot run sketch without a display. Read this for possible solutions:
https://github.com/processing/processing/wiki/Running-without-a-Display
I just wanted to make sure I've not missed anything obvious or stumbling onto a known problem before digging deeper.
Thanks!
I'm attempting to follow the Custom JSON Fixtures tutorial. When Ioad that example json into lxstudio, the following errors show up:
Would it be possible to update that example with the correct schema for the current version of LXStudio?
From a clean clone. Have tried Ubuntu and Mac OS X
Runs fine on both platforms on checkout of tag 0.4.1
Very excited to see LX Studio posted! Thanks for publishing this project; I'm excited to use it to control a large-scale art project I'm planning for Burning Man.
I have a few basic questions:
Is the source code for the LX Studio itself posted anywhere? I see the .jar file, but I'm trying to figure out how the IDE itself works -- there are some mysteries I haven't figured out yet -- but can't find that code anywhere.
I'm trying to set up an LED strip connected via Art-Net to test everything out. I have it working, but my strip is GRB color order and the default seems to be RGB so the colors aren't coming out right. I have created a custom strip file, and put it in the "Fixtures" folder, but I'm not seeing it show up in the UI anywhere. Here is my file, and here is what I'm seeing:
{
"label": "Custom strip",
"strips": [
{
"x": 0, "y": 0, "z": 0, "numPoints": 165, "spacing": 10,
"direction": { "x": 1, "y": 0, "z": 0 }
},
{
"x": 1650, "y": 0, "z": 0, "numPoints": 81, "spacing": 10,
"direction": { "x": 0, "y": 1, "z": 0 }
},
{
"x": 1650, "y": 810, "z": 0, "numPoints": 165, "spacing": 10,
"direction": { "x": -1, "y": 0, "z": 0 }
},
{
"x": 0, "y": 810, "z": 0, "numPoints": 81, "spacing": 10,
"direction": { "x": 0, "y": -1, "z": 0 }
}
],
"outputs": [
{
"protocol": "artnet",
"host": "192.168.0.60",
"universe": 0,
"byteOrder":"grb",
"start": 0, "num": 170
},
{
"protocol": "artnet",
"host": "192.168.0.60",
"universe": 1,
"byteOrder":"grb",
"start": 171, "num": 170
},
{
"protocol": "artnet",
"host": "192.168.0.60",
"universe": 2,
"byteOrder":"grb",
"start": 341, "num": 170
},
{
"protocol": "artnet",
"host": "192.168.0.60",
"universe": 3,
"byteOrder":"grb",
"start": 511, "num": 170
}
]
}
Should I be seeing my new fixture in that list? Is there something else I should be doing to add it to my scene?
Thanks for help with these!
This just started happening today. No UI visible at runtime. Wonder if any others have seen this behavior?
May just be an intellij configuration thing...
My output at runtime:
[LX 2022/10/31 21:45:35] Initializing LXStudio version 0.4.1 with LX version 0.4.1
[LX 2022/10/31 21:45:36] Project loaded successfully from /Users/mswhiskers/007/ethfs/01__SRC/LX/LXStudio-IDE/Projects/Example.lxp
[LX 2022/10/31 21:45:37] LXEngine.ExecutorService starting...
It would be great to be able to use VSCode when developing against the IDE. For example VSCode has an amazing plugin ecosystem, including github copilot.
Is it possible to build/run the project entirely form the command line, and if so, are there any instructions on how to do that?
Lest anyone else run into this issue, running LXStudioIDE (at least in non-headless mode) on a Raspberry Pi running Rasbian and temurin-17-jdk crashes with a segmentation fault while compiling something in the processing libraries.
The fix is to run the non-default 64-bit build of Rasbian on the Pi, and use the linux-aarch64 rather than linux-arm native processing libraries (set the native symlink in processing-4.0b8 appropriately).
Not sure if this happens in headless mode, though I'd guess perhaps not since the processing libraries aren't loaded.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.