mabimml.inc.php

サマリMabinogi用MML再生プラグイン
リビジョン0.8
対応バージョンPlus! 1.4.x / Adv.1.0以上
投稿者Logue
投稿日2006-12-23(土) 03:08:30

概要

※QuickTimeでMIDI再生ができなくなったため、このプラグインは使用できません。MabiMmlEmuを参考に自分で組んでください。

Mabinogi用のMMLを再生、コピペ、合奏シュミレーションするプラグインです。IE以外のブラウザはそのまま再生できます。※IEはChrome Frameによる動作です。

MIDIファイルをサーバー側で生成したりダウンロードして鳴らしているわけではないため、JASRACの定める著作物使用料規定の対象になりません。

インストール

mabimml.inc.phpをプラグインフォルダにいれ、スキンディレクトリにmabimml.jsを入れます。PSGConverterの位置は、適当に指定してください。デフォルトでは、公式のものになっています。

なお、kanzaki.jsを使用しないスキンでは、正常に再生できない場合があります。(Plus!デフォルト、Logue Standardスキンを使用する上では問題ありません)

0.8よりスタンドアローンで動くようにしました。

使用方法

現在のところこのようになっています。

基本
#mabimml(タイトル,楽器名){{
MML@
チャンネル1,
チャンネル2,
チャンネル3,
;
}}
合奏時
同じ合奏IDの場合、グループとみなされます。
#mabimml(タイトル,楽器名,合奏ID){{
MML@
チャンネル1,
チャンネル2,
チャンネル3,
;
}}
#mabimml(タイトル,楽器名,合奏ID){{
MML@
チャンネル1,
チャンネル2,
チャンネル3,
;
}}

サンプル

え?なんでQuickTimeかって?そりゃ、<param>要素が少なくて済むから。

#mabimml(アレフガルドのテーマ,Lute){{
MML@v15l8dafadbgbdb+ab+da+fgeb+ab+daf+adaf+aga+ab+db+ab+dbgbdbgbda+g+a+c+aeadaeac+aeac-ac+adafadbgbdb+ab+da+gf<a>ecedaf+adaf+adaf+a<dal4>d<adrgg8>d8<gd8a8>d<adrgg8>d8<gd8a8>d<adrgg8>d8<gd8a8>d<adrgg8>d8<g,
v15>dag2.l8fed4c<a+b+a>e4d1.a4b+4b2.gfe4fga1&a1d4a4g2.fed4c<a+b+al4>ed1.<a.a8rbb1>c.c8r<bb1a.a8rbb1>c.c8r<bb1,
l1.rrrrrrrrv15l4f.f8rgg1a.a8rgg1f.f8rgg1a.a8rgg1;
}}
MML@v15l8dafadbgbdb+ab+da+fgeb+ab+daf+adaf+aga+ab+db+ab+dbgbdbgbda+g+a+c+aeadaeac+aeac-ac+adafadbgbdb+ab+da+gf<a>ecedaf+adaf+adaf+a<dal4>d<adrgg8>d8<gd8a8>d<adrgg8>d8<gd8a8>d<adrgg8>d8<gd8a8>d<adrgg8>d8<g,
v15>dag2.l8fed4c<a+b+a>e4d1.a4b+4b2.gfe4fga1&a1d4a4g2.fed4c<a+b+al4>ed1.<a.a8rbb1>c.c8r<bb1a.a8rbb1>c.c8r<bb1,
l1.rrrrrrrrv15l4f.f8rgg1a.a8rgg1f.f8rgg1a.a8rgg1;
#mabimml(Mountaip,Mandorin){{
MML@rv15l8o2ce<g>f+gg+a16.a+32bb+bb+ag16.f+32fel16crcrl8e<g>f+gg+a+16r32a+32bgf+cel16d.c+32crl8<bgb>d<g>f16.f+32gg+l16arb8f8e8d+.d32c+rc8<a+8a8frf8>e8<g8>f+rl8dd+efb+b<g>ag+16.g32gel16crcrc8<g8b+8f+8>frfrfrcrcrererfrfrgrgrcrcr<g8b+8f+8>frfrfrgr<grbrbr>crcrdrdrc8cr <g8>crc8<g8b+8g8frf8d+8a8g+8a+ra+ra+8gr>e8d+8c-8frfrergrc8c8ere8frfrgrgr>c8r4.<c4,
v15l8<ev15g>cl16crc8rcl8<ageg>c2&crcdel16ere8rel8ggged2&drgfel16ere8red8c8c8crc8crc8rcl8fffreeer16e16ddedc2&cr<eg>crcr<ageg>cr2rcdererl16grgrl8gedr2rgfererdcr4crcrf16r16fr4ererd16r16dedc,
l4.re8r2.r8e8r1re8rg8r2.r8c8re8re8rc8rc8re8rl8er2.rer2.rer2.rer2.rgr2.rel4.re8rf8rc8re8re8re8;
}}
MML@rv15l8o2ce<g>f+gg+a16.a+32bb+bb+ag16.f+32fel16crcrl8e<g>f+gg+a+16r32a+32bgf+cel16d.c+32crl8<bgb>d<g>f16.f+32gg+l16arb8f8e8d+.d32c+rc8<a+8a8frf8>e8<g8>f+rl8dd+efb+b<g>ag+16.g32gel16crcrc8<g8b+8f+8>frfrfrcrcrererfrfrgrgrcrcr<g8b+8f+8>frfrfrgr<grbrbr>crcrdrdrc8cr<g8>crc8<g8b+8g8frf8d+8a8g+8a+ra+ra+8gr>e8d+8c-8frfrergrc8c8ere8frfrgrgr>c8r4.<c4,
v15l8<ev15g>cl16crc8rcl8<ageg>c2&crcdel16ere8rel8ggged2&drgfel16ere8red8c8c8crc8crc8rcl8fffreeer16e16ddedc2&cr<eg>crcr<ageg>cr2rcdererl16grgrl8gedr2rgfererdcr4crcrf16r16fr4ererd16r16dedc,
l4.re8r2.r8e8r1re8rg8r2.r8c8re8re8rc8rc8re8rl8er2.rer2.rer2.rer2.rgr2.rel4.re8rf8rc8re8re8re8;

