Interface AudioListener

All Superinterfaces:
Audio, Comparable<NamedBean>, NamedBean, PropertyChangeProvider
All Known Implementing Classes:
AbstractAudioListener, JavaSoundAudioListener, JoalAudioListener, NullAudioListener

public interface AudioListener
extends Audio
Represent an AudioListener, a place to store or control sound information.

The AbstractAudio class contains a basic implementation of the state and messaging code, and forms a useful start for a system-specific implementation. Specific implementations in the jmrix package, e.g. for LocoNet and NCE, will convert to and from the layout commands.

The states and names are Java Bean parameters, so that listeners can be registered to be notified of any changes.

Each AudioListener object has a two names. The "user" name is entirely free form, and can be used for any purpose. The "system" name is provided by the system-specific implementations, and provides a unique mapping to the layout control system (for example LocoNet or NCE) and address within that system.


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.

  • Method Details

    • setPosition

      void setPosition​(Vector3f pos)
      Sets the position of this AudioListener object

      Applies only to sub-types:

      • Listener
      • Source
      Parameters:
      pos - 3d position vector
    • setPosition

      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
      Parameters:
      x - x-coordinate
      y - y-coordinate
      z - z-coordinate
    • setPosition

      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
      Parameters:
      x - x-coordinate
      y - y-coordinate
    • getPosition

      Returns the position of this AudioListener object as a 3-dimensional vector.

      Applies only to sub-types:

      • Listener
      • Source
      Returns:
      3d position vector
    • getCurrentPosition

      Returns the current position of this AudioListener object as a 3-dimensional vector.

      Applies only to sub-types:

      • Listener
      • Source
      Returns:
      3d position vector
    • resetCurrentPosition

      Method to reset the current position of this AudioListener object to the initial position as defined by setPosition.

      Applies only to sub-types:

      • Listener
      • Source
    • setVelocity

      void setVelocity​(Vector3f vel)
      Sets the velocity of this AudioListener object

      Applies only to sub-types:

      • Listener
      • Source
      Parameters:
      vel - 3d velocity vector
    • getVelocity

      Returns the velocity of this AudioListener object Applies only to sub-types: - Listener - Source
      Returns:
      3d velocity vector
    • setOrientation

      void setOrientation​(Vector3f at, Vector3f up)
      Set the orientation of this AudioListener object

      Applies only to sub-types:

      • Listener
      Parameters:
      at - 3d vector representing the position
      up - 3d vector representing the look-at point
    • getOrientation

      Vector3f getOrientation​(int which)
      Return the orientation of this AudioListener object

      Applies only to sub-types:

      • Listener
      Parameters:
      which - the orientation vector to return: == AT - position; == UP - look-at point
      Returns:
      vector representing the chosen orientation vector
    • getCurrentOrientation

      Return the current orientation of this AudioListener object

      Applies only to sub-types:

      • Listener
      Parameters:
      which - the orientation vector to return: == AT - position; == UP - look-at point
      Returns:
      vector representing the chosen orientation vector
    • getGain

      float getGain()
      Return the current gain setting

      Applies only to sub-types:

      • Listener
      • Source
      Returns:
      float gain
    • setGain

      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
      Parameters:
      gain - new gain value - range 0.0f to 1.0f
    • setMetersPerUnit

      void setMetersPerUnit​(float metersPerUnit)
      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:

      • 0.3048f (i.e. 1 unit == 1 foot)
      • 0.9144f (i.e. 1 unit == 1 yard)

      Applies only to sub-types:

      • Listener
      Parameters:
      metersPerUnit - Meters per unit ratio
    • getMetersPerUnit

      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:

      • 0.3048f (i.e. 1 unit == 1 foot)
      • 0.9144f (i.e. 1 unit == 1 yard)

      Applies only to sub-types:

      • Listener
      Returns:
      Meters per unit ratio