X-Git-Url: http://plrg.eecs.uci.edu/git/?p=smartthings-infrastructure.git;a=blobdiff_plain;f=MusicPlayer%2FMusicPlayers.groovy;h=c2d8b75dda55204f5742f4e6e637a5004931eea3;hp=63a213b9852f6b263e997b76446b6cfa86520158;hb=9a9f34091fe2231e5f0010987ac3a24800aaae78;hpb=31da25f02c14814f402e84b35a174f3c0958cd38 diff --git a/MusicPlayer/MusicPlayers.groovy b/MusicPlayer/MusicPlayers.groovy index 63a213b..c2d8b75 100644 --- a/MusicPlayer/MusicPlayers.groovy +++ b/MusicPlayer/MusicPlayers.groovy @@ -28,54 +28,69 @@ public class MusicPlayers { this.deviceNumbers = deviceNumbers this.musicPlayers = [] - def initLevel = Verify.getIntFromList(10, 20, 30) + /*def initLevel = Verify.getIntFromList(10, 20, 30) this.level = initLevel def initMute = Verify.getBoolean() if (initMute) { this.mute = "unmuted" } else { - this.mute = "mute" + this.mute = "muted" } - def initStatus = Verify.getBoolean() - if (initStatus) { + def initStatus = Verify.getInt(0,2) + if (initStatus == 0) { this.status = "paused" - } else { + } else if (initStatus == 1) { this.status = "playing" + } else { + this.status = "stopped" } - - musicPlayers.add(new MusicPlayer(id, label, displayName, this.level, this.mute, this.status, this.trackNumber, this.trackData, this.trackDescription)) + def initTrack = Verify.getIntFromList(1, 2, 3) + this.trackNumber = initTrack + def initData = Verify.getBoolean() + if (initData) { + this.trackData = "someTrack" + } else { + this.trackData = "someOtherTrack" + } + def initDesc = Verify.getBoolean() + if (initDesc) { + this.trackDescription = "someDescriptions" + } else { + this.trackDescription = "someOtherDescriptions" + }*/ + musicPlayers.add(new MusicPlayer(sendEvent, id, label, displayName, this.level, this.mute, this.status, this.trackNumber, this.trackData, this.trackDescription)) } //By model checker def setValue(LinkedHashMap eventDataMap) { if (eventDataMap["name"] == "status") { if (eventDataMap["value"] != musicPlayers[0].status) { + this.status = eventDataMap["value"] musicPlayers[0].setValue(eventDataMap["value"], "status") - this.status = musicPlayers[0].status sendEvent(eventDataMap) } } else if (eventDataMap["name"] == "level") { - if (eventDataMap["value"] != musicPlayers[0].level) { + if (eventDataMap["value"].toInteger() != musicPlayers[0].level) { + this.level = eventDataMap["value"].toInteger() musicPlayers[0].setValue(eventDataMap["value"], "level") - this.level = musicPlayers[0].level sendEvent(eventDataMap) } } else if (eventDataMap["name"] == "trackDescription") { if (eventDataMap["value"] != musicPlayers[0].trackDescription) { + this.trackDescription = eventDataMap["value"] musicPlayers[0].setValue(eventDataMap["value"], "trackDescription") - this.trackDescription = musicPlayers[0].trackDescription sendEvent(eventDataMap) } } else if (eventDataMap["name"] == "trackData") { if (eventDataMap["value"] != musicPlayers[0].trackData) { - musicPlayers[0].setValue(eventDataMap["value"], "trackData") - this.trackData = musicPlayers[0].trackData + this.trackData = eventDataMap["value"] + musicPlayers[0].setValue(eventDataMap["value"], "trackData") sendEvent(eventDataMap) } } else if (eventDataMap["name"] == "mute") { if (eventDataMap["value"] != musicPlayers[0].mute) { + this.mute = eventDataMap["value"] musicPlayers[0].setValue(eventDataMap["value"], "mute") - this.mute = musicPlayers[0].mute sendEvent(eventDataMap) } } @@ -94,6 +109,9 @@ public class MusicPlayers { def find(Closure Input) { musicPlayers.find(Input) } + def sort(Closure Input) { + musicPlayers.sort(Input) + } def collect(Closure Input) { musicPlayers.collect(Input) } @@ -101,76 +119,85 @@ public class MusicPlayers { //methods def mute() { if (mute != "muted") { - musicPlayers[0].mute() this.mute = "muted" + musicPlayers[0].mute() } } def nextTrack() { - musicPlayers[0].nextTrack() if (status != "playing") { this.status = "playing" } - this.trackNumber = musicPlayers[0].trackNumber + this.trackNumber = this.trackNumber+1 + musicPlayers[0].nextTrack() } def pause() { if (status != "paused") { - musicPlayers[0].pause() this.status = "paused" + musicPlayers[0].pause() } } def play() { if (status != "playing") { - musicPlayers[0].play() this.status = "playing" + musicPlayers[0].play() } } def playTrack(String trackToPlay) { - musicPlayers[0].playTrack(trackToPlay) if (status != "playing") { this.status = "playing" } - this.trackNumber = musicPlayers[0].trackNumber + musicPlayers[0].playTrack(trackToPlay) } def previousTrack() { - musicPlayers[0].previousTrack() if (status != "playing") { this.status = "playing" } - this.trackNumber = musicPlayers[0].trackNumber + if (this.trackNumber != 1) + this.trackNumber = this.trackNumber-1 + musicPlayers[0].previousTrack() } def restoreTrack(String trackToRestore) { musicPlayers[0].restoreTrack(trackToRestore) } def resumeTrack(String trackToResume) { - musicPlayers[0].resumeTrack(trackToResume) if (status != "playing") { this.status = "playing" } + musicPlayers[0].resumeTrack(trackToResume) } def setLevel(int level) { - if (level != this.level) { + if (level != this.level) { + this.level = level musicPlayers[0].setLevel(level) - this.level = level } } def setTrack(String trackToSet) { - musicPlayers[0].setTrack(trackToSet) if (status != "playing") { this.status = "playing" } - this.trackNumber = musicPlayers[0].trackNumber + musicPlayers[0].setTrack(trackToSet) } def stop() { if (status != "stopped") { - musicPlayers[0].stop() this.status = "stopped" + musicPlayers[0].stop() } } + def playText(String text) { + if (status != "playing") { + this.status = "playing" + } + musicPlayers[0].playText(text) + } def currentValue(String deviceFeature) { musicPlayers[0].currentValue(deviceFeature) } + def latestValue(String deviceFeature) { + musicPlayers[0].latestValue(deviceFeature) + } + def getAt(int ix) { musicPlayers[ix] }