Home

Awesome

Propane Gem Version Travis CI

This version is intended to work with openjdk11+.

A slim layer to communicate with Processing from JRuby, features maven build. We have created a configuration free version of ruby processing, for processing-4.0+, where we include a modified processing core (public runPropane() to replace protected runSketch(). 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. Currently JavaFX is unsupported. Using maven to create an automatic module, to be refined.

adjust above for your OS/distro setup.

Requirements

Tested with OpenJDK17.

Building and testing

rake
rake gem
rake javadoc

Installation

jgem install propane # from rubygems
jgem install propane-4.0.0-java.gem # local install
# Alternative
jruby -S gem install propane # from rubygems
jruby -S gem install propane-4.0.0-java.gem # local install

Check Install

To check version and confirm gem bin files are on your path (also checks JDK version)

propane --version

Usage

A propane sketch:-

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

Create template sketches with the 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.5

propane --install samples

please move existing propane_samples if you wish to keep them. The current release features some noise sketches that exploit the new choice of noise implementation.