合奏サンプル

#mabimml(ハトと少年(ウクレレ),Ukulele,1,48){{
MML@v15l64>c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&cv0c4v15l4.c<bgc8l16rderl4.df4g8ec4r8b+bgc8l16rderl8<gb>dfgfedec4.al16efgra8g8f8g8rcc8cdefl8gafrfafg4.g4.ededed<a4rl16ab>cdl8edrdad<ar>gdl4.<g>b+bgl16b+gecl8<g>d<gb>fede4.c4<gb+g16r16>cdr<g>el16rdefl8grefrffl16gfede8r8d8<g8r4c8.>g2&go2g8.o4g2&go2g+8.o4g+2&g+o2g8.o4g2&go2g+8.o4g+2&g+o2g8.o4g2&go2f8.o4f2&fo2g8.o4g2&g<c8.>g2&go2g8.o4g2&go2g+8.o4g+2&g+o2g8.o4g2&go2g+8.o4g+2&g+o2a+8.o4g2&go2a8.o4f2&f<c8.o5c2&cl4.c<bgc8l16rderd4.f4g8l4.ecb+bgc8l16rderl8<gb>dfgfedec4.al16efgra8g8f8g8rcc8cdefl8gafrfafg4.g4.ededed<a4rl16ab>cdl8edrdad<ag>gdl4.<g>b+bgl16b+gecl8<g>d<gb>fede4<gt80>c4.t120v0c4,r2.v15l4.gger8v10c8r16d16v15<bbv10>g8r4e4c8v15gger8v10c8r16d16v15br4c8b+ec2.c2.c4c2cc<e2.<a2.>a8a2r8<g2.o4gf<cr8v10l16>b+gecv15o2g2.>c2.r8v10b+8gr>c8d4<g8>e8rdefg4e8f8r4frgfrdl8.er16d8<g8rv15g2&gr16g2&gr16g+2&g+r16g2&gr16g+2&g+r16g2&gr16f2&fr16g2&gr16g2&gr16g2&gr16g+2&g+r16g2&gr16g+2&g+r16a2&ar16f2&fr16>d+2&d+l4.gger8v10c8.d16v15<bbge>gger8v10c8.d16v15br4c-8b+el2.ccc4c2c4.c4.<e<a>a8a2r8<go4g4.f4.<c<g>c,r2.v15l4.edcr<ggge>edcrgr1r8<f1.l2.fcaedl4.grc2.r1.r2.c<gb+2.ggr2.l8ro4d+2&d+rd2&drd+2&d+r<a+2&a+r>c2&crc2&cr<a2&ar>c2&crd+2&d+rd2&drd+2&d+r<a+2&a+r>c2&crd+2&d+r<a2&ar>g2&gl4.edcr<ggr2.>edcrgr1r8<f1.l2.fcaedrc;
}}

