Crossfire JXClient, Trunk
Public Member Functions | Private Member Functions | Private Attributes | List of all members
com.realtime.crossfire.jxclient.sound.MusicManager Class Reference
Collaboration diagram for com.realtime.crossfire.jxclient.sound.MusicManager:
Collaboration graph

Public Member Functions

 MusicManager (@NotNull final AudioFileLoader audioFileLoader, @Nullable final DebugWriter debugSound)
 
void play (@Nullable final CharSequence name)
 
void setEnabled (final boolean enabled)
 
void setMuted (final boolean muted)
 
void shutdown ()
 

Private Member Functions

void restart ()
 

Private Attributes

final AudioFileLoader audioFileLoader
 
final DebugWriter debugSound
 
boolean enabled
 
boolean muted = true
 
CharSequence name
 
Processor processor
 
Thread thread
 

Detailed Description

Plays background music. At most one background music can be concurrently active (except for fading in/out effects).

Author
Andreas Kirschbaum

Definition at line 35 of file MusicManager.java.

Constructor & Destructor Documentation

◆ MusicManager()

com.realtime.crossfire.jxclient.sound.MusicManager.MusicManager ( @NotNull final AudioFileLoader  audioFileLoader,
@Nullable final DebugWriter  debugSound 
)

Creates a new instance.

Parameters
audioFileLoaderthe audio file loader for loading audio files
debugSoundthe writer for logging sound related information or
null
to not log

Definition at line 87 of file MusicManager.java.

References com.realtime.crossfire.jxclient.sound.MusicManager.audioFileLoader, and com.realtime.crossfire.jxclient.sound.MusicManager.debugSound.

Member Function Documentation

◆ play()

void com.realtime.crossfire.jxclient.sound.MusicManager.play ( @Nullable final CharSequence  name)

Plays the given music. If the new music name is unchanged, continue playing.

Parameters
namethe music name, or
null
to stop playing music

Definition at line 97 of file MusicManager.java.

References com.realtime.crossfire.jxclient.util.DebugWriter.debugProtocolWrite(), com.realtime.crossfire.jxclient.sound.MusicManager.debugSound, com.realtime.crossfire.jxclient.sound.MusicManager.name, and com.realtime.crossfire.jxclient.sound.MusicManager.restart().

Referenced by com.realtime.crossfire.jxclient.sound.SoundManager.playMusic().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ restart()

void com.realtime.crossfire.jxclient.sound.MusicManager.restart ( )
private

◆ setEnabled()

void com.realtime.crossfire.jxclient.sound.MusicManager.setEnabled ( final boolean  enabled)

Sets whether background music is enabled.

Parameters
enabledwhether background music is enabled

Definition at line 113 of file MusicManager.java.

References com.realtime.crossfire.jxclient.util.DebugWriter.debugProtocolWrite(), com.realtime.crossfire.jxclient.sound.MusicManager.debugSound, com.realtime.crossfire.jxclient.sound.MusicManager.enabled, and com.realtime.crossfire.jxclient.sound.MusicManager.restart().

Referenced by com.realtime.crossfire.jxclient.sound.SoundManager.setMusicEnabled().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setMuted()

void com.realtime.crossfire.jxclient.sound.MusicManager.setMuted ( final boolean  muted)

Sets whether background music is muted.

Parameters
mutedwhether background music is muted

Definition at line 129 of file MusicManager.java.

References com.realtime.crossfire.jxclient.util.DebugWriter.debugProtocolWrite(), com.realtime.crossfire.jxclient.sound.MusicManager.debugSound, com.realtime.crossfire.jxclient.sound.MusicManager.muted, and com.realtime.crossfire.jxclient.sound.MusicManager.restart().

Referenced by com.realtime.crossfire.jxclient.sound.SoundManager.muteMusic().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ shutdown()

void com.realtime.crossfire.jxclient.sound.MusicManager.shutdown ( )

Terminates a playing background music and free resources.

Definition at line 161 of file MusicManager.java.

References com.realtime.crossfire.jxclient.sound.MusicManager.processor, com.realtime.crossfire.jxclient.sound.Processor.terminate(), and com.realtime.crossfire.jxclient.sound.MusicManager.thread.

Here is the call graph for this function:

Member Data Documentation

◆ audioFileLoader

final AudioFileLoader com.realtime.crossfire.jxclient.sound.MusicManager.audioFileLoader
private

◆ debugSound

final DebugWriter com.realtime.crossfire.jxclient.sound.MusicManager.debugSound
private

◆ enabled

boolean com.realtime.crossfire.jxclient.sound.MusicManager.enabled
private

Whether background music is enabled. (User setting)

Definition at line 67 of file MusicManager.java.

Referenced by com.realtime.crossfire.jxclient.sound.MusicManager.restart(), and com.realtime.crossfire.jxclient.sound.MusicManager.setEnabled().

◆ muted

boolean com.realtime.crossfire.jxclient.sound.MusicManager.muted = true
private

Whether background music is muted. (Depends on connection state)

Definition at line 72 of file MusicManager.java.

Referenced by com.realtime.crossfire.jxclient.sound.MusicManager.restart(), and com.realtime.crossfire.jxclient.sound.MusicManager.setMuted().

◆ name

CharSequence com.realtime.crossfire.jxclient.sound.MusicManager.name
private

The currently playing music name. Set to

null

if no music is playing.

Definition at line 79 of file MusicManager.java.

Referenced by com.realtime.crossfire.jxclient.sound.MusicManager.play(), and com.realtime.crossfire.jxclient.sound.MusicManager.restart().

◆ processor

Processor com.realtime.crossfire.jxclient.sound.MusicManager.processor
private

The currently running processor, or

null

if none is active or if music is disabled.

Definition at line 55 of file MusicManager.java.

Referenced by com.realtime.crossfire.jxclient.sound.MusicManager.restart(), and com.realtime.crossfire.jxclient.sound.MusicManager.shutdown().

◆ thread

Thread com.realtime.crossfire.jxclient.sound.MusicManager.thread
private

The documentation for this class was generated from the following file: