SiON tuning test
♥0 |
Line 50 |
Modified 2010-12-06 09:03:44 |
MIT License
archived:2017-03-30 01:49:13
ActionScript3 source code
/**
* Copyright yonatan ( http://wonderfl.net/user/yonatan )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/daV0s
*/
package {
import flash.display.Sprite;
import flash.text.*;
import org.si.sion.module.*;
import org.si.sion.utils.*;
import org.si.sion.*;
import com.bit101.components.*;
public class FlashTest extends Sprite {
private var tf:TextField;
private var driver:SiONDriver;
private var pitchTable:Vector.<Vector.<int>>;
public function FlashTest() {
tf = new TextField;
tf.autoSize = "left";
tf.wordWrap = true;
tf.width = tf.height = 465;
addChild(tf);
driver = new SiONDriver;
pitchTable = SiOPMTable._instance.pitchTable;
tf.appendText("driver: " + driver + "\n");
tf.appendText("SiOPMTable._instance: " + SiOPMTable._instance + "\n");
var c:int = pitchTable[2][60 * 64];
var just_e:int = c*5/4; // pure major 3rd
var just_g:int = c*3/2; // pure 5th
var orig_e:int = pitchTable[2][64 * 64];
var orig_g:int = pitchTable[2][67 * 64];
tf.appendText("Original c: " + pitchTable[2][60 * 64] + "\n"); // c
tf.appendText("Original e: " + pitchTable[2][64 * 64] + "\n"); // e
tf.appendText("Original g: " + pitchTable[2][67 * 64] + "\n"); // g
tf.appendText("New c: " + pitchTable[2][60 * 64] + "\n"); // c
tf.appendText("New e: " + pitchTable[2][64 * 64] + "\n"); // e
tf.appendText("New g: " + pitchTable[2][67 * 64] + "\n"); // g
function playChord() :void {
//driver.play("t10 %5 @0 c; %5 @0 e; %5 @0 g;");
driver.play("t10 %0 @0 c; %0 @0 e; %0 @0 g;");
//driver.play("t10 c; e; g;");
}
function normalTuning(e:*):void {
pitchTable[2][64 * 64] = orig_e;
pitchTable[2][67 * 64] = orig_g;
playChord();
}
function justIntonation(e:*):void {
pitchTable[2][64 * 64] = just_e;
pitchTable[2][67 * 64] = just_g;
playChord();
}
new PushButton(this, 100, 200, "Normal Tuning", normalTuning);
new PushButton(this, 250, 200, "Just Intonation", justIntonation);
}
}
}