package com.ericcarlisle { import mx.collections.ArrayCollection; public class PlayList { [Bindable] public var Sounds:ArrayCollection; public function PlayList() { Sounds = new ArrayCollection(); } public function AddSound(Title:String, Album:String, Artist:String, Track:String, Year:String, Genre:String, Duration:int, URL:String):void { var duplicateIndex:int = -1; for (var i:int=0; i < Sounds.length; i++) { if (Sounds[i]["url"] == URL) duplicateIndex = i; } if (duplicateIndex >= 0) { if (Duration > Sounds[duplicateIndex]["duration"]) { Sounds.removeItemAt(duplicateIndex); Sounds.addItemAt({title: Title, album: Album, artist: Artist, track: Track, year: Year, genre: Genre, duration: Duration, url:URL}, duplicateIndex); } } else { Sounds.addItem({title: Title, album: Album, artist: Artist, track: Track, year: Year, genre: Genre, duration: Duration, url:URL}); } } public function AddSoundAt(Title:String, Album:String, Artist:String, Track:String, Year:String, Genre:String, Duration:int, URL:String, index:int):void { Sounds.addItemAt({title: Title, album: Album, artist: Artist, track: Track, year: Year, genre: Genre, duration: Duration, url:URL}, index); } public function RemoveSoundAt(index:int):void { Sounds.removeItemAt(index); } } }