GithubHelp home page GithubHelp logo

benfry / processing4 Goto Github PK

View Code? Open in Web Editor NEW
1.3K 1.3K 239.0 149.53 MB

Processing 4.x releases for Java 17

Home Page: https://processing.org

License: Other

Java 95.24% Processing 1.67% Shell 0.21% HTML 0.52% Objective-C 0.75% Python 0.08% CSS 0.01% Batchfile 0.01% GLSL 0.81% Makefile 0.03% C 0.20% C++ 0.04% ANTLR 0.42%

processing4's People

Contributors

aengelke avatar akarshit avatar amnonowed avatar anadroid avatar benfry avatar codeanticode avatar crazymaster avatar efratror avatar federicobond avatar fjenett avatar galsasson avatar gkfx avatar gohai avatar jakubvaltar avatar joelmoniz avatar kfeuz avatar lonnen avatar manindra29 avatar mckennapsean avatar peskal avatar pvrs12 avatar reas avatar sampottinger avatar sansumbrella avatar scollovati avatar scotthmurray avatar shiffman avatar tyfkda avatar wirsing avatar ybakos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

processing4's Issues

Language Server for VS Code and others

Description

I'm wondering if there has been any work to create a Language Server for Processing yet. It would be very useful for people who would like to use the language outside of the Processing IDE like this project for VS Code. I'm not sure if I'll have time I'd love to help try to get it started if it hasn't been before!

Switch to getModifiersEx() in PSurfaceAWT

We've not used getModifiersEx() in the past, because it (traditionally) has caused problems with some modifiers not being set properly. But now that it's deprecated, we need to make the switch and do a bunch of testing to make sure it's behaving the same way.

The fix is super easy. The debugging/testing is a bit time-consuming.

beginContour() and endContour doesnt work on shape

PShape s;
s = createShape();
translate(50, 50);
s.beginShape();

s.vertex(-40, -40);
s.vertex(40, -40);
s.vertex(40, 40);
s.vertex(-40, 40);

s.endShape(CLOSE);
s.beginShape();
s.beginContour();
s.vertex(-20, -20);
s.vertex(-20, 20);
s.vertex(20, 20);
s.vertex(20, -20);
s.endContour();

s.endShape();

shape(s);

this code came directly from the processing website (although shortened), yet it still doesnt work. https://processing.org/reference/PShape_beginContour_.html

Processing 3.3
Windows 10, 64-bit
untitled

Error during download and install of Python Mode for Processing 3

Brand new user and programmer here! Hi everyone! Tried the troubleshooting guide and looking up existing issues first - I'm so sorry if this is already resolved... I'll attempt to provide as many details below as possible. Thank you so much in advance for your time and attention!

Description

Unable to add Python mode - receiving this error message when I select (then click Install) 'Python Mode for Processing 3' by Jonathan Feinberg...

"Error during download and install of Python Mode for Processing 3."

Steps to Reproduce

1.Launch Processing
2.At the top right corner, click the "Java" button
3.Select "Add Mode" in the drop down
4.Select "Python Mode for Processing 3" & click "Install

Your Environment

  • Processing version: 3.5.3
  • Operating System and OS version: Windows 7 XP1
  • Other information: Work Laptop

Possible Causes / Solutions

This is a work laptop, I suspect the root cause may be networking.

Is there a way to manually download and install Python mode?

`surface` methods get too much use, move into the API

We've been surprised at how much frame.setResizable() and frame.setTitle() and others are being used, and we should make them into real API.

The switch from frame to surface between 2.x and 3.x was bumpier as a result.

Need to clean this up and get better behaviors for all of them:

  • setSize() is erratic across renderers
  • setResizable() can we make this a one-time operation in settings()?
  • setTitle() is often used to output the fps of an app (a terrible idea, but there we are) so needs to happen at any time (or limited to settings() to prevent that usage)

Streamlining the JDK downloader

Did some work in 1ff826b to clear out parts of the Downloader that won't be used… I'm not interested in supporting JDK 8 downloads or Oracle downloads, so that removes some complexity.

Wanted to go a little further but wanted confirmation from @sampottinger before doing so:

  • I think we can get rid of cookie support, right? That's only used by Oracle?
  • Do we need both version and train?
  • If the JRE is truly gone in 11, I'll remove all JRE support, since it seems to just alias to JDK

With all that cleared out, that code should be a lot more readable.

Allow modes to override PdeParseTreeListener in PdePreprocessor

In talking with @codeanticode, it's not clear how modes should modify preprocessor behavior, Specifically, with the patterns introduced by ANTLR 4, the parse tree listener is where the preprocessing edits are generated and some client code (like modes) may need to override some of the preprocessing edit behavior.

Use a better supported library than jEditSyntax

