Propane
A slim layer to communicate with Processing from JRuby, features a polyglot maven build, this started out as a non serious project by Phillip Cunningam called ribiprocessing. It has now morphed into an experimental project for ruby-processing so we can now "Cook with Gas". We have created a configuration free version of ruby processing, albeit tied to processing-2.2.1, where we get processing core from maven central (and opengl currently testing on linux64/mac). These jars are small enough to include in the gem distribution, and hence we should 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).
Requirements
- jdk8+ since version 0.6.0
- jruby-9.1.2.0+
- mvn-3.3.1+ (development only)
Building and testing
rake
rake gem
rake javadoc
Installation
jgem install propane-{version}-java.gem # local install
jgem install propane # from rubygems.org
Usage
require 'propane'
class FlashingLightsSketch < Propane::App
attr_reader :random_background
def initialize opts={}
@random_background = opts.fetch :random_background, RandomBackground.new(self)
super
end
def setup
size(800, 600)
end
def draw
random_background.generate
end
end
class RandomBackground
include Propane::Proxy
def generate
background(rand(255), rand(255), rand(255))
end
end
FlashingLightsSketch.new title: "Flashing Lights"
Many sketches will run just using an installed jruby, but shader sketches must be run using jruby-complete, but don't worry we make it easy, to install jruby-complete:
propane --install
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 using the installed jruby-complete, you can also use shortform `-r`
```bash
propane --run my_sketch.rb # or
jruby -S propane --run my_sketch.rb # belt and braces version