Class: XRVG::Roller
Overview
Experimental class to add discrete processing in float processing chains
Roller["white","black"].samples(3) => ["white","black","white"]
Class Method Summary collapse
-
.[](*args) ⇒ Object
:nodoc:.
Instance Method Summary collapse
-
#initialize(*args) ⇒ Roller
constructor
:nodoc:.
- #next ⇒ Object
-
#transform(abs) ⇒ Object
:nodoc:.
Methods included from Samplable
#apply_sample, #apply_samples, build, #mean, #rand, #sample, #samples
Methods included from FloatFunctor
#addfilter, #alternate, #apply, #applyhash, #compute, #filter, #generate, #geo, #geofull, #modify, #process, #random, #shuffle, #sin, #ssort, #transforms, #trigger
Constructor Details
#initialize(*args) ⇒ Roller
:nodoc:
543 544 545 546 |
# File 'lib/samplation.rb', line 543 def initialize( *args ) #:nodoc: @index = 0 @items = args end |
Class Method Details
.[](*args) ⇒ Object
:nodoc:
548 549 550 |
# File 'lib/samplation.rb', line 548 def Roller.[](*args) #:nodoc: return self.new(*args) end |
Instance Method Details
#next ⇒ Object
561 562 563 |
# File 'lib/samplation.rb', line 561 def next() return transform( 0.0 ) end |
#transform(abs) ⇒ Object
:nodoc:
552 553 554 555 556 557 558 559 |
# File 'lib/samplation.rb', line 552 def transform( abs ) #:nodoc: result = @items[@index] @index += 1 if @index >= @items.size @index = 0 end return result end |