All Classes

Class Description
AboutFrame
Display a frame containing a textarea with info on keystroke shortcuts
AccidentalDisagreementsReporter
For each measure in a score, look for pitch classes that are spelled with different accidentals and report
AccidentalLevelManager
Keep track of what accidentals are in force for what levels in a staff.
AccidentalPlacementCalculator  
AccidentalPreferenceTransform
Set preferred accidental for selected Notes.
AccidentalsFontConstants
Constants for Hilton's Accidentals font which we use because Sonata font does not have microtonal accidentals
AccidentalsMusicGlyphRenderer  
AccidentalVisibilityPolicyTest  
AccidentalVisibilityPolicyTransform
Set accidental visibility policy for selected Notes.
AccMutHolder
Accessor and Mutator holder.
AddNotesToScore
This simply uses addNote(dur) to add notes to a Score.
ADSRDataMaker
Build a simple 4 stage envelope.
Alert  
Alertable
General interface for classes that receive an alert.
AlgorithmicTimbreDemo
VERY IMPORTANT EXAMPLE FOR JMSL/JSyn2 interaction!!!! Create a MusicShape with an Instrument that controls the various input ports on some JSyn UnitVoice.
AlgorithmicTimbreScoreDemo
Generate a JMSL Score algorithmically.
AllocatedSynthVoiceLookup Deprecated.
use the pure Java JSyn2 package instead
AllocatorFreeEvent Deprecated.
use the pure Java JSyn2 package instead
AltEnharmonicSpellingToggleTransform
Toggle a note between using alternate enharmonic spelling or not
AmplitudeTransform
Change amplitude of selected notes.
AnimationTextDemo
An animation canvas is repainted 10 times a second.
AnimationTextDemoWithSound
Extends AnimationApplet in jmslexamples substituting MusicJob "scripts" that move the characters around while also making sound.
AppletAlert
A Dialog-like class for applet 11/9/2000 3:49PM
ArrayEditorPanel  
AttributeBuildable
A class that implements AttributeBuildable should be able to completely restore its state based on values provided by public set() methods
AutoBeamer  
AutoBeamTransform  
AutopanningSawtooth Deprecated.
use the pure Java JSyn2 package instead
AutoPanningSawtoothBL  
BackgroundColorInstrument
A simple Instrument subclass that interprets element [0] as duration and the rest as rgb color values
BandPassSynthNote Deprecated.
use the pure Java JSyn2 package instead
BandPassUnitSink
Signal processing.
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.
BeamGroup
BeamGroup is a utility class that describes beaming for a specific time signature.
BeamGroupCollection  
BeamGroupCollectionIO  
BeamGrouper  
BeamGroupTest
test beam grouping, ie assigning groupings to a time signature (7/8 beamed as 2,2,3 versus 3,2,2 for example
BeamGroupTransform  
BeamRenderer
A class with static methods to draw Beams across a Vector of Notes.
New broken secondary beam direction algorithm 2015-05-21.
BeamTransform
Beam/unbeam selected Notes.
BeanEditor
Dialog to change values of a bean.
BeanInspector
Scan the public get and set methods of a class.
BeatDivision
This class handles one beat of music events.
BeatDivisionList
This class holds a collection of candidate BeatDivision's competing for a particular beat of a particular measure.
BeatDivisionScheme
This class specifies a unique division of a beat (triplet, quintuplet, etc).
BeatDivisionSchemeList
This class holds a static Vector of BeatDivisionSchemes, which are valid for the entire piece under examination.
Behavior
Behavior.java
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.
BehavioralColDemo
BehavioralColDemo.java Two jobs stuffed into a SequentialCollection, then launched.
Bessel
Nick Didkovsky 12/9/98 11:41PM
BesselDemo
BesselDemo.java Graph integer order Bessel functions, superimposed on one canvas.
BigNoteheadStemPlacement  
BinaryCopyBufferTransform
BinaryCopyBufferTransform
Operate on two copy buffers, send output to a third copyBuffer.
BinaryCopyBufferTransformCommand  
BooleanDialog  
BooleanListener  
Brass Deprecated.
use the pure Java JSyn2 package instead
BrassSynthNote Deprecated.
use the pure Java JSyn2 package instead
BravuraFontConstants
constants for Bravura font support http://www.smufl.org/files/smufl-1.12.pdf
BravuraFontTest
Displays Bravura Font characters in a JPanel.
BravuraMusicGlyphRenderer  
BravuraMusicGlyphRendererTest
JMSL Score lets you add custom music glyph renderers, that might use a real music font for example.
BussedVoiceAllocatorMultiOut Deprecated.
use the pure Java JSyn2 package instead
BVAClassName Deprecated.
use the pure Java JSyn2 package instead
ChangeActiveVoices
For Cindy Bui.
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[]
ClassBrowser  
ClassBrowserTest
Look for instances of com.softsynth.jsyn.SynthNote in classpath bug: grinds to a silent halt when it encounters JMSLInstrumentToMax which Class.forName() croaks on any subclass of MaxObject
ClassFinder
Look for classes of some type in classpath
ClassForNameTest  
ClassListener
Get a call back from a ClassBrowser
Clef
Clef.java
A Clef has one of four types, TREBLE, ALTO, TENOR, or BASS and a level offset, used to calculate level on a staff where a Note should sit.
ClefRenderer  
ClockTicker
MusicJob which acts like a simple hh:mm:ss timer
ColToot02  
ColToot03  
ColToot04  
ColToot05  
Command  
CompareDim
Used to sort shapes.
Composable
Define the interface for Composable objects for JMSL.
ConvergeToMeanTransform
Calculate the mean pitch of all notes in the copy buffer.
Set the pitch of each according to the position in the buffer: early notes changed minimally, later notes attracted maximally to mean.
CopyBuffer
CopyBuffer is a temporary place to copy selected elements, to enumerate through and delete for example, or to parse out into a new ScoreCollection Object
CopyMusicShape  
CopyMusicShapeEditorOperator
copy selected range to MusicShapeEditor's static copy buffer
CrescRenderer
A class with static methods to draw cresc across Notes.
CrescTransform
(De)Cresce/un(De)cresc selected Notes.
CustomFader
Our own horizontal fader (scrollbar), subclass of canvas, which uses CustomFaderListener interface to communicate with parent.
CustomFaderListener
Interface to get values back from a CustomFader.
CustomTuningVirtualKeyboard
A TuningTable is a Tuning which has frequencies specified.
DataTranslator
MusicJob and all subclasses have a DataTranslator field (which by default is NULL).
DataTranslatorDemo
Alter performance data non-destructively using DataTranslator Play a MusicShape with chromatic pitches.
DataTranslatorVector
A Vector of DataTranslator.
DataTranslatorVectorDemo
Chain multiple DataTranslators together in a sequence.
DefaultDimensionNameSpace
DefaultDimensionNameSpace is a singleton and cannot be instantiated.
DefaultMidiListener
MidiListener that prints incoming Midi messages to JMSL.out

Source:
DefaultMusicClock
Default clock for JMSL uses Java millisecond timer.
DefaultSTDOut
Sent output to System.out
DelayWithFeedback  
DeleteCommand
Undoable Delete.
DeleteMeasureCommand  
DeleteStaffCommand  
DetachGraceNoteTransform  
DimAttributes
The properties of one dimension, used by MusicShape.
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.
DimensionNameSpaceAdapter
General implementation of DimensionNameSpace
DimensionNameSpaceComparison  
DimensionNameSpaceEditable
Define an interface for Objects which have a DimensionNameSpace and associated values, and make these values available for editing
DimensionNameSpaceEditorDialog
Dialog to create and edit a DimensionNameSpace from scratch.
DimensionNameSpaceEditorExample
This class has a double[] that can be edited by a DimensionNameSpaceEditPanel
DimensionNameSpaceEditorTest  
DimensionNameSpaceTranslator
Translate an array of double from one DimensionNameSpace to another.
DimensionNameSpaceValuesEditorPanel  
DimValueEditPanel
Panel containing a label for Dimension name and index, scrollbar, textField for value, and edit checkbox
DirectorySettable  
DirectoryTraverser
Traverse all files in a directory and recurse on all subdirectories.
DirtyListener
When a score is edited, the EditManager notifies the Score that it is "dirty".
DotTransform
Cycle through setting 0, 1, 2 dots on Notes in Selection Buffer.
DoubleTransform
Double duration of selected notes.
DrawingCanvas  
DrawOnScore
Draw on top of a score using call back
DrawOnScore2
Draw on top of a rendered score repeatedly, save each resulting image as jpeg image sequence Using new callback via scorecanvaslistener to add drawing on top of score.
DrawWithMouseOnScore
Use the new scoreCanvasDragged() callback in ScoreCanvasListener to draw onto a Score with the mouse.
DrippyNoteOrnament
NoteOrnament subclasses allows users to create custom classes that draw into the note's Graphics context.
DualUseGraphicsScoreTest
Switch between AWT and Swing.
DurationDefaultShortcutCommand  
DurationReporter
Run through each staff of each measure and see if there are too many or not enough notes in each.
DurationTransform
Set all durations to specified core duration
DynamicTransform
Change dynamic value of Notes in Selection Buffer.
EchoingByteArrayOutputStream
An output stream which contains a ByteArrayOutputStream.
Editable
General editable interface.
EditListener  
EditManager
This class makes decisions about things like cursor placement, note selection, based on mouse clicks.
EditManagerListener  
EditScoreDialog
Edit global properties of a score
EditStateListener  
EditStateProvider
This interface provides info to Edit manager
JMSL Notation Project
EighthTones
Generate a eighth tone scale with quarter tone accidentals.
ElementMissedException  
Encodings  
EnharmonicNoteTest
Exercise enharmonic spelling of notes.
EnvelopeDataMaker
Use an arbitrary interpolator to make a sequence of linear segments approximating function shape
EventDistributions
Implements 'entry delay approach' to generate event densities.
EventDistributionsDemo
Nick Didkovsky Sept.
EventDistributionsJSynDemo
Launch a MusicJob whose performance density is generated by a Myhill Distribution.
EventDistributionsJSynDemoWithScore
Launch a MusicJob whose performance density is generated by a Myhill Distribution.
EventExample  
EventScheduler
EventScheduler.java General purpose scheduler for events.
EventSchedulerWithThreadSleep
EventScheduler.java General purpose scheduler for events.
EvSchedMusicListTest  
ExpDecayInterpTest
Build an exponentially decreasing shape and display in Shape Editor
ExpInterpTest  
ExponentialDecayInterpolator
Interpolate a value along an exponentially decreasing curve defined by two points (x1,y1) and (x2,y2) where x1 < x2, y1 > y2.
ExponentialInterpDemo  
ExponentialInterpolator
Interpolate a value along an exponentially rising curve defined by two points (x1,y1) and (x2,y2) where x1 < x2, y1 < y2.
ExtendedStaffLines  
FaderCircuit
This pure Java JSyn Circuit manages a pannable input ad gain.
FaderUnit Deprecated.
use the pure Java JSyn2 package instead
FileListener
Get a call back from a DirectoryTraverser
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
FilenameTool  
FilteredSawtoothBL  
FilteredSawtoothExpLag Deprecated.
use the pure Java JSyn2 package instead
FilteredWhiteNoise Deprecated.
use the pure Java JSyn2 package instead Wire is available from: http://www.softsynth.com/wire/
FitToRangeMusicShapeEditorOperator
Compress or expand each element in selected range so that it fits within floor and ceiling thresholds set by user in MusicShapeEditor
FixedRateSampleReader Deprecated.
use the pure Java JSyn2 package instead
FixedRateSampleReaderMono Deprecated.
use the pure Java JSyn2 package instead
FixedRateSampleReaderStereo Deprecated.
use the pure Java JSyn2 package instead
FlasherFunction  
FMCircuit Deprecated.
use the pure Java JSyn2 package instead
FMNoodler
FMNoodler noodles around with the frequency and modulation parameters of an FM pair.
FMPair
Classic FM Pair.
FMPair
Classic FM Pair.
FMPairBlaster  
FMSpectrumApplet  
FMSpectrumCalculator  
FMSynthNote Deprecated.
use the pure Java JSyn2 package instead
FMVoice  
FMVoice  
FourTracksPerStaff
Put four tracks of music on one staff.
FreqSynthNoteInstrument Deprecated.
use the pure Java JSyn2 package instead
FrequencyDataTranslatorDemo
Use a DataTranslator to convert data from frequencies to pitches so pitch based instruments can perform a MusicShape where frequencies are specified.
FrequencyDelay Deprecated.
use the pure Java JSyn2 package instead
FrequencyToPitchTranslator
Use this to translate a double[] where frequency is in data[1] and Instrument expects pitch Uses TuningET.getPitch() for default 12tet tuning
FullFeaturedJSynUnitVoiceSupport
Full featured example of using JSyn UnitVoice to play in JMSL.
FunkyBean
A bean for testing com.softsynth.jmsl.util.BeanEditor
GaussPlot  
GeneralQuantizer  
GenericNamable
Used by ScoreFrame for example
GlissManager  
GlissTransform
Gliss/Ungliss selected Notes.
GoofyFace
Testable implementation of a ScoreCanvasListener.
GraceNoteMaxRollbackCalculator  
GraceNoteTest  
GraceNoteTest2  
GraceNoteTest3  
GrainMaker
Generate a CSound score file using statistical distributions of grains read from input sound file Example of one line of output: ; ins strt dur amp skip atk rel pan i1 0 0.01 .5 0 .0025 .0025 0.5 Assumes a CSound orc file like the following, where "aiff\marimba.aif" is the source for grains and has length 0.126 sec.
GrainMakerApplet  
HailstoneSequence
Generate "Hailstone Sequence" based on an article in Scientific American FIXME - find reference.
HailStoneTest  
HalfCosineInterpolator
Interpolate a value along an S curve (half cosine)
HalveTransform
Cut duration of selected notes in half.
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.
HardCodedMusicJob  
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.
HelloJMSL
A simple JMSL class to test JMSL installation.
HeuristicSearch
Search through a MeasureBeatDivisions object for the minimum cost path.
HierarchicalMenuBuilder
Generate a menu whose submenus correspond to dot-delimitted Strings.
HierarchicalMenuExample
Build hierarchical menus from fully qualified classnames
HierarchicalMenuListener  
HocketTransform
HocketTransform
HoldTransform
Change hold (sustain time) of selected notes based on a ratio to its duration.
HyperTimePlayback
play a score back in hyper time and send out instrument info
InsertMeasureCommand  
InsertStaffCommand  
InsToot03  
InsToot04  
InsToot05  
InsToot07EZa  
InsToot07EZb  
InsToot09  
InsToot10  
InsToot10Simple  
InsToot11  
Instrument
Instrument interface.
InstrumentAdapter
An Instrument sonifies double[] data in its play() method, either directly or by invoking its Interpreter.
InstrumentDemo  
InstrumentLibraryChooser  
InstrumentOnOff
Use a MusicJob to turn an Instrument on() for five seconds, then shut it off().
InstrumentOnOffUpdate
Use a MusicJob to turn an Instrument on() for two seconds, update its timbral dimensions numerous times, then shut it off().
InstrumentPlayable
An object that implements InstrumentalPlayable can be add()'ed to a MusicList This is a way for non-composable Objects to be played.
InstrumentXMLLoader
Behaves like simpleXMLLoader except that it knows it's got an Instrument, and call MusicDevice.open() in endElement()
Interpolator
An Interpolator is first set up with two (x,y) points, then can be fed any other x to get a y
Interpreter
Custom interpretation of double[], called by Instrument in play() method.
InvertMusicShapeEditorOperator
Invert a range of a MusicShape about the inversion level set by user.
InvisibleTupletTest  
JavaSoundMidiApplet
Set JMSL midi output to Java Sound MIDI device.
JavaSoundMidiExample
Play a self-modifying MusicShape with a JMSL MidiInstrument using MidiIO_JavaSound as MusicDevice

SoundFont support! As of Java 1.7 uses Gervill JavaSound.
JavaSoundMIDIExample2
Play a self-modifying MusicShape with a JMSL MidiInstrument using MidiShare as MusicDevice

First install and test MidiShare!!! JMSL has a couple of MidiShare applications in the src/testmidishare folder.
JavaSoundMidiRenderer
Load up a JavaSound Sequencer with data derived from a Score
JavaSoundMidiTest
Set JMSL.midi to MidiIO_JavaSound and play some Midi melodies MOD 4/14/09: adding non-real-time example, which plays the MusicShape with MIDI logging on, Midi quiet, and non real time music clock
JMSL
Control JMSL global environment.
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().
JMSLClockAdvanceFrame
A Frame with a scrollbar to let user set JMSL.clock.advance
JMSLInstrumentLibrary  
JMSLInstrumentToMax
Single Max object which receives data from ALL MaxInstruments This is the conduit from JMSL to Max.
JMSLLicenseInstaller
MOD 1/8/07 only check if it startwith JMSL.lic since some email clients add ".txt" to attachment
JMSLMath
Some static methods for logarithms and other misc useful math
JMSLMaxNotate
JMSL/Max Transcriber demo.
JMSLMixerContainer
A heterogenous Mixer which can accept any Instrument whose getMixerClassName() returns a valid class name.
JMSLMixerContainerTest
Add wildly heterogeneous Instruments to a JMSLMixer.
JMSLNetActions
Constants representing actions sent to a URL that recognizes JMSL Experimental, barely tested.
JMSLPlugin
identifies a class as being a plug-in.
JMSLRandom
Random number class.
JMSLRandomTest  
JMSLScoreApplet
Load a JMSL Score from a URL into an Applet.
JMSLScoreAppletToot  
JMSLScrollbar
Our own horizontal scrollbar, subclass of canvas, which uses JMSLScrollbarProcessor interface to communicate with parent.
JMSLScrollbarProcessor
Interface to get values back from a JMSLScrollbar.
JobDemo1  
JScoreJSynDemo
Score with a JSyn instrument orchestra
JScoreJSynPolyInsApplet
JMSL Score with SynthNote we designed by hand
JScoreJSynVariableClockRate
Cool new feature in JMSL lets you globally change the JMSL.clock rate.
JScoreOofDemo
This demo generates pitches using JMSL's 1/F sequence generator.
JScoreToot01  
JScoreToot02  
JScoreToot03  
JScoreToot05  
JScoreToot06  
JScoreToot08  
JScoreTootJavaSoundMIDI  
JScrollPaneTest  
JSyn2DimensionFun
Create a multidimensional MusicShape and Instrument that plays all input ports of a JSyn UnitVoice
JSyn2FMScore
This is a popular demo.
JSyn2MusicShapes  
JSyn2Score
Build a simple Score with an orchestra of pure Java JSyn instruments.
JSyn2SignalProcessing
One MusicShape plays SubtractiveSynthVoice, another plays a SimpleDelay.
JSyn2SimpleTest  
JSyn2Song  
JSyn2SynthClock
SynthClock to allow use of JSyn timers with JMSL
JSynDeviceSelector Deprecated.
use the pure Java JSyn2 package instead
JSynInitDialog Deprecated.
use the pure Java JSyn2 package instead
JSynInsFromClassName Deprecated.
use the pure Java JSyn2 package instead
JSynInstrumentLibraryChooser  
JSynMIDIPlayer
Play a JSyn UnitVoice with MIDI .
JSynMixer Deprecated.
use the pure Java JSyn2 package instead
JSynMixer
JSynMixer, accommodates Pure JSyn JSynInstruments with any number of parts in their getOutput().
JSynMusicDevice Deprecated.
use the pure Java JSyn2 package instead
JSynMusicDevice
MusicDevice for pure Java JSyn.
JSynQuartet
Use a ParallelCollection to play four independent voices.
JSynScore
Build a simp le Score with an orchestra of JSyn instruments.
JSynSimpleUnitVoiceInstrument  
JSynSong
Use a SequentialCollection to play ABABB "song form" with a JSyn UnitVoice instrument Upgraded to JSyn2 API Dec 6, 2016
JSynUnitVoiceInstrument
Create an Instrument by passing in the classname of a UnitGenerator.
JSynUsagePanel
JSyn UsageDisplay panel that is both Swing and AWT compatible.
Justifiable  
JustifiableNote  
Justifier
Justification of Justifiables, using two pass algorithm originally published in
D.
JustifierBaseControlFrame
O
KeyboardInstrumentPlayer
Play an Instrument by typing in a TextArea.
KeySignature  
KeySignatureRenderer  
KeySignatureTest  
KeyTranslator
KeyTranslator provides translation for commonly used scales.
LabelMidiListener
MidiListener that sets text on Label of incoming Midi messages
See MidiParser
LedgerLineVisibility
Test ledger line visibility
LilyPondWriter
LilyPond is a common music notation interpreter that generates postscript and pdf files from text-based input (visit www.lilypond.org).
Limits
Handy class for handling ranges between a low and a high value.
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)
LineInInstrument  
LineInInstrumentExample
Send a LineIn wrapped up in an Instrument to the input of an Instrument that controls a polyphonic delay.
LineInSynthNote Deprecated.
use the pure Java JSyn2 package instead
LineInVoice  
LinkedList
Singly linked list.
ListMidiDevices
List midi ports by name

