Class StreamThread

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

public class StreamThread
extends SimpleThread

The StreamThread class is used to process all streaming sources. This thread starts out asleep, and it sleeps when all streaming sources are finished playing, so it is necessary to call interrupt() after adding new streaming sources to the list.

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
Fields inherited from class java.lang.Thread
Constructor Summary
          Constructor: Grabs a handle to the message logger and instantiates the streaming sources list.
Method Summary
protected  void cleanup()
          Removes all references to instantiated objects, and changes the thread's state to "not alive".
 void run()
          The main loop for processing commands.
 void watch(Source source)
          Adds a new streaming source to the list.
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

Constructor Detail


public StreamThread()
Constructor: Grabs a handle to the message logger and instantiates the streaming sources list.

Method Detail


protected void cleanup()
Removes all references to instantiated objects, and changes the thread's state to "not alive". Method alive() returns false when the cleanup() method has completed.

cleanup in class SimpleThread


public void run()
The main loop for processing commands. The thread sleeps when it finishes processing commands, and it must be interrupted to process more.

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


public void watch(Source source)
Adds a new streaming source to the list. If another source in the list is already playing on the same channel, it is stopped and removed from the list.

source - New source to stream.