//Create a class for music player package MusicPlayer import SmartThing.SmartThings public class MusicPlayers extends SmartThings { List musicPlayers = new ArrayList() MusicPlayers(Closure sendEvent, boolean init) { // Only initialize one time since we only have one device for each capability musicPlayers = smartThings // Initialization String id = "musicPlayerID0" String label = "status" String displayName = "musicPlayer" String mute String status String trackData String trackDescription Integer level if (init) { level = 20 mute = "unmuted" status = "paused" trackData = "someTrack" trackDescription = "someDescriptions" } else { level = 30 mute = "muted" status = "play" trackData = "someTrack" trackDescription = "someDescriptions" } musicPlayers.add(new MusicPlayer(sendEvent, id, label, displayName, level, mute, status, trackData, trackDescription)) } // Methods to set values def on(LinkedHashMap metaData) { on() } def on() { musicPlayers[0].on() } def off(LinkedHashMap metaData) { off() } def off() { musicPlayers[0].off() } def mute(LinkedHashMap metaData) { mute() } def mute() { musicPlayers[0].mute() } def unmute(LinkedHashMap metaData) { unmute() } def unmute() { musicPlayers[0].unmute() } def nextTrack(LinkedHashMap metaData) { nextTrack() } def nextTrack() { musicPlayers[0].nextTrack() } def pause(LinkedHashMap metaData) { pause() } def pause() { musicPlayers[0].pause() } def play(LinkedHashMap metaData) { play() } def play() { musicPlayers[0].play() } def playTrack(LinkedHashMap metaData) { playTrack("someTrack") } def playTrack(String trackToPlay) { musicPlayers[0].playTrack(trackToPlay) } def previousTrack(LinkedHashMap metaData) { previousTrack() } def previousTrack() { 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) { musicPlayers[0].resumeTrack(trackToResume) } def setLevel(LinkedHashMap metaData) { setLevel() } def setLevel(int level) { musicPlayers[0].setLevel(level) } def setTrack(LinkedHashMap metaData) { setTrack() } def setTrack(String trackToSet) { musicPlayers[0].setTrack(trackToSet) } def stop(LinkedHashMap metaData) { stop() } def stop() { musicPlayers[0].stop() } }