com.softsynth.jmsl
Interface Instrument

All Superinterfaces:
Namable, OutputProvider, Transposable
All Known Subinterfaces:
SignalProcessingInstrument
All Known Implementing Classes:
AppletColorInstrument, Brass, CelloSampleIns, CelloSampleSustainingIns, FreqSynthNoteInstrument, InstrumentAdapter, JSynInsFromClassName, MaxInstrument, MidiInstrument, MidiScoreInstrument, PlayLurkingJSynInstrument, QuietPlayLurkingInstrument, RingMod, SimpleSamplePlayingInstrument, SimpleSamplePlayingInstrumentWithAmplitudeMap, SimpleSamplePlayingInstrumentWithLoops, SineInstrument, SuperBrass, SuperNoiseSwoop, SuperRingModBell, SupoveVox, SynthNoteAllPortsInstrument, SynthNoteAllPortsInstrumentSP, SynthNoteInstrument, TransposingSamplePlayingInstrument, TransposingSamplePlayingInstrumentWithAmplitudeMap, TransposingSampleSustainingInstrument, TransposingSampleSustainingInstrumentWithAmplitudeMap, TunedSynthNoteInstrument

public interface Instrument
extends Namable, OutputProvider, Transposable


Method Summary
 double close(double playTime)
           
 DimensionNameSpace getDimensionNameSpace()
           
 Interpreter getInterpreter()
           
 java.lang.String getMixerClassName()
          get the preferred Mixer classname (if any) for this instrument.
 MusicDevice getMusicDevice()
          Get the MusicDevice associated with this Instrument
 java.lang.Object off(double playTime, double timeStretch, double[] dar)
           
 java.lang.Object on(double playTime, double timeStretch, double[] dar)
          turn an event on.
 double open(double playTime)
           
 double play(double playTime, double timeStretch, double[] dar)
           
 void setDimensionNameSpace(DimensionNameSpace d)
           
 void setInterpreter(Interpreter interp)
           
 void setMixerClassName(java.lang.String mixerClassName)
          set the preferred mixer classname (if any) for this instrument
 void setMusicDevice(MusicDevice dev)
          Set the MusicDevice associated with this Instrument
 double update(double playTime, double timeStretch, double[] dar)
           
 
Methods inherited from interface com.softsynth.jmsl.Namable
getName, setName
 
Methods inherited from interface com.softsynth.jmsl.OutputProvider
getNumOutputs, getOutput, getOutput
 
Methods inherited from interface com.softsynth.jmsl.Transposable
getTransposition, setTransposition
 

Method Detail

setInterpreter

void setInterpreter(Interpreter interp)

getInterpreter

Interpreter getInterpreter()

open

double open(double playTime)
            throws java.lang.InterruptedException
Throws:
java.lang.InterruptedException

close

double close(double playTime)
             throws java.lang.InterruptedException
Throws:
java.lang.InterruptedException

on

java.lang.Object on(double playTime,
                    double timeStretch,
                    double[] dar)
turn an event on. return an object associated with this (an allocated voice for example )


off

java.lang.Object off(double playTime,
                     double timeStretch,
                     double[] dar)

play

double play(double playTime,
            double timeStretch,
            double[] dar)

update

double update(double playTime,
              double timeStretch,
              double[] dar)

setDimensionNameSpace

void setDimensionNameSpace(DimensionNameSpace d)

getDimensionNameSpace

DimensionNameSpace getDimensionNameSpace()

setMusicDevice

void setMusicDevice(MusicDevice dev)
Set the MusicDevice associated with this Instrument


getMusicDevice

MusicDevice getMusicDevice()
Get the MusicDevice associated with this Instrument


getMixerClassName

java.lang.String getMixerClassName()
get the preferred Mixer classname (if any) for this instrument. JSyn instruments, for example, would return "com.softsynth.jmsl.jsyn.JSynMixer"


setMixerClassName

void setMixerClassName(java.lang.String mixerClassName)
set the preferred mixer classname (if any) for this instrument