com.frinika.sequencer.model.timesignature
Class TimeSignatureList

java.lang.Object
  extended by com.frinika.sequencer.model.timesignature.TimeSignatureList
All Implemented Interfaces:
java.io.Serializable

public class TimeSignatureList
extends java.lang.Object
implements java.io.Serializable

Maintains a list of time signature changes. TODO the iterators need to implement a locking mechanism to avoid concurrent modification Please use iterators if posible. Faster than repeated querries.

Author:
pjl
See Also:
Serialized Form

Nested Class Summary
static interface TimeSignatureList.QStepIterator
          Interface for an iterator
 class TimeSignatureList.QStepIteratorBar
          Iterates on bar between beat1 and beat2
 class TimeSignatureList.TimeSignatureEvent
           
 
Constructor Summary
TimeSignatureList()
           
 
Method Summary
 void add(int bar, int nBeatPerBar)
           
 TimeSignatureList.QStepIterator createQStepIterator(double beat1, double beat2, double step)
          Create an iterator between beat1 and beat2
 int getBarContaining(int beat)
           
 int getBeatAtBar(int bar)
           
 TimeSignatureList.TimeSignatureEvent getEventAtBeat(int beat)
           
 java.util.Vector<TimeSignatureList.TimeSignatureEvent> getList()
           
 TimeSignatureList.TimeSignatureEvent getTimeSignutureEventAtBar(int bar)
           
static void main(java.lang.String[] args)
           
 void reco()
           
 void remove(int bar)
           
 void remove(int tick1, int tick2)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TimeSignatureList

public TimeSignatureList()
Method Detail

remove

public void remove(int bar)

add

public void add(int bar,
                int nBeatPerBar)

remove

public void remove(int tick1,
                   int tick2)

reco

public void reco()

getList

public java.util.Vector<TimeSignatureList.TimeSignatureEvent> getList()

getBeatAtBar

public int getBeatAtBar(int bar)

getTimeSignutureEventAtBar

public TimeSignatureList.TimeSignatureEvent getTimeSignutureEventAtBar(int bar)

getBarContaining

public int getBarContaining(int beat)

getEventAtBeat

public TimeSignatureList.TimeSignatureEvent getEventAtBeat(int beat)

createQStepIterator

public TimeSignatureList.QStepIterator createQStepIterator(double beat1,
                                                           double beat2,
                                                           double step)
Create an iterator between beat1 and beat2

Parameters:
beat1 - should be a multiple of step
beat2 -
step - should be a divisor of 1 OR negtive will step by whole bars
Returns:

main

public static void main(java.lang.String[] args)
                 throws java.io.FileNotFoundException,
                        java.io.IOException,
                        java.lang.ClassNotFoundException
Throws:
java.io.FileNotFoundException
java.io.IOException
java.lang.ClassNotFoundException