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 = "pause"
private int trackNumber = 1
- 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))
}
}
}
def playTrack(LinkedHashMap metaData) {
- playTrack()
+ 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 != "play") {
musicPlayers[0].stop()
}
}
+ def statesSince(String info, Date dateObj, LinkedHashMap map) {
+ return presenceSensors[0].statesSince()
+ }
def playText(LinkedHashMap metaData) {
playText()
}