--- /dev/null
+//Create a class for music player
+package MusicPlayer
+import Timer.SimulatedTimer
+
+
+public class MusicPlayers {
+ private int deviceNumbers
+ private List musicPlayers
+ def sendEvent
+
+ //For one device(We cannot have obj.id)-> We should have obj[0].id
+ private String id = "musicPlayerID0"
+ private String label = "musicPlayer0"
+ private String displayName = "musicPlayer0"
+ private int level = 20
+ private String mute = "unmuted"
+ private String status = "pause"
+ private int trackNumber = 0
+ private List trackData = ["track1", "track2", "track3", "track4"]
+
+
+
+ MusicPlayers(Closure sendEvent, int deviceNumbers) {
+ this.sendEvent = sendEvent
+ this.deviceNumbers = deviceNumbers
+ this.musicPlayers = []
+
+ musicPlayers.add(new MusicPlayer(id, label, displayName, this.level, this.mute, this.status, this.trackNumber, this.trackData))
+ }
+
+ //Methods for closures
+ def count(Closure Input) {
+ musicPlayers.count(Input)
+ }
+ def size() {
+ musicPlayers.size()
+ }
+ def each(Closure Input) {
+ musicPlayers.each(Input)
+ }
+ def find(Closure Input) {
+ musicPlayers.find(Input)
+ }
+ def collect(Closure Input) {
+ musicPlayers.collect(Input)
+ }
+
+ //methods
+ def mute() {
+ musicPlayers[0].mute()
+ }
+ def nextTrack() {
+ musicPlayers[0].nextTrack()
+ }
+ def pause() {
+ musicPlayers[0].pause()
+ }
+ def play() {
+ musicPlayers[0].play()
+ }
+ def playTrack(String trackToPlay) {
+ musicPlayers[0].playTrack(trackToPlay)
+ }
+ def previousTrack() {
+ musicPlayers[0].previousTrack()
+ }
+ def restoreTrack(String trackToRestore) {
+ musicPlayers[0].restoreTrack(trackToRestore)
+ }
+ def resumeTrack(String trackToResume) {
+ musicPlayers[0].resumeTrack(trackToResume)
+ }
+ def setLevel(int level) {
+ musicPlayers[0].setLevel(level)
+ }
+ def setTrack(String trackToSet) {
+ musicPlayers[0].setTrack(trackToSet)
+ }
+ def stop() {
+ musicPlayers[0].stop()
+ }
+
+ def currentValue(String deviceFeature) {
+ musicPlayers[0].currentValue(deviceFeature)
+ }
+
+ def getAt(int ix) {
+ musicPlayers[ix]
+ }
+}