Class JoalAudioListener

  • All Implemented Interfaces:
    java.lang.Comparable<NamedBean>, Audio, PropertyChangeProvider, AudioListener, NamedBean

    public class JoalAudioListener
    extends AbstractAudioListener
    JOAL implementation of the Audio Listener sub-class.

    For now, no system-specific implementations are forseen - this will remain internal-only



    This software is based on or using the JOAL Library available from http://jogamp.org/joal/www/

    JOAL is released under the BSD license. The full license terms follow:
    Copyright (c) 2003-2006 Sun Microsystems, Inc. All Rights Reserved.
    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
    - Redistribution of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    - Redistribution in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    Neither the name of Sun Microsystems, Inc. or the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.
    This software is provided "AS IS," without a warranty of any kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
    You acknowledge that this software is not designed or intended for use in the design, construction, operation or maintenance of any nuclear facility.



    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.

    • Constructor Detail

      • JoalAudioListener

        public JoalAudioListener​(java.lang.String systemName)
        Constructor for new JoalAudioListener with system name
        Parameters:
        systemName - AudioListener object system name (e.g. IAL)
      • JoalAudioListener

        public JoalAudioListener​(java.lang.String systemName,
                                 java.lang.String userName)
        Constructor for new JoalAudioListener with system name and user name
        Parameters:
        systemName - AudioListener object system name (e.g. IAL)
        userName - AudioListener object user name
    • Method Detail

      • setOrientation

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

        Applies only to sub-types:

        • Listener
        Specified by:
        setOrientation in interface AudioListener
        Overrides:
        setOrientation in class AbstractAudioListener
        Parameters:
        at - 3d vector representing the position
        up - 3d vector representing the look-at point
      • 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:

        • Listener
        • Source
        Specified by:
        setGain in interface AudioListener
        Overrides:
        setGain in class AbstractAudioListener
        Parameters:
        gain - new gain value - range 0.0f to 1.0f
      • 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:

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

        Applies only to sub-types:

        • Listener
        Specified by:
        setMetersPerUnit in interface AudioListener
        Overrides:
        setMetersPerUnit in class AbstractAudioListener
        Parameters:
        metersPerUnit - Meters per unit ratio
      • cleanup

        protected void cleanup()
        Description copied from class: AbstractAudio
        Abstract method that concrete classes will implement to perform necessary cleanup routines.

        This method is now included in dispose(). The caller can call dispose() to cleanup and deregister an audio object.

        Specified by:
        cleanup in class AbstractAudio