net.beadsproject.beads.data
Class Sample.TimedRegime

java.lang.Object
  extended by net.beadsproject.beads.data.Sample.Regime
      extended by net.beadsproject.beads.data.Sample.TimedRegime
Enclosing class:
Sample

public static class Sample.TimedRegime
extends Sample.Regime

A TimedRegime stores only some parts of the audio file in memory at a time. It is useful for very large audio files, for audio streaming (e.g., playing an mp3), or for samples of which only a small part is used.

A sample with a TimedRegime loads "regions" of sample data and buffers them according to various parameters. See the method documentation for more details, but briefly, the parameters are:


Nested Class Summary
static class Sample.TimedRegime.Order
           
 
Field Summary
 Sample.TimedRegime.Order loadingOrder
           
 long lookAhead
           
 long lookBack
           
 long memory
           
 long regionSize
           
 
Fields inherited from class net.beadsproject.beads.data.Sample.Regime
storeInNativeBitDepth
 
Constructor Summary
Sample.TimedRegime()
           
Sample.TimedRegime(long regionSize, long lookAhead, long lookBack, long memory, Sample.TimedRegime.Order loadingOrder)
           
Sample.TimedRegime(long regionSize, long lookAhead, long lookBack, long memory, Sample.TimedRegime.Order loadingOrder, boolean storeInNativeBitDepth)
           
 
Method Summary
 void setLoadingRegime(Sample.TimedRegime.Order lr)
          When a region is loaded, nearby regions are put on a queue to be loaded also.
 void setLookAhead(long lookahead)
          Set how many milliseconds from last loaded point to look ahead.
 void setLookBack(long lookback)
          Set how many milliseconds from last loaded point to look backwards.
 void setMemory(long ms)
          If a part of an audio file has not been accessed for some amount of time it is discarded.
 void setRegionSize(long ms)
          Specify the size of each buffered region.
 
Methods inherited from class net.beadsproject.beads.data.Sample.Regime
newStreamingRegime, newStreamingRegimeWithAging, newTotalRegime, newTotalRegimeNative
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

lookAhead

public long lookAhead

lookBack

public long lookBack

memory

public long memory

regionSize

public long regionSize

loadingOrder

public Sample.TimedRegime.Order loadingOrder
Constructor Detail

Sample.TimedRegime

public Sample.TimedRegime()

Sample.TimedRegime

public Sample.TimedRegime(long regionSize,
                          long lookAhead,
                          long lookBack,
                          long memory,
                          Sample.TimedRegime.Order loadingOrder)

Sample.TimedRegime

public Sample.TimedRegime(long regionSize,
                          long lookAhead,
                          long lookBack,
                          long memory,
                          Sample.TimedRegime.Order loadingOrder,
                          boolean storeInNativeBitDepth)
Method Detail

setLookAhead

public void setLookAhead(long lookahead)
Set how many milliseconds from last loaded point to look ahead.

Parameters:
lookahead - time to look ahead in ms.

setLookBack

public void setLookBack(long lookback)
Set how many milliseconds from last loaded point to look backwards.

Parameters:
lookback - time to look backwards in ms.

setMemory

public void setMemory(long ms)
If a part of an audio file has not been accessed for some amount of time it is discarded. The time that the part remains in memory is specified by setMemory(). Passing a value of -1 to this function will set the memory to the maximum value possible.

Parameters:
ms - Duration in milliseconds that unaccessed regions remain loaded.

setRegionSize

public void setRegionSize(long ms)
Specify the size of each buffered region.

Parameters:
ms - Size of the region (ms)

setLoadingRegime

public void setLoadingRegime(Sample.TimedRegime.Order lr)
When a region is loaded, nearby regions are put on a queue to be loaded also. The loading regime affects the order in which the nearby regions (defined by lookback and lookahead) are loaded. NEAREST (the default) will load regions nearest to the region first. ORDERED will load the regions from lowest to highest. NEAREST makes sense if you are accessing the near regions first, e.g., playing a sample backwards or forwards. ORDERED makes sense if you are accessing random nearby regions. Loading regions in order is generally quicker.

Parameters:
lr - The order to load regions.