package polarDust.calculator;
/*
* Copyright (c) 1995, 1996 Sun Microsystems, Inc. All Rights Reserved.
*
* Permission to use, copy, modify, and distribute this software
* and its documentation for NON-COMMERCIAL purposes and without
* fee is hereby granted provided that this copyright notice
* appears in all copies. Please refer to the file "copyright.html"
* for further important copyright and licensing information.
*
* SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
* THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
* TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
* PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
* ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
* DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
*/
import java.applet.*;
import java.net.URL;
/**
*
* Downloads a sound clip into memory from a specified URL.
*
*
* The source code.
*
*/
class SoundLoader extends Thread {
Applet applet;
SoundList soundList;
URL baseURL;
String relativeURL;
/**
* Loads a sound clip into memory starting a loading thread
* @param applet the calling applet; only applets can download.
* @param soundList the location where to out the clip.
* @param baseURL the source URL.
* @param relativeURL usually the file name.
* @see SoundLoader.getAudioClip
*/
public SoundLoader(Applet applet, SoundList soundList,
URL baseURL, String relativeURL) {
this.applet = applet;
this.soundList = soundList;
this.baseURL = baseURL;
this.relativeURL = relativeURL;
setPriority(MIN_PRIORITY);
start();
}
/**
* The downloading thread.
*/
public void run() {
AudioClip audioClip = applet.getAudioClip(baseURL, relativeURL);
soundList.putClip(audioClip, relativeURL);
}
}