jruby_art 0.2.6.pre → 0.3.0.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/k9 +2 -2
- data/lib/jruby_art.rb +18 -23
- data/lib/jruby_art/app.rb +118 -130
- data/lib/jruby_art/config.rb +7 -9
- data/lib/jruby_art/creators/creator.rb +189 -0
- data/lib/jruby_art/helper_methods.rb +41 -31
- data/lib/jruby_art/helpers/camel_string.rb +2 -1
- data/lib/jruby_art/helpers/numeric.rb +1 -2
- data/lib/jruby_art/helpers/range.rb +3 -7
- data/lib/jruby_art/helpers/string_extra.rb +1 -1
- data/lib/jruby_art/library_loader.rb +127 -96
- data/lib/jruby_art/runner.rb +208 -63
- data/lib/jruby_art/runners/base.rb +51 -0
- data/lib/jruby_art/runners/run.rb +6 -0
- data/lib/jruby_art/runners/watch.rb +59 -0
- data/lib/jruby_art/version.rb +1 -2
- data/lib/rpextras.jar +0 -0
- data/library/library_proxy/README.md +97 -0
- data/library/library_proxy/library_proxy.rb +8 -1
- data/library/video_event/video_event.rb +4 -0
- data/vendors/Rakefile +33 -78
- metadata +54 -60
- data/CHANGELOG.md +0 -60
- data/LICENSE.md +0 -39
- data/README.md +0 -91
- data/Rakefile +0 -85
- data/lib/core.jar +0 -0
- data/lib/gluegen-rt-natives-linux-amd64.jar +0 -0
- data/lib/gluegen-rt-natives-linux-armv6hf.jar +0 -0
- data/lib/gluegen-rt-natives-linux-i586.jar +0 -0
- data/lib/gluegen-rt-natives-macosx-universal.jar +0 -0
- data/lib/gluegen-rt-natives-windows-amd64.jar +0 -0
- data/lib/gluegen-rt-natives-windows-i586.jar +0 -0
- data/lib/gluegen-rt.jar +0 -0
- data/lib/jogl-all-natives-linux-amd64.jar +0 -0
- data/lib/jogl-all-natives-linux-armv6hf.jar +0 -0
- data/lib/jogl-all-natives-linux-i586.jar +0 -0
- data/lib/jogl-all-natives-macosx-universal.jar +0 -0
- data/lib/jogl-all-natives-windows-amd64.jar +0 -0
- data/lib/jogl-all-natives-windows-i586.jar +0 -0
- data/lib/jogl-all.jar +0 -0
- data/lib/jruby_art/creator.rb +0 -100
- data/lib/jruby_art/parse.rb +0 -59
- data/lib/jruby_art/writer.rb +0 -40
- data/library/file_chooser/file_chooser.rb +0 -82
- data/library/grammar/grammar.rb +0 -31
- data/library/video/lib/export.txt +0 -1
- data/library/video/lib/macosx64.txt +0 -1
- data/library/video/lib/windows.txt +0 -3
- data/library/video/video.rb +0 -12
- data/spec/app_spec.rb +0 -208
- data/spec/deglut_spec.rb +0 -25
- data/spec/library_loader_spec.rb +0 -23
- data/spec/spec_helper.rb +0 -96
- data/spec/vecmath_spec.rb +0 -483
- data/vendors/config.tar.gz +0 -0
@@ -0,0 +1,51 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
|
3
|
+
SKETCH_PATH ||= ARGV.shift
|
4
|
+
SKETCH_ROOT ||= File.dirname(SKETCH_PATH)
|
5
|
+
|
6
|
+
require_relative '../../jruby_art'
|
7
|
+
require_relative '../../jruby_art/app'
|
8
|
+
|
9
|
+
# More processing module
|
10
|
+
module Processing
|
11
|
+
# For use with "bare" sketches that don't want to define a class or methods
|
12
|
+
BARE_WRAP = <<-EOS
|
13
|
+
class Sketch < Processing::App
|
14
|
+
%s
|
15
|
+
end
|
16
|
+
EOS
|
17
|
+
|
18
|
+
NAKED_WRAP = <<-EOS
|
19
|
+
class Sketch < Processing::App
|
20
|
+
def setup
|
21
|
+
sketch_title 'Naked Sketch'
|
22
|
+
%s
|
23
|
+
no_loop
|
24
|
+
end
|
25
|
+
|
26
|
+
def settings
|
27
|
+
size(DEFAULT_WIDTH, DEFAULT_HEIGHT)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
EOS
|
31
|
+
|
32
|
+
# This method is the common entry point to run a sketch, bare or complete.
|
33
|
+
def self.load_and_run_sketch
|
34
|
+
source = read_sketch_source
|
35
|
+
wrapped = !source.match(/^[^#]*< Processing::App/).nil?
|
36
|
+
no_methods = source.match(/^[^#]*(def\s+setup|def\s+draw)/).nil?
|
37
|
+
if wrapped
|
38
|
+
load SKETCH_PATH
|
39
|
+
Processing::App.sketch_class.new unless $app
|
40
|
+
return
|
41
|
+
end
|
42
|
+
code = no_methods ? format(NAKED_WRAP, source) : format(BARE_WRAP, source)
|
43
|
+
Object.class_eval code, SKETCH_PATH, -1
|
44
|
+
Processing::App.sketch_class.new
|
45
|
+
end
|
46
|
+
|
47
|
+
# Read in the sketch source code. Needs to work both online and offline.
|
48
|
+
def self.read_sketch_source
|
49
|
+
File.read(SKETCH_PATH)
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require_relative '../runners/base'
|
2
|
+
|
3
|
+
module Processing
|
4
|
+
# A sketch loader, observer, and reloader, to tighten
|
5
|
+
# the feedback between code and effect.
|
6
|
+
class Watcher
|
7
|
+
# Sic a new Processing::Watcher on the sketch
|
8
|
+
SLEEP_TIME = 0.2
|
9
|
+
def initialize
|
10
|
+
reload_files_to_watch
|
11
|
+
@time = Time.now
|
12
|
+
start_watching
|
13
|
+
end
|
14
|
+
|
15
|
+
# Kicks off a thread to watch the sketch, reloading Ruby-Processing
|
16
|
+
# and restarting the sketch whenever it changes.
|
17
|
+
def start_watching
|
18
|
+
start_runner
|
19
|
+
Kernel.loop do
|
20
|
+
if @files.find { |file| FileTest.exist?(file) && File.stat(file).mtime > @time }
|
21
|
+
puts 'reloading sketch...'
|
22
|
+
$app && $app.close
|
23
|
+
java.lang.System.gc
|
24
|
+
@time = Time.now
|
25
|
+
start_runner
|
26
|
+
reload_files_to_watch
|
27
|
+
end
|
28
|
+
sleep SLEEP_TIME
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
# Convenience function to report errors when loading and running a sketch,
|
33
|
+
# instead of having them eaten by the thread they are loaded in.
|
34
|
+
def report_errors
|
35
|
+
yield
|
36
|
+
rescue Exception => e
|
37
|
+
wformat = 'Exception occured while running sketch %s...'
|
38
|
+
tformat = "Backtrace:\n\t%s"
|
39
|
+
warn format(wformat, File.basename(SKETCH_PATH))
|
40
|
+
puts format(tformat, e.backtrace.join("\n\t"))
|
41
|
+
end
|
42
|
+
|
43
|
+
def start_runner
|
44
|
+
@runner.kill if @runner && @runner.alive?
|
45
|
+
@runner = nil
|
46
|
+
@runner = Thread.start do
|
47
|
+
report_errors do
|
48
|
+
Processing.load_and_run_sketch
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def reload_files_to_watch
|
54
|
+
@files = Dir.glob(File.join(SKETCH_ROOT, '**/*.{rb,glsl}'))
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
Processing::Watcher.new
|
data/lib/jruby_art/version.rb
CHANGED
data/lib/rpextras.jar
CHANGED
Binary file
|
@@ -0,0 +1,97 @@
|
|
1
|
+
### Using the LibraryProxy in your sketches
|
2
|
+
In the sketch you should `load_library :library_proxy` and your library class should inherit
|
3
|
+
from LibraryProxy and implement pre(), draw() and post() methods (can be empty method if not
|
4
|
+
required). For simplicity initialize your `processing library` in the sketch `setup`.
|
5
|
+
|
6
|
+
### Example library
|
7
|
+
|
8
|
+
```ruby
|
9
|
+
require 'forwardable'
|
10
|
+
|
11
|
+
# A custom Array created using forwardable (that can also access the PApplet pre,
|
12
|
+
# post and draw loops by extending our new LibraryProxy class. Also has access
|
13
|
+
# to custom background(int), fill(int) and stroke(int) methods.
|
14
|
+
class CustomArray < LibraryProxy
|
15
|
+
extend Forwardable
|
16
|
+
def_delegators(:@objs, :each, :<<)
|
17
|
+
include Enumerable
|
18
|
+
|
19
|
+
attr_reader :app
|
20
|
+
|
21
|
+
# We must initialize class with the PApplet instance
|
22
|
+
def initialize(app)
|
23
|
+
@app = app
|
24
|
+
@objs = []
|
25
|
+
end
|
26
|
+
|
27
|
+
def add_object(mx, my, x, y, speed)
|
28
|
+
self << Particle.new(x.to_i, y.to_i, mx, my, Sketch::UNIT, speed, 1, 1)
|
29
|
+
end
|
30
|
+
|
31
|
+
# Access the processing post loop (gets called after draw)
|
32
|
+
def post
|
33
|
+
each do |obj|
|
34
|
+
update_x obj
|
35
|
+
next unless obj.y >= Sketch::UNIT || obj.x <= 0
|
36
|
+
obj.ydir *= -1
|
37
|
+
obj.y += obj.ydir
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def update_x(obj)
|
42
|
+
obj.x += obj.speed * obj.xdir
|
43
|
+
return if (0..Sketch::UNIT).cover? obj.x
|
44
|
+
obj.xdir *= -1
|
45
|
+
obj.x += obj.xdir
|
46
|
+
obj.y += obj.ydir
|
47
|
+
end
|
48
|
+
|
49
|
+
# We need this to fulfill the contract of implementing abstract methods of
|
50
|
+
# LibraryProxy which is an alias for Java::ProcessingCore::AbstractLibrary
|
51
|
+
def pre
|
52
|
+
end
|
53
|
+
|
54
|
+
# Access the processing draw loop here, using our custom background and fill
|
55
|
+
# note: use of 'app' to access ellipse functionality as would otherwise be
|
56
|
+
# required for background and fill
|
57
|
+
def draw
|
58
|
+
background(0)
|
59
|
+
fill(255)
|
60
|
+
each do |obj|
|
61
|
+
app.ellipse(obj.mx + obj.x, obj.my + obj.y, 6, 6)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
# The Particle object
|
67
|
+
|
68
|
+
Particle = Struct.new(:x, :y, :mx, :my, :size, :speed, :xdir, :ydir)
|
69
|
+
```
|
70
|
+
### Example sketch
|
71
|
+
|
72
|
+
```ruby
|
73
|
+
# A minimalist sketch that demonstrates a possible approach to creating a custom
|
74
|
+
# array of objects using forwardable. Also demonstrates how to use LibraryProxy.
|
75
|
+
|
76
|
+
load_library :library_proxy # loads the JRubyArt LibraryProxy abstract class
|
77
|
+
require_relative 'custom_array' # loads our custom 'library' class
|
78
|
+
|
79
|
+
UNIT = 40
|
80
|
+
|
81
|
+
def setup
|
82
|
+
size 640, 360
|
83
|
+
wide_count = width / UNIT
|
84
|
+
height_count = height / UNIT
|
85
|
+
custom_array = CustomArray.new(self)
|
86
|
+
height_count.times do |i|
|
87
|
+
wide_count.times do |j|
|
88
|
+
custom_array.add_object(j * UNIT, i * UNIT, UNIT / 2, UNIT / 2, rand(0.05..0.8))
|
89
|
+
end
|
90
|
+
end
|
91
|
+
no_stroke
|
92
|
+
end
|
93
|
+
|
94
|
+
# does nothing here see custom_array.rb
|
95
|
+
def draw
|
96
|
+
end
|
97
|
+
```
|
@@ -1,3 +1,10 @@
|
|
1
|
-
require 'rpextras'
|
1
|
+
# require 'rpextras'
|
2
2
|
|
3
3
|
LibraryProxy = Java::ProcessingCore::AbstractLibrary
|
4
|
+
|
5
|
+
# classes that inherit from Library are expected to implement
|
6
|
+
# the abstract methods of processing.core.AbstractLibrary
|
7
|
+
# def pre...
|
8
|
+
# def draw...
|
9
|
+
# def post...
|
10
|
+
# NOOP is fine...
|
data/vendors/Rakefile
CHANGED
@@ -1,56 +1,33 @@
|
|
1
1
|
require 'rake/clean'
|
2
|
-
require 'rbconfig'
|
3
2
|
|
4
3
|
WARNING = <<-EOS
|
5
|
-
WARNING: you may not have
|
6
|
-
the correct version of jruby-complete
|
7
|
-
|
8
|
-
|
9
|
-
NB: this is untested....
|
4
|
+
WARNING: you may not have wget installed, you could just download
|
5
|
+
the correct version of jruby-complete to the vendors folder, and
|
6
|
+
re-run k9 setup install instead of installing wget. Some systems
|
7
|
+
may also require 'sudo' access to install, NB: this is untested....
|
10
8
|
|
11
9
|
EOS
|
12
10
|
|
13
|
-
JRUBYC_VERSION
|
14
|
-
EXAMPLES
|
11
|
+
JRUBYC_VERSION = '9.0.0.0.rc1'
|
12
|
+
EXAMPLES = '0.2'
|
15
13
|
HOME_DIR = ENV['HOME']
|
16
14
|
MAC_OR_LINUX = /linux|mac|darwin/ =~ RbConfig::CONFIG['host_os']
|
17
|
-
CLOBBER.include("jruby-complete-#{JRUBYC_VERSION}.jar", "#{EXAMPLES}.tar.gz", "video.zip")
|
18
15
|
|
19
|
-
|
20
|
-
task :default => [:install_ruby, :install_video, :config, :install_examples]
|
21
|
-
|
22
|
-
desc "install jruby"
|
23
|
-
task :install_ruby => [:download, :copy_ruby]
|
24
|
-
|
25
|
-
desc "install video library"
|
26
|
-
task :install_video => [:download_video, :copy_video]
|
27
|
-
|
28
|
-
|
29
|
-
desc "install examples"
|
30
|
-
task :install_examples => [:download_examples, :copy_examples]
|
16
|
+
CLOBBER.include("jruby-complete-#{JRUBYC_VERSION}.jar")
|
31
17
|
|
18
|
+
desc "download, and copy to jruby_art"
|
19
|
+
task :default => [:download, :copy_ruby]
|
32
20
|
|
33
21
|
desc "download JRuby upstream sources"
|
34
22
|
task :download => ["jruby-complete-#{JRUBYC_VERSION}.jar"]
|
35
23
|
|
36
24
|
file "jruby-complete-#{JRUBYC_VERSION}.jar" do
|
37
25
|
begin
|
38
|
-
sh "
|
39
|
-
rescue
|
40
|
-
warn(WARNING)
|
41
|
-
end
|
42
|
-
check_sha1("jruby-complete-#{JRUBYC_VERSION}.jar", "0f784b3d9d760b80b2f9d78ede80ee1d8d85e786")
|
43
|
-
end
|
44
|
-
|
45
|
-
desc "download processing video-library"
|
46
|
-
task :download_video => ["video.zip"]
|
47
|
-
|
48
|
-
file "video.zip" do
|
49
|
-
begin
|
50
|
-
sh "curl -O https://github.com/processing/processing-video/releases/download/latest/video.zip"
|
26
|
+
sh "wget https://s3.amazonaws.com/jruby.org/downloads/#{JRUBYC_VERSION}/jruby-complete-#{JRUBYC_VERSION}.jar"
|
51
27
|
rescue
|
52
28
|
warn(WARNING)
|
53
29
|
end
|
30
|
+
check_sha1("jruby-complete-#{JRUBYC_VERSION}.jar", "18dac3f000fe8814cd2fb7708e32612f17c28edf")
|
54
31
|
end
|
55
32
|
|
56
33
|
directory "../lib/ruby"
|
@@ -60,10 +37,21 @@ task :copy_ruby => ["../lib/ruby"] do
|
|
60
37
|
sh "cp -v jruby-complete-#{JRUBYC_VERSION}.jar ../lib/ruby/jruby-complete.jar"
|
61
38
|
end
|
62
39
|
|
63
|
-
|
64
|
-
|
65
|
-
|
40
|
+
def check_sha1(filename, expected_hash)
|
41
|
+
require "digest/sha1"
|
42
|
+
sha1 = Digest::SHA1.new
|
43
|
+
File.open(filename, "r") do |f|
|
44
|
+
while buf = f.read(4096)
|
45
|
+
sha1.update(buf)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
if sha1.hexdigest != expected_hash
|
49
|
+
raise "bad sha1 checksum for #{filename} (expected #{expected_hash} got #{sha1.hexdigest})"
|
50
|
+
end
|
51
|
+
end
|
66
52
|
|
53
|
+
desc "download, and copy to jruby_art"
|
54
|
+
task :unpack_samples => [:download_examples, :copy_examples]
|
67
55
|
|
68
56
|
desc 'download and copy examples to user home'
|
69
57
|
task :download_examples
|
@@ -71,56 +59,23 @@ file_name = (MAC_OR_LINUX.nil?) ? "#{EXAMPLES}.zip" : "#{EXAMPLES}.tar.gz"
|
|
71
59
|
file file_name do
|
72
60
|
begin
|
73
61
|
if MAC_OR_LINUX.nil?
|
74
|
-
sh "
|
62
|
+
sh "wget https://github.com/ruby-processing/samples4ruby-processing3/archive/#{EXAMPLES}.zip"
|
75
63
|
else
|
76
|
-
sh "
|
64
|
+
sh "wget https://github.com/ruby-processing/samples4ruby-processing3/archive/#{EXAMPLES}.tar.gz"
|
77
65
|
end
|
78
66
|
rescue
|
79
67
|
warn(WARNING)
|
80
68
|
end
|
81
69
|
end
|
82
70
|
|
83
|
-
|
84
|
-
|
85
|
-
desc "copy video library"
|
86
|
-
|
87
|
-
task :copy_video => ["../library/video/lib"] do
|
88
|
-
sh "unzip video.zip"
|
89
|
-
Dir["video/library/*.jar"].each do |f|
|
90
|
-
sh "cp #{f} ../library/video/lib"
|
91
|
-
end
|
92
|
-
sh "cp -r video/library/windows32 ../library/video/lib"
|
93
|
-
sh "cp -r video/library/windows64 ../library/video/lib"
|
94
|
-
sh "cp -r video/library/macosx64 ../library/video/lib"
|
95
|
-
end
|
96
|
-
|
97
71
|
desc "copy examples"
|
98
72
|
task :copy_examples => file_name do
|
99
73
|
if MAC_OR_LINUX.nil?
|
100
|
-
sh "unzip
|
74
|
+
sh "unzip #{EXAMPLES},zip"
|
101
75
|
else
|
102
|
-
sh "tar xzvf
|
76
|
+
sh "tar xzvf #{EXAMPLES}.tar.gz"
|
103
77
|
end
|
104
|
-
sh "
|
105
|
-
sh "
|
106
|
-
|
107
|
-
|
108
|
-
desc "config"
|
109
|
-
task :config => file_name do
|
110
|
-
next if FileTest.exist?("#{HOME_DIR}/.jruby_art/config.yml")
|
111
|
-
sh "tar xzvf config.tar.gz"
|
112
|
-
sh "cp -r .jruby_art #{HOME_DIR}"
|
113
|
-
end
|
114
|
-
|
115
|
-
def check_sha1(filename, expected_hash)
|
116
|
-
require "digest/sha1"
|
117
|
-
sha1 = Digest::SHA1.new
|
118
|
-
File.open(filename, "r") do |f|
|
119
|
-
while buf = f.read(4096)
|
120
|
-
sha1.update(buf)
|
121
|
-
end
|
122
|
-
end
|
123
|
-
if sha1.hexdigest != expected_hash
|
124
|
-
raise "bad sha1 checksum for #{filename} (expected #{expected_hash} got #{sha1.hexdigest})"
|
125
|
-
end
|
126
|
-
end
|
78
|
+
sh "rm -r #{HOME_DIR}/k9_samples" if File.exist? "#{HOME_DIR}/k9_samples"
|
79
|
+
sh "cp -r samples4ruby-processing3-#{EXAMPLES} #{HOME_DIR}/k9_samples"
|
80
|
+
sh "rm -r samples4ruby-processing3-#{EXAMPLvim lib/jruby_art/version.rb
|
81
|
+
clean Xfn.pre
|
metadata
CHANGED
@@ -1,43 +1,45 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jruby_art
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
+
- Jeremy Ashkenas
|
8
|
+
- Guillaume Pierronnet
|
7
9
|
- Martin Prout
|
8
10
|
autorequire:
|
9
11
|
bindir: bin
|
10
12
|
cert_chain: []
|
11
|
-
date: 2015-
|
13
|
+
date: 2015-07-03 00:00:00.000000000 Z
|
12
14
|
dependencies:
|
13
15
|
- !ruby/object:Gem::Dependency
|
14
16
|
requirement: !ruby/object:Gem::Requirement
|
15
17
|
requirements:
|
16
18
|
- - ~>
|
17
19
|
- !ruby/object:Gem::Version
|
18
|
-
version: '
|
19
|
-
name:
|
20
|
+
version: '1.3'
|
21
|
+
name: bundler
|
20
22
|
prerelease: false
|
21
23
|
type: :development
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
23
25
|
requirements:
|
24
26
|
- - ~>
|
25
27
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
28
|
+
version: '1.3'
|
27
29
|
- !ruby/object:Gem::Dependency
|
28
30
|
requirement: !ruby/object:Gem::Requirement
|
29
31
|
requirements:
|
30
32
|
- - ~>
|
31
33
|
- !ruby/object:Gem::Version
|
32
|
-
version: '3
|
33
|
-
name:
|
34
|
+
version: '10.3'
|
35
|
+
name: rake
|
34
36
|
prerelease: false
|
35
37
|
type: :development
|
36
38
|
version_requirements: !ruby/object:Gem::Requirement
|
37
39
|
requirements:
|
38
40
|
- - ~>
|
39
41
|
- !ruby/object:Gem::Version
|
40
|
-
version: '3
|
42
|
+
version: '10.3'
|
41
43
|
- !ruby/object:Gem::Dependency
|
42
44
|
requirement: !ruby/object:Gem::Requirement
|
43
45
|
requirements:
|
@@ -52,80 +54,71 @@ dependencies:
|
|
52
54
|
- - ~>
|
53
55
|
- !ruby/object:Gem::Version
|
54
56
|
version: '0.9'
|
55
|
-
|
56
|
-
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ~>
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '5.3'
|
63
|
+
name: minitest
|
64
|
+
prerelease: false
|
65
|
+
type: :development
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ~>
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '5.3'
|
71
|
+
description: |2
|
72
|
+
JRubyArt is a ruby wrapper for the processing art framework.
|
73
|
+
The current version supports processing-3.0a10, and uses jruby-9.0.0.0.rc2
|
74
|
+
as the glue between ruby and java. You can use both processing libraries and ruby
|
75
|
+
gems in your sketches. Features create/run/watch modes. The "watch" mode,
|
76
|
+
provides a nice REPL-ish way to work on your processing sketches. Includes:-
|
77
|
+
A "Control Panel" library, so that you can easily create sliders, buttons,
|
78
|
+
checkboxes and drop-down menus, and hook them into your sketch's instance
|
79
|
+
variables and hundreds of worked examples to get you started...
|
80
|
+
email: martin_p@lineone.net
|
57
81
|
executables:
|
58
82
|
- k9
|
59
83
|
extensions: []
|
60
|
-
extra_rdoc_files:
|
61
|
-
- README.md
|
62
|
-
- LICENSE.md
|
63
|
-
- CHANGELOG.md
|
84
|
+
extra_rdoc_files: []
|
64
85
|
files:
|
65
|
-
- LICENSE.md
|
66
|
-
- README.md
|
67
|
-
- Rakefile
|
68
|
-
- CHANGELOG.md
|
69
86
|
- bin/k9
|
70
|
-
- lib/gluegen-rt.jar
|
71
|
-
- lib/rpextras.jar
|
72
|
-
- lib/gluegen-rt-natives-windows-i586.jar
|
73
|
-
- lib/gluegen-rt-natives-linux-armv6hf.jar
|
74
|
-
- lib/jogl-all.jar
|
75
|
-
- lib/jogl-all-natives-windows-i586.jar
|
76
|
-
- lib/jogl-all-natives-linux-armv6hf.jar
|
77
87
|
- lib/jruby_art.rb
|
78
|
-
- lib/
|
79
|
-
- lib/gluegen-rt-natives-linux-i586.jar
|
80
|
-
- lib/gluegen-rt-natives-windows-amd64.jar
|
81
|
-
- lib/jogl-all-natives-linux-amd64.jar
|
82
|
-
- lib/jogl-all-natives-macosx-universal.jar
|
83
|
-
- lib/gluegen-rt-natives-macosx-universal.jar
|
84
|
-
- lib/jogl-all-natives-windows-amd64.jar
|
85
|
-
- lib/core.jar
|
86
|
-
- lib/jogl-all-natives-linux-i586.jar
|
87
|
-
- lib/jruby_art/creator.rb
|
88
|
-
- lib/jruby_art/library_loader.rb
|
89
|
-
- lib/jruby_art/writer.rb
|
88
|
+
- lib/jruby_art/app.rb
|
90
89
|
- lib/jruby_art/config.rb
|
91
|
-
- lib/jruby_art/
|
90
|
+
- lib/jruby_art/creators/creator.rb
|
92
91
|
- lib/jruby_art/helper_methods.rb
|
93
|
-
- lib/jruby_art/app.rb
|
94
|
-
- lib/jruby_art/version.rb
|
95
|
-
- lib/jruby_art/parse.rb
|
96
|
-
- lib/jruby_art/helpers/string_extra.rb
|
97
92
|
- lib/jruby_art/helpers/camel_string.rb
|
98
93
|
- lib/jruby_art/helpers/numeric.rb
|
99
94
|
- lib/jruby_art/helpers/range.rb
|
100
|
-
-
|
101
|
-
-
|
102
|
-
-
|
103
|
-
-
|
104
|
-
-
|
95
|
+
- lib/jruby_art/helpers/string_extra.rb
|
96
|
+
- lib/jruby_art/library_loader.rb
|
97
|
+
- lib/jruby_art/runner.rb
|
98
|
+
- lib/jruby_art/runners/base.rb
|
99
|
+
- lib/jruby_art/runners/run.rb
|
100
|
+
- lib/jruby_art/runners/watch.rb
|
101
|
+
- lib/jruby_art/version.rb
|
102
|
+
- library/boids/boids.rb
|
105
103
|
- library/control_panel/control_panel.rb
|
104
|
+
- library/library_proxy/README.md
|
106
105
|
- library/library_proxy/library_proxy.rb
|
107
|
-
- library/
|
108
|
-
- library/file_chooser/file_chooser.rb
|
109
|
-
- spec/library_loader_spec.rb
|
110
|
-
- spec/vecmath_spec.rb
|
111
|
-
- spec/spec_helper.rb
|
112
|
-
- spec/app_spec.rb
|
113
|
-
- spec/deglut_spec.rb
|
106
|
+
- library/video_event/video_event.rb
|
114
107
|
- vendors/Rakefile
|
115
|
-
-
|
108
|
+
- lib/rpextras.jar
|
116
109
|
homepage: https://github.com/ruby-processing/JRubyArt
|
117
110
|
licenses:
|
118
111
|
- MIT
|
119
112
|
metadata: {}
|
120
|
-
post_install_message:
|
113
|
+
post_install_message: Use 'k9 setup install' to install jruby-complete, and 'k9 setup check' to check config.
|
121
114
|
rdoc_options: []
|
122
115
|
require_paths:
|
123
116
|
- lib
|
124
117
|
required_ruby_version: !ruby/object:Gem::Requirement
|
125
118
|
requirements:
|
126
|
-
- -
|
119
|
+
- - '>='
|
127
120
|
- !ruby/object:Gem::Version
|
128
|
-
version: '2.
|
121
|
+
version: '2.1'
|
129
122
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
130
123
|
requirements:
|
131
124
|
- - '>'
|
@@ -133,10 +126,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
126
|
version: 1.3.1
|
134
127
|
requirements:
|
135
128
|
- A decent graphics card
|
136
|
-
- java runtime >= 1.
|
129
|
+
- java runtime >= 1.8+
|
130
|
+
- processing = 3.0a10+
|
137
131
|
rubyforge_project:
|
138
132
|
rubygems_version: 2.1.9
|
139
133
|
signing_key:
|
140
134
|
specification_version: 4
|
141
|
-
summary: Ruby
|
135
|
+
summary: Code as Art, Art as Code. Processing and Ruby are meant for each other.
|
142
136
|
test_files: []
|