forked from: flash on 2010-4-3

by Sharakusai forked from flash on 2010-4-3 (diff: 265)
♥0 | Line 358 | Modified 2013-06-26 10:45:59 | MIT License
play

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&amp",data:"valsound.bell17"},
{label:"twin marinba 1 g&amp",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 &amp",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>