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

Toukou/VisualMML の変更点

パンくずリスト


#title(投稿プログラム : Visual MML 解析ツール ver1.1.1)
#contents
// ↑↑↑↑ この2行は削除しないでください。 ↑↑↑↑
//
// ←このように「//」で始まる行はコメントです。ページ本文には反映されません。
//------------------------------------------------------------------------------
// ・投稿年月日は、このページを投稿しようとしている今日の日付を半角数字で入力してください。
//   この日付は、投稿プログラムを自動的に年月日順に並べる際に使用されます。
// ↓↓↓
2019年7月20日投稿
// ↑↑↑
// ・作品をバージョンアップ (公開キーをアップデート) した際は、以下に更新日を記入し、
//   頭の「//」2文字を取り除くと「アップデート順」で上位に表示されます。
// ↓↓↓   (ページの内容だけ更新はページ更新日が自動的に記録されますので、対象外です)
/ 2019年12月20日更新
/ 2020年1月13日更新
// ↑↑↑
//------------------------------------------------------------------------------
// ・投稿者名は、投稿プログラム一覧に表示するために使用します。
// ・「名無しさん」のままにしておくと、匿名の方からの投稿として扱われます。
// ↓↓↓
/ 投稿者 : Na
// ↑↑↑
//------------------------------------------------------------------------------
// ・適当にタグをつけることができます。半角のコンマ区切りで複数つけられます。
//   タグをつけると、同じタグが付いたページを検索することができます。
// ★次に該当するプログラムは、特定のタグを設定するようご協力お願いします。
//   これらを設定すると、将来的に投稿プログラム一覧に目立つマークが付くようになる予定です。
// ・短いプログラム → 「1行プログラム」「数行プログラム」「1画面プログラム」タグのいずれか1つ
// ・該当するなら「ゲーム」「実用ツール」「音楽」タグのいずれか
// ↓↓↓
/ &tag(投稿プログラム,音楽,MML,実用ツール,ツール,ライブラリ);
// ↑↑↑

//------------------------------------------------------------------------------
// ここに概要とか書きます。
// ・** や *** で始まる行は子見出しとなります。* の数で深さが決まります。
// ・[#英数字] はページ内リンクに使用されるキーワードとなりますが、
//   消してもかまいません。ない場合はランダムな文字列が自動付与されます。
//   逆に、[#英数字] して同じものを増やしてしまった場合、目次からのリンクがちょっとおかしくなります。


