Package jmri.jmrit.audio
Class AbstractAudioFactory
- java.lang.Object
-
- jmri.jmrit.audio.AbstractAudioFactory
-
- All Implemented Interfaces:
AudioFactory
- Direct Known Subclasses:
JavaSoundAudioFactory
,JoalAudioFactory
,NullAudioFactory
public abstract class AbstractAudioFactory extends java.lang.Object implements AudioFactory
Abstract implementation of the AudioFactory class.All code shared amongst the concrete AudioFactory classes is defined here.
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 Summary
Constructors Constructor Description AbstractAudioFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
audioCommandQueue(AudioCommand queueAudioCommand)
Queues a new AudioCommand for subsequent execution.void
cleanup()
Perform any implementation specific clean-up operations.java.lang.Thread
getCommandThread()
Get the currently active Command thread.boolean
init()
Perform any implementation specific initialisation routines.boolean
isDistanceAttenuated()
Determine if this AudioFactory attenuates sources based on their distance from the Listener.void
setDistanceAttenuated(boolean attenuated)
Set if this AudioFactory should attenuate sources based on their distance from the listener.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jmri.jmrit.audio.AudioFactory
createNewBuffer, createNewListener, createNewSource, getActiveAudioListener, isInitialised
-
-
-
-
Constructor Detail
-
AbstractAudioFactory
public AbstractAudioFactory()
-
-
Method Detail
-
init
public boolean init()
Description copied from interface:AudioFactory
Perform any implementation specific initialisation routines.- Specified by:
init
in interfaceAudioFactory
- Returns:
- true, if initialisation successful
-
cleanup
public void cleanup()
Description copied from interface:AudioFactory
Perform any implementation specific clean-up operations.- Specified by:
cleanup
in interfaceAudioFactory
-
audioCommandQueue
public boolean audioCommandQueue(AudioCommand queueAudioCommand)
Description copied from interface:AudioFactory
Queues a new AudioCommand for subsequent execution.If newAudioCommand is null the current queue is executed and cleaned.
- Specified by:
audioCommandQueue
in interfaceAudioFactory
- Parameters:
queueAudioCommand
- AudioCommand to queue or null to execute queue- Returns:
- true, if further commands exist; false, if empty
-
getCommandThread
public java.lang.Thread getCommandThread()
Description copied from interface:AudioFactory
Get the currently active Command thread.- Specified by:
getCommandThread
in interfaceAudioFactory
- Returns:
- active CommandThread
-
setDistanceAttenuated
public void setDistanceAttenuated(boolean attenuated)
Description copied from interface:AudioFactory
Set if this AudioFactory should attenuate sources based on their distance from the listener.Default = true
- Specified by:
setDistanceAttenuated
in interfaceAudioFactory
- Parameters:
attenuated
- true if distance attenuation to be used
-
isDistanceAttenuated
public boolean isDistanceAttenuated()
Description copied from interface:AudioFactory
Determine if this AudioFactory attenuates sources based on their distance from the Listener.- Specified by:
isDistanceAttenuated
in interfaceAudioFactory
- Returns:
- true if distance attenuation used
-
-