Merge branch 'master' of ssh://plrg.eecs.uci.edu/home/git/smartthings-infrastructure
[smartthings-infrastructure.git] / MusicPlayer / MusicPlayers.groovy
index 1906b01edd105090c11ff383c6ea0e254dac713a..92f6c550a9db80f957165d58bc7b713a946d99de 100644 (file)
@@ -12,6 +12,7 @@ public class 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
@@ -27,6 +28,7 @@ public class MusicPlayers {
                
                if (init) {
                        this.level = 20
+                       this.duration = 10
                        this.mute = "unmuted"
                        this.status = "paused"
                        this.trackNumber = 1
@@ -34,6 +36,7 @@ public class MusicPlayers {
                        this.trackDescription = "someDescriptions"
                } else {
                        this.level = 30
+                       this.duration = 20
                        this.mute = "muted"
                        this.status = "playing"
                        this.trackNumber = 2
@@ -155,7 +158,34 @@ public class MusicPlayers {
                }
        }
        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 playSoundAndTrack(String trackData, int duration, int trackNumber, int level) {
+               playTrackAndResume(trackData, duration)
+               if (level != this.level) {
+                       this.level = level
+               }
+               if (trackNumber!= this.trackNumber) {
+                       this.trackNumber = trackNumber
+               }
+       }
+       def playTrackAtVolume(String trackData, int level) {
+               playTrack(trackData)
+               if (level != this.level) {
+                       this.level = level
+               }
        }
        def playTrack(String trackToPlay) {
                if (status != "play") {
@@ -216,6 +246,9 @@ public class MusicPlayers {
                        musicPlayers[0].stop()
                }
        }
+       def statesSince(String info, Date dateObj, LinkedHashMap map) {
+               return musicPlayers[0].statesSince()
+       }
        def playText(LinkedHashMap metaData) {
                playText()
        }