jmri.jmrit.audio
Class AbstractAudioListener

Show UML class diagram
java.lang.Object
  extended by jmri.implementation.AbstractNamedBean
      extended by jmri.implementation.AbstractAudio
          extended by jmri.jmrit.audio.AbstractAudioListener
All Implemented Interfaces:
Serializable, Audio, AudioListener, NamedBean
Direct Known Subclasses:
JavaSoundAudioListener, JoalAudioListener, NullAudioListener

public abstract class AbstractAudioListener
extends AbstractAudio
implements AudioListener

Base implementation of the AudioListener class.

Specific implementations will extend this base class.


This file is part of JMRI.

JMRI is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation. See the "COPYING" file for a copy of this license.

JMRI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface jmri.Audio
AT, BUFFER, CMD_BIND_BUFFER, CMD_FADE_IN, CMD_FADE_OUT, CMD_INIT_FACTORY, CMD_LOAD_SOUND, CMD_PAUSE, CMD_PAUSE_TOGGLE, CMD_PLAY, CMD_PLAY_TOGGLE, CMD_RESET_POSITION, CMD_RESUME, CMD_REWIND, CMD_STOP, DECIMAL_PLACES, FADE_IN, FADE_NONE, FADE_OUT, LISTENER, MAX_DISTANCE, SOURCE, STATE_EMPTY, STATE_INITIAL, STATE_LOADED, STATE_MOVING, STATE_PLAYING, STATE_POSITIONED, STATE_STOPPED, UP
 
Fields inherited from interface jmri.NamedBean
INCONSISTENT, UNKNOWN
 
Constructor Summary
AbstractAudioListener(String systemName)
          Abstract constructor for new AudioListener with system name
AbstractAudioListener(String systemName, String userName)
          Abstract constructor for new AudioListener with system name and user name
 
Method Summary
 Vector3f getCurrentOrientation(int which)
          Return the current orientation of this AudioListener object Applies only to sub-types: Listener
 Vector3f getCurrentPosition()
          Returns the current position of this AudioListener object as a 3-dimensional vector.
 float getGain()
          Return the current gain setting Applies only to sub-types: Listener Source
 float getMetersPerUnit()
          Retrieve the current Meters per unit ratio to use for all distance calculations.
 Vector3f getOrientation(int which)
          Return the orientation of this AudioListener object Applies only to sub-types: Listener
 Vector3f getPosition()
          Returns the position of this AudioListener object as a 3-dimensional vector.
 char getSubType()
          An Audio object can represent one of a number of subtypes of object.
 Vector3f getVelocity()
          Returns the velocity of this AudioListener object Applies only to sub-types: - Listener - Source
 void resetCurrentPosition()
          Method to reset the current position of this AudioListener object to the initial position as defined by setPosition.
 void setGain(float gain)
          Set the gain of this AudioListener object Applicable values 0.0f to 1.0f When applied to Listeners, has the effect of altering the master gain (or volume) Applies only to sub-types: Listener Source
 void setMetersPerUnit(float metersPerUnit)
          Method to set the Meters per unit ratio for all distance calculations.
 void setOrientation(Vector3f at, Vector3f up)
          Set the orientation of this AudioListener object Applies only to sub-types: Listener
 void setPosition(float x, float y)
          Sets the position of this AudioListener object in x and y planes with z plane position fixed at zero Equivalent to setPosition(x, y, 0.0f) Applies only to sub-types: Listener Source
 void setPosition(float x, float y, float z)
          Sets the position of this AudioListener object in x, y and z planes Applies only to sub-types: Listener Source
 void setPosition(Vector3f pos)
          Sets the position of this AudioListener object Applies only to sub-types: Listener Source
 void setVelocity(Vector3f vel)
          Sets the velocity of this AudioListener object Applies only to sub-types: Listener Source
 void stateChanged(int oldState)
          Method used to update the current state of the Audio object
 String toString()
           
 
Methods inherited from class jmri.implementation.AbstractAudio
getState, roundDecimal, roundDecimal, setState
 
Methods inherited from class jmri.implementation.AbstractNamedBean
addPropertyChangeListener, dispose, getComment, getDisplayName, getNumPropertyChangeListeners, getProperty, getPropertyChangeListeners, getPropertyKeys, getSystemName, getUserName, removePropertyChangeListener, setComment, setProperty, setUserName
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jmri.NamedBean
addPropertyChangeListener, dispose, getComment, getDisplayName, getNumPropertyChangeListeners, getProperty, getPropertyKeys, getState, getSystemName, getUserName, removePropertyChangeListener, setComment, setProperty, setState, setUserName
 

Constructor Detail

AbstractAudioListener

public AbstractAudioListener(String systemName)
Abstract constructor for new AudioListener with system name

Parameters:
systemName - AudioListener object system name (e.g. IAL)

AbstractAudioListener

public AbstractAudioListener(String systemName,
                             String userName)
Abstract constructor for new AudioListener with system name and user name

Parameters:
systemName - AudioListener object system name (e.g. IAL)
userName - AudioListener object user name
Method Detail

getSubType

public char getSubType()
Description copied from interface: Audio
An Audio object can represent one of a number of subtypes of object.

