forked from jashkenas/ruby-processing
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
157 lines (113 loc) · 6.12 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
____ _ ____ _
| _ \ _ _| |__ _ _ | _ \ _ __ ___ ___ ___ ___ ___(_)_ __ __ _
| |_) | | | | '_ \| | | |_____| |_) | '__/ _ \ / __/ _ \/ __/ __| | '_ \ / _` |
| _ <| |_| | |_) | |_| |_____| __/| | | (_) | (_| __/\__ \__ \ | | | | (_| |
|_| \_\\__,_|_.__/ \__, | |_| |_| \___/ \___\___||___/___/_|_| |_|\__, |
|___/ |___/
This is a Ruby wrapper that lets you harness Processing’s awesome power.
It makes Processing act in a slightly more Shoes-like way, and replaces
the ol’ crusty faux-Java-1.4-syntax sandals that Processing usually
wears with some new Ruby slippers.
From inside this folder, you can run the samples like so:
script/open samples/jwishy.rb
Because it’s Ruby, you can also load the samples via script/live, and
then alter them on the fly. Live coding, anyone?
For full, up-to-date info, always check the wiki:
http://github.com/jashkenas/ruby-processing/wikis
Changelog:
Revision 1.0+
* has_slider has been superseded by control_panel, a more full-
fledged library for controlling aspects of your sketch. Read
how to use it on the wiki, or check out jwishy.rb
Revision 1.0
* Processing updated to 1.0.1 (congrats to the Processing team),
and JRuby updated to the latest trunk. Most sketches run a good
bit faster now.
* Ruby-Processing now comes with many default libraries: Boids, DXF,
Javascript, Minim, Net, OpenGL, PDF, Serial, Slider, and Video
are now included in the download.
* has_slider moved out into an included ruby library.
Revision 0.9
* Inspired by NodeBox, Ruby-Processing now sports the ability
to have sliders control numeric variables in your sketches.
If you're using an instance variable, say, @speed, to control
the speed of your sketch.
has_slider :speed
Will bring up a panel alongside with a slider that controls
the speed. It can take a range of values as an optional parameter.
Check out and run jwishy.rb for an example.
* Multi-platform app export! Exporting your Ruby-Processing
apps will now create executable apps for Mac/Windows/Linux.
* Live coding support. Now you can do script/live path/to/sketch.rb
to open up an interactive session with your sketch available
as $app.
* Nick Sieger donated an additional sample.
Revision 0.8
* Ruby-Processing can now export Mac applications! Running
script/application my_sketch.rb will create MySketch.app,
complete with all of its data and libraries. If you have
a .icns file inside of your data folder, it will become
the app's icon.
* Added a mathematical Fern sample. It's a port of Luis
Correia's java original, with algorithms from Wikipedia.
* Sketches now have a library_loaded? method, so that you can
check if a library has been started successfully, and
conditionally enable things. (Good for OpenGL.)
* The Boids library is now about 40% faster. It also comes with
an example in library/boids/samples.
* Specs have been started both for exporting and for Ruby-
Processing itself.
Revision 0.7
* Thanks to MenTaLguY, once again, for work on the JRubyApplet, OpenGL
is now a first-class citizen. If you're using OpenGL in your sketch,
the applet exporter should just work. It has also been moved and
renamed, so now you can use it like:
script/applet my_sketch.rb
* An app generator has been added for getting started. It'll give you
a template for an empty Ruby-Processing sketch, with setup and draw
methods and all that. Usage:
script/generate my_sketch 800 600
Will create a file called my_sketch.rb, with a title of "My Sketch",
800 pixels wide and 600 pixels tall. Width and height are optional.
* Ruby-Processing now includes its first pure-Ruby library, a port
of Tom de Smedt's "Boids", for algorithmic flocking.
Revision 0.6
* Now we're baking up some applet pie. The applet_tree script will
take your Ruby-Processing sketch, export it as an applet, and
generate an HTML page for you to post. It's way easier now than it
would have been before. (thanks to MenTaLguY.) Use it like so:
./applet_tree my_sketch.rb
But there are caveats: Applets don't work with native libraries, so
no OpenGL. If you're requiring other files that aren't part of the
standard Ruby distro, you'll need to include them as libraries, which
means: Drop them in a folder inside of "library". Use
load_ruby_library("folder_name") or load_java_library() to load 'em.
These methods replace the previous load_library(). Ruby libs will
load the .rb with the same name as the folder. Java libs will just
load up all of the .jars in the folder.
Demos — all of the standard samples are available as applets:
http://fiercefrontiers.com/applets/jwishy/
http://fiercefrontiers.com/applets/tree/
http://fiercefrontiers.com/applets/circle_collision/
http://fiercefrontiers.com/applets/reflection/
Revision 0.5
* Ruby-Processing gets easy native library support. Now you can take
Processing libraries, drop them in the library folder, and load them
up like so (inside your sketch):
load_library "opengl"
It works by loading up all of the .jars in that folder, and setting
the java.library.path to that folder, so that the native extensions
can be found.
* Full Screen OpenGL demo added, but you'll need to copy over the
OpenGL library to use it.
Revision 0.4
* Ruby-Processing goes fullscreen. Just pass :full_screen => true
into the options when you’re starting up your app. Like so:
MyApp.new(:title => "MyApp", :full_screen => true)
* Because Processing has just so many methods, you can now search
through them: find_method "method_name"
Revision 0.3
* Processing::App.current will give you a handle on the app. (Useful
in jirb).
* samples/jwishy.rb has some new hooks for live coding.
* circle_collision and tree samples added (Joe Holt)