Class BeatDivisionSchemeList

java.lang.Object
com.softsynth.jmsl.score.transcribe.BeatDivisionSchemeList

public class BeatDivisionSchemeList
extends java.lang.Object
This class holds a static Vector of BeatDivisionSchemes, which are valid for the entire piece under examination. A BeatDivisionScheme holds info on how to divide up a window up time (ex. triplet, with 2/3 members required to be found to qualify)

defaultSetup() sets up a BeatDivisionSchemeList of general purpose use. Code and explanation for a few BeatDivisionSchemes follow:
 
 // 16ths
 BeatDivisionScheme b = new BeatDivisionScheme();
 // covers a quarter note
 b.setTimeSpan(1.0);
 // could just be 1/4 of a quarter note
 b.setMinTimeSpan(0.25);
 // any number of sixteenths in beat span should be considered
 b.setMinRequired(0);
 // time span split into how many divisions by this
 b.setNumberOfDivisions(4);
 // Can this beat division scheme fill a beat independently of what beat it start on in the
 // measure?
 b.setConformToBeat(true);
 // add this beatDivisionScheme to the overall quantization strategy
 BeatDivisionSchemeList.addBeatDivisionScheme(b);
 
 // 8th note triplet
 b = new BeatDivisionScheme();
 b.setTimeSpan(1);
 b.setMinTimeSpan(b.getTimeSpan());
 // consider this even if only 2 of 3 triplets are present
 b.setMinRequired(2);
 b.setNumberOfDivisions(3);
 BeatDivisionSchemeList.addBeatDivisionScheme(b);
 
 // 16th quintuplet
 b = new BeatDivisionScheme();
 b.setTimeSpan(1);
 b.setMinTimeSpan(b.getTimeSpan());
 // consider this even if only 4 of 5 quintuplets are present
 b.setMinRequired(4);
 b.setNumberOfDivisions(5);
 BeatDivisionSchemeList.addBeatDivisionScheme(b);
 
 
Author:
Nick Didkovsky, Feb 7, 2002 , (c) 2002 Nick Didkovsky, All Rights reserved.
See Also:
BeatDivisionScheme
  • Constructor Details

    • BeatDivisionSchemeList

      public BeatDivisionSchemeList()
  • Method Details

    • addBeatDivisionScheme

      public static void addBeatDivisionScheme​(BeatDivisionScheme bds)
      Add a BeatDivisionScheme to this project's list of valid schemes. Valid for entire piece under examination
    • getBeatDivisionSchemes

      public static java.util.Vector getBeatDivisionSchemes()
    • removeAllBeatDivisionSchemes

      public static void removeAllBeatDivisionSchemes()
      Clear out all beat division schemes
    • size

      public static int size()
    • defaultSetup

      public static void defaultSetup()
      Sets up a BeatDivisionSchemeList of general purpose use. Code follows:
       
       // 16ths
       BeatDivisionScheme b = new BeatDivisionScheme();
       b.setTimeSpan(1.0);
       b.setMinTimeSpan(0.25);
       b.setMinRequired(0);
       b.setNumberOfDivisions(4);
       b.setMinTimeSpan(0.25);
       b.setConformToBeat(true);
       BeatDivisionSchemeList.addBeatDivisionScheme(b);
       
       // 8th note triplet
       b = new BeatDivisionScheme();
       b.setTimeSpan(1);
       b.setMinTimeSpan(b.getTimeSpan());
       b.setMinRequired(2);
       b.setNumberOfDivisions(3);
       BeatDivisionSchemeList.addBeatDivisionScheme(b);
       
       // qtr note triplet
       b = new BeatDivisionScheme();
       b.setTimeSpan(2);
       b.setMinTimeSpan(b.getTimeSpan());
       b.setMinRequired(2);
       b.setNumberOfDivisions(3);
       BeatDivisionSchemeList.addBeatDivisionScheme(b);
       
       // half note triplet
       b = new BeatDivisionScheme();
       b.setTimeSpan(4);
       b.setMinTimeSpan(b.getTimeSpan());
       b.setMinRequired(2);
       b.setNumberOfDivisions(3);
       BeatDivisionSchemeList.addBeatDivisionScheme(b);
       
       // 16th quintuplet
       b = new BeatDivisionScheme();
       b.setTimeSpan(1);
       b.setMinTimeSpan(b.getTimeSpan());
       b.setMinRequired(4);
       b.setNumberOfDivisions(5);
       BeatDivisionSchemeList.addBeatDivisionScheme(b);
       
       // 8th quintuplet
       b = new BeatDivisionScheme();
       b.setTimeSpan(2);
       b.setMinTimeSpan(b.getTimeSpan());
       b.setMinRequired(4);
       b.setNumberOfDivisions(5);
       BeatDivisionSchemeList.addBeatDivisionScheme(b);
       
       // 16th sextuplet
       b = new BeatDivisionScheme();
       b.setTimeSpan(1);
       b.setMinTimeSpan(b.getTimeSpan());
       b.setMinRequired(5);
       b.setNumberOfDivisions(6);
       BeatDivisionSchemeList.addBeatDivisionScheme(b);
       
       // 8th sextuplet
       b = new BeatDivisionScheme();
       b.setTimeSpan(2);
       b.setMinTimeSpan(b.getTimeSpan());
       b.setMinRequired(5);
       b.setNumberOfDivisions(6);
       BeatDivisionSchemeList.addBeatDivisionScheme(b);
       
       // 16th septuplet
       b = new BeatDivisionScheme();
       b.setTimeSpan(1);
       b.setMinTimeSpan(b.getTimeSpan());
       b.setMinRequired(6);
       b.setNumberOfDivisions(7);
       BeatDivisionSchemeList.addBeatDivisionScheme(b);
       
       // 8th septuplet
       b = new BeatDivisionScheme();
       b.setTimeSpan(2);
       b.setMinTimeSpan(b.getTimeSpan());
       b.setMinRequired(6);
       b.setNumberOfDivisions(7);
       BeatDivisionSchemeList.addBeatDivisionScheme(b);
       
       
    • removebeatDivisionScheme

      public static void removebeatDivisionScheme​(double timeSpan, int numberOfDivisions)