This method enables us to determine which of those subtypes this particular instance is and be able to process accordingly.

Current supported subtypes are:

Specified by:
getSubType in interface Audio
Returns:
subType char

setPosition

public void setPosition(Vector3f pos)
Description copied from interface: AudioListener
Sets the position of this AudioListener object

Applies only to sub-types:

Specified by:
setPosition in interface AudioListener
Parameters:
pos - 3d position vector

setPosition

public void setPosition(float x,
                        float y,
                        float z)
Description copied from interface: AudioListener
Sets the position of this AudioListener object in x, y and z planes

Applies only to sub-types:

Specified by:
setPosition in interface AudioListener
Parameters:
x - x-coordinate
y - y-coordinate
z - z-coordinate

setPosition

public void setPosition(float x,
                        float y)
Description copied from interface: AudioListener
Sets the position of this AudioListener object in x and y planes with z plane position fixed at zero

Equivalent to setPosition(x, y, 0.0f)

Applies only to sub-types:

Specified by:
setPosition in interface AudioListener
Parameters:
x - x-coordinate
y - y-coordinate

getPosition

public Vector3f getPosition()
Description copied from interface: AudioListener
Returns the position of this AudioListener object as a 3-dimensional vector.

Applies only to sub-types:

Specified by:
getPosition in interface AudioListener
Returns:
3d position vector

getCurrentPosition

public Vector3f getCurrentPosition()
Description copied from interface: AudioListener
Returns the current position of this AudioListener object as a 3-dimensional vector.

Applies only to sub-types:

Specified by:
getCurrentPosition in interface AudioListener
Returns:
3d position vector

setVelocity

public void setVelocity(Vector3f vel)
Description copied from interface: AudioListener
Sets the velocity of this AudioListener object

Applies only to sub-types:

Specified by:
setVelocity in interface AudioListener
Parameters:
vel - 3d velocity vector

getVelocity

public Vector3f getVelocity()
Description copied from interface: AudioListener
Returns the velocity of this AudioListener object Applies only to sub-types: - Listener - Source

Specified by:
getVelocity in interface AudioListener
Returns:
3d velocity vector

resetCurrentPosition

public void resetCurrentPosition()
Description copied from interface: AudioListener
Method to reset the current position of this AudioListener object to the initial position as defined by setPosition.

Applies only to sub-types:

Specified by:
resetCurrentPosition in interface AudioListener

setOrientation

public void setOrientation(Vector3f at,
                           Vector3f up)
Description copied from interface: AudioListener
Set the orientation of this AudioListener object

Applies only to sub-types:

Specified by:
setOrientation in interface AudioListener
Parameters:
at - 3d vector representing the position
up - 3d vector representing the look-at point

getOrientation

public Vector3f getOrientation(int which)
Description copied from interface: AudioListener
Return the orientation of this AudioListener object

Applies only to sub-types:

Specified by:
getOrientation in interface AudioListener
Parameters:
which - the orientation vector to return: == AT - position; == UP - look-at point
Returns:
vector representing the chosen orientation vector

getCurrentOrientation

public Vector3f getCurrentOrientation(int which)
Description copied from interface: AudioListener
Return the current orientation of this AudioListener object

Applies only to sub-types:

Specified by:
getCurrentOrientation in interface AudioListener
Parameters:
which - the orientation vector to return: == AT - position; == UP - look-at point
Returns:
vector representing the chosen orientation vector

setGain

public void setGain(float gain)
Description copied from interface: AudioListener
Set the gain of this AudioListener object

Applicable values 0.0f to 1.0f

When applied to Listeners, has the effect of altering the master gain (or volume)

Applies only to sub-types:

Specified by:
setGain in interface AudioListener

getGain

public float getGain()
Description copied from interface: AudioListener
Return the current gain setting

Applies only to sub-types:

Specified by:
getGain in interface AudioListener
Returns:
float gain

setMetersPerUnit

public void setMetersPerUnit(float metersPerUnit)
Description copied from interface: AudioListener
Method to set the Meters per unit ratio for all distance calculations.

Default value = 1.0f (i.e. 1 unit == 1 metre)

Typical alternative values:

Applies only to sub-types:

Specified by:
setMetersPerUnit in interface AudioListener
Parameters:
metersPerUnit - Meters per unit ratio

getMetersPerUnit

public float getMetersPerUnit()
Description copied from interface: AudioListener
Retrieve the current Meters per unit ratio to use for all distance calculations.

Default value = 1.0f (i.e. 1 unit == 1 metre)

Typical alternative values:

Applies only to sub-types:

Specified by:
getMetersPerUnit in interface AudioListener
Returns:
Meters per unit ratio

stateChanged

public void stateChanged(int oldState)
Description copied from interface: Audio
Method used to update the current state of the Audio object

Specified by:
stateChanged in interface Audio

toString

public String toString()
Overrides:
toString in class AbstractAudio


Copyright © 1997 - 2010 JMRI Community.
JMRI, DecoderPro, PanelPro, SoundPro, DispatcherPro and associated logos are our trademarks.

Additional information on copyright, trademarks and licenses is linked here.
Site hosted by: Get JMRI Model Railroad Interface at SourceForge.net. Fast, secure and Free Open Source software downloads