Changeset 83
- Timestamp:
- 10/16/08 13:46:59 (5 years ago)
- Location:
- branches/4.2
- Files:
-
- 8 added
- 11 edited
-
com/adobe (added)
-
com/adobe/images (added)
-
com/adobe/images/BitString.as (added)
-
com/adobe/images/JPGEncoder.as (added)
-
com/adobe/images/PNGEncoder.as (added)
-
com/jeroenwijering/parsers/ObjectParser.as (modified) (1 diff)
-
com/jeroenwijering/parsers/SMILParser.as (modified) (1 diff)
-
com/jeroenwijering/player/Controller.as (modified) (1 diff)
-
com/jeroenwijering/player/Model.as (modified) (3 diffs)
-
com/jeroenwijering/player/Player.as (modified) (6 diffs)
-
com/jeroenwijering/player/View.as (modified) (6 diffs)
-
com/jeroenwijering/plugins/Controlbar.as (modified) (3 diffs)
-
com/jeroenwijering/plugins/Display.as (modified) (1 diff)
-
com/jeroenwijering/plugins/Playlist.as (modified) (8 diffs)
-
com/jeroenwijering/plugins/Snapshot.as (added)
-
player.fla (modified) (previous)
-
player.swf (modified) (previous)
-
snapshot.fla (added)
-
snapshot.swf (added)
Legend:
- Unmodified
- Added
- Removed
-
branches/4.2/com/jeroenwijering/parsers/ObjectParser.as
r80 r83 52 52 'png':'image', 53 53 'rbs':'sound', 54 'sdp':'video', 54 55 'swf':'image', 55 56 'vp6':'video' -
branches/4.2/com/jeroenwijering/parsers/SMILParser.as
r80 r83 108 108 break; 109 109 default: 110 trace(att+' - '+obj.attributes()[i].toString());111 110 itm[att] = obj.attributes()[i].toString(); 112 111 break; -
branches/4.2/com/jeroenwijering/player/Controller.as
r80 r83 64 64 view.addEventListener(ViewEvent.STOP,stopHandler); 65 65 view.addEventListener(ViewEvent.VOLUME,volumeHandler); 66 if(config['file']) { playlister.load(config); }67 66 }; 68 67 -
branches/4.2/com/jeroenwijering/player/Model.as
r81 r83 39 39 public function Model(cfg:Object,skn:MovieClip,ctr:Controller):void { 40 40 config = cfg; 41 if(config['streamscript']) { config['streamer'] = config['streamscript']; } 41 42 skin = skn; 42 43 Draw.clear(skin.display.media); … … 171 172 private function resizeHandler(evt:ControllerEvent=null):void { 172 173 Stretcher.stretch(skin.display.media,config['width'],config['height'],config['stretching']); 173 Stretcher.stretch(thumb,config['width'],config['height'],config['stretching']); 174 if(thumb.width > 0) { 175 Stretcher.stretch(thumb,config['width'],config['height'],config['stretching']); 176 } 174 177 }; 175 178 … … 218 221 } 219 222 break; 223 default: 224 break; 220 225 } 221 226 dat.oldstate = config['state']; -
branches/4.2/com/jeroenwijering/player/Player.as
r82 r83 22 22 date:undefined, 23 23 duration:0, 24 file: 'http://www.jeroenwijering.com/upload/bunnies.xml',24 file:undefined, 25 25 image:undefined, 26 26 link:undefined, … … 30 30 type:undefined, 31 31 32 backcolor: 'ffffff',33 frontcolor: '000000',34 lightcolor: '000000',35 screencolor: '000000',32 backcolor:undefined, 33 frontcolor:undefined, 34 lightcolor:undefined, 35 screencolor:undefined, 36 36 37 37 controlbar:'bottom', … … 67 67 token:undefined, 68 68 tracecall:undefined, 69 version:'4.2.8 2'69 version:'4.2.84' 70 70 }; 71 71 /** Reference to all stage graphics. **/ … … 117 117 model = new Model(config,skin,controller); 118 118 view = new View(config,skin,controller,model,loader); 119 controller.start(model,view); 119 120 loadPlugins(); 120 121 }; … … 138 139 139 140 /** 140 * Everything loaded; show and start the player.141 * Everything is now loaded. The player is shown and the file is loaded (when there). 141 142 * 142 143 * The View will send a PlayerReady event to all plugins and javascript. … … 146 147 loader.removeEventListener(SPLoaderEvent.PLUGINS,startPlayer); 147 148 dispatchEvent(new PlayerEvent(PlayerEvent.READY)); 148 controller.start(model,view);149 149 visible = true; 150 150 }; -
branches/4.2/com/jeroenwijering/player/View.as
r81 r83 41 41 /** Constructor, save references and subscribe to events. **/ 42 42 public function View(cfg:Object,skn:MovieClip,ctr:Controller,mdl:Model,ldr:SPLoader):void { 43 Security.allowDomain("*"); 43 44 _config = cfg; 44 45 _config['client'] = 'FLASH '+Capabilities.version; … … 56 57 listeners = new Array(); 57 58 setJavascript(); 59 setTimeout(playerReady,50); 60 } 61 if(config['file']) { 62 setTimeout(sendEvent,200,ViewEvent.LOAD,config); 58 63 } 59 64 }; … … 62 67 /** Getters for the config parameters, skinning parameters and playlist. **/ 63 68 override public function get config():Object { return _config; }; 64 private function getConfig():Object { return _config; };65 69 override public function get playlist():Array { return controller.playlist; }; 66 private function getPlaylist():Array { return controller.playlist; };67 70 override public function get skin():MovieClip { return _skin; }; 71 72 73 /** 74 * Javascript getters for the config and playlist. 75 * Since parameters with alphanumerical characters tend to crash AS <> JS, they are removed. 76 **/ 77 private function getConfig():Object { 78 var cfg:Object = new Object(); 79 for(var itm:String in _config) { 80 if(itm.indexOf('.') == -1) { 81 cfg[itm] = _config[itm]; 82 } 83 } 84 return cfg; 85 }; 86 private function getPlaylist():Array { 87 return controller.playlist; 88 }; 68 89 69 90 … … 111 132 dat.client = config['client']; 112 133 dat.version = config['version']; 113 for each(var itm:String in listeners) {114 if( itm['target'] == tgt && itm['type'] == typ) {115 ExternalInterface.call( itm['callee'],dat);134 for (var itm:String in listeners) { 135 if(listeners[itm]['target'] == tgt && listeners[itm]['type'] == typ) { 136 ExternalInterface.call(listeners[itm]['callee'],dat); 116 137 } 117 138 } … … 141 162 /** Send a call to javascript that the player is ready. **/ 142 163 private function playerReady():void { 143 var dat:Object = {id:config['id'],client:config['client'],version:config['version']}; 144 try { 145 ExternalInterface.call("playerReady",dat); 146 } catch (err:Error) {} 164 if(ExternalInterface.available) { 165 var dat:Object = {id:config['id'],client:config['client'],version:config['version']}; 166 try { 167 ExternalInterface.call("playerReady",dat); 168 } catch (err:Error) {} 169 } 170 if(config['file']) { 171 sendEvent(ViewEvent.LOAD,config); 172 } 147 173 }; 148 174 … … 204 230 private function setJavascript() { 205 231 try { 206 setTimeout(playerReady,50);207 232 if(ExternalInterface.objectID) { 208 233 _config['id'] = ExternalInterface.objectID; -
branches/4.2/com/jeroenwijering/plugins/Controlbar.as
r82 r83 199 199 /** Handle mouseouts from all buttons **/ 200 200 private function outHandler(evt:MouseEvent):void { 201 if( bar[evt.target.name]['icon']) {201 if(front) { 202 202 bar[evt.target.name]['icon'].transform.colorTransform = front; 203 203 } else { … … 209 209 /** Handle clicks from all buttons **/ 210 210 private function overHandler(evt:MouseEvent):void { 211 if( bar[evt.target.name]['icon']) {211 if(front) { 212 212 bar[evt.target.name]['icon'].transform.colorTransform = light; 213 213 } else { … … 294 294 bar.back.transform.colorTransform = clr; 295 295 } 296 try { 297 front = new ColorTransform(); 298 front.color = uint('0x'+view.config['frontcolor'].substr(-6)); 299 for(var btn:String in BUTTONS) { 300 if(bar[btn] && bar[btn]['icon']) { 301 bar[btn]['icon'].transform.colorTransform = front; 302 } 303 } 304 for(var sld:String in SLIDERS) { 305 if(bar[sld] && bar[sld]['icon']) { 306 bar[sld]['icon'].transform.colorTransform = front; 307 bar[sld]['mark'].transform.colorTransform = front; 308 bar[sld]['rail'].transform.colorTransform = front; 309 } 310 } 311 bar.elapsedText.textColor = front.color; 312 bar.totalText.textColor = front.color; 313 } catch (err:Error) {} 314 light = new ColorTransform(); 315 light.color = uint('0x'+view.config['lightcolor'].substr(-6)); 316 try { 317 bar['volumeSlider']['mark'].transform.colorTransform = light; 318 bar['timeSlider']['done'].transform.colorTransform = light; 319 } catch (err:Error) {} 296 if(view.config['frontcolor']) { 297 try { 298 front = new ColorTransform(); 299 front.color = uint('0x'+view.config['frontcolor'].substr(-6)); 300 for(var btn:String in BUTTONS) { 301 if(bar[btn]) { 302 bar[btn]['icon'].transform.colorTransform = front; 303 } 304 } 305 for(var sld:String in SLIDERS) { 306 if(bar[sld]) { 307 bar[sld]['icon'].transform.colorTransform = front; 308 bar[sld]['mark'].transform.colorTransform = front; 309 bar[sld]['rail'].transform.colorTransform = front; 310 } 311 } 312 bar.elapsedText.textColor = front.color; 313 bar.totalText.textColor = front.color; 314 } catch (err:Error) {} 315 } 316 if(view.config['lightcolor']) { 317 light = new ColorTransform(); 318 light.color = uint('0x'+view.config['lightcolor'].substr(-6)); 319 } else { 320 light = front; 321 } 322 if(light) { 323 try { 324 bar['volumeSlider']['mark'].transform.colorTransform = light; 325 bar['timeSlider']['done'].transform.colorTransform = light; 326 } catch (err:Error) {} 327 } 320 328 }; 321 329 -
branches/4.2/com/jeroenwijering/plugins/Display.as
r82 r83 58 58 display.media.mask = display.masker; 59 59 display.mouseChildren = false; 60 var clr:ColorTransform = new ColorTransform(); 61 clr.color = uint('0x'+view.config['screencolor'].substr(-6)); 62 display.back.transform.colorTransform = clr; 60 if(view.config['screencolor']) { 61 var clr:ColorTransform = new ColorTransform(); 62 clr.color = uint('0x'+view.config['screencolor'].substr(-6)); 63 display.back.transform.colorTransform = clr; 64 } 63 65 if(view.config['displayclick'] != 'none') { 64 66 display.addEventListener(MouseEvent.CLICK,clickHandler); -
branches/4.2/com/jeroenwijering/plugins/Playlist.as
r82 r83 50 50 public function initializePlugin(vie:AbstractView):void { 51 51 view = vie; 52 if(view.config['playlist'] == 'none') { return; }1 52 53 view.addControllerListener(ControllerEvent.ITEM,itemHandler); 53 54 view.addControllerListener(ControllerEvent.PLAYLIST,playlistHandler); … … 143 144 scrollInterval = setInterval(scrollEase,50,idx*buttonheight/proportion,-idx*buttonheight+clip.masker.y); 144 145 } 145 if( buttons[idx].c['back']) {146 if(light) { 146 147 for (var itm:String in view.playlist[idx]) { 147 148 if(buttons[idx].c[itm]) { … … 149 150 } 150 151 } 152 } 153 if(back) { 151 154 buttons[idx].c['back'].transform.colorTransform = back; 152 155 } 153 156 buttons[idx].c.gotoAndPlay('active'); 154 157 if(!isNaN(active)) { 155 if( buttons[idx].c['back']) {158 if(front) { 156 159 for (var act:String in view.playlist[active]) { 157 160 if(buttons[active].c[act]) { … … 176 179 private function overHandler(evt:MouseEvent):void { 177 180 var idx:Number = Number(evt.target.name); 178 if( buttons[idx].c['back']) {181 if(front) { 179 182 for (var itm:String in view.playlist[idx]) { 180 183 if(buttons[idx].c[itm]) { … … 191 194 private function outHandler(evt:MouseEvent):void { 192 195 var idx:Number = Number(evt.target.name); 193 if( buttons[idx].c['back']) {196 if(front) { 194 197 for (var itm:String in view.playlist[idx]) { 195 198 if(buttons[idx].c[itm]) { … … 282 285 /** Init the colors. **/ 283 286 private function setColors():void { 284 back = new ColorTransform(); 285 back.color = uint('0x'+view.config['backcolor'].substr(-6)); 286 clip.back.transform.colorTransform = back; 287 front = new ColorTransform(); 288 front.color = uint('0x'+view.config['frontcolor'].substr(-6)); 289 try { 290 clip.slider.icon.transform.colorTransform = front; 291 clip.slider.rail.transform.colorTransform = front; 287 if(view.config['backcolor']) { 288 back = new ColorTransform(); 289 back.color = uint('0x'+view.config['backcolor'].substr(-6)); 290 clip.back.transform.colorTransform = back; 292 291 clip.slider.back.transform.colorTransform = back; 293 } catch (err:Error) {} 294 light = new ColorTransform(); 295 light.color = uint('0x'+view.config['lightcolor'].substr(-6)); 292 } 293 if(view.config['frontcolor']) { 294 front = new ColorTransform(); 295 front.color = uint('0x'+view.config['frontcolor'].substr(-6)); 296 try { 297 clip.slider.icon.transform.colorTransform = front; 298 clip.slider.rail.transform.colorTransform = front; 299 } catch (err:Error) {} 300 } 301 if(view.config['lightcolor']) { 302 light = new ColorTransform(); 303 light.color = uint('0x'+view.config['lightcolor'].substr(-6)); 304 } else { 305 light = front; 306 } 296 307 }; 297 308 … … 328 339 } 329 340 } 330 if(b uttons[idx].c['back']) {341 if(back) { 331 342 buttons[idx].c['back'].transform.colorTransform = back; 332 343 } … … 358 369 /** Highlight the icon on rollover. **/ 359 370 private function soverHandler(evt:MouseEvent):void { 360 if( light) {371 if(front) { 361 372 clip.slider.icon.transform.colorTransform = light; 362 373 } else {
Note: See TracChangeset
for help on using the changeset viewer.
