2014-12-01 04:26:06 +00:00
|
|
|
define(["Tone/core/Tone"], function(Tone){
|
|
|
|
|
|
|
|
"use strict";
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @class Base class for all Signals
|
|
|
|
*
|
|
|
|
* @constructor
|
2014-12-02 05:27:28 +00:00
|
|
|
* @extends {Tone}
|
2014-12-01 04:26:06 +00:00
|
|
|
*/
|
|
|
|
Tone.SignalBase = function(){
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
Tone.extend(Tone.SignalBase);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Signals can connect to other Signals
|
|
|
|
*
|
|
|
|
* @override
|
|
|
|
* @param {AudioParam|AudioNode|Tone.Signal|Tone} node
|
2014-12-02 06:42:08 +00:00
|
|
|
* @param {number} [outputNumber=0]
|
|
|
|
* @param {number} [inputNumber=0]
|
2014-12-01 04:26:06 +00:00
|
|
|
*/
|
|
|
|
Tone.SignalBase.prototype.connect = function(node, outputNumber, inputNumber){
|
|
|
|
//zero it out so that the signal can have full control
|
|
|
|
if (node instanceof Tone.Signal){
|
|
|
|
node.setValue(0);
|
|
|
|
} else if (node instanceof AudioParam){
|
|
|
|
node.value = 0;
|
|
|
|
}
|
|
|
|
Tone.prototype.connect.call(this, node, outputNumber, inputNumber);
|
|
|
|
};
|
|
|
|
|
|
|
|
return Tone.SignalBase;
|
|
|
|
});
|