サンプル14(ルート音を刻ませる)

Playing Bar 1 2 3 4 5 6 7 8  
 
 
Drum Ptn.Nmb
Root Note1
Root Note2
Rt.Chg.Timing


3

4

6

7

8

0

-




 W




 E




 R




 T




 Y




 U




 I




 O




 P




 @



S

D

G

H

J

L

;




 Z




 X




 C




 V




 B




 N




 M




 ,




 .




 /

Bass Pattern

 
 
 

サンプル13に追加したソース
<body>

<form><td class=p10 width=124px align=center>Bass Pattern</td>
<td><input type=checkbox onchange=bed() checked><input type=checkbox onchange=bed()>
<input type=checkbox onchange=bed()><input type=checkbox onchange=bed()></td>
		(中略)
<td><input type=checkbox onchange=bed() checked><input type=checkbox onchange=bed() checked>
<input type=checkbox onchange=bed() checked><input type=checkbox onchange=bed() checked></td>
<td><input type=number id=bvel min=0 max=127 value=120 class=keta3 onchange=bed()></td>
</form>


<script><!--

var mbn=0;		// 次に消音すべきベース音高が入る

function tick(){
	if(playing==2){		// ループプレイの時
		document.forms[0].elements[currbar-1].checked=true;
		currdrptnb=document.forms[1].elements[currbar-1].value;
		cht=document.forms[4].elements[currbar-1].value;
		bpp=document.forms[5].elements[count].checked;		// bpp取得
		bvel=document.forms[5].elements[16].value;		// bvel取得
		
		if(bpp)Jazz.MidiOut(0x81,mbn+36,0);		// 鳴らすbppではまずmbnを消音

		if(count==0){
			cbn=document.forms[2].elements[currbar-1].selectedIndex;
		}else{
			if(count==cht){
				kcbn=document.forms[3].elements[currbar-1].selectedIndex;
				if(kcbn!=17){
					cbn=document.forms[3].elements[currbar-1].selectedIndex;
				}
			}
		}
		if(bpp){
			Jazz.MidiOut(0x91,cbn+36,bvel);		// 鳴らすbppで最新のcbnを発音
			mbn=cbn;			// 最後に鳴らしたcbnをmbnに格納
		}
		
	}
	
	(中略)
}

function loopplay(){
	if(playing!=0){
		playing=0;
		document.getElementById('play').innerHTML='Play';
		document.getElementById('loopplay').innerHTML='Play';
		clearTimeout(timeout);
		Jazz.MidiOut(0x81,mbn+36,0);		// ここの消音もcbnをmbnに変更
	}else{
		(中略)
	}
}


function play(){
	if(playing!=0){
		playing=0;
		document.getElementById('play').innerHTML='Play';
		document.getElementById('loopplay').innerHTML='Play';
		clearTimeout(timeout);
		Jazz.MidiOut(0x81,mbn+36,0);		// ここの消音もcbnをmbnに変更
	}else{
		(中略)
	}
}


function bed(){		// ベースパターン自動保存導入時に実装予定
	//未実装
}

--></script>