Not very useful as of JMSL's default MidiShare implementation.
LongList  
LurkerPatchXMLHandler  
LurkerTest  
LyricLevelTransform
Set the Y offset of the text of the note to a constant level below the staff
MakeGraceNotesTransform  
MarkovObjectChooser
First order Markov table and Markov Chain generator
MarkRenderer
Render a Note's mark, where mark is one of the following: MARK_ACCENT MARK_STACCATO MARK_TENUTO MARK_WEDGE MARK_ACCENT_STACCATO MARK_ACCENT_TENUTO MARK_WEDGE_STACCATO MARK_FERMATA MARK_HARMONIC MARK_TRILL MARK_TRILL_FLAT MARK_TRILL_SHARP MARK_NATURAL MARK_MORDANT
MarkTransform
Change Expression Mark of all Notes in Selection Buffer.
MaxDimensionNameSpace
EventFlag signals what kind of event Max should handle: 0=off, 1=on, 2=update, 3=play
MaxInstrument
A MaxInstrument is a JMSL Instrument that can be used to send scheduled data to Max.
Measure
Measure
A ParallelCollection of Staff
JMSL Notation Project
MeasureBeatDivisions
Holds a BeatDivisionList for each beat of an entire measure.
MeasureExtractor
Given a source MusicShape where dimension 0 stores absolute times for events (as opposed to relative durations), pull out a subset of the MusicShape that fall within a measure's time window.
MeasureMetronome  
MeasureMetronomeListener  
MeasureNumberNotify
This class is added to the start and repeat listeners of the ScoreCollection to notify the ScoreLayoutManager for autoscrolling.
MeasuresWithRestsOperator  
MeasureTextEditor
Dialog to set text for a Measure
MessageFrame
A frame that resizes according to the size of the message in its label This is always AWT.
MessagePrinter
A Playable that prints a message of choice.
Useful for announcing start/repeat/stop activity of MusicJobs, debugging, etc
MessagePrintingPlayable  
MidiDimensionNameSpace
MidiDimensionNameSpace is a singleton and cannot be instantiated.
MIDIFileEvent
Contains information for an event found in a MIDIFile
MIDIFileImage
Contains an image of a MIDIFile.
MidiFileImageManager  
MIDIFileInputStream
MIDI File Parser.
Parse tracks and events from an InputStream and pass the information to a MIDIFileListener.
MIDIFileListener
MIDI File Listener This class is called by the MIDI File Input Stream when it parses MIDI Files.
MIDIFileListenerTest  
MIDIFileMetaEvent
MIDI File Meta Event
MIDIFileOutput
MIDI File Writer.
Write tracks and events to a file.
MIDIFilePrinter
MIDI File Printer This class is called by the MIDI File Input Stream when it parses MIDI Files.
MIDIFileSysExEvent
MIDI Standard Information
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.
MIDIFileTrack
MIDI File Track It stores a tracks events as they are parsed.
MidiInitDialog
A modal Dialog that contains a MidiInitPanel
MidiInitPanel
Panel that allows user to select Midi input and output devices
MidiInputExample  
MidiInputTest  
MidiInstrument
An Instrument that outputs MIDI.
MidiInstrumentEditDialog
A modal Dialog that lets you edit a MidiInstrument
MidiIO
Abstract class that provides access to a MIDI device.
MidiIO_JavaSound
Uses Sun's JavaSound package to provide MIDI output nad input.
MidiIOFactory  
MidiListener
MidiListener.java
Any class that wishes to receive notification of Midi input events must implement this interface and register itself with MidiParser.

