package { import dw.cm.entry.EntryPoint; import flash.events.Event; //ENTRYPOINT OF THE PLAYER, THE BASE CLASS LOADS THE XML FILE PASSED AS ARGUMENT TO CONSTRUCTOR public class IndexDynamic extends EntryPoint { public function IndexDynamic() { super("playlist.xml",false); /*(dummyPlayer as Mp3PlayerFrontEnd).dispose(); (dummyPlaylist as PlaylistFrontEnd).dispose(); removeChild(dummyPlayer); removeChild(dummyPlaylist); removeChild(dummyPlaylistListboxItem); removeChild(dummyAlbumListboxItem);*/ } //ONCE THE CONFINGURATION FILE IS LOADED, THE PLAYER IS CREATED, THE PLAYER ITSELF IS SPLITTED INTO 4 PARTS: // - MP3PLAYER CLASS INSTANCE, HANDLES THE ACTUAL PLAYBACK OF MP3 FILES // - MP3PLAYERFRONTEND CLASS INSTANCE, HANDLES THE MP3PLAYER PART OF UI // - PLAYLIST CLASS INSTANCE, HANDLES THE PLAYLIST LOGIC, MANAGES THE MP3PLAYER ENGINE // - PLAYLISTFRONTEND CLASS INSTANCE, HANDLES THE UI PART, HAS A REF TO THE PLAYLIST INSTANCE protected override function xmlLoaded(e:Event) : void { super.xmlLoaded(e); var player:Mp3Player = new Mp3Player(); var playerFrontEnd:Mp3PlayerFrontEnd = new Mp3PlayerFrontEnd(); playerFrontEnd.player = player; playerFrontEnd.x = 0; playerFrontEnd.y = 0; player.xmlData = _xmlData; var playlist:Playlist = new Playlist(); playlist.player = player; var playlistFrontEnd:PlaylistFrontEnd = new PlaylistFrontEnd(); playlistFrontEnd.playlist = playlist; playlistFrontEnd.x = playerFrontEnd.x; playlistFrontEnd.y = playerFrontEnd.y + playerFrontEnd.height - 15; addChild(playlistFrontEnd); addChild(playerFrontEnd); } } }