* 概要 [#Summary]
MML解析ツール(ライブラリ)のVisual MML%%と、それを利用したMMLプレーヤーのVMPlayer%%です。~
[[第1回コンソールプログラム大会>http://petitverse.hosiken.jp/community/petitcom/topic/?read=1207]]投稿作品。~
VisualMMLはプチコン3号用、4用どちらのMMLも解析できます。~
また、3号で4用のMML、4で3号用のMMLがたぶん再生できます。(ただし4で動くとは言ってない)~
VisualMMLを使用すると、再生中のシーク、テンポ、キーの変更、チャンネルの取得、現在のテンポ、楽器番号、鳴っているノート番号の取得ができます。~
%%VMPlayerは前作のMMLプレーヤー MPlay1の後継ソフトで、対応フォーマットも増えています。%%~
''8/4 VMPlayerは[[MPlay1>Toukou/MPlay1]]に名称変更しました。''~
//また、各種MMLフォーマットの相互変換ができます。~
//今作は最初からMMLを15曲同梱しています。もちろん追加も簡単です。~
付属の「VMTEST」はただのテストプログラムですが、MML直打ちで役に立つかもしれません

* 使い方 [#VMML]
#region(重くて使いづらいVisualMMLの使い方)

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

** DEF一覧 [#be4e0f7f]
*** 初期化系 [#zc23386d]
- &basic{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を指定すると再生されません。

- &basic{VMSTART MML$};
-- MML$を読み込み、解析を開始します。

- &basic{VMCLEAR};
-- ロード中のMMLをすべて消去します。
-- &basic{VMINIT,VMSTART};時にも呼び出されます。

*** 再生系 [#ofe7e4a8]
- &basic{VMPLAY};
-- 現在の再生位置から再生します。

- &basic{VMPAUSE};
-- 一時停止します。

- &basic{VMFRAME フラグ};
-- 画面の更新、ページの自動切り替え、連続再生などを行います。
-- 1フレームに1回呼び出す必要があります。
-- フラグが0のときは、画面が変化したときのみ更新します。
-- フラグが1のときは、強制的に画面を更新します。
-- 旧3DSでは処理落ちします。そのうち改善する予定。

- &basic{VMVOL 音量};
-- 音量(0〜127)を設定します。

- &basic{VMSEEK ページ数};
-- ページ数は整数
-- ページ数が正の時現在位置が進み、負の時は戻ります。
-- ページ数に0を設定すると、先頭に戻ります。

*** 取得系 [#vcd1b0f7]
- &basic{VMML$()};
-- &basic{VMSTART};で設定したMML文字列(のコピー)が戻ってきます。

- &basic{VMCHK()};
-- 再生中は1、一時停止中は0が返ります。

- &basic{VMPOS()};
-- 再生位置(ページ数)を返します。
- &basic{VMPOSC()};
-- 再生位置''(表示上の文字数(小数含む))''を返します。

- &basic{VMTEM()};
-- 現在の位置のテンポをリアルタイムに返します。
- &basic{VMTEMC(文字数)};
-- ''指定した位置(文字数)''のテンポを返します。小数可。

- &basic{VMGET(チャンネル,ID)};
-- ID=0: 指定したチャンネルがある場合は1を返します。
-- ID=1: 楽器番号を返します。
-- ID=2: 現在なっている音のノート番号(Nコマンドの番号,O4C=60)を返します。
- &basic{VMGETC(文字数,チャンネル,ID)};
-- ''指定した位置(文字数)''の各情報を取得します。小数可。

*** 設定系 [#xad97ac3]
- &basic{VMMUTE チャンネル,ミュート};
-- 指定したチャンネルを1でミュート、0でミュート解除します。

- &basic{VMSET ID,値};
-- ID=0: テンポ倍率を設定します。(標準は1)
--- テンポが512(プチコン4では1023)を超えた場合、勝手に変更されます。
-- ID=1: キーを設定します。(標準は0)
--- こちらも範囲外になると勝手に変更されます。
-- これまで読み込んだ全MMLを変更するため、再生前に変更した方が処理が早いです。
-- ここで設定した値は再生のみに影響し、取得系命令には変化はありません。

- &basic{VMSETCHK(ID)};
-- &basic{VMSET};の結果設定された値を返します。

*** Extended MMLのDEF [#de2cff5e]
- &basic{EXMML$(MML$,META$)};
-- MML$からMETA$で指定されたタグを読み込みます。

- &basic{EXMML_DEL$(MML$,META$)};
-- MML$からMETA$で指定されたタグが削除されたMMLを返します。

- &basic{EXMML_WAVSET MML$};
-- MML$に含まれるWAVデータをすべてセットします。

- &basic{MMLTO4$(MML$),MMLTO3$(MML$)};
-- MMLの楽器番号とゲート割合を変換します。

#endregion

VMTEST使い方
+VMTESTをエディタで開く
+編集してMML$にMMLを入れる
+実行する

* スクリーンショット・動画 [#ScreenShots]
動作しているところを撮影した写真や動画があれば貼り付けてください。

// ページを作成すると、画像の添付ができるようになります。(作成する前はできません)
// 作成後のページの右上、ウィキメニューにある「添付」から画像をアップロードできます。
// (添付ファイルはページごとに別個に管理されています。必ず作成後のページに添付してください)
// 画像をアップロードしたら、以下の書式でページ内に貼り付けられます。
// Wii U のプチコンBIGでは、本体から直接スクリーンショットのアップロードができます。
// #ref(添付ファイル名)

// 以下の書式で、YouTube やニコニコ動画を貼り付けられます。
// #youtube(0HWX7kovgY8)
// #nicovideo(sm13684820)

//#ref(vmplayer.JPG)

* 公開キー [#QR]
プチコン3号用の公開キーです。トップメニューの「作品公開とダウンロード」から公開キーを入力すると、作品をダウンロードすることができます。~
[[MPlay1>Toukou/MPlay1]]と共通の公開キーです。
#ptcmid(DBNN2334,ver1.1.1)
#ptcmid(534KN4CY,ver1.1.2)
- -MPLAY1: MPlay1本体
- -MPLAY1-LITE: Lite版
- 7SEG: MPlay1が使用
- NMONE_LIB.PRG: NMPライブラリ
- NNM-LIB.PRG: NNMライブラリ
- TRPL_DEF: MPlay1が使用
- VMML-LIB: ライブラリ本体、MPlay1でも使用
- VMP_1.BHD: MML
- VMTEST: VisualMMLライブラリをテストするサンプル。

#region(更新履歴)
-Visual MML ver1.1.2
--Nコマンドのバグ修正

- Visual MML ver1.1.1
-- &のバグ修正

- Visual MML ver1.1
-- 軽量化(すこし)
-- 変数$0〜$7に対応

- Visual MML ver1.0.5
-- テンポが変わる時のバグ修正

- Visual MML ver1.0.4
-- &basic{VMPOSC(),VMTEMC(),VMGETC()};を追加

- Visual MML ver1.0.3
-- 15チャンネルが再生されないバグを修正
-- Kコマンドバグ修正
-- 旧3DSでの処理落ち対策
--- 処理落ちする場合画面更新を2〜3フレームに1回に自動で減らす(あまり改善してない)

- Visual MML ver1.0.1
-- Nコマンド、Kコマンドバグ修正

#endregion
/////////////////////////////////


* プログラムリスト [#List]
#basic{{
' ─────────────────────
' もし プログラムリストを てうちで
' かくばあいは ここに かいてください。
' そうでないばあいは まるごとけしてください。
' ─────────────────────
ACLS'←はい、まるごとけした。
}}

** アンケート [#Vote]
#vote(ダウンロードしたっっ![2],ダウンロードしてないっっ![0])

- Visual MMLについて
#vote(使える![1],便利![0],使い道あるの?[0])


/////////////////////////////////
// コメントを募集したくないなら、ここから下は削除してください


* CHECKER FLAG (ひとことコメント) [#Comments]
この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は[[掲示板>Board]]へ)
- ''takumi'' : ホントにありがたい。 (&new{2019/07/21 (日) 01:45:40};)
- ''みどり'' : 複雑で分からない… (&new{2019/12/07 (土) 11:30:06};)
- ''Na'' : 残念ながら、もはや私にもわからないんですよ() (&new{2019/12/07 (土) 12:24:10};)
- ''takumi'' : Naさんのは実用的な物なのでとても助かります。(僕は未だに配列にMML読み込んでいるんでね。) (&new{2019/12/07 (土) 12:40:37};)

#comment

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