#mabimml(ハトと少年(チューバ),Tuba,1,80){{
MML@v15l64<g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&gv0l8gv15g>cr16<g16>cdr<g>el16rfgrg8r8v8g8v15f8r8f8f8red8e8r8v8e8v15c8r8<g8>c8r<g>c8d8r8<g8>e8l16rfgrg8r8v8g8v15f8r8f8f8red8c8r8e8c8r8c8a8r8a8a8l16rgf8g8rcc8c8r8l8caraal16rgf8g4.r4.e8rel8efedcre<a4r>dr16d16ddc+dg4.r4<g>cr16<g16>cdr<g>el16rfgrg4r8f8r8f8f8red8c8r8e8c8r1.r1.c8d8d+8l16rdd+dd+8r8g8d4.r4<g8>c8r<a+b+a+l8>crd+<a+4.r4gg+r16g16g+>d+4<g+gr16f+16g>d+4rdr<aar>dd4.rcdd+l16rdd+dd+8r8g8d4.r4<g8>c8r<a+b+a+l8>crd+<a+4.r4gg+.r16>d+d+r16d16d+frgd+4rd+r16d16cdrc-c4.r4<g>cr16<g16>cdr<g>el16rfgrg4l8rfrffr16e16de4rc4<g>cr16<g16>cdr<g>el16rfgrg4l8rfrffr16e16dcrecrcaraal16rgf8g8rcl8ccrcaraal16rgf8g4.r4.e8rel8efedcre<ar4>dr16d16ddc+dg4.r4<g>cr16<g16>cdr<g>el16rfgrg4.f8r8f8f8red8t96c8r8e8t80c4.t120v0e4,r2.v10l8<g>cr16<g16>cd4<g>er16f16rgr4fr4fr16e16der4c4<g>cr16<g16>cd4<g>er16f16rgr4fr4fr16e16dc4ecrcar4al16rgf8g8r4c8.rc8a8r4a8rgf8r4g4r4er8.l8efedc.r16er<a4>d16r4r16dc+dr4g4r<g>cr16<g16>cd4<g>er16f16r4grfr4fr16e16dcrecr1.r1.cdd+r.d16d+rgr4d4r<g>cr.<a+16>crd+r4<a+4rgg+r16g16g+r>d+<g+gr16f+16gr>d+rdr4<a4r4.>d4cdd+r.d16d+4gr4d4r<g>cr.<a+16>c.r16d+r4<a+4rgg+.r.>d+r16d16d+frgrd+rd+r16d16cd4<br4>c4r<g>cr16<g16>cd4<g>er16f16r4grfr4fr16e16dre4rc<g>c,l1.rrrrrrrrrrrrrrrrrrrrrrr1v10l16<gr>c8d4<g8>e8rfr4l8grfr4fr16e16dcrecrcar4ar16g16fgr4crcar4ar16g16fr4g4r4erefedcre<a4r>dr4dc+dr4g4r<g>cl16r<g>c8d4<g8>e8rfr2f8r4f8rel8dcrer4c4;
}}
MML@v15l64>c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&cv0c4v15l4.c<bgc8l16rderl4.df4g8ec4r8b+bgc8l16rderl8<gb>dfgfedec4.al16efgra8g8f8g8rcc8cdefl8gafrfafg4.g4.ededed<a4rl16ab>cdl8edrdad<ar>gdl4.<g>b+bgl16b+gecl8<g>d<gb>fede4.c4<gb+g16r16>cdr<g>el16rdefl8grefrffl16gfede8r8d8<g8r4c8.>g2&go2g8.o4g2&go2g+8.o4g+2&g+o2g8.o4g2&go2g+8.o4g+2&g+o2g8.o4g2&go2f8.o4f2&fo2g8.o4g2&g<c8.>g2&go2g8.o4g2&go2g+8.o4g+2&g+o2g8.o4g2&go2g+8.o4g+2&g+o2a+8.o4g2&go2a8.o4f2&f<c8.o5c2&cl4.c<bgc8l16rderd4.f4g8l4.ecb+bgc8l16rderl8<gb>dfgfedec4.al16efgra8g8f8g8rcc8cdefl8gafrfafg4.g4.ededed<a4rl16ab>cdl8edrdad<ag>gdl4.<g>b+bgl16b+gecl8<g>d<gb>fede4<gt80>c4.t120v0c4,r2.v15l4.gger8v10c8r16d16v15<bbv10>g8r4e4c8v15gger8v10c8r16d16v15br4c8b+ec2.c2.c4c2cc<e2.<a2.>a8a2r8<g2.o4gf<cr8v10l16>b+gecv15o2g2.>c2.r8v10b+8gr>c8d4<g8>e8rdefg4e8f8r4frgfrdl8.er16d8<g8rv15g2&gr16g2&gr16g+2&g+r16g2&gr16g+2&g+r16g2&gr16f2&fr16g2&gr16g2&gr16g2&gr16g+2&g+r16g2&gr16g+2&g+r16a2&ar16f2&fr16>d+2&d+l4.gger8v10c8.d16v15<bbge>gger8v10c8.d16v15br4c-8b+el2.ccc4c2c4.c4.<e<a>a8a2r8<go4g4.f4.<c<g>c,r2.v15l4.edcr<ggge>edcrgr1r8<f1.l2.fcaedl4.grc2.r1.r2.c<gb+2.ggr2.l8ro4d+2&d+rd2&drd+2&d+r<a+2&a+r>c2&crc2&cr<a2&ar>c2&crd+2&d+rd2&drd+2&d+r<a+2&a+r>c2&crd+2&d+r<a2&ar>g2&gl4.edcr<ggr2.>edcrgr1r8<f1.l2.fcaedrc;
MML@v15l64<g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&g&gv0l8gv15g>cr16<g16>cdr<g>el16rfgrg8r8v8g8v15f8r8f8f8red8e8r8v8e8v15c8r8<g8>c8r<g>c8d8r8<g8>e8l16rfgrg8r8v8g8v15f8r8f8f8red8c8r8e8c8r8c8a8r8a8a8l16rgf8g8rcc8c8r8l8caraal16rgf8g4.r4.e8rel8efedcre<a4r>dr16d16ddc+dg4.r4<g>cr16<g16>cdr<g>el16rfgrg4r8f8r8f8f8red8c8r8e8c8r1.r1.c8d8d+8l16rdd+dd+8r8g8d4.r4<g8>c8r<a+b+a+l8>crd+<a+4.r4gg+r16g16g+>d+4<g+gr16f+16g>d+4rdr<aar>dd4.rcdd+l16rdd+dd+8r8g8d4.r4<g8>c8r<a+b+a+l8>crd+<a+4.r4gg+.r16>d+d+r16d16d+frgd+4rd+r16d16cdrc-c4.r4<g>cr16<g16>cdr<g>el16rfgrg4l8rfrffr16e16de4rc4<g>cr16<g16>cdr<g>el16rfgrg4l8rfrffr16e16dcrecrcaraal16rgf8g8rcl8ccrcaraal16rgf8g4.r4.e8rel8efedcre<ar4>dr16d16ddc+dg4.r4<g>cr16<g16>cdr<g>el16rfgrg4.f8r8f8f8red8t96c8r8e8t80c4.t120v0e4,r2.v10l8<g>cr16<g16>cd4<g>er16f16rgr4fr4fr16e16der4c4<g>cr16<g16>cd4<g>er16f16rgr4fr4fr16e16dc4ecrcar4al16rgf8g8r4c8.rc8a8r4a8rgf8r4g4r4er8.l8efedc.r16er<a4>d16r4r16dc+dr4g4r<g>cr16<g16>cd4<g>er16f16r4grfr4fr16e16dcrecr1.r1.cdd+r.d16d+rgr4d4r<g>cr.<a+16>crd+r4<a+4rgg+r16g16g+r>d+<g+gr16f+16gr>d+rdr4<a4r4.>d4cdd+r.d16d+4gr4d4r<g>cr.<a+16>c.r16d+r4<a+4rgg+.r.>d+r16d16d+frgrd+rd+r16d16cd4<br4>c4r<g>cr16<g16>cd4<g>er16f16r4grfr4fr16e16dre4rc<g>c,l1.rrrrrrrrrrrrrrrrrrrrrrr1v10l16<gr>c8d4<g8>e8rfr4l8grfr4fr16e16dcrecrcar4ar16g16fgr4crcar4ar16g16fr4g4r4erefedcre<a4r>dr4dc+dr4g4r<g>cl16r<g>c8d4<g8>e8rfr2f8r4f8rel8dcrer4c4;