For example:
MidiListenerAdapter
MidiListener with do-nothing stubs.
MidiLogger
Log all midi events that flow through MidiIO, except Sysex.
MidiLoggerNonRealTimeTest
Play the hierarchy silently in non-realtime and log to MidiFile.
MidiLoggerNonRealTimeTest2
You can use MidiLogger to simply write MIDI events into the logger and finally write out a MIDI file.
MidiLoggerRealTimeTest
Perform some Midi melodies, change them in the MusicShapeEditor, and log them as they are being played.
MidiMeasureLurker  
MidiMixer
This Mixer accepts MidiInstrument and sends Midi pan and Midi volume change on their midi channels
MidiNoteLurker  
MidiNoteRecorder
MusicShape that logs Midi noteon's to a 3 dimensional MusicShape (timestamp, note, vel)
NoteOff's are logged at noteOn's with vel 0 See MidiParser
MidiNoteSimulatorCheckbox  
MidiParser
MidiParser.java
This class parses a Midi input stream.
MidiParserNoteOnInputTest  
MidiParserTest  
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"
MidiRecorderTest
Bring up a frame with Midi record/stop/play buttons.
MidiSchedulingTest
This class tests MidiScheduling by playing a parallel collection of monophonic melodies, whose timing accuracy is clearly audible.
MIDIScore
Build a simple Score with a JavaSound Midi orchestra Also demonstrates JMSL's support for high quality SoundFonts (sf2) files.
MidiScoreInstrument
Midi Instrument which is compatible with amplitude 0..1.
MIDISimple
Just play a MusicShape with a Midi instrument.
MIDISong
Use a SequentialCollection to ABAB "song form" with Midi piano SoundFont support! As of Java 1.7 uses Gervill JavaSound.
MIDIStandard
MIDI Standard Information
MidiStopNotifier  
MidiSysexSendTest
Bring up a frame with a midi init panel.
MidiTempoHolder  
MidiTrackEvent  
MidiTrackEventData  
Mixer
Mixer is an ordered collection of faders associated with Instruments.
MixerFader
Useful for a Mixer to keep track of Objects associated with the idea of a fader
MixerPanelSettingsXMLLoader
Load in pan/amp pairs into a vector.
MJToot05  
MJToot06  
MJToot07  
MJToot09  
MJToot10  
MJToot11  
MJToot12  
MultiInterpolator
A sequence of Interpolators each of which is active for a particular range of x.
MultipleScoresDemo1
Displays scores in your own gui Generate and transcribe 5 MusicShapes.
MultipleScoresDemo2
Open up a Frame and display two different scores in the same frame
MultiTrackExpressionMarks  
MultiTrackLegacyOrientationTest  
MultiTrackWedgesTest  
MusicClock
Interface to real time clock
MusicCurveRenderer  
MusicCurveRendererTest
Test Music Curve Renderer which takes care of staff lines, ledger lines, ties, slurs, cresc, decresc.
MusicDevice
A MusicDevice represents a sound engine (such as midi or JSyn).
MusicGlyphNumberRenderer  
MusicGlyphRenderer  
MusicGlyphRendererProxy
This MusicGlyph renderer builds text messages that can be sent to Max for rendering in MaxScore, or anywhere else for that matter.
MusicGlyphRendererProxyListener  
MusicGlyphRendererTest
JMSL Score lets you add custom music glyph renderers, that might use a real music font for example.
MusicGlyphRendererTestSimple
JMSL Score lets you add custom music glyph renderers, that might use a real music font for example.
MusicJob
Root executable object for JMSL.
MusicJobTest  
MusicJobTest2  
MusicList
MusicList
A MusicList's children are InstrumentPlayable's.
MusicListExample
Schedule a sequence of chord-making objects.
MusicShape
MusicShape - a MusicJob with an abstract array of data elements.
MusicShapeDemo  
MusicShapeDimensionException
Thrown when you try to add() an array whose length is incompatible with dimension of MusicShape
MusicShapeEditor
View MusicShapes and manipulate their data with the mouse.
MusicShapeEditorCanvas
A canvas on which to draw on dimension of one shape
MusicShapeEditorCanvasAWT  
MusicShapeEditorCanvasSwing  
MusicShapeEditorExample
Play a MusicShape repeatedly with a JSyn instrument, each repeat scramble the order of its elements Display the MusicShape in the MusicShapeEditor
MusicShapeEditorFrame
A convenience Frame with a MusicShapeEditor panel.
MusicShapeEditorOperator
Interface to operate on the currently selected MusicShape in MusicShapeEditor.
MusicShapeScrambling
Play a MusicShape repeatedly with a JSyn instrument, each repeat scramble the order of its elements Also demonstrates how to add a PlayLurker which is notified of elements being played by MusicShape.
MusicShapeToMIDIFile
Create a piece using two MusicShapes, a MusicJob, and three MidiInstruments playing three different programs on three different channels.
MusicXMLWriter
Export Score in MusicXML format.
MutationMeanTransform
MutationMeanTransform
The resulting melody is the pitch mean and duration mean of the two sources, specifically: the pitch of the resulting Noten = mean pitch of Aux1Noten and Aux2Noten the duration of the resulting Noten = mean duration of Aux1Noten and Aux2Noten
MutipleScoresDemo3
Launch more than one score simultaneously.
Namable  
NamedDimension
A named dimension has a name, dimension (int), default, max, and min.
Nancarrow
Launch more than one score simultaneously so you can do multi-tempo pieces, etc
NetStreamer
Experimental, untested.
NewEventScheduler
EventScheduler.java General purpose scheduler for events.
NewJMSLScore
This class creates a new Score under Max control.
NewScoreDialog
Dialog to specify global properties of a new Score
NewScoreListener  
NewXMLObjectListener  
NicksDream
Demonstrates why setTimeStretch() is *NOT* the way to smoothly speed up and slow down a collection's playback! See NicksDreamClock to see the right way to do this! Control the timestretch of a ParallelCollection of MusicShapes by moving a scrollbar.
NicksDreamClock  
NicksDreamMIDI
Control the JMSL clock rate for a ParallelCollection of MusicShapes by moving a scrollbar.
NicksDreamScore  
NonRealTimeMusicClock
Clock runs as fast as possible, for non-realtime applications (like nonrealtime JSyn or loading a JavaSound Sequencer)
Note
Note
A Note is a Playable object with dur/note/amp/hold info as well as graphic info.
NoteBeat  
NoteBlockEnumerator
Enumerate through all Notes in a rectangular selection of a Score.
NoteDimensionNameSpaceEditor
Frame with DimensionNameSpaceEditPanel.
NoteFactory
NoteFactory
Feed in a double duration and get out a Note.
NoteFlasher  
Noteheads
Exercise various notehead types.
NoteheadScale
Exercise various notehead types.
NoteheadsTest
Test various notehead types
NoteHeadTransform  
NoteheadVisibleToggleTransform  
NoteheadVisibleTransform  
NoteInterpreter
NoteInterpreter.java
Interprets shape data as MIDI style notes.
NoteJustifier
Prepare a Measure of Notes for Justifier, pass to Justifer and justify them.
NoteNamer
NoteNamer
Generate a name like "A", "B", "C", ..
NoteOnNoteOffTest
Deprecated demo.
NoteOnOff  
NoteOnOffInterpreter
NoteOnOffInterpreter.java
Interprets shape data as individual MIDI style notes note ONs and OFFs.
NoteOrnament
You can create your own NoteOrnament that will load and save with a Note.
NoteOrnamentTest  
NoteOrnamentTransform
Add a NoteOrnament to every note in selection buffer.
NoteOverrideLevelTest
Test various notehead types
NotePropertiesTransform
Abstract superclass for Transforms that apply to the properties of Notes in Selection Buffer.
NotePropertiesTransformCommand
Before operating, load a hashtable of original notes as keys pointing to their clones.
NoteRenderer
A class with static methods to draw Note objects.
NoteTextEditor
Dialog to set text for a Note or a selection of Notes.
NoteTrackEnumerator
Enumerate through all Notes in a Track, crossing Measure bar into next corresponding Track, etc
Enumerating all notes that would belong to a contiguous "melody".
NoteVisibleToggleTransform  
NoteVisibleTransform  
NoteVisiblityTest
turn note visibility on/off under program control *
NoteXMLHandler  
NoteXMLLoader  
NullMixer
This Mixer does very little other than implement some methods for debugging and development.
NullMusicDevice
A do-nothing MusicDevice
NumberOutOfRangeException  
NumTracksPerStaffChangedListener
Objects that are interested in being notified of the number of tracks being a staff being changed should implement this interface and register with score.addNumTracksPerStaffChangedListener()
ObjectArrayEnumerator
provide Enumerator for Object[]
OctavaRenderer
A class with static methods to draw 8va/8vb across Notes.
OctavaTransform
8va/8vb selected Notes.
OneSoundOnce
Just play one pitched sound once.
Oof
One over F distribution after R.F.
OofTest  
Orchestra  
OrchestraXMLLoader  
OutputProvider
Used by Instrument.
PanAmpListener  
PanAmpPair  
PanAmpPanel  
ParallelCollection
Parallel Collection for JMSL Collections can contain other Composable objects which allows a hierarchy to be created.
ParallelCollectionDemo  
ParallelMidiShapesExample
Control the speed of a ParallelCollection.
PasteAsGraceNotesTransform
Make a clone of whatever is in the copy buffer, convert to gracenotes and attach to selected Note
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.
PatchEditorListener  
PatchEditorPanel
Editor Panel for patches.
PavlosExperiment
Quarter notes that decelerate.
PerformedJSynVoice
Bundle of data created by JSynUnitVoiceInstrument.on() and play() Used to track active voices so parameters updates can be applied instantly.
PitchBendInstrument
Midi instrument that sends pitchbend in play()
PitchClassSelector
For selected measure, open a dialog and choose which piutch class to highlight.
PitchGliss
Use instrument.update() to gliss pitch * Kludgey! Don't use this, use jsyn2 example! @see jmslexamples.jsyn2.PitchGliss This is a little unusual because JMSL by default uses the pitch dimension to retrieve allocated voices when ins.update() is called.
PitchGliss
Use instrument.update() to gliss pitch Set two glisses going in opposite directions, both starting from pitch 60 This used to be a little clunky with the old JSyn API.
PitchMappedAudioSample  
PitchMappedSamplesModel
A model for holding pitches mapped to audio samples
PitchSpellerLineOfFifths
Respell a Note depending on the spelling of the previous note.
PitchToTextTransform
Set the text of selected notes to their pitches Select notes and look for "PitchToTextTransform" in the Note menu
Playable
Playable is a root interface.
Player
A Player has a sequence of MusicShapes and one Instrument to interpret MusicShape data.
PlayheadDispatcher  
PlayheadListener  
PlayheadPositionTest  
PlayLurker
A PlayLurker can add itself to subclasses of MusicJob and will be notified when a child is play()'ed.
PlayLurkerPatchManager
This holds a Vector of PlayLurkers and which staff indexes to add them to.
PlayLurkerToot01
Play a melody with a MusicShape while a PlayLurker is notified of every element played.
PlayLurkingArpeggiatorExample
PlayLurker is notified of the elements of a MusicShape as it is being played.
PlayModShape
PlayModShape.java Shows how to play JSyn with JMSL without using support classs like SynthNoteAllPortsInstrument and without using standard dimension name spaces This applet starts two Shapes in parallel.
PlaySelectedCluster  
PlayTimeDoubleArrayPair
This is used by TunedSynthNoteInstrument.update() and its subclasses to retrieve synthnotes based on update dimension and most recent playtime of double[] data
PlayTimeStretchHolder  
PlaytimeStretchNoteLurker  
PlayToot02
PlayToot02.java Play a sequence of MusicShapes with the same JSyn instrument Generate 7 MusicShapes, each 3 elements long, with random melodies and synth control params.
PlayToot03  
PluginScannerExample
Scans a folder named "jmsl_plugins" which must be in the CLASSPATH.
Polynomial
Polynomial
Implement polynomial using MusicShape as coefficient holder.
PolynomialTableData
PolynomialTableData
Provides an array of short[] containing data generated by a polynomial.
PolyphonicInstrumentDialog  
PolyTimbralScoreDemo
Score with a JSynUnitVoiceInstrument orchestra
Double click on a note to edit its timbre
This instrument takes a UnitVoice class name and max voices in its constructor, and will make each input port editable
PortView
com.didkovsky.portview is a Java package for creating UI components in either Swing or AWT (switchable depending on PortView.getViewFactory()) PortView class holds a static ViewFactory
PortViewScrollPaneTest  
PortViewTest
Build a GUI with components that can switch between Swing and AWT .
PositionedGlyph  
Primes
use sieve of eratosthenes to find prime number nearest to requested value.
PrintableScoreCanvasAWT  
PrintingJob  
PrintMidiFile
Use softsynth midifile tools to read in a midifile and print out events after they are all parsed
ProportionalNotation
Use stemless notes to generate a demo of proportional notation.
PtolemyTuning  
PVButton
com.didkovsky.portview is a Java package for creating UI components in either Swing or AWT (switchable depending on PortView.getViewFactory()) PVButton is an interface for a Button component that can be either AWT or Swing depending on ViewFactory
PVButtonAWT  
PVButtonSwing  
PVCanvas
com.didkovsky.portview is a Java package for creating UI components in either Swing or AWT (switchable depending on PortView.getViewFactory()) PVCanvas is an interface for a Canvas component that can be either AWT or Swing depending on ViewFactory
PVCanvasAWT  
PVCanvasSwing  
PVCheckbox
com.didkovsky.portview is a Java package for creating UI components in either Swing or AWT (switchable depending on PortView.getViewFactory()) PVCheckbox is an interface for a Checkbox component that can be either AWT or Swing depending on ViewFactory Note that addActionListener() is supported in Swing and addItemListener() is support by AWT.
PVCheckboxAWT  
PVCheckboxMenuItem
com.didkovsky.portview is a Java package for creating UI components in either Swing or AWT (switchable depending on PortView.getViewFactory()) PVCheckboxMenuItem is an interface for a CheckboxMenuItem component that can be either AWT or Swing depending on ViewFactory
PVCheckboxMenuItemAWT  
PVCheckboxMenuItemSwing  
PVCheckboxSwing  
PVChoice  
PVChoiceAWT  
PVChoiceSwing  
PVComponent  
PVDialog  
PVDialogAdapter  
PVDialogAWT  
PVDialogSwing  
PVFrame  
PVFrameAdapter
Implements JMSLFrame interface with a delegate implementationFrame Use this if you want to extend a Frame that can be either AWT and Swing depending on ViewFactory
PVFrameAWT  
PVFrameSwing  
PVLabel  
PVLabelAdapter  
PVLabelAWT  
PVLabelSwing  
PVMenu  
PVMenuAWT  
PVMenuBar  
PVMenuBarAWT  
PVMenuBarSwing  
PVMenuItem  
PVMenuItemAWT  
PVMenuItemSwing  
PVMenuSwing  
PVPanel  
PVPanelAdapter  
PVPanelAWT  
PVPanelSwing  
PVRadioGroup  
PVRadioGroupAWT  
PVRadioGroupSwing  
PVScrollbar
Our own horizontal scrollbar.
PVScrollbarCanvasAWT  
PVScrollbarCanvasSwing  
PVScrollbarListener  
PVScrollPane  
PVScrollPaneAWT  
PVScrollPaneSwing  
PVTextArea  
PVTextAreaAWT  
PVTextAreaSwing  
PVTextComponent  
PVTextField  
PVTextFieldAWT  
PVTextFieldSwing  
PVUsageDisplay Deprecated.
use the pure Java JSyn2 package instead
QuarterTones
Generate a quarter tone scale with sharps preferred, and another with flats preferred, to verify NoteFactory's setLevelPitch with quarter tone accidentals.
QuarterTonesTest2
Generate an eighth tone scale with flats preferred, to verify quarter tone accidental usage.
QueueCollection
A QueueCollection launches each of its Composable children in sequence.
QueueCollectionDemo
Play shapes by adding them to a queue.
QueueCollectionDrumBeats
Use QueueCollection to queue up three different drum beats interactively.
QuietPlayLurkingInstrument
Override notifyPlayLurker to do something useful, and put .class file in your jmsl_plugins folder for loading into JScore, or use directly in your own code.
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
RandomJSynMusicJobMelody
Use a MusicJob to play a melody made up of uniformly random pitches, durations, amplitudes, & hold times
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.
RawJScoreFileImporter  
RawJScoreFileListener  
RawJScoreFileParser
A raw JScore file is a text file that looks something like this: TICKSPERQUARTER 240 MAXVEL 127 STAFFS 6 NOTE 0 6 30 44 120 0 1 0 NOTE 0 6 30 41 120 0 1 0 NOTE 0 6 30 41 120 0 1 0 NOTE 0 6 30 41 120 0 1 0 NOTE 0 6 30 41 120 0 1 0 Comments: NOTE measure# track# dur pitch vel tiedoutflag beamedoutflag playstyle Make measure = -1 if you don't care to set the measure of the note explicitely, rather letting it flow into the score.
RawJScoreFilePrinter  
RawJScoreFilePrintingListener  
RemoveMusicShapeEditorOperator
Remove selected range from a MusicShape in MusicShapeEditor
RenderedMessageBean
A RenderedMessageBean may be added as a UserBean to a Measure, Staff, or Note, and executes when the object is drawn, as the very last rendering step.
RenderedMessageListener
You can get a call-back from various objects when they are rendered in a Score.
RenderedMessagesTest
Add RenderedMessageBean to measure, staff, and notes.
RepeatCountDialog
Open a dialog which provides a measure's repeat count
RestsToTiedNotes
Scan through the notes of a score, and extend notes whose hold times extend beyond their beat across a run of rests
RestToggleTransform
Toggle a note between rest and pitch
RetrogradeMusicShapeEditorOperator
Reverse a range of a MusicShape
RetrogradeTransform
UnaryCopyBufferTransform.
RingMod Deprecated.
use the pure Java JSyn2 package instead
RingModBell
Bell generated by ring modulating two triangle waves.
RunRange  
RunRangeChecker
A test to extract a range of objects linked to each other.
RunRangeFinder
This class scans its Objects, applies an arbitrary boolean test to them and generates a Vector of RunRange.
SabbathBrideMusicShape
Microtonally reasonably close transcription of Jody Diamond singing "Sabbath Bride"
SafeJCheckBoxMenuItem
Solves the problem of multiple calls to setSelected() when user only selected item once.
SampleFinderDialog  
SampleInstrumentKeyMapPanel Deprecated.
use the pure Java JSyn2 package instead
SampleInstrumentKeyMapPanel
Panel that provides a sample browser button, and tone generator mapped to a pitch and a tuning, and a button to sound the sample revised for JSyn2 Sept 30, 2018
SampleInstrumentMapperPanel Deprecated.
use the pure Java JSyn2 package instead
SampleInstrumentMapperPanel
Provide a Panel to map soundfiles on to pitches.
SampleLoader Deprecated.
use the pure Java JSyn2 package instead
SampleLoader  
SampleLoopRegioner Deprecated.
use the pure Java JSyn2 package instead
SamplePlayingInstrument
A JMSL Instrument that plays audio samples, mapped to integer pitch values.
SamplePlayingMusicShape  
SamplePlayingTest
Load samples into a SamplePlayingInstrument, assigned to pitches.
SampleRegion Deprecated.
use the pure Java JSyn2 package instead
SAPScoreWriter
Create a file that SCORE can import.
SAPScoreWriterDialog
Dialog to gather info for exporting to San Andreas Press's SCORE Music Typography System
SaveScoreToJPEGImage  
ScaledDrawingTest  
ScaleMusicShapeEditorOperator
transpose and scale selected range of MusicShape by (v2 / v3) or (v3 / v2)
ScaleToTotalMusicShapeEditorOperator
Sum the total of selected range.
ScheduledEvent
Interface for events that can be scheduled using the EventScheduler.
Score
Score has a handle to a ScoreCollection.
ScoreAnnotation  
ScoreAnnotationDialog
Dialog to annotate score
ScoreAnnotationXMLHandler  
ScoreCanvas  
ScoreCanvasAdapter  
ScoreCanvasAWT  
ScoreCanvasAWTCanvas
A renderable canvas for ScoreCanvas, AWT version.
ScoreCanvasFactory  
ScoreCanvasListener
Interface to communicate mouse activity and graphics rendering info to a listener interested in ScoreCanvas behavior.
JMSL Notation Project
ScoreCanvasSwing  
ScoreCanvasSwingJPanel
A renderable canvas for ScoreCanvas, Swing version.
ScoreChaseTest  
ScoreCollection
ScoreCollection contains the playable structure of a Score.
ScoreCollectionBehavior
Implements behavior of common music rules such as repeats and repeat counts of measures.
ScoreCommand  
ScoreCommandAddedListener  
ScoreCommandCenter
Static repository of ScoreCommand classes
Provides clones of ScoreCommands that were added
Maintains hashtable with KeyCode ints hashed to Score Command Classes
ScoreControlPanel
ScoreControlPanel
Control zoom and measure #
JMSL Notation Project
ScoreDialog
A AWT/Swing Dialog to create a new score or edit an existing one.
ScoreDurationsTest
Torture Score's ability to match arbitrary duration.
This simply uses addNote(dur) It is *not* a test of the more sophisticated transcriber Add notes with increasing Myhill ratio ...
ScoreEditManagerListenerTest
Receive notice of notes being added to a score by hand, notes being pasted, and ScoreCommands being executed Also received notice of measures being added, inserted, or deleted for Peter McCullough's PhD research in tracking compositional process
ScoreEditPanel
ScoreEditPanel
GUI Interface for edit functions
JMSL Notation Project
ScoreExportSAPDemo
Export a JScore to a TextArea in San Andreas Press's SCORE file format
Enter notes into the score, then select menu Score -> Export -> San Andreas Score and see output in TextArea
ScoreFontNamesAndScaling
demonstrates bigger measure numbering font and ability to have each measure display measure number For Jason Freeman 11-14-2011 controls over all other font names and scales also for jason freeman 1/17/2012
ScoreFrame
A PVFrame (ie dual purpose Swing or AWT frame), which hosts numerous Scores, and provides Menus for interaction.
ScoreFrameJavaSound
ScoreFrame subclass whose Midi Device is JavaSound.
ScoreHarmComplexityTest  
ScoreLayoutListener  
ScoreLayoutManager
Manage layout of measures on a rectangular drawing surface
JMSL Notation Project
ScoreLayoutManagerEnumerator
Enumerate through all Notes displayed on a page
Reads left to right, top staff to bottom staff, enumerating all notes that would belong to a contiguous "melody".
ScoreLayoutTest  
ScoreLoaderListener  
ScoreMemoryTest
Add measures and notes until java out of memeory
ScoreMIDIFileWriterListener  
ScoreMusicShapeEditor
Subclass of MusicShapeEditor that can pull in selected Notes from a Score and transcribe the MusicShape back out to the score
ScoreMusicShapeEditorOperator
Open a ScoreMusicShapeEditor in its own Frame, set to current Score.
ScoreOctavaIntervalsTest  
ScoreOperator
Classes that implement this interface can perform an arbitrary operation on a Score.
ScorePagePrinter  
ScorePainter
Tell all score components to draw themselves.
ScorePrinter  
ScoreRenderDelayFrame
Set render delay > 0 if inserting a note by hand sometime fails to redraw.
ScoreSection
Section holds start/end measure number information to play subsections of a piece
JMSL Score project.
ScoreSectionRenameDialog
Dialog to rename a section in a score.
ScoreSectionXMLHandler  
ScoreShortcutsFrame
Display a frame containing a textarea with info on keystroke shortcuts
ScoreTest
Exercise Score.
ScoreTestNoteAccidentalPolicy
Test accidental visibility of Notes
ScoreTestNoteAccidentalPolicy2
This simply uses addNote(dur) to add notes to a Score.
ScoreTraverser  
ScoreTraverserListener  
ScoreWithoutScoreFrame
Displays score in your own gui
ScoreWithPlayables
This simply uses addNote(dur) to add notes to a Score.
ScoreWriter
ScoreWriter generates a textfile importable by San Andreas Press SCORE.
ScoreXMLLoader  
ScrambleMusicShapeEditorOperator
Scramble selected range of a MusicShape in MusicShapeEditor
ScrambleTransform
UnaryCopyBufferTransform.
SearchPath
A vector of BeatDivisions that asserts a solution for transcribing the events within one measure.
SearchPathList
Manage a list of competing SearchPaths.
SearchPathListExpansionException  
SearchPathNoteMaker
Build a Vector of Note from a SearchPath.
SegmentPath
A sequence of x,y coordinates with some transformations, like polygon, but not closed JMSL Notation Project
SelectionBuffer
SelectionBuffer is a temporary place to copy selected elements, to enumerate through and delete for example, or to parse out into a new ScoreCollection Object.
SelectionBufferListener  
SelfModifyingScore
One measure repeats 1000 times, changing its own tempo and the pitches of its notes each repeat.
SelfTest
Call self testing qa() methods for various classes.
SendJavaMidiNoteToExternalDevice  
SeqGenDemo
Play various sequences.
SequenceGenerator
Define the interface for SequenceGenerator objects for JMSL.
SequencerGeneratorAdapter
SequenceGenerator with reusable random driver implementation Contains its own RandomDriver which can be used to make random choices.
SequentialCollection
A sequential collection launches each of its Composable children in sequence.
ShapeEditorTest  
ShapeToot02
Just play a MusicShape with a Midi instrument.
ShapeToot03  
ShapeToot04  
ShapeToot05  
SignalProcessingExampleChanges
Play a melody with a MusicShape.
SignalProcessingExampleNoChanges
Play a melody with a MusicsShape.
SignalProcessingInstrument Deprecated.
use com.sofystynth.jmsl.jsyn2 package instead
SignalProcessingScore
Demonstrates how a JMSL Score can have one instrument in one staff apply signal processing to the output of other instrument(s) on other staves.
SignalProcessingScore2
Signal Processing JMSL Score example Instrument on second staff processes the signal from the instrument on top staff Play a rich resonant drone in staff 1 Band Pass filter in staff 2 Notice that pitches of bandpass "melody" are fractional, and are mapped onto the frequency of the filter
SignalProcessingSynthNotePruner Deprecated.
use the pure Java JSyn2 package instead
SignalProcessingUnitVoicePruner
Hand it a Vector of fully qualified JSyn UnitVoice classnames, and build two Vectors: one vector containing those classnames with input ports (ie.
SimpleDelay Deprecated.
use the pure Java JSyn2 package instead
SimpleDelay  
SimpleGraphicsRenderedMessageListener
You may build your own RenderedMessageListener to be notified of arbitrary messages you add to measures, staves, and notes This example only recognizes messages beginning with "drawline", "setcolor", and "drawarc" You can of course make up your own graphics command set and respond to messages however you like Note that this callback happens as the last step of notrre rendering Source follows:
SimplePrintingInterpreter
An Interpreter that simply prints the time and the MusicShape data it is being handed.
SimpleSamplePlayingInstrument Deprecated.
use the pure Java JSyn2 package instead
SimpleSamplePlayingInstrumentWithAmplitudeMap
This subclass of SamplePlayingInstrument overrides getAlternativeSampleIndex() to map note 60 to three different samples based on amplitude.
SimpleSamplePlayingInstrumentWithLoops Deprecated.
use the pure Java JSyn2 package instead
SimpleScoreTest  
SimpleTimbralEvolution
This examples shows how to use Instrument on(), update() and off() to start a sound, update its timbre over time, then shut it down.
SimpleUnitVoice
Sine with an envelope.
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.
SineInstrument
This Instrument owns a JSyn SineUnitVoice, and plays it with frequency and amplitude
SineUnitVoice  
SlowSineUnitVoice  
SlurRenderer
A class with static methods to draw slurs across Notes.
SlurTransform
Slur/Unslur selected Notes.
SmoothFilteredSawtoothBL
FilteredSawtooth UnitVoice with AsymptoticRamps on cutoff and resonance so transitions are smooth
SMuFLOpenTypeTest  
SonataFontConstants  
SonataMusicGlyphRenderer  
SortMusicShapeEditorOperator
Sort in ascending order a selected range of a MusicShape.
Sorts
Sort array of double.
SpectrumCanvas  
SpectrumData  
SpectrumDatum  
Speedy
Control the playback speed of a ParallelCollection of MusicJobs that play JSyn Instruments using timeStretch

Also shows how to manage data as frequencies and use com.softsynth.jmsl.util.FrequencyToPitchTranslator to convert to pitch right before handing double[] to Instrument which expect pitch new Version 12/11/10 uses JSyn2 Uses JMSL.clock.setRate() to smoothly change playback duration
SpeedyUnitVoice
For Speedy example, JSyn2 API.
SpellingTransformLineOfFifthsRule
Respell notes according to the "min distance along line of fifths" rule, Temperly, D., The Cognition of Basic Musical Structures, p125
SquigglyNoteOrnament
NoteOrnament subclasses allows users to create custom classes that draw into the note's Graphics context.
Staff
Staff
A Staff is a ParallelCollection of up to any number of Tracks, which get drawn on the same staff, played by the same instrument.
StaffAndLedgerLineVisibilityAndNonStandardTimeSignatureTest
Show/hude staff lines selectively.
StaffAndLedgerLineVisibilityManager
Keep track of what accidentals are in force for what levels in a staff.
StaffExtendedLinesTest  
StaffLineVisibilityBean  
StaffLineVisibilityXMLHandler  
StaffSpacing  
StaffSpacingResetOperator
Run through each staff of each measure and see if there are too many or not enough notes in each.
StaffSpacingXMLHandler  
StaffVisibility
Exercise various notehead types.
StaffXMLHandler
This is used to modify a Staff that has already been produced
StartStopListener  
STDOutFunction
Use to redirect text output from JMSL.out(String)
Any class that implements this interface can be the standard output of JMSL.
StemInfoOverrideTransform
Override stem direction info 0 = stem_none 1 = stem up 2 = stem down -1 = clear stem override and let NoteFactory calculate it from note's level
StemVisibilityTransform
Set stem visibility flag on selected notes
StemVisibleToggleTransform
Flip stem visibility flag on selected notes
SuperNoiseSwoop Deprecated.
use the pure Java JSyn2 package instead
SupoveVox
A subclass of SamplePlayingInstrument which maps pitches to sound files.
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

SwingScoreCanvasTest
Build a GUI in Swing.
SynthClock Deprecated.
use the pure Java JSyn2 package instead
SynthNoteAllPortsInstrument Deprecated.
use the pure Java JSyn2 package instead
SynthNoteAllPortsInstrumentSP Deprecated.
use the pure Java JSyn2 package instead
SynthNoteDimensionNameSpace Deprecated.
use the pure Java JSyn2 package instead
SynthNoteInstrument Deprecated.
use the pure Java JSyn2 package instead
SynthNoteWithDurationPort Deprecated.
use the pure Java JSyn2 package instead Wire is available from: http://www.softsynth.com/wire/
SynthNoteWithHoldPort Deprecated.
use the pure Java JSyn2 package instead Wire is available from: http://www.softsynth.com/wire/
Tempo
Tempo class maintains tempo in beats per minute, translates to JMSL time stretch (1.0 = 60bpm, 0.5 = 120 bpm, etc)
TempoCommand  
TempoDialog
Open a window which provides a Tempo dialog
TempoResultProcessor
interface to get new tempo and go-ahead flag from a TempoDialog
TempoTickHolder  
TempoTimeSignatureHolder
Build a Vector of these objects for the transcriber to set up the framework for a score into which it should transcribe
TempoUnblockingOperator  
TenRandomMidiNotes
Use a MusicJob to play ten MIDI notes with random pitch, duration, vel, and hold time
TestHoldScalerForMouseInput  
TestInstrumentMixerUsage  
TestInstrumentUsage  
TestJMSLScrollbar
awt's Scrollbar is weird - unreliable behavior...
TestMidiReceiverMultipleOpenClose  
TestNoteOffHoldAlgorithm
test: all note ons with noteoffs no noteoffs at all some noteons have noteoffs some noteoffs with no matching noteon
TestNoteRangeSelection  
TestPermitOwnScoreCanvasConstructor  
TestPitchBendInstrument
Play a simple two note MIDI melody with long tones, and send pitchbend while notes are sustaining.
TestPortViewScrollbar
The com.didkovsky.portview scrollbar can be either awt or Swing compatible depending on the ViewFactory
TestRenderAllowed
Problem reported by Jason Freeman You should be able to load a Score from a file without it displaying in ScoreFrame.
TestSamplePitchbend  
TestSamplePlayingInstrument  
TestSampleSustain  
TestScoreMemoryLimits
This simply uses addNote(dur) to add notes to a Score.
TestScoreMemoryUsage  
TestSubtractiveSynthVoiceInstrument
Test JSynUnitVoiceInstrument by putting it into a simple 4 dimensional MusicShape Uses pure Java JSyn API
TestSubtractiveSynthVoiceInstrumentAllDimensions
Test JSynUnitVoiceInstrument by putting it into a MusicShape that plays all its dimensions Uses pure Java JSyn API
TestTempo
when this score is saved and loaded, the tempo and timesig change is lost
TestTimeStampedMidiOutput  
TestVoiceAllocator  
TextAreaOut
Useful STDOut for JMSL printing in Applets
TextAreaSTDOut
Useful STDOut for JMSL printing to a TextArea
TextDisplayFrame  
TextJob
TextJob.java A MusicJob subclass that has a drawing canvas on which it can draw messages.
TiedInToRestTransform
Double duration of selected notes.
TiedNoteAccumulator
Collect the durations of runs of tied notes into a leading note.
TieManager  
TieTransform
Tie/untie selected Notes.
TimbralInterpolationApplet
Demonstrates continuous control by JMSL over JSyn synth parameters.
TimbralMusicShape
Play timbral input ports of a JSyn UnitVoice with a MusicShape Upgraded to JSyn2 API Dec 6, 2016
TimePoint
Stores the indexes of the MusicShape that fall closest to the timepoint.
TimePostingPlayable  
TimePrinter  
TimePrintingPlayable  
TimeSigDialog
Open a window which provides a time signature dialog
TimeSignature
TimeSignature class.
TimeSignatureCommand  
TimeSigRenderer
A class with static methods to draw TimeSignature objects.
TimeSigResultProcessor  
TimeSigTickHolder  
TimeWindowNotFoundException  
TootDelay
WARNING - this code automatically generated by Wire.
TortureNoteVisibility  
Track
Track
A Track is a MusicList of Note objects
JMSL Notation Project
TrackSwitchTransform
move notes from track 0 to track 1 or vice versa.
TrackXMLHandler  
TranscribeAndNotate
Transcribe two MusicShapes and generate a Score.
TranscribeMidiFile
Load a type 1 MidiFile into a ParallelCollection and transcribe a score from it
Transcriber
Notate a MusicShape.
TranscriberListener
Classes implementing this interface can be added to a list of TranscriberListeners in a com.softsynth.jmsl.score.transcribe.Transcriber.
TranscribeScore1
JMSL's com.softsynth.jmsl.score.transcribe package enables the transcription of arbitrary MusicShape data into common music notation.
TranscribeScore10
Transcribe two MusicShapes and generate a Score.
TranscribeScore11
Transcribe a MusicShapes and generate a Score.
TranscribeScore12
Transcribe a MusicShapes with wacko tuplets Dim 0 of MusicShapes must be absolute time.
TranscribeScore13
Use 32nds if you use small durations and want to avoid chords where 32nds bump up to the nearest 16th
TranscribeScore14
JMSL's com.softsynth.jmsl.score.transcribe package enables the transcription of arbitrary MusicShape data into common music notation.
TranscribeScore15
JMSL's com.softsynth.jmsl.score.transcribe package enables the transcription of arbitrary MusicShape data into common music notation.
TranscribeScore16
2011-11-10 wrote to to fix transcriber bug which was revealed for chord, fixed now 2011-11-14, this revealed another bug though: first rest should be quarter note but it shows up as 16th+dotted8th rests aha - fixed .
TranscribeScore17  
TranscribeScore18
Use a fifth dimension to mark certain notes for conversion to rests with wedge.
TranscribeScore19
JMSL's com.softsynth.jmsl.score.transcribe package enables the transcription of arbitrary MusicShape data into common music notation.
TranscribeScore19a  
TranscribeScore2
JMSL's com.softsynth.jmsl.score.transcribe package enables the transcription of arbitrary MusicShape data into common music notation.
TranscribeScore20
This test examines minute differences in timestamp
TranscribeScore21
This test examines minute differences in timestamp
TranscribeScore22
This examines dimension name space, and tests fix of a bug that added rests with 0 instead of default values for extended dimensions
TranscribeScore23
Test adding redundant beat division scheme to BeatDivisionSchemeList which results in long transcription waits.
TranscribeScore24
This examines dimension name space, and tests fix of a bug that added rests with 0 instead of default values for extended dimensions
TranscribeScore25
This examines dimension name space, and tests fix of a bug that added rests with 0 instead of default values for extended dimensions
TranscribeScore26  
TranscribeScore3
JMSL's com.softsynth.jmsl.score.transcribe package enables the transcription of arbitrary MusicShape data into common music notation.
TranscribeScore4
JMSL's com.softsynth.jmsl.score.transcribe package enables the transcription of arbitrary MusicShape data into common music notation.
TranscribeScore5
JMSL's com.softsynth.jmsl.score.transcribe package enables the transcription of arbitrary MusicShape data into common music notation.
TranscribeScore6
JMSL's com.softsynth.jmsl.score.transcribe package enables the transcription of arbitrary MusicShape data into common music notation.
TranscribeScore7
JMSL's com.softsynth.jmsl.score.transcribe package enables the transcription of arbitrary MusicShape data into common music notation.
TranscribeScore8
TranscriberListener gets a callback for every note added to a Score during the transcription process.
TranscribeScore9
JMSL's com.softsynth.jmsl.score.transcribe package enables the transcription of arbitrary MusicShape data into common music notation.
TranscribeScoreJesse
JMSL's com.softsynth.jmsl.score.transcribe package enables the transcription of arbitrary MusicShape data into common music notation.
TranscribeScoreLP1
JMSL's com.softsynth.jmsl.score.transcribe package enables the transcription of arbitrary MusicShape data into common music notation.
TranscribeScoreLP2
JMSL's com.softsynth.jmsl.score.transcribe package enables the transcription of arbitrary MusicShape data into common music notation.
TranscribeToot05
Edit a MusicShape in the MusicShapeEditor, then transcribe it into a notated Score.
TranscribeToot06
Demonstrates use of TranscriberListener interface to compute properties of Notes as they are being transcribed.
Translator
Translators are used for converting from one numeric system to another.
Transposable  
TransposeGraceNotesTransform  
TransposeMusicShapeEditorOperator
Transpose selected range of MusicShape by v1
TransposingSamplePlayingInstrument Deprecated.
use the pure Java JSyn2 package instead
TransposingSamplePlayingInstrumentWithAmplitudeMap
This subclass of SamplePlayingInstrument overrides getAlternativeSampleIndex() to map note 60 to three different samples based on amplitude.
TransposingSampleSustainingInstrument Deprecated.
use the pure Java JSyn2 package instead
TranspositionTransform
Transpose pitch of Notes in Selection Buffer.
TriangleSynthNote
A SineOscillator SynthNote with an amplitude envelope.
TrillWholeNoteBugFixed  
Tunable  
TunedSynthNoteInstrument Deprecated.
use the pure Java JSyn2 package instead
Tuning  
TuningET
TuningET Equal tempered Tuning
TuningETToot  
TuningNoodler1  
TuningTable  
TuningTableToot
Provide textfields for user to define custom tuning table
Starts with Gamelan Son of Lion tuning.
TuningTest
Compare two definitions of 12tet tuning: TuningTable versus TuningET
TupletTransform
Change tuplet info of Notes in Selection Buffer.
TwoHundredFiftySixthNotes
Generate a measure of 256th notes.
TwoTracksPerStaff
Put two tracks of music on one staff hihats with stems up.
UnaryCopyBufferTransform
UnaryCopyBufferTransform.
UnaryCopyBufferTransformCommand  
UnbalancedRepeatsReporter
Run through each measure and checks if repeats ||: :|| are balanced or not (helpful for LilyPond export)
Undoable  
UndoRedoStackListener  
UndoStack  
UnicodeXMLTest  
UniformRandomBehavior
UniformRandomBehavior.java Choose a child to launch with a uniformly distributed random selection.
UnitGeneratorDimensionNameSpace  
UnitSourceTester  
UnitVoiceArray  
UnpredictableSong
Same as JSynSong except the verse, chorus, and rest will come in an unpredictable order
UnZoomMusicShapeEditorOperator
Zoom out to entire range of elements in MusicShape
UpdatableInstrument  
UpdateJSynUnitVoiceInstrumentTest
Test update() on JSynUnitVoiceInstrument.
UpdateSynthNoteInstrumentTest
This is a very old demo which was built before jsyn2 existed.
UserBeansTest
Demonstrates creating userBean and assigning it to a Notes, staves, measures, and score programmatically, saving and load to from a Score XML file Extended to measure user beans too 4/3/07 for Peter McCullough.
VariableRateMonoReaderUnitVoice  
VariableRateReaderUnitVoice  
VariableRateSampleReader Deprecated.
use the pure Java JSyn2 package instead
VariableRateSampleReaderAllocator Deprecated.
use the pure Java JSyn2 package instead
VariableRateStereoReaderUnitVoice  
ViewFactory
PortView Factory.
ViewFactoryAWT  
ViewFactorySwing  
Warbler Deprecated.
use the pure Java JSyn2 package instead
Warbler
Signal processing Circuit.
WAVRecorderPanel Deprecated.
use the pure Java JSyn2 package instead
WAVRecorderPanel
JSyn2 GUI for WAV recorder.
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.
WeightedIntegerToot
Plays a MusicJob which consults a WeightedIntegerSequence to play a random walk melody.
WeightedObjectChooser
Holds objects and associated weights.
WeightedObjectToot
Plays a SequentialCollection which has a WeightedObjectChooser as its Behavior.
WriteScoreMidiFile
Write a Score as a type 1 Midi file
XMLCreatable
Classes implementing this acquire XML attributes and generate a new object from these attributes.
XMLListener
Listener for parsing an XML stream.
XMLLoaderException  
XMLPrinter  
XMLReader
Parse an XML stream using a simple State Machine XMLReader does not buffer the input stream so you may want to do that yourself using a BufferedInputStream.
XMLScoreEnabled  
XMLString  
XMLTools
Tools for reading and writing XML files.
XMLWritable  
ZipperTransform
ZipperTransform.
ZoomListener
This interface provides classes with zoom scrollbar changes
JMSL Score
ZoomMusicShapeEditorOperator
Zoom in to selected range on MusicShape