yearofthewhopper / ruby-processing

Code as Art, Art as Code. Processing and Ruby are meant for each other.

Home Page:http://github.com/jashkenas/ruby-processing/wikis

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ruby-Processing

Gem Version

Is a ruby wrapper around the Processing code art framework, built using JRuby.

Processing provides a tidy API, with a bunch of handy methods you can call from Ruby-Processing. Here's a smattering:

alpha, arc, background, blend, blue, ellipse, frame_rate, hue, lerp, load_image, load_pixels, mouse_pressed, noise, rect, saturation, shape, smooth, text_align, translate, triangle, vertex...

Installation

We assume you have some version of ruby installed if not, there is a guide to installing ruby on various platforms including windows. Or here is an alternative install guide.

MacOSX users please try out this new method

Ideally you should install jruby, at the very least you will have at least ruby-1.9.3 installed. You should download and install vanilla processing-2.2.1 prior to installing this version of ruby-processing. You must also set the PROCESSING_ROOT in the .rp5rc yaml configuration file, the easiest way to do this is by running the SetProcessingRoot.pde sketch in the processing ide.

Then install ruby-processing (from rubygems-org) in the usual way

gem install ruby-processing some systems eg Ubuntu may require sudo access

To install jruby-complete use our built in tool (relies on wget to download jruby-complete-1.7.18)

since ruby-processing-2.5.0 rp5 setup install (was install_jruby_complete)

If you haven't got wget just download jruby-complete-1.7.18 (for ruby-processing-2.6.6)to the vendors folder (then run above tool)

The vendored jruby-complete is only required for application export, and running certain sketches (eg shader sketches see wiki).

How to build latest development version 2.6.6

See wiki

For previous release (version 2.6.5) checkout the "stable" branch and follow the same instructions

Documentation

See Wiki

See also FAQs, Contributing and Samples

Usage Example

rp5 run my_sketch.rb 

or if not using system jruby (and not JRUBY: 'false' in ~/.rp5rc)

rp5 --nojruby run my_sketch.rb

where a simple my_sketch.rb could look like this

def setup
  size 400, 400  
  fill 255
end

def draw
  background 0
  ellipse mouse_x, mouse_y, 100, 100
end

or a simple 3D sketch cube.rb features ArcBall from vecmath library

load_library :vecmath

############################
# Use mouse drag to rotate
# the arcball. Use mousewheel
# to zoom. Hold down x, y, z
# to constrain rotation axis.
############################

def setup
  size(600, 600, P3D)
  smooth(8)
  ArcBall.init(self, 300, 300)
  fill 180
end

def draw
  background(50)
  box(300, 300, 300)
end       

Supported Ruby Version

This gem has been tested with the following ruby implementations

  • Ruby 1.9.3
  • Ruby 2.0.0
  • Ruby 2.1.2
  • Ruby 2.2.0
  • JRuby preferred (required to use rubygems in sketches)

NB: Support for ruby-2.0 syntax is limited (and experimental see jruby documentation) If you experiment with JRuby-9.0.0.0-SNAPSHOT you will find majority of sketches will only run in watch mode (this has been reported)

Supported Processing Version

  • processing-2.2.1 (recommended)
  • seems also work with processing-3.0a5 (might be worth upgrading to, a more recent jogl etc....)

Deprecated Methods

From version 2.5.1 some previously implemented processing (convenience) methods were deprecated in favor of ruby alternatives for details see wiki notice, and they have since mostly been removed in favor or ruby alternatives.

License

About

Code as Art, Art as Code. Processing and Ruby are meant for each other.

http://github.com/jashkenas/ruby-processing/wikis

License:Other


Languages

Language:Ruby 55.8%Language:Java 42.7%Language:HTML 1.4%Language:Shell 0.2%