1 //Create a class for music player
3 import SmartThing.SmartThings
5 public class MusicPlayers extends SmartThings {
6 List musicPlayers = new ArrayList()
8 MusicPlayers(Closure sendEvent, boolean init) {
9 // Only initialize one time since we only have one device for each capability
10 musicPlayers = smartThings
13 String id = "musicPlayerID0"
14 String label = "status"
15 String displayName = "musicPlayer"
19 String trackDescription
26 trackData = "someTrack"
27 trackDescription = "someDescriptions"
32 trackData = "someTrack"
33 trackDescription = "someDescriptions"
36 musicPlayers.add(new MusicPlayer(sendEvent, id, label, displayName, level, mute, status, trackData, trackDescription))
39 // Methods to set values
40 def on(LinkedHashMap metaData) {
48 def off(LinkedHashMap metaData) {
56 def mute(LinkedHashMap metaData) {
61 musicPlayers[0].mute()
64 def unmute(LinkedHashMap metaData) {
69 musicPlayers[0].unmute()
72 def nextTrack(LinkedHashMap metaData) {
77 musicPlayers[0].nextTrack()
80 def pause(LinkedHashMap metaData) {
85 musicPlayers[0].pause()
88 def play(LinkedHashMap metaData) {
93 musicPlayers[0].play()
96 def playTrack(LinkedHashMap metaData) {
97 playTrack("someTrack")
100 def playTrack(String trackToPlay) {
101 musicPlayers[0].playTrack(trackToPlay)
104 def previousTrack(LinkedHashMap metaData) {
108 def previousTrack() {
109 musicPlayers[0].previousTrack()
112 def restoreTrack(LinkedHashMap metaData) {
116 def restoreTrack(String trackToRestore) {
117 musicPlayers[0].restoreTrack(trackToRestore)
120 def resumeTrack(LinkedHashMap metaData) {
124 def resumeTrack(String trackToResume) {
125 musicPlayers[0].resumeTrack(trackToResume)
128 def setLevel(LinkedHashMap metaData) {
132 def setLevel(int level) {
133 musicPlayers[0].setLevel(level)
136 def setTrack(LinkedHashMap metaData) {
140 def setTrack(String trackToSet) {
141 musicPlayers[0].setTrack(trackToSet)
144 def stop(LinkedHashMap metaData) {
149 musicPlayers[0].stop()