jEdit is now 14 years old and is not maintained/updated. It would be very helpful if the code using jEdit can be replaced with something better maintained. RSyntaxArea is an alternative but other suggetions are welcome.
This change might not get into Processing 3.x but will be very useful in future.

Clean up tmp-folders.

It'd be nice if Processing would delete unused tmp-folders. (After 1 month of use I had more than 1000 folders!)

Improved zoom on windows

Right now display scaling on Windows 10 causes poor automatic zooming through Swing. This makes the interface appear pixelated and the custom swing elements (primarily JEditTextArea) do not calculate x positions for the caret correctly. After #30, automatic swing zooming will be disabled. While this improves the experience for windows users that have display scaling enabled, this is a poor accessibility experience. I would like to re-enable automatic zoom on Windows and, ideally, extend zoom into native swing elements like the menu bar as well. However, as described in #30, we will need a new way to detect display scaling.

Sketches on Linux don't take UI scaling into account

The sizing for most of the PDE works properly as of Processing 3.3, however sketches don't re-size based on the scaling.

There's an issue open here that covers the cross-platform aspects of making this work. The Windows version of this bug is here.

This issue is only for the Linux-specific parts of the problem, i.e. how are we gonna get the current UI scaling or DPI setting from the hodgepodge of window managers used with Linux.

Remove `frame` from `PApplet`

Using frame.xxx() has been deprecated since 3.x, and it's time to remove it so that we're not dealing with AWT collisions.

Before we can remove it completely, however, we need to add a message to the PDE that catches use of frame.setTitle() and others in code, and tells users to replace it with surface.setTitle(). Better yet, offer to replace it in the code by clicking a button.

Further, these methods need to be re-thought, since they're used more than intended/expected: #53

Implement reliable getLibraryFolder() and getDocumentsFolder() methods in MacPlatform

With the removal of FileManager in JDK 9+ we no longer have a means of getting the Documents and Library folders on macOS.

For now, it's possible to use System.getProperty("user.home") and tack Library or Documents onto the end of that, however I'm guessing that it won't be possible in future OS releases, or perhaps even with a signed version of the app, due to security-related changes to how file system access works.

(Appending these folder names works now even on localized systems, since the native language shown is not what's used internally by the OS.)

“WARNING: Illegal reflective access by processing.opengl.PSurfaceJOGL” on getContextCapabilities()

This is not the same as #22, which is another WARNING: Illegal reflective access message.

Due to the workaround for processing/processing#4104, we've got a reflection hack that spews a big warning.

The hack involves getting the name of the hardware so that we can add a workaround for Intel HD Graphics 3000 devices.

Not sure if we're free to nix the hack for 4.x (though it only recently went into 3.x), or perhaps there's another way to get hardware information.

Contents of Help Menu disabled (Mac OS X)

The content of the Help menu sometimes gets disabled on Mac OS X (see screenshot below). Pressing the backspace key in the Search field also doesn't work when the menu items are disabled.

Processing Help Menu

Failled to build with Java 11

My terminal explain to me I need Java 1.8 to build this version is weird or not ?
/Users/stan/En_cours/code/github/PROCESSING_and_CO/processing4/build/build.xml:57: Unsupported Java version: 11.0.4. To build, make sure that Java 8 (aka Java 1.8) is installed.

an incompatible Mode prevents the PDE from quitting after the last window is closed

On Linux (last running version 3.3) closing the last processing window doesn't quit processing, but leaves the process running without a possibility to reach it. ctl+c in the terminal window where processing has been started from will quit it.

Possible solutions for this issue would be:

  1. End the process after the last window has been closed.
  2. Use a tabbed window instead of opening each sketch in a new environment
  3. When closing last window, ask user what to do (open blank new sketch, quit...)

cleaning up build/macosx/jdk-0u1.tgz and build/macosx/jdk-11.0.1+13/

The current build creates two files not covered by .gitignore that we should sort out.

build/macosx/jdk-0u1.tgz
build/macosx/jdk-11.0.1+13/

The first one looks like it's using and old substring() call to clean up the name of the downloaded JDK… It should be something like jdk-11.04.tgz or whatever the syntax is nowadays.

For the second, do we need this temp folder kept around? In the past we built the app and then have the JDK embedded there… second copy in the repo is another 200 MB (plus another 100MB for JavaFX).

Same goes with naming for JFX bits… Something like javafx-11.0.2.zip should work, and if we need the folder there, keeping the same name.

Stroke overlap image() in P3D

When the render is P3D, the stroke() overlap the image, that's not happen in classic renderer and in P2D. that's happen too in P 3.5.3.

Capture d’écran 2019-11-22 à 18 19 43

PGraphics pg;

void setup() {
  size(300,300,P3D); 
  pg = createGraphics(width,height,P3D);
}

void draw() {
  background(75);
  stroke(255);
  strokeWeight(2);
  fill(0);
  ellipse(mouseX,mouseY,100,100);
  
  pg.beginDraw();
  pg.noStroke();
  pg.fill(125);
  pg.beginShape();
  pg.vertex(34,45);
  pg.vertex(width/2,60);
  pg.vertex(width/2,height);
  pg.endShape(CLOSE);
  pg.endDraw();
  image(pg,0,0);
}

Add the ability to specify the settings folder so that Processing can be portable

Hi, I'm working in schools and I would to use a portable version, usable on USB stick. Also because there are securities, and as I work in different school there are different securities. On Processing3 I didn't find all the option I could find in Processing2 preferences to make quite portable (because it still write in c:\Users\AppDatat\etc

Thanks a lot for helping me.

dispose handlers not called when stop button pressed

In the following sketch, the dispose handler is called when the escape key is pressed, but not when the stop button is pressed.

dispose_bug

SampleLibrary s;
void setup() {
  size(200, 200, P3D);
  s = new SampleLibrary(this);
}

void draw() {
  background(255);
  fill(0);
  text("" + millis(), 20, 20);
}

SampleLibrary.java

import processing.core.*;

public class SampleLibrary {

  public SampleLibrary(PApplet parent) {
    parent.registerMethod("dispose", this);
  }

  public void dispose() {
    System.err.println("disposed!");
  }
}

Processing is not working with enabled system proxy since version 3.0a8

On some computers the Processing does not start.

  1. Run Processing
  2. Splash screen is shown.
  3. After one minute splash screen is closed.
  4. Processing crashed.

This error depends on some of network settings.
Testing steps:

  1. Delete folder C:%USER%\AppData\Roaming\Processing\
  2. Run Processing. Processing is running.
  3. Quit Processing.
  4. Run Processing. Processing crashed on start.
  5. Delete string "instance_server.port=..." in file "preferences.txt" in folder C:%USER%\AppData\Roaming\Processing\
  6. Run Processing. Processing is running.
  7. Quit Processing.
  8. Run Processing. Processing crashed on start.
  9. Disconnect network.
  10. Run Processing. Processing is running.
  11. Сonnect network.
  12. Run Processing. Processing crashed on start.

This problem is repeated in versions 3.0a8 to 3.0b7.
Versions 2.2.1 and 3.0a1 to 3.0a7 runs great.
It seems in version 3.0a8 you broke something.

I can repeat this problem on 5 computers. (all on Windows 7 x32)

I think you should alter the startup process. And make it less dependent on the network.
If any errors in the network, the Processing should show error message and not crash.

“Illegal reflective access by com.jogamp.common.os.NativeLibrary” when using P3D (caused by JOGL)

Filing for kll from a processing forums discussion. The following happens when using P3D:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.jogamp.common.os.NativeLibrary$3 (file:/.../core/library/gluegen-rt.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

displayDensity returning 1 on mac retina

Description

println(displayDensity()) returns 1 on a mac with retina

Expected Behavior

Exepcted 2

Current Behavior

Currently 1

Steps to Reproduce

See above

Your Environment

Mac 10.14 13 inch retina

Add support for floating point textures to OpenGL

I'm packing data in a texture (PImage) to send to a fragment shader. I'm running into the limitations of the 32bit RGBA format that seems to be the default for every texture in Processing. It's causing banding effects in my output. Switching to floating point textures will most likely solve these problems, because of the increased accuracy.

I have searched high and low (all the forums, the source code, the issue list), but I cannot find a way to use floating points textures in Processing. Is this possible? If not, I would like to post this issue as a feature request.

Editor windows always open on monitor 1 in multi-monitor setup

Original author: [email protected] (January 02, 2013 00:48:20)

Every new processing window opens on monitor 1, and processing opens a lot of new windows, so it gets pretty laborious if I'm not working on monitor 1.

Firefox, for example, opens new windows on the same monitor as the window that spawns them.

Processing 2.0b6
Windows 7 64-bit
AMD Radeon HD 5800 series

Original issue: http://code.google.com/p/processing/issues/detail?id=1528

Console font bug, cursor is off

I reported a similar issue a while ago for the text editor but I noticed it happens in the console too.

2019-11-06 09 57 22

I'm using the latest version of Samuel's website (which is from some time back, so it might been have fixed).

static imports partly broken

In 3.5.3 you could use import static.
Here I use it for Ani.init() in setup.

import de.looksgood.ani.*;
import static de.looksgood.ani.Ani.*;

void setup() {
  init(this);
}

I use Ani as an example cause i didn't want to share a whole project to demonstrate.

With processing4 I get:

No library found for de.looksgood.ani.Ani
The function init(sketch_191027a) does not exist.

The 'No library found' error is not new, but not being able to use the static methods is new.

!!! I do use the latest release that can be downloaded from Sam Pottinger's site, which is dated September. I'm unable to build it myself.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.