https://github.com/ruby-processing/propane
A simpler ruby-processing for linux/Windows/MacOS?
https://github.com/ruby-processing/propane
art generative-art graphics jruby processing ruby sound video
Last synced: 7 months ago
JSON representation
A simpler ruby-processing for linux/Windows/MacOS?
- Host: GitHub
- URL: https://github.com/ruby-processing/propane
- Owner: ruby-processing
- License: gpl-3.0
- Created: 2016-08-05T05:00:43.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-03-27T22:20:21.000Z (almost 3 years ago)
- Last Synced: 2025-06-19T22:02:54.526Z (7 months ago)
- Topics: art, generative-art, graphics, jruby, processing, ruby, sound, video
- Language: Java
- Homepage: https://ruby-processing.github.io/propane
- Size: 5.95 MB
- Stars: 28
- Watchers: 5
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Propane [](https://badge.fury.io/rb/propane) 
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.
- `jdk-17.01+`
- `jruby-9.3.2.0`
## Building and testing
```bash
rake
rake gem
rake javadoc
```
## Installation
```bash
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)
```bash
propane --version
```
## Usage
A propane sketch:-
``` ruby
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
```bash
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
```bash
jruby my_sketch.rb # or use script to run sketches from atom
```
To install the sound and video libraries `~/.propane/libraries`. Depends on wget.
```bash
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][gh-pages] for more detailed instructions and much more.
## Examples
[Worked Examples](https://github.com/ruby-processing/propane-examples) more to follow, feel free to add your own, especially ruby-2.5
+ syntax now we can. To install the samples. The samples get copied to `~/propane_samples`. Depends on wget.
```bash
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.
[adopt]: https://adoptopenjdk.net/
[building]:http://ruby-processing.github.io/building/building/
[gh-pages]:https://ruby-processing.github.io/propane/
[vanilla]:https://github.com/processing/processing/pull/5753
[warning]: https://monkstone.github.io/jruby_art/update/2019/09/10/Reflective_Access.html