Changeset 343
- Timestamp:
- 09/10/09 18:09:25 (4 years ago)
- Location:
- trunk/fl5/src/com/longtailvideo/jwplayer
- Files:
-
- 6 edited
-
controller/Controller.as (modified) (1 diff)
-
controller/PlayerSetup.as (modified) (7 diffs)
-
controller/PluginLoader.as (modified) (2 diffs)
-
model/PlayerConfig.as (modified) (1 diff)
-
plugins/V4Plugin.as (modified) (2 diffs)
-
view/View.as (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/fl5/src/com/longtailvideo/jwplayer/controller/Controller.as
r335 r343 86 86 */ 87 87 public function setupPlayer():void { 88 var setup:PlayerSetup = new PlayerSetup(_ model, _view);88 var setup:PlayerSetup = new PlayerSetup(_player, _model, _view); 89 89 90 90 setup.addEventListener(Event.COMPLETE, setupComplete); -
trunk/fl5/src/com/longtailvideo/jwplayer/controller/PlayerSetup.as
r339 r343 1 1 package com.longtailvideo.jwplayer.controller { 2 import com.jeroenwijering.events.PluginInterface; 2 3 import com.longtailvideo.jwplayer.events.PlaylistEvent; 3 4 import com.longtailvideo.jwplayer.model.Model; 5 import com.longtailvideo.jwplayer.player.Player; 6 import com.longtailvideo.jwplayer.plugins.IPlugin; 7 import com.longtailvideo.jwplayer.plugins.V4Plugin; 4 8 import com.longtailvideo.jwplayer.utils.Configger; 5 9 import com.longtailvideo.jwplayer.view.DefaultSkin; … … 7 11 import com.longtailvideo.jwplayer.view.View; 8 12 13 import flash.display.DisplayObject; 9 14 import flash.events.ErrorEvent; 10 15 import flash.events.Event; … … 38 43 39 44 /** MVC references **/ 45 private var _player:Player; 40 46 private var _model:Model; 41 47 private var _view:View; … … 44 50 private var tasker:TaskQueue; 45 51 46 public function PlayerSetup(model:Model, view:View) { 52 public function PlayerSetup(player:Player, model:Model, view:View) { 53 _player = player; 47 54 _model = model; 48 55 _view = view; … … 57 64 tasker.queueTask(loadConfig, loadConfigComplete); 58 65 tasker.queueTask(loadSkin); 59 tasker.queueTask(loadPlugins );66 tasker.queueTask(loadPlugins, loadPluginsComplete); 60 67 tasker.queueTask(loadPlaylist); 61 68 tasker.queueTask(loadMediaSources); … … 127 134 } 128 135 } 136 137 private function loadPluginsComplete(event:Event):void { 138 var loader:PluginLoader = event.target as PluginLoader; 139 140 for (var pluginName:String in loader.plugins) { 141 var plugin:DisplayObject = loader.plugins[pluginName] as DisplayObject; 142 if (plugin is IPlugin) { 143 _view.addPlugin(pluginName, plugin as IPlugin); 144 } else if (plugin is PluginInterface) { 145 _view.addPlugin(pluginName, new V4Plugin(plugin as PluginInterface)); 146 } 147 } 148 149 } 129 150 130 151 private function loadPlaylist():void { … … 143 164 144 165 private function initPlugins():void { 145 tasker.success(); 166 try { 167 for each (var pluginName:String in _view.loadedPlugins().split(",")) { 168 var plugin:IPlugin = _view.getPlugin(pluginName); 169 plugin.initializePlugin(_player, _model.config.pluginConfig(pluginName)); 170 } 171 tasker.success(); 172 } catch (e:Error) { 173 tasker.failure(new ErrorEvent(ErrorEvent.ERROR, false, false, e.message)); 174 } 146 175 } 147 176 -
trunk/fl5/src/com/longtailvideo/jwplayer/controller/PluginLoader.as
r339 r343 1 1 package com.longtailvideo.jwplayer.controller { 2 2 import com.longtailvideo.jwplayer.utils.AssetLoader; 3 import com.longtailvideo.jwplayer.utils.RootReference; 3 4 import com.longtailvideo.jwplayer.utils.Strings; 4 5 … … 50 51 51 52 private function loadLocalPlugin(plugin:String):void { 52 if (plugin.indexOf("/") >= 0 ) {53 if (plugin.indexOf("/") >= 0 || RootReference.root.loaderInfo.url.indexOf("http") != 0) { 53 54 var loader:AssetLoader = new AssetLoader(); 54 55 loader.addEventListener(Event.COMPLETE, loadSuccess); -
trunk/fl5/src/com/longtailvideo/jwplayer/model/PlayerConfig.as
r339 r343 293 293 /** Which plugins to load **/ 294 294 public function get plugins():String { return _plugins; } 295 public function set plugins(x:String):void { _plugins = x; } 296 297 /** 298 * Returns a PluginConfig containing plugin configuration information 299 * 300 * @param pluginName Name of the plugin whose config to return. 301 */ 302 public function pluginConfig(pluginName:String):PluginConfig { 303 if (_pluginConfig.hasOwnProperty(pluginName)) { 304 return _pluginConfig[pluginName] as PluginConfig; 305 } 306 307 return new PluginConfig(pluginName); 308 } 295 309 296 310 } -
trunk/fl5/src/com/longtailvideo/jwplayer/plugins/V4Plugin.as
r339 r343 2 2 import com.jeroenwijering.events.AbstractView; 3 3 import com.jeroenwijering.events.PluginInterface; 4 4 import com.longtailvideo.jwplayer.player.Player; 5 5 6 import flash.display.Sprite; 6 7 7 8 public class V4Plugin extends Sprite implements IPlugin { 8 var vw:AbstractView;9 var plug:PluginInterface;9 private var vw:AbstractView; 10 private var plug:PluginInterface; 10 11 11 12 public function V4Plugin(plugin:PluginInterface) { … … 17 18 plug.initializePlugin(vw); 18 19 } 20 21 public function resize(width:Number, height:Number):void { 22 23 } 19 24 20 25 } -
trunk/fl5/src/com/longtailvideo/jwplayer/view/View.as
r339 r343 69 69 } 70 70 71 public function loadedPlugins():String { 72 var list:Array = []; 73 for each (var plugin:DisplayObject in _plugins) { 74 if (plugin is IPlugin) { 75 list.push(plugin.name); 76 } 77 } 78 return list.join(","); 79 } 80 71 81 public function getPlugin(name:String):IPlugin { 72 82 return _plugins.getChildByName(name) as IPlugin;
Note: See TracChangeset
for help on using the changeset viewer.
