package MusicPlayer
import Timer.SimulatedTimer
-//JPF's Verify API
-import gov.nasa.jpf.vm.Verify
-
public class MusicPlayers {
private int deviceNumbers
private List musicPlayers
private String label = "musicPlayer0"
private String displayName = "musicPlayer0"
private int level = 20
+ private int duration = 10
private String mute = "unmuted"
- private String status = "paused"
+ private String status = "pause"
private int trackNumber = 1
private String trackData = "someTrack"
private String trackDescription = "someDescriptions"
- MusicPlayers(Closure sendEvent, int deviceNumbers) {
+ MusicPlayers(Closure sendEvent, int deviceNumbers, boolean init) {
this.sendEvent = sendEvent
this.deviceNumbers = deviceNumbers
this.musicPlayers = []
-
- /*def initLevel = Verify.getIntFromList(10, 20, 30)
- this.level = initLevel
- def initMute = Verify.getBoolean()
- if (initMute) {
+
+ if (init) {
+ this.level = 20
+ this.duration = 10
this.mute = "unmuted"
- } else {
- this.mute = "muted"
- }
- def initStatus = Verify.getInt(0,2)
- if (initStatus == 0) {
this.status = "paused"
- } else if (initStatus == 1) {
- this.status = "playing"
- } else {
- this.status = "stopped"
- }
- def initTrack = Verify.getIntFromList(1, 2, 3)
- this.trackNumber = initTrack
- def initData = Verify.getBoolean()
- if (initData) {
+ this.trackNumber = 1
this.trackData = "someTrack"
- } else {
- this.trackData = "someOtherTrack"
- }
- def initDesc = Verify.getBoolean()
- if (initDesc) {
this.trackDescription = "someDescriptions"
} else {
+ this.level = 30
+ this.duration = 20
+ this.mute = "muted"
+ this.status = "playing"
+ this.trackNumber = 2
+ this.trackData = "someOtherTrack"
this.trackDescription = "someOtherDescriptions"
- }*/
+ }
musicPlayers.add(new MusicPlayer(sendEvent, id, label, displayName, this.level, this.mute, this.status, this.trackNumber, this.trackData, this.trackDescription))
}
}
//methods
+ def on(LinkedHashMap metaData) {
+ on()
+ }
+ def on() {
+ if (status != "on") {
+ this.status = "on"
+ musicPlayers[0].on()
+ }
+ }
+ def off(LinkedHashMap metaData) {
+ off()
+ }
+ def off() {
+ if (status != "off") {
+ this.status = "off"
+ musicPlayers[0].off()
+ }
+ }
+ def mute(LinkedHashMap metaData) {
+ mute()
+ }
def mute() {
if (mute != "muted") {
this.mute = "muted"
musicPlayers[0].mute()
}
}
+ def nextTrack(LinkedHashMap metaData) {
+ nextTrack()
+ }
def nextTrack() {
- if (status != "playing") {
- this.status = "playing"
+ if (status != "play") {
+ this.status = "play"
}
this.trackNumber = this.trackNumber+1
musicPlayers[0].nextTrack()
}
+ def pause(LinkedHashMap metaData) {
+ pause()
+ }
def pause() {
- if (status != "paused") {
- this.status = "paused"
+ if (status != "pause") {
+ this.status = "pause"
musicPlayers[0].pause()
}
}
+ def play(LinkedHashMap metaData) {
+ play()
+ }
def play() {
- if (status != "playing") {
- this.status = "playing"
+ if (status != "play") {
+ this.status = "play"
musicPlayers[0].play()
}
}
+ def playTrack(LinkedHashMap metaData) {
+ playTrack("someTrack")
+ }
+ def playTrackAndResume(String trackData, int duration) {
+ playTrack(trackData)
+ if (duration != this.duration) {
+ this.duration = duration
+ }
+ }
+ def playTrackAndResume(String trackData, int duration, int level) {
+ playTrackAndResume(trackData, duration)
+ if (level != this.level) {
+ this.level = level
+ }
+ }
+ def playTrackAtVolume(String trackData, int level) {
+ playTrack(trackData)
+ if (level != this.level) {
+ this.level = level
+ }
+ }
def playTrack(String trackToPlay) {
- if (status != "playing") {
- this.status = "playing"
+ if (status != "play") {
+ this.status = "play"
}
musicPlayers[0].playTrack(trackToPlay)
}
+ def previousTrack(LinkedHashMap metaData) {
+ previousTrack()
+ }
def previousTrack() {
- if (status != "playing") {
- this.status = "playing"
+ if (status != "play") {
+ this.status = "play"
}
if (this.trackNumber != 1)
this.trackNumber = this.trackNumber-1
musicPlayers[0].previousTrack()
}
+ def restoreTrack(LinkedHashMap metaData) {
+ restoreTrack()
+ }
def restoreTrack(String trackToRestore) {
musicPlayers[0].restoreTrack(trackToRestore)
}
+ def resumeTrack(LinkedHashMap metaData) {
+ resumeTrack()
+ }
def resumeTrack(String trackToResume) {
- if (status != "playing") {
- this.status = "playing"
+ if (status != "play") {
+ this.status = "play"
}
musicPlayers[0].resumeTrack(trackToResume)
}
+ def setLevel(LinkedHashMap metaData) {
+ setLevel()
+ }
def setLevel(int level) {
if (level != this.level) {
this.level = level
musicPlayers[0].setLevel(level)
}
}
+ def setTrack(LinkedHashMap metaData) {
+ setTrack()
+ }
def setTrack(String trackToSet) {
- if (status != "playing") {
- this.status = "playing"
+ if (status != "play") {
+ this.status = "play"
}
musicPlayers[0].setTrack(trackToSet)
}
+ def stop(LinkedHashMap metaData) {
+ stop()
+ }
def stop() {
- if (status != "stopped") {
- this.status = "stopped"
+ if (status != "stop") {
+ this.status = "stop"
musicPlayers[0].stop()
}
}
+ def playText(LinkedHashMap metaData) {
+ playText()
+ }
def playText(String text) {
- if (status != "playing") {
- this.status = "playing"
+ if (status != "play") {
+ this.status = "play"
}
musicPlayers[0].playText(text)
}