概要いくつかの曲と、その曲の関連データを一つのファイルにまとめることができます。本ライブラリのメンテナンスは終了しました。後継フォーマットのNNMフォーマットへの乗り換えをお勧めします。以下の部分は、NNMへの乗り換えのための参考資料としてご利用ください。1ファイルに曲関連データをまとめ上げることを目的として設計した。wav<楽器番号>要素を追加した。composer要素の誤字を訂正した。album要素の誤字を訂正した。誤字のあった要素の救済措置を設定した。データ埋め込み構文、copyright要素、date要素を追加した。使い倒したい人向けに、仕様書(外部サイト)が用意してありますが、最初は読まなくていいです。音楽パックを作るには音楽パックは次の4つの要素から構成されます。これらを必要なものだけ書き記して、拡張子.NMPのファイルとして保存します。@NMTRACKSから始まる、その音楽パックに収録されている曲IDのリスト@NMPACKから始まる、その音楽パック全体に関するデータ@D_<曲ID>から始まる、その曲IDの曲に関するデータ@M_<曲ID>から始まる、その曲IDの曲のMML次のプログラムは一番シンプルなファイルの例です。サンプルファイルはプチコン4専用MMLが収録されたサンプルになっているので参考にしてみてください。音楽パックファイルに動作可能なプログラムを入れると誤作動の原因になるのでご注意ください。One」をご用意しました。Oneの中身を全てコピーしてプログラムファイルの前や後ろに貼り付けてください。使い方の実例は収録したサンプル「SAMPLE.PRG」をご覧ください。次に追加される主な関数を紹介します。主な関数一覧NMO_INIT$(slot,mode)戻り値は、曲ID配列。使用開始の準備をする。slotのスロットにNMPACKSフォーマットのファイルがロードされてないとSmileBASICのエラーになる。識別文字と分割先の動作モード。NMO_GETMODECH$関数とNMO_GETMODESU$関数の中身を見ながら設定すること。NMO_GETMODECH$(mode)戻り値は、曲IDの前につける識別文字(仕様書参照)。モードによって返す識別文字が変化するよう適宜関数の中身を変更すること。モードによって返す分割先ラベルが変化するよう適宜関数の中身を変更すること。NMO_GET$(id$,attr$)戻り値は、id$で指定された曲の、attr$で指定された要素の値文字列。id$に空文字列を指定した場合は@NMPACK内からデータをロードする。要素が見つからなかった場合は空文字列を返す。曲ID(単体)NMO_GET_PACK$(attr$)戻り値は、@NMPACK内の、attr$で指定された要素の値文字列。要素が見つからなかった場合は空文字列を返す。ここへの指定も大文字小文字を問わない。NMO_GET_FAST$(id$,attr$)戻り値は、id$で指定された曲の、attr$で指定された要素の値文字列。挙動はNMO_GET$と同等であるが、埋め込み構文の文字列を置換しない。ここへの指定も大文字小文字を問わない。NMO_GET_PACK_FAST$(attr$)戻り値は、@NMPACK内の、attr$で指定された要素の値文字列。挙動はNMO_GET_PACK$と同等であるが、埋め込み構文の文字列を置換しない。ここへの指定も大文字小文字を問わない。id$,noid$で指定された曲の、noで指定された波形番号の波形を設定する。id$id$で指定された曲の波形を全て設定する。曲メタデータの波形は設定されない。曲再生の流れの概要をまとめると以下のようになります。最小のプログラム例を下に示しておきます。128また、NMO_GET$(曲ID,”TITLE”)で曲名、NMO_GET$(曲ID,”COMPOSER”)で作曲者などを取得可能です。作り込むには(中上級者向け)独自拡張でどんどん作り込むのもアリですが、ここでは標準で用意した一部機能を紹介します。各種要素は、適切な位置にDATA文を並べて"要素名:データ"の形式で書くことで設定できます。要素名の大文字小文字は問いません(当ページ内でも混在しています)。次の表に示す、音楽パックファイル全体の要素は@NMPACKのDATA文に書きます。アルバム名(音楽パックファイルの題)次の表に示す、曲の要素は@D_<曲ID>のDATA文に書きます。WAVSET用のデータ。wav224のようにして指定する。アタック,ディケイ,サスティン,リリース,定義文字列[,基準音程]と、リファレンス通りに設定する。基準音程は省略してもよい。実装者はこのデータに対応するべき。編曲者(開発者の意図としては積極的に設定&対応してほしい。歌詞(ただし、この仕様書ではフォーマットを指定しないため、非推奨)標準で用意してある他の要素を確認するには仕様書(外部サイト)をご覧ください。特定バージョンのプチコンやSmileBASICで、別のMMLを読み込ませる曲IDの前に、次のような「識別文字」を追加すると、データを読み込みラベルの「@M_」部分が変化します。@M4_また、必要に応じて、自分で識別文字を追加して、読み込みラベルを変更することも可能です。Oneではそれが簡単にできるようになっています。埋め込み構文を使う[=曲ID:要素名]という式単体もしくはembed構文を組み合わせて、他の要素に設定したデータを埋め込めるようになりました。要素のデータがこの埋め込み式だけの場合はsame構文といい、曲ID:要素名の要素をそのままコピーします。要素のデータ全体を{}で囲んだ場合はembed構文といい、埋め込み式がどこにあっても埋め込み式を評価しようと試みます。どちらの構文にも当てはまらない場合は埋め込み式が評価されません。FLAGにお寄せください。サンプルの公開キートップメニューの「作品公開とダウンロード」から公開キーを入力すると、ダウンロードすることができます。One」を使用したシンプルなプレイヤーと、投稿者が第3回SB2Weeksに投稿した「おてがみコウモリさん」の曲を数曲収録しました。1ファイルに曲関連データをまとめ上げることを目的として設計した。プチコン4対応版初版。対応し忘れた部分がある。仕様バージョン0.2.2に対応。仕様バージョン0.3.0に対応。NMONE-LIB.PRGは埋め込み構文にも対応した。仕様バージョン0.3.0に対応。NMONE-LIB.PRGは埋め込み構文にも対応した。プチコン3号/プチコンBIG版はNNMフォーマットに保守管理を移行しました。プチコン4版もNNMフォーマットに保守管理を移行しました。NMPACKSの仕様と、公開キーでアップしているサンプル)に対するコメントがあれば一言どうぞ。修正したものをアップしました。新バージョンの仕様検討を行っております。要望等があればプチバースのページかこのコメント欄へお願いします。◆1sxkymI8ji30。