更新履歴/ダウンロード

プラグイン本体

ver変更点ファイル
0.8PSGConverter.js準拠にした。mabimml.inc.php.8
0.6・楽器が入力されてなかったり、曲名が入力されてなかった場合の挙動のバグを修正mabimml.inc.php.4
0.5・仕様を変更。
・楽器指定が必修に
mabimml.inc.php.3
0.2・MML一括コピーを実装。IEではプラグインを呼び出し、それ以外はdataスキーマーで生成。
mabimml.inc.php.2
0.1alpha2・デザインを若干見やすくした。
XSSの脆弱性を修正。ただし完璧なものではない。
mabimml.inc.php.a1
0.1alpha初回リリースmabimml.inc.php

プラグイン用JavaScript

0.8からは不要になりました。

自分で言うのも難だが、絡まりまくったスパゲティーと化している。用途の割にダウンロード回数が異様に多いが、たぶん流用できるような改造しやすいソースじゃないぞ。(環境依存多いし)

ver変更点ファイル
0.8.1・kanzaki.js依存をやめた。Plus!でなくても使用可能に。
・コピーするときにクリップボード上書きの確認画面を表示するようにした。
mabimml.js.4.tgz
0.8d・シャルーモをシャリュモーに変更
・曲名のコピーに対応。
・コピーするときに警告を出すようにした。
mabimml.js.3
0.8b・合奏に対応
・PSGConverter.phpに対応
mabimml.js.2
0.6・仕様変更に伴うバージョンアップmabimml.js.1
0.3a・Firefoxで再生されなかったバグを修正
・非IEではJavaScriptによるMML変換と再生をデフォルトにした。
・音量のデフォルトを100に設定
0.3・QuickTimeがインストールされていない場合、警告がでなかったバグを修正
・停止ボタンを追加
・MIDI変換ロジックにJavaScriptを設定するとIEで再生できなくなるバグを修正
0.2・プレーヤー描画ロジックを一部変更
・Mozilla系ブラウザ使用時に、まきまびしーく用ファイルおよび、MMLをダウンロードできるようにした
・しっぽのうたのJavaScript版PSGConverterをマージ
0.1とりあえずリリースmabimml.js

関連サイト

コメント

Show recent 10 comments. Go to the comment page.

  • mabimml.js.4.tgz のデフォルトの js 定義が古いものになっていますね。このプラグイン、やっと凄さが分かりました。いいですねぇ。これ。 -- upk? 2010-07-06 (火) 01:27:02
  • いやぁ。これdocument.writeを多用しているかなり設計が古いスクリプトですよ。むしろ、../mml.inc.phpのほうがいい処理しています。document.write多用してますし。 -- Logue 2010-07-06 (火) 07:38:48
  • しっぽのうたって昔自分が作ったやつかなー。懐かしい。 --