quicktime.app.audio
Class NoteChannelControl

java.lang.Object
  |
  +--quicktime.app.audio.NoteChannelControl
All Implemented Interfaces:
AudioSpec, ExtendedAudioSpec, MusicPart

public class NoteChannelControl
extends java.lang.Object
implements MusicPart

This class provides an implementation of the MusicPart interface for NoteChannel objects.


Constructor Summary
NoteChannelControl(int gmNumber)
          Create a new NoteChannelControl and a NoteChannel with the specified instrument and polyphony of 1.
NoteChannelControl(int gmNumber, int poly)
          Create a new NoteChannelControl and a NoteChannel with the specified instrument and polyphony.
NoteChannelControl(NoteChannel nc)
          Create a new NoteChannelControl from the given NoteChannel
 
Method Summary
protected  void finalize()
           
 float getBalance()
          This method gets the balance of the this object.
 java.lang.String getInstrumentName()
          Returns the name of the current instrument for this part.
 NoteChannel getNoteChannel()
          This method gets the NoteChannel being controlled by this object.
 float getVolume()
          This method will get the volume of this object.
 boolean isMuted()
          Returns the current mute status
 void playNoteFor(float note, int velocity, int duration)
          Plays the supplied note for the given duration.
 void selectInstrument(java.lang.String prompt)
          This method allows for the class to allow some selection process whereby the user would choose a particular instrument that will be consequently used by a MusicPart to produce the sounds that it plays.
 void setBalance(float val)
          This method sets the balance of this object.
 void setMuted(boolean flag)
          Allows the muting of the specific channel.
 void setVolume(float volume)
          This method will set the volume of this object.
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NoteChannelControl

public NoteChannelControl(int gmNumber)
                   throws QTException
Create a new NoteChannelControl and a NoteChannel with the specified instrument and polyphony of 1. The resultant NoteChannel maybe able to play more than one note simultaneously.
Parameters:
gmNumber - the specified general MIDI instrument number

NoteChannelControl

public NoteChannelControl(int gmNumber,
                          int poly)
                   throws QTException
Create a new NoteChannelControl and a NoteChannel with the specified instrument and polyphony.
Parameters:
gmNumber - the specified general MIDI instrument number
poly - the maximum number of notes that are expected to be played by the NoteChannel at the same time.

NoteChannelControl

public NoteChannelControl(NoteChannel nc)
                   throws QTException
Create a new NoteChannelControl from the given NoteChannel
Parameters:
nc - the given NoteChannel
Method Detail

isMuted

public boolean isMuted()
Returns the current mute status
Specified by:
isMuted in interface AudioSpec
Returns:
the current mute status

setMuted

public void setMuted(boolean flag)
              throws QTException
Allows the muting of the specific channel. When unmuted the AudioSpec object will return to its current volume setting.
Specified by:
setMuted in interface AudioSpec
Parameters:
flag - turn muting on - true or off - false.

setVolume

public void setVolume(float volume)
               throws QTException
This method will set the volume of this object.
Specified by:
setVolume in interface AudioSpec
Parameters:
volume - the desired volume (range: 0.0F - 1.0F)

getVolume

public float getVolume()
                throws QTException
This method will get the volume of this object. (range: 0.0 - 1.0)
Specified by:
getVolume in interface AudioSpec
Returns:
the current volume.

setBalance

public void setBalance(float val)
                throws QTException
This method sets the balance of this object.
Specified by:
setBalance in interface ExtendedAudioSpec
Parameters:
val - the desired balance (range: -1F -> 1F)

getBalance

public float getBalance()
                 throws QTException
This method gets the balance of the this object. (range: -1.0 -> 1.0)
Specified by:
getBalance in interface ExtendedAudioSpec
Returns:
the balance

selectInstrument

public void selectInstrument(java.lang.String prompt)
                      throws QTException
This method allows for the class to allow some selection process whereby the user would choose a particular instrument that will be consequently used by a MusicPart to produce the sounds that it plays.
Specified by:
selectInstrument in interface MusicPart
Parameters:
prompt - - any information that the program wants to display to the user to aid in the selection process.

getInstrumentName

public java.lang.String getInstrumentName()
                                   throws QTException
Returns the name of the current instrument for this part.
Specified by:
getInstrumentName in interface MusicPart
Returns:
name of the current instrument for this part

getNoteChannel

public final NoteChannel getNoteChannel()
This method gets the NoteChannel being controlled by this object.
Specified by:
getNoteChannel in interface MusicPart
Returns:
the NoteChannel

playNoteFor

public void playNoteFor(float note,
                        int velocity,
                        int duration)
                 throws QTException
Plays the supplied note for the given duration.
Parameters:
note - the note to play
velocity - the intial volume of the note - how hard it is struck.
duration - the number of milliseconds the note should play for

finalize

protected final void finalize()
                       throws java.lang.Throwable
Overrides:
finalize in class java.lang.Object