msg-chumby-display 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. data/VERSION +1 -1
  2. data/bin/msg-chumby-daemon +6 -1
  3. data/etc/msgchumbydaemonrc +7 -4
  4. data/lib/msg-chumby-daemon/http-xml-server.rb +20 -1
  5. data/widget/currentpower/currentpower Report.txt +1 -1
  6. data/widget/currentpower/currentpower.swd +0 -0
  7. data/widget/currentpower/currentpower.swf +0 -0
  8. data/widget/last_reading/DataArray.as +116 -0
  9. data/widget/last_reading/Gluehlampe.fla +0 -0
  10. data/widget/last_reading/Gluehlampe.swf +0 -0
  11. data/widget/last_reading/Gluehlampe_frames.fla +0 -0
  12. data/widget/last_reading/Gluehlampe_frames.swf +0 -0
  13. data/widget/last_reading/Makefile +30 -0
  14. data/widget/last_reading/Makefile.orig +60 -0
  15. data/widget/last_reading/README.rdoc +50 -0
  16. data/widget/last_reading/README.rtf +57 -0
  17. data/widget/last_reading/XmlParse.as +1 -0
  18. data/widget/last_reading/caurina/transitions/AuxFunctions.as +88 -0
  19. data/widget/last_reading/caurina/transitions/Equations.as +713 -0
  20. data/widget/last_reading/caurina/transitions/PropertyInfoObj.as +86 -0
  21. data/widget/last_reading/caurina/transitions/SpecialProperty.as +48 -0
  22. data/widget/last_reading/caurina/transitions/SpecialPropertyModifier.as +39 -0
  23. data/widget/last_reading/caurina/transitions/SpecialPropertySplitter.as +46 -0
  24. data/widget/last_reading/caurina/transitions/TweenListObj.as +227 -0
  25. data/widget/last_reading/caurina/transitions/Tweener.as +1121 -0
  26. data/widget/last_reading/caurina/transitions/properties/ColorShortcuts.as +471 -0
  27. data/widget/last_reading/caurina/transitions/properties/CurveModifiers.as +104 -0
  28. data/widget/last_reading/caurina/transitions/properties/DisplayShortcuts.as +158 -0
  29. data/widget/last_reading/caurina/transitions/properties/FilterShortcuts.as +516 -0
  30. data/widget/last_reading/caurina/transitions/properties/SoundShortcuts.as +83 -0
  31. data/widget/last_reading/caurina/transitions/properties/TextShortcuts.as +151 -0
  32. data/widget/last_reading/energietacho.fla +0 -0
  33. data/widget/last_reading/energietacho.swf +0 -0
  34. metadata +30 -4
