Package com.softsynth.jmsl.util

  • Interface Summary
    Interface Description
    AttributeBuildable
    A class that implements AttributeBuildable should be able to completely restore its state based on values provided by public set() methods
    BooleanListener  
    Command  
    DirectorySettable  
    HandleSpecialXMLTag
    An Object that implements this interface can define a method to handle XML tags that fall outside of the simple bean model of attribute/value pair.
    Interpolator
    An Interpolator is first set up with two (x,y) points, then can be fed any other x to get a y
    MusicShapeEditorOperator
    Interface to operate on the currently selected MusicShape in MusicShapeEditor.
    NewXMLObjectListener  
    RunRangeChecker
    A test to extract a range of objects linked to each other.
    StartStopListener  
    Tunable  
    Undoable  
    UndoRedoStackListener  
    XMLCreatable
    Classes implementing this acquire XML attributes and generate a new object from these attributes.
    XMLWritable  
  • Class Summary
    Class Description
    AccMutHolder
    Accessor and Mutator holder.
    ADSRDataMaker
    Build a simple 4 stage envelope.
    Base64
    Encodes and decodes to and from Base64 notation.
    Base64.InputStream
    A Base64.InputStream will read data from another java.io.InputStream, given in the constructor, and encode/decode to/from Base64 notation on the fly.
    Base64.OutputStream
    A Base64.OutputStream will write data to another java.io.OutputStream, given in the constructor, and encode/decode to/from Base64 notation on the fly.
    BeanEditor
    Dialog to change values of a bean.
    BeanInspector
    Scan the public get and set methods of a class.
    Bessel
    Nick Didkovsky 12/9/98 11:41PM
    ChebyshevPolynomial
    ChebyshevPolynomial
    ChebyshevTableData
    ChebyshevTableData
    Provides an array of short[] containing data generated by Chebyshev polynomial.
    Input to Chebyshev is -1..1, output is -1..1, scaled to -32768..32767 and stored in short[]
    CopyMusicShapeEditorOperator
    copy selected range to MusicShapeEditor's static copy buffer
    DataTranslatorVector
    A Vector of DataTranslator.
    EchoingByteArrayOutputStream
    An output stream which contains a ByteArrayOutputStream.
    EnvelopeDataMaker
    Use an arbitrary interpolator to make a sequence of linear segments approximating function shape
    EventDistributions
    Implements 'entry delay approach' to generate event densities.
    ExponentialDecayInterpolator
    Interpolate a value along an exponentially decreasing curve defined by two points (x1,y1) and (x2,y2) where x1 < x2, y1 > y2.
    ExponentialInterpolator
    Interpolate a value along an exponentially rising curve defined by two points (x1,y1) and (x2,y2) where x1 < x2, y1 < y2.
    FilenameTool  
    FitToRangeMusicShapeEditorOperator
    Compress or expand each element in selected range so that it fits within floor and ceiling thresholds set by user in MusicShapeEditor
    FrequencyToPitchTranslator
    Use this to translate a double[] where frequency is in data[1] and Instrument expects pitch Uses TuningET.getPitch() for default 12tet tuning
    FunkyBean
    A bean for testing com.softsynth.jmsl.util.BeanEditor
    HailstoneSequence
    Generate "Hailstone Sequence" based on an article in Scientific American FIXME - find reference.
    HalfCosineInterpolator
    Interpolate a value along an S curve (half cosine)
    HarmonicComplexity
    Some tools for handling intervals ordered by their "harmonic complexity."
    From least to most complex, I'm suggesting:
    {0, 7, 5, 4, 9, 3, 10, 6, 2, 8, 11, 1 }

    I came up with my ranking with a simple model: examine partials one by one up from the root.
    HarmonicPolynomial
    HarmonicPolynomial
    This is just like ChebyshevPolynomial, except T0 is defined to be 0 instead of 1.
    InstrumentXMLLoader
    Behaves like simpleXMLLoader except that it knows it's got an Instrument, and call MusicDevice.open() in endElement()
    InvertMusicShapeEditorOperator
    Invert a range of a MusicShape about the inversion level set by user.
    JMSL103NameMap
    Translate defunct v101 class names to new replacements.
    JMSLClassLoader
    Use JMSLClassLoader.load(classname) instead of Class.forName(classname).
    JMSLClassLoader.load() first tries Class.forName().
    JMSLMath
    Some static methods for logarithms and other misc useful math
    LinearAccelerator
    Calculate the accelerated duration of an event, given the acceleration, the event's starting time, and its duration.
    LinearInterpolator
    Interpolate a value along a line defined by two points (x1,y1) and (x2,y2)
    MarkovObjectChooser
    First order Markov table and Markov Chain generator
    MIDIFileToMusicShape
    MIDIFileToMusicShape Parse a MidiFile and build a ParallelCollection of MusicShape
    If the MidiFile is Type 1 (which includes Track chunks), one MusicShape will be created for each track.
    MidiPitchNamer
    Input is a Midi style pitch (ex 60 for middle C)
    Translate to pitch name & octave
    Example 60 -> "C4", 61 -> "C#4" With setAccPrefSharp(false), 61 -> "Db4"
    MidiTempoHolder  
    MultiInterpolator
    A sequence of Interpolators each of which is active for a particular range of x.
    ObjectArrayEnumerator
    provide Enumerator for Object[]
    Oof
    One over F distribution after R.F.
    PasteMusicShapeEditorOperator
    Paste to current MusicShapes location the contents of the 0th element in MusicShapeEditor's static copy buffer.
    Patch
    Represents the output of one instrument being patched to the input of another.
    PlayTimeDoubleArrayPair
    This is used by TunedSynthNoteInstrument.update() and its subclasses to retrieve synthnotes based on update dimension and most recent playtime of double[] data
    Polynomial
    Polynomial
    Implement polynomial using MusicShape as coefficient holder.
    PolynomialTableData
    PolynomialTableData
    Provides an array of short[] containing data generated by a polynomial.
    Primes
    use sieve of eratosthenes to find prime number nearest to requested value.
    PtolemyTuning  
    RandomDriver
    RandomDriver, an object of this type generates a random number sequence whose seed can be set and gotten.
    RandomEnvDataMaker
    Build a random n stage envelope.
    RandomizeMusicShapeEditorOperator
    Randomize values of selected elements within the min/max ranges set by user in MusicShapeEditor
    RandomSequence
    Generate evenly distributed pseudo-random sequence of integers within a given inclusive range.
    RandomWalkSequence
    Generate pseudo-random sequence of integers within a given inclusive range.
    RemoveMusicShapeEditorOperator
    Remove selected range from a MusicShape in MusicShapeEditor
    RetrogradeMusicShapeEditorOperator
    Reverse a range of a MusicShape
    RunRange  
    RunRangeFinder
    This class scans its Objects, applies an arbitrary boolean test to them and generates a Vector of RunRange.
    ScaleMusicShapeEditorOperator
    transpose and scale selected range of MusicShape by (v2 / v3) or (v3 / v2)
    ScaleToTotalMusicShapeEditorOperator
    Sum the total of selected range.
    ScrambleMusicShapeEditorOperator
    Scramble selected range of a MusicShape in MusicShapeEditor
    SequencerGeneratorAdapter
    SequenceGenerator with reusable random driver implementation Contains its own RandomDriver which can be used to make random choices.
    SimplePrintingInterpreter
    An Interpreter that simply prints the time and the MusicShape data it is being handed.
    SimpleXMLLoader
    Read in an XML file that describes an Object, and recreate the object with values found for all matching get/set methods that handle primitive types (String, boolean, int, double), Example, Class com.widgits.City below has matching get/set methods for popuation
    SimpleXMLSaver
    Write out an XML file that describes an Object, with values for all matching get/set methods that handle primitive types (String, boolean, int, double), the class name, and tag of your choice.
    SortMusicShapeEditorOperator
    Sort in ascending order a selected range of a MusicShape.
    Sorts
    Sort array of double.
    TimePrinter  
    TimeSignature
    TimeSignature class.
    TransposeMusicShapeEditorOperator
    Transpose selected range of MusicShape by v1
    Tuning  
    TuningET
    TuningET Equal tempered Tuning
    TuningTable  
    UnZoomMusicShapeEditorOperator
    Zoom out to entire range of elements in MusicShape
    WeightedIntegerSequence
    Define an array of weights where the weight of int i is associated with the value weights[i]
    next() chooses an int 0..weights.length-1, following a weighted distribution


    For example, the weight array { 1.0, 1.0 } will generate values 0 and 1 with a 50/50 distribution
    The weight array { 1, 2, 1 } will generate ints 0, 1, 2, with the probability of 1 being chosen twice as high as the probability of 0 or 2 being chosen.
    WeightedObjectChooser
    Holds objects and associated weights.
    XMLString  
    ZoomMusicShapeEditorOperator
    Zoom in to selected range on MusicShape
  • Exception Summary
    Exception Description
    XMLLoaderException