jruby_art 0.2.6.pre → 0.3.0.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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: []
|