132. 11 MovingAverageFilter.as
class MovingAverageFilter {
private var _taps:Number; //
private var _values:Array; //
function MovingAverageFilter(taps:Number) {
_taps = taps;
_values = new Array(_taps);
}
function processSample(sample:Number):Number {
var acc:Number = 0;
var i:Number = 0;
//
_values[0] = sample;
133. 12
//
for (i = 0; i < _taps; i++) {
acc = acc + _values[i];
}
acc = acc / _taps;
// 1
// [A][B][C][D][E] ...
// [A][A][B][C][D] ...
for (i = _taps - 1; i > 0; i--) {
_values[i] = _values[i - 1];
}
return acc;
}
}
137. 1 2
14 1 2 set point.fla
var threshold:Number = 127; //
var hysteresis:Number = 10; //
var lastState:Number = -1; //
gio.onReady = function() {
gio.beginAnalogInput();
138. 1 2
15 1 2
_root.onEnterFrame = function() {
var state:Number = lastState;
var val:Number = gio.analogInput[0];
if (val < threshold) {
state = 0;
} else {
state = 1;
}
if (lastState != state) {
//
}
lastState = state;
};
};
139. 1 2
16 1 2
_root.onEnterFrame = function() {
var state:Number = lastState;
var val:Number = gio.analogInput[0];
if (val < (threshold - hysteresis)) {
state = 0;
} else if (val > (threshold + hysteresis)) {
state = 1;
}
if (lastState != state) {
//
}
lastState = state;
};
};
141. 17 2 two switches.fla
if (gio.digitalInput[0] && !gio.digitalInput[1]) {
// 0 1
} else if (!gio.digitalInput[0] && gio.digitalInput[1]) {
// 0 1
} else if (gio.digitalInput[0] && gio.digitalInput[1]) {
// 01
} else {
// 01
}
143. 18 2
var val0:Number = gio.analogInput[0];
var val1:Number = gio.analogInput[1];
144. Gainer I/O
19 8
// 8
//
// din 0 ain 4
// din 1 ain 5
// din 2 ain 6
// din 3 ain 7
var gio:Gainer = new Gainer(quot;localhostquot;, 2000, Gainer.MODE2, true);
// ain 7
var val:Number = gio.analogInput[7];
145. 20 3
//
// Sound() MovieClip
var mc0 = _root.createEmptyMovieClip(quot;sound_mc0quot;,0);
var mc1 = _root.createEmptyMovieClip(quot;sound_mc1quot;,1);
var mc2 = _root.createEmptyMovieClip(quot;sound_mc2quot;,2);
var soundClip0 = new Sound(mc0);
var soundClip1 = new Sound(mc1);
var soundClip2 = new Sound(mc2);
soundClip0.setVolume(100);
soundClip1.setVolume(50);
soundClip2.setVolume(0);