Skip to content

ruby-processing/propane

Repository files navigation

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() replaces protected runSketch(), not currently useable 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 some sketches 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.