Skip to content

Commit 175dda0

Browse files
committed
avoid the set/get syndrome
1 parent 4a4527b commit 175dda0

File tree

3 files changed

+37
-6
lines changed

3 files changed

+37
-6
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Simple demo Rakefile to autorun samples in current directory
2+
# adjust path to rp5 executable, and or opts as required
3+
4+
SAMPLES_DIR = './'
5+
6+
desc 'run demo'
7+
task default: [:demo]
8+
9+
desc 'demo'
10+
task :demo do
11+
samples_list.shuffle.each { |sample| run_sample sample }
12+
end
13+
14+
def samples_list
15+
files = []
16+
Dir.chdir(SAMPLES_DIR)
17+
Dir.glob('*.rb').each do |file|
18+
files << File.join(SAMPLES_DIR, file)
19+
end
20+
return files
21+
end
22+
23+
def run_sample(sample_name)
24+
puts "Running #{sample_name}...quit to run next sample"
25+
open("|k9 -r #{sample_name}", 'r') do |io|
26+
while l = io.gets
27+
puts(l.chop)
28+
end
29+
end
30+
end

processing_app/library/glvideo/library/corners/corners.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ def initialize(width, height, ws, wh)
2020
@idx = -1
2121
end
2222

23-
def set_corner(mx, my)
23+
def change_selected(mx, my)
2424
self[idx] = Vect.new(mx, my)
2525
end
2626

2727
def selected?
2828
idx != -1
2929
end
3030

31-
def set_index(sel)
31+
def select_corner(sel)
3232
@idx = sel
3333
end
3434
end

processing_app/library/glvideo/video_mapping.rb

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
attr_reader :sources, :sel, :video, :corners, :quads, :last_mouse_move
88
RES = 5 # number of subdivisions (e.g. 5 x 5)
9+
NONE = -1
910

1011
def setup
1112
@last_mouse_move = 0
@@ -24,11 +25,11 @@ def draw
2425
video.read if sel.respond_to?(:read) && video.available
2526
# regenerate mesh if we're dragging a corner
2627
if corners.selected? && (pmouse_x != mouse_x || pmouse_y != mouse_y)
27-
corners.set_corner(mouse_x, mouse_y)
28+
corners.change_selected(mouse_x, mouse_y)
2829
# this improves performance, but will be replaced by a
2930
# more elegant way in a future release
3031
@quads = []
31-
Java::JavaLang::System.gc # this is generally not recommended
32+
# Java::JavaLang::System.gc # this is generally not recommended
3233
@quads = create_mesh(sel, corners, RES)
3334
end
3435

@@ -46,15 +47,15 @@ def draw
4647

4748
def mouse_pressed
4849
corners.each_with_index do |corner, i|
49-
return corners.set_index(i) if dist(mouse_x, mouse_y, corner.x, corner.y) < 20
50+
return corners.select_corner(i) if dist(mouse_x, mouse_y, corner.x, corner.y) < 20
5051
end
5152
# no corner? then switch texture
5253
@sel = sel.respond_to?(:loop) ? sources.image : sources.video
5354
@quads = create_mesh(sel, corners, RES)
5455
end
5556

5657
def mouse_released
57-
corners.set_index(-1)
58+
corners.select_corner(NONE)
5859
end
5960

6061
def create_mesh(tex, corners, res)

0 commit comments

Comments
 (0)