Class CommandThread

  extended by java.lang.Thread
      extended by paulscode.sound.SimpleThread
          extended by paulscode.sound.CommandThread
All Implemented Interfaces:

public class CommandThread
extends SimpleThread

The CommandThread class is designed to move all command processing into a single thread to be run in the background and avoid conflicts between threads. Commands are processed in the order that they were queued. The arguements for each command are stored in a CommandObject. The Command Queue is located in the SoundSystem class. Calling kill() stops the thread, and this should be immediatly followed by a call to interrupt() to wake up the thread so it may end. This class also checks for temporary sources that are finished playing, and removes them. NOTE: The command thread is created automatically by the sound system, so it is unlikely that the user would ever need to use this class.

SoundSystem License:

You are free to use this library for any purpose, commercial or otherwise. You may modify this library or source code, and distribute it any way you like, provided the following conditions are met:
1) You may not falsely claim to be the author of this library or any unmodified portion of it.
2) You may not copyright this library or a modified version of it and then sue me for copyright infringement.
3) If you modify the source code, you must clearly document the changes made before redistributing the modified source code, so other users know it is not the original code.
4) You are not required to give me credit for this library in any derived work, but if you do, you must also mention my website:
5) I the author will not be responsible for any damages (physical, financial, or otherwise) caused by the use if this library or any part of it.
6) I the author do not guarantee, warrant, or make any representations, either expressed or implied, regarding the use of this library or any part of it.

Author: Paul Lamb

Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
Field Summary
protected  java.lang.String className
          Name of this class.
protected  SoundSystemLogger logger
          Processes status messages, warnings, and error messages.
Fields inherited from class java.lang.Thread
Constructor Summary
CommandThread(SoundSystem s)
          Constructor: Takes a handle to the SoundSystem object as a parameter.
Method Summary
protected  void cleanup()
          Shuts the thread down and removes references to all instantiated objects.
protected  boolean errorCheck(boolean error, java.lang.String message)
          Prints the specified message if error is true.
protected  void errorMessage(java.lang.String message, int indent)
          Prints an error message.
protected  void importantMessage(java.lang.String message, int indent)
          Prints an important message.
protected  void message(java.lang.String message, int indent)
          Prints a message.
 void run()
          The main loop for processing commands.
Methods inherited from class paulscode.sound.SimpleThread
alive, dying, kill, restart, snooze
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Field Detail


protected SoundSystemLogger logger
Processes status messages, warnings, and error messages.


protected java.lang.String className
Name of this class.

Constructor Detail


public CommandThread(SoundSystem s)
Constructor: Takes a handle to the SoundSystem object as a parameter.

s - Handle to the SoundSystem.
Method Detail


protected void cleanup()
Shuts the thread down and removes references to all instantiated objects. NOTE: Method alive() will return false when cleanup() has finished.

cleanup in class SimpleThread


public void run()
The main loop for processing commands. The Command Thread starts out asleep, and it sleeps again after it finishes processing commands, so it must be interrupted when commands are queued for processing.

Specified by:
run in interface java.lang.Runnable
run in class SimpleThread


protected void message(java.lang.String message,
                       int indent)
Prints a message.

message - Message to print.


protected void importantMessage(java.lang.String message,
                                int indent)
Prints an important message.

message - Message to print.


protected boolean errorCheck(boolean error,
                             java.lang.String message)
Prints the specified message if error is true.

error - True or False.
message - Message to print if error is true.
True if error is true.


protected void errorMessage(java.lang.String message,
                            int indent)
Prints an error message.

message - Message to print.