Package jmri.jmrit.audio
Class NullAudioSource
java.lang.Object
jmri.implementation.AbstractNamedBean
jmri.implementation.AbstractAudio
jmri.jmrit.audio.AbstractAudioSource
jmri.jmrit.audio.NullAudioSource
- All Implemented Interfaces:
Comparable<NamedBean>
,Audio
,PropertyChangeProvider
,AudioSource
,NamedBean
public class NullAudioSource extends AbstractAudioSource
Null audio system implementation of the Audio Source sub-class.
This file is part of JMRI.
For now, no system-specific implementations are forseen - this will remain internal-only
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.
-
Nested Class Summary
Nested classes/interfaces inherited from class jmri.jmrit.audio.AbstractAudioSource
AbstractAudioSource.AudioSourceFadeThread, AbstractAudioSource.AudioSourceMoveThread
Nested classes/interfaces inherited from interface jmri.NamedBean
NamedBean.BadNameException, NamedBean.BadSystemNameException, NamedBean.BadUserNameException, NamedBean.DisplayOptions, NamedBean.DuplicateSystemNameException
-
Field Summary
Fields inherited from class jmri.implementation.AbstractNamedBean
listenerRefs, mSystemName, register
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_QUEUE_BUFFERS, CMD_RESET_POSITION, CMD_RESUME, CMD_REWIND, CMD_STOP, CMD_UNQUEUE_BUFFERS, 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
DISPLAY_NAME_FORMAT, INCONSISTENT, PROPERTY_STATE, QUOTED_NAME_FORMAT, UNKNOWN
-
Constructor Summary
Constructors Constructor Description NullAudioSource(String systemName)
Constructor for new NullAudioSource with system name.NullAudioSource(String systemName, String userName)
Constructor for new NullAudioSource with system name and user name. -
Method Summary
Modifier and Type Method Description (package private) boolean
bindAudioBuffer(AudioBuffer audioBuffer)
Binds this AudioSource with the specified AudioBuffer.protected void
calculateGain()
Calculate the gain of this AudioSource based on distance from listener and fade levels.protected void
changePosition(Vector3f pos)
Change the current position of this source.protected void
cleanup()
Abstract method that concrete classes will implement to perform necessary cleanup routines.protected void
doFadeIn()
Fade in then play this AudioSource.protected void
doFadeOut()
Fade out then stop this AudioSource.protected void
doPause()
Stop playing the clip but retain the current position.protected void
doPlay()
Play the clip from the beginning.protected void
doResume()
Play the clip from the current position.protected void
doRewind()
Rewind clip to the beginning.protected void
doStop()
Stop playing the clip and rewind to the beginning.Methods inherited from class jmri.jmrit.audio.AbstractAudioSource
calculateCurrentPosition, calculateFades, calculateLoops, doResetCurrentPosition, doTogglePause, doTogglePlay, fadeIn, fadeOut, getAssignedBuffer, getAssignedBufferName, getCurrentPosition, getDebugString, getFadeGain, getFadeIn, getFadeOut, getFading, getGain, getMaximumDistance, getMaxLoops, getMinLoops, getNumLoops, getOffset, getPitch, getPosition, getQueuedBuffers, getReferenceDistance, getRollOffFactor, getSubType, getVelocity, isAudioAlive, isBound, isLooped, isPositionRelative, isQueued, numProcessedBuffers, numQueuedBuffers, pause, play, queueAudioBuffer, queueAudioBuffers, queueBuffer, queueBuffers, resetCurrentPosition, resume, rewind, setAssignedBuffer, setAssignedBuffer, setBound, setFadeIn, setFadeOut, setGain, setLooped, setMaximumDistance, setMaxLoops, setMinLoops, setOffset, setPitch, setPosition, setPosition, setPosition, setPositionRelative, setQueued, setReferenceDistance, setRollOffFactor, setVelocity, stateChanged, stop, togglePause, togglePlay, unqueueAudioBuffers, unqueueBuffers
Methods inherited from class jmri.implementation.AbstractAudio
dispose, getBeanType, getState, roundDecimal, roundDecimal, setState
Methods inherited from class jmri.implementation.AbstractNamedBean
addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, compareSystemNameSuffix, describeState, equals, firePropertyChange, getComment, getDisplayName, getDisplayName, getFullyFormattedDisplayName, getFullyFormattedDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeListenersByReference, getPropertyKeys, getSystemName, getUserName, hashCode, removeProperty, removePropertyChangeListener, removePropertyChangeListener, setComment, setProperty, setUserName, toString, toStringSuffix, updateListenerRef, vetoableChange
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface jmri.NamedBean
addPropertyChangeListener, addPropertyChangeListener, compareSystemNameSuffix, compareTo, describeState, dispose, getBeanType, getComment, getDisplayName, getDisplayName, getFullyFormattedDisplayName, getFullyFormattedDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListenersByReference, getPropertyKeys, getState, getSystemName, getUsageReport, getUserName, removeProperty, setComment, setProperty, setState, setUserName, toString, updateListenerRef, vetoableChange
Methods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
Constructor Details
-
NullAudioSource
Constructor for new NullAudioSource with system name.- Parameters:
systemName
- AudioSource object system name (e.g. IAS1)
-
NullAudioSource
Constructor for new NullAudioSource with system name and user name.- Parameters:
systemName
- AudioSource object system name (e.g. IAS1)userName
- AudioSource object user name
-
-
Method Details
-
bindAudioBuffer
Description copied from class:AbstractAudioSource
Binds this AudioSource with the specified AudioBuffer.Applies only to sub-types:
- Source
- Specified by:
bindAudioBuffer
in classAbstractAudioSource
- Parameters:
audioBuffer
- The AudioBuffer to bind to this AudioSource- Returns:
- true if successful
-
changePosition
Description copied from class:AbstractAudioSource
Change the current position of this source.- Specified by:
changePosition
in classAbstractAudioSource
- Parameters:
pos
- new position
-
doPlay
Description copied from class:AbstractAudioSource
Play the clip from the beginning. If looped, start looping.- Specified by:
doPlay
in classAbstractAudioSource
-
doStop
Description copied from class:AbstractAudioSource
Stop playing the clip and rewind to the beginning.- Specified by:
doStop
in classAbstractAudioSource
-
doPause
Description copied from class:AbstractAudioSource
Stop playing the clip but retain the current position.- Specified by:
doPause
in classAbstractAudioSource
-
doResume
Description copied from class:AbstractAudioSource
Play the clip from the current position.- Specified by:
doResume
in classAbstractAudioSource
-
doRewind
Description copied from class:AbstractAudioSource
Rewind clip to the beginning.- Specified by:
doRewind
in classAbstractAudioSource
-
doFadeIn
Description copied from class:AbstractAudioSource
Fade in then play this AudioSource.- Specified by:
doFadeIn
in classAbstractAudioSource
-
doFadeOut
Description copied from class:AbstractAudioSource
Fade out then stop this AudioSource.- Specified by:
doFadeOut
in classAbstractAudioSource
-
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 classAbstractAudio
-
calculateGain
Description copied from class:AbstractAudioSource
Calculate the gain of this AudioSource based on distance from listener and fade levels.- Specified by:
calculateGain
in classAbstractAudioSource
-