package org.jfugue; /** * This class is used to generate pre-defined Patterns during runtime. A perfect * use of this class would be to extend it and make your new class generate * rhythms of various music styles, like Rock, Swing, or 8-Beat. You could also * use it to generate a series of tones or notes that uniquely identifies your * product. * * @author David Koelle * @version 2.0 */ public abstract class PatternFactory { public abstract Pattern getPattern(int selection); public abstract int getNumberOfPatterns(); /** * Takes all of the patterns generated by the PatternFactory, and adds them * together into one Pattern that can be used to hear all of the music the * PatternFactory is capable of producing. */ public Pattern getDemo() { Pattern returnPattern = new Pattern(); for (int i = 0; i < getNumberOfPatterns(); i++) { returnPattern.add(getPattern(i)); } return returnPattern; } }