Changeset 140


Ignore:
Timestamp:
01/21/09 11:08:02 (4 years ago)
Author:
jeroen
Message:

fixed some accessibility bugs and the always-loading of yt.swf

Location:
trunk/as3
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/as3/com/jeroenwijering/models/BasicModel.as

    r135 r140  
    9090        public function stop():void { 
    9191                clearInterval(interval); 
    92                 position = item['start']; 
     92                if(item) {  
     93                        position = item['start']; 
     94                } 
    9395                model.sendEvent(ModelEvent.STATE,{newstate:ModelStates.IDLE}); 
    9496        }; 
  • trunk/as3/com/jeroenwijering/models/YoutubeModel.as

    r135 r140  
    3333        /** Save the connection state. **/ 
    3434        private var connected:Boolean; 
     35        /** URL of a custom youtube swf. **/ 
     36        private var location:String; 
    3537 
    3638 
     
    4042                Security.allowDomain('*'); 
    4143                var url:String = model.skin.loaderInfo.url; 
    42                 var ytb:String = 'yt.swf'; 
    4344                if(url.indexOf('http://') == 0) { 
    4445                        unique = Math.random().toString().substr(2); 
    4546                        var str:String = url.substr(0,url.indexOf('.swf')); 
    46                         ytb = str.substr(0,str.lastIndexOf('/')+1)+'yt.swf?unique='+unique; 
     47                        location = str.substr(0,str.lastIndexOf('/')+1)+'yt.swf?unique='+unique; 
    4748                } else { 
    4849                        unique = '1'; 
     50                        location = 'yt.swf'; 
    4951                } 
    5052                outgoing = new LocalConnection(); 
     
    5860                inbound.client = this; 
    5961                inbound.connect('AS2_'+unique); 
    60                 connected = true; 
    6162                loader = new Loader(); 
    6263                loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,errorHandler); 
    63                 loader.load(new URLRequest(ytb)); 
    6464        }; 
    6565 
     
    9292        override public function load(itm:Object):void { 
    9393                super.load(itm); 
     94                loading = true; 
    9495                if(connected) { 
    9596                        model.sendEvent(ModelEvent.STATE,{newstate:ModelStates.BUFFERING}); 
    96                         loading = true; 
    9797                        if(outgoing) { 
    9898                                var gid = getID(item['file']); 
     
    100100                                model.mediaHandler(loader); 
    101101                        } 
     102                } else {  
     103                        loader.load(new URLRequest(location)); 
    102104                } 
    103105        }; 
     
    122124                model.config['mute'] == true ? volume(0): volume(model.config['volume']); 
    123125                if(loading) { load(item); } 
     126                connected = true; 
    124127        }; 
    125128 
  • trunk/as3/com/jeroenwijering/parsers/SRTParser.as

    r96 r140  
    3434                var arr:Array = dat.split("\r\n"); 
    3535                if(arr.length == 1) { arr = dat.split("\n"); } 
    36                 try {  
     36                try { 
    3737                        var idx:Number = arr[1].indexOf(' --> '); 
    3838                        obj['begin'] = Strings.seconds(arr[1].substr(0,idx)); 
  • trunk/as3/com/jeroenwijering/player/Player.as

    r138 r140  
    6868                token:undefined, 
    6969                tracecall:undefined, 
    70                 version:'4.4.135' 
     70                version:'4.4.139' 
    7171        }; 
    7272        /** Base directory from which all plugins are loaded. **/ 
  • trunk/as3/com/jeroenwijering/plugins/Accessibility.as

    r139 r140  
    88import com.jeroenwijering.parsers.SRTParser; 
    99import com.jeroenwijering.parsers.TTParser; 
     10import com.jeroenwijering.utils.Configger; 
     11 
    1012import flash.display.MovieClip; 
    1113import flash.events.Event; 
     
    6163 
    6264        /** Show/hide the captions **/ 
    63         public function hide(stt:Boolean) { 
     65        public function hide(stt:Boolean):void { 
    6466                config['hide'] = stt; 
     67                Configger.saveCookie('accessibility.hide',config['hide']); 
    6568                clip.visible = config['hide']; 
    6669                if(config['hide']) {  
     
    7376 
    7477        /** Clicking the  hide button. **/ 
    75         private function hideClick(evt:MouseEvent) { 
     78        private function hideClick(evt:MouseEvent=null):void { 
    7679                hide(!config['hide']); 
    7780        }; 
     
    8790                clip.tf.autoSize = TextFieldAutoSize.CENTER; 
    8891                format = new TextFormat(null,config['fontsize']); 
     92                if(view.config['audio']) { config['audio'] = view.config['audio']; } 
     93                if(view.config['captions']) { config['captions'] = view.config['captions']; } 
    8994                hide(config['hide']); 
    9095                mute(config['mute']); 
     
    95100                } 
    96101                try { 
    97                         ExternalInterface.addCallback("hideCaptions",hide); 
    98                         ExternalInterface.addCallback("muteAudio",mute); 
     102                        ExternalInterface.addCallback("hideCaptions",hideClick); 
     103                        ExternalInterface.addCallback("muteAudio",muteClick); 
    99104                } catch (err:Error) {} 
    100105        }; 
     
    134139 
    135140        /** Mute/unmute the audiodesc. **/ 
    136         public function mute(stt:Boolean) { 
     141        public function mute(stt:Boolean):void { 
    137142                config['mute'] = stt; 
     143                Configger.saveCookie('accessibility.mute',config['mute']); 
    138144                setVolume(); 
    139145                if(config['mute']) { 
     
    146152 
    147153        /** Clicking the  hide button. **/ 
    148         private function muteClick(evt:MouseEvent) { 
     154        private function muteClick(evt:MouseEvent=null):void { 
    149155                mute(!config['mute']); 
    150156        }; 
     
    222228        /** Check timing of the player to sync captions. **/ 
    223229        private function timeHandler(evt:ModelEvent):void { 
    224                 if(!captions) { return; } 
     230                if(captions.length == 0) { 
     231                        return;  
     232                } 
    225233                var cur:Number = -1; 
    226234                var pos:Number = evt.data.position; 
  • trunk/as3/com/jeroenwijering/plugins/HD.as

    r139 r140  
    88import com.jeroenwijering.utils.Configger; 
    99 
     10import flash.display.MovieClip; 
    1011import flash.display.Sprite; 
    1112import flash.events.Event; 
     
    1314 
    1415 
    15 public class HD implements PluginInterface { 
     16public class HD extends MovieClip implements PluginInterface { 
    1617 
    1718 
Note: See TracChangeset for help on using the changeset viewer.