<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://osflash.org/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel>
        <title>Open Source Flash</title>
        <description></description>
        <link>http://osflash.org/</link>
        <lastBuildDate>Sat, 04 Feb 2012 04:06:44 -0500</lastBuildDate>
        <generator>FeedCreator 1.7.2-ppt DokuWiki</generator>
        <image>
            <url>http://osflash.org/lib/images/favicon.ico</url>
            <title>Open Source Flash</title>
            <link>http://osflash.org/</link>
        </image>
        <item>
            <title>osflash - old revision restored</title>
            <link>http://osflash.org/osflash?rev=1327793522&amp;do=diff</link>
            <description>&lt;pre&gt;
@@ -1 +1,18 @@
- Jude Ariveguru
+ ====== Open Source Flash ======
+ 
+ 
+     * [[:blog|Blog]] 
+     * [[:projects|Projects]] 
+     * [[http://jobs.osflash.org/|Jobs]] 
+     * [[:tutorials|Tutorials]] 
+     * [[http://osflash.org/flashcoders/wiki|FlashCoders Wiki]] 
+     * [[http://osflash.org/mailman/listinfo/osflash_osflash.org|Mailling list]] 
+     * [[tags|Cloud of tags]] 
+     * [[tags:user|Who's who]] 
+ 
+ ===== Tags Cloud =====
+ 
+ ~~TAGCLOUD:1024~~
+ 
+ ~~DISCUSSION:off~~
+ 

&lt;/pre&gt;</description>
            <pubDate>Sat, 28 Jan 2012 18:32:02 -0500</pubDate>
        </item>
        <item>
            <title>projects - [Open Source Flash Projects] Took out random code that should have been in the ...</title>
            <link>http://osflash.org/projects?rev=1327644679&amp;do=diff</link>
            <description>&lt;pre&gt;
@@ -1,787 +1,9 @@
  .
  ====== Open Source Flash Projects ======
  
  ~~DISCUSSION:off~~
- /*
-  *************************************
-  * Multi Video Player with Play List
-  * http://www.FlepStudio.org         import mx.events.EventDispatcher;
- import mx.utils.Delegate;
  
- import YouTubePlayerEvent;
- 
- class YouTubePlayer
- {
- 	public var autoPlay:Boolean									= true;
- 	public var chromeless:Boolean								= false;
- 	public var pars:String										= 'autoplay=0&amp;amp;loop=0&amp;amp;rel=0&amp;amp;showsearch=0&amp;amp;hd=1';
- 	public var playerWidth:Number								= 425;
- 	public var playerHeight:Number								= 344;
- 	
- 	public var addEventListener:Function;
- 	
- 	private var intervals:Array									= [ ];
- 	
- 	private var parent:MovieClip;
- 	private var loader:MovieClipLoader;
- 	private var player:MovieClip;
- 	private var videoId:String;
- 	private var removePlayer:Boolean;
- 	private var dispatchEvent:Function;
- 	
- 	public function YouTubePlayer(parent:MovieClip)
- 	{
- 		EventDispatcher.initialize( this );
- 		
- 		System.security.allowDomain( '*' );
- 		System.security.allowDomain( 'www.youtube.com' );
- 		System.security.allowDomain( 'youtube.com' );
- 		System.security.allowDomain( 's.ytimg.com' );
- 		System.security.allowDomain( 'i.ytimg.com' );
- 		
- 		this.parent = parent;
- 		
- 		loader = new MovieClipLoader();
- 	}
- 	
- 	public function init(videoId:String):Void
- 	{
- 		this.videoId = videoId;
- 		
- 		if ( player )
- 		{
- 			removePlayer = true;
- 			
- 			if ( player.getPlayerState() != 1 )
- 			{
- 				destroyPlayer();
- 			}
- 			else
- 			{
- 				player.stopVideo();
- 			}
- 		} 
- 		else 
- 		{		
- 			loadVideo(); 
- 		}
- 	}
- 	
- 	private function loadVideo():Void
- 	{
- 		var url:String = ( chromeless ? 'http://www.youtube.com/apiplayer' : 'http://www.youtube.com/v/' + videoId + '&amp;amp;' + pars );
- 		
- 		player = parent.createEmptyMovieClip( 'Player' + ( new Date().getTime() ), parent.getNextHighestDepth() );
- 		
- 		parent._visible = false;
- 		
- 		loader.addListener({ onLoadInit: loadInit() });
- 		
- 		loader.unloadClip( player );
- 		
- 		loader.loadClip( url, player );
- 	}
- 	
- 	private function loadInit():Void
- 	{
- 		intervals.push( setInterval( Delegate.create( this, checkPlayerLoaded ) , 500 ) );
- 	}
- 	
- 	private function checkPlayerLoaded():Void
- 	{
- 		if ( player.isPlayerLoaded() )
- 		{			
- 			if ( chromeless )
- 			{
- 				player.loadVideoById( videoId );
- 			}
- 			
- 			player.addEventListener( YouTubePlayerEvent.STATE_CHANGED, Delegate.create( this, onPlayerStateChanged ) ); 
- 			player.addEventListener( YouTubePlayerEvent.ERROR, Delegate.create( this, onPlayerError ) );
- 			
- 			resizePlayer( playerWidth, playerHeight );
- 			
- 			parent._visible = true;
- 			
- 			for ( var i:Number = 0; i &amp;lt; intervals.length; i++ )
- 			{
- 				clearInterval( intervals[ i ] );
- 			}
- 			
- 			onPlayerReady();
- 		}
- 	}
- 	
- 	private function onPlayerStateChanged(state:Number):Void
- 	{
- 		switch ( state )
- 		{
- 			case 0:
- 			// ended
- 			
- 			if ( removePlayer )
- 			{
- 				destroyPlayer();
- 			}
- 			
- 			dispatchEvent( new YouTubePlayerEvent( YouTubePlayerEvent.PLAYER_ENDED ) );
- 			
- 			break;
- 			
- 			case 1:
- 			// playing
- 			
- 			dispatchEvent( new YouTubePlayerEvent( YouTubePlayerEvent.PLAYER_PLAYING ) );
- 			
- 			break;
- 			
- 			case 2:
- 			// paused
- 			
- 			dispatchEvent( new YouTubePlayerEvent( YouTubePlayerEvent.PLAYER_PAUSED ) );
- 			
- 			break;
- 			
- 			case 3:
- 			// buffering
- 			
- 			dispatchEvent( new YouTubePlayerEvent( YouTubePlayerEvent.PLAYER_BUFFERING ) );
- 			
- 			break;
- 			
- 			case 5:
- 			// video queued
- 			
- 			dispatchEvent( new YouTubePlayerEvent( YouTubePlayerEvent.PLAYER_QUEUED ) );
- 			
- 			break;
- 		}
- 	}
- 	
- 	private function onPlayerError():Void
- 	{
- 		dispatchEvent( new YouTubePlayerEvent( YouTubePlayerEvent.ERROR ) );
- 	}
- 	
- 	public function resizePlayer(width:Number, height:Number):Void
- 	{
- 		if ( player.isPlayerLoaded() )
- 		{
- 			player.setSize( width, height );
- 		}
- 	}
- 	
- 	private function onPlayerReady():Void
- 	{
- 		if ( autoPlay )
- 		{
- 			player.playVideo();
- 		}
- 	}
- 	
- 	private function destroyPlayer():Void
- 	{	
- 		intervals.push( setInterval( Delegate.create( this, checkPlayerDestroyed ), 500 ) );
- 		
- 		removePlayer = false;
- 	}
- 	
- 	private function checkPlayerDestroyed():Void
- 	{
- 		if ( !player )
- 		{
- 			for ( var i:Number = 0; i &amp;lt; intervals.length; i++ )
- 			{
- 				clearInterval( intervals[ i ] );
- 			}
- 			
- 			init( videoId );
- 		}
- 		else
- 		{
- 			for ( var players:String in parent )
- 			{
- 				parent[ players ].destroy();
- 
- 				removeMovieClip( parent[ players ] );
- 				unloadMovie( parent[ players ] );
- 			}
- 			
- 			player = null;
- 		}
- 	}
- 	
- 	public function stop():Void
- 	{
- 		removePlayer = false;
- 		
- 		player.stopVideo();
- 	}
- }
-  * © Author: Filippo Lughi           
-  * version 1.0                       
-  *************************************
-  */
- package org.FlepStudio.VideoPlayer
- {
- 	import flash.display.*;
- 	import flash.net.*;
- 	import flash.media.*;
- 	import flash.events.*;
- 	import flash.utils.*;
- 	import flash.geom.*;
- 	import caurina.transitions.Tweener;
- 	
- 	public class Player extends MovieClip
- 	{
- 		private var fla:MovieClip;
- 		
- 		public var myVideo:Video;
- 		private var nc:NetConnection;
- 		private var ns:NetStream;
- 		
- 		private var apple:Apple;
- 		
- 		private var client:Object=new Object;
- 		
- 		private var check_click:String;
- 		
- 		private var timer_video:Timer;
- 		
- 		private var rect:Rectangle;
- 		
- 		private var duration:Number;
- 		private var video_duration:Number;
- 		private var video_position:Number;
- 		private var offset_scrub:Number;
- 		private var firstMouseX:Number;
- 		
- 		private var boo_play:Boolean=true;
- 		private var boo_pause:Boolean=false;
- 		
- 		// CONSTRUCTOR
- 		public function Player():void
- 		{
- 			addEventListener(Event.ADDED_TO_STAGE,init);
- 		}
- 		
- 		// This method is called when VideoList class add this class as a child and inits the class logics
- 		private function init(evt:Event):void
- 		{
- 			removeEventListener(Event.ADDED_TO_STAGE,init);
- 			
- 			fla=parent as MovieClip;
- 			
- 			// Disable the buttons untill buffering has stopped
- 			disablePlayAndPauseButtons();
- 			fla.consolle_mc.play_mc.gotoAndStop(2);
- 			fla.consolle_mc.pause_mc.gotoAndStop(1);
- 			fla.bar_mc.scrub_mc.mouseEnabled=true;
- 			
- 			// Add buffering preloader
- 			addApple();
- 			// Create the connection
- 			createConnectionAndStream();
- 			// Enable the play button and the pause button
- 			initPlayButtonListener();
- 			initPauseButtonListener();
- 			// Add the listeners that check the volume of video
- 			initVolumeListeners();
- 			// Enable the button that returns the user at the video list
- 			initListButtonListener();
- 			// Enable the listener of the scrub of the volume scroller
- 			addCheckScrubListener();
- 			// Add a listener that checks the position of the video
- 			addPositionListener();
- 			// Add the listener that checks how many bytes ahs been loaded by streaming
- 			addLoaderListener();
- 			// Enable the scrub of the timeline
- 			initScrub();
- 		}
- 		
- 		// Create a connection using NetConnection,NetStream and Video classes. Also add a listener that checks the status events of the stream (NET_STATUS)
- 		private function createConnectionAndStream():void
- 		{
- 			myVideo=new Video();
- 			myVideo.smoothing=true;
- 			nc=new NetConnection();
- 			nc.connect(null);
- 			ns=new NetStream(nc);
- 			ns.bufferTime=Main.buffering_time;
- 			client.onMetaData=onMetaData;
- 			ns.client=client;
- 			myVideo.attachNetStream(ns);
- 			ns.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
- 			myVideo.width=410;
- 			myVideo.height=260;
- 			myVideo.x=-5;
- 			myVideo.y=-4;
- 			myVideo.alpha=0;
- 			fla.display_mc.addChild(myVideo);
- 		}
- 		
- 		// Enable the play button by adding the listener
- 		private function initPlayButtonListener():void
- 		{
- 			setChildrenAndMode(fla.consolle_mc.play_mc);
- 			fla.consolle_mc.play_mc.addEventListener(MouseEvent.MOUSE_DOWN,switchPlayButton);
- 		}
- 		
- 		// Enable the stop button by adding the listener
- 		private function initPauseButtonListener():void
- 		{
- 			setChildrenAndMode(fla.consolle_mc.pause_mc);
- 			fla.consolle_mc.pause_mc.addEventListener(MouseEvent.MOUSE_DOWN,switchPauseButton);
- 		}
- 		
- 		// Switch the status of the play button everytime the user clicks it
- 		private function switchPlayButton(evt:MouseEvent):void
- 		{
- 			switch(boo_play)
- 			{
- 				case true:
- 					evt.target.gotoAndStop(1);
- 					timer_video.stop();
- 					fla.bar_mc.scrub_mc.x=9;
- 					fla.bar_mc.position_mc.width=0;
- 					ns.pause();
- 					ns.seek(0);
- 				break;
- 				
- 				case false:
- 					evt.target.gotoAndStop(2);
- 					timer_video.start(),
- 					ns.resume();
- 				break;
- 			}
- 			
- 			boo_play=!boo_play;
- 		}
- 		
- 		// Switch the status of the pause button everytime the user clicks it
- 		private function switchPauseButton(evt:MouseEvent):void
- 		{
- 			switch(boo_pause)
- 			{
- 				case true:
- 					evt.target.gotoAndStop(1);
- 					ns.resume();
- 				break;
- 				
- 				case false:
- 					evt.target.gotoAndStop(2);
- 					ns.pause();
- 				break;
- 			}
- 			
- 			boo_pause=!boo_pause;
- 		}
- 		
- 		// Enable the arrow button to go back at video list
- 		private function initListButtonListener():void
- 		{
- 			setChildrenAndMode(fla.consolle_mc.arrow_mc);
- 			fla.consolle_mc.arrow_mc.addEventListener(MouseEvent.MOUSE_DOWN,onListDown);
- 		}
- 		
- 		// This method is called when the arrow button has been called. Also this method destroy the strem connection of the video
- 		private function onListDown(evt:MouseEvent):void
- 		{
- 			destroy();
- 		}
- 		
- 		// Enable mouse events of the timeline scrub of the video
- 		private function initScrub():void
- 		{
- 			offset_scrub=fla.bar_mc.scrub_mc.x;
- 			fla.bar_mc.scrub_mc.mouseChildren=false;
- 			fla.bar_mc.scrub_mc.buttonMode=true;
- 			fla.bar_mc.scrub_mc.addEventListener(MouseEvent.MOUSE_DOWN,setScrumbDown);
- 			fla.bar_mc.scrub_mc.addEventListener(MouseEvent.MOUSE_UP,setScrumbUp);
- 		}
- 		
- 		// Enable mouse events of the timeline scrub of the video. This scrub will seek the video by dragging it
- 		private function addPositionListener():void
- 		{
- 			fla.bar_mc.position_mc.addEventListener(MouseEvent.MOUSE_DOWN,setPositionDown);
- 			fla.bar_mc.position_mc.addEventListener(MouseEvent.MOUSE_UP,setPositionUp);
- 		}
- 		
- 		// Add a listener that checks if the mouse clicks the streaming bar and point the video to that position
- 		private function addLoaderListener():void
- 		{
- 			fla.bar_mc.loader_mc.addEventListener(MouseEvent.MOUSE_DOWN,setPositionDown);
- 			fla.bar_mc.loader_mc.addEventListener(MouseEvent.MOUSE_UP,setPositionUp);
- 		}
- 		
- 		// This method is called when the scrub is dragged
- 		private function setPositionDown(evt:MouseEvent):void
- 		{
- 			firstMouseX=mouseX;
- 			
- 			check_click=&amp;quot;bar&amp;quot;;
- 			
- 			hideApple();
- 			video_position=ns.time;
- 			timer_video.stop();
- 			ns.togglePause();
- 		}
- 		
- 		// This method is called when the scrub is dropped
- 		private function setPositionUp(evt:MouseEvent):void
- 		{
- 			if(check_click==&amp;quot;bar&amp;quot;)
- 			{
- 				var ratio:Number=(video_duration*(firstMouseX-fla.bar_mc.scrub_mc.width))/412;
- 				ns.seek(ratio);
- 				ns.togglePause();
- 				timer_video.start();
- 			}
- 			
- 			check_click=&amp;quot;&amp;quot;;
- 		}
- 		
- 		// Add listeners that manages the scrub of the volume
- 		private function initVolumeListeners():void
- 		{
- 			setChildrenAndMode(fla.consolle_mc.scrub_mc);
- 			fla.consolle_mc.scrub_mc.addEventListener(MouseEvent.MOUSE_DOWN,setVolumeDown);
- 			fla.consolle_mc.scrub_mc.addEventListener(MouseEvent.MOUSE_UP,setVolumeUp);
- 		}
- 		
- 		// This method is called when the volume scrub has been clicked
- 		private function setVolumeDown(evt:MouseEvent):void
- 		{
- 			check_click=&amp;quot;volume&amp;quot;;
- 			var rectangle:Rectangle=new Rectangle(fla.consolle_mc.volume_bar_mc.x+fla.consolle_mc.volume_bar_mc.width,evt.target.y,
- 										   						-fla.consolle_mc.volume_bar_mc.width,0);
- 			evt.target.startDrag(false,rectangle);
- 			evt.target.addEventListener(Event.ENTER_FRAME,volumeControl);
- 		}
- 		
- 		// This method is called meantime the volume scrub is dragged
- 		private function volumeControl(evt:Event):void
- 		{
- 			var distance:Number=fla.consolle_mc.volume_bar_mc.width-3;
- 			var p:Number=evt.target.x-fla.consolle_mc.volume_bar_mc.x;
- 			var percentage:Number=Math.ceil((p/distance)*100);
- 			var sf:SoundTransform=new SoundTransform();
- 			sf.volume=-0.05+percentage/100;
- 			if(sf.volume&amp;lt;0)
- 				sf.volume=0;
- 			ns.soundTransform=sf;
- 			
- 			if(sf.volume&amp;gt;.8)
- 			{
- 				fla.consolle_mc.sound_mc.clip_0_mc.visible=true;
- 				fla.consolle_mc.sound_mc.clip_1_mc.visible=true;
- 				fla.consolle_mc.sound_mc.clip_2_mc.visible=true;
- 			}
- 			if(sf.volume&amp;lt;.7&amp;amp;&amp;amp;sf.volume&amp;gt;.5)
- 			{
- 				fla.consolle_mc.sound_mc.clip_0_mc.visible=true;
- 				fla.consolle_mc.sound_mc.clip_1_mc.visible=true;
- 				fla.consolle_mc.sound_mc.clip_2_mc.visible=false;
- 			}
- 			if(sf.volume&amp;lt;.4&amp;amp;&amp;amp;sf.volume&amp;gt;.15)
- 			{
- 				fla.consolle_mc.sound_mc.clip_0_mc.visible=true;
- 				fla.consolle_mc.sound_mc.clip_1_mc.visible=false;
- 				fla.consolle_mc.sound_mc.clip_2_mc.visible=false;
- 			}
- 			if(sf.volume&amp;lt;.15)
- 			{
- 				fla.consolle_mc.sound_mc.clip_0_mc.visible=false;
- 				fla.consolle_mc.sound_mc.clip_1_mc.visible=false;
- 				fla.consolle_mc.sound_mc.clip_2_mc.visible=false;
- 			}
- 		}
- 		
- 		// This method is called when the scrub of the volume is dropped
- 		private function setVolumeUp(evt:MouseEvent):void
- 		{
- 			check_click=&amp;quot;&amp;quot;;
- 			evt.target.stopDrag();
- 		}
- 		
- 		// This video calls the methods that will play the video
- 		private function callPlayVideo(evt:MouseEvent):void
- 		{
- 			playVideo();
- 		}
- 		
- 		// This method starts playing the video
- 		public function playVideo():void
- 		{
- 			fla.bar_mc.buffer_mc.scaleX=0;
- 			fla.bar_mc.position_mc.width=0;
- 			fla.bar_mc.loader_mc.scaleX=0;
- 			addEventListener(Event.ENTER_FRAME,checkBuffer);
- 			
- 			timer_video=new Timer(5,0);
- 			timer_video.addEventListener(TimerEvent.TIMER,checkVideoPosition);
- 			timer_video.start();
- 				
- 			ns.play(Main.currentSelectedVideo);
- 		}
- 		
- 	// This method checks the status of the connection
- 		private function onNetStatus(nsevent:NetStatusEvent):void
- 		{
- 			if(nsevent.info.level==&amp;quot;error&amp;quot;)
- 				ns.close();
- 			switch(nsevent.info.code)
- 			{
- 				 case &amp;quot;NetStream.Play.Start&amp;quot;:
- 				 	showApple();
- 				 break;
- 			 
- 				 case &amp;quot;NetStream.Buffer.Empty&amp;quot;:
- 					 if(fla.bar_mc.position_mc.width&amp;lt;407)
- 					 {
- 						disablePlayAndPauseButtons();
- 						showApple();
- 					 }
- 				 break;
- 			 
- 				case &amp;quot;NetStream.Buffer.Flush&amp;quot;:
- 					trace(&amp;quot;flush&amp;quot;);
- 				break;
- 				
- 				case &amp;quot;NetStream.Buffer.Full&amp;quot;:
- 					showConsolle();
- 					Tweener.addTween(myVideo,{alpha:.95,time:1,transition:&amp;quot;regular&amp;quot;});
- 					fla.bar_mc.scrub_mc.visible=true;
- 					hideApple();
- 					removeEventListener(Event.ENTER_FRAME,checkBuffer);
- 					enablePlayAndPauseButtons();
- 					addEventListener(Event.ENTER_FRAME,checkBytesLoaded);
- 					fla.bar_mc.buffer_mc.scaleX=0;
- 				break;
- 			 
- 				case &amp;quot;NetStream.Play.Stop&amp;quot;:
- 					hideApple();
- 				break;
- 			 
- 				//default: trace(&amp;quot;not used code: &amp;quot;+nsevent.info.code);
- 			}
- 		}
- 		
- 		// This method is called when the buffering time is full
- 		private function onMetaData(data:Object):void
- 		{
- 			video_duration=data.duration;
- 		}	
- 		
- 		// This method checks the buffering of the connection
- 		private function checkBuffer(evt:Event):void
- 		{
- 			var ratio:Number=ns.bufferLength/ns.bufferTime;
- 			fla.bar_mc.buffer_mc.scaleX=ratio;
- 			if(fla.bar_mc.buffer_mc.scaleX&amp;gt;1)
- 				fla.bar_mc.buffer_mc.scaleX=1;
- 		}
- 		
- 		// This method checks the bytes loaded of the video
- 		private function checkBytesLoaded(evt:Event):void
- 		{
- 			var ratio:Number=ns.bytesLoaded/ns.bytesTotal;
- 			fla.bar_mc.loader_mc.scaleX=ratio;
- 			if(fla.bar_mc.loader_mc.scaleX&amp;gt;=0.99)
- 			{
- 				fla.bar_mc.loader_mc.scaleX=1;
- 				removeEventListener(Event.ENTER_FRAME,checkBytesLoaded);
- 			}
- 		}
- 		
- 		// This method checks the position of the video
- 		private function checkVideoPosition(evt:TimerEvent):void
- 		{
- 			var ratio:Number=ns.time*412/video_duration;
- 			video_position=ns.time;
- 			fla.bar_mc.position_mc.width=ratio;
- 			fla.bar_mc.scrub_mc.x=ratio;
- 			if(fla.bar_mc.position_mc.width&amp;gt;=421)
- 			{
- 				fla.bar_mc.position_mc.width=412;
- 				timer_video.stop();
- 				hideApple();
- 			}
- 		}
- 		
- 		// This method is called when the scrub of the video has been clicked
- 		private function setScrumbDown(evt:MouseEvent):void
- 		{
- 			check_click=&amp;quot;scrub&amp;quot;;
- 			disableBars();
- 			
- 			hideApple();
- 			video_position=ns.time;
- 			timer_video.stop();
- 			ns.togglePause();
- 			
- 			rect=new Rectangle(fla.bar_mc.position_mc.x,evt.target.y,fla.bar_mc.loader_mc.width,0);
- 			evt.target.startDrag(false,rect);
- 			
- 			ns.removeEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
- 			evt.target.addEventListener(Event.ENTER_FRAME,seekTheVideo);
- 		}
- 		
- 		// This method seeks the video during the scrub dragging
- 		private function seekTheVideo(evt:Event):void
- 		{
- 			var ratio:Number=(video_duration*(evt.target.x-offset_scrub))/412;
- 			fla.bar_mc.position_mc.width=evt.target.x;
- 			ns.seek(ratio);
- 		}
- 		
- 		// This method is called when the scrub of the video has been dropped
- 		private function setScrumbUp(evt:MouseEvent):void
- 		{
- 			check_click=&amp;quot;&amp;quot;;
- 			enableBars();
- 			
- 			evt.target.removeEventListener(Event.ENTER_FRAME,seekTheVideo);
- 			evt.target.stopDrag();
- 			ns.togglePause();
- 			timer_video.start();
- 		}
- 		
- 		// This method add a listener that checks if the mouse is released out of the area of the scrub video or scrub volume
- 		private function addCheckScrubListener():void
- 		{
- 			fla.stage.addEventListener(MouseEvent.MOUSE_UP,checkScrub);
- 		}
- 		
- 		// This method checks which scrub has been clicked
- 		private function checkScrub(evt:MouseEvent):void
- 		{
- 			switch(check_click)
- 			{
- 				case &amp;quot;scrub&amp;quot;:
- 					fla.bar_mc.scrub_mc.removeEventListener(Event.ENTER_FRAME,seekTheVideo);
- 					fla.bar_mc.scrub_mc.stopDrag();
- 					ns.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
- 					ns.togglePause();
- 					timer_video.start();
- 				break;
- 				
- 				case &amp;quot;bar&amp;quot;:
- 					var ratio:Number=(video_duration*(firstMouseX-fla.bar_mc.scrub_mc.width))/412;
- 					ns.seek(ratio);
- 					ns.togglePause();
- 					timer_video.start();
- 				break;
- 				
- 				case &amp;quot;volume&amp;quot;:
- 					fla.consolle_mc.scrub_mc.stopDrag();
- 				break;
- 			}
- 			
- 			check_click=&amp;quot;&amp;quot;;
- 			enableBars();
- 		}
- 		
- 		// This method disable the clicks over the position and loader bars
- 		private function disableBars():void
- 		{
- 			fla.bar_mc.position_mc.mouseEnabled=false;
- 			fla.bar_mc.loader_mc.mouseEnabled=false;
- 		}
- 		
- 		// This method enable the clicks over the position and loader bars
- 		private function enableBars():void
- 		{
- 			fla.bar_mc.position_mc.mouseEnabled=true;
- 			fla.bar_mc.loader_mc.mouseEnabled=true;
- 		}
- 		
- 		// This method enable the play and pause buttons
- 		private function enablePlayAndPauseButtons():void
- 		{
- 			fla.consolle_mc.play_mc.mouseEnabled=true;
- 			fla.consolle_mc.pause_mc.mouseEnabled=true;
- 		}
- 		
- 		// This method disable the play and pause buttons
- 		private function disablePlayAndPauseButtons():void
- 		{
- 			fla.consolle_mc.play_mc.mouseEnabled=false;
- 			fla.consolle_mc.pause_mc.mouseEnabled=false;
- 		}
- 		
- 		// This method add the preloader
- 		private function addApple():void
- 		{
- 			apple=new Apple();
- 			apple.alpha=0;
- 			apple.width=apple.height=35;
- 			apple.x=220-apple.width/2;
- 			apple.y=145-apple.height/2;
- 			addChild(apple);
- 		}
- 		
- 		// This method shows the preloader during buffer time
- 		private function showApple():void
- 		{
- 			apple.play();
- 			Tweener.addTween(apple,{alpha:1,time:.5,transition:&amp;quot;regular&amp;quot;});
- 		}
- 		
- 		// This method hide the preloader each time the buffer time is empty
- 		private function hideApple():void
- 		{
- 			apple.stop();
- 			Tweener.addTween(apple,{alpha:0,time:.5,transition:&amp;quot;regular&amp;quot;});
- 		}
- 		
- 		// This method shows the consolle of the control buttons
- 		private function showConsolle():void
- 		{
- 			fla.consolle_mc.visible=true;
- 		}
- 		
- 		// This method hides the consolle of the control buttons
- 		private function hideConsolle():void
- 		{
- 			fla.consolle_mc.visible=false;
- 		}
- 		
- 		// This method set the mouseChildren and buttonMode of the MovieClip that is passed to this method
- 		private function setChildrenAndMode(mov:MovieClip):void
- 		{
- 			mov.mouseChildren=false;
- 			mov.buttonMode=true;
- 		}
- 		
- 		// This method destroy all the listeners of this class.
- 		private function destroy():void
- 		{
- 			hideConsolle();
- 			hideApple();
- 			fla.bar_mc.scrub_mc.x=8;
- 			fla.bar_mc.scrub_mc.mouseEnabled=false;
- 			Tweener.addTween(fla.bar_mc.buffer_mc,{scaleX:0,time:1,transition:&amp;quot;regular&amp;quot;});
- 			Tweener.addTween(fla.bar_mc.loader_mc,{scaleX:0,time:1,transition:&amp;quot;regular&amp;quot;});
- 			Tweener.addTween(fla.bar_mc.position_mc,{width:0,time:1,transition:&amp;quot;regular&amp;quot;});
- 			ns.close();
- 			ns.removeEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
- 			timer_video.stop();
- 			timer_video.removeEventListener(TimerEvent.TIMER,checkVideoPosition);
- 			removeEventListener(Event.ENTER_FRAME,checkBuffer);
- 			removeEventListener(Event.ENTER_FRAME,checkBytesLoaded);
- 			Tweener.addTween(myVideo,{alpha:0,time:.5,transition:&amp;quot;regular&amp;quot;,onComplete:removeMe});
- 		}
- 		
- 		// This method remove this class from VideoList class
- 		private function removeMe():void
- 		{
- 			fla.video_list.showList();
- 			fla.removeChild(this);
- 		}
- 	}
- }
  ===== Flash IDE Alternatives =====
  
  
    * [[AjaxAnimator]] - An **online, collaborative, web-based animation suite** with support for exporting to **Flash, Silverlight, GIFs, and more** [[http://antimatter15.com|Homepage]] [[http://antimatter15.com/ajaxanimator|Live Application]] - &amp;quot;Last release - Wed Feb 17 2010&amp;quot; - Ray James

&lt;/pre&gt;</description>
            <pubDate>Fri, 27 Jan 2012 01:11:19 -0500</pubDate>
        </item>
        <item>
            <title>flashcoders:wiki - rm test edits</title>
            <link>http://osflash.org/flashcoders/wiki?rev=1327330709&amp;do=diff</link>
            <description>&lt;pre&gt;
@@ -3,10 +3,9 @@
  The original Flashcoders Wiki was unfortunately defaced by wiki spam. This is a project run by community members to revive the Flashcoders Wiki here on OSFlash.
  
  This is the main Flashcoders Wiki page. Links to subpages should go here.
  
- WE'RE ALL GONNA DIE! December 2012
- //__Italic Text__//===== Flashcoders Mailing List =====
+ ===== Flashcoders Mailing List =====
  
    * [[Etiquette]]
  
  ===== If i've said it once, i've said it a hundred times =====

&lt;/pre&gt;</description>
        <category>flashcoders</category>
            <pubDate>Mon, 23 Jan 2012 09:58:29 -0500</pubDate>
        </item>
        <item>
            <title>swift - [Summary] </title>
            <link>http://osflash.org/swift?rev=1327185045&amp;do=diff</link>
            <description>&lt;pre&gt;
@@ -11,8 +11,9 @@
    * **Screenshots/Gallery **: [[http://swift-swf.blogspot.com/p/screenshots.html]]
  
  SWIFT (which stands for &amp;quot;ShockWave Is Free Territory&amp;quot;) is an open-source alternative to Adobe Flash. It has the ability to export to HTML5 as well as .swf, allowing for viewing on non-Flash-compatible devices (such as the iPhone or the Kindle). It has full ActionScript support.
  
+ SWIFT has become the [[Lightningbeam]] project because of trademark concerns regarding the Swift-3d plugin for Flash.
  ===== Development Status =====
  
  ** SWIFT Features **
    * Support for multiple image types (jpeg, png, targa, tiff, gif, bmp)

&lt;/pre&gt;</description>
        <category>project</category>
        <category>swift</category>
        <category>swift-swf</category>
        <category>osflash</category>
        <category>ide</category>
        <category>flash</category>
        <category>html5</category>
        <category>opensource</category>
            <pubDate>Sat, 21 Jan 2012 17:30:45 -0500</pubDate>
        </item>
        <item>
            <title>lightningbeam - created</title>
            <link>http://osflash.org/lightningbeam?rev=1327184926&amp;do=diff</link>
            <description>&lt;pre&gt;
@@ -1 +1,8 @@
+ ===== Summary =====
  
+   * **Homepage **: [[http://lightningbeam.blogspot.com]]
+   * **License **: GNU Public License v3 (GPL v3)
+ 
+   * **Screenshots/Gallery **: [[http://lightningbeam.org/Gallery.html]]
+ 
+ Lightningbeam is the continuation of the [[SWIFT]] project to provide an open-source alternative to Adobe Flash. It has the ability to export to HTML5 as well as .swf, allowing for viewing on non-Flash-compatible devices (such as the iPhone or the Kindle). It has full ActionScript support in SWF files and partial ActionScript support for HTML5. Lightningbeam runs on Linux, Windows and Mac OS X.

&lt;/pre&gt;</description>
            <pubDate>Sat, 21 Jan 2012 17:28:46 -0500</pubDate>
        </item>
        <item>
            <title>sentez_bilisim - Sentez Bilişim</title>
            <link>http://osflash.org/sentez_bilisim?rev=1326126244&amp;do=diff</link>
            <description>&lt;pre&gt;
@@ -1 +1 @@
- sentez bilişim, [[www.sentezbilisim.com|web tasarım]] hizmetleri
+ sentez bilişim, [[http://www.sentezbilisim.com|web tasarım]] hizmetleri

&lt;/pre&gt;</description>
            <pubDate>Mon, 09 Jan 2012 11:24:04 -0500</pubDate>
        </item>
        <item>
            <title>rtmpd - created</title>
            <link>http://osflash.org/rtmpd?rev=1325901502&amp;do=diff</link>
            <description>&lt;pre&gt;
@@ -1 +1 @@
- 
+ improve

&lt;/pre&gt;</description>
            <pubDate>Fri, 06 Jan 2012 20:58:22 -0500</pubDate>
        </item>
        <item>
            <title>red5:showcase - added xaxxon.com/oculus</title>
            <link>http://osflash.org/red5/showcase?rev=1325703621&amp;do=diff</link>
            <description>&lt;pre&gt;
@@ -3,5 +3,6 @@
  Below is a list of applications that use Red5. Feel free to add your own!
+    * [[http://www.XAXXON.com/oculus]] - Oculus Telepresence &amp;amp; Surveillance Robot, laptop-to-robot conversion kit
     * [[http://www.coolcandi.com]] - free Facebook online video chat and video conferenceroom reservations
     * [[http://www.envivodesde.com]] - Stream IP Cameras Live! - Stream yourself.
     * [[http://www.assemblive.com]] - Large group online events made easy and productive
     * [[http://www.videomailkutusu.com]] - Video Mailing System for personal and business needs

&lt;/pre&gt;</description>
        <category>red5</category>
            <pubDate>Wed, 04 Jan 2012 14:00:21 -0500</pubDate>
        </item>
        <item>
            <title>flashdevelop - bug</title>
            <link>http://osflash.org/flashdevelop?rev=1325407042&amp;do=diff</link>
            <description>&lt;pre&gt;
@@ -3,8 +3,5 @@
  
- {{http://upload.wikimedia.org/wikipedia/en/thumb/1/1d/FlashDevelopLogo.png/200px-FlashDevelopLogo.png|}}
- 
- {{http://upload.wikimedia.org/wikipedia/en/thumb/0/03/FlashDevelop3screen.png/300px-FlashDevelop3screen.png|}}
  
  {{tag&amp;gt;flashdevelop ide flash opensource script editor}}
  
  

&lt;/pre&gt;</description>
        <category>flashdevelop</category>
        <category>ide</category>
        <category>flash</category>
        <category>opensource</category>
        <category>script</category>
        <category>editor</category>
            <pubDate>Sun, 01 Jan 2012 03:37:22 -0500</pubDate>
        </item>
        <item>
            <title>as3_speed_optimizations - [Math.abs] </title>
            <link>http://osflash.org/as3_speed_optimizations?rev=1324550501&amp;do=diff</link>
            <description>&lt;pre&gt;
@@ -361,8 +361,12 @@
  
  faster:
  &amp;lt;code&amp;gt;var nn:Number = -23
  var test:Number= nn &amp;lt; 0 ? nn * -1 : nn;&amp;lt;/code&amp;gt;
+ 
+ or just  : 
+ &amp;lt;code&amp;gt;var nn:Number = -23
+ var test:Number= nn &amp;lt; 0 ? -nn : nn;&amp;lt;/code&amp;gt;
  
  slower:
  &amp;lt;code&amp;gt;var nn:Number = -23
  var test:Number = Math.abs(nn);&amp;lt;/code&amp;gt;
@@ -467,9 +471,8 @@
  ChsTest:  63.28
  IfMinusTest:  43.52&amp;lt;/code&amp;gt;
  
  Bear in mind the **IfMinusTest** code assumes the inverse operation must take place **every** time (n is always &amp;lt; 0) - so the actual implementation would probably run even faster.
- 
  
  
  
  

&lt;/pre&gt;</description>
            <pubDate>Thu, 22 Dec 2011 05:41:41 -0500</pubDate>
        </item>
        <item>
            <title>documentation:amf:datatypes</title>
            <link>http://osflash.org/documentation/amf/datatypes?rev=1323776527&amp;do=diff</link>
            <description>&lt;pre&gt;
@@ -34,5 +34,7 @@
  
  The AMF **UTF8** represents a string shorter than 2^16 bytes. It is composed of an Int (2 bytes) representing string length followed by the UTF8-encoded string.
  
  The AMF **LongUTF8** represents a string potentially longer than 2^16 bytes. It is composed of an LongInt (4 bytes) representing string length followed by the UTF8-encoded string.
+ 
+ AMF viewer: [[http://amfview.org|http://amfview.org]]
  

&lt;/pre&gt;</description>
        <category>documentation</category>
        <category>amf</category>
        <category>datatype</category>
            <pubDate>Tue, 13 Dec 2011 06:42:07 -0500</pubDate>
        </item>
        <item>
            <title>documentation:amf</title>
            <link>http://osflash.org/documentation/amf?rev=1323691959&amp;do=diff</link>
            <description>&lt;pre&gt;
@@ -45,5 +45,5 @@
  
    * [[http://www.flash-db.com/Board/index.php?board=24;action=display;threadid=3423| Discussion on flash-db forum]]
    * [[http://weblogs.macromedia.com/jd/archives/2003/03/amf_php_legalit.cfm|John Dowdell]]
    * [[http://osflash.org/red5/discovery|Red5 and AMF]]
-   * [[http://amfview.org|Read amf file]]
+   * [[http://amfview.org|Convenient Amf file viewer]]

&lt;/pre&gt;</description>
        <category>documentation</category>
        <category>amf</category>
            <pubDate>Mon, 12 Dec 2011 07:12:39 -0500</pubDate>
        </item>
    </channel>
</rss>

