///////////////////////////////////////////////////////////////////////////////
// title:        "dynamic.h" ver 1.0
// description:  音源ごとに差異ある音量コントロールを変数1つでバランスよくできるインクルードファイル(2015/05/24)
// keywords:     SAKURA Function     by ななこっち★ @nanakochi123456
// HP:           http://nano.daiba.cx/
///////////////////////////////////////////////////////////////////////////////
// Example
// Include(dynamic.h)
// DynamicInit(80*128+127)
// E(127)
// o5cde
// ET(127,0,!2)
// fgab>c
///////////////////////////////////////////////////////////////////////////////
// Function DynamicInit(value)
// ダイナミック値を指定します。
// 値は、(音量幅)×128 + (ベース音量)になります。
// (音量幅、ベース音量共に0~127までとなります)
// 指定しないと、MSGS用の 80*128+127が指定されます。
///////////////////////////////////////////////////////////////////////////////
// Function E (Expression compatible)
// Usage : EW(vol)
// Example : 
// o5
// E(100)c VV(127)d E(80)e
///////////////////////////////////////////////////////////////////////////////
// Function VV (Velocity compatible)
// Usage : VV(vol)
// Example : 
// o5
// VV(100)c VV(127)d VV(80)e
///////////////////////////////////////////////////////////////////////////////
// Function EW (Expression.onNotewave compatible)
// Usage : EW(vol1, vol2, length, ... ) max 5 parms
// Example : 
// EW(127,0,!16)
// o5l8
// cdefgab>c
///////////////////////////////////////////////////////////////////////////////
// Function ET (Expression.onTime compatible)
// Usage : ET(vol1, vol2, length, ... ) max 5 parms
// Example : 
// ET(127,0,!1)
// o5l8
// cdefgab>c
///////////////////////////////////////////////////////////////////////////////

Int DYNAMIC=80*128+127

Function DynamicInit(Int value) {
	DYNAMIC=value
}

Function Dy(Int value) {
	Int D

	IF(DYNAMIC=0) {
		// for MSGS
		D=80*128+127

		// for TWM2
		IF(TWM2=1) {
			D=100*128+110
		} ELSE {
			// for TiMidity++ De...(続く)...