Package jmri

Interface Audio

All Superinterfaces:
Comparable<NamedBean>, NamedBean, PropertyChangeProvider
All Known Subinterfaces:
AudioBuffer, AudioListener, AudioSource
All Known Implementing Classes:
AbstractAudio, AbstractAudioBuffer, AbstractAudioListener, AbstractAudioSource, JavaSoundAudioBuffer, JavaSoundAudioListener, JavaSoundAudioSource, JoalAudioBuffer, JoalAudioListener, JoalAudioSource, NullAudioBuffer, NullAudioListener, NullAudioSource

public interface Audio
extends NamedBean
Represent an Audio, 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 will convert to and from the hardware commands.

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

Each Audio 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 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.