Package com.softsynth.jmsl

Interface Summary
Alertable General interface for classes that receive an alert.
Any class implementing this interface can be plugged into a SequentialCollection and used to choose which child to launch when the SequentialCollection is acting behaviorally.
Composable Define the interface for Composable objects for JMSL.
DataTranslator MusicJob and all subclasses have a DataTranslator field (which by default is NULL).
DimensionComparison Used to write your own MusicShape sorting method.
DimensionNameSpace Provides an interface for getting and setting values by name, and associating them with a dimension.
DimensionNameSpaceEditable Define an interface for Objects which have a DimensionNameSpace and associated values, and make these values available for editing
Editable General editable interface.
FileLoaderListener Classes implementing this interface can listen for files being loaded activity by calling JMSL.addFileLoaderListener(this); Of course it is up to the classes doing the loading whether or not they want to enumerate through listeners and notify Used by SampleLoader and JMSLScoreApplet
InstrumentPlayable An object that implements InstrumentalPlayable can be add()'ed to a MusicList This is a way for non-composable Objects to be played.
Mixer Mixer is an ordered collection of faders associated with Instruments.
MusicClock Interface to real time clock
MusicDevice A MusicDevice represents a sound engine (such as midi or JSyn).
OutputProvider Used by Instrument.
Playable Playable is a root interface.
PlayLurker A PlayLurker can add itself to subclasses of MusicJob and will be notified when a child is play()'ed.
ScheduledEvent Interface for events that can be scheduled using the EventScheduler.
SequenceGenerator Define the interface for SequenceGenerator objects for JMSL.
SignalProcessingInstrument Interface for instrument whoch can accept abstract signal sources.
STDOutFunction Use to redirect text output from JMSL.out(String)
Any class that implements this interface can be the standard output of JMSL.

Class Summary
CompareDim Used to sort shapes.
DefaultDimensionNameSpace DefaultDimensionNameSpace is a singleton and cannot be instantiated.
DefaultMusicClock Default clock for JMSL uses Java millisecond timer.
DefaultSTDOut Sent output to System.out
DimAttributes The properties of one dimension, used by MusicShape.
DimensionNameSpaceAdapter General implementation of DimensionNameSpace
DimensionNameSpaceTranslator Translate an array of double from one DimensionNameSpace to another.
EventScheduler General purpose scheduler for events.
GenericNamable Used by ScoreFrame for example
InstrumentAdapter An Instrument sonifies double[] data in its play() method, either directly or by invoking its Interpreter.
Interpreter Custom interpretation of double[], called by Instrument in play() method.
JMSL Control JMSL global environment.
JMSLMixerContainer A heterogenous Mixer which can accept any Instrument whose getMixerClassName() returns a valid class name.
JMSLRandom Random number class.
KeyTranslator KeyTranslator provides translation for commonly used scales.
Limits Handy class for handling ranges between a low and a high value.
MessagePrinter A Playable that prints a message of choice.
Useful for announcing start/repeat/stop activity of MusicJobs, debugging, etc
MixerFader Useful for a Mixer to keep track of Objects associated with the idea of a fader
MusicJob Root executable object for JMSL.
MusicList MusicList
A MusicList's children are InstrumentPlayable's.
MusicShape MusicShape - a MusicJob with an abstract array of data elements.
NamedDimension A named dimension has a name, dimension (int), default, max, and min.
NonRealTimeMusicClock Clock runs as fast as possible, for non-realtime applications (like nonrealtime JSyn or loading a JavaSound Sequencer)
Interprets shape data as MIDI style notes.
Interprets shape data as individual MIDI style notes note ONs and OFFs.
NullMixer This Mixer does very little other than implement some methods for debugging and development.
NullMusicDevice A do-nothing MusicDevice
ParallelCollection Parallel Collection for JMSL Collections can contain other Composable objects which allows a hierarchy to be created.
Player A Player has a sequence of MusicShapes and one Instrument to interpret MusicShape data.
QueueCollection A QueueCollection launches each of its Composable children in sequence.
SequentialCollection A sequential collection launches each of its Composable children in sequence.
SustainingInterpreter SustainingInterpreter
An interpreter that interprets shape data, sustains that for some duration, then shuts it down.

Here is an example of defining interpret(), which turns ON an event, and interpretOff() which turns it OFF

Translator Translators are used for converting from one numeric system to another.
UniformRandomBehavior Choose a child to launch with a uniformly distributed random selection.

Exception Summary
MusicShapeDimensionException Thrown when you try to add() an array whose length is incompatible with dimension of MusicShape