JMSL Tutorial: JScore
Building your own JScore instrument, part 1
JMSL Score can use any well designed JMSL instrument to play notes.
The first four dimensions passed to the Instrument must conform to the
standard duration, pitch, amplitude, hold interpretation. Earlier versions
of JMSL made a distinction between JSyn and MIDI Instruments, and JSyn
and MIDI Orchestras. As of v103, this distinction is no longer made,
and these classes have disappeared. JMSL Score can use general Instruments
that follow the pricniples of good instrument design:
-
The Instrument.getMusicDevice() returns a valid MusicDevice
-
The Instrument has a no-args constructor which can run without the MusicDevice
being open
-
MusicDevice dependent code is done in buildFromAttributes (see AttributeBuildable
interface)
-
The Instrument.getMixerClassName() returns a valid calssname of a Mixer
(com.softsynth.jmsl.jsyn.JSynMixer for example)
-
The Instrument defines a DimensionNameSpace
For more on the above, see the Instrument tutorial
When JMSL Score creates or loads an Orchestra of Instruments, a mixer
panel opens which allows for the mix and panning of instruments present
in the orchestra, as the image below shows.
When you save a JMSL Score, its instruments, orchestra, and mix are
saved with the file.
(C) 2000 Nick Didkovsky and Phil Burk, All Rights Reserved
JMSL is based upon HMSL (C) Phil Burk, Larry Polansky and David Rosenboom.