sky.monome.sequence
Class RandomOffsetSequenceIterator<S extends Sequencer<S,B>,B extends ButtonManager<B>>

java.lang.Object
  extended by sky.monome.sequence.RandomOffsetSequenceIterator<S,B>
Type Parameters:
S - Type of sequencers that use these sequence iterators.
B - Type of button managers used by the sequencers that use these sequence iterators.
All Implemented Interfaces:
SequenceIterator<S,B>

public class RandomOffsetSequenceIterator<S extends Sequencer<S,B>,B extends ButtonManager<B>>
extends java.lang.Object
implements SequenceIterator<S,B>

Iterator over a sequencer's sequence which progresses in the sequence with a randomly choosen direction at each step.

Since:
SkyMonome v1.1
Author:
PJ Skyman

Nested Class Summary
static class RandomOffsetSequenceIterator.RandomOffsetType
          Type of generated random offsets.
 
Constructor Summary
RandomOffsetSequenceIterator()
          Constructs a random offset sequence iterator with the default type of generated random offsets RandomOffsetType.UPWARD_BACKWARD_OR_NOTHING.
RandomOffsetSequenceIterator(RandomOffsetSequenceIterator.RandomOffsetType randomOffsetType)
          Constructs a random offset sequence iterator with the specified type of generated random offsets.
 
Method Summary
 int getNextStep(S sequencer)
          Returns the next step number for the specified sequencer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RandomOffsetSequenceIterator

public RandomOffsetSequenceIterator()
Constructs a random offset sequence iterator with the default type of generated random offsets RandomOffsetType.UPWARD_BACKWARD_OR_NOTHING.


RandomOffsetSequenceIterator

public RandomOffsetSequenceIterator(RandomOffsetSequenceIterator.RandomOffsetType randomOffsetType)
Constructs a random offset sequence iterator with the specified type of generated random offsets.

Parameters:
randomOffsetType - Type of generated random offsets.
Method Detail

getNextStep

public int getNextStep(S sequencer)
Returns the next step number for the specified sequencer.

Specified by:
getNextStep in interface SequenceIterator<S extends Sequencer<S,B>,B extends ButtonManager<B>>
Parameters:
sequencer - Sequencer which demands the next step.
Returns:
The next step number for the specified sequencer.