昔懐かしきFM音楽館(MSX・FAN)を彷彿とさせますね。
「メロディ再生記法」をMovableTypeで実装するプラグインを書いてみました。
ブログで簡単にMMLを書いて再生することが出来ます。
上記リンク(playMML)の対象をファイルに保存し、アーカイブを解凍の上、MovableTypeの /plugins/ プラグインディレクトリに以下の3ファイルを設置してください。
/playmml/ ディレクトリごと設置することを推奨します。
・playmml.pl
・JSMML.js
・JSMML.swf
手順1:プラグインの設定
ブログの[設定]メニューから[プラグイン]タブを選択します。
インストールされたプラグインの一覧の中から playMML を探します。
[設定を表示]をクリックして、JSMML.js と JSMML.swf を設置したディレクトリ(URL)をフォームに入力します。
例. http://www.example.com/mt/plugins/playmml/
*この、JSMMLへのパス設定はplayMMLを使用するブログごとに設定が必要です。
手順2:テンプレートの編集
各アーカイブの <$MTEntryBody$> と <$MTEntryMore$> に playMML="1" 属性を追加します。
<$MTEntryMore playMML="1"$>
また、アーカイブ(playMMLを使用するアーカイブ)の<head>〜</head>に以下のタグを追加します。
・・・
<$MTjsMML$>
・・・
</head>
知らなくても問題ないですが、この<$MTjsMML$>タグは、ブログページを構築すると以下のHTMLコードに置き換わります。(URLは設定による)
<script type="text/javascript">
JSMML.swfurl = 'http://www.example.com/mt/plugins/playmml/JSMML.swf';
JSMML.onLoad = function() {
mml = new JSMML();
}
</script>
以上で、システムの準備は終了です。
手順3:奏でる
エントリーの本文や追記(playMML="1" 属性を追加したところ)で以下のように MML を記述します。
t144l8v7 @3 o3 crdrf5d;
t144l8v9 @3 o6 crdrf5d;
t144l8v7 @3 o6 erfra5f;
t144l8v7 @3 o6 gra+r<c+5>a+;
||<
実装の手法がゆるいのでちょっとトリッキーな書き方をするだけでうまく変換できないかもしれません。
が、うまくいくと、以下のように表示され、音楽を鳴らせます。
これは、フランス国鉄の駅でよく耳にするアタックです。
(適当なんでヘンテコリンですが、こんな感じだった)
フォームはまとめて <div class="mml"> </div> で囲んでますので見た目は CSS で良しなにしてください。
それぞれのボタンとかテキストエリアにも class を割り振ってみましたが細かいことはよくわからないので、ご意見等はコメントでくださいです。
参考までにCSSサンプル
color:#3333cc;
background:#cccccc;
}
.mml textarea {
font-family:monospace;
font-size:0.875em;
color:#000000;
background:#FFFFFF;
width:320px;
height:50px;
}
あと、Perlソースも一生懸命いろいろ調べて書きましたが、いつも通り力技で組みましたのでショボイと思います。こちらもあわせてご指導いただければと思います。
では、Enjoy Music!
謝辞を以下の方々に。
・JSMML.js and JSMML.swf author Yuichi Tatenoさん
・FlMML author Takeshi Okuboさん
JSMML.js と JSMML.swf の配布元はこちらです。
こちらも参考になると思います → FlMML(MML記法)の音色パラメータ図解&楽器音テンプレ - korinchanの音楽室
