forked from: flash on 2010-4-3
forked from flash on 2010-4-3 (diff: 265)
ActionScript3 source code
/**
* Copyright Sharakusai ( http://wonderfl.net/user/Sharakusai )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/dNPT
*/
<?xml version="1.0" encoding="utf-8"?>
<!-- forked from Sharakusai's flash on 2010-4-3 -->
<mx:Application width="100%" height="100%"
paddingTop="8" paddingLeft="8" paddingRight="8" paddingBottom="8"
xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
<mx:Script><![CDATA[
// まだいじくりまわしている所
import flash.display.Sprite;
import flash.events.Event;
import flash.desktop.Clipboard;
import flash.desktop.ClipboardFormats;
import flash.desktop.ClipboardTransferMode;
import org.si.sion.*;
import org.si.sound.MMLPlayer;
import org.si.sion.utils.SiONPresetVoice;
import mx.collections.ArrayCollection;
import mx.controls.*;
// SiONDriverクラスのインスタンスを生成
public var driver:SiONDriver = new SiONDriver();
// SiONPresetVoiceクラスのインスタンスを生成
public var presetVoice:SiONPresetVoice = new SiONPresetVoice();
// SiONVoice型変数を宣言
public var voice1:SiONVoice;
// SiONData型変数を宣言
public var mainMelody:SiONData;
public var player:MMLPlayer = new MMLPlayer();
[Bindable]
public var cards:ArrayCollection = new ArrayCollection(
//Bass
[ {label:"Analog Bass #2+FBsynth",data:"valsound.bass1"},
{label:"Analog Bass",data:"valsound.bass2"},
{label:"Analog bass #2 (q2)",data: "valsound.bass3" },
{label:"Chopper Bass 0",data:"valsound.bass4"},
{label:"Chopper Bass 1",data:"valsound.bass5"},
{label:"Chopper bass 2 (CUT)", data:"valsound.bass6"},
{label:"Chopper bass 3", data:"valsound.bass7"},
{label:"Elec.Chopper bass+ 4", data:"valsound.bass8"},
{label:"Effect Bass 1", data:"valsound.bass9"},
{label:"Effect Bass 2 to UP", data:"valsound.bass10"},
{label:"Effect Bass 1", data:"valsound.bass11"},
{label:"Mohaaa", data:"valsound.bass12"},
{label:"Effect FB Bass #5", data:"valsound.bass13"},
{label:"Magical bass", data:"valsound.bass14"},
{label:"E.Bass #6", data:"valsound.bass15"},
{label:"E.Bass #7",data:"valsound.bass16"},
{label:"E.Bass 70", data:"valsound.bass17"},
{label:"VAL006 Bass like Euro",data:"valsound.bass18"},
{label:"E.Bass x2", data:"valsound.bass19"},
{label:"E.Bass x4", data:"valsound.bass20"},
{label:"Metal pick bass X5", data:"valsound.bass21"},
{label:"Groove Bass 1", data:"valsound.bass22"},
{label:"Analog Bass Groove #2", data:"valsound.bass23"},
{label:"Harmonics #1", data:"valsound.bass24"},
{label:"Low Bass x1",data:"valsound.bass25"},
{label:"Low_bass x2 Little FB", data:"valsound.bass26"},
{label:"Low Bass x1 Rezzo.", data:"valsound.bass27"},
{label:"Low Bass Picked",data:"valsound.bass28"},
{label:"metal bass", data:"valsound.bass29"},
{label:"e.n.bass 1", data:"valsound.bass30"},
{label:"psg bass 1", data:"valsound.bass31"},
{label:"psg bass 2", data:"valsound.bass32"},
{label:"rezonance type bass #1",data:"valsound.bass33"},
{label:"slap bass", data:"valsound.bass34"},
{label:"slap bass 1", data:"valsound.bass35"},
{label:"slap bass 2 (1+)",data:"valsound.bass36"},
{label:"slap bass #3", data:"valsound.bass37"},
{label:"slap bass pull",data:"valsound.bass38"},
{label:"slap bass mute", data:"valsound.bass39"},
{label:"slap bass pick", data:"valsound.bass40"},
{label:"super bass #2", data:"valsound.bass41"},
{label:"sp_bass#3 soft",data:"valsound.bass42"},
{label:"sp_bass#4 soft*2", data:"valsound.bass43"},
{label:"sp_bass#5 attack", data:"valsound.bass44"},
{label:"sp.bass#6 rezz+pipebass",data:"valsound.bass45"},
{label:"synth bass 1",data:"valsound.bass46"},
{label:"synth bass 2 myon",data:"valsound.bass47"},
{label:"synth bass #3 cho!", data:"valsound.bass48"},
{label:"synth-wind-bass #4", data:"valsound.bass49"},
{label:"synth bass #5 q2", data:"valsound.bass50"},
{label:"old wood bass", data:"valsound.bass51"},
{label:"w.bass bright", data:"valsound.bass52"},
{label:"w.bass x2 bow",data:"valsound.bass53"},
{label:"wood bass 3 (muted1)", data:"valsound.bass54" },
//Bell
{label:"Calm Bell",data:"valsound.bell1"},
{label:"China Bell Double",data:"valsound.bell2"},
{label:"Church Bell 2",data:"valsound.bell3"},
{label:"Church Bell",data:"valsound.bell4"},
{label:"Glocken 1",data:"valsound.bell5"},
{label:"Harp #1",data:"valsound.bell6"},
{label:"Harp #2",data:"valsound.bell7"},
{label:"kirakira",data:"valsound.bell8"},
{label:"Marimba",data:"valsound.bell9"},
{label:"Old Bell",data:"valsound.bell10"},
{label:"Percus. Bell",data:"valsound.bell11"},
{label:"Pretty Bell",data:"valsound.bell12"},
{label:"Synth Bell #0 (fromOPM)",data:"valsound.bell13"},
{label:"Synth Bell #1 o5",data:"valsound.bell14"},
{label:"Synth Bell 2",data:"valsound.bell15"},
{label:"Viberaphon AMS-modu.",data:"valsound.bell16"},
{label:"twin marinba 2 g&",data:"valsound.bell17"},
{label:"twin marinba 1 g&",data:"valsound.bell18"},
//Brass
{label:"Brass strings",data:"valsound.brass1"},
{label:"E.mute Trampet",data:"valsound.brass2"},
{label:"HORN 2",data:"valsound.brass3"},
{label:"Alpine Horn #3",data:"valsound.brass4"},
{label:"Lead brass",data:"valsound.brass5"},
{label:"Normal HORN",data:"valsound.brass6"},
{label:"Synth Oboe",data:"valsound.brass7"},
{label:"Oboe 2",data:"valsound.brass8"},
{label:"Attack Brass (q2)",data:"valsound.brass9"},
{label:"SAX",data:"valsound.brass10"},
{label:"Soft brass(lead)",data:"valsound.brass11"},
{label:"Synth Brass 1 OLD",data:"valsound.brass12"},
{label:"Synth Brass 2 OLD",data:"valsound.brass13"},
{label:"Synth Brass 3",data:"valsound.brass14"},
{label:"Synth Brass #4",data:"valsound.brass15"},
{label:"Syn.Brass 5(long)",data:"valsound.brass16"},
{label:"Synth Brass 6",data:"valsound.brass17"},
{label:"Trumpet",data:"valsound.brass18"},
{label:"Trumpet 2",data:"valsound.brass19"},
{label:"Twin Horn (or OL=25)",data:"valsound.brass20"},
//Guitar
{label:"Guitar VeloLow",data:"valsound.guitar1"},
{label:"Guitar VeloHigh",data:"valsound.guitar2"},
{label:"A.Guitar #3",data:"valsound.guitar3"},
{label:"Cutting E.Guitar",data:"valsound.guitar4"},
{label:"Dis. Synth (old)",data:"valsound.guitar5"},
{label:"Dra-spi-Dis.G.",data:"valsound.guitar6"},
{label:"Dis.Guitar 3-",data:"valsound.guitar7"},
{label:"Dis.Guitar 3+",data:"valsound.guitar8"},
{label:"Feed-back Guitar 1",data:"valsound.guitar9"},
{label:"Hard Dis. Guitar 1",data:"valsound.guitar10"},
{label:"Hard Dis.Guitar 3",data:"valsound.guitar11"},
{label:"Dis.Guitar '94 Hard",data:"valsound.guitar12"},
{label:"New Dis.Guitar 1",data:"valsound.guitar13"},
{label:"New Dis.Guitar 2",data:"valsound.guitar14"},
{label:"New Dis.Guitar 3",data:"valsound.guitar15"},
{label:"Overdrive.G. (AL=013)",data:"valsound.guitar16"},
{label:"METAL",data:"valsound.guitar17"},
{label:"Soft Dis.Guitar",data:"valsound.guitar18"},
//Lead
{label:"Aco code",data:"valsound.lead1"},
{label:"Analog synthe 1",data:"valsound.lead2"},
{label:"Bosco-lead",data:"valsound.lead3"},
{label:"Cosmo Lead",data:"valsound.lead4"},
{label:"Cosmo Lead 2",data:"valsound.lead5"},
{label:"Digital lead #1",data:"valsound.lead6"},
{label:"Double sin wave",data:"valsound.lead7"},
{label:"E.Organ 2 bright",data:"valsound.lead8"},
{label:"E.Organ 2 (voice)",data:"valsound.lead9"},
{label:"E.Organ 4 Click",data:"valsound.lead10"},
{label:"E.Organ 5 Click",data:"valsound.lead11"},
{label:"E.Organ 6",data:"valsound.lead12"},
{label:"E.Organ 7 Church",data:"valsound.lead13"},
{label:"Metal Lead",data:"valsound.lead14"},
{label:"Metal Lead 3",data:"valsound.lead15"},
{label:"MONO Lead",data:"valsound.lead16"},
{label:"PSG like PC88 (long)",data:"valsound.lead17"},
{label:"PSG Cut 1",data:"valsound.lead18"},
{label:"Attack Synth",data:"valsound.lead19"},
{label:"Sin wave",data:"valsound.lead20"},
{label:"Synth &",data:"valsound.lead21"},
{label:"Chorus #2(Voice)+bell",data:"valsound.lead22"},
{label:"Synth Cut 8-4",data:"valsound.lead23"},
{label:"Synth long 8-4",data:"valsound.lead24"},
{label:"ACO_Code #2",data:"valsound.lead25"},
{label:"ACO_Code #3",data:"valsound.lead26"},
{label:"Synth FB long 4",data:"valsound.lead27"},
{label:"Synth FB long 5",data:"valsound.lead28"},
{label:"Synth Lead 0",data:"valsound.lead29"},
{label:"Synth Lead 1",data:"valsound.lead30"},
{label:"Synth Lead 2",data:"valsound.lead31"},
{label:"Synth Lead 3",data:"valsound.lead32"},
{label:"Synth Lead 4",data:"valsound.lead33"},
{label:"Synth Lead 5",data:"valsound.lead34"},
{label:"Synth Lead 6",data:"valsound.lead35"},
{label:"Synth Lead 7 (Soft FB)",data:"valsound.lead36"},
{label:"Synth PSG",data:"valsound.lead37"},
{label:"Synth PSG 2",data:"valsound.lead38"},
{label:"Synth PSG 3",data:"valsound.lead39"},
{label:"Synth PSG 4",data:"valsound.lead40"},
{label:"Synth PSG 5",data:"valsound.lead41"},
{label:"Sin water synth",data:"valsound.lead42"},
//Percus
{label:"Bass Drum 2",data:"valsound.percus1"},
{label:"Bass Drum 3 o1f",data:"valsound.percus2"},
{label:"RUFINA BD o2c",data:"valsound.percus3"},
{label:"B.D.(-vBend)",data:"valsound.percus4"},
{label:"BD808_2(-vBend)",data:"valsound.percus5"},
{label:"Cho cho 3 (o2e)",data:"valsound.percus6"},
{label:"Cow-Bell 1",data:"valsound.percus7"},
{label:"Crash Cymbal (noise)",data:"valsound.percus8"},
{label:"Crash Noise",data:"valsound.percus9"},
{label:"Crash Noise Short",data:"valsound.percus10"},
{label:"ETHNIC Percus.0",data:"valsound.percus11"},
{label:"ETHNIC Percus.1",data:"valsound.percus12"},
{label:"Heavy BD.",data:"valsound.percus13"},
{label:"Heavy BD2",data:"valsound.percus14"},
{label:"Heavy SD1",data:"valsound.percus15"},
{label:"Hi-Hat close 5_",data:"valsound.percus16"},
{label:"Hi-Hat close 4",data:"valsound.percus17"},
{label:"Hi-Hat close 5",data:"valsound.percus18"},
{label:"Hi-Hat Close 6 -808-",data:"valsound.percus19"},
{label:"Hi-hat #7 Metal o3-6",data:"valsound.percus20"},
{label:"Hi-Hat Close #8 o4",data:"valsound.percus21"},
{label:"Hi-hat Open o4e-g+",data:"valsound.percus22"},
{label:"Open-hat2 Metal o4c-",data:"valsound.percus23"},
{label:"Open-hat3 Metal",data:"valsound.percus24"},
{label:"Hi-Hat Open #4 o4f",data:"valsound.percus25"},
{label:"Metal ride o4c or o5c",data:"valsound.percus26"},
{label:"Rim Shot #1 o3c",data:"valsound.percus27"},
{label:"Snare Drum Light",data:"valsound.percus28"},
{label:"Snare Drum Lighter",data:"valsound.percus29"},
{label:"Snare Drum 808 o2-o3",data:"valsound.percus30"},
{label:"Snare4 -808type- o2",data:"valsound.percus31"},
{label:"Snare5 o1-2(Franger)",data:"valsound.percus32"},
{label:"Tom (old)",data:"valsound.percus33"},
{label:"Synth tom 2 algo 3",data:"valsound.percus34"},
{label:"Synth (Noisy) Tom #3",data:"valsound.percus35"},
{label:"Synth Tom #3",data:"valsound.percus36"},
{label:"Synth -DX7- Tom #4",data:"valsound.percus37"},
{label:"Triangle 1 o5c",data:"valsound.percus38"},
//Piano
{label:"Aco Piano2 (Attack)",data:"valsound.piano1"},
{label:"Backing 1 (Clav.)",data:"valsound.piano2"},
{label:"Clav. coad",data:"valsound.piano3"},
{label:"Deep Piano 1",data:"valsound.piano4"},
{label:"Deep Piano 3",data:"valsound.piano5"},
{label:"E.piano #2",data:"valsound.piano6"},
{label:"E.piano #3",data:"valsound.piano7"},
{label:"E.piano #4(2+)",data:"valsound.piano8"},
{label:"E.(Bell)Piano #5",data:"valsound.piano9"},
{label:"E.Piano #6",data:"valsound.piano10"},
{label:"E.Piano #7", data:"valsound.piano11" },
{label:"Harpci chord 1",data:"valsound.piano12"},
{label:"Harpci 2",data:"valsound.piano13"},
{label:"Piano1 (ML1",data:"valsound.piano14"},
{label:"Piano3",data:"valsound.piano15"},
{label:"Piano4",data:"valsound.piano16"},
{label:"Digital Piano #5",data:"valsound.piano17"},
{label:"Piano 6 High-tone",data:"valsound.piano18"},
{label:"Panning Harpci",data:"valsound.piano19"},
{label:"Yam Harpci chord",data:"valsound.piano20"},
//SE
{label:"S.E.(Detune is needed o2c)",data:"valsound.se1"},
{label:"S.E. 2 o0-1-2",data:"valsound.se2"},
{label:"S.E. 3(Feedin /noise add.)",data:"valsound.se3"},
//Special
{label:"Digital 1",data:"valsound.special1"},
{label:"Digital 2",data:"valsound.special2"},
{label:"Digital[BAS] 3 o2-o3",data:"valsound.special3"},
{label:"Digital[GTR] 3 o2-o3",data:"valsound.special4"},
{label:"Digital 4 o4a",data:"valsound.special5"},
//Strpad
{label:"Accordion1",data:"valsound.strpad1"},
{label:"Accordion2",data:"valsound.strpad2"},
{label:"Accordion3",data:"valsound.strpad3"},
{label:"Chorus #2(Voice)",data:"valsound.strpad4"},
{label:"Chorus #3",data:"valsound.strpad5"},
{label:"Chorus #4",data:"valsound.strpad6"},
{label:"F.Strings 1",data:"valsound.strpad7"},
{label:"F.Strings 2",data:"valsound.strpad8"},
{label:"F.Strings 3",data:"valsound.strpad9"},
{label:"F.Strings 4 (low)",data:"valsound.strpad10"},
{label:"Pizzicate#1(KOTO2)",data:"valsound.strpad11"},
{label:"sound truck modoki",data:"valsound.strpad12"},
{label:"Strings",data:"valsound.strpad13"},
{label:"Synth Accordion",data:"valsound.strpad14"},
{label:"Phaser synthe.",data:"valsound.strpad15"},
{label:"FB Synth.",data:"valsound.strpad16"},
{label:"Synth Strings MB",data:"valsound.strpad17"},
{label:"Synth Strings #2",data:"valsound.strpad18"},
{label:"Synth.Sweep Pad #1",data:"valsound.strpad19"},
{label:"Twin synth. #1 Calm",data:"valsound.strpad20"},
{label:"Twin synth. #2 FB",data:"valsound.strpad21"},
{label:"Twin synth. #3 FB",data:"valsound.strpad22"},
{label:"Vocoder voice1",data:"valsound.strpad23"},
{label:"Voice o3-o5",data:"valsound.strpad24"},
{label:"Voice' o3-o5",data:"valsound.strpad25"},
//Wind
{label:"Clarinet #1",data:"valsound.wind1"},
{label:"Clarinet #2 Brighter",data:"valsound.wind2"},
{label:"E.Flute",data:"valsound.wind3"},
{label:"E.Flute 2",data:"valsound.wind4"},
{label:"Flute + Bell",data:"valsound.wind5"},
{label:"Old flute",data:"valsound.wind6"},
{label:"Whitsle 1",data:"valsound.wind7"},
{label:"Whitsle 2",data:"valsound.wind8"},
//World
{label:"Banjo (Harpci)",data:"valsound.world1"},
{label:"KOTO",data:"valsound.world2"},
{label:"Koto 2",data:"valsound.world3"},
{label:"Sitar 1",data:"valsound.world4"},
{label:"Shamisen 2",data:"valsound.world5"},
{label:"Shamisen 1",data:"valsound.world6"},
{label:"Synth Shamisen",data:"valsound.world7"}]);
[Bindable]
public var STATE_ARRAY:Array = [
{label:"楽器1", data:"Sound1"},
{label:"楽器2", data:"Sound2"},
{label:"楽器3", data:"Sound3"},
{label:"楽器4", data:"Sound4"},
{label:"楽器5", data:"Sound5"},
{label:"楽器6", data:"Sound6"},
{label:"楽器7", data:"Sound7"},
{label:"楽器8", data:"Sound8"},
{label:"楽器9", data:"Sound9"},
{label:"楽器10", data:"Sound10"}
];
private function init():void {
myCombo.selectedIndex = 92; //デフォルトの音色
}
// Play Button
private function onButtonClick() : void {
// セミコロン( ; )で結合
var melody:String = myText.text;
driver.play(melody);
}
// 演奏中止
public function onStopButtonClick():void{
driver.stop();
}
//テキストエリア MML枠
public function onText1Change():void{
}
//クリップボードに書き出し
public function onCopyButtonClick():void{
var mml:String;
mml = "mml@" + myText.text + ";";
Clipboard.generalClipboard.clear();
Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, mml);
}
//テキストエリアのクリア
public function onClearButtonClick():void{
myText.text = "";
}
]]></mx:Script>
<mx:Panel title="FM音源専用ピコカキコエディタ" backgroundColor="0xC0D0D0" width="100%" height="100%" fontSize="12">
<mx:HBox paddingTop="8" paddingLeft="8" paddingRight="8">
<mx:VBox>
<mx:ComboBox id="myCombo" dataProvider="{cards}" width="220" height="30" rowCount="15"/>
<mx:CheckBox id="octaveReverse" label="リバースオクターブ(#REV)" selected="true"/>
</mx:VBox>
<mx:Button label="PLAY" click="onButtonClick();" width="60" height="30"/>
<mx:Button label="STOP" click="onStopButtonClick();" width="60" height="30"/>
<mx:VBox>
<mx:Button label="Copy" click="onCopyButtonClick();" enabled="false"/>
<mx:Button label="Clear" click="onClearButtonClick();"/>
</mx:VBox>
</mx:HBox>
<mx:TabBar dataProvider ="{STATE_ARRAY}"/>
<mx:VBox width="100%" height="100%" paddingTop="8" paddingLeft="8" paddingRight="8" paddingBottom="8">
<mx:HBox width="100%">
<mx:VBox>
<mx:Label text="Volume (@V)"/>
<mx:HSlider id="chVolume"
minimum="0" maximum="127" value="64"
dataTipPlacement="top"
tickColor="black"
snapInterval="8" tickInterval="16"
labels="[0,127]"
allowTrackClick="true"
liveDragging="true"/>
<mx:Label text="Panpot (@P)"/>
<mx:HSlider id="panpot"
minimum="0" maximum="127" value="64"
dataTipPlacement="top"
tickColor="black"
snapInterval="8" tickInterval="16"
labels="[0,127]"
allowTrackClick="true"
liveDragging="true"/>
</mx:VBox>
<mx:TextArea id="chTone" height="100%" width="100%"/>
</mx:HBox>
<mx:TextArea id="myText" change="onText1Change();" width="100%" height="100%"/>
</mx:VBox>
</mx:Panel>
</mx:Application>
