In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

SoundFork Player

Get Adobe Flash player
by murderdeathkitty 18 Jul 2009
/**
 * Copyright murderdeathkitty ( http://wonderfl.net/user/murderdeathkitty )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/8GKZ
 */

    package {
    import flash.display.*;
    import flash.events.*;
    import flash.text.*;
    import flash.net.*;
    public class SoundForkPlayer extends Sprite {
        
        private var rootID: String = "e6e065ca6237884ff83848bcd6745ea73f0d3d96";
        private var playlist: Array = [
            "f4554383c58d119ebefe137de330a2926f93dfbd",
            "3d29fe3d838b576fda2ec64519f5b2deb5e21019",
            "495f4fb3df4f7660ebbcd6fea2b0c4a292e0ac70",
            "78ed504aa9c52d34a6a00fa500e5c882dd6cbfa5",
            "a63675aa5162b754ff14020b959ec2641c8e19bf",
            "62cee0d64c8e7bb885796872b1ae68f9d5229d20",
            "aff19f3421fdc5a67f0aec0c232187a647903de6",
            "7ca40b897e71de5fa8e8df8be74bfdd9a487d5ac",
            "f506c32573a187dbcbac5a97564f913b5fcb69c9",
            "b99b75ca467be009ea2aff1424908ab6c5fc09ef",
            "58e737c6fe9b01b82adca5a3df2b59ee19c51d6c",
            "2c4da8b3dfb5fca8c09e017a97b8a3d019f1ad54",
            "6d367065be603a0d1f290614a9d423e4608cc9e9",
            "e6e065ca6237884ff83848bcd6745ea73f0d3d96",
        ];
        private var next: int = 0;
        private var current: Loader;
        private var link: TextField;
        private var link2: TextField;
        private var text: TextField;
        private var fork: Sprite;
        private var buttons: Sprite;
        private var play: Sprite;
        private var stop: Sprite;
        
        public function SoundForkPlayer() {
            link = new TextField();
            link.width = stage.stageWidth;
            link.height = 16;
            addChild(link);
            link2 = new TextField();
            link2.width = stage.stageWidth;
            link2.height = 16;
            link.y = 16
            text = new TextField();
            text.y = 16;
            text.width = stage.stageWidth;
            text.height = stage.stageHeight - 16;
            addChild(text);
            fork = new Sprite();
            addChild(fork);
            fork.y = 16;
            buttons = new Sprite();
            addChild(link2);
            addChild(buttons);
            //link.htmlText = '<b>Fork: <a target="_blank" href="http://wonderfl.net/code/e6e065ca6237884ff83848bcd6745ea73f0d3d96">http://wonderfl.net/code/e6e065ca6237884ff83848bcd6745ea73f0d3d96</a></b>';
            link2.x = 56;
            play = new Sprite();
            play.graphics.beginFill(0x808080, 0.9);
            play.graphics.moveTo(-8, -8);
            play.graphics.lineTo(8, 0);
            play.graphics.lineTo(-8, 8);
            play.graphics.endFill();
            play.buttonMode = true;
            play.useHandCursor = true;
            play.addEventListener(MouseEvent.CLICK, loadNext);
            play.x = 16;
            play.y = 8;
            buttons.addChild(play);
            stop = new Sprite();
            stop.graphics.beginFill(0x808080, 0.9);
            stop.graphics.drawRect(-8, -8, 16, 16);
            stop.graphics.endFill();
            stop.buttonMode = true;
            stop.useHandCursor = true;
            buttons.addChild(stop);
            stop.x = 40;
            stop.y = 8;
            stop.addEventListener(MouseEvent.CLICK, unload);
            print('Click "Play" for next fork!');
            print('This is a generative audio music player.');
        }
        
        private function print(s: String): void
        {
            text.text = s + "\n" + text.text;
        }
        
        private function loadNext(e: Event): void
        {
            load(playlist[next]);
            next = (next+1)%playlist.length;
        }
        
        private function load(id: String): void
        {
            unload();
            print("Loading: " + id);
            link2.htmlText = '<b>Current:<a target="_blank" href="http://wonderfl.net/code/e6e065ca6237884ff83848bcd6745ea73f0d3d96">http://wonderfl.net/code/'+id+'</a></b>';
            current = new Loader();
            fork.addChild(current);
            current.load(new URLRequest(Fork.swfURL(id)));
        }
        private function unload(e: Event = null): void
        {
            if(current != null){
                fork.removeChild(current);
                current = null;
            }
        }
    }
    
}
class Fork{
    import flash.net.*;
    import flash.events.*;
    public var loader: URLLoader;
    public var id: String;
    public function Fork(id: String): void
    {
        this.id = id;
        //loadPage();
    }
    public function loadPage(): void
    {
        loader = new URLLoader();
        loader.dataFormat = URLLoaderDataFormat.TEXT;
        loader.addEventListener(Event.COMPLETE, onComplete);
        loader.load(new URLRequest(pageURL(id)));
    }
    public function onComplete(e: Event): void
    {
        loader.removeEventListener(Event.COMPLETE, onComplete);
    }
    public function getForks(): void
    {
    }
    public static function pageURL(id: String): String
    {
        return "http://wonderfl.net/code/" + id;
    }
    public static function swfURL(id: String): String
    {
        var result: String = "http://swf.wonderfl.net/swf/usercode/";
        result += id.substr(0, 1) + "/" + id.substr(0, 2) + "/" + id.substr(0, 4) + "/" + id;
        result += ".swf?t=" + new Date().getTime();////3/3c/3ce6/3ce6bbbd5de41a25ca116061d1f0900eb72126bb.swf?t=1247784524800
        return result;
    }
}