プチコン3号&BIGまとめWiki

投稿プログラム : Visual MML 解析ツール ver1.0.5

パンくずリスト

2019年7月20日投稿 / 2019年8月14日更新 / 投稿者 : Na / タグ : 投稿プログラム 音楽 MML 実用ツール ツール ライブラリ

概要

MML解析ツール(ライブラリ)のVisual MMLと、それを利用したMMLプレーヤーのVMPlayerです。
第1回コンソールプログラム大会投稿作品。
VisualMMLはプチコン3号用、4用どちらのMMLも解析できます。
また、3号で4用のMML、4で3号用のMMLがたぶん再生できます。(ただし4で動くとは言ってない)
VisualMMLを使用すると、再生中のシーク、テンポ、キーの変更、チャンネルの取得、現在のテンポ、楽器番号、鳴っているノート番号の取得ができます。
VMPlayerは前作のMMLプレーヤー MPlay1の後継ソフトで、対応フォーマットも増えています。
8/4 VMPlayerはMPlay1に名称変更しました。

使い方

  • 「VMML-LIB」を適当なスロットにロードして使います。
  • Extended MMLのライブラリ(ver1.2)を同梱しています。
  • 3号で和音を再生するためOskarさんのCHOMMLを採用しています。
    • ダブルシャープ等対応のため一部変更し、コード読み取り部分は削除しました。
    • CHOMMLのデータが開けるわけではありません。
    • オクターブの設定あたりがなんかおかしいかもしれない
  • 変数$0〜$7は使用できません。
  • 使い方は、付属の「VMTEST」が参考になるかもしれません。
  • ver1.0.4で現在の再生位置以外の情報も取得可能に。リズムゲームとか作れるかも?

DEF一覧

初期化系
  • VMINIT X,Y,W,SPD,PGL,TRC
    • VisualMMLを初期化します。必ず1度は呼び出す必要があります。
    • X,Y: 画面左上の表示位置
    • W: 画面の幅
      • 0を設定すると非表示になります。
      • 高さは常に16です。
    • SPD: 画面の流れるスピード
      • 1小節がSPDで指定した文字数になります。
      • Cで終わる命令の「文字数」はこれに依存する長さです。
      • 例えばSPD=48のとき、「文字数48」で1小節を表します。
    • PGL: ページ長さ
      • 単位は文字数。SPDに依存します。
      • 短い方がシークは細かくできる一方、音が途中で切れる可能性があります。
      • 画面を表示する場合は(W-2)あたりがちょうどいいでしょう。
    • TRC: 使用するトラック数
      • BGMのトラック0〜(TRC-1)までと、BGMSETの128〜(128+TRK-1)までが使用されます。
      • 0を指定すると再生されません。
  • VMSTART MML$
    • MML$を読み込み、解析を開始します。
  • VMCLEAR
    • ロード中のMMLをすべて消去します。
    • VMINIT,VMSTART時にも呼び出されます。
再生系
  • VMPLAY
    • 現在の再生位置から再生します。
  • VMPAUSE
    • 一時停止します。
  • VMFRAME フラグ
    • 画面の更新、ページの自動切り替え、連続再生などを行います。
    • 1フレームに1回呼び出す必要があります。
    • フラグが0のときは、画面が変化したときのみ更新します。
    • フラグが1のときは、強制的に画面を更新します。
    • 旧3DSでは処理落ちします。そのうち改善する予定。
  • VMVOL 音量
    • 音量(0〜127)を設定します。
  • VMSEEK ページ数
    • ページ数は整数
    • ページ数が正の時現在位置が進み、負の時は戻ります。
    • ページ数に0を設定すると、先頭に戻ります。
取得系
  • VMML$()
    • VMSTARTで設定したMML文字列(のコピー)が戻ってきます。
  • VMCHK()
    • 再生中は1、一時停止中は0が返ります。
  • VMPOS()
    • 再生位置(ページ数)を返します。
  • VMPOSC()
    • 再生位置(表示上の文字数(小数含む))を返します。
  • VMTEM()
    • 現在の位置のテンポをリアルタイムに返します。
  • VMTEMC(文字数)
    • 指定した位置(文字数)のテンポを返します。小数可。
  • VMGET(チャンネル,ID)
    • ID=0: 指定したチャンネルがある場合は1を返します。
    • ID=1: 楽器番号を返します。
    • ID=2: 現在なっている音のノート番号(Nコマンドの番号,O4C=60)を返します。
  • VMGETC(文字数,チャンネル,ID)
    • 指定した位置(文字数)の各情報を取得します。小数可。
設定系
  • VMMUTE チャンネル,ミュート
    • 指定したチャンネルを1でミュート、0でミュート解除します。
  • VMSET ID,値
    • ID=0: テンポ倍率を設定します。(標準は1)
      • テンポが512(プチコン4では1023)を超えた場合、勝手に変更されます。
    • ID=1: キーを設定します。(標準は0)
      • こちらも範囲外になると勝手に変更されます。
    • これまで読み込んだ全MMLを変更するため、再生前に変更した方が処理が早いです。
    • ここで設定した値は再生のみに影響し、取得系命令には変化はありません。
  • VMSETCHK(ID)
    • VMSETの結果設定された値を返します。
Extended MMLのDEF
  • EXMML$(MML$,META$)
    • MML$からMETA$で指定されたタグを読み込みます。
  • EXMML_DEL$(MML$,META$)
    • MML$からMETA$で指定されたタグが削除されたMMLを返します。
  • EXMML_WAVSET MML$
    • MML$に含まれるWAVデータをすべてセットします。
  • MMLTO4$(MML$),MMLTO3$(MML$)
    • MMLの楽器番号とゲート割合を変換します。

スクリーンショット・動画

動作しているところを撮影した写真や動画があれば貼り付けてください。

公開キー

プチコン3号用の公開キーです。トップメニューの「作品公開とダウンロード」から公開キーを入力すると、作品をダウンロードすることができます。
MPlay1と共通の公開キーです。

ver1.0.5
E5LXD24E
  • 7SEG: MPlay1が使用
  • BGM41P.MML: We are heroesのMML、VMTESTで使用
  • MPlay1: MPlay1本体
  • ROKUDAN.MCD: 六段のMML
  • TRPL_DEF: MPlay1が使用
  • VMML-LIB: ライブラリ本体、MPlay1でも使用
  • VMP_1.BHD: MML
  • VMP_2.BHD: MML
  • VMTEST: VisualMMLライブラリをテストするサンプルです。
+  更新履歴

プログラムリスト

  1. ’ ─────────────────────
  2. ’ もし プログラムリストを てうちで
  3. ’ かくばあいは ここに かいてください。
  4. ’ そうでないばあいは まるごとけしてください。
  5. ’ ─────────────────────
  6. ACLS’←はい、まるごとけした。

アンケート

選択肢 投票
ダウンロードしたっっ! 1  
ダウンロードしてないっっ! 0  
  • Visual MMLについて
    選択肢 投票
    使える! 0  
    便利! 0  
    使い道あるの? 0  

CHECKER FLAG (ひとことコメント)

この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)

  • takumi : ホントにありがたい。 (2019/07/21 (日) 01:45:40)

メニュー 【3号】

ヘルプ

リンク

最近の更新

最近の人気ページ

オンライン情報

  • 現在同時に 12 人がこのサイトを見ています
  • このページはこれまでに 227 回、本日は 3 回、昨日は 0 回閲覧されました

ページの先頭に戻る

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.039 秒 | このページの最終更新 : 2019/08/14 (水) 15:38:42 (10d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30