@@ -0,0 +1,86 @@
1
+ /**
2
+ * PropertyInfoObj
3
+ * An object containing the updating info for a given property (its starting value, its final value, and a few other things)
4
+ *
5
+ * @author Zeh Fernando
6
+ * @version 1.0.0
7
+ * @private
8
+ */
9
+
10
+ class caurina.transitions.PropertyInfoObj {
11
+
12
+ public var valueStart :Number; // Starting value of the tweening (null if not started yet)
13
+ public var valueComplete :Number; // Final desired value (numerically)
14
+ public var originalValueComplete :Object; // Final desired value as declared initially
15
+ public var arrayIndex :Number; // Index (if this is an array item)
16
+ public var extra :Object; // Additional parameters, used by some special properties
17
+ public var isSpecialProperty :Boolean; // Whether or not this is a special property instead of a direct one
18
+ public var hasModifier :Boolean; // Whether or not it has a modifier function
19
+ public var modifierFunction :Function; // Modifier function, if any
20
+ public var modifierParameters :Array; // Additional array of modifier parameters
21
+
22
+ // ==================================================================================================================================
23
+ // CONSTRUCTOR function -------------------------------------------------------------------------------------------------------------
24
+
25
+ /**
26
+ * Initializes the basic PropertyInfoObj.
27
+ *
28
+ * @param p_valueStart Number Starting value of the tweening (null if not started yet)
29
+ * @param p_valueComplete Number Final (desired) property value
30
+ */
31
+ function PropertyInfoObj(p_valueStart:Number, p_valueComplete:Number, p_originalValueComplete:Object, p_arrayIndex:Number, p_extra:Object, p_isSpecialProperty:Boolean, p_modifierFunction:Function, p_modifierParameters:Array) {
32
+ valueStart = p_valueStart;
33
+ valueComplete = p_valueComplete;
34
+ originalValueComplete = p_originalValueComplete;
35
+ arrayIndex = p_arrayIndex;
36
+ extra = p_extra;
37
+ isSpecialProperty = p_isSpecialProperty;
38
+ hasModifier = p_modifierFunction != undefined;
39
+ modifierFunction = p_modifierFunction;
40
+ modifierParameters = p_modifierParameters;
41
+ }
42
+
43
+
44
+ // ==================================================================================================================================
45
+ // OTHER functions ------------------------------------------------------------------------------------------------------------------
46
+
47
+ /**
48
+ * Clones this property info and returns the new PropertyInfoObj
49
+ *
50
+ * @param omitEvents Boolean Whether or not events such as onStart (and its parameters) should be omitted
51
+ * @return TweenListObj A copy of this object
52
+ */
53
+ public function clone():PropertyInfoObj {
54
+ var nProperty:PropertyInfoObj = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters);
55
+ return nProperty;
56
+ }
57
+
58
+ /**
59
+ * Returns this object described as a String.
60
+ *
61
+ * @return String The description of this object.
62
+ */
63
+ public function toString():String {
64
+ var returnStr:String = "\n[PropertyInfoObj ";
65
+ returnStr += "valueStart:" + String(valueStart);
66
+ returnStr += ", ";
67
+ returnStr += "valueComplete:" + String(valueComplete);
68
+ returnStr += ", ";
69
+ returnStr += "originalValueComplete:" + String(originalValueComplete);
70
+ returnStr += ", ";
71
+ returnStr += "arrayIndex:" + String(arrayIndex);
72
+ returnStr += ", ";
73
+ returnStr += "extra:" + String(extra);
74
+ returnStr += ", ";
75
+ returnStr += "isSpecialProperty:" + String(isSpecialProperty);
76
+ returnStr += ", ";
77
+ returnStr += "hasModifier:" + String(hasModifier);
78
+ returnStr += ", ";
79
+ returnStr += "modifierFunction:" + String(modifierFunction);
80
+ returnStr += ", ";
81
+ returnStr += "modifierParameters:" + String(modifierParameters);
82
+ returnStr += "]\n";
83
+ return returnStr;
84
+ }
85
+
86
+ }
@@ -0,0 +1,48 @@
1
+ /**
2
+ * SpecialProperty
3
+ * A kind of a getter/setter for special properties
4
+ *
5
+ * @author Zeh Fernando
6
+ * @version 1.0.0
7
+ */
8
+
9
+ class caurina.transitions.SpecialProperty {
10
+
11
+ public var getValue:Function; // (p_obj:Object, p_parameters:Array): Number
12
+ public var setValue:Function; // (p_obj:Object, p_value:Number, p_parameters:Array): Void
13
+ public var parameters:Array;
14
+ public var preProcess:Function; // (p_obj:Object, p_parameters:Array, p_originalValueComplete:Object, p_extra:Object): Number
15
+
16
+ /**
17
+ * Builds a new special property object.
18
+ *
19
+ * @param p_getFunction Function Reference to the function used to get the special property value
20
+ * @param p_setFunction Function Reference to the function used to set the special property value
21
+ * @param p_parameters Array Additional parameters that should be passed to the function when executing (so the same function can apply to different special properties)
22
+ */
23
+ public function SpecialProperty (p_getFunction:Function, p_setFunction:Function, p_parameters:Array, p_preProcessFunction:Function) {
24
+ getValue = p_getFunction;
25
+ setValue = p_setFunction;
26
+ parameters = p_parameters;
27
+ preProcess = p_preProcessFunction;
28
+ }
29
+
30
+ /**
31
+ * Converts the instance to a string that can be used when trace()ing the object
32
+ */
33
+ public function toString():String {
34
+ var value:String = "";
35
+ value += "[SpecialProperty ";
36
+ value += "getValue:"+getValue.toString();
37
+ value += ", ";
38
+ value += "setValue:"+setValue.toString();
39
+ value += ", ";
40
+ value += "parameters:"+parameters.toString();
41
+ value += ", ";
42
+ value += "preProcess:"+preProcess.toString();
43
+ value += "]";
44
+ return value;
45
+ }
46
+
47
+
48
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * SpecialPropertyModifier
3
+ * A special property which actually acts on other properties
4
+ *
5
+ * @author Zeh Fernando
6
+ * @version 1.0.0
7
+ * @private
8
+ */
9
+
10
+ class caurina.transitions.SpecialPropertyModifier {
11
+
12
+ public var modifyValues:Function;
13
+ public var getValue:Function;
14
+
15
+ /**
16
+ * Builds a new special property modifier object.
17
+ *
18
+ * @param p_modifyFunction Function Function that returns the modifider parameters.
19
+ */
20
+ public function SpecialPropertyModifier (p_modifyFunction:Function, p_getFunction:Function) {
21
+ modifyValues = p_modifyFunction;
22
+ getValue = p_getFunction;
23
+ }
24
+
25
+ /**
26
+ * Converts the instance to a string that can be used when trace()ing the object
27
+ */
28
+ public function toString():String {
29
+ var value:String = "";
30
+ value += "[SpecialPropertyModifier ";
31
+ value += "modifyValues:"+modifyValues.toString();
32
+ value += ", ";
33
+ value += "getValue:"+getValue.toString();
34
+ value += "]";
35
+ return value;
36
+ }
37
+
38
+
39
+ }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * SpecialPropertySplitter
3
+ * A proxy setter for special properties
4
+ *
5
+ * @author Zeh Fernando
6
+ * @version 1.0.0
7
+ */
8
+
9
+ class caurina.transitions.SpecialPropertySplitter {
10
+
11
+ public var parameters:Array;
12
+
13
+ /**
14
+ * Builds a new splitter special propery object.
15
+ *
16
+ * @param p_splitFunction Function Reference to the function used to split a value
17
+ */
18
+ public function SpecialPropertySplitter (p_splitFunction:Function, p_parameters:Array) {
19
+ splitValues = p_splitFunction;
20
+ parameters = p_parameters;
21
+ }
22
+
23
+ /**
24
+ * Empty shell for the function that receives the value (usually just a Number), and splits it in new property names and values
25
+ * Must return an array containing .name and .value
26
+ */
27
+ public function splitValues(p_value:Object, p_parameters:Array):Array {
28
+ // This is rewritten
29
+ return [];
30
+ }
31
+
32
+ /**
33
+ * Converts the instance to a string that can be used when trace()ing the object
34
+ */
35
+ public function toString():String {
36
+ var value:String = "";
37
+ value += "[SpecialPropertySplitter ";
38
+ value += "splitValues:"+splitValues.toString();
39
+ value += ", ";
40
+ value += "parameters:"+parameters.toString();
41
+ value += "]";
42
+ return value;
43
+ }
44
+
45
+
46
+ }
@@ -0,0 +1,227 @@
1
+ /**
2
+ * The tween list object. Stores all of the properties and information that pertain to individual tweens.
3
+ *
4
+ * @author Nate Chatellier, Zeh Fernando
5
+ * @version 1.0.4
6
+ */
7
+ import caurina.transitions.AuxFunctions;
8
+
9
+ class caurina.transitions.TweenListObj {
10
+
11
+ public var scope :Object; // Object affected by this tweening
12
+ public var properties :Object; // List of properties that are tweened (PropertyInfoObj instances)
13
+ // .valueStart :Number // Initial value of the property
14
+ // .valueComplete :Number // The value the property should have when completed
15
+ public var timeStart :Number; // Time when this tweening should start
16
+ public var timeComplete :Number; // Time when this tweening should end
17
+ public var useFrames :Boolean; // Whether or not to use frames instead of time
18
+ public var transition :Function; // Equation to control the transition animation
19
+ public var transitionParams :Object; // Additional parameters for the transition
20
+ public var onStart :Function; // Function to be executed on the object when the tween starts (once)
21
+ public var onUpdate :Function; // Function to be executed on the object when the tween updates (several times)
22
+ public var onComplete :Function; // Function to be executed on the object when the tween completes (once)
23
+ public var onOverwrite :Function; // Function to be executed on the object when the tween is overwritten
24
+ public var onError :Function; // Function to be executed if an error is thrown when tweener exectues a callback (onComplete, onUpdate etc)
25
+ public var onStartParams :Array; // Array of parameters to be passed for the event
26
+ public var onUpdateParams :Array; // Array of parameters to be passed for the event
27
+ public var onCompleteParams :Array; // Array of parameters to be passed for the event
28
+ public var onOverwriteParams :Array; // Array of parameters to be passed for the event
29
+ public var onStartScope :Object; // Scope in which the event function is ran
30
+ public var onUpdateScope :Object; // Scope in which the event function is ran
31
+ public var onCompleteScope :Object; // Scope in which the event function is ran
32
+ public var onOverwriteScope :Object; // Scope in which the event function is ran
33
+ public var onErrorScope :Object; // Scope in which the event function is ran
34
+ public var rounded :Boolean; // Use rounded values when updating
35
+ public var isPaused :Boolean; // Whether or not this tween is paused
36
+ public var timePaused :Number; // Time when this tween was paused
37
+ public var isCaller :Boolean; // Whether or not this tween is a "caller" tween
38
+ public var count :Number; // Number of times this caller should be called
39
+ public var timesCalled :Number; // How many times the caller has already been called ("caller" tweens only)
40
+ public var waitFrames :Boolean; // Whether or not this caller should wait at least one frame for each call execution ("caller" tweens only)
41
+ public var skipUpdates :Number; // How many updates should be skipped (default = 0; 1 = update-skip-update-skip...)
42
+ public var updatesSkipped :Number; // How many updates have already been skipped
43
+ public var hasStarted :Boolean; // Whether or not this tween has already started
44
+
45
+ // ==================================================================================================================================
46
+ // CONSTRUCTOR function -------------------------------------------------------------------------------------------------------------
47
+
48
+ /**
49
+ * Initializes the basic TweenListObj
50
+ *
51
+ * @param p_scope Object Object affected by this tweening
52
+ * @param p_timeStart Number Time when this tweening should start
53
+ * @param p_timeComplete Number Time when this tweening should end
54
+ * @param p_useFrames Boolean Whether or not to use frames instead of time
55
+ * @param p_transition Function Equation to control the transition animation
56
+ */
57
+ function TweenListObj(p_scope:Object, p_timeStart:Number, p_timeComplete:Number, p_useFrames:Boolean, p_transition:Function, p_transitionParams:Object) {
58
+ scope = p_scope;
59
+ timeStart = p_timeStart;
60
+ timeComplete = p_timeComplete;
61
+ useFrames = p_useFrames;
62
+ transition = p_transition;
63
+ transitionParams = p_transitionParams;
64
+
65
+ // Other default information
66
+ properties = new Object();
67
+ isPaused = false;
68
+ timePaused = undefined;
69
+ isCaller = false;
70
+ updatesSkipped = 0;
71
+ timesCalled = 0;
72
+ skipUpdates = 0;
73
+ hasStarted = false;
74
+ }
75
+
76
+
77
+ // ==================================================================================================================================
78
+ // OTHER functions ------------------------------------------------------------------------------------------------------------------
79
+
80
+ /**
81
+ * Clones this tweening and returns the new TweenListObj
82
+ *
83
+ * @param omitEvents Boolean Whether or not events such as onStart (and its parameters) should be omitted
84
+ * @return TweenListObj A copy of this object
85
+ */
86
+ public function clone(omitEvents:Boolean):TweenListObj {
87
+ var nTween:TweenListObj = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams);
88
+ nTween.properties = new Object();
89
+ for (var pName:String in properties) {
90
+ nTween.properties[pName] = properties[pName].clone();
91
+ }
92
+ nTween.skipUpdates = skipUpdates;
93
+ nTween.updatesSkipped = updatesSkipped;
94
+ if (!omitEvents) {
95
+ nTween.onStart = onStart;
96
+ nTween.onUpdate = onUpdate;
97
+ nTween.onComplete = onComplete;
98
+ nTween.onOverwrite = onOverwrite;
99
+ nTween.onError = onError;
100
+ nTween.onStartParams = onStartParams;
101
+ nTween.onUpdateParams = onUpdateParams;
102
+ nTween.onCompleteParams = onCompleteParams;
103
+ nTween.onOverwriteParams = onOverwriteParams;
104
+ nTween.onStartScope = onStartScope;
105
+ nTween.onUpdateScope = onUpdateScope;
106
+ nTween.onCompleteScope = onCompleteScope;
107
+ nTween.onOverwriteScope = onOverwriteScope;
108
+ nTween.onErrorScope = onErrorScope;
109
+ }
110
+ nTween.rounded = rounded;
111
+ nTween.isPaused = isPaused;
112
+ nTween.timePaused = timePaused;
113
+ nTween.isCaller = isCaller;
114
+ nTween.count = count;
115
+ nTween.timesCalled = timesCalled;
116
+ nTween.waitFrames = waitFrames;
117
+ nTween.hasStarted = hasStarted;
118
+
119
+ return nTween;
120
+ }
121
+
122
+ /**
123
+ * Returns this object described as a String.
124
+ *
125
+ * @return String The description of this object.
126
+ */
127
+ public function toString():String {
128
+ var returnStr:String = "\n[TweenListObj ";
129
+ returnStr += "scope:" + String(scope);
130
+ returnStr += ", properties:";
131
+ var isFirst:Boolean = true;
132
+ for (var i:String in properties) {
133
+ if (!isFirst) returnStr += ",";
134
+ returnStr += "[name:"+properties[i].name;
135
+ returnStr += ",valueStart:"+properties[i].valueStart;
136
+ returnStr += ",valueComplete:"+properties[i].valueComplete;
137
+ returnStr += "]";
138
+ isFirst = false;
139
+ }
140
+ returnStr += ", timeStart:" + String(timeStart);
141
+ returnStr += ", timeComplete:" + String(timeComplete);
142
+ returnStr += ", useFrames:" + String(useFrames);
143
+ returnStr += ", transition:" + String(transition);
144
+ returnStr += ", transitionParams:" + String(transitionParams);
145
+
146
+ if (skipUpdates) returnStr += ", skipUpdates:" + String(skipUpdates);
147
+ if (updatesSkipped) returnStr += ", updatesSkipped:" + String(updatesSkipped);
148
+
149
+ if (onStart) returnStr += ", onStart:" + String(onStart);
150
+ if (onUpdate) returnStr += ", onUpdate:" + String(onUpdate);
151
+ if (onComplete) returnStr += ", onComplete:" + String(onComplete);
152
+ if (onOverwrite) returnStr += ", onOverwrite:" + String(onOverwrite);
153
+ if (onError) returnStr += ", onError:" + String(onError);
154
+
155
+ if (onStartParams) returnStr += ", onStartParams:" + String(onStartParams);
156
+ if (onUpdateParams) returnStr += ", onUpdateParams:" + String(onUpdateParams);
157
+ if (onCompleteParams) returnStr += ", onCompleteParams:" + String(onCompleteParams);
158
+ if (onOverwriteParams) returnStr += ", onOverwriteParams:" + String(onOverwriteParams);
159
+
160
+ if (onStartScope) returnStr += ", onStartScope:" + String(onStartScope);
161
+ if (onUpdateScope) returnStr += ", onUpdateScope:" + String(onUpdateScope);
162
+ if (onCompleteScope) returnStr += ", onCompleteScope:" + String(onCompleteScope);
163
+ if (onOverwriteScope) returnStr += ", onOverwriteScope:" + String(onOverwriteScope);
164
+ if (onErrorScope) returnStr += ", onErrorScope:" + String(onErrorScope);
165
+
166
+ if (rounded) returnStr += ", rounded:" + String(rounded);
167
+ if (isPaused) returnStr += ", isPaused:" + String(isPaused);
168
+ if (timePaused) returnStr += ", timePaused:" + String(timePaused);
169
+ if (isCaller) returnStr += ", isCaller:" + String(isCaller);
170
+ if (count) returnStr += ", count:" + String(count);
171
+ if (timesCalled) returnStr += ", timesCalled:" + String(timesCalled);
172
+ if (waitFrames) returnStr += ", waitFrames:" + String(waitFrames);
173
+ if (hasStarted) returnStr += ", hasStarted:" + String(hasStarted);
174
+
175
+ returnStr += "]\n";
176
+ return returnStr;
177
+ }
178
+
179
+ /**
180
+ * Checks if p_obj "inherits" properties from other objects, as set by the "base" property. Will create a new object, leaving others intact.
181
+ * o_bj.base can be an object or an array of objects. Properties are collected from the first to the last element of the "base" filed, with higher
182
+ * indexes overwritting smaller ones. Does not modify any of the passed objects, but makes a shallow copy of all properties.
183
+ *
184
+ * @param p_obj Object Object that should be tweened: a movieclip, textfield, etc.. OR an array of objects
185
+ * @return Object A new object with all properties from the p_obj and p_obj.base.
186
+ */
187
+
188
+ public static function makePropertiesChain(p_obj : Object) : Object{
189
+ // Is this object inheriting properties from another object?
190
+ var baseObject : Object = p_obj.base;
191
+ if(baseObject){
192
+ // object inherits. Are we inheriting from an object or an array
193
+ var chainedObject : Object = {};
194
+ var chain : Object;
195
+ if (baseObject instanceof Array){
196
+ // Inheritance chain is the base array
197
+ chain = [];
198
+ // make a shallow copy
199
+ for (var k : Number = 0 ; k< baseObject.length; k++) chain.push(baseObject[k]);
200
+ }else{
201
+ // Only one object to be added to the array
202
+ chain = [baseObject];
203
+ }
204
+ // add the final object to the array, so it's properties are added last
205
+ chain.push(p_obj);
206
+ var currChainObj : Object;
207
+ // Loops through each object adding it's property to the final object
208
+ var len : Number = chain.length;
209
+ for(var i : Number = 0; i < len ; i ++){
210
+ if(chain[i]["base"]){
211
+ // deal with recursion: watch the order! "parent" base must be concatenated first!
212
+ currChainObj = AuxFunctions.concatObjects( makePropertiesChain(chain[i]["base"] ), chain[i]);
213
+ }else{
214
+ currChainObj = chain[i] ;
215
+ }
216
+ chainedObject = AuxFunctions.concatObjects(chainedObject, currChainObj );
217
+ }
218
+ if( chainedObject["base"]){
219
+ delete chainedObject["base"];
220
+ }
221
+ return chainedObject;
222
+ }else{
223
+ // No inheritance, just return the object it self
224
+ return p_obj;
225
+ }
226
+ }
227
+ }