From e1e781bb2135ef78592226f1a3eaba4925702f1f Mon Sep 17 00:00:00 2001 From: Fuwn Date: Mon, 3 May 2021 16:38:41 -0700 Subject: :star: --- NET/worlds/scape/ASFThread.java | 225 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 225 insertions(+) create mode 100644 NET/worlds/scape/ASFThread.java (limited to 'NET/worlds/scape/ASFThread.java') 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 -- cgit v1.2.3