summaryrefslogtreecommitdiff
path: root/NET/worlds/scape/ASFThread.java
diff options
context:
space:
mode:
authorFuwn <[email protected]>2021-05-03 16:38:41 -0700
committerFuwn <[email protected]>2021-05-03 16:38:41 -0700
commite1e781bb2135ef78592226f1a3eaba4925702f1f (patch)
tree8a5b590463ed413e1c6eabb719130e701b95ca63 /NET/worlds/scape/ASFThread.java
downloadworlds.jar-e1e781bb2135ef78592226f1a3eaba4925702f1f.tar.xz
worlds.jar-e1e781bb2135ef78592226f1a3eaba4925702f1f.zip
:star:HEADmain
Diffstat (limited to 'NET/worlds/scape/ASFThread.java')
-rw-r--r--NET/worlds/scape/ASFThread.java225
1 files changed, 225 insertions, 0 deletions
diff --git a/NET/worlds/scape/ASFThread.java b/NET/worlds/scape/ASFThread.java
new file mode 100644
index 0000000..5f7893c
--- /dev/null
+++ b/NET/worlds/scape/ASFThread.java
@@ -0,0 +1,225 @@
+/* */ package NET.worlds.scape;
+/* */
+/* */ import NET.worlds.network.Cache;
+/* */ import NET.worlds.network.CacheFile;
+/* */ import NET.worlds.network.URL;
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ class ASFThread
+/* */ extends Thread
+/* */ {
+/* */ private URL url;
+/* */ private ASFSoundPlayer player;
+/* */ private static ASFThread asfThread;
+/* */ private static boolean paused;
+/* */
+/* */ ASFThread(URL url, ASFSoundPlayer player)
+/* */ {
+/* 142 */ this.url = url;
+/* 143 */ this.player = player;
+/* 144 */ setASF(this);
+/* */ }
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ public void run()
+/* */ {
+/* 157 */ CacheFile cf = Cache.getFile(this.url);
+/* 158 */ cf.waitUntilLoaded();
+/* 159 */ if (cf.error()) {
+/* 160 */ this.player.running = 3;
+/* */
+/* 162 */ releaseASF(this);
+/* 163 */ } else if (!paused)
+/* */ {
+/* 165 */ String localName = cf.getLocalName().replace('/', '\\');
+/* 166 */ if (!ASFSoundPlayer.nativePlay(localName))
+/* 167 */ this.player.running = 3;
+/* 168 */ releaseASF(this);
+/* */ }
+/* */ }
+/* */
+/* */ static synchronized void pauseASF() {
+/* 173 */ if ((!paused) && (asfThread != null)) {
+/* 174 */ ASFThread t = asfThread;
+/* 175 */ stopASF();
+/* */
+/* 177 */ paused = true;
+/* 178 */ new ASFThread(t.url, t.player);
+/* */ }
+/* 180 */ paused = true;
+/* */ }
+/* */
+/* */ static synchronized void resumeASF() {
+/* 184 */ if (paused) {
+/* 185 */ ASFThread t = asfThread;
+/* 186 */ paused = false;
+/* */
+/* 188 */ if (t != null)
+/* 189 */ new ASFThread(t.url, t.player);
+/* */ }
+/* */ }
+/* */
+/* */ static synchronized void releaseASF(ASFThread t) {
+/* 194 */ if (asfThread == t)
+/* 195 */ asfThread = null;
+/* */ }
+/* */
+/* */ static synchronized void setASF(ASFThread t) {
+/* 199 */ if ((asfThread == null) || (!asfThread.url.equals(t.url)))
+/* */ {
+/* */
+/* 202 */ asfThread = t;
+/* 203 */ asfThread.setDaemon(true);
+/* 204 */ asfThread.start();
+/* */ }
+/* */ }
+/* */
+/* */ static synchronized void stopASF() {
+/* 209 */ if (asfThread != null) {
+/* 210 */ asfThread = null;
+/* 211 */ if (!paused)
+/* 212 */ ASFSoundPlayer.nativePlay("");
+/* */ }
+/* */ }
+/* */
+/* */ static boolean isActive() {
+/* 217 */ return asfThread != null;
+/* */ }
+/* */ }
+
+
+/* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\scape\ASFThread.class
+ * Java compiler version: 6 (50.0)
+ * JD-Core Version: 0.7.1
+ */ \ No newline at end of file