Minor change in classes
[smartthings-infrastructure.git] / SpeechSynthesis / SpeechSynthesises.groovy
1 //Create a class for speech synthesis
2 package SpeechSynthesis
3 import SmartThing.SmartThings
4
5 //Importing mutable integer class
6 import MutableInteger.MutableInteger
7
8 public class SpeechSynthesises extends SmartThings {
9         List speechSynthesises = new ArrayList()
10                 
11         SpeechSynthesises(Closure sendEvent, boolean init) {
12                 // Only initialize one time since we only have one device for each capability
13                 speechSynthesises = smartThings
14
15                 // Initialization
16                 StringBuilder id = new StringBuilder("speechSynthesisID0")
17                 StringBuilder label = new StringBuilder("speechSynthesis")
18                 StringBuilder displayName = new StringBuilder("speechSynthesis0")
19                 MutableInteger level = new MutableInteger()
20
21                 if (init)
22                         level.setValue(50)
23                 else
24                         level.setValue(60)
25
26                 speechSynthesises.add(new SpeechSynthesis(sendEvent, id, label, displayName, level))
27         }
28
29         // Methods to set values
30         def setLevel(int level) {
31                 speechSynthesises[0].setLevel(level)
32         }
33
34         def speak(String message) {
35                 speechSynthesises[0].speak(message)
36         }
37
38         // Methods to return values
39         def getCurrentLevel() {
40                 List tmpValues = new ArrayList()
41                 tmpValues.add(speechSynthesises[0].getCurrentLevel())
42                 return tmpValues
43         }
44
45 }