Propane

To build custom core see processing-core

A slim layer to communicate with Processing from JRuby, features a polyglot maven build. We have created a configuration free version of ruby processing, for processing-3.3.7, where we include a modified processing core (public runPropane() to replace protected runSketch(), (runSketch not currently usable with jruby and jdk 9). These jars are small enough to include in a gem distribution, and hence we do not require configuration. This has created a scriptable version, ie files get run direct from jruby, but you could use jruby-complete if you used the propane script (avoids need to give the absolute data path for the data folder, but would also be needed for a watch mode). See guide to building ruby-processing projects. NB: this is a far from perfect solution and javafx sketches and possibly a feew others still fail to run with jdk9, but a least I get to diagnose those errors too.

adjust above for your OS/distro setup.

Requirements

  • jdk8+ (jdk9 mostly works, see changelog, but is noisy)
  • jruby-9.1.16.0
  • mvn-3.5.0+
  • processing-core.jar (build only) see propane-core

Building and testing

rake
rake gem
rake javadoc

Installation

jgem install propane # from rubygems
jgem install propane-2.7.1-java.gem # local install requires a custom processing-core

Usage

require 'propane'

class FlashingLightsSketch < Propane::App

  def settings
    size(800, 600)
  end

  def setup
    sketch_title 'Flashing Light Sketch'
  end

  def draw
    background(rand(255), rand(255), rand(255))
  end
end

FlashingLightsSketch.new

There is a handy sketch creator tool

propane -c my_sketch 200 200 # for default renderer
propane -c my_sketch 200 200 p2d # for opengl 2D renderer
propane -c my_sketch 200 200 p3d # for opengl 3D renderer

To run sketches

jruby my_sketch.rb # or use script to run sketches from atom

To install the sound and video libraries ~/.propane/libraries. Depends on wget.

propane --install sound
propane --install video

Other java libraries can be manually installed to the same folder (no need for processing ide)

See gh-pages for more detailed instructions and much more.

Examples

Worked Examples more to follow, feel free to add your own, especially ruby-2.2+ syntax now we can. To install the samples. The samples get copied to ~/propane_samples. Depends on wget.

propane --install samples

please move existing propane_samples if you wish to keep them. The current release features several PixelFlow glsl library examples, including a few shadertoy demos as sketches.