命令リファレンス
Ymplayer.setPlayingOption
Midiの再生オプションを設定します
※ 再生前にあらかじめ設定しておく項目です
変更したくない項目は、引数をnullにしたり、省略したりしてください
※ このメソッドの後に、updatePlayInfo()を呼び出すことで、MusicPlayerに反映されます
書式
setPlayingOption(skipBeginning, skipEnding, masterPitch, normalize, exclusive)
- skipBeginning(省略可能)
- Midiの冒頭の空白をスキップするなら1、しないなら0
- skipEnding(省略可能)
- Midiの末尾の空白をスキップするなら1、しないなら0
- masterPitch(省略可能)
- マスターピッチ機能をONにするなら1、OFFにするなら0
再生中にピッチ(音の高低)を変えたい場合は、1にしてください
1にすると、setDynamicEffect()のpitchが使えるようになります。
ただし、ピッチベンドが送信されているMidiでは、1にすると音が変になることがあります。
使う場合は、うまく使い分けてください
- normalize(省略可能)
- ノーマライズ機能をONにするなら1、OFFにするなら0
Midiデータの音量が最大(127)になっていない場合、
全体的に音量を最大に上げる機能です
音割れするときは、setDynamicEffect()で音量を調節できます
- exclusive(省略可能)
- Midiデータ中のエクスクルーシブを送信するなら1、送信しないなら0
複数リズムパートを使っているMidiなどに有効らしいです
ただし、この機能を有効にしてもリセットメッセージと、
マスターボリュームメッセージは送りません
(ライブラリで提供されていた機能をとりあえず導入。作者は使用用途をわかっていません(^^;))
使いたい方以外は、0で構いません
このメソッドを使うより、下記のメソッドを使うことを推奨します
下記のメソッドを使用した後に、updatePlayInfo()を呼び出さないとMusicPlayerに反映されません。
例
(予め test.mid をTonyuに登録しておいてください)
extends SpriteChar;
$mplayer = new Ymplayer();
midiSkipBeginning = 1;
midiSkipEnding = 0;
midiMasterPitch = 0;
midiNormalize = 0;
midiExclusive = 0;
while (1) {
if (getkey(65) == 1) midiSkipBeginning = !midiSkipBeginning; // A:冒頭の空白スキップ
if (getkey(83) == 1) midiSkipEnding = !midiSkipEnding; // S:末尾の空白スキップ
if (getkey(68) == 1) midiMasterPitch = !midiMasterPitch; // D:マスターピッチ機能
if (getkey(70) == 1) midiNormalize = !midiNormalize; // F:ノーマライズ機能
if (getkey(71) == 1) midiExclusive = !midiExclusive; // G:エクスクルーシブ送信
if (getkey(90) == 1) { // Z:再生
$mplayer.setPlayingOption(midiSkipBeginning, midiSkipEnding, midiMasterPitch, midiNormalize, midiExclusive); // 再生オプション設定
$mplayer.updatePlayInfo(); // 更新
$mplayer.play($se_test, 1);
}
if (getkey(88) == 1) { // X:停止
$mplayer.stop();
}
drawText(100, 0, "冒頭の空白スキップ :" + midiSkipBeginning, $clWhite);
drawText(100, 20, "末尾の空白スキップ :" + midiSkipEnding , $clWhite);
drawText(100, 40, "マスターピッチ機能 :" + midiMasterPitch , $clWhite);
drawText(100, 60, "ノーマライズ機能 :" + midiNormalize , $clWhite);
drawText(100, 80, "エクスクルーシブ送信:" + midiExclusive , $clWhite);
update();
}
戻る