jmri.jmrit.audio
Class AbstractAudioFactory

java.lang.Object
  extended by jmri.jmrit.audio.AbstractAudioFactory
All Implemented Interfaces:
AudioFactory
Direct Known Subclasses:
JavaSoundAudioFactory, JoalAudioFactory, NullAudioFactory

public abstract class AbstractAudioFactory
extends 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.

Author:
Matthew Harris copyright (c) 2009

Constructor Summary
AbstractAudioFactory()
           
 
Method Summary
 boolean AudioCommandQueue(AudioCommand queueAudioCommand)
          Queues a new AudioCommand for subsequent execution.
 void cleanup()
          Perform any implementation specific clean-up operations.
 Thread getCommandThread()
          Return the currently active Command thread
 boolean init()
          Perform any implementation specific initialisation routines.
 boolean isDistanceAttenuated()
          Determines if this AudioFactory attenuates sources based on their distance from the Listener
 void setDistanceAttenuated(boolean attenuated)
          Sets if this AudioFactory should attenuate sources based on their distance from the listener Default = true
 
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
 

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 interface AudioFactory
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 interface AudioFactory

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 interface AudioFactory
Parameters:
queueAudioCommand - AudioCommand to queue or null to execute queue
Returns:
true, if further commands exist; false, if empty

getCommandThread

public Thread getCommandThread()
Description copied from interface: AudioFactory
Return the currently active Command thread

Specified by:
getCommandThread in interface AudioFactory
Returns:
active CommandThread

setDistanceAttenuated

public void setDistanceAttenuated(boolean attenuated)
Description copied from interface: AudioFactory
Sets if this AudioFactory should attenuate sources based on their distance from the listener

Default = true

Specified by:
setDistanceAttenuated in interface AudioFactory
Parameters:
attenuated - true if distance attenuation to be used

isDistanceAttenuated

public boolean isDistanceAttenuated()
Description copied from interface: AudioFactory
Determines if this AudioFactory attenuates sources based on their distance from the Listener

Specified by:
isDistanceAttenuated in interface AudioFactory
Returns:
true if distance attenuation used


Copyright © 1